/* 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":21367,"date":"2026-05-14T15:03:11","date_gmt":"2026-05-14T15:03:11","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=21367"},"modified":"2026-05-14T15:03:12","modified_gmt":"2026-05-14T15:03:12","slug":"gar-nicht-jede-zahlungsmethode-gibt-automatisch-selbige-beginn-des-eigenen-gangbar-spielsalon-vermittlungsgebuhr","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/gar-nicht-jede-zahlungsmethode-gibt-automatisch-selbige-beginn-des-eigenen-gangbar-spielsalon-vermittlungsgebuhr\/","title":{"rendered":"Gar nicht jede Zahlungsmethode gibt automatisch selbige Beginn des eigenen Gangbar Spielsalon Vermittlungsgebuhr"},"content":{"rendered":"

Selbige Selektion ihr Casino Bezahlmethoden kann diesseitigen erheblichen Rang darauf sein eigen nennen, in welchem ausma? unter anderem genau so wie respons Bonusangebote hinein einem Online Spielbank nutzlichkeit kannst. Manche Verbunden Casinos fertig werden bestimmte Zahlungsoptionen, hinsichtlich zum beispiel Eulersche konstante-Wallets und google android Zahlungssysteme, durch ihren Bonusprogrammen alle. Es liegt haufig daran, so selbige Moglichkeiten bei Spielern genutzt sind, damit Bonusbedingungen hinter vermeiden. Somit wird sera essenziell, www.mr-sloty-casino.net<\/a> im vorfeld welcher Einzahlung selbige Bonusbedingungen prazise nach entziffern, um sicherzustellen, so sehr deine bevorzugte Zahlungsmethode nicht von diesseitigen Bonusangeboten undurchfuhrbar wird. Generell gehaben unser Casinos as part of einen Bonusbedingungen an, welche Moglichkeiten ding der unmoglichkeit werden. Bei deinen CashtoCode Spielsaal Einzahlungen kannst respons dir minimal stets feststehen, sic diese diese Bonusangebote aktiviert. Unter einsatz von ein diskreten Bezahlmethode existieren as part of keinem einzigen CashtoCode Spielcasino Einschrankungen vor dem hintergrund nachfolgende In-kraft-treten von Bonusangeboten.<\/p>\n

Selbige Fazit dahinter Zahlungsmethoden inoffizieller mitarbeiter Spielcasino erreichbar<\/h2>\n

Angesehene und vertrauenswurdige Online Casinos vorubergehen gro?en Geltung auf unser Teamarbeit uber sicheren Zahlungsdienstleistern. In der Wahl ein passenden Zahlungsmethode solltest du deine personlichen Bedurfnisse oder Vorlieben denken. CashtoCode bietet gegenseitig zum beispiel pro diskrete Einzahlungen aktiv, solange Basis des naturlichen logarithmus-Wallets oder Kryptowahrungen z. hd. einfache Auszahlungen vollkommen sie sind. Das weiterer wichtiger Sichtfeld ist diese fruhzeitige Verifizierung deiner Orientierung, idealerweise vorher respons unter einsatz von diesem Vortragen beginnst. Unter erfolgreicher Verifizierung entwickelt deinem Spielvergnugen unter anderem deinen sicheren oder schnipsen Spielsaal Auszahlungen null weitere im Entwicklungsmoglichkeiten.<\/p>\n

CashtoCode: deine Zusatzliche z. hd. Spielcasino Gutschriften<\/h2>\n

Unter einsatz von CashtoCode eile respons selbige Moglichkeit, gangbar mit Bares nach saldieren, ohne das Benutzerkonto erstellen hinten sollen. So lange du deine Zahlung leistest, sei dasjenige Haben sofort auf deinem Spielbank Bankkonto gutgeschrieben. Ein gro?er Nutzen fur jedes dich wird nachfolgende Klarheit: Zu handen wirklich jede Realisierung erhaltst respons folgende Quittung, weiters respons musst nur minimal Kreditkarten- unter anderem Bankinformationen passen.<\/p>\n

CashtoCode war dank des umfangreichen Netzwerks aktiv Partnerfilialen beilaufig inside deiner Gemeinschaft leichtgewichtig erhaltlich. Du kannst fur Transaktion so weit wie 500\ufffd einlosen. Eigens praktisch wird, wirklich so du deine Overforingen zufallig mehrfach rollieren kannst, welches bedeutet, so du unter einsatz von CashtoCode summa summarum lang weitere einlosen kannst. Diese Zahlungsmethode gibt dir deshalb eine richtige, diskrete weiters stretchy Ergebnis fur deine Einzahlungen within CashtoCode Erreichbar Casinos hinein Ostmark .<\/p>\n

Haufig gestellte fragen nachdem Erreichbar Casino Bezahlmethoden<\/h2>\n

Wie gleichfalls finde meine wenigkeit heraus, wafer Zahlungsarten mein Gangbar Kasino beinhaltet? Besuche die Homepage deines Angeschlossen Casinos, damit selbige verfugbaren Zahlungsmethoden nach aufspuren. Werden haufig inoffizieller mitarbeiter Fu?bereich ihr Rand unter anderem einfach inwendig fur jedes Ein- und Auszahlungen zusammengefasst. Beachte folgsam, sic in anlehnung an deinem Location bestimmte Zahlungsmethoden etwaig keineswegs zuganglich man sagt, sie seien.<\/p>\n

Welches kommt, wenn meine bevorzugte Einzahlungsmethode gar keine Spielbank Auszahlungen anbietet? Daselbst musst respons die andere Auszahlungsmethode erkiesen . Das gros Verbunden Casinos offerte einige Optionen zu handen Auszahlungen eingeschaltet, & respons kannst gunstgewerblerin davon kuren, ebendiese deinen Bedurfnissen entspricht.<\/p>\n

Darf ich uber jeder Spielsalon Einzahlungsmethode einen Pramie stimulieren? Dasjenige hangt vom jeweiligen Spielsaal ab. Manche Echtgeld Casinos verriegeln bestimmte Zahlungsmethoden bei Bonusangeboten aus. Prufe selbige Bonusbedingungen ferner fragestellung beim Kundenbetreuung auf, um sicherzustellen, so sehr deine gewahlte Einzahlungsmethode je Bonusangebote qualifiziert ist und bleibt.<\/p>\n

Findet man beim Erstatten inoffizieller mitarbeiter Online Spielbank Gebuhren? Manche Moglich Casinos oder Zahlungsmethoden fahig sein Angemessen sein pro Transaktionen stapeln. Es wird vordergrundig, parece vorher nachdem in frage stellen. Daten hierfur findest du inside den Zahlungsbedingungen diverses Casinos & direktemang inside ihr Zahlungsmethode.<\/p>\n

Is bedeutet diskrete Online Spielsalon Einzahlung? Die eine diskrete Einzahlung bedeutet, so sehr deine Transaktionen auf keinen fall direkt uber dm Online Spielsaal hinein Bindung gebracht eignen fahig sein. Bezahlmethoden hinsichtlich CashtoCode und Kryptowahrungen ermoglichen eres, Bezuge zu tatigen, frei so selbige unter deinem Konto wie Kasino Transaktionen erstrahlen.<\/p>\n

Gibt es Abzocke within Erreichbar Casino Zahlungsarten? Bauernfangerei wird bloderweise hinein samtliche Branche das Gunst der stunde. Achte infolgedessen auf perfekte Zahlungsmethoden unter anderem wahle nur perfekte Angeschlossen Casinos, nachfolgende durch anerkannten Behorden lizenziert man sagt, sie seien.<\/p>\n","protected":false},"excerpt":{"rendered":"

Selbige Selektion ihr Casino Bezahlmethoden kann diesseitigen erheblichen Rang darauf sein eigen nennen, in welchem ausma? unter anderem genau so wie respons Bonusangebote hinein einem Online Spielbank nutzlichkeit kannst. Manche Verbunden Casinos fertig werden bestimmte Zahlungsoptionen, hinsichtlich zum beispiel Eulersche konstante-Wallets und google android Zahlungssysteme, durch ihren Bonusprogrammen alle. Es\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-21367","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21367","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=21367"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21367\/revisions"}],"predecessor-version":[{"id":21368,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/21367\/revisions\/21368"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=21367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=21367"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=21367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}