/* 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":140748,"date":"2026-06-11T01:37:22","date_gmt":"2026-06-11T01:37:22","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=140748"},"modified":"2026-06-11T01:37:22","modified_gmt":"2026-06-11T01:37:22","slug":"interface-innovation-twin-casino-gestaltet-mobiles-erlebnis-in-deutschland-wieder","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/interface-innovation-twin-casino-gestaltet-mobiles-erlebnis-in-deutschland-wieder\/","title":{"rendered":"Interface-Innovation: Twin Casino gestaltet mobiles Erlebnis in Deutschland wieder"},"content":{"rendered":"
\n\"10<\/p>\n

Wer in Deutschland online zockt, tut das meist vom Smartphone oder Tablet aus https:\/\/twinncasino.com\/de-de\/<\/a>. Tempo und eine benutzerfreundliche Bedienung sind f\u00fcr die Nutzer dabei ausschlaggebend. Twin Casino hat diese Aufgabe aufgegriffen und seine mobile Plattform v\u00f6llig \u00fcberarbeitet. Mit dem Redesign will das Casino nicht lediglich den technischen Standard erreichen. Es setzt absichtlich neue Standards, wie einfach, schnell und klar eine mobile Casino-Seite in Deutschland sein darf.<\/p>\n

Visuelles Redesign: Deutlichkeit und \u00e4sthetischer Genuss<\/h2>\n

Das aktuelle Erscheinungsbild operiert mit geradlinigen Formen, einer harmonischen Farbpalette und gro\u00dfz\u00fcgigem Raum zwischen den Elementen. Auf optisches Chaos und unn\u00f6tigen Firlefanz wurde abgesehen. Heute stehen die Spiele an sich im Mittelpunkt. Die Schriftarten wurden gezielt f\u00fcr eine gute Lesbarkeit auf Handydisplays ausgew\u00e4hlt. Icons und Grafiken wirken nicht nur ansprechender, sondern sind auch eindeutiger in ihrer Funktion. Dieses klare Design erzeugt eine wohltuende Umgebung, in der man gern Zeit verbringt.<\/p>\n

Schutz und Transaktionsabwicklung im mobilen Fokus<\/h2>\n

Ein rundes Erlebnis beinhaltet auch die Abwicklung von Ein- und Auszahlungen ein. Diese Vorg\u00e4nge wurden f\u00fcr die mobile Nutzung optimiert. Die beliebtesten Zahlungsmethoden in Deutschland, etwa Sofort\u00fcberweisung, Giropay oder PayPal, sind hervorgehoben platziert. Alle vertraulichen Daten werden dabei durch moderne Verschl\u00fcsselungstechnologien gesichert. Die Sicherheitszertifikate und Genehmigungsdaten der Aufsichtsbeh\u00f6rde sind auf der portablen Seite leicht zu finden. Das soll Klarheit schaffen und Zuversicht wecken.<\/p>\n

Der Fokus auf mobil zuerst: Eine taktische Wahl<\/h2>\n

Die Wahl eines “Mobile-First”-Designs beruht auf einem einfachen Trend: Die \u00fcberwiegende Zahl G\u00e4ste in Deutschland steuern Online-Casinos von unterwegs an. Deshalb konzipierte Twin Casino das neue Design zun\u00e4chst f\u00fcr den mobilen Bildschirm. Im zweiten Schritt wurde die Nutzung auf den Desktop portiert. So funktionieren alle Buttons und Men\u00fcs von Beginn an optimal auf dem Touchscreen. Die Bedienung l\u00e4sst sich m\u00fchelos mit dem Daumen steuern. Das Ziel war offensichtlich: Der Spieler aus Deutschland soll direkt entdecken, was er braucht, ohne lange suchen zu m\u00fcssen.<\/p>\n

Erweiterte Spielauswahl und Filteroptionen<\/h2>\n

Die Spielauswahl, das wahre Herz des Casinos, zeigt sich nun \u00fcbersichtlicher dar. Effektive Filter- und Sortierfunktionen helfen den Spielern, in wenigen Sekunden das passende Spiel zu finden. Man kann nach Herstellern wie NetEnt oder Pragmatic Play ausw\u00e4hlen, nach Arten wie Spielautomaten ibisworld.com<\/a> oder Live Casino oder nach gefragten Merkmalen wie “Jackpot-Slots”. Die Thumbnails der Spiele sind detailreicher und detailierter geworden. Ein einfacher Tipp gen\u00fcgt, und das Spiel startet.<\/p>\n

Einfache Navigation und schnellere Ladezeiten<\/h2>\n

Das Redesign bringt eine neue Navigationsstruktur mit sich. Die Men\u00fcf\u00fchrung wurde verbessert und logisch sortiert. Wichtige Bereiche wie die Spielesuche, die Kategorien oder der Kundenservice sind jetzt \u00fcber gut sichtbare Symbole und ein ausfahrbares Men\u00fc immer verf\u00fcgbar. Zugleich laden die Seite und die Spiele deutlich z\u00fcgiger. Technische Optimierungen im Hintergrund und ein schlankerer Code sorgen f\u00fcr weniger Wartezeit. Das macht sich besonders bemerkbar, wenn die Netzverbindung unterwegs mal nachl\u00e4sst.<\/p>\n

H\u00e4ufig gestellte Fragen \u2013 H\u00e4ufig gestellte Fragen zum \u00fcberarbeiteten mobilen Erlebnis<\/h2>\n

An dieser Stelle beantworten wir die Anfragen<\/a>, die uns Spieler aus Deutschland zum aktuellen mobilen Twin Casino am meisten stellen.<\/p>\n

Ist die neue mobile Seite auf allen Ger\u00e4ten?<\/h3>\n

Ja, das stimmt, das responsive Design stellt sich automatisch an die Displaygr\u00f6\u00dfe Ihres Smartphones oder Tablet-PCs an, egal ob mit iOS oder Android. Einen zus\u00e4tzlichen App-Download brauchen Sie nicht. Besuchen Sie einfach twinncasino.com\/de-de in Ihrem Browser im Browser.<\/p>\n

Sind alle Spiele auch auf dem Smartphone verf\u00fcgbar?<\/h3>\n

Ja, selbstverst\u00e4ndlich, unser komplettes Spielangebot ist f\u00fcr die mobile Verwendung optimiert. Das gilt auch f\u00fcr die komplexen Live Casino Spiele mit richtigen Dealern. Sie funktionieren direkt in Ihrem mobilen Browser, ohne dass die Bildqualit\u00e4t oder Funktionalit\u00e4t darunter beeintr\u00e4chtigt wird.<\/p>\n

Sind meine Login-Daten und mein Spielguthaben gesichert?<\/h3>\n

Auf jeden Fall. Das Redesign betrifft nur die Benutzeroberfl\u00e4che. Ihr Benutzerkonto mit allen Informationen, Ihrem gegenw\u00e4rtigen Guthaben und Bonusstatus bleibt komplett und unver\u00e4ndert bestehen. Sie loggen sich wie bisher mit Ihren aktuellen Zugangsdaten ein.<\/p>\n

Wie verh\u00e4lt es sich, wenn ich Herausforderungen mit der neuen Benutzeroberfl\u00e4che feststelle?<\/h3>\n

Unser Kundendienst ist weiter rund um die Uhr f\u00fcr Sie da. Bei systembedingten Schwierigkeiten oder Unklarheiten zur Bedienung k\u00f6nnen Sie den Direktchat direkt auf der mobilen Version nutzen. Oder erreichen Sie unser Kundendienstteam per E-Mail.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"

Wer in Deutschland online zockt, tut das meist vom Smartphone oder Tablet aus https:\/\/twinncasino.com\/de-de\/. Tempo und eine benutzerfreundliche Bedienung sind f\u00fcr die Nutzer dabei ausschlaggebend. Twin Casino hat diese Aufgabe aufgegriffen und seine mobile Plattform v\u00f6llig \u00fcberarbeitet. Mit dem Redesign will das Casino nicht lediglich den technischen Standard erreichen. 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-140748","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140748","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=140748"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140748\/revisions"}],"predecessor-version":[{"id":140749,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/140748\/revisions\/140749"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=140748"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=140748"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=140748"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}