{"id":102509,"date":"2021-12-07T15:37:11","date_gmt":"2021-12-07T13:37:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust"},"modified":"2021-12-07T15:37:11","modified_gmt":"2021-12-07T13:37:11","slug":"tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","title":{"rendered":"Kolmas Linuxi tuuma plaastri versioon Rusti keele toega","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Miguel Ojeda, Rust-for-Linux projekti autor, on esitanud Linuxi tuuma arendajatele kolmanda v\u00f5imaluse seadme draiverite arendamiseks Rust keeles. Rusti tugi on eksperimenteerimise tasemel, kuid on juba kokkulepitud lisamiseks linux-next harusse. Arendust rahastavad Google ja ISRG (Internet Security Research Group), mis on Let's Encrypt projekti asutaja ning toetab HTTPSi edendamist ja interneti turvalisuse tehnoloogiate arengut.            <\/p>\n<p>Tuletame meelde, et ettepanekud muudatused v\u00f5imaldavad kasutada Rusti teise keele kui draiverite ja tuuma moodulite arendamiseks. Rusti toetus on esitatud valikuna, mis pole vaikimisi aktiveeritud ja ei too kaasa Rusti lisamist tuuma kohustuslikesse koostamise s\u00f5ltuvustesse. Rusti kasutamine draiverite arendamiseks v\u00f5imaldab minimaalse vaevaga luua turvalisi ja kvaliteetseid draivereid, vabanedes sellistest probleemidest nagu m\u00e4luprobleemide juurde p\u00e4\u00e4semine p\u00e4rast nende vabastamist, nullviidete de-referentsimine ja m\u00e4lupuhvri piiride \u00fcletamine.    <\/p>\n<p>Rust tagab m\u00e4luga ohutu t\u00f6\u00f6 kompileerimise ajal viidete kontrollimise, objektide omandi j\u00e4lgimise ja objektide eluea (n\u00e4htavuse) arvestamise kaudu ning hindab koodi k\u00e4ivitamise ajal m\u00e4lule juurdep\u00e4\u00e4su \u00f5igust. Rust pakub ka vahendeid t\u00e4isarvude \u00fclet\u00e4itumise kaitsmiseks, n\u00f5uab muutuja v\u00e4\u00e4rtuste kohustuslikku algv\u00e4\u00e4rtustamist enne kasutamist, k\u00e4sitleb vigu paremini standardraamatukogus, rakendab muutujaid ja viiteid vaikimisi muutumatuks (immutable) ning pakub tugevat staatilist t\u00fc\u00fcbi m\u00e4\u00e4ramist loogiliste vigade v\u00e4hendamiseks.    <\/p>\n<p>Uues plaastriversioonis j\u00e4tkatakse esimese ja teise plaastrate versiooni arutelu k\u00e4igus esitatud m\u00e4rkuste k\u00f5rvaldamist. Silmapaistvamad muudatused:  <\/p>\n<ul>\n<li class=\"l\"> On \u00fcleminekut tehtud stabiilse Rust 1.57 versiooni kasutamisele kui viidatud kompilaatorile ja kindlustatud seondumine Rust 2021 stabiliseeritud toimetusega. Varasemad plaastrid olid seotud Rusti beetaversiooniga ja kasutasid keele m\u00f5ningaid ebastabiilseid v\u00f5imalusi. \u00dcleminek Rust 2021 spetsifikatsioonile on v\u00f5imaldanud alustada t\u00f6\u00f6d ebastabiilsete funktsioonide, nagu const_fn_transmute, const_panic, const_unreachable_unchecked ja core_panic ja try_reserve, k\u00f5rvaldamiseks plaastritest.\n<li class=\"l\"> Rust raamatukogu alloc, mille versioon kuulub pat\u0161\u0161ide koostisse, on edasi arendatud, et eemaldada m\u00e4lu jaotamise funktsioonidest v\u00f5imalikud 'panic' seisundite genereerimised, mis tekivad vigade, n\u00e4iteks m\u00e4lu puuduse korral. Uues versioonis on kasutusele v\u00f5etud valikud 'no_rc' ja 'no_sync', et deaktiveerida Rust-koodis tuumas mittekasutatav funktsionaalsus, muutes raamatukogu modulaarsemaks. T\u00f6\u00f6d j\u00e4tkatakse alloc peaarendajatega, et tuua vajalikud muudatused tuuma jaoks p\u00f5hiraamatukokku. Rusti p\u00f5hiraamatukokku (core) on lisatud 'no_fp_fmt_parse' valik, mis on vajalik raamatukogu t\u00f6\u00f6ks tuumal.\n<li class=\"l\"> Koodi on puhastatud, et k\u00f5rvaldada v\u00f5imalikud kompilaatori hoiatusteated tuuma koostamise ajal re\u017eiimis CONFIG_WERROR. Rusti koodi koostamisel on sisse l\u00fclitatud t\u00e4iendavad kompilaatori diagnostikare\u017eiimid ja Clippy linteri hoiatusteated.\n<li class=\"l\"> Pakuud on abstraktsioonid, mida saab kasutada Rust keeles, sealhulgas seqlock (j\u00e4rjekorra lukud), callback-kutsed toitehalduseks, I\/O m\u00e4lu (readX\/writeX), katkestuste ja l\u00f5imede t\u00f6\u00f6tlemine, GPIO, seadmete, draiverite ja akrediteeringute juurde p\u00e4\u00e4semine.\n<li class=\"l\"> Draiverite arendamise vahendid on laienenud, rakendades liikumatute mutekode, bititersioonide, pointerite lihtsustatud majandamise, t\u00f5rgete t\u00e4iendava diagnostika ning andmebusist s\u00f5ltumatut infrastruktuuri.\n<li class=\"l\"> Viidete t\u00f6\u00f6tlemist on parandatud, kasutades lihtsustatud Ref t\u00fc\u00fcpi, mis p\u00f5hineb refcount_t taustal, kasutades sama nimega tuuma API-d viidete arvu lugemiseks. T\u00fc\u00fcpide Arc ja Rc, mida pakub vaikimisi alloc teek, on eemaldatud ja ei ole saadaval tuuma tasemel koodis (raamatukogule on valmistatud valikud, mis keelavad need t\u00fc\u00fcbid).\n<li class=\"l\"> Patchide hulka on lisatud PL061 GPIO draiveri variant, \u00fcmber kirjutatud Rustis. Draiveri erip\u00e4ra on see, et selle rakendus kordab peaaegu rida-realt olemasolevat GPIO draiverit C keeles. Rustiga tutvuda soovivatele arendajatele on valmistatud rida-realt v\u00f5rdlus, mis aitab m\u00f5ista, kuidas C keele kood on Rustis \u00fcmber kirjutatud.\n<li class=\"l\"> Rust koodibaasi on lisatud rustc_codegen_gcc, rustci tagaosa GCC jaoks, mis rakendab v\u00f5imalust eelnevalt kompileerida (AOT) libgccjit teegi abil. Kui tagaosa areneb korralikult, v\u00f5imaldab see koostada tuumas kasutatavat Rust koodi GCC abil.\n<li class=\"l\"> Lisaks ARM, Google'i ja Microsofti ettev\u00f5tetele on Red Hat n\u00e4idanud huvi Rusti kasutamise vastu Linuxi tuumas. Tuletame meelde, et Google toetab otseselt Rust for Linux projekti, arendab uut Rustil p\u00f5hinevat protsesside vahelise suhtlemise mehhanismi Binderit ning kaalub erinevate draiverite \u00fcleviimist Rustile. Microsoft on alustanud Rustil Hyper-V draiverite arendamist. ARM t\u00f6\u00f6tab Rusti toe parandamise kallal ARM-p\u00f5histe s\u00fcsteemide jaoks. IBM on rakendanud Rusti toe tuumas PowerPC s\u00fcsteemide jaoks.      <\/ul>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56295\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Rust \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f, \u043d\u043e \u0443\u0436\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 \u0432\u0435\u0442\u043a\u0443 linux-next. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0444\u0438\u043d\u0430\u043d\u0441\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Google \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0435\u0439 ISRG (Internet Security Research Group), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0443\u0447\u0440\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Let&#8217;s Encrypt \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0441\u0442\u0432\u0443\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102509","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0440\u0435\u0442\u044c\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-12-07T13:37:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-12-07T13:37:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Kolmas versioon Linuxi tuuma plaastritest Rust keele toega | ProHoster","description":"Miguel Ojeda, Rust-for-Linux projekti autor, on pakkunud Linuxi tuuma arendajatele kaalumiseks kolmandat seadmeid draiverite arendamise komponentide varianti Rust keeles.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0440\u0435\u0442\u044c\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f \u043f\u0430\u0442\u0447\u0435\u0439 \u0434\u043b\u044f \u044f\u0434\u0440\u0430 Linux \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u044f\u0437\u044b\u043a\u0430 Rust | ProHoster","og:description":"\u041c\u0438\u0433\u0435\u043b\u044c \u041e\u0445\u0435\u0434\u0430 (Miguel Ojeda), \u0430\u0432\u0442\u043e\u0440 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Rust-for-Linux, \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b \u0434\u043b\u044f \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u044f\u0434\u0440\u0430 Linux \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/tretya-redakcziya-patchej-dlya-yadra-linux-s-podderzhkoj-yazyka-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-12-07T13:37:11+00:00","article:modified_time":"2021-12-07T13:37:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102509","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-12-07 13:37:18","updated":"2022-09-27 15:07:34","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/102509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=102509"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/102509\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=102509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=102509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=102509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}