/* 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":61042,"date":"2026-05-21T12:19:34","date_gmt":"2026-05-21T12:19:34","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=61042"},"modified":"2026-05-21T12:19:35","modified_gmt":"2026-05-21T12:19:35","slug":"im-angeschlossen-spielsalon-handyrechnung-erwahlen-%ef%bf%bd-das-bezahlkonzept-abgesprochen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/im-angeschlossen-spielsalon-handyrechnung-erwahlen-%ef%bf%bd-das-bezahlkonzept-abgesprochen\/","title":{"rendered":"Im Angeschlossen Spielsalon Handyrechnung erwahlen? \ufffd das Bezahlkonzept abgesprochen"},"content":{"rendered":"

Welche person heutzutage das Androide unter anderem Apple inc Cell phone verfugt, hat selbige Programs The apple company Spend oder Search engine Give allemal schon ehemals gesehen. An dieser stelle konnte jedweder wie geschmiert gunstgewerblerin Kreditkarte & die eine Sparkassenkarte hinterlegt sie sind, wogegen inoffizieller mitarbeiter Verbindung Bares fur jedes ebendiese Online Kasino Spiele eingezahlt sind kann. Ein enorme Vorteil bei weiteren Moglichkeiten wird, auf diese weise null Angaben inoffizieller mitarbeiter Spielsalon eingegeben man sagt, sie seien mussen. Es tragt nicht jedoch dahinter Ihrer Zuversichtlichkeit inside, statt spart nebensachlich Uhrzeit. Noch programmiert Spielern der Absolutwert der Einzahlung beilaufig sofortig zur Regel. Folglich werden die autoren Jedem manche Zahlungsarten ein android os Casinos genauer einbilden.<\/p>\n

Apple inc Cover<\/h2>\n

Wer der i phone verfugt, kennt Orchard apple tree Spend. Ein Zahlungsdienstleister z. hd. Apples hauseigene Gerate war sehr gewiss oder storungsfrei inside der Methode. Allerdings konnen Welche nachfolgende book of the fallen<\/a> Zahlungsmethode gar nicht mit der Androide Gurke vorteil. U. a. vermogen Welche unter einsatz von The apple company Cover zwar inoffizieller mitarbeiter Spielcasino durch Mobilfunktelefon bezahlen, sehr wohl keine Auszahlungen durchfuhren.<\/p>\n

Search engine Cover<\/h2>\n

Gleichartig gewiss oder reibungslos genau so wie The apple company sei Yahoo and google Spend. Ihr Aktion der gro?ten Suchmaschine das Welt ist und bleibt inzwischen nach jedermann Menschenahnlicher roboter-Mobile dahinter aufstobern. Bei der sache spielt sera nur minimal Person, ob der Geratehersteller Samsung, Oppo, HTC ferner das freund und feind anderer ist und bleibt. Untergeordnet via irgendeiner Zahlungsmethode beherrschen Welche wie am schnurchen inoffizieller mitarbeiter Spielbank uber Gurke einlosen. Auszahlungen sind zudem nicht denkbar.<\/p>\n

Boku<\/h2>\n

Boku verlangt es Spielern wiewohl, Zahlungen schnell unter zuhilfenahme von der Funkfernsprecher nach tatigen. Das Absoluter wert ist und bleibt zur monatlichen Telefonrechnung hinzugefugt weiters vom Prepaid-Guthaben abgezogen. Ebendiese Prozedere ist und bleibt speziell hemdarmlig, dort nur minimal Bankdaten & Kreditkarteninformationen gesucht man sagt, sie seien. Boku war auch gebrauchlich oder war zu handen eine rasche und richtige Ausfuhrung namhaft.<\/p>\n

Paybox<\/h2>\n

Paybox ist und bleibt gunstgewerblerin populare droid Zahlungslosung within Ostmark , unter einsatz von das User Bezahlungen samtliche reibungslos uber ihr Funkfernsprecher zuruckziehen vermogen. Das Betrag ist danach also in selbige Telefonrechnung gesetzt & geradlinig vom Konto abgebucht. Paybox bietet au?erdem ‘ne hohe Zuverlassigkeit weiters ermoglicht schnelle Overforingen frei nachfolgende Grundannahme , personliche Finanzdaten preiszugeben. Durchaus war selbige Zahlungsmethode inside Casinos kleiner gebrauchlich. Generell trifft man auf sie zugunsten in betrieb Parkautomaten.<\/p>\n

Payforit<\/h2>\n

Payforit ist ihr Uk-basiertes mobiles Zahlungssystem. Diese Zahlungsmethode bietet Nutzern, Einkaufe uber deren Telefonrechnung dahinter tatigen. U. a. konnen Eltern damit nebensachlich im Verbunden Spielbank per Telefonrechnung ‘ne Einzahlung tatigen. Daselbst diese Ansatz geradlinig via diesseitigen Mobilfunkanbietern verbinden wird, wird die eine einfache unter anderem perfekte Transaktionen gewahrleistet . Payforit ist deswegen optimal z. hd. interessante oder mittlere Betrage oder erfordert nur minimal Anmeldung ferner Aufhebens sensibler Finanzinformationen.<\/p>\n

Genau so wie in aller herrgottsfruhe bereits erwahnt, ist unser welches Bezahlen im Angeschlossen Kasino mit Handyguthaben erheblich light aufgebaut und im zuge dessen zu handen jedweden Gamer folgende richtige Wahl. Denn im vergleich zu einen anderen Chancen je selbige Angeschlossen Casino Einzahlung finden sie auf ebendiese ‘ne Reihe durch Vorteilen unter anderem gleichzeitig wenigen Nachteilen. Ein Absoluter betrag zum Vortragen ist und bleibt dann muhelos ein nachsten, anstehende Mobilfunkabrechnung hinzugefugt unter anderem somit hemdsarmelig uber Bankeinzug abgebucht. Unser Konzept ist und bleibt daruber ideal z. hd. samtliche, ebendiese inoffizieller mitarbeiter Live Spielcasino bzw. jedweder Alive Spiele durch Geldhaus bezahlen mochten, zusammenfallend jedoch unmittelbar auf das Gutschrift zupacken mochten. Namlich wer direktemang im Kasino Lastschrift unter anderem Bankuberweisung wahlt, soll mehrfach der bis drei Werktage einreihen, vorweg via einem Auffuhren angebrochen eignen kann.<\/p>\n

Dass fahig sein Diese ebendiese Einzahlung qua die Handyrechnung tatigen<\/h2>\n

Im zuge dessen Spieler muhelos Einzahlungen auf das Google android Spielbank Konto unter einsatz von welcher Zahlungsart umsetzen vermogen, folgt hier heute die eine Handbuch . Antrag denken Diese darauf, dass Welche den ihr teilnehmenden Mobilfunkanbieter (Five, Drei ferner Magenta) gebieten.<\/p>\n

    \n
  1. Geratekompatibilitat und Spanne: Diese Erstanmeldung unter anderem Einzahlung im griff haben stufenlos qua viele Gerate entsprechend Rechner, Mobile phone und Pill passieren. Irgendeiner Vorgang dauert von haus aus doch wenige Minuten.<\/li>\n
  2. Casino-Inter seite sich begeben zu: Umbetten Die leser selbige Webseite wa durch Jedermann gewahlten Online-Casinos. Unsere empfohlenen Anbieter bieten beispielsweise die eine sichere oder seriose Spielumgebung.<\/li>\n
  3. Registrierungsprozess: Wenn Sie noch gar nicht angemeldet eignen, booten Die leser die Registration bei Klicken aufwarts diesseitigen “Registrieren” & “Anmelden” Ansteckplakette.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"

    Welche person heutzutage das Androide unter anderem Apple inc Cell phone verfugt, hat selbige Programs The apple company Spend oder Search engine Give allemal schon ehemals gesehen. An dieser stelle konnte jedweder wie geschmiert gunstgewerblerin Kreditkarte & die eine Sparkassenkarte hinterlegt sie sind, wogegen inoffizieller mitarbeiter Verbindung Bares fur jedes\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-61042","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/61042","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=61042"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/61042\/revisions"}],"predecessor-version":[{"id":61043,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/61042\/revisions\/61043"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=61042"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=61042"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=61042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}