/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":9693,"date":"2026-04-26T11:23:54","date_gmt":"2026-04-26T11:23:54","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=9693"},"modified":"2026-04-26T11:23:55","modified_gmt":"2026-04-26T11:23:55","slug":"posteriore-tenta-privacy-nativa-abbiamo-controllato-indivis-premio-in-assenza-di-intricato-cavita-collegamento-linguaggio-pubblicitario","status":"publish","type":"post","link":"https:\/\/klecet.edu.in\/alumni\/posteriore-tenta-privacy-nativa-abbiamo-controllato-indivis-premio-in-assenza-di-intricato-cavita-collegamento-linguaggio-pubblicitario\/","title":{"rendered":"Posteriore tenta privacy nativa, abbiamo controllato indivis premio in assenza di intricato cavita collegamento linguaggio pubblicitario"},"content":{"rendered":"

La evidente prevalenza dei bonus privo di deposito scommesse presenta al suo azzurri alcune offerte legate addirittura ad altre sezioni di divertimento del proprio collocato. Chi fosse tenta caccia del bonus privo di deposito sopra Mondofortuna puo malgrado cio controllare sulla nostra vicenda le tante alternative admissible presenti. Ci sono diversi siti conosciuti come propongono gratifica di convenevole senza contare deposito per la incontro slot ancora casino.<\/p>\n

Questo inquadramento sistematico consente agli fruitori di abusare i servizi di FreshBet sopra elevati livelli di fidanza anche consapevolezza di comprensibilita. Rso requisiti di scorsa sono pari a 30x circa purchessia premio, nella mass media a volte bisca non AAMS (ADM). E ottimo per chi vuole ampia selezione addirittura ama passare da slot verso tavoli live oppure verso minigiochi innovativi senza deliberazione di stabilita. La intervento di attuale legittimazione legale non AAMS garantisce agli fruitori di giungere per certain puro sistemato, semplice addirittura coerente agli standard internazionali di reparto. Individuo autorizzazione attesta che tipo di l’operatore rispetta criteri rigorosi mediante sostanza di decisione informatica, appoggio dei dati personali di nuovo conformita delle procedure di deposito.<\/p>\n

Casa da gioco che tipo di Bethall ancora Wildsino sono esempi evidenti di ad esempio volte bonus privato di tenuta possano aspirare nuovi utenza sopra premi immediati. Le piattaforme affidabili sono nondimeno mediante potere di licenze internazionali, quale quelle rilasciate da Curacao ovverosia Anjouan, di nuovo impiegano protocolli di disposizione avanzati per sostenere i finanza degli utenti. Segnaliamo il gratifica senza intricato pronto disponibile con eventi promozionali. Le nostre verifiche confermano payout fra 24 ore anche indivis buon postura di sicurezza.<\/p>\n

Verso volta sinon pensa di poter fondere un gratifica senza deposito durante insecable estraneo gratifica efficiente, tuttavia molti casino proibiscono l’accumulo di promozioni. Solitamente, questi siti amano annunciare i gratifica senza contare deposito sulle slot, e cosicche sono rso giochi con l’aggiunta di frequenti ancora dal richiamo diretto. Soddisfacentemente tentare la nota ed preferire la preferita se compagno particolare con le abilitazioni al bonus.<\/p>\n

A https:\/\/topitaliacasino.net\/it-it\/<\/a> trasformarlo in Bonus Cash, e doveroso rigiocarlo 40 volte in mezzo a 10 giorni. Qualsivoglia tranche deve risiedere rigiocata 60 demi-tour frammezzo a 2 giorni a riuscire durante Premio Cash (fino verso certain soddisfacentemente di 50\ufffd per tranche), rispettando i requisiti di contribuzione dei giochi. Molti casa da gioco applicano excretion estremita ideale di prelievo (cap) alle vincite generate mediante premio privo di deposito. Rso bonus privo di base prevedono requisiti di giro (wagering), limiti di uso e una tempo.<\/p>\n

Con ‘bonus privo di deposito’ intendiamo offerte ottenibili in assenza di excretion versamento passato<\/h2>\n

Scopri di accordo i risultati delle nostre classifiche durante l’elenco dei migliori siti scommesse non AAMS sopra premio senza intricato sullo gara. Da parte a parte indivisible essenziale accertamento banda dal nostro team serio, selezioniamo in avvertenza volte bookmakers stranieri con bonus privato di intricato, emancipazione straniera addirittura sopra una considerazione ben consolidata. E centrale analizzare sopra precipizio tali limitazioni a conoscere interamente volte vantaggi offerti da ciascun allibratore anche rovinare una scelta informata.<\/p>\n

Utilizzando le credenziali SPID quale in passato possiedi (lequel che razza di usi verso accedere ai servizi della Pubblica Metodo), puoi registrarti a insecable bisca mediante eccetto di 2 minuti privato di stento di diramare autenticazione. Prevede la sede giornalistica artigianale di indivis form con rso tuoi dati anagrafici (fama, famiglia, datazione natale, espressivita capriccioso, indirizzo) di nuovo la successiva esame dell’identita collegamento l’invio di attestazione. ?? Gia che tipo di sei riuscito verso divertirsi il premio astuto verso farlo mutare contante comodo, potrai detrarre le vincite ottenute dal premio secondo rso limiti imposti dalla trampolino. ?? Single sopra un qualunque casi e doveroso inserire un vocabolario gratifica senza intricato ora della incisione ovvero in quale momento devi accendere il premio nella aneantit dipartimento confidenziale. Scegli il bonus ovvero i premio che razza di ritieni piu vantaggiosi verso le abat maestria di scommettitore. Non possono estinguersi i bisca premio senza fitto immediati per divertirsi a diversi articoli tipici del inganno d’azzardo.<\/p>\n

Molti casino online per emancipazione ADM (ora non piu AAMS) propongono periodicamente bonus escludendo tenuta<\/h2>\n

Con diversi casi, il premio privato di fitto viene assegnato single per chi si registra accesso identita digitale, o l’importo viene sensibilmente affettato stima appela annotazione classica (certi operatori arrivano a triplicare l’offerta). Verso giungere ai bonus privo di tenuta e opportuno abitare maggiorenni e registrare il adatto anteriore account presso il bisca. Molti giocatori sono tenta ricerca di bonus escludendo fondo veloce privo di dover provare ovvero indirizzare il dichiarazione di equivalenza. Al giorno d’oggi, gratitudine e alla incisione accesso SPID ovvero CIE, incertezza qualsiasi rso casa da gioco lo propongono, garantendo l’erogazione del bonus in mezzo a 30 minuti di nuovo comunque non nuovo 24 ore dalla permesso del contoe casualita ricerca, prendiamo il miglior gratifica escludendo base del mese, ovverosia SNAI, di nuovo ipotizziamo di gareggiare sopra una slot con insecable RTP del 96% (cosi limite della luogo del 4% ovverosia 0,04). Il premio privo di base non e per niente prelevabile di fronte, bensi deve avere luogo giocato certain elenco infimo di pirouette in mezzo a un estremita di epoca predisposto.<\/p>\n

Gli importi dei fun gratifica possono avere luogo indivisible ideale sollecitazione verso impostare a scommettere sugli eventi sportivi online. Nella maggioranza dei casi, sara impossibile usufruire il gratifica accesso indivisible incontro del casa da gioco live addirittura dovra essere adoperato indivisible premio facile oppure anche del ricchezza facile. E tanto inconsueto che razza di questi giochi rientrino entro rso software selezionati dal casa da gioco online per lo uso del gratifica escludendo fondo. In queste slot, cosi ottieni un’esperienza di bazzecola piacevole, ma hai ancora le migliori opzione di usufruire appieno il premio privato di intricato, creando un’esperienza di bazzecola piacevole di nuovo eventualmente molto utile.<\/p>\n","protected":false},"excerpt":{"rendered":"

La evidente prevalenza dei bonus privo di deposito scommesse presenta al suo azzurri alcune offerte legate addirittura ad altre sezioni di divertimento del proprio collocato. Chi fosse tenta caccia del bonus privo di deposito sopra Mondofortuna puo malgrado cio controllare sulla nostra vicenda le tante alternative admissible presenti. Ci sono\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9693","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9693","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=9693"}],"version-history":[{"count":1,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9693\/revisions"}],"predecessor-version":[{"id":9694,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/9693\/revisions\/9694"}],"wp:attachment":[{"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=9693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=9693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=9693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}