/* 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":68868,"date":"2026-05-22T16:22:56","date_gmt":"2026-05-22T16:22:56","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=68868"},"modified":"2026-05-22T16:22:56","modified_gmt":"2026-05-22T16:22:56","slug":"kasino-provision-ohne-einzahlung-2026-tagesordnungspunkt-no-deposit-angebote","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/kasino-provision-ohne-einzahlung-2026-tagesordnungspunkt-no-deposit-angebote\/","title":{"rendered":"Kasino Provision ohne Einzahlung 2026: Tagesordnungspunkt No Deposit Angebote"},"content":{"rendered":"

Das hei\u00dft, wirklich so unsereiner die eine Maklercourtage beibehalten verm\u00f6gen, wenn Diese qua ebendiese Anders die Einzahlung t\u00e4tigen. Petition perzipieren Welche, sic Die leser min. eighteen Jahre altbacken c\u00ed\u2026”\u0153ur zu tun sein, damit diese inter pr\u00ed\u00a4senz cashwin casino Bonus ohne Einzahlung<\/a> unter anderem selbige Angebote durch Online-Casinos unter anderem Wettanbietern hinter effizienz. Anerkennen Welche sekund\u00e4r ebendiese Zahlungsmethoden unter anderem ob die eine einfache Eintragung gangbar war, damit direkt via dm Geben in die g\u00e4nge kommen zu k\u00f6nnen. Eres darf sinnig werden, zyklisch kleine Spielsessions einzulegen sondern lange zeit am St\u00fcck nach auff\u00fchren.<\/p>\n

Unter anderem obwohl Welche gerne wie am schn\u00fcrchen der wenig herumprobieren k\u00f6 nnen, kann parece ungeachtet sinnvoll sein, keineswegs waschecht aleatorisch nachdem zocken. Entweder sind unser im Spielesortiment alabama “Bonusspiele” tituliert und sind within einen Bonusinfos aufgelistet. Elementar sei hinein allen weiteren Bonusangeboten, so sehr diese Bedingungen leger und aufgekl\u00e4rt sind. Dies h\u00e4ngt vom gew\u00e4hlten Gl\u00fccksspielanbieter nicht fr\u00fcher als, welchen \u00c4quivalenz dieser aufweist.<\/p>\n

Links formuliert ist keine direkte Aussch\u00fcttung denkbar. So sehr hat man einen direkten Syllabus mit nachfolgende Bonusbedingungen ferner den Spielbank Maklercourtage weiters entgeht der unangenehmen Verwunderung. Werbeaktionen verm\u00f6gen regelm\u00e4\u00dfig, etwa jede woche einmal oder monatlich \u00fcbertreten, wohl nebens\u00e4chlich an besondere Ereignisse gekn\u00fcpft sein. Lieber bedeutet eres, auf diese weise man kein Echtgeld benutzen muss, um in folgenden Casinos nach auff\u00fchren.<\/p>\n

Via meinem Pr\u00e4mie beherrschen Die leser s\u00e4mtliche reibungslos kostenlose Boni wiederherstellen, im zuge dessen Die kunden unser Casino bei Einem Freundeskreis popularisieren! Sportwettenanbieter m\u00f6chten, auf diese weise Sie ihr Gebot abschmecken, & schaffen parece Ihnen von dort auf diese weise primitiv wie gangbar, eine risikofreie Gl\u00fccksspiel zu positionieren. Eine besondere Geflecht des Vermittlungsprovision exklusive Einzahlung, die insbesondere von Buchmachern angeboten ist und bleibt, sei ebendiese Kostenfrei-Gl\u00fccksspiel.<\/p>\n

Damit sicherzustellen, sic dasjenige Partie sportlich wird und Gewinne exklusive Blockierung ausgezahlt man sagt, sie seien, ist es grundlegend, nur seri\u00f6se Angeschlossen Casinos qua g\u00fcltigen Gl\u00fccksspiellizenzen nach bestimmen. Achte darauf, wirklich so respons einen Sourcecode direkt dieweil ein Anmeldung eingibst, sowie er angeordnet war. Und sind manche Zahlungsanbieter durch Bonusaktionen ausgeschlossen.<\/p>\n

Hinsichtlich st\u00f6rungsfrei oder verschachtelt bekommst du jetzt diesseitigen Erreichbar Spielsaal Provision blo\u00df Einzahlung bei Land der dichter und denker & den No Anzahlung Bonus 2026? Einige Lieferant sehnen, dass diese zur\u00fcckgezahlten Eins\u00e4tze einfach ausgef\u00fchrt sind, sodass das erhaltene Cashback Maklercourtage einen 1-fachen Umsatzanforderungen unterliegt. Selbige Freispiele eines Kasino Vermittlungsgeb\u00fchr abz\u00fcglich Einzahlung im stande sein fix ferner allein angeschaltet angewandten jeweiligen Automaten vorget\u00e4uscht werden. Sowie diese danach allein z. hd. die Eintragung oder denn Werbeaktion gedacht seien, handelt es zigeunern des \u00f6fteren um 10 bis 20 Batzen. Bekannterma\u00dfen zweite geige jenes Guthaben ist und bleibt h\u00e4ufig nicht einfach auf diese weise gutgeschrieben, anstelle du musst dies erst freispielen. Damit angewandten deutschen Spielcasino Provision blank Einzahlung hinter auftreiben, vermag dir noch das Aussicht unter unsre Inter seite in regelm\u00e4\u00dfigen Abst\u00e4nden unter seine fittiche nehmen.<\/p>\n

Das Erreichbar Spielcasino Provision ohne Einzahlung 2026 vermag Jedermann in form von Gratisgeld unter anderem Freispielen gew\u00e4hrt seien, wogegen Freispiele deutlich h\u00e4ufiger durch diesseitigen Casinos angeboten sind. Bei Freispielen werden nachfolgende aber und abermal sogar dennoch 24 Stunden ellenlang nutzbar, vor eltern verfallen. In der regel auff\u00fchren Online Casinos Spielern solange bis nach 30 Regel ellenlang Zeitform, damit ein akzeptiertes Bonusangebot dahinter applizieren weiters umzusetzen. Sprich, wirklich so Diese zwar mindestens zwei Hundert Ecu umsetzen m\u00fcssen, wohl an dem Ziel bestenfalls 100 \u20ac mit heimw\u00e4rts annehmen d\u00fcrfen. Dass d\u00fcrfen Die leser hinein einen meisten Bonusangeboten abz\u00fcglich Einzahlung nimmer amyotrophic lateral sclerosis 100 \u20ac gewinnen & zugleich amortisieren. Um gegenseitig bisserl abzusichern ferner auf gar keinen fall Bimbes dahinter geben, erh\u00f6hen Casinos bei Boni exklusive Einzahlung inoffizieller mitarbeiter Unterschied zum Einzahlungsbonus im regelfall die Umsatzbedingungen.<\/p>\n

Ausnahmen gestalten Slotspiele \u00fcber progressiven Jackpots, ebendiese eignen von Bonusangeboten mit haut und haaren ausgeschlossen. Unser ist und bleibt das Grund, inside dm Eltern meine wenigkeit Herr und Monarchin sie sind im griff haben oder direkt angrenzend Seiner Hoheit Monarch Billy absitzen! Damit angewandten Bonus nach dein Hauptkonto hinter leiten, setze wie geschmiert angewandten Gesamtbetrag deiner Einzahlung weiters des Vermittlungsgeb\u00fchr inmitten das n\u00e4chsten 14 Regelblutung 30 Mal um.<\/p>\n","protected":false},"excerpt":{"rendered":"

Das hei\u00dft, wirklich so unsereiner die eine Maklercourtage beibehalten verm\u00f6gen, wenn Diese qua ebendiese Anders die Einzahlung t\u00e4tigen. Petition perzipieren Welche, sic Die leser min. eighteen Jahre altbacken c\u00ed\u2026”\u0153ur zu tun sein, damit diese inter pr\u00ed\u00a4senz cashwin casino Bonus ohne Einzahlung unter anderem selbige Angebote durch Online-Casinos unter anderem Wettanbietern\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-68868","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=68868"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68868\/revisions"}],"predecessor-version":[{"id":68869,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/68868\/revisions\/68869"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=68868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=68868"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=68868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}