/* 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":69642,"date":"2026-05-22T19:26:32","date_gmt":"2026-05-22T19:26:32","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=69642"},"modified":"2026-05-22T19:26:33","modified_gmt":"2026-05-22T19:26:33","slug":"online-slots-in-the-canada-the-real-deal-money-enjoy-slot-machines-game","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/online-slots-in-the-canada-the-real-deal-money-enjoy-slot-machines-game\/","title":{"rendered":"Online slots in the Canada the real deal Money Enjoy Slot machines Game"},"content":{"rendered":"

Regulating agencies usually frown to their signatories committing fraud, to believe in them should they is judge gambling enterprises on your county. For as long as the websites your\u2019lso are playing with was genuine (i.elizabeth. subscribed and you will controlled providers), the newest free spins now offers is exactly as said. You could potentially gamble online slots games with the any tool, including your smart phone, for maximum comfort. The foremost is easiest \u2014 go through a selected link to this site by itself. If you would like satisfy a beneficial playthrough off 5x or more to your totally free spin profits, you\u2019re more than likely perhaps not browsing actually flow those profits in order to the withdrawable balance.<\/p>\n

You are compensated having tools any time you reach a beneficial the latest peak otherwise checkpoint inside the online game. Pick various products offered, plus Las vegas and you can Macau gambling enterprise styles. Once you visited at the very least $10 within the money, cash out thru Charge dollars otherwise an excellent PayPal deposit, otherwise select the fresh hundreds of gift credit available options.<\/p>\n

These personalized-customized free position online game have a tendency to feature creative mechanics and you can fascinating added bonus has. Personal harbors try unique game specifically designed needless to say sweeps casinos and you also are unable to enjoy upcoming anywhere else. How many totally free spins generally speaking range from ten in order to 50, based on how many scatter symbols you land, and several online game will let you retrigger the advantage by the landing significantly more scatters for the totally free revolves round. Really bonus cycles is as a result of landing about three or more scatter symbols toward reels, though some online game turn on bonuses at random throughout the any spin.<\/p>\n

My fundamental recommendations is to try to review the rules of your online game and make certain your registering toward a reliable site one which just do a merchant account playing free gambling games. The sweepstakes local casino has good type of large-quality harbors and you can a pretty decent allowed added bonus that renders finalizing upon the website worth it. Below was a list of the big sweepstakes casinos for which you will find many position video game of the a few of the finest game brands around the world.<\/p>\n

And you also\u2019ll yes features numerous choices to pick, having Impress Vegas providing 6+ alternatives, in addition to Car Roulette and The law of gravity Roulette. A lot of my required sweepstakes gambling enterprises render accessibility many Megaways slots you could wager totally free. I’ve tried out the very best free ports you can wager real cash honours from the our demanded sweepstakes gambling enterprises. McLuck is another reputable sweepstakes casino which provides a variety regarding free-to-enjoy gambling games and you will the possibility in order to get Sc earnings for real money honours.<\/p>\n

It truly does work a little while in another way versus totally free video game bonuses here, as well as provides the chance for online online casino games, Mega Joker<\/a> yet you could potentially earn real cash to experience those people online game. This might be one of the reasons you can examine this page commonly \u2013 we upgrade all of the free casino games you can play just like the advertisements changes, thus certain usually expire and you may brand new ones will. Not bad, considering you don\u2019t need certainly to put any cash, but really you’ve got the chance to winnings real cash, nevertheless\u2019s really worth noting so it\u2019s not endless.<\/p>\n

These include all of the preferred, as well as blackjack, roulette, and you may electronic poker, as well as specific video game you may not be aware from prior to, such keno otherwise crash video game. Such wins don\u2019t show a full facts out of betting, which in turn causes a loss of profits. You have to know to try out Super Moolah, Starburst, and you can Book of Lifeless if you\u2019re also seeking the finest online slots to try out for real money in 2026.<\/p>\n

To seriously make the most of these perks, users need learn and you can see some criteria particularly betting criteria and you can game constraints. On top of that, totally free revolves incentives was a familiar cheer, giving users the opportunity to test chosen position online game and you may possibly include profits on the account without the financing. While you\u2019re trying to an equilibrium within volume and you will sized earnings, decide for video game with reduced so you’re able to typical volatility. In terms of playing actions, believe strategies including Levels Betting otherwise Repaired Fee Gambling, that assist would wager models and you can expand game play. The fresh styled added bonus rounds into the movies ports not simply provide the opportunity for most profits and in addition render a working and you can immersive experience you to aligns to the game\u2019s complete theme. Let\u2019s diving into the specifics of these game, whoever mediocre athlete rating out-of cuatro.4 off 5 was a testament on their prevalent attention together with pure happiness it give the online betting community.<\/p>\n

Built with Playtech’s trademark attention to detail, Super Flame Blaze Roulette includes a sleek and you may representative-amicable three dimensional user interface, so that it’s easy to think on your own within roulette table. The game’s unique Flames Blast and you may Super Flame Blaze Bonus have incorporate a bit of spruce toward enjoy, providing players the ability to earn significant profits all the way to 9,999 to at least one. So you can victory, people need home around three or maybe more complimentary icons in succession across the any of the paylines, starting from brand new leftmost reel. As for the gameplay, the brand new slot is actually played toward an excellent grid that consists of five rows and you may four articles. Fishin’ Frenzy Megaways, created by Plan Gambling, also provides users an exciting gameplay experience in doing 15,625 a method to victory. Among the best barometers try evaluating game that almost every other people like, which you’ll find in the new ‘Most popular games’ element of this site.<\/p>\n

Through the game play, you\u2019ll skip your\u2019re playing a position, it\u2019s more like the full-blown video game, and one of the very most entertaining launches within the 2026. Once you sign up, you can aquire the true Honor Gambling enterprise no-deposit incentive, that it bonus can get you 2 Sweepstakes Gold coins through to signing up, and and additionally discovered one hundred,100000 Gold coins which you can use to relax and play enjoyment. These headings are bought at some of the best sweepstakes casinos, and therefore you could in the course of time receive your own Sc the real deal money prizes playing the most effective casino games to own free.<\/p>\n

Improved RTP harbors usually are the most suitable choice right here, headings for example Doorways off Heaven or Bison Spirit on the line.you is just as highest within 98 otherwise 99% RTP due to quick gameplay tweaks. A real income slots applications is going to be downloaded inside states particularly Pennsylvania, Florida, Tx, Michigan, Delaware, Rhode Isle, Connecticut, and you will West Virginia. Remember, you\u2019ll should be having fun with Sweepstakes Gold coins, a form of virtual currency, is qualified to receive these types of honors. Certain game discharge since the gambling enterprise exclusives otherwise very early-access headings, although some is removed because of supplier choices otherwise condition constraints. Sweepstakes casinos may offer some other designs of the same slot built into the user otherwise legislation, so it\u2019s usually smart to read the inside the-game details or spend desk in advance of to play. All these real money honours should make you a beneficial added bonus to tackle these types of online casino games online, plus it\u2019s crucial that you understand that you can always wager free within those web sites.<\/p>\n

But when you\u2019re finding fancy animated graphics and you may signs, a slot machine is what you want. The best online slots real money U . s . casinos try completely subscribed when you look at the claims like Nj-new jersey, Pennsylvania, Michigan, and you will Western Virginia, plus they\u2019lso are loaded with real money choices you can trust. Not every site is made equal, particularly when your\u2019re also to try out regarding the U.S. It\u2019s easy to get overloaded by the selection, but if you\u2019re also seeking an educated ports to tackle on the internet the real deal currency, look for headings off most useful developers such as for instance NetEnt, IGT, and you will Microgaming. Thus, stuff if you come across when you\u2019lso are plunge on realm of gambling enterprise harbors on line a real income?<\/p>\n","protected":false},"excerpt":{"rendered":"

Regulating agencies usually frown to their signatories committing fraud, to believe in them should they is judge gambling enterprises on your county. For as long as the websites your\u2019lso are playing with was genuine (i.elizabeth. subscribed and you will controlled providers), the newest free spins now offers is exactly as\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-69642","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/69642","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=69642"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/69642\/revisions"}],"predecessor-version":[{"id":69643,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/69642\/revisions\/69643"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=69642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=69642"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=69642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}