/* 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":133271,"date":"2026-05-25T19:51:01","date_gmt":"2026-05-25T19:51:01","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=133271"},"modified":"2026-05-25T19:51:02","modified_gmt":"2026-05-25T19:51:02","slug":"play-online-slots-for-real-currency-at-the-ports-heaven-casino-3","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/play-online-slots-for-real-currency-at-the-ports-heaven-casino-3\/","title":{"rendered":"Play Online slots For real Currency at the Ports Heaven Casino"},"content":{"rendered":"

All william hill casino no deposit bonus<\/a> the pretty good sweeps casinos will let you redeem a variety of real-world awards, and it\u2019s worth watching what\u2019s available at those sites. Even if sweepstakes casinos don\u2019t encompass lead real-currency wagering, it\u2019s still smart to approach them with harmony and you can mind-manage. But not, that it Stockholm-based studio has cemented in itself as the a core game vendor at the sweeps casinos that have real money awards. A few of the best sweeps casinos such as McLuck and you can Good morning Millions give private Gold Coin ports. Megaways ports is super popular at the sweeps casinos and you can nearly always find a different category and there is too many differences.<\/p>\n

Starburst stays a player favourite because of its ease and you can frequent winnings, when you are Gonzo\u2019s Journey brought the new creative Avalanche feature. Forehead Tumble Megaways combines the popular Megaways mechanic that have flowing reels, bringing dynamic gameplay. Its collaborations with other studios has resulted in creative game such as Currency Teach dos, known for its entertaining bonus cycles and you can high win potential. Hacksaw Gambling specializes in doing game which might be optimized to have mobile play, focusing on ease without sacrificing thrill. To play free ports at the Slotspod also offers an unmatched feel that combines entertainment, education, and you can thrill\u2014all the without any financial relationship. That it applies to basic feet game wins, or out of combinations reached in the bonus has such as Free Spins, Re-spins, or Flowing Reels.<\/p>\n

Elsewhere, you\u2019ll find a well-stocked live casino, certain very handy Jackpots, and several spare table game you could play to feel a good piece closer to what an online casino feels like. After you sign up, you can get the true Award Casino no deposit bonus, that it bonus will get you dos Sweepstakes Gold coins up on signing up, and you can as well as found one hundred,one hundred thousand Gold coins which you can use to play for fun. Available with world leaders such as Fantasma, Roaring Game, and many others, Real Award Casino guarantees you some of the best gambling experience there is at the most sweepstakes casinos. What\u2019s much more, for those who\u2019re also a different Baba player, you can buy a huge 500K GC and you can dos South carolina welcome bonus for free, at the top of a generous 10K GC and you can step 1.5 South carolina every day log on bonus! McLuck tend to kickstart your trip here that have a no deposit bonus out of dos.5 South carolina and you can 7500 Gold coins, whereas the new every day free bonus can also internet you up to dos.5 South carolina and you can 2500 Gold coins. The new ports you\u2019ll just find at the McLuck are step 3 Sexy Chile peppers More and you can DJ Tiger x1000.<\/p>\n

The new patients at that medical is an unhappy line of souls – but you\u2019ll be left smiling for those who be able to even score intimate to the eye-watering best award worth 99,999x your virtual Coin stake. When you start to play Intellectual dos you\u2019ll be confronted with a trigger warning prior to typing a good battered elevator so you can lead upright to the wards – or is to you to be tissue? During the free spins you\u2019ll found step 3 map symbols to the a random wheel with each spin – property 6 map symbols in view so you can result in the new respin bonus bullet, complete with cuatro repaired jackpots worth up to 5,000x the new Coin cost of the new causing spin. Earthquakes is random modifiers you to get rid of all the low-worth symbols on the reels, giving access to certain big win potential. And with 117,649 A way to Win, you won\u2019t should keep your eye to the one paylines because you spin the new reels looking for the biggest Coin winnings. The new average volatility mode you\u2019ll should keep a near watch on your virtual Coin harmony, but the solid 96.35% RTP guarantees players can expect a fair and you can credible gambling feel.<\/p>\n

It\u2019s not true any more, that have all those game company available at an informed sweepstakes casinos. There are lots out of free ports that have bonuses and you can free spins promotions on top sweeps casinos. They\u2019re also beefed up that have a certain templates, soundtracks and you can different features for maximum entertainment. As such, it aren\u2019t eligible to win real money awards when to play in the sweepstakes or marketing modes that have South carolina. Speaking of ports that you’ll just find at that specific casino, however, that you can just play playing with Gold coins.<\/p>\n

Depending on and that social casino you play with, you can also either availability table game such as blackjack, and you can video poker, to the free slot apps. Such apps simulate the new thrill and you can gameplay out of a land-based casino feel, but you can enjoy him or her anywhere\u2014whether or not at home or on the go. Instead, you use virtual credits, or ‘gold coins’ so you can spin the new reels. It requires a few minutes to register, after which, you will have instant access to some of the best free ports up to. When reviewing the new app to have me, I was able to availability game such as Vile Vixens, Cleopatra II, and you can High Luck Dragon, all the very well optimized to have mobile play. Getting started with the new Slotomania free ports app and you can saying your welcome bonus is super easy!<\/p>\n

In the feet game, flowing wins result in multiplier beliefs so you can twice, doing massive momentum. The base game is about stacking those people multipliers thanks to frequent strikes when you are xMechanics such as xWays and you can xSplit grow your symbols and you can do strings reactions that have massive successful potential. Fantasy Princess out of Titan Gambling is a new release you to\u2019s putting on massive traction at the sweepstakes casinos such as Stake.us. But not, the true thrill comes from the advantage has, where multiple modifiers, such as multipliers and you can icon upgrades, is also stack with her. During the gameplay, you\u2019ll forget you\u2019re also to play a slot, it\u2019s more like a full-blown game, and you can definitely one of the most humorous launches in the 2026.<\/p>\n

Enjoy real money ports on the go that have fully optimised mobile gameplay. Bonuses leave you much more opportunities to play and increase your potential so you can win.Visit our promotions page to find out more on the every one of such private also offers. After you play real money ports at the Spin Genie, you can enjoy bonuses designed to improve your gameplay. Talk about our grand catalogue out of online slots at your leisure, feel free to here are some headings in the demo play first if the you want.<\/p>\n

Other than popular classics many new sweepstakes casinos also offer a good list of exciting jackpot ports. While you wouldn’t find one free real money ports at the our needed sweepstakes casinos, its choices of casino-design game is it is a great. Certain free online casinos partner that have popular slot company, such as Betsoft and you can Slotmill, to grow private headings, while others create game in house and then feature him or her solely on their sites.<\/p>\n

We want to is the new slot at your favourite casino to see if it\u2019s practical? Artists play with specific emotional causes to maximize date to the device. BetOnline brings in the new crown to find the best total slot site owed so you can its unmatched quantity of high-RTP game and you can lightning-prompt crypto winnings.<\/p>\n

Despite the popularity of videos ports, vintage ports are still in the creation, serving the more sentimental player feet. Certain super popular examples of videos ports are \u201cStarburst\u201d, \u201cGonzo\u2019s Journey\u201d, \u201cSweet Bonanza\u201d, and you can \u201cBook out of Dead\u201d. Branded ports is themed up to popular Tv shows, videos, board games, artists, sports celebrities, or games. That\u2019s where i stand out \u2013 i leave you instant access so you can best ports and all its associated bonuses. Check out the latest sales to the latest ports and you can allege much more bonuses now.<\/p>\n

The base game spends basic reel spinning, but it is based up to feature causes that can change the value of a go quickly. You to single mechanic is the reason the game stays popular, as it has the guidelines easy and make the advantage bullet be meaningful. The base game is a familiar 5-reel settings, that it feels like a classic slot machine in the structure even though the theme is cinematic.<\/p>\n","protected":false},"excerpt":{"rendered":"

All william hill casino no deposit bonus the pretty good sweeps casinos will let you redeem a variety of real-world awards, and it\u2019s worth watching what\u2019s available at those sites. Even if sweepstakes casinos don\u2019t encompass lead real-currency wagering, it\u2019s still smart to approach them with harmony and you can\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-133271","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133271","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=133271"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133271\/revisions"}],"predecessor-version":[{"id":133272,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133271\/revisions\/133272"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=133271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=133271"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=133271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}