Version Description
- Design updates for Gutenberg
- Security updates
Download this release
Release Info
Developer | socialdude |
Plugin | Social Share Icons & Social Share Buttons |
Version | 3.0.1 |
Comparing to | |
See all releases |
Code changes from version 3.0.0 to 3.0.1
- dist/blocks.build.js +1 -1
- dist/blocks.editor.build.css +11 -2
- images/Chat_with_us_bar.svg +1 -0
- js/custom-admin.js +5 -0
- libs/controllers/sfsi_socialhelper.php +95 -59
- libs/sfsi_Init_JqueryCss.php +3 -0
- libs/sfsi_gutenberg_block.php +2 -3
- libs/sfsi_install_uninstall.php +80 -74
- readme.txt +7 -3
- ultimate_social_media_icons.php +19 -17
- views/sfsi_option_view8.php +1 -1
dist/blocks.build.js
CHANGED
@@ -84,7 +84,7 @@ eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true }
|
|
84 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
85 |
|
86 |
"use strict";
|
87 |
-
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss__ = __webpack_require__(/*! ./style.scss */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_scss__);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * BLOCK: social-share-block\n *\n * Registering a basic block with Gutenberg.\n * Simple block, renders and saves the same content without any interactivity.\n */\n\n// Import CSS.\n\n\n\nvar __ = wp.i18n.__; // Import __() from wp.i18n\n\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n RichText = _wp$blocks.RichText,\n TextControl = _wp$blocks.TextControl,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n InspectorControls = _wp$blocks.InspectorControls; // Import registerBlockType() from wp.blocks\n\n// const {\n// TextControl\n// } = wp.components;\n\nvar el = wp.element.createElement;\n/**\n * Register: aa Gutenberg Block.\n *\n * Registers a new block provided a unique name and an object defining its\n * behavior. Once registered, the block is made editor as an option to any\n * editor interface where blocks are implemented.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/\n * @param {string} name Block name.\n * @param {Object} settings Block settings.\n * @return {?WPBlock} The block, if it has been successfully\n * registered; otherwise `undefined`.\n */\n\nvar iconEl = el('svg', { width: 20, height: 20 }, el('g', { 'transform': \"translate(0.000000,20.000000) scale(0.0062,-0.0070)\", 'fill': \"#000000\", 'stroke': \"none\" }, el('path', { d: \"M2055 2721 c-284 -83 -461 -332 -442 -624 l6 -89 -72 6 c-406 39 -818 246 -1090 548 l-66 73 -26 -60 c-101 -227 -55 -484 120 -661 l72 -74 -32 0 c-39 0 -127 26 -179 52 l-39 20 6 -74 c18 -224 178 -428 395 -504 58 -20 61 -22 35 -29 -15 -4 -72 -6 -126 -6 -98 1 -98 1 -92 -21 19 -62 77 -150 141 -214 88 -89 200 -148 317 -166 43 -7 77 -15 77 -18 0 -7 -152 -102 -205 -128 -72 -36 -216 -82 -302 -97 -46 -8 -146 -15 -221 -16 -159 -1 -160 2 10 -85 257 -131 542 -193 838 -181 209 8 392 45 572 115 l68 26 0 393 0 393 -100 0 c-93 0 -100 1 -100 20 0 11 -1 90 -1 175 0 85 1 160 1 165 0 6 40 10 100 10 l100 0 1 138 c1 144 3 170 20 241 34 147 165 265 319 288 49 8 174 9 358 5 l62 -2 0 -175 0 -175 -127 0 c-83 0 -137 -5 -153 -13 -35 -18 -46 -61 -49 -193 l-2 -114 165 0 166 0 0 -37 c0 -21 -7 -96 -15 -168 -8 -71 -15 -138 -15 -147 0 -16 -14 -18 -150 -18 l-150 0 0 -332 c1 -686 3 -637 -22 -642 -13 -3 -90 -8 -172 -12 -82 -3 -143 -10 -136 -14 6 -4 93 -8 191 -9 l179 -2 0 272 0 271 63 72 c119 134 198 250 273 397 113 225 184 512 184 745 l0 101 79 66 c64 54 226 235 217 244 -1 1 -26 -6 -55 -17 -59 -23 -176 -55 -235 -65 l-40 -7 50 39 c86 69 147 149 184 242 l19 49 -88 -43 c-69 -34 -199 -81 -276 -99 -5 -2 -37 19 -70 46 -150 122 -366 170 -540 119z\" })));\n\nregisterBlockType('ultimate-social-media-plus/sfsi-plus-share-block', {\n\t// Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.\n\ttitle: __('Social Icons'), // Block title.\n\ticon: iconEl, // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.\n\tcategory: 'common', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.\n\tkeywords: [__('Social Icons'), __('Social share'), __('Gutenberg Share')],\n\tattributes: {\n\t\t\"jscode\": {\n\t\t\t\"default\": \"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_wrapper .sfsi_plus_block').html(response);sfsi_plus_update_iconcount();if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t\t\ttype: 'string'\n\t\t},\n\t\tshowTextBeforeShare: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'yes'\n\t\t\t// meta: 'sfsi_plus_gutenberg_show_text_before_share'\n\t\t},\n\t\ttextBeforeShare: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'Please Share:'\n\t\t},\n\t\ticonType: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'round'\n\t\t},\n\t\ticonAlignemt: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'left'\n\t\t},\n\t\tmaxPerRow: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: '5'\n\n\t\t}\n\t},\n\t/**\n * The edit function describes the structure of your block in the context of the editor.\n * This represents what the editor will render when the block is used.\n *\n * The \"edit\" property must be a valid function.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\n */\n\tedit: function edit(props) {\n\t\tfunction onAttrChange(meta, value) {\n\t\t\tprops.setAttributes(_defineProperty({}, meta, value));\n\t\t}\n\t\tvar setAttributes = props.setAttributes;\n\t\t// var focus = props.isSelected;\n\t\tvar attributes = props.attributes;\n\t\t// console.log('attributes',attributes,wp.element);\n\t\tvar showTextBeforeShare = \"yes\";\n\t\tvar textBeforeShare = \"Please Share:\";\n\t\tif (attributes.showTextBeforeShare || '' !== attributes.showTextBeforeShare) {\n\t\t\tshowTextBeforeShare = attributes.showTextBeforeShare;\n\t\t} else {\n\t\t\tonAttrChange('showTextBeforeShare', 'yes');\n\t\t}\n\t\tif (attributes.textBeforeShare || '' !== attributes.textBeforeShare) {\n\t\t\ttextBeforeShare = attributes.textBeforeShare;\n\t\t} else {\n\t\t\tonAttrChange('textBeforeShare', 'Please Share:');\n\t\t}\n\n\t\t// Creates a <p class='wp-block-cgb-block-social-share-block'></p>.\n\t\t// return renderButtons(props.attributes);\n\t\tvar target = jQuery('div[data-block=\"' + props.clientId + '\"]').find('.sfsi_plus_block_container');\n\t\t// console.log(props,target,target.length);\n\t\tif (target.length > 0) {\n\t\t\tvar buttons = target.find('.sfsi_plus_block>div');\n\t\t\tif (buttons.length === 0) {\n\t\t\t\tfetchButtons(attributes.iconType, attributes, target);\n\t\t\t}\n\t\t} else {\n\t\t\tsetTimeout(function () {\n\t\t\t\tvar target = jQuery('div[data-block=\"' + props.clientId + '\"]').find('.sfsi_plus_block_container');\n\t\t\t\tvar buttons = target.find('.sfsi_plus_block>div');\n\t\t\t\tif (buttons.length === 0) {\n\t\t\t\t\tfetchButtons(attributes.iconType, attributes, target);\n\t\t\t\t}\n\t\t\t}, 3000);\n\t\t}\n\n\t\treturn [el(wp.editor.InspectorControls, { key: 'sfsi-plus-block-inspector' }, el('div', { className: \"sfsi_plus_block_inspector\" }, el('h3', { className: 'sfsi_plus_block_icontype_header' }, __('Type')), el('select', { className: 'form-control sfsi_plus_block_icontype_selector',\n\t\t\tvalue: attributes.iconType,\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tvar target = jQuery('.wp-block.is-selected').find('.sfsi_plus_block_container');\n\t\t\t\tsetAttributes({ iconType: event.target.value });\n\t\t\t\tfetchButtons(event.target.value, attributes, target);\n\t\t\t}\n\t\t}, el('option', {\n\t\t\t'value': 'round'\n\t\t}, 'Round / «main» icons'), el('option', {\n\t\t\t'value': 'rectangle'\n\t\t}, 'Rectangle icons')), (props.attributes.iconType === \"round\" || undefined === props.attributes.iconType) && el('p', { className: 'sfsi_plus_block_icontype_desc' }, __(' Those are the icons you selected under question 1 on the plugin‘s '), el('a', { 'target': '_blank', 'href': '/wp-admin/admin.php?page=sfsi-plus-options#ui-id-1' }, __(' settings page.'))), props.attributes.iconType === \"rectangle\" && el('p', { className: 'sfsi_plus_block_icontype_desc' }, __('Those are the icons you selected '), el('a', { 'target': '_blank', 'href': '/wp-admin/admin.php?page=sfsi-plus-options#ui-id-5' }, __('here.'))), el('h3', { className: 'sfsi_plus_block_icontype_header' }, __('Alignment')), el('select', { className: 'form-control sfsi_plus_block_iconalignment_selector',\n\t\t\tvalue: attributes.iconAlignemt,\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tsetAttributes({ iconAlignemt: event.target.value });\n\t\t\t\tvar target = jQuery('.wp-block.is-selected .sfsi_plus_block_container');\n\t\t\t\tif ('center' === event.target.value) {\n\t\t\t\t\tjQuery(target).find('.sfsi_plus_block_text_before_icon').css({ 'display': 'inherit' });\n\t\t\t\t}\n\t\t\t\tjQuery(target).css({ 'text-align': event.target.value });\n\t\t\t}\n\t\t}, el('option', {\n\t\t\t'value': 'left'\n\t\t}, 'Left'), el('option', {\n\t\t\t'value': 'right'\n\t\t}, 'Right'), el('option', {\n\t\t\t'value': 'center'\n\t\t}, 'Center')), (props.attributes.iconType === \"round\" || undefined === props.attributes.iconType) && el('div', { className: 'sfsi_plus_block_iconperrow_body' }, el('span', { className: 'label' }, __('Max. icons per row')), el('input', {\n\t\t\ttype: 'text',\n\t\t\tvalue: attributes.maxPerRow,\n\t\t\tonChange: function onChange(event) {\n\t\t\t\t// console.log(event.target,event.target.value);\n\t\t\t\tsetAttributes({ maxPerRow: (parseInt(event.target.value) || 0) + '' });\n\t\t\t\tchangeIconWidth(event.target.value);\n\t\t\t}\n\t\t})), el('label', {\n\t\t\thtmlFor: 'sfsi-plus-text-before-icons',\n\t\t\tclassName: 'sfsi_plus_block_textbeforeicons'\n\t\t}, el('input', {\n\t\t\tclassName: \"form-control\",\n\t\t\tchecked: attributes.showTextBeforeShare == 'yes',\n\t\t\ttype: 'checkbox',\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tsetAttributes({ showTextBeforeShare: event.target.checked ? 'yes' : 'no' });\n\t\t\t}\n\t\t}), 'Text before icons?'), attributes.showTextBeforeShare == 'yes' && el('input', {\n\t\t\tclassName: 'form-input sfsi_plus_block_textbeforeicons_header',\n\t\t\tvalue: attributes.textBeforeShare,\n\t\t\tstyle: {\n\t\t\t\t'padding-top': '3px'\n\t\t\t},\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tsetAttributes({ textBeforeShare: event.target.value });\n\t\t\t}\n\t\t}), attributes.showTextBeforeShare === 'yes' && el('div', { className: 'form-input sfsi_plus_block_textbeforeicons_body' }, __('Define the font size & type in our '), el('a', { 'href': 'https://www.ultimatelysocial.com/usm-premium/', 'target': '_blank' }, __('Premium plugin'))), el('h3', { className: 'sfsi_plus_block_notes_heading' }, __('Notes')), el('hr'), el('ul', { className: 'sfsi_plus_block_notes_list' }, el('li', { className: 'sfsi_plus_block_notes_item' }, __('For all other selections ( What the icons should do etc.) please go to '), el('a', { 'href': (window.sfsi_plus_links ? window.sfsi_plus_links.admin_url : '/wp-admin/admin.php') + '?page=sfsi-plus-options', 'target': '_blank' }, __('settings page'))), el('li', { className: 'sfsi_plus_block_notes_item' }, __('To see the icons in ‚full action‘ (with all features) please open the page in live or preview mode.')), el('li', { className: 'sfsi_plus_block_notes_item' }, __('If questions remain, please ask them in the '), el('a', {\n\t\t\t'href': 'https://goo.gl/ktAeDv',\n\t\t\t'target': '_blank'\n\t\t}, __('support forum')), __(' – we‘ll try to respond quickly.'), el('img', { src: (window.sfsi_plus_links ? window.sfsi_plus_links.plugin_dir_url : '/wp-content/plugins/ultimate-social-media-plus') + '/images/Ic_insert_emoticon_48px.svg', style: { width: '18px', 'vertical-align': 'text-bottom' } }))), el('h3', { className: 'sfsi_plus_block_ad_heading' }, 'Want (much) more?'), el('div', { className: 'sfsi_plus_block_ad_body' }, el('div', {}, __('Check out our '), el('a', { 'href': 'https://www.ultimatelysocial.com/usm-premium/?utm_source=plus_gutenberg_page&utm_campaign=side_widget&utm_medium=link', 'target': '_blank' }, __('premium plugin‘s features')), __('. Watch a teaser: '))), el('div', { style: { 'text-align': 'center' } }, el('iframe', { src: 'https://player.vimeo.com/video/269140798', width: '640', frameborder: 0, 'webkitallowfullscreen': \"\", 'mozallowfullscreen': \"\", 'allowfullscreen': \"\" }), el('a', { href: \"https://www.ultimatelysocial.com/usm-premium/?utm_source=plus_gutenberg_page&utm_campaign=side_widget&utm_medium=link\", 'target': '_blank', style: { 'display': 'inline-block', padding: '4px 10px', 'text-decoration': 'none', 'background': '#00A15A', 'color': '#fff', 'font-size': '11px', 'font-weight': '900' } }, __('Check out the Premium Plugin >>'))), el('br'), el('span', { className: 'sfsi_plus_block_ad_footer' }, __('..only 24.98 USD (includes support and updates for 1 year, and after that it will not be deactivated, so you can just keep using it!)')))), el('div', { key: 'sfsi-plus-block-content', className: 'sfsi_plus_block_container sfsi_plus_block_wrapper' }, '\\t', showTextBeforeShare == \"yes\" && el('span', { className: 'sfsi_plus_block_text_before_icon', 'data-align': attributes.iconAlignemt }, textBeforeShare), el('div', { className: 'sfsi_plus_block', 'data-count': attributes.maxPerRow, 'data-align': attributes.iconAlignemt, 'data-icon-type': attributes.iconType }, 'loading....'))];\n\t},\n\n\t/**\n * The save function defines the way in which the different attributes should be combined\n * into the final markup, which is then serialized by Gutenberg into post_content.\n *\n * The \"save\" property must be specified and must be a valid function.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\n */\n\tdeprecated: [{\n\t\tattributes: {\n\t\t\t\"jscode\": {\n\t\t\t\t\"default\": \"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_container .sfsi_plus_block').html(response);if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\tisEligible: function isEligible(attributes) {\n\t\t\tconsole.log(attributes);\n\t\t\treturn true;\n\t\t\t// return (attributes.jscode===\"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_container .sfsi_plus_block').html(response);if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\");\n\t\t},\n\t\tmigrate: function migrate(attributes) {\n\t\t\tconsole.log('migrate', attributes);\n\t\t\treturn [{\n\t\t\t\t\"jscode\": \"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_wrapper .sfsi_plus_block').html(response);sfsi_plus_update_iconcount();if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t\t\t\tshowTextBeforeShare: 'yes',\n\t\t\t\ttextBeforeShare: 'Please Share:',\n\t\t\t\ticonType: 'round',\n\t\t\t\ticonAlignemt: 'left',\n\t\t\t\tmaxPerRow: '5'\n\t\t\t}];\n\t\t},\n\t\tsave: function save(props) {\n\t\t\tconsole.log(props);\n\t\t\tvar attributes = props.attributes;\n\t\t\treturn renderButtons(attributes);\n\t\t}\n\t}],\n\n\t// deprecated: [\n\t// \t{\n\t// \t\tattributes: {\n\t// \t\t\t\"jscode\":{\n\t// \t\t\t\t\t\t\"default\":\"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_container .sfsi_plus_block').html(response);if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t// \t\t\t\t\t\ttype: 'string'\n\t// \t\t\t}\n\t// \t\t},\n\t// \t\tsave: function( props ) {\n\t// \t\t\tvar attributes = props.attributes;\n\t// \t\t\treturn renderButtons(attributes);\n\t// \t\t}\n\t// \t\tmigrate: function(){\n\t// \t\t\treturn \n\t// \t\t}\n\t// \t}\n\t// ],\n\n\n\tsave: function save(props) {\n\t\t// console.log(props);\n\t\tvar attributes = props.attributes;\n\t\tsetTimeout(function () {\n\t\t\tchangeIconWidth(attributes.maxPerRow);\n\t\t\t// console.log('changedIconWidth');\n\t\t}, 300);\n\t\treturn renderButtons_new(attributes);\n\t}\n\n});\n\nfunction renderButtons(attributes) {\n\tvar jscode = attributes.jscode;\n\t// if(attributes.iconType===\"rectangle\"){\n\t// \tjscode=jscode.replace(/window.location.href/gi,'window.location.href+\"&ractangle_icon=1\"')\n\t// }\n\treturn el('div', { 'className': 'sfsi_plus_block_container' }, \"\\n\t\", el('div', { className: 'sfsi_plus_block' }, \"\"), \"\\n\t\", el('script', {}, jscode), \"\\n\");\n}\n\nfunction renderButtons_new(attributes) {\n\t// console.log(attributes);\n\tvar jscode = attributes.jscode;\n\tif (attributes.iconType === \"rectangle\") {\n\t\tjscode = jscode.replace(/window.location.href/gi, 'window.location.href+\"&ractangle_icon=1\"');\n\t}\n\tvar showTextBeforeShare = \"yes\";\n\tvar textBeforeShare = \"Please Share:\";\n\tif (attributes.showTextBeforeShare || '' !== attributes.showTextBeforeShare) {\n\t\tshowTextBeforeShare = attributes.showTextBeforeShare;\n\t} else {\n\t\tonAttrChange('showTextBeforeShare', 'yes');\n\t}\n\tif (attributes.textBeforeShare || '' !== attributes.textBeforeShare) {\n\t\ttextBeforeShare = attributes.textBeforeShare;\n\t} else {\n\t\tonAttrChange('textBeforeShare', 'Please Share:');\n\t}\n\treturn el('div', { 'className': 'sfsi_plus_block_wrapper' }, \"\\n\t\", showTextBeforeShare == \"yes\" && el('span', { className: 'sfsi_plus_block_text_before_icon' }, textBeforeShare), \"\\n\", el('div', { className: 'sfsi_plus_block', 'data-count': attributes.maxPerRow, 'data-align': attributes.iconAlignemt, 'data-icon-type': attributes.iconType }, \"\"), \"\\n\\t\"\n\t// el('script',{},jscode\n\t// ),\"\\n\"\n\t);\n}\nfunction changeIconWidth() {\n\tvar per_row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n\t// console.log('iconchangecalled');\n\t// jQuery(document).ready(function($){\n\t// console.log('iconchangecalled and doc ready');\n\tvar iconWidth = parseInt(jQuery('.sfsi_plus_block_wrapper .sfsi_plus_wDiv div').css('width')) || 40;\n\t// console.log('iconwidth',iconWidth);\n\n\tvar iconMargin = parseInt(jQuery('.sfsi_plus_block_wrapper .sfsi_plus_wDiv div').css('margin-left')) || 0;\n\t// console.log('iconMargin',iconMargin);\n\n\tvar wrapperWidth = (iconWidth + iconMargin) * per_row;\n\t// console.log('in icon change ',iconWidth,iconMargin,wrapperWidth);\n\tvar iconHeight = jQuery('.sfsi_plus_block_wrapper .sfsi_plus_wDiv img').first().height();\n\tvar textHeight = jQuery('.sfsi_plus_block_text_before_icon').height();\n\t// console.log('wrapperWidth',wrapperWidth);\n\tjQuery('.sfsi_plus_block_text_before_icon').css({ 'margin-top': (textHeight - iconHeight) / 2 - 2 + 'px' });\n\tif (jQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row').length < 1) {\n\t\t// console.log('setTimeout',jQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row'));\n\t\tsetTimeout(function () {\n\t\t\tjQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row').css({ 'width': wrapperWidth + 'px' });\n\t\t}, 1000);\n\t} else {}\n\t// console.log('didnot setTimeout',jQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row'));\n\n\t// var target=jQuery('.sfsi_plus_block_container');\n\t// console.log(target,icon_alignment);\n\tjQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row').css({ 'width': wrapperWidth + 'px' });\n\tsetIconBlockAlignment();\n\n\t// })\n}\n\nfunction setIconBlockAlignment() {\n\tvar target = jQuery('.wp-block.is-selected .sfsi_plus_block_container');\n\tvar icon_alignment = target.find('.sfsi_plus_block').attr('data-align');\n\tif ('center' === icon_alignment) {\n\t\tjQuery(target).find('.sfsi_plus_block_text_before_icon').css({ 'display': 'inherit' });\n\t}\n\tjQuery(target).css({ 'text-align': icon_alignment });\n}\n\nfunction fetchButtons() {\n\tvar iconType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\tvar attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\tvar target = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n\tif (null === iconType || undefined === iconType) {\n\t\ticonType = \"round\";\n\t}\n\t// console.log(iconType);\n\t// return jQuery(document).ready(function($){\n\t// console.log(iconType);\n\tif (null == target) {\n\t\ttarget = $(document);\n\t}\n\t// console.log(target);\n\treturn jQuery.ajax({\n\t\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?admin_refereal=true&ractangle_icon=' + ('round' == iconType ? 0 : 1),\n\t\t'method': 'GET'\n\t\t// 'data':{'is_admin':true,'share_url':'/'}\n\t}).done(function (response) {\n\t\t// console.log(response,$('.sfsi_plus_block'));\n\n\t\tif (jQuery(target).find('.sfsi_plus_block').length > 0) {\n\t\t\tjQuery(target).find('.sfsi_plus_block').html(response);\n\t\t\tchangeIconWidth(attributes.maxPerRow);\n\t\t\tif (iconType !== 'round') {\n\t\t\t\trenderAutoSocialIcons();\n\t\t\t}\n\t\t\t// console.log('updated');\n\t\t} else {\n\t\t\tsetTimeout(function () {\n\t\t\t\tjQuery('.sfsi_plus_block').html(response);\n\t\t\t\tchangeIconWidth(attributes.maxPerRow);\n\n\t\t\t\tconsole.log('now updated');\n\t\t\t}, 5000);\n\t\t\tconsole.log('timeset');\n\t\t}\n\t}).fail(function (response) {\n\t\t// console.log(response,$('.sfsi_plus_block'));\n\t\tjQuery(target).find('.sfsi_plus_block').html(response.responseText.replace('/\\\\/g', ''));\n\t});\n\t// });\n}\nfunction renderAutoSocialIcons() {\n\tif (window.gapi) {\n\t\twindow.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();\n\t};\n\tif (window.twttr) {\n\t\twindow.twttr.widgets.load();\n\t};\n\tif (window.IN && window.IN.parse) {\n\t\twindow.IN.parse();\n\t};\n\tif (window.addthis) {\n\t\tif (window.addthis.toolbox) {\n\t\t\twindow.addthis.toolbox('.addthis_button.sficn');\n\t\t} else {\n\t\t\twindow.addthis.init();window.addthis.toolbox('.addthis_button.sficn');\n\t\t}\n\t};\n\tif (window.PinUtils) {\n\t\twindow.PinUtils.build();\n\t};\n\tif (window.FB) {\n\t\tif (window.FB.XFBML) {\n\t\t\twindow.FB.XFBML.parse();\n\t\t}\n\t};\n}\nif (undefined === sfsi_plus_float_widget) {\n\tvar _sfsi_plus_float_widget = function _sfsi_plus_float_widget() {\n\t\treturn;\n\t};\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9ibG9jay5qcz85MjFkIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbi8qKlxuICogQkxPQ0s6IHNvY2lhbC1zaGFyZS1ibG9ja1xuICpcbiAqIFJlZ2lzdGVyaW5nIGEgYmFzaWMgYmxvY2sgd2l0aCBHdXRlbmJlcmcuXG4gKiBTaW1wbGUgYmxvY2ssIHJlbmRlcnMgYW5kIHNhdmVzIHRoZSBzYW1lIGNvbnRlbnQgd2l0aG91dCBhbnkgaW50ZXJhY3Rpdml0eS5cbiAqL1xuXG4vLyAgSW1wb3J0IENTUy5cbmltcG9ydCAnLi9zdHlsZS5zY3NzJztcbmltcG9ydCAnLi9lZGl0b3Iuc2Nzcyc7XG5cbnZhciBfXyA9IHdwLmkxOG4uX187IC8vIEltcG9ydCBfXygpIGZyb20gd3AuaTE4blxuXG52YXIgX3dwJGJsb2NrcyA9IHdwLmJsb2NrcyxcbiAgICByZWdpc3RlckJsb2NrVHlwZSA9IF93cCRibG9ja3MucmVnaXN0ZXJCbG9ja1R5cGUsXG4gICAgUmljaFRleHQgPSBfd3AkYmxvY2tzLlJpY2hUZXh0LFxuICAgIFRleHRDb250cm9sID0gX3dwJGJsb2Nrcy5UZXh0Q29udHJvbCxcbiAgICBBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5BbGlnbm1lbnRUb29sYmFyLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHMsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkYmxvY2tzLkluc3BlY3RvckNvbnRyb2xzOyAvLyBJbXBvcnQgcmVnaXN0ZXJCbG9ja1R5cGUoKSBmcm9tIHdwLmJsb2Nrc1xuXG4vLyBjb25zdCB7XG4vLyAgICAgVGV4dENvbnRyb2xcbi8vIH0gPSB3cC5jb21wb25lbnRzO1xuXG52YXIgZWwgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQ7XG4vKipcbiAqIFJlZ2lzdGVyOiBhYSBHdXRlbmJlcmcgQmxvY2suXG4gKlxuICogUmVnaXN0ZXJzIGEgbmV3IGJsb2NrIHByb3ZpZGVkIGEgdW5pcXVlIG5hbWUgYW5kIGFuIG9iamVjdCBkZWZpbmluZyBpdHNcbiAqIGJlaGF2aW9yLiBPbmNlIHJlZ2lzdGVyZWQsIHRoZSBibG9jayBpcyBtYWRlIGVkaXRvciBhcyBhbiBvcHRpb24gdG8gYW55XG4gKiBlZGl0b3IgaW50ZXJmYWNlIHdoZXJlIGJsb2NrcyBhcmUgaW1wbGVtZW50ZWQuXG4gKlxuICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICAgbmFtZSAgICAgQmxvY2sgbmFtZS5cbiAqIEBwYXJhbSAge09iamVjdH0gICBzZXR0aW5ncyBCbG9jayBzZXR0aW5ncy5cbiAqIEByZXR1cm4gez9XUEJsb2NrfSAgICAgICAgICBUaGUgYmxvY2ssIGlmIGl0IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWQ7IG90aGVyd2lzZSBgdW5kZWZpbmVkYC5cbiAqL1xuXG52YXIgaWNvbkVsID0gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwIH0sIGVsKCdnJywgeyAndHJhbnNmb3JtJzogXCJ0cmFuc2xhdGUoMC4wMDAwMDAsMjAuMDAwMDAwKSBzY2FsZSgwLjAwNjIsLTAuMDA3MClcIiwgJ2ZpbGwnOiBcIiMwMDAwMDBcIiwgJ3N0cm9rZSc6IFwibm9uZVwiIH0sIGVsKCdwYXRoJywgeyBkOiBcIk0yMDU1IDI3MjEgYy0yODQgLTgzIC00NjEgLTMzMiAtNDQyIC02MjQgbDYgLTg5IC03MiA2IGMtNDA2IDM5IC04MTggMjQ2IC0xMDkwIDU0OCBsLTY2IDczIC0yNiAtNjAgYy0xMDEgLTIyNyAtNTUgLTQ4NCAxMjAgLTY2MSBsNzIgLTc0IC0zMiAwIGMtMzkgMCAtMTI3IDI2IC0xNzkgNTIgbC0zOSAyMCA2IC03NCBjMTggLTIyNCAxNzggLTQyOCAzOTUgLTUwNCA1OCAtMjAgNjEgLTIyIDM1IC0yOSAtMTUgLTQgLTcyIC02IC0xMjYgLTYgLTk4IDEgLTk4IDEgLTkyIC0yMSAxOSAtNjIgNzcgLTE1MCAxNDEgLTIxNCA4OCAtODkgMjAwIC0xNDggMzE3IC0xNjYgNDMgLTcgNzcgLTE1IDc3IC0xOCAwIC03IC0xNTIgLTEwMiAtMjA1IC0xMjggLTcyIC0zNiAtMjE2IC04MiAtMzAyIC05NyAtNDYgLTggLTE0NiAtMTUgLTIyMSAtMTYgLTE1OSAtMSAtMTYwIDIgMTAgLTg1IDI1NyAtMTMxIDU0MiAtMTkzIDgzOCAtMTgxIDIwOSA4IDM5MiA0NSA1NzIgMTE1IGw2OCAyNiAwIDM5MyAwIDM5MyAtMTAwIDAgYy05MyAwIC0xMDAgMSAtMTAwIDIwIDAgMTEgLTEgOTAgLTEgMTc1IDAgODUgMSAxNjAgMSAxNjUgMCA2IDQwIDEwIDEwMCAxMCBsMTAwIDAgMSAxMzggYzEgMTQ0IDMgMTcwIDIwIDI0MSAzNCAxNDcgMTY1IDI2NSAzMTkgMjg4IDQ5IDggMTc0IDkgMzU4IDUgbDYyIC0yIDAgLTE3NSAwIC0xNzUgLTEyNyAwIGMtODMgMCAtMTM3IC01IC0xNTMgLTEzIC0zNSAtMTggLTQ2IC02MSAtNDkgLTE5MyBsLTIgLTExNCAxNjUgMCAxNjYgMCAwIC0zNyBjMCAtMjEgLTcgLTk2IC0xNSAtMTY4IC04IC03MSAtMTUgLTEzOCAtMTUgLTE0NyAwIC0xNiAtMTQgLTE4IC0xNTAgLTE4IGwtMTUwIDAgMCAtMzMyIGMxIC02ODYgMyAtNjM3IC0yMiAtNjQyIC0xMyAtMyAtOTAgLTggLTE3MiAtMTIgLTgyIC0zIC0xNDMgLTEwIC0xMzYgLTE0IDYgLTQgOTMgLTggMTkxIC05IGwxNzkgLTIgMCAyNzIgMCAyNzEgNjMgNzIgYzExOSAxMzQgMTk4IDI1MCAyNzMgMzk3IDExMyAyMjUgMTg0IDUxMiAxODQgNzQ1IGwwIDEwMSA3OSA2NiBjNjQgNTQgMjI2IDIzNSAyMTcgMjQ0IC0xIDEgLTI2IC02IC01NSAtMTcgLTU5IC0yMyAtMTc2IC01NSAtMjM1IC02NSBsLTQwIC03IDUwIDM5IGM4NiA2OSAxNDcgMTQ5IDE4NCAyNDIgbDE5IDQ5IC04OCAtNDMgYy02OSAtMzQgLTE5OSAtODEgLTI3NiAtOTkgLTUgLTIgLTM3IDE5IC03MCA0NiAtMTUwIDEyMiAtMzY2IDE3MCAtNTQwIDExOXpcIiB9KSkpO1xuXG5yZWdpc3RlckJsb2NrVHlwZSgndWx0aW1hdGUtc29jaWFsLW1lZGlhLXBsdXMvc2ZzaS1wbHVzLXNoYXJlLWJsb2NrJywge1xuXHQvLyBCbG9jayBuYW1lLiBCbG9jayBuYW1lcyBtdXN0IGJlIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgbmFtZXNwYWNlIHByZWZpeC4gRXhhbXBsZTogbXktcGx1Z2luL215LWN1c3RvbS1ibG9jay5cblx0dGl0bGU6IF9fKCdTb2NpYWwgSWNvbnMnKSwgLy8gQmxvY2sgdGl0bGUuXG5cdGljb246IGljb25FbCwgLy8gQmxvY2sgaWNvbiBmcm9tIERhc2hpY29ucyDihpIgaHR0cHM6Ly9kZXZlbG9wZXIud29yZHByZXNzLm9yZy9yZXNvdXJjZS9kYXNoaWNvbnMvLlxuXHRjYXRlZ29yeTogJ2NvbW1vbicsIC8vIEJsb2NrIGNhdGVnb3J5IOKAlCBHcm91cCBibG9ja3MgdG9nZXRoZXIgYmFzZWQgb24gY29tbW9uIHRyYWl0cyBFLmcuIGNvbW1vbiwgZm9ybWF0dGluZywgbGF5b3V0IHdpZGdldHMsIGVtYmVkLlxuXHRrZXl3b3JkczogW19fKCdTb2NpYWwgSWNvbnMnKSwgX18oJ1NvY2lhbCBzaGFyZScpLCBfXygnR3V0ZW5iZXJnIFNoYXJlJyldLFxuXHRhdHRyaWJ1dGVzOiB7XG5cdFx0XCJqc2NvZGVcIjoge1xuXHRcdFx0XCJkZWZhdWx0XCI6IFwiXFxuXFx0XFx0alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7XFxuXFx0XFx0XFx0alF1ZXJ5LmFqYXgoe1xcblxcdFxcdFxcdFxcdCd1cmwnOiAnL3dwLWpzb24vdWx0aW1hdGUtc29jaWFsLW1lZGlhLXBsdXMvdjEvaWNvbnMvP3NoYXJlX3VybD0nK3dpbmRvdy5sb2NhdGlvbi5ocmVmLFxcblxcdFxcdFxcdFxcdCdtZXRob2QnOiAnR0VUJ1xcblxcdFxcdFxcdH0pLmRvbmUoIGZ1bmN0aW9uKHJlc3BvbnNlKXtcXG5cXHRcXHRcXHRcXHQkKCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UpO3Nmc2lfcGx1c191cGRhdGVfaWNvbmNvdW50KCk7aWYod2luZG93LmdhcGkpe3dpbmRvdy5nYXBpLnBsdXNvbmUuZ28oKTt3aW5kb3cuZ2FwaS5wbHVzLmdvKCk7d2luZG93LmdhcGkueXRzdWJzY3JpYmUuZ28oKTt9O2lmKHdpbmRvdy50d3R0cil7d2luZG93LnR3dHRyLndpZGdldHMubG9hZCgpO307aWYod2luZG93LklOKXt3aW5kb3cuSU4ucGFyc2UoKTt9O2lmKHdpbmRvdy5hZGR0aGlzKXtpZih3aW5kb3cuYWRkdGhpcy50b29sYm94KXt3aW5kb3cuYWRkdGhpcy50b29sYm94KCcuYWRkdGhpc19idXR0b24uc2ZpY24nKTt9ZWxzZXt3aW5kb3cuYWRkdGhpcy5pbml0KCk7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fX07aWYod2luZG93LlBpblV0aWxzKXt3aW5kb3cuUGluVXRpbHMuYnVpbGQoKTt9O2lmKGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykubGVuZ3RoID4gMCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHZhciBzID0gcGFyc2VJbnQoalF1ZXJ5KCcuc2ZzaV9wbHVzX3dEaXYnKS5oZWlnaHQoKSkgKyAxNSArICdweCc7alF1ZXJ5KCcuc2ZzaV9wbHVzX2hvbGRlcnMnKS5lYWNoKGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5jc3MoJ2hlaWdodCcsIHMpO30pO2pRdWVyeSgnLnNmc2lfcGx1c193aWRnZXQnKS5jc3MoJ21pbi1oZWlnaHQnLCAnYXV0bycpO30sIDIwMCk7fTtpZih3aW5kb3cuRkIpe2lmKHdpbmRvdy5GQi5YRkJNTCl7d2luZG93LkZCLlhGQk1MLnBhcnNlKCk7fX07XFxuXFx0XFx0XFx0fSk7XFxuXFx0XFx0fSk7XFxuXFx0XCIsXG5cdFx0XHR0eXBlOiAnc3RyaW5nJ1xuXHRcdH0sXG5cdFx0c2hvd1RleHRCZWZvcmVTaGFyZToge1xuXHRcdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0XHQvLyBzb3VyY2U6ICd0ZXh0Jyxcblx0XHRcdGRlZmF1bHQ6ICd5ZXMnXG5cdFx0XHQvLyBtZXRhOiAnc2ZzaV9wbHVzX2d1dGVuYmVyZ19zaG93X3RleHRfYmVmb3JlX3NoYXJlJ1xuXHRcdH0sXG5cdFx0dGV4dEJlZm9yZVNoYXJlOiB7XG5cdFx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRcdC8vIHNvdXJjZTogJ3RleHQnLFxuXHRcdFx0ZGVmYXVsdDogJ1BsZWFzZSBTaGFyZTonXG5cdFx0fSxcblx0XHRpY29uVHlwZToge1xuXHRcdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0XHQvLyBzb3VyY2U6ICd0ZXh0Jyxcblx0XHRcdGRlZmF1bHQ6ICdyb3VuZCdcblx0XHR9LFxuXHRcdGljb25BbGlnbmVtdDoge1xuXHRcdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0XHQvLyBzb3VyY2U6ICd0ZXh0Jyxcblx0XHRcdGRlZmF1bHQ6ICdsZWZ0J1xuXHRcdH0sXG5cdFx0bWF4UGVyUm93OiB7XG5cdFx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRcdC8vIHNvdXJjZTogJ3RleHQnLFxuXHRcdFx0ZGVmYXVsdDogJzUnXG5cblx0XHR9XG5cdH0sXG5cdC8qKlxuICAqIFRoZSBlZGl0IGZ1bmN0aW9uIGRlc2NyaWJlcyB0aGUgc3RydWN0dXJlIG9mIHlvdXIgYmxvY2sgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGVkaXRvci5cbiAgKiBUaGlzIHJlcHJlc2VudHMgd2hhdCB0aGUgZWRpdG9yIHdpbGwgcmVuZGVyIHdoZW4gdGhlIGJsb2NrIGlzIHVzZWQuXG4gICpcbiAgKiBUaGUgXCJlZGl0XCIgcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGZ1bmN0aW9uLlxuICAqXG4gICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvYmxvY2stZWRpdC1zYXZlL1xuICAqL1xuXHRlZGl0OiBmdW5jdGlvbiBlZGl0KHByb3BzKSB7XG5cdFx0ZnVuY3Rpb24gb25BdHRyQ2hhbmdlKG1ldGEsIHZhbHVlKSB7XG5cdFx0XHRwcm9wcy5zZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgbWV0YSwgdmFsdWUpKTtcblx0XHR9XG5cdFx0dmFyIHNldEF0dHJpYnV0ZXMgPSBwcm9wcy5zZXRBdHRyaWJ1dGVzO1xuXHRcdC8vIHZhciBmb2N1cyA9IHByb3BzLmlzU2VsZWN0ZWQ7XG5cdFx0dmFyIGF0dHJpYnV0ZXMgPSBwcm9wcy5hdHRyaWJ1dGVzO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdhdHRyaWJ1dGVzJyxhdHRyaWJ1dGVzLHdwLmVsZW1lbnQpO1xuXHRcdHZhciBzaG93VGV4dEJlZm9yZVNoYXJlID0gXCJ5ZXNcIjtcblx0XHR2YXIgdGV4dEJlZm9yZVNoYXJlID0gXCJQbGVhc2UgU2hhcmU6XCI7XG5cdFx0aWYgKGF0dHJpYnV0ZXMuc2hvd1RleHRCZWZvcmVTaGFyZSB8fCAnJyAhPT0gYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlKSB7XG5cdFx0XHRzaG93VGV4dEJlZm9yZVNoYXJlID0gYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvbkF0dHJDaGFuZ2UoJ3Nob3dUZXh0QmVmb3JlU2hhcmUnLCAneWVzJyk7XG5cdFx0fVxuXHRcdGlmIChhdHRyaWJ1dGVzLnRleHRCZWZvcmVTaGFyZSB8fCAnJyAhPT0gYXR0cmlidXRlcy50ZXh0QmVmb3JlU2hhcmUpIHtcblx0XHRcdHRleHRCZWZvcmVTaGFyZSA9IGF0dHJpYnV0ZXMudGV4dEJlZm9yZVNoYXJlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvbkF0dHJDaGFuZ2UoJ3RleHRCZWZvcmVTaGFyZScsICdQbGVhc2UgU2hhcmU6Jyk7XG5cdFx0fVxuXG5cdFx0Ly8gQ3JlYXRlcyBhIDxwIGNsYXNzPSd3cC1ibG9jay1jZ2ItYmxvY2stc29jaWFsLXNoYXJlLWJsb2NrJz48L3A+LlxuXHRcdC8vIHJldHVybiByZW5kZXJCdXR0b25zKHByb3BzLmF0dHJpYnV0ZXMpO1xuXHRcdHZhciB0YXJnZXQgPSBqUXVlcnkoJ2RpdltkYXRhLWJsb2NrPVwiJyArIHByb3BzLmNsaWVudElkICsgJ1wiXScpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyJyk7XG5cdFx0Ly8gY29uc29sZS5sb2cocHJvcHMsdGFyZ2V0LHRhcmdldC5sZW5ndGgpO1xuXHRcdGlmICh0YXJnZXQubGVuZ3RoID4gMCkge1xuXHRcdFx0dmFyIGJ1dHRvbnMgPSB0YXJnZXQuZmluZCgnLnNmc2lfcGx1c19ibG9jaz5kaXYnKTtcblx0XHRcdGlmIChidXR0b25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRmZXRjaEJ1dHRvbnMoYXR0cmlidXRlcy5pY29uVHlwZSwgYXR0cmlidXRlcywgdGFyZ2V0KTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHZhciB0YXJnZXQgPSBqUXVlcnkoJ2RpdltkYXRhLWJsb2NrPVwiJyArIHByb3BzLmNsaWVudElkICsgJ1wiXScpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyJyk7XG5cdFx0XHRcdHZhciBidXR0b25zID0gdGFyZ2V0LmZpbmQoJy5zZnNpX3BsdXNfYmxvY2s+ZGl2Jyk7XG5cdFx0XHRcdGlmIChidXR0b25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdGZldGNoQnV0dG9ucyhhdHRyaWJ1dGVzLmljb25UeXBlLCBhdHRyaWJ1dGVzLCB0YXJnZXQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LCAzMDAwKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW2VsKHdwLmVkaXRvci5JbnNwZWN0b3JDb250cm9scywgeyBrZXk6ICdzZnNpLXBsdXMtYmxvY2staW5zcGVjdG9yJyB9LCBlbCgnZGl2JywgeyBjbGFzc05hbWU6IFwic2ZzaV9wbHVzX2Jsb2NrX2luc3BlY3RvclwiIH0sIGVsKCdoMycsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb250eXBlX2hlYWRlcicgfSwgX18oJ1R5cGUnKSksIGVsKCdzZWxlY3QnLCB7IGNsYXNzTmFtZTogJ2Zvcm0tY29udHJvbCBzZnNpX3BsdXNfYmxvY2tfaWNvbnR5cGVfc2VsZWN0b3InLFxuXHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXMuaWNvblR5cGUsXG5cdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdFx0dmFyIHRhcmdldCA9IGpRdWVyeSgnLndwLWJsb2NrLmlzLXNlbGVjdGVkJykuZmluZCgnLnNmc2lfcGx1c19ibG9ja19jb250YWluZXInKTtcblx0XHRcdFx0c2V0QXR0cmlidXRlcyh7IGljb25UeXBlOiBldmVudC50YXJnZXQudmFsdWUgfSk7XG5cdFx0XHRcdGZldGNoQnV0dG9ucyhldmVudC50YXJnZXQudmFsdWUsIGF0dHJpYnV0ZXMsIHRhcmdldCk7XG5cdFx0XHR9XG5cdFx0fSwgZWwoJ29wdGlvbicsIHtcblx0XHRcdCd2YWx1ZSc6ICdyb3VuZCdcblx0XHR9LCAnUm91bmQgLyDCq21haW7CuyBpY29ucycpLCBlbCgnb3B0aW9uJywge1xuXHRcdFx0J3ZhbHVlJzogJ3JlY3RhbmdsZSdcblx0XHR9LCAnUmVjdGFuZ2xlIGljb25zJykpLCAocHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyb3VuZFwiIHx8IHVuZGVmaW5lZCA9PT0gcHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSkgJiYgZWwoJ3AnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9ja19pY29udHlwZV9kZXNjJyB9LCBfXygnIFRob3NlIGFyZSB0aGUgaWNvbnMgeW91IHNlbGVjdGVkIHVuZGVyIHF1ZXN0aW9uIDEgb24gdGhlIHBsdWdpbuKAmHMgJyksIGVsKCdhJywgeyAndGFyZ2V0JzogJ19ibGFuaycsICdocmVmJzogJy93cC1hZG1pbi9hZG1pbi5waHA/cGFnZT1zZnNpLXBsdXMtb3B0aW9ucyN1aS1pZC0xJyB9LCBfXygnIHNldHRpbmdzIHBhZ2UuJykpKSwgcHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyZWN0YW5nbGVcIiAmJiBlbCgncCcsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb250eXBlX2Rlc2MnIH0sIF9fKCdUaG9zZSBhcmUgdGhlIGljb25zIHlvdSBzZWxlY3RlZCAnKSwgZWwoJ2EnLCB7ICd0YXJnZXQnOiAnX2JsYW5rJywgJ2hyZWYnOiAnL3dwLWFkbWluL2FkbWluLnBocD9wYWdlPXNmc2ktcGx1cy1vcHRpb25zI3VpLWlkLTUnIH0sIF9fKCdoZXJlLicpKSksIGVsKCdoMycsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb250eXBlX2hlYWRlcicgfSwgX18oJ0FsaWdubWVudCcpKSwgZWwoJ3NlbGVjdCcsIHsgY2xhc3NOYW1lOiAnZm9ybS1jb250cm9sIHNmc2lfcGx1c19ibG9ja19pY29uYWxpZ25tZW50X3NlbGVjdG9yJyxcblx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLmljb25BbGlnbmVtdCxcblx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShldmVudCkge1xuXHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHsgaWNvbkFsaWduZW10OiBldmVudC50YXJnZXQudmFsdWUgfSk7XG5cdFx0XHRcdHZhciB0YXJnZXQgPSBqUXVlcnkoJy53cC1ibG9jay5pcy1zZWxlY3RlZCAuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lcicpO1xuXHRcdFx0XHRpZiAoJ2NlbnRlcicgPT09IGV2ZW50LnRhcmdldC52YWx1ZSkge1xuXHRcdFx0XHRcdGpRdWVyeSh0YXJnZXQpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmNzcyh7ICdkaXNwbGF5JzogJ2luaGVyaXQnIH0pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGpRdWVyeSh0YXJnZXQpLmNzcyh7ICd0ZXh0LWFsaWduJzogZXZlbnQudGFyZ2V0LnZhbHVlIH0pO1xuXHRcdFx0fVxuXHRcdH0sIGVsKCdvcHRpb24nLCB7XG5cdFx0XHQndmFsdWUnOiAnbGVmdCdcblx0XHR9LCAnTGVmdCcpLCBlbCgnb3B0aW9uJywge1xuXHRcdFx0J3ZhbHVlJzogJ3JpZ2h0J1xuXHRcdH0sICdSaWdodCcpLCBlbCgnb3B0aW9uJywge1xuXHRcdFx0J3ZhbHVlJzogJ2NlbnRlcidcblx0XHR9LCAnQ2VudGVyJykpLCAocHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyb3VuZFwiIHx8IHVuZGVmaW5lZCA9PT0gcHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSkgJiYgZWwoJ2RpdicsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb25wZXJyb3dfYm9keScgfSwgZWwoJ3NwYW4nLCB7IGNsYXNzTmFtZTogJ2xhYmVsJyB9LCBfXygnTWF4LiBpY29ucyBwZXIgcm93JykpLCBlbCgnaW5wdXQnLCB7XG5cdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHR2YWx1ZTogYXR0cmlidXRlcy5tYXhQZXJSb3csXG5cdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXZlbnQudGFyZ2V0LGV2ZW50LnRhcmdldC52YWx1ZSk7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyBtYXhQZXJSb3c6IChwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpIHx8IDApICsgJycgfSk7XG5cdFx0XHRcdGNoYW5nZUljb25XaWR0aChldmVudC50YXJnZXQudmFsdWUpO1xuXHRcdFx0fVxuXHRcdH0pKSwgZWwoJ2xhYmVsJywge1xuXHRcdFx0aHRtbEZvcjogJ3Nmc2ktcGx1cy10ZXh0LWJlZm9yZS1pY29ucycsXG5cdFx0XHRjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfdGV4dGJlZm9yZWljb25zJ1xuXHRcdH0sIGVsKCdpbnB1dCcsIHtcblx0XHRcdGNsYXNzTmFtZTogXCJmb3JtLWNvbnRyb2xcIixcblx0XHRcdGNoZWNrZWQ6IGF0dHJpYnV0ZXMuc2hvd1RleHRCZWZvcmVTaGFyZSA9PSAneWVzJyxcblx0XHRcdHR5cGU6ICdjaGVja2JveCcsXG5cdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdFx0c2V0QXR0cmlidXRlcyh7IHNob3dUZXh0QmVmb3JlU2hhcmU6IGV2ZW50LnRhcmdldC5jaGVja2VkID8gJ3llcycgOiAnbm8nIH0pO1xuXHRcdFx0fVxuXHRcdH0pLCAnVGV4dCBiZWZvcmUgaWNvbnM/JyksIGF0dHJpYnV0ZXMuc2hvd1RleHRCZWZvcmVTaGFyZSA9PSAneWVzJyAmJiBlbCgnaW5wdXQnLCB7XG5cdFx0XHRjbGFzc05hbWU6ICdmb3JtLWlucHV0IHNmc2lfcGx1c19ibG9ja190ZXh0YmVmb3JlaWNvbnNfaGVhZGVyJyxcblx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLnRleHRCZWZvcmVTaGFyZSxcblx0XHRcdHN0eWxlOiB7XG5cdFx0XHRcdCdwYWRkaW5nLXRvcCc6ICczcHgnXG5cdFx0XHR9LFxuXHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGV2ZW50KSB7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyB0ZXh0QmVmb3JlU2hhcmU6IGV2ZW50LnRhcmdldC52YWx1ZSB9KTtcblx0XHRcdH1cblx0XHR9KSwgYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlID09PSAneWVzJyAmJiBlbCgnZGl2JywgeyBjbGFzc05hbWU6ICdmb3JtLWlucHV0IHNmc2lfcGx1c19ibG9ja190ZXh0YmVmb3JlaWNvbnNfYm9keScgfSwgX18oJ0RlZmluZSB0aGUgZm9udCBzaXplICYgdHlwZSBpbiBvdXIgJyksIGVsKCdhJywgeyAnaHJlZic6ICdodHRwczovL3d3dy51bHRpbWF0ZWx5c29jaWFsLmNvbS91c20tcHJlbWl1bS8nLCAndGFyZ2V0JzogJ19ibGFuaycgfSwgX18oJ1ByZW1pdW0gcGx1Z2luJykpKSwgZWwoJ2gzJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfaGVhZGluZycgfSwgX18oJ05vdGVzJykpLCBlbCgnaHInKSwgZWwoJ3VsJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfbGlzdCcgfSwgZWwoJ2xpJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfaXRlbScgfSwgX18oJ0ZvciBhbGwgb3RoZXIgc2VsZWN0aW9ucyAoIFdoYXQgdGhlIGljb25zIHNob3VsZCBkbyBldGMuKSBwbGVhc2UgZ28gdG8gJyksIGVsKCdhJywgeyAnaHJlZic6ICh3aW5kb3cuc2ZzaV9wbHVzX2xpbmtzID8gd2luZG93LnNmc2lfcGx1c19saW5rcy5hZG1pbl91cmwgOiAnL3dwLWFkbWluL2FkbWluLnBocCcpICsgJz9wYWdlPXNmc2ktcGx1cy1vcHRpb25zJywgJ3RhcmdldCc6ICdfYmxhbmsnIH0sIF9fKCdzZXR0aW5ncyBwYWdlJykpKSwgZWwoJ2xpJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfaXRlbScgfSwgX18oJ1RvIHNlZSB0aGUgaWNvbnMgaW4g4oCaZnVsbCBhY3Rpb27igJggKHdpdGggYWxsIGZlYXR1cmVzKSBwbGVhc2Ugb3BlbiB0aGUgcGFnZSBpbiBsaXZlIG9yIHByZXZpZXcgbW9kZS4nKSksIGVsKCdsaScsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX25vdGVzX2l0ZW0nIH0sIF9fKCdJZiBxdWVzdGlvbnMgcmVtYWluLCBwbGVhc2UgYXNrIHRoZW0gaW4gdGhlICcpLCBlbCgnYScsIHtcblx0XHRcdCdocmVmJzogJ2h0dHBzOi8vZ29vLmdsL2t0QWVEdicsXG5cdFx0XHQndGFyZ2V0JzogJ19ibGFuaydcblx0XHR9LCBfXygnc3VwcG9ydCBmb3J1bScpKSwgX18oJyDigJMgd2XigJhsbCB0cnkgdG8gcmVzcG9uZCBxdWlja2x5LicpLCBlbCgnaW1nJywgeyBzcmM6ICh3aW5kb3cuc2ZzaV9wbHVzX2xpbmtzID8gd2luZG93LnNmc2lfcGx1c19saW5rcy5wbHVnaW5fZGlyX3VybCA6ICcvd3AtY29udGVudC9wbHVnaW5zL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzJykgKyAnL2ltYWdlcy9JY19pbnNlcnRfZW1vdGljb25fNDhweC5zdmcnLCBzdHlsZTogeyB3aWR0aDogJzE4cHgnLCAndmVydGljYWwtYWxpZ24nOiAndGV4dC1ib3R0b20nIH0gfSkpKSwgZWwoJ2gzJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfYWRfaGVhZGluZycgfSwgJ1dhbnQgKG11Y2gpIG1vcmU/JyksIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9ja19hZF9ib2R5JyB9LCBlbCgnZGl2Jywge30sIF9fKCdDaGVjayBvdXQgb3VyICcpLCBlbCgnYScsIHsgJ2hyZWYnOiAnaHR0cHM6Ly93d3cudWx0aW1hdGVseXNvY2lhbC5jb20vdXNtLXByZW1pdW0vP3V0bV9zb3VyY2U9cGx1c19ndXRlbmJlcmdfcGFnZSZ1dG1fY2FtcGFpZ249c2lkZV93aWRnZXQmdXRtX21lZGl1bT1saW5rJywgJ3RhcmdldCc6ICdfYmxhbmsnIH0sIF9fKCdwcmVtaXVtIHBsdWdpbuKAmHMgZmVhdHVyZXMnKSksIF9fKCcuIFdhdGNoIGEgdGVhc2VyOiAnKSkpLCBlbCgnZGl2JywgeyBzdHlsZTogeyAndGV4dC1hbGlnbic6ICdjZW50ZXInIH0gfSwgZWwoJ2lmcmFtZScsIHsgc3JjOiAnaHR0cHM6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzI2OTE0MDc5OCcsIHdpZHRoOiAnNjQwJywgZnJhbWVib3JkZXI6IDAsICd3ZWJraXRhbGxvd2Z1bGxzY3JlZW4nOiBcIlwiLCAnbW96YWxsb3dmdWxsc2NyZWVuJzogXCJcIiwgJ2FsbG93ZnVsbHNjcmVlbic6IFwiXCIgfSksIGVsKCdhJywgeyBocmVmOiBcImh0dHBzOi8vd3d3LnVsdGltYXRlbHlzb2NpYWwuY29tL3VzbS1wcmVtaXVtLz91dG1fc291cmNlPXBsdXNfZ3V0ZW5iZXJnX3BhZ2UmdXRtX2NhbXBhaWduPXNpZGVfd2lkZ2V0JnV0bV9tZWRpdW09bGlua1wiLCAndGFyZ2V0JzogJ19ibGFuaycsIHN0eWxlOiB7ICdkaXNwbGF5JzogJ2lubGluZS1ibG9jaycsIHBhZGRpbmc6ICc0cHggMTBweCcsICd0ZXh0LWRlY29yYXRpb24nOiAnbm9uZScsICdiYWNrZ3JvdW5kJzogJyMwMEExNUEnLCAnY29sb3InOiAnI2ZmZicsICdmb250LXNpemUnOiAnMTFweCcsICdmb250LXdlaWdodCc6ICc5MDAnIH0gfSwgX18oJ0NoZWNrIG91dCB0aGUgUHJlbWl1bSBQbHVnaW4gPj4nKSkpLCBlbCgnYnInKSwgZWwoJ3NwYW4nLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9ja19hZF9mb290ZXInIH0sIF9fKCcuLm9ubHkgMjQuOTggVVNEIChpbmNsdWRlcyBzdXBwb3J0IGFuZCB1cGRhdGVzIGZvciAxIHllYXIsIGFuZCBhZnRlciB0aGF0IGl0IHdpbGwgbm90IGJlIGRlYWN0aXZhdGVkLCBzbyB5b3UgY2FuIGp1c3Qga2VlcCB1c2luZyBpdCEpJykpKSksIGVsKCdkaXYnLCB7IGtleTogJ3Nmc2ktcGx1cy1ibG9jay1jb250ZW50JywgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lciBzZnNpX3BsdXNfYmxvY2tfd3JhcHBlcicgfSwgJ1xcdCcsIHNob3dUZXh0QmVmb3JlU2hhcmUgPT0gXCJ5ZXNcIiAmJiBlbCgnc3BhbicsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX3RleHRfYmVmb3JlX2ljb24nLCAnZGF0YS1hbGlnbic6IGF0dHJpYnV0ZXMuaWNvbkFsaWduZW10IH0sIHRleHRCZWZvcmVTaGFyZSksIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9jaycsICdkYXRhLWNvdW50JzogYXR0cmlidXRlcy5tYXhQZXJSb3csICdkYXRhLWFsaWduJzogYXR0cmlidXRlcy5pY29uQWxpZ25lbXQsICdkYXRhLWljb24tdHlwZSc6IGF0dHJpYnV0ZXMuaWNvblR5cGUgfSwgJ2xvYWRpbmcuLi4uJykpXTtcblx0fSxcblxuXHQvKipcbiAgKiBUaGUgc2F2ZSBmdW5jdGlvbiBkZWZpbmVzIHRoZSB3YXkgaW4gd2hpY2ggdGhlIGRpZmZlcmVudCBhdHRyaWJ1dGVzIHNob3VsZCBiZSBjb21iaW5lZFxuICAqIGludG8gdGhlIGZpbmFsIG1hcmt1cCwgd2hpY2ggaXMgdGhlbiBzZXJpYWxpemVkIGJ5IEd1dGVuYmVyZyBpbnRvIHBvc3RfY29udGVudC5cbiAgKlxuICAqIFRoZSBcInNhdmVcIiBwcm9wZXJ0eSBtdXN0IGJlIHNwZWNpZmllZCBhbmQgbXVzdCBiZSBhIHZhbGlkIGZ1bmN0aW9uLlxuICAqXG4gICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvYmxvY2stZWRpdC1zYXZlL1xuICAqL1xuXHRkZXByZWNhdGVkOiBbe1xuXHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdFwianNjb2RlXCI6IHtcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiXFxuXFx0XFx0alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7XFxuXFx0XFx0XFx0alF1ZXJ5LmFqYXgoe1xcblxcdFxcdFxcdFxcdCd1cmwnOiAnL3dwLWpzb24vdWx0aW1hdGUtc29jaWFsLW1lZGlhLXBsdXMvdjEvaWNvbnMvP3NoYXJlX3VybD0nK3dpbmRvdy5sb2NhdGlvbi5ocmVmLFxcblxcdFxcdFxcdFxcdCdtZXRob2QnOiAnR0VUJ1xcblxcdFxcdFxcdH0pLmRvbmUoIGZ1bmN0aW9uKHJlc3BvbnNlKXtcXG5cXHRcXHRcXHRcXHQkKCcuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lciAuc2ZzaV9wbHVzX2Jsb2NrJykuaHRtbChyZXNwb25zZSk7aWYod2luZG93LmdhcGkpe3dpbmRvdy5nYXBpLnBsdXNvbmUuZ28oKTt3aW5kb3cuZ2FwaS5wbHVzLmdvKCk7d2luZG93LmdhcGkueXRzdWJzY3JpYmUuZ28oKTt9O2lmKHdpbmRvdy50d3R0cil7d2luZG93LnR3dHRyLndpZGdldHMubG9hZCgpO307aWYod2luZG93LklOKXt3aW5kb3cuSU4ucGFyc2UoKTt9O2lmKHdpbmRvdy5hZGR0aGlzKXtpZih3aW5kb3cuYWRkdGhpcy50b29sYm94KXt3aW5kb3cuYWRkdGhpcy50b29sYm94KCcuYWRkdGhpc19idXR0b24uc2ZpY24nKTt9ZWxzZXt3aW5kb3cuYWRkdGhpcy5pbml0KCk7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fX07aWYod2luZG93LlBpblV0aWxzKXt3aW5kb3cuUGluVXRpbHMuYnVpbGQoKTt9O2lmKGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykubGVuZ3RoID4gMCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHZhciBzID0gcGFyc2VJbnQoalF1ZXJ5KCcuc2ZzaV9wbHVzX3dEaXYnKS5oZWlnaHQoKSkgKyAxNSArICdweCc7alF1ZXJ5KCcuc2ZzaV9wbHVzX2hvbGRlcnMnKS5lYWNoKGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5jc3MoJ2hlaWdodCcsIHMpO30pO2pRdWVyeSgnLnNmc2lfcGx1c193aWRnZXQnKS5jc3MoJ21pbi1oZWlnaHQnLCAnYXV0bycpO30sIDIwMCk7fTtpZih3aW5kb3cuRkIpe2lmKHdpbmRvdy5GQi5YRkJNTCl7d2luZG93LkZCLlhGQk1MLnBhcnNlKCk7fX07XFxuXFx0XFx0XFx0fSk7XFxuXFx0XFx0fSk7XFxuXFx0XCIsXG5cdFx0XHRcdHR5cGU6ICdzdHJpbmcnXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdGlzRWxpZ2libGU6IGZ1bmN0aW9uIGlzRWxpZ2libGUoYXR0cmlidXRlcykge1xuXHRcdFx0Y29uc29sZS5sb2coYXR0cmlidXRlcyk7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdC8vIHJldHVybiAoYXR0cmlidXRlcy5qc2NvZGU9PT1cIlxcblxcdFxcdGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkge1xcblxcdFxcdFxcdGpRdWVyeS5hamF4KHtcXG5cXHRcXHRcXHRcXHQndXJsJzogJy93cC1qc29uL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzL3YxL2ljb25zLz9zaGFyZV91cmw9Jyt3aW5kb3cubG9jYXRpb24uaHJlZixcXG5cXHRcXHRcXHRcXHQnbWV0aG9kJzogJ0dFVCdcXG5cXHRcXHRcXHR9KS5kb25lKCBmdW5jdGlvbihyZXNwb25zZSl7XFxuXFx0XFx0XFx0XFx0JCgnLnNmc2lfcGx1c19ibG9ja19jb250YWluZXIgLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UpO2lmKHdpbmRvdy5nYXBpKXt3aW5kb3cuZ2FwaS5wbHVzb25lLmdvKCk7d2luZG93LmdhcGkucGx1cy5nbygpO3dpbmRvdy5nYXBpLnl0c3Vic2NyaWJlLmdvKCk7fTtpZih3aW5kb3cudHd0dHIpe3dpbmRvdy50d3R0ci53aWRnZXRzLmxvYWQoKTt9O2lmKHdpbmRvdy5JTil7d2luZG93LklOLnBhcnNlKCk7fTtpZih3aW5kb3cuYWRkdGhpcyl7aWYod2luZG93LmFkZHRoaXMudG9vbGJveCl7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fWVsc2V7d2luZG93LmFkZHRoaXMuaW5pdCgpO3dpbmRvdy5hZGR0aGlzLnRvb2xib3goJy5hZGR0aGlzX2J1dHRvbi5zZmljbicpO319O2lmKHdpbmRvdy5QaW5VdGlscyl7d2luZG93LlBpblV0aWxzLmJ1aWxkKCk7fTtpZihqUXVlcnkoJy5zZnNpX3BsdXNfd0RpdicpLmxlbmd0aCA+IDApIHtzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB2YXIgcyA9IHBhcnNlSW50KGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykuaGVpZ2h0KCkpICsgMTUgKyAncHgnO2pRdWVyeSgnLnNmc2lfcGx1c19ob2xkZXJzJykuZWFjaChmdW5jdGlvbigpIHtqUXVlcnkodGhpcykuY3NzKCdoZWlnaHQnLCBzKTt9KTtqUXVlcnkoJy5zZnNpX3BsdXNfd2lkZ2V0JykuY3NzKCdtaW4taGVpZ2h0JywgJ2F1dG8nKTt9LCAyMDApO307aWYod2luZG93LkZCKXtpZih3aW5kb3cuRkIuWEZCTUwpe3dpbmRvdy5GQi5YRkJNTC5wYXJzZSgpO319O1xcblxcdFxcdFxcdH0pO1xcblxcdFxcdH0pO1xcblxcdFwiKTtcblx0XHR9LFxuXHRcdG1pZ3JhdGU6IGZ1bmN0aW9uIG1pZ3JhdGUoYXR0cmlidXRlcykge1xuXHRcdFx0Y29uc29sZS5sb2coJ21pZ3JhdGUnLCBhdHRyaWJ1dGVzKTtcblx0XHRcdHJldHVybiBbe1xuXHRcdFx0XHRcImpzY29kZVwiOiBcIlxcblxcdFxcdGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkge1xcblxcdFxcdFxcdGpRdWVyeS5hamF4KHtcXG5cXHRcXHRcXHRcXHQndXJsJzogJy93cC1qc29uL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzL3YxL2ljb25zLz9zaGFyZV91cmw9Jyt3aW5kb3cubG9jYXRpb24uaHJlZixcXG5cXHRcXHRcXHRcXHQnbWV0aG9kJzogJ0dFVCdcXG5cXHRcXHRcXHR9KS5kb25lKCBmdW5jdGlvbihyZXNwb25zZSl7XFxuXFx0XFx0XFx0XFx0JCgnLnNmc2lfcGx1c19ibG9ja193cmFwcGVyIC5zZnNpX3BsdXNfYmxvY2snKS5odG1sKHJlc3BvbnNlKTtzZnNpX3BsdXNfdXBkYXRlX2ljb25jb3VudCgpO2lmKHdpbmRvdy5nYXBpKXt3aW5kb3cuZ2FwaS5wbHVzb25lLmdvKCk7d2luZG93LmdhcGkucGx1cy5nbygpO3dpbmRvdy5nYXBpLnl0c3Vic2NyaWJlLmdvKCk7fTtpZih3aW5kb3cudHd0dHIpe3dpbmRvdy50d3R0ci53aWRnZXRzLmxvYWQoKTt9O2lmKHdpbmRvdy5JTil7d2luZG93LklOLnBhcnNlKCk7fTtpZih3aW5kb3cuYWRkdGhpcyl7aWYod2luZG93LmFkZHRoaXMudG9vbGJveCl7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fWVsc2V7d2luZG93LmFkZHRoaXMuaW5pdCgpO3dpbmRvdy5hZGR0aGlzLnRvb2xib3goJy5hZGR0aGlzX2J1dHRvbi5zZmljbicpO319O2lmKHdpbmRvdy5QaW5VdGlscyl7d2luZG93LlBpblV0aWxzLmJ1aWxkKCk7fTtpZihqUXVlcnkoJy5zZnNpX3BsdXNfd0RpdicpLmxlbmd0aCA+IDApIHtzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB2YXIgcyA9IHBhcnNlSW50KGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykuaGVpZ2h0KCkpICsgMTUgKyAncHgnO2pRdWVyeSgnLnNmc2lfcGx1c19ob2xkZXJzJykuZWFjaChmdW5jdGlvbigpIHtqUXVlcnkodGhpcykuY3NzKCdoZWlnaHQnLCBzKTt9KTtqUXVlcnkoJy5zZnNpX3BsdXNfd2lkZ2V0JykuY3NzKCdtaW4taGVpZ2h0JywgJ2F1dG8nKTt9LCAyMDApO307aWYod2luZG93LkZCKXtpZih3aW5kb3cuRkIuWEZCTUwpe3dpbmRvdy5GQi5YRkJNTC5wYXJzZSgpO319O1xcblxcdFxcdFxcdH0pO1xcblxcdFxcdH0pO1xcblxcdFwiLFxuXHRcdFx0XHRzaG93VGV4dEJlZm9yZVNoYXJlOiAneWVzJyxcblx0XHRcdFx0dGV4dEJlZm9yZVNoYXJlOiAnUGxlYXNlIFNoYXJlOicsXG5cdFx0XHRcdGljb25UeXBlOiAncm91bmQnLFxuXHRcdFx0XHRpY29uQWxpZ25lbXQ6ICdsZWZ0Jyxcblx0XHRcdFx0bWF4UGVyUm93OiAnNSdcblx0XHRcdH1dO1xuXHRcdH0sXG5cdFx0c2F2ZTogZnVuY3Rpb24gc2F2ZShwcm9wcykge1xuXHRcdFx0Y29uc29sZS5sb2cocHJvcHMpO1xuXHRcdFx0dmFyIGF0dHJpYnV0ZXMgPSBwcm9wcy5hdHRyaWJ1dGVzO1xuXHRcdFx0cmV0dXJuIHJlbmRlckJ1dHRvbnMoYXR0cmlidXRlcyk7XG5cdFx0fVxuXHR9XSxcblxuXHQvLyBkZXByZWNhdGVkOiBbXG5cdC8vIFx0e1xuXHQvLyBcdFx0YXR0cmlidXRlczoge1xuXHQvLyBcdFx0XHRcImpzY29kZVwiOntcblx0Ly8gXHRcdFx0XHRcdFx0XCJkZWZhdWx0XCI6XCJcXG5cXHRcXHRqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHtcXG5cXHRcXHRcXHRqUXVlcnkuYWpheCh7XFxuXFx0XFx0XFx0XFx0J3VybCc6ICcvd3AtanNvbi91bHRpbWF0ZS1zb2NpYWwtbWVkaWEtcGx1cy92MS9pY29ucy8/c2hhcmVfdXJsPScrd2luZG93LmxvY2F0aW9uLmhyZWYsXFxuXFx0XFx0XFx0XFx0J21ldGhvZCc6ICdHRVQnXFxuXFx0XFx0XFx0fSkuZG9uZSggZnVuY3Rpb24ocmVzcG9uc2Upe1xcblxcdFxcdFxcdFxcdCQoJy5zZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyIC5zZnNpX3BsdXNfYmxvY2snKS5odG1sKHJlc3BvbnNlKTtpZih3aW5kb3cuZ2FwaSl7d2luZG93LmdhcGkucGx1c29uZS5nbygpO3dpbmRvdy5nYXBpLnBsdXMuZ28oKTt3aW5kb3cuZ2FwaS55dHN1YnNjcmliZS5nbygpO307aWYod2luZG93LnR3dHRyKXt3aW5kb3cudHd0dHIud2lkZ2V0cy5sb2FkKCk7fTtpZih3aW5kb3cuSU4pe3dpbmRvdy5JTi5wYXJzZSgpO307aWYod2luZG93LmFkZHRoaXMpe2lmKHdpbmRvdy5hZGR0aGlzLnRvb2xib3gpe3dpbmRvdy5hZGR0aGlzLnRvb2xib3goJy5hZGR0aGlzX2J1dHRvbi5zZmljbicpO31lbHNle3dpbmRvdy5hZGR0aGlzLmluaXQoKTt3aW5kb3cuYWRkdGhpcy50b29sYm94KCcuYWRkdGhpc19idXR0b24uc2ZpY24nKTt9fTtpZih3aW5kb3cuUGluVXRpbHMpe3dpbmRvdy5QaW5VdGlscy5idWlsZCgpO307aWYoalF1ZXJ5KCcuc2ZzaV9wbHVzX3dEaXYnKS5sZW5ndGggPiAwKSB7c2V0VGltZW91dChmdW5jdGlvbigpIHsgdmFyIHMgPSBwYXJzZUludChqUXVlcnkoJy5zZnNpX3BsdXNfd0RpdicpLmhlaWdodCgpKSArIDE1ICsgJ3B4JztqUXVlcnkoJy5zZnNpX3BsdXNfaG9sZGVycycpLmVhY2goZnVuY3Rpb24oKSB7alF1ZXJ5KHRoaXMpLmNzcygnaGVpZ2h0Jywgcyk7fSk7alF1ZXJ5KCcuc2ZzaV9wbHVzX3dpZGdldCcpLmNzcygnbWluLWhlaWdodCcsICdhdXRvJyk7fSwgMjAwKTt9O2lmKHdpbmRvdy5GQil7aWYod2luZG93LkZCLlhGQk1MKXt3aW5kb3cuRkIuWEZCTUwucGFyc2UoKTt9fTtcXG5cXHRcXHRcXHR9KTtcXG5cXHRcXHR9KTtcXG5cXHRcIixcblx0Ly8gXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZydcblx0Ly8gXHRcdFx0fVxuXHQvLyBcdFx0fSxcblx0Ly8gXHRcdHNhdmU6IGZ1bmN0aW9uKCBwcm9wcyApIHtcblx0Ly8gXHRcdFx0dmFyIGF0dHJpYnV0ZXMgPSBwcm9wcy5hdHRyaWJ1dGVzO1xuXHQvLyBcdFx0XHRyZXR1cm4gcmVuZGVyQnV0dG9ucyhhdHRyaWJ1dGVzKTtcblx0Ly8gXHRcdH1cblx0Ly8gXHRcdG1pZ3JhdGU6IGZ1bmN0aW9uKCl7XG5cdC8vIFx0XHRcdHJldHVybiBcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG5cdC8vIF0sXG5cblxuXHRzYXZlOiBmdW5jdGlvbiBzYXZlKHByb3BzKSB7XG5cdFx0Ly8gY29uc29sZS5sb2cocHJvcHMpO1xuXHRcdHZhciBhdHRyaWJ1dGVzID0gcHJvcHMuYXR0cmlidXRlcztcblx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcblx0XHRcdGNoYW5nZUljb25XaWR0aChhdHRyaWJ1dGVzLm1heFBlclJvdyk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnY2hhbmdlZEljb25XaWR0aCcpO1xuXHRcdH0sIDMwMCk7XG5cdFx0cmV0dXJuIHJlbmRlckJ1dHRvbnNfbmV3KGF0dHJpYnV0ZXMpO1xuXHR9XG5cbn0pO1xuXG5mdW5jdGlvbiByZW5kZXJCdXR0b25zKGF0dHJpYnV0ZXMpIHtcblx0dmFyIGpzY29kZSA9IGF0dHJpYnV0ZXMuanNjb2RlO1xuXHQvLyBpZihhdHRyaWJ1dGVzLmljb25UeXBlPT09XCJyZWN0YW5nbGVcIil7XG5cdC8vIFx0anNjb2RlPWpzY29kZS5yZXBsYWNlKC93aW5kb3cubG9jYXRpb24uaHJlZi9naSwnd2luZG93LmxvY2F0aW9uLmhyZWYrXCImcmFjdGFuZ2xlX2ljb249MVwiJylcblx0Ly8gfVxuXHRyZXR1cm4gZWwoJ2RpdicsIHsgJ2NsYXNzTmFtZSc6ICdzZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyJyB9LCBcIlxcblx0XCIsIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9jaycgfSwgXCJcIiksIFwiXFxuXHRcIiwgZWwoJ3NjcmlwdCcsIHt9LCBqc2NvZGUpLCBcIlxcblwiKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyQnV0dG9uc19uZXcoYXR0cmlidXRlcykge1xuXHQvLyBjb25zb2xlLmxvZyhhdHRyaWJ1dGVzKTtcblx0dmFyIGpzY29kZSA9IGF0dHJpYnV0ZXMuanNjb2RlO1xuXHRpZiAoYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyZWN0YW5nbGVcIikge1xuXHRcdGpzY29kZSA9IGpzY29kZS5yZXBsYWNlKC93aW5kb3cubG9jYXRpb24uaHJlZi9naSwgJ3dpbmRvdy5sb2NhdGlvbi5ocmVmK1wiJnJhY3RhbmdsZV9pY29uPTFcIicpO1xuXHR9XG5cdHZhciBzaG93VGV4dEJlZm9yZVNoYXJlID0gXCJ5ZXNcIjtcblx0dmFyIHRleHRCZWZvcmVTaGFyZSA9IFwiUGxlYXNlIFNoYXJlOlwiO1xuXHRpZiAoYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlIHx8ICcnICE9PSBhdHRyaWJ1dGVzLnNob3dUZXh0QmVmb3JlU2hhcmUpIHtcblx0XHRzaG93VGV4dEJlZm9yZVNoYXJlID0gYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlO1xuXHR9IGVsc2Uge1xuXHRcdG9uQXR0ckNoYW5nZSgnc2hvd1RleHRCZWZvcmVTaGFyZScsICd5ZXMnKTtcblx0fVxuXHRpZiAoYXR0cmlidXRlcy50ZXh0QmVmb3JlU2hhcmUgfHwgJycgIT09IGF0dHJpYnV0ZXMudGV4dEJlZm9yZVNoYXJlKSB7XG5cdFx0dGV4dEJlZm9yZVNoYXJlID0gYXR0cmlidXRlcy50ZXh0QmVmb3JlU2hhcmU7XG5cdH0gZWxzZSB7XG5cdFx0b25BdHRyQ2hhbmdlKCd0ZXh0QmVmb3JlU2hhcmUnLCAnUGxlYXNlIFNoYXJlOicpO1xuXHR9XG5cdHJldHVybiBlbCgnZGl2JywgeyAnY2xhc3NOYW1lJzogJ3Nmc2lfcGx1c19ibG9ja193cmFwcGVyJyB9LCBcIlxcblx0XCIsIHNob3dUZXh0QmVmb3JlU2hhcmUgPT0gXCJ5ZXNcIiAmJiBlbCgnc3BhbicsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX3RleHRfYmVmb3JlX2ljb24nIH0sIHRleHRCZWZvcmVTaGFyZSksIFwiXFxuXCIsIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9jaycsICdkYXRhLWNvdW50JzogYXR0cmlidXRlcy5tYXhQZXJSb3csICdkYXRhLWFsaWduJzogYXR0cmlidXRlcy5pY29uQWxpZ25lbXQsICdkYXRhLWljb24tdHlwZSc6IGF0dHJpYnV0ZXMuaWNvblR5cGUgfSwgXCJcIiksIFwiXFxuXFx0XCJcblx0Ly8gZWwoJ3NjcmlwdCcse30sanNjb2RlXG5cdC8vICksXCJcXG5cIlxuXHQpO1xufVxuZnVuY3Rpb24gY2hhbmdlSWNvbldpZHRoKCkge1xuXHR2YXIgcGVyX3JvdyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogbnVsbDtcblxuXHQvLyBjb25zb2xlLmxvZygnaWNvbmNoYW5nZWNhbGxlZCcpO1xuXHQvLyBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe1xuXHQvLyBjb25zb2xlLmxvZygnaWNvbmNoYW5nZWNhbGxlZCBhbmQgZG9jIHJlYWR5Jyk7XG5cdHZhciBpY29uV2lkdGggPSBwYXJzZUludChqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfd3JhcHBlciAuc2ZzaV9wbHVzX3dEaXYgZGl2JykuY3NzKCd3aWR0aCcpKSB8fCA0MDtcblx0Ly8gY29uc29sZS5sb2coJ2ljb253aWR0aCcsaWNvbldpZHRoKTtcblxuXHR2YXIgaWNvbk1hcmdpbiA9IHBhcnNlSW50KGpRdWVyeSgnLnNmc2lfcGx1c19ibG9ja193cmFwcGVyIC5zZnNpX3BsdXNfd0RpdiBkaXYnKS5jc3MoJ21hcmdpbi1sZWZ0JykpIHx8IDA7XG5cdC8vIGNvbnNvbGUubG9nKCdpY29uTWFyZ2luJyxpY29uTWFyZ2luKTtcblxuXHR2YXIgd3JhcHBlcldpZHRoID0gKGljb25XaWR0aCArIGljb25NYXJnaW4pICogcGVyX3Jvdztcblx0Ly8gY29uc29sZS5sb2coJ2luIGljb24gY2hhbmdlICcsaWNvbldpZHRoLGljb25NYXJnaW4sd3JhcHBlcldpZHRoKTtcblx0dmFyIGljb25IZWlnaHQgPSBqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfd3JhcHBlciAuc2ZzaV9wbHVzX3dEaXYgaW1nJykuZmlyc3QoKS5oZWlnaHQoKTtcblx0dmFyIHRleHRIZWlnaHQgPSBqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmhlaWdodCgpO1xuXHQvLyBjb25zb2xlLmxvZygnd3JhcHBlcldpZHRoJyx3cmFwcGVyV2lkdGgpO1xuXHRqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmNzcyh7ICdtYXJnaW4tdG9wJzogKHRleHRIZWlnaHQgLSBpY29uSGVpZ2h0KSAvIDIgLSAyICsgJ3B4JyB9KTtcblx0aWYgKGpRdWVyeSgnLnNmc2lfcGx1c19ibG9ja193cmFwcGVyIC5zZnNpcGx1c19ub3JtX3JvdycpLmxlbmd0aCA8IDEpIHtcblx0XHQvLyBjb25zb2xlLmxvZygnc2V0VGltZW91dCcsalF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lwbHVzX25vcm1fcm93JykpO1xuXHRcdHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuXHRcdFx0alF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lwbHVzX25vcm1fcm93JykuY3NzKHsgJ3dpZHRoJzogd3JhcHBlcldpZHRoICsgJ3B4JyB9KTtcblx0XHR9LCAxMDAwKTtcblx0fSBlbHNlIHt9XG5cdC8vIGNvbnNvbGUubG9nKCdkaWRub3Qgc2V0VGltZW91dCcsalF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lwbHVzX25vcm1fcm93JykpO1xuXG5cdC8vIHZhciB0YXJnZXQ9alF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lcicpO1xuXHQvLyBjb25zb2xlLmxvZyh0YXJnZXQsaWNvbl9hbGlnbm1lbnQpO1xuXHRqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfd3JhcHBlciAuc2ZzaXBsdXNfbm9ybV9yb3cnKS5jc3MoeyAnd2lkdGgnOiB3cmFwcGVyV2lkdGggKyAncHgnIH0pO1xuXHRzZXRJY29uQmxvY2tBbGlnbm1lbnQoKTtcblxuXHQvLyB9KVxufVxuXG5mdW5jdGlvbiBzZXRJY29uQmxvY2tBbGlnbm1lbnQoKSB7XG5cdHZhciB0YXJnZXQgPSBqUXVlcnkoJy53cC1ibG9jay5pcy1zZWxlY3RlZCAuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lcicpO1xuXHR2YXIgaWNvbl9hbGlnbm1lbnQgPSB0YXJnZXQuZmluZCgnLnNmc2lfcGx1c19ibG9jaycpLmF0dHIoJ2RhdGEtYWxpZ24nKTtcblx0aWYgKCdjZW50ZXInID09PSBpY29uX2FsaWdubWVudCkge1xuXHRcdGpRdWVyeSh0YXJnZXQpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmNzcyh7ICdkaXNwbGF5JzogJ2luaGVyaXQnIH0pO1xuXHR9XG5cdGpRdWVyeSh0YXJnZXQpLmNzcyh7ICd0ZXh0LWFsaWduJzogaWNvbl9hbGlnbm1lbnQgfSk7XG59XG5cbmZ1bmN0aW9uIGZldGNoQnV0dG9ucygpIHtcblx0dmFyIGljb25UeXBlID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBudWxsO1xuXHR2YXIgYXR0cmlidXRlcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogbnVsbDtcblx0dmFyIHRhcmdldCA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuXHRpZiAobnVsbCA9PT0gaWNvblR5cGUgfHwgdW5kZWZpbmVkID09PSBpY29uVHlwZSkge1xuXHRcdGljb25UeXBlID0gXCJyb3VuZFwiO1xuXHR9XG5cdC8vIGNvbnNvbGUubG9nKGljb25UeXBlKTtcblx0Ly8gcmV0dXJuIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7XG5cdC8vIGNvbnNvbGUubG9nKGljb25UeXBlKTtcblx0aWYgKG51bGwgPT0gdGFyZ2V0KSB7XG5cdFx0dGFyZ2V0ID0gJChkb2N1bWVudCk7XG5cdH1cblx0Ly8gY29uc29sZS5sb2codGFyZ2V0KTtcblx0cmV0dXJuIGpRdWVyeS5hamF4KHtcblx0XHQndXJsJzogJy93cC1qc29uL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzL3YxL2ljb25zLz9hZG1pbl9yZWZlcmVhbD10cnVlJnJhY3RhbmdsZV9pY29uPScgKyAoJ3JvdW5kJyA9PSBpY29uVHlwZSA/IDAgOiAxKSxcblx0XHQnbWV0aG9kJzogJ0dFVCdcblx0XHQvLyAnZGF0YSc6eydpc19hZG1pbic6dHJ1ZSwnc2hhcmVfdXJsJzonLyd9XG5cdH0pLmRvbmUoZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cdFx0Ly8gY29uc29sZS5sb2cocmVzcG9uc2UsJCgnLnNmc2lfcGx1c19ibG9jaycpKTtcblxuXHRcdGlmIChqUXVlcnkodGFyZ2V0KS5maW5kKCcuc2ZzaV9wbHVzX2Jsb2NrJykubGVuZ3RoID4gMCkge1xuXHRcdFx0alF1ZXJ5KHRhcmdldCkuZmluZCgnLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UpO1xuXHRcdFx0Y2hhbmdlSWNvbldpZHRoKGF0dHJpYnV0ZXMubWF4UGVyUm93KTtcblx0XHRcdGlmIChpY29uVHlwZSAhPT0gJ3JvdW5kJykge1xuXHRcdFx0XHRyZW5kZXJBdXRvU29jaWFsSWNvbnMoKTtcblx0XHRcdH1cblx0XHRcdC8vIGNvbnNvbGUubG9nKCd1cGRhdGVkJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2snKS5odG1sKHJlc3BvbnNlKTtcblx0XHRcdFx0Y2hhbmdlSWNvbldpZHRoKGF0dHJpYnV0ZXMubWF4UGVyUm93KTtcblxuXHRcdFx0XHRjb25zb2xlLmxvZygnbm93IHVwZGF0ZWQnKTtcblx0XHRcdH0sIDUwMDApO1xuXHRcdFx0Y29uc29sZS5sb2coJ3RpbWVzZXQnKTtcblx0XHR9XG5cdH0pLmZhaWwoZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cdFx0Ly8gY29uc29sZS5sb2cocmVzcG9uc2UsJCgnLnNmc2lfcGx1c19ibG9jaycpKTtcblx0XHRqUXVlcnkodGFyZ2V0KS5maW5kKCcuc2ZzaV9wbHVzX2Jsb2NrJykuaHRtbChyZXNwb25zZS5yZXNwb25zZVRleHQucmVwbGFjZSgnL1xcXFwvZycsICcnKSk7XG5cdH0pO1xuXHQvLyB9KTtcbn1cbmZ1bmN0aW9uIHJlbmRlckF1dG9Tb2NpYWxJY29ucygpIHtcblx0aWYgKHdpbmRvdy5nYXBpKSB7XG5cdFx0d2luZG93LmdhcGkucGx1c29uZS5nbygpO3dpbmRvdy5nYXBpLnBsdXMuZ28oKTt3aW5kb3cuZ2FwaS55dHN1YnNjcmliZS5nbygpO1xuXHR9O1xuXHRpZiAod2luZG93LnR3dHRyKSB7XG5cdFx0d2luZG93LnR3dHRyLndpZGdldHMubG9hZCgpO1xuXHR9O1xuXHRpZiAod2luZG93LklOICYmIHdpbmRvdy5JTi5wYXJzZSkge1xuXHRcdHdpbmRvdy5JTi5wYXJzZSgpO1xuXHR9O1xuXHRpZiAod2luZG93LmFkZHRoaXMpIHtcblx0XHRpZiAod2luZG93LmFkZHRoaXMudG9vbGJveCkge1xuXHRcdFx0d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHdpbmRvdy5hZGR0aGlzLmluaXQoKTt3aW5kb3cuYWRkdGhpcy50b29sYm94KCcuYWRkdGhpc19idXR0b24uc2ZpY24nKTtcblx0XHR9XG5cdH07XG5cdGlmICh3aW5kb3cuUGluVXRpbHMpIHtcblx0XHR3aW5kb3cuUGluVXRpbHMuYnVpbGQoKTtcblx0fTtcblx0aWYgKHdpbmRvdy5GQikge1xuXHRcdGlmICh3aW5kb3cuRkIuWEZCTUwpIHtcblx0XHRcdHdpbmRvdy5GQi5YRkJNTC5wYXJzZSgpO1xuXHRcdH1cblx0fTtcbn1cbmlmICh1bmRlZmluZWQgPT09IHNmc2lfcGx1c19mbG9hdF93aWRnZXQpIHtcblx0dmFyIF9zZnNpX3BsdXNfZmxvYXRfd2lkZ2V0ID0gZnVuY3Rpb24gX3Nmc2lfcGx1c19mbG9hdF93aWRnZXQoKSB7XG5cdFx0cmV0dXJuO1xuXHR9O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2NrL2Jsb2NrLmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///1\n");
|
88 |
|
89 |
/***/ }),
|
90 |
/* 2 */
|
84 |
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
85 |
|
86 |
"use strict";
|
87 |
+
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss__ = __webpack_require__(/*! ./style.scss */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_scss__);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * BLOCK: social-share-block\n *\n * Registering a basic block with Gutenberg.\n * Simple block, renders and saves the same content without any interactivity.\n */\n\n// Import CSS.\n\n\n\nvar __ = wp.i18n.__; // Import __() from wp.i18n\n\nvar _wp$blocks = wp.blocks,\n registerBlockType = _wp$blocks.registerBlockType,\n RichText = _wp$blocks.RichText,\n TextControl = _wp$blocks.TextControl,\n AlignmentToolbar = _wp$blocks.AlignmentToolbar,\n BlockControls = _wp$blocks.BlockControls,\n InspectorControls = _wp$blocks.InspectorControls; // Import registerBlockType() from wp.blocks\n\n// const {\n// TextControl\n// } = wp.components;\n\nvar el = wp.element.createElement;\n/**\n * Register: aa Gutenberg Block.\n *\n * Registers a new block provided a unique name and an object defining its\n * behavior. Once registered, the block is made editor as an option to any\n * editor interface where blocks are implemented.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/\n * @param {string} name Block name.\n * @param {Object} settings Block settings.\n * @return {?WPBlock} The block, if it has been successfully\n * registered; otherwise `undefined`.\n */\n\nvar iconEl = el('svg', { width: 20, height: 20 }, el('g', { 'transform': \"translate(0.000000,20.000000) scale(0.0062,-0.0070)\", 'fill': \"#000000\", 'stroke': \"none\" }, el('path', { d: \"M2055 2721 c-284 -83 -461 -332 -442 -624 l6 -89 -72 6 c-406 39 -818 246 -1090 548 l-66 73 -26 -60 c-101 -227 -55 -484 120 -661 l72 -74 -32 0 c-39 0 -127 26 -179 52 l-39 20 6 -74 c18 -224 178 -428 395 -504 58 -20 61 -22 35 -29 -15 -4 -72 -6 -126 -6 -98 1 -98 1 -92 -21 19 -62 77 -150 141 -214 88 -89 200 -148 317 -166 43 -7 77 -15 77 -18 0 -7 -152 -102 -205 -128 -72 -36 -216 -82 -302 -97 -46 -8 -146 -15 -221 -16 -159 -1 -160 2 10 -85 257 -131 542 -193 838 -181 209 8 392 45 572 115 l68 26 0 393 0 393 -100 0 c-93 0 -100 1 -100 20 0 11 -1 90 -1 175 0 85 1 160 1 165 0 6 40 10 100 10 l100 0 1 138 c1 144 3 170 20 241 34 147 165 265 319 288 49 8 174 9 358 5 l62 -2 0 -175 0 -175 -127 0 c-83 0 -137 -5 -153 -13 -35 -18 -46 -61 -49 -193 l-2 -114 165 0 166 0 0 -37 c0 -21 -7 -96 -15 -168 -8 -71 -15 -138 -15 -147 0 -16 -14 -18 -150 -18 l-150 0 0 -332 c1 -686 3 -637 -22 -642 -13 -3 -90 -8 -172 -12 -82 -3 -143 -10 -136 -14 6 -4 93 -8 191 -9 l179 -2 0 272 0 271 63 72 c119 134 198 250 273 397 113 225 184 512 184 745 l0 101 79 66 c64 54 226 235 217 244 -1 1 -26 -6 -55 -17 -59 -23 -176 -55 -235 -65 l-40 -7 50 39 c86 69 147 149 184 242 l19 49 -88 -43 c-69 -34 -199 -81 -276 -99 -5 -2 -37 19 -70 46 -150 122 -366 170 -540 119z\" })));\n\nregisterBlockType('ultimate-social-media-plus/sfsi-plus-share-block', {\n\t// Block name. Block names must be string that contains a namespace prefix. Example: my-plugin/my-custom-block.\n\ttitle: __('Social Icons'), // Block title.\n\ticon: iconEl, // Block icon from Dashicons → https://developer.wordpress.org/resource/dashicons/.\n\tcategory: 'common', // Block category — Group blocks together based on common traits E.g. common, formatting, layout widgets, embed.\n\tkeywords: [__('Social Icons'), __('Social share'), __('Gutenberg Share')],\n\tattributes: {\n\t\t\"jscode\": {\n\t\t\t\"default\": \"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_wrapper .sfsi_plus_block').html(response);sfsi_plus_update_iconcount();if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t\t\ttype: 'string'\n\t\t},\n\t\tshowTextBeforeShare: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'yes'\n\t\t\t// meta: 'sfsi_plus_gutenberg_show_text_before_share'\n\t\t},\n\t\ttextBeforeShare: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'Please Share:'\n\t\t},\n\t\ticonType: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'round'\n\t\t},\n\t\ticonAlignemt: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: 'left'\n\t\t},\n\t\tmaxPerRow: {\n\t\t\ttype: 'string',\n\t\t\t// source: 'text',\n\t\t\tdefault: '5'\n\n\t\t}\n\t},\n\t/**\n * The edit function describes the structure of your block in the context of the editor.\n * This represents what the editor will render when the block is used.\n *\n * The \"edit\" property must be a valid function.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\n */\n\tedit: function edit(props) {\n\t\tfunction onAttrChange(meta, value) {\n\t\t\tprops.setAttributes(_defineProperty({}, meta, value));\n\t\t}\n\t\tvar setAttributes = props.setAttributes;\n\t\t// var focus = props.isSelected;\n\t\tvar attributes = props.attributes;\n\t\t// console.log('attributes',attributes,wp.element);\n\t\tvar showTextBeforeShare = \"yes\";\n\t\tvar textBeforeShare = \"Please Share:\";\n\t\tif (attributes.showTextBeforeShare || '' !== attributes.showTextBeforeShare) {\n\t\t\tshowTextBeforeShare = attributes.showTextBeforeShare;\n\t\t} else {\n\t\t\tonAttrChange('showTextBeforeShare', 'yes');\n\t\t}\n\t\tif (attributes.textBeforeShare || '' !== attributes.textBeforeShare) {\n\t\t\ttextBeforeShare = attributes.textBeforeShare;\n\t\t} else {\n\t\t\tonAttrChange('textBeforeShare', 'Please Share:');\n\t\t}\n\n\t\t// Creates a <p class='wp-block-cgb-block-social-share-block'></p>.\n\t\t// return renderButtons(props.attributes);\n\t\tvar target = jQuery('div[data-block=\"' + props.clientId + '\"]').find('.sfsi_plus_block_container');\n\t\t// console.log(props,target,target.length);\n\t\tif (target.length > 0) {\n\t\t\tvar buttons = target.find('.sfsi_plus_block>div');\n\t\t\tif (buttons.length === 0) {\n\t\t\t\tfetchButtons(attributes.iconType, attributes, target);\n\t\t\t}\n\t\t} else {\n\t\t\tsetTimeout(function () {\n\t\t\t\tvar target = jQuery('div[data-block=\"' + props.clientId + '\"]').find('.sfsi_plus_block_container');\n\t\t\t\tvar buttons = target.find('.sfsi_plus_block>div');\n\t\t\t\tif (buttons.length === 0) {\n\t\t\t\t\tfetchButtons(attributes.iconType, attributes, target);\n\t\t\t\t}\n\t\t\t}, 3000);\n\t\t}\n\n\t\treturn [el(wp.editor.InspectorControls, { key: 'sfsi-plus-block-inspector' }, el('div', { className: \"sfsi_plus_block_inspector\" }, el('h3', { className: 'sfsi_plus_block_icontype_header' }, __('Type')), el('select', { className: 'form-control sfsi_plus_block_icontype_selector',\n\t\t\tvalue: attributes.iconType,\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tvar target = jQuery('.wp-block.is-selected').find('.sfsi_plus_block_container');\n\t\t\t\tsetAttributes({ iconType: event.target.value });\n\t\t\t\tfetchButtons(event.target.value, attributes, target);\n\t\t\t}\n\t\t}, el('option', {\n\t\t\t'value': 'round'\n\t\t}, 'Round / «main» icons'), el('option', {\n\t\t\t'value': 'rectangle'\n\t\t}, 'Rectangle icons')), (props.attributes.iconType === \"round\" || undefined === props.attributes.iconType) && el('p', { className: 'sfsi_plus_block_icontype_desc' }, __(' Those are the icons you selected under question 1 on the plugin‘s '), el('a', { 'target': '_blank', 'href': '/wp-admin/admin.php?page=sfsi-plus-options#ui-id-1' }, __(' settings page.'))), props.attributes.iconType === \"rectangle\" && el('p', { className: 'sfsi_plus_block_icontype_desc' }, __('Those are the icons you selected '), el('a', { 'target': '_blank', 'href': '/wp-admin/admin.php?page=sfsi-plus-options#ui-id-5' }, __('here.'))), el('h3', { className: 'sfsi_plus_block_icontype_header' }, __('Alignment')), el('select', { className: 'form-control sfsi_plus_block_iconalignment_selector',\n\t\t\tvalue: attributes.iconAlignemt,\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tsetAttributes({ iconAlignemt: event.target.value });\n\t\t\t\tvar target = jQuery('.wp-block.is-selected .sfsi_plus_block_container');\n\t\t\t\tif ('center' === event.target.value) {\n\t\t\t\t\tjQuery(target).find('.sfsi_plus_block_text_before_icon').css({ 'display': 'inherit' });\n\t\t\t\t}\n\t\t\t\tjQuery(target).css({ 'text-align': event.target.value });\n\t\t\t}\n\t\t}, el('option', {\n\t\t\t'value': 'left'\n\t\t}, 'Left'), el('option', {\n\t\t\t'value': 'right'\n\t\t}, 'Right'), el('option', {\n\t\t\t'value': 'center'\n\t\t}, 'Center')), (props.attributes.iconType === \"round\" || undefined === props.attributes.iconType) && el('div', { className: 'sfsi_plus_block_iconperrow_body' }, el('span', { className: 'label' }, __('Max. icons per row')), el('input', {\n\t\t\ttype: 'text',\n\t\t\tvalue: attributes.maxPerRow,\n\t\t\tonChange: function onChange(event) {\n\t\t\t\t// console.log(event.target,event.target.value);\n\t\t\t\tsetAttributes({ maxPerRow: (parseInt(event.target.value) || 0) + '' });\n\t\t\t\tchangeIconWidth(event.target.value);\n\t\t\t}\n\t\t})), el('label', {\n\t\t\thtmlFor: 'sfsi-plus-text-before-icons',\n\t\t\tclassName: 'sfsi_plus_block_textbeforeicons'\n\t\t}, el('input', {\n\t\t\tclassName: \"form-control\",\n\t\t\tchecked: attributes.showTextBeforeShare == 'yes',\n\t\t\ttype: 'checkbox',\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tsetAttributes({ showTextBeforeShare: event.target.checked ? 'yes' : 'no' });\n\t\t\t}\n\t\t}), 'Text before icons?'), attributes.showTextBeforeShare == 'yes' && el('input', {\n\t\t\tclassName: 'form-input sfsi_plus_block_textbeforeicons_header',\n\t\t\tvalue: attributes.textBeforeShare,\n\t\t\tstyle: {\n\t\t\t\t'padding-top': '3px'\n\t\t\t},\n\t\t\tonChange: function onChange(event) {\n\t\t\t\tsetAttributes({ textBeforeShare: event.target.value });\n\t\t\t}\n\t\t}), attributes.showTextBeforeShare === 'yes' && el('div', { className: 'form-input sfsi_plus_block_textbeforeicons_body' }, __('Define the font size & type in our '), el('a', { 'href': 'https://www.ultimatelysocial.com/usm-premium/', 'target': '_blank' }, __('Premium plugin'))), el('h3', { className: 'sfsi_plus_block_notes_heading' }, __('Notes')), el('hr'), el('ul', { className: 'sfsi_plus_block_notes_list' }, el('li', { className: 'sfsi_plus_block_notes_item' }, __('For all other selections ( What the icons should do etc.) please go to '), el('a', { 'href': (window.sfsi_plus_links ? window.sfsi_plus_links.admin_url : '/wp-admin/admin.php') + '?page=sfsi-plus-options', 'target': '_blank' }, __('settings page'))), el('li', { className: 'sfsi_plus_block_notes_item' }, __('To see the icons in ‚full action‘ (with all features) please open the page in live or preview mode.')), el('li', { className: 'sfsi_plus_block_notes_item' }, __('If questions remain, please ask them in the '), el('a', {\n\t\t\t'href': 'https://goo.gl/ktAeDv',\n\t\t\t'target': '_blank'\n\t\t}, __('support forum')), __(' – we‘ll try to respond quickly.'), el('img', { src: (window.sfsi_plus_links ? window.sfsi_plus_links.plugin_dir_url : '/wp-content/plugins/ultimate-social-media-plus') + '/images/Ic_insert_emoticon_48px.svg', style: { width: '18px', 'vertical-align': 'text-bottom' } }))), el('h3', { className: 'sfsi_plus_block_ad_heading' }, 'Want (much) more?'), el('div', { className: 'sfsi_plus_block_ad_body' }, el('div', {}, __('Check out our '), el('a', { 'href': 'https://www.ultimatelysocial.com/usm-premium/?utm_source=plus_gutenberg_page&utm_campaign=side_widget&utm_medium=link', 'target': '_blank' }, __('premium plugin‘s features')), __('. Watch a teaser: '))), el('div', { style: { 'text-align': 'center' } }, el('iframe', { src: 'https://player.vimeo.com/video/269140798', width: '640', frameborder: 0, 'webkitallowfullscreen': \"\", 'mozallowfullscreen': \"\", 'allowfullscreen': \"\" }), el('a', { href: \"https://www.ultimatelysocial.com/usm-premium/?utm_source=plus_gutenberg_page&utm_campaign=side_widget&utm_medium=link\", 'target': '_blank', style: { 'display': 'inline-block', padding: '4px 10px', 'text-decoration': 'none', 'background': '#00A15A', 'color': '#fff', 'font-size': '11px', 'font-weight': '900' } }, __('Check out the Premium Plugin >>'))), el('br'), el('span', { className: 'sfsi_plus_block_ad_footer' }, __('..from 24.98 USD (includes support and updates for 1 year, and after that it will not be deactivated, so you can just keep using it!)')))), el('div', { key: 'sfsi-plus-block-content', className: 'sfsi_plus_block_container sfsi_plus_block_wrapper' }, '\\t', showTextBeforeShare == \"yes\" && el('span', { className: 'sfsi_plus_block_text_before_icon', 'data-align': attributes.iconAlignemt }, textBeforeShare), el('div', { className: 'sfsi_plus_block', 'data-count': attributes.maxPerRow, 'data-align': attributes.iconAlignemt, 'data-icon-type': attributes.iconType }, 'loading....'))];\n\t},\n\n\t/**\n * The save function defines the way in which the different attributes should be combined\n * into the final markup, which is then serialized by Gutenberg into post_content.\n *\n * The \"save\" property must be specified and must be a valid function.\n *\n * @link https://wordpress.org/gutenberg/handbook/block-api/block-edit-save/\n */\n\tdeprecated: [{\n\t\tattributes: {\n\t\t\t\"jscode\": {\n\t\t\t\t\"default\": \"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_container .sfsi_plus_block').html(response);if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t\t\t\ttype: 'string'\n\t\t\t}\n\t\t},\n\n\t\tisEligible: function isEligible(attributes) {\n\t\t\tconsole.log(attributes);\n\t\t\treturn true;\n\t\t\t// return (attributes.jscode===\"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_container .sfsi_plus_block').html(response);if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\");\n\t\t},\n\t\tmigrate: function migrate(attributes) {\n\t\t\tconsole.log('migrate', attributes);\n\t\t\treturn [{\n\t\t\t\t\"jscode\": \"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_wrapper .sfsi_plus_block').html(response);sfsi_plus_update_iconcount();if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t\t\t\tshowTextBeforeShare: 'yes',\n\t\t\t\ttextBeforeShare: 'Please Share:',\n\t\t\t\ticonType: 'round',\n\t\t\t\ticonAlignemt: 'left',\n\t\t\t\tmaxPerRow: '5'\n\t\t\t}];\n\t\t},\n\t\tsave: function save(props) {\n\t\t\tconsole.log(props);\n\t\t\tvar attributes = props.attributes;\n\t\t\treturn renderButtons(attributes);\n\t\t}\n\t}],\n\n\t// deprecated: [\n\t// \t{\n\t// \t\tattributes: {\n\t// \t\t\t\"jscode\":{\n\t// \t\t\t\t\t\t\"default\":\"\\n\\t\\tjQuery(document).ready(function($) {\\n\\t\\t\\tjQuery.ajax({\\n\\t\\t\\t\\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?share_url='+window.location.href,\\n\\t\\t\\t\\t'method': 'GET'\\n\\t\\t\\t}).done( function(response){\\n\\t\\t\\t\\t$('.sfsi_plus_block_container .sfsi_plus_block').html(response);if(window.gapi){window.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();};if(window.twttr){window.twttr.widgets.load();};if(window.IN){window.IN.parse();};if(window.addthis){if(window.addthis.toolbox){window.addthis.toolbox('.addthis_button.sficn');}else{window.addthis.init();window.addthis.toolbox('.addthis_button.sficn');}};if(window.PinUtils){window.PinUtils.build();};if(jQuery('.sfsi_plus_wDiv').length > 0) {setTimeout(function() { var s = parseInt(jQuery('.sfsi_plus_wDiv').height()) + 15 + 'px';jQuery('.sfsi_plus_holders').each(function() {jQuery(this).css('height', s);});jQuery('.sfsi_plus_widget').css('min-height', 'auto');}, 200);};if(window.FB){if(window.FB.XFBML){window.FB.XFBML.parse();}};\\n\\t\\t\\t});\\n\\t\\t});\\n\\t\",\n\t// \t\t\t\t\t\ttype: 'string'\n\t// \t\t\t}\n\t// \t\t},\n\t// \t\tsave: function( props ) {\n\t// \t\t\tvar attributes = props.attributes;\n\t// \t\t\treturn renderButtons(attributes);\n\t// \t\t}\n\t// \t\tmigrate: function(){\n\t// \t\t\treturn \n\t// \t\t}\n\t// \t}\n\t// ],\n\n\n\tsave: function save(props) {\n\t\t// console.log(props);\n\t\tvar attributes = props.attributes;\n\t\tsetTimeout(function () {\n\t\t\tchangeIconWidth(attributes.maxPerRow);\n\t\t\t// console.log('changedIconWidth');\n\t\t}, 300);\n\t\treturn renderButtons_new(attributes);\n\t}\n\n});\n\nfunction renderButtons(attributes) {\n\tvar jscode = attributes.jscode;\n\t// if(attributes.iconType===\"rectangle\"){\n\t// \tjscode=jscode.replace(/window.location.href/gi,'window.location.href+\"&ractangle_icon=1\"')\n\t// }\n\treturn el('div', { 'className': 'sfsi_plus_block_container' }, \"\\n\t\", el('div', { className: 'sfsi_plus_block' }, \"\"), \"\\n\t\", el('script', {}, jscode), \"\\n\");\n}\n\nfunction renderButtons_new(attributes) {\n\t// console.log(attributes);\n\tvar jscode = attributes.jscode;\n\tif (attributes.iconType === \"rectangle\") {\n\t\tjscode = jscode.replace(/window.location.href/gi, 'window.location.href+\"&ractangle_icon=1\"');\n\t}\n\tvar showTextBeforeShare = \"yes\";\n\tvar textBeforeShare = \"Please Share:\";\n\tif (attributes.showTextBeforeShare || '' !== attributes.showTextBeforeShare) {\n\t\tshowTextBeforeShare = attributes.showTextBeforeShare;\n\t} else {\n\t\tonAttrChange('showTextBeforeShare', 'yes');\n\t}\n\tif (attributes.textBeforeShare || '' !== attributes.textBeforeShare) {\n\t\ttextBeforeShare = attributes.textBeforeShare;\n\t} else {\n\t\tonAttrChange('textBeforeShare', 'Please Share:');\n\t}\n\treturn el('div', { 'className': 'sfsi_plus_block_wrapper' }, \"\\n\t\", showTextBeforeShare == \"yes\" && el('span', { className: 'sfsi_plus_block_text_before_icon' }, textBeforeShare), \"\\n\", el('div', { className: 'sfsi_plus_block', 'data-count': attributes.maxPerRow, 'data-align': attributes.iconAlignemt, 'data-icon-type': attributes.iconType }, \"\"), \"\\n\\t\"\n\t// el('script',{},jscode\n\t// ),\"\\n\"\n\t);\n}\nfunction changeIconWidth() {\n\tvar per_row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n\t// console.log('iconchangecalled');\n\t// jQuery(document).ready(function($){\n\t// console.log('iconchangecalled and doc ready');\n\tvar iconWidth = parseInt(jQuery('.sfsi_plus_block_wrapper .sfsi_plus_wDiv div').css('width')) || 40;\n\t// console.log('iconwidth',iconWidth);\n\n\tvar iconMargin = parseInt(jQuery('.sfsi_plus_block_wrapper .sfsi_plus_wDiv div').css('margin-left')) || 0;\n\t// console.log('iconMargin',iconMargin);\n\n\tvar wrapperWidth = (iconWidth + iconMargin) * per_row;\n\t// console.log('in icon change ',iconWidth,iconMargin,wrapperWidth);\n\tvar iconHeight = jQuery('.sfsi_plus_block_wrapper .sfsi_plus_wDiv img').first().height();\n\tvar textHeight = jQuery('.sfsi_plus_block_text_before_icon').height();\n\t// console.log('wrapperWidth',wrapperWidth);\n\tjQuery('.sfsi_plus_block_text_before_icon').css({ 'margin-top': (textHeight - iconHeight) / 2 - 2 + 'px' });\n\tif (jQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row').length < 1) {\n\t\t// console.log('setTimeout',jQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row'));\n\t\tsetTimeout(function () {\n\t\t\tjQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row').css({ 'width': wrapperWidth + 'px' });\n\t\t}, 1000);\n\t} else {}\n\t// console.log('didnot setTimeout',jQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row'));\n\n\t// var target=jQuery('.sfsi_plus_block_container');\n\t// console.log(target,icon_alignment);\n\tjQuery('.sfsi_plus_block_wrapper .sfsiplus_norm_row').css({ 'width': wrapperWidth + 'px' });\n\tsetIconBlockAlignment();\n\n\t// })\n}\n\nfunction setIconBlockAlignment() {\n\tvar target = jQuery('.wp-block.is-selected .sfsi_plus_block_container');\n\tvar icon_alignment = target.find('.sfsi_plus_block').attr('data-align');\n\t// if('center'===icon_alignment){\n\tjQuery(target).find('.sfsi_plus_block_text_before_icon').css({ 'display': 'inherit' });\n\t// }\n\tjQuery(target).css({ 'text-align': icon_alignment });\n}\n\nfunction fetchButtons() {\n\tvar iconType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\tvar attributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\tvar target = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n\tif (null === iconType || undefined === iconType) {\n\t\ticonType = \"round\";\n\t}\n\t// console.log(iconType);\n\t// return jQuery(document).ready(function($){\n\t// console.log(iconType);\n\tif (null == target) {\n\t\ttarget = $(document);\n\t}\n\t// console.log(target);\n\treturn jQuery.ajax({\n\t\t'url': '/wp-json/ultimate-social-media-plus/v1/icons/?admin_refereal=true&ractangle_icon=' + ('round' == iconType ? 0 : 1),\n\t\t'method': 'GET'\n\t\t// 'data':{'is_admin':true,'share_url':'/'}\n\t}).done(function (response) {\n\t\t// console.log(response,$('.sfsi_plus_block'));\n\n\t\tif (jQuery(target).find('.sfsi_plus_block').length > 0) {\n\t\t\tjQuery(target).find('.sfsi_plus_block').html(response);\n\t\t\tjQuery(target).find('.sfsi_plus_block_text_before_icon').css({ 'display': 'inherit' });\n\t\t\tchangeIconWidth(attributes.maxPerRow);\n\t\t\tif (iconType !== 'round') {\n\t\t\t\trenderAutoSocialIcons();\n\t\t\t}\n\t\t\t// console.log('updated');\n\t\t} else {\n\t\t\tsetTimeout(function () {\n\t\t\t\tjQuery('.sfsi_plus_block').html(response);\n\t\t\t\tchangeIconWidth(attributes.maxPerRow);\n\t\t\t\tjQuery(target).find('.sfsi_plus_block_text_before_icon').css({ 'display': 'inherit' });\n\t\t\t\tconsole.log('now updated');\n\t\t\t}, 5000);\n\t\t\tconsole.log('timeset');\n\t\t}\n\t}).fail(function (response) {\n\t\t// console.log(response,$('.sfsi_plus_block'));\n\t\tjQuery(target).find('.sfsi_plus_block').html(response.responseText.replace('/\\\\/g', ''));\n\t});\n\t// });\n}\nfunction renderAutoSocialIcons() {\n\tif (window.gapi) {\n\t\twindow.gapi.plusone.go();window.gapi.plus.go();window.gapi.ytsubscribe.go();\n\t};\n\tif (window.twttr) {\n\t\twindow.twttr.widgets.load();\n\t};\n\tif (window.IN && window.IN.parse) {\n\t\twindow.IN.parse();\n\t};\n\tif (window.addthis) {\n\t\tif (window.addthis.toolbox) {\n\t\t\twindow.addthis.toolbox('.addthis_button.sficn');\n\t\t} else {\n\t\t\twindow.addthis.init();window.addthis.toolbox('.addthis_button.sficn');\n\t\t}\n\t};\n\tif (window.PinUtils) {\n\t\twindow.PinUtils.build();\n\t};\n\tif (window.FB) {\n\t\tif (window.FB.XFBML) {\n\t\t\twindow.FB.XFBML.parse();\n\t\t}\n\t};\n}\nif (undefined === window.sfsi_plus_float_widget) {\n\tvar sfsi_plus_float_widget = function sfsi_plus_float_widget() {\n\t\treturn;\n\t};\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9ibG9jay9ibG9jay5qcz85MjFkIl0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbi8qKlxuICogQkxPQ0s6IHNvY2lhbC1zaGFyZS1ibG9ja1xuICpcbiAqIFJlZ2lzdGVyaW5nIGEgYmFzaWMgYmxvY2sgd2l0aCBHdXRlbmJlcmcuXG4gKiBTaW1wbGUgYmxvY2ssIHJlbmRlcnMgYW5kIHNhdmVzIHRoZSBzYW1lIGNvbnRlbnQgd2l0aG91dCBhbnkgaW50ZXJhY3Rpdml0eS5cbiAqL1xuXG4vLyAgSW1wb3J0IENTUy5cbmltcG9ydCAnLi9zdHlsZS5zY3NzJztcbmltcG9ydCAnLi9lZGl0b3Iuc2Nzcyc7XG5cbnZhciBfXyA9IHdwLmkxOG4uX187IC8vIEltcG9ydCBfXygpIGZyb20gd3AuaTE4blxuXG52YXIgX3dwJGJsb2NrcyA9IHdwLmJsb2NrcyxcbiAgICByZWdpc3RlckJsb2NrVHlwZSA9IF93cCRibG9ja3MucmVnaXN0ZXJCbG9ja1R5cGUsXG4gICAgUmljaFRleHQgPSBfd3AkYmxvY2tzLlJpY2hUZXh0LFxuICAgIFRleHRDb250cm9sID0gX3dwJGJsb2Nrcy5UZXh0Q29udHJvbCxcbiAgICBBbGlnbm1lbnRUb29sYmFyID0gX3dwJGJsb2Nrcy5BbGlnbm1lbnRUb29sYmFyLFxuICAgIEJsb2NrQ29udHJvbHMgPSBfd3AkYmxvY2tzLkJsb2NrQ29udHJvbHMsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkYmxvY2tzLkluc3BlY3RvckNvbnRyb2xzOyAvLyBJbXBvcnQgcmVnaXN0ZXJCbG9ja1R5cGUoKSBmcm9tIHdwLmJsb2Nrc1xuXG4vLyBjb25zdCB7XG4vLyAgICAgVGV4dENvbnRyb2xcbi8vIH0gPSB3cC5jb21wb25lbnRzO1xuXG52YXIgZWwgPSB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQ7XG4vKipcbiAqIFJlZ2lzdGVyOiBhYSBHdXRlbmJlcmcgQmxvY2suXG4gKlxuICogUmVnaXN0ZXJzIGEgbmV3IGJsb2NrIHByb3ZpZGVkIGEgdW5pcXVlIG5hbWUgYW5kIGFuIG9iamVjdCBkZWZpbmluZyBpdHNcbiAqIGJlaGF2aW9yLiBPbmNlIHJlZ2lzdGVyZWQsIHRoZSBibG9jayBpcyBtYWRlIGVkaXRvciBhcyBhbiBvcHRpb24gdG8gYW55XG4gKiBlZGl0b3IgaW50ZXJmYWNlIHdoZXJlIGJsb2NrcyBhcmUgaW1wbGVtZW50ZWQuXG4gKlxuICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICAgbmFtZSAgICAgQmxvY2sgbmFtZS5cbiAqIEBwYXJhbSAge09iamVjdH0gICBzZXR0aW5ncyBCbG9jayBzZXR0aW5ncy5cbiAqIEByZXR1cm4gez9XUEJsb2NrfSAgICAgICAgICBUaGUgYmxvY2ssIGlmIGl0IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWQ7IG90aGVyd2lzZSBgdW5kZWZpbmVkYC5cbiAqL1xuXG52YXIgaWNvbkVsID0gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwIH0sIGVsKCdnJywgeyAndHJhbnNmb3JtJzogXCJ0cmFuc2xhdGUoMC4wMDAwMDAsMjAuMDAwMDAwKSBzY2FsZSgwLjAwNjIsLTAuMDA3MClcIiwgJ2ZpbGwnOiBcIiMwMDAwMDBcIiwgJ3N0cm9rZSc6IFwibm9uZVwiIH0sIGVsKCdwYXRoJywgeyBkOiBcIk0yMDU1IDI3MjEgYy0yODQgLTgzIC00NjEgLTMzMiAtNDQyIC02MjQgbDYgLTg5IC03MiA2IGMtNDA2IDM5IC04MTggMjQ2IC0xMDkwIDU0OCBsLTY2IDczIC0yNiAtNjAgYy0xMDEgLTIyNyAtNTUgLTQ4NCAxMjAgLTY2MSBsNzIgLTc0IC0zMiAwIGMtMzkgMCAtMTI3IDI2IC0xNzkgNTIgbC0zOSAyMCA2IC03NCBjMTggLTIyNCAxNzggLTQyOCAzOTUgLTUwNCA1OCAtMjAgNjEgLTIyIDM1IC0yOSAtMTUgLTQgLTcyIC02IC0xMjYgLTYgLTk4IDEgLTk4IDEgLTkyIC0yMSAxOSAtNjIgNzcgLTE1MCAxNDEgLTIxNCA4OCAtODkgMjAwIC0xNDggMzE3IC0xNjYgNDMgLTcgNzcgLTE1IDc3IC0xOCAwIC03IC0xNTIgLTEwMiAtMjA1IC0xMjggLTcyIC0zNiAtMjE2IC04MiAtMzAyIC05NyAtNDYgLTggLTE0NiAtMTUgLTIyMSAtMTYgLTE1OSAtMSAtMTYwIDIgMTAgLTg1IDI1NyAtMTMxIDU0MiAtMTkzIDgzOCAtMTgxIDIwOSA4IDM5MiA0NSA1NzIgMTE1IGw2OCAyNiAwIDM5MyAwIDM5MyAtMTAwIDAgYy05MyAwIC0xMDAgMSAtMTAwIDIwIDAgMTEgLTEgOTAgLTEgMTc1IDAgODUgMSAxNjAgMSAxNjUgMCA2IDQwIDEwIDEwMCAxMCBsMTAwIDAgMSAxMzggYzEgMTQ0IDMgMTcwIDIwIDI0MSAzNCAxNDcgMTY1IDI2NSAzMTkgMjg4IDQ5IDggMTc0IDkgMzU4IDUgbDYyIC0yIDAgLTE3NSAwIC0xNzUgLTEyNyAwIGMtODMgMCAtMTM3IC01IC0xNTMgLTEzIC0zNSAtMTggLTQ2IC02MSAtNDkgLTE5MyBsLTIgLTExNCAxNjUgMCAxNjYgMCAwIC0zNyBjMCAtMjEgLTcgLTk2IC0xNSAtMTY4IC04IC03MSAtMTUgLTEzOCAtMTUgLTE0NyAwIC0xNiAtMTQgLTE4IC0xNTAgLTE4IGwtMTUwIDAgMCAtMzMyIGMxIC02ODYgMyAtNjM3IC0yMiAtNjQyIC0xMyAtMyAtOTAgLTggLTE3MiAtMTIgLTgyIC0zIC0xNDMgLTEwIC0xMzYgLTE0IDYgLTQgOTMgLTggMTkxIC05IGwxNzkgLTIgMCAyNzIgMCAyNzEgNjMgNzIgYzExOSAxMzQgMTk4IDI1MCAyNzMgMzk3IDExMyAyMjUgMTg0IDUxMiAxODQgNzQ1IGwwIDEwMSA3OSA2NiBjNjQgNTQgMjI2IDIzNSAyMTcgMjQ0IC0xIDEgLTI2IC02IC01NSAtMTcgLTU5IC0yMyAtMTc2IC01NSAtMjM1IC02NSBsLTQwIC03IDUwIDM5IGM4NiA2OSAxNDcgMTQ5IDE4NCAyNDIgbDE5IDQ5IC04OCAtNDMgYy02OSAtMzQgLTE5OSAtODEgLTI3NiAtOTkgLTUgLTIgLTM3IDE5IC03MCA0NiAtMTUwIDEyMiAtMzY2IDE3MCAtNTQwIDExOXpcIiB9KSkpO1xuXG5yZWdpc3RlckJsb2NrVHlwZSgndWx0aW1hdGUtc29jaWFsLW1lZGlhLXBsdXMvc2ZzaS1wbHVzLXNoYXJlLWJsb2NrJywge1xuXHQvLyBCbG9jayBuYW1lLiBCbG9jayBuYW1lcyBtdXN0IGJlIHN0cmluZyB0aGF0IGNvbnRhaW5zIGEgbmFtZXNwYWNlIHByZWZpeC4gRXhhbXBsZTogbXktcGx1Z2luL215LWN1c3RvbS1ibG9jay5cblx0dGl0bGU6IF9fKCdTb2NpYWwgSWNvbnMnKSwgLy8gQmxvY2sgdGl0bGUuXG5cdGljb246IGljb25FbCwgLy8gQmxvY2sgaWNvbiBmcm9tIERhc2hpY29ucyDihpIgaHR0cHM6Ly9kZXZlbG9wZXIud29yZHByZXNzLm9yZy9yZXNvdXJjZS9kYXNoaWNvbnMvLlxuXHRjYXRlZ29yeTogJ2NvbW1vbicsIC8vIEJsb2NrIGNhdGVnb3J5IOKAlCBHcm91cCBibG9ja3MgdG9nZXRoZXIgYmFzZWQgb24gY29tbW9uIHRyYWl0cyBFLmcuIGNvbW1vbiwgZm9ybWF0dGluZywgbGF5b3V0IHdpZGdldHMsIGVtYmVkLlxuXHRrZXl3b3JkczogW19fKCdTb2NpYWwgSWNvbnMnKSwgX18oJ1NvY2lhbCBzaGFyZScpLCBfXygnR3V0ZW5iZXJnIFNoYXJlJyldLFxuXHRhdHRyaWJ1dGVzOiB7XG5cdFx0XCJqc2NvZGVcIjoge1xuXHRcdFx0XCJkZWZhdWx0XCI6IFwiXFxuXFx0XFx0alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7XFxuXFx0XFx0XFx0alF1ZXJ5LmFqYXgoe1xcblxcdFxcdFxcdFxcdCd1cmwnOiAnL3dwLWpzb24vdWx0aW1hdGUtc29jaWFsLW1lZGlhLXBsdXMvdjEvaWNvbnMvP3NoYXJlX3VybD0nK3dpbmRvdy5sb2NhdGlvbi5ocmVmLFxcblxcdFxcdFxcdFxcdCdtZXRob2QnOiAnR0VUJ1xcblxcdFxcdFxcdH0pLmRvbmUoIGZ1bmN0aW9uKHJlc3BvbnNlKXtcXG5cXHRcXHRcXHRcXHQkKCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UpO3Nmc2lfcGx1c191cGRhdGVfaWNvbmNvdW50KCk7aWYod2luZG93LmdhcGkpe3dpbmRvdy5nYXBpLnBsdXNvbmUuZ28oKTt3aW5kb3cuZ2FwaS5wbHVzLmdvKCk7d2luZG93LmdhcGkueXRzdWJzY3JpYmUuZ28oKTt9O2lmKHdpbmRvdy50d3R0cil7d2luZG93LnR3dHRyLndpZGdldHMubG9hZCgpO307aWYod2luZG93LklOKXt3aW5kb3cuSU4ucGFyc2UoKTt9O2lmKHdpbmRvdy5hZGR0aGlzKXtpZih3aW5kb3cuYWRkdGhpcy50b29sYm94KXt3aW5kb3cuYWRkdGhpcy50b29sYm94KCcuYWRkdGhpc19idXR0b24uc2ZpY24nKTt9ZWxzZXt3aW5kb3cuYWRkdGhpcy5pbml0KCk7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fX07aWYod2luZG93LlBpblV0aWxzKXt3aW5kb3cuUGluVXRpbHMuYnVpbGQoKTt9O2lmKGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykubGVuZ3RoID4gMCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHZhciBzID0gcGFyc2VJbnQoalF1ZXJ5KCcuc2ZzaV9wbHVzX3dEaXYnKS5oZWlnaHQoKSkgKyAxNSArICdweCc7alF1ZXJ5KCcuc2ZzaV9wbHVzX2hvbGRlcnMnKS5lYWNoKGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5jc3MoJ2hlaWdodCcsIHMpO30pO2pRdWVyeSgnLnNmc2lfcGx1c193aWRnZXQnKS5jc3MoJ21pbi1oZWlnaHQnLCAnYXV0bycpO30sIDIwMCk7fTtpZih3aW5kb3cuRkIpe2lmKHdpbmRvdy5GQi5YRkJNTCl7d2luZG93LkZCLlhGQk1MLnBhcnNlKCk7fX07XFxuXFx0XFx0XFx0fSk7XFxuXFx0XFx0fSk7XFxuXFx0XCIsXG5cdFx0XHR0eXBlOiAnc3RyaW5nJ1xuXHRcdH0sXG5cdFx0c2hvd1RleHRCZWZvcmVTaGFyZToge1xuXHRcdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0XHQvLyBzb3VyY2U6ICd0ZXh0Jyxcblx0XHRcdGRlZmF1bHQ6ICd5ZXMnXG5cdFx0XHQvLyBtZXRhOiAnc2ZzaV9wbHVzX2d1dGVuYmVyZ19zaG93X3RleHRfYmVmb3JlX3NoYXJlJ1xuXHRcdH0sXG5cdFx0dGV4dEJlZm9yZVNoYXJlOiB7XG5cdFx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRcdC8vIHNvdXJjZTogJ3RleHQnLFxuXHRcdFx0ZGVmYXVsdDogJ1BsZWFzZSBTaGFyZTonXG5cdFx0fSxcblx0XHRpY29uVHlwZToge1xuXHRcdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0XHQvLyBzb3VyY2U6ICd0ZXh0Jyxcblx0XHRcdGRlZmF1bHQ6ICdyb3VuZCdcblx0XHR9LFxuXHRcdGljb25BbGlnbmVtdDoge1xuXHRcdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0XHQvLyBzb3VyY2U6ICd0ZXh0Jyxcblx0XHRcdGRlZmF1bHQ6ICdsZWZ0J1xuXHRcdH0sXG5cdFx0bWF4UGVyUm93OiB7XG5cdFx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRcdC8vIHNvdXJjZTogJ3RleHQnLFxuXHRcdFx0ZGVmYXVsdDogJzUnXG5cblx0XHR9XG5cdH0sXG5cdC8qKlxuICAqIFRoZSBlZGl0IGZ1bmN0aW9uIGRlc2NyaWJlcyB0aGUgc3RydWN0dXJlIG9mIHlvdXIgYmxvY2sgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGVkaXRvci5cbiAgKiBUaGlzIHJlcHJlc2VudHMgd2hhdCB0aGUgZWRpdG9yIHdpbGwgcmVuZGVyIHdoZW4gdGhlIGJsb2NrIGlzIHVzZWQuXG4gICpcbiAgKiBUaGUgXCJlZGl0XCIgcHJvcGVydHkgbXVzdCBiZSBhIHZhbGlkIGZ1bmN0aW9uLlxuICAqXG4gICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvYmxvY2stZWRpdC1zYXZlL1xuICAqL1xuXHRlZGl0OiBmdW5jdGlvbiBlZGl0KHByb3BzKSB7XG5cdFx0ZnVuY3Rpb24gb25BdHRyQ2hhbmdlKG1ldGEsIHZhbHVlKSB7XG5cdFx0XHRwcm9wcy5zZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgbWV0YSwgdmFsdWUpKTtcblx0XHR9XG5cdFx0dmFyIHNldEF0dHJpYnV0ZXMgPSBwcm9wcy5zZXRBdHRyaWJ1dGVzO1xuXHRcdC8vIHZhciBmb2N1cyA9IHByb3BzLmlzU2VsZWN0ZWQ7XG5cdFx0dmFyIGF0dHJpYnV0ZXMgPSBwcm9wcy5hdHRyaWJ1dGVzO1xuXHRcdC8vIGNvbnNvbGUubG9nKCdhdHRyaWJ1dGVzJyxhdHRyaWJ1dGVzLHdwLmVsZW1lbnQpO1xuXHRcdHZhciBzaG93VGV4dEJlZm9yZVNoYXJlID0gXCJ5ZXNcIjtcblx0XHR2YXIgdGV4dEJlZm9yZVNoYXJlID0gXCJQbGVhc2UgU2hhcmU6XCI7XG5cdFx0aWYgKGF0dHJpYnV0ZXMuc2hvd1RleHRCZWZvcmVTaGFyZSB8fCAnJyAhPT0gYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlKSB7XG5cdFx0XHRzaG93VGV4dEJlZm9yZVNoYXJlID0gYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvbkF0dHJDaGFuZ2UoJ3Nob3dUZXh0QmVmb3JlU2hhcmUnLCAneWVzJyk7XG5cdFx0fVxuXHRcdGlmIChhdHRyaWJ1dGVzLnRleHRCZWZvcmVTaGFyZSB8fCAnJyAhPT0gYXR0cmlidXRlcy50ZXh0QmVmb3JlU2hhcmUpIHtcblx0XHRcdHRleHRCZWZvcmVTaGFyZSA9IGF0dHJpYnV0ZXMudGV4dEJlZm9yZVNoYXJlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRvbkF0dHJDaGFuZ2UoJ3RleHRCZWZvcmVTaGFyZScsICdQbGVhc2UgU2hhcmU6Jyk7XG5cdFx0fVxuXG5cdFx0Ly8gQ3JlYXRlcyBhIDxwIGNsYXNzPSd3cC1ibG9jay1jZ2ItYmxvY2stc29jaWFsLXNoYXJlLWJsb2NrJz48L3A+LlxuXHRcdC8vIHJldHVybiByZW5kZXJCdXR0b25zKHByb3BzLmF0dHJpYnV0ZXMpO1xuXHRcdHZhciB0YXJnZXQgPSBqUXVlcnkoJ2RpdltkYXRhLWJsb2NrPVwiJyArIHByb3BzLmNsaWVudElkICsgJ1wiXScpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyJyk7XG5cdFx0Ly8gY29uc29sZS5sb2cocHJvcHMsdGFyZ2V0LHRhcmdldC5sZW5ndGgpO1xuXHRcdGlmICh0YXJnZXQubGVuZ3RoID4gMCkge1xuXHRcdFx0dmFyIGJ1dHRvbnMgPSB0YXJnZXQuZmluZCgnLnNmc2lfcGx1c19ibG9jaz5kaXYnKTtcblx0XHRcdGlmIChidXR0b25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRmZXRjaEJ1dHRvbnMoYXR0cmlidXRlcy5pY29uVHlwZSwgYXR0cmlidXRlcywgdGFyZ2V0KTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHZhciB0YXJnZXQgPSBqUXVlcnkoJ2RpdltkYXRhLWJsb2NrPVwiJyArIHByb3BzLmNsaWVudElkICsgJ1wiXScpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyJyk7XG5cdFx0XHRcdHZhciBidXR0b25zID0gdGFyZ2V0LmZpbmQoJy5zZnNpX3BsdXNfYmxvY2s+ZGl2Jyk7XG5cdFx0XHRcdGlmIChidXR0b25zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdGZldGNoQnV0dG9ucyhhdHRyaWJ1dGVzLmljb25UeXBlLCBhdHRyaWJ1dGVzLCB0YXJnZXQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LCAzMDAwKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gW2VsKHdwLmVkaXRvci5JbnNwZWN0b3JDb250cm9scywgeyBrZXk6ICdzZnNpLXBsdXMtYmxvY2staW5zcGVjdG9yJyB9LCBlbCgnZGl2JywgeyBjbGFzc05hbWU6IFwic2ZzaV9wbHVzX2Jsb2NrX2luc3BlY3RvclwiIH0sIGVsKCdoMycsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb250eXBlX2hlYWRlcicgfSwgX18oJ1R5cGUnKSksIGVsKCdzZWxlY3QnLCB7IGNsYXNzTmFtZTogJ2Zvcm0tY29udHJvbCBzZnNpX3BsdXNfYmxvY2tfaWNvbnR5cGVfc2VsZWN0b3InLFxuXHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXMuaWNvblR5cGUsXG5cdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdFx0dmFyIHRhcmdldCA9IGpRdWVyeSgnLndwLWJsb2NrLmlzLXNlbGVjdGVkJykuZmluZCgnLnNmc2lfcGx1c19ibG9ja19jb250YWluZXInKTtcblx0XHRcdFx0c2V0QXR0cmlidXRlcyh7IGljb25UeXBlOiBldmVudC50YXJnZXQudmFsdWUgfSk7XG5cdFx0XHRcdGZldGNoQnV0dG9ucyhldmVudC50YXJnZXQudmFsdWUsIGF0dHJpYnV0ZXMsIHRhcmdldCk7XG5cdFx0XHR9XG5cdFx0fSwgZWwoJ29wdGlvbicsIHtcblx0XHRcdCd2YWx1ZSc6ICdyb3VuZCdcblx0XHR9LCAnUm91bmQgLyDCq21haW7CuyBpY29ucycpLCBlbCgnb3B0aW9uJywge1xuXHRcdFx0J3ZhbHVlJzogJ3JlY3RhbmdsZSdcblx0XHR9LCAnUmVjdGFuZ2xlIGljb25zJykpLCAocHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyb3VuZFwiIHx8IHVuZGVmaW5lZCA9PT0gcHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSkgJiYgZWwoJ3AnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9ja19pY29udHlwZV9kZXNjJyB9LCBfXygnIFRob3NlIGFyZSB0aGUgaWNvbnMgeW91IHNlbGVjdGVkIHVuZGVyIHF1ZXN0aW9uIDEgb24gdGhlIHBsdWdpbuKAmHMgJyksIGVsKCdhJywgeyAndGFyZ2V0JzogJ19ibGFuaycsICdocmVmJzogJy93cC1hZG1pbi9hZG1pbi5waHA/cGFnZT1zZnNpLXBsdXMtb3B0aW9ucyN1aS1pZC0xJyB9LCBfXygnIHNldHRpbmdzIHBhZ2UuJykpKSwgcHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyZWN0YW5nbGVcIiAmJiBlbCgncCcsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb250eXBlX2Rlc2MnIH0sIF9fKCdUaG9zZSBhcmUgdGhlIGljb25zIHlvdSBzZWxlY3RlZCAnKSwgZWwoJ2EnLCB7ICd0YXJnZXQnOiAnX2JsYW5rJywgJ2hyZWYnOiAnL3dwLWFkbWluL2FkbWluLnBocD9wYWdlPXNmc2ktcGx1cy1vcHRpb25zI3VpLWlkLTUnIH0sIF9fKCdoZXJlLicpKSksIGVsKCdoMycsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb250eXBlX2hlYWRlcicgfSwgX18oJ0FsaWdubWVudCcpKSwgZWwoJ3NlbGVjdCcsIHsgY2xhc3NOYW1lOiAnZm9ybS1jb250cm9sIHNmc2lfcGx1c19ibG9ja19pY29uYWxpZ25tZW50X3NlbGVjdG9yJyxcblx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLmljb25BbGlnbmVtdCxcblx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShldmVudCkge1xuXHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHsgaWNvbkFsaWduZW10OiBldmVudC50YXJnZXQudmFsdWUgfSk7XG5cdFx0XHRcdHZhciB0YXJnZXQgPSBqUXVlcnkoJy53cC1ibG9jay5pcy1zZWxlY3RlZCAuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lcicpO1xuXHRcdFx0XHRpZiAoJ2NlbnRlcicgPT09IGV2ZW50LnRhcmdldC52YWx1ZSkge1xuXHRcdFx0XHRcdGpRdWVyeSh0YXJnZXQpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmNzcyh7ICdkaXNwbGF5JzogJ2luaGVyaXQnIH0pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGpRdWVyeSh0YXJnZXQpLmNzcyh7ICd0ZXh0LWFsaWduJzogZXZlbnQudGFyZ2V0LnZhbHVlIH0pO1xuXHRcdFx0fVxuXHRcdH0sIGVsKCdvcHRpb24nLCB7XG5cdFx0XHQndmFsdWUnOiAnbGVmdCdcblx0XHR9LCAnTGVmdCcpLCBlbCgnb3B0aW9uJywge1xuXHRcdFx0J3ZhbHVlJzogJ3JpZ2h0J1xuXHRcdH0sICdSaWdodCcpLCBlbCgnb3B0aW9uJywge1xuXHRcdFx0J3ZhbHVlJzogJ2NlbnRlcidcblx0XHR9LCAnQ2VudGVyJykpLCAocHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyb3VuZFwiIHx8IHVuZGVmaW5lZCA9PT0gcHJvcHMuYXR0cmlidXRlcy5pY29uVHlwZSkgJiYgZWwoJ2RpdicsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2ljb25wZXJyb3dfYm9keScgfSwgZWwoJ3NwYW4nLCB7IGNsYXNzTmFtZTogJ2xhYmVsJyB9LCBfXygnTWF4LiBpY29ucyBwZXIgcm93JykpLCBlbCgnaW5wdXQnLCB7XG5cdFx0XHR0eXBlOiAndGV4dCcsXG5cdFx0XHR2YWx1ZTogYXR0cmlidXRlcy5tYXhQZXJSb3csXG5cdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXZlbnQudGFyZ2V0LGV2ZW50LnRhcmdldC52YWx1ZSk7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyBtYXhQZXJSb3c6IChwYXJzZUludChldmVudC50YXJnZXQudmFsdWUpIHx8IDApICsgJycgfSk7XG5cdFx0XHRcdGNoYW5nZUljb25XaWR0aChldmVudC50YXJnZXQudmFsdWUpO1xuXHRcdFx0fVxuXHRcdH0pKSwgZWwoJ2xhYmVsJywge1xuXHRcdFx0aHRtbEZvcjogJ3Nmc2ktcGx1cy10ZXh0LWJlZm9yZS1pY29ucycsXG5cdFx0XHRjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfdGV4dGJlZm9yZWljb25zJ1xuXHRcdH0sIGVsKCdpbnB1dCcsIHtcblx0XHRcdGNsYXNzTmFtZTogXCJmb3JtLWNvbnRyb2xcIixcblx0XHRcdGNoZWNrZWQ6IGF0dHJpYnV0ZXMuc2hvd1RleHRCZWZvcmVTaGFyZSA9PSAneWVzJyxcblx0XHRcdHR5cGU6ICdjaGVja2JveCcsXG5cdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoZXZlbnQpIHtcblx0XHRcdFx0c2V0QXR0cmlidXRlcyh7IHNob3dUZXh0QmVmb3JlU2hhcmU6IGV2ZW50LnRhcmdldC5jaGVja2VkID8gJ3llcycgOiAnbm8nIH0pO1xuXHRcdFx0fVxuXHRcdH0pLCAnVGV4dCBiZWZvcmUgaWNvbnM/JyksIGF0dHJpYnV0ZXMuc2hvd1RleHRCZWZvcmVTaGFyZSA9PSAneWVzJyAmJiBlbCgnaW5wdXQnLCB7XG5cdFx0XHRjbGFzc05hbWU6ICdmb3JtLWlucHV0IHNmc2lfcGx1c19ibG9ja190ZXh0YmVmb3JlaWNvbnNfaGVhZGVyJyxcblx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLnRleHRCZWZvcmVTaGFyZSxcblx0XHRcdHN0eWxlOiB7XG5cdFx0XHRcdCdwYWRkaW5nLXRvcCc6ICczcHgnXG5cdFx0XHR9LFxuXHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKGV2ZW50KSB7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyB0ZXh0QmVmb3JlU2hhcmU6IGV2ZW50LnRhcmdldC52YWx1ZSB9KTtcblx0XHRcdH1cblx0XHR9KSwgYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlID09PSAneWVzJyAmJiBlbCgnZGl2JywgeyBjbGFzc05hbWU6ICdmb3JtLWlucHV0IHNmc2lfcGx1c19ibG9ja190ZXh0YmVmb3JlaWNvbnNfYm9keScgfSwgX18oJ0RlZmluZSB0aGUgZm9udCBzaXplICYgdHlwZSBpbiBvdXIgJyksIGVsKCdhJywgeyAnaHJlZic6ICdodHRwczovL3d3dy51bHRpbWF0ZWx5c29jaWFsLmNvbS91c20tcHJlbWl1bS8nLCAndGFyZ2V0JzogJ19ibGFuaycgfSwgX18oJ1ByZW1pdW0gcGx1Z2luJykpKSwgZWwoJ2gzJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfaGVhZGluZycgfSwgX18oJ05vdGVzJykpLCBlbCgnaHInKSwgZWwoJ3VsJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfbGlzdCcgfSwgZWwoJ2xpJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfaXRlbScgfSwgX18oJ0ZvciBhbGwgb3RoZXIgc2VsZWN0aW9ucyAoIFdoYXQgdGhlIGljb25zIHNob3VsZCBkbyBldGMuKSBwbGVhc2UgZ28gdG8gJyksIGVsKCdhJywgeyAnaHJlZic6ICh3aW5kb3cuc2ZzaV9wbHVzX2xpbmtzID8gd2luZG93LnNmc2lfcGx1c19saW5rcy5hZG1pbl91cmwgOiAnL3dwLWFkbWluL2FkbWluLnBocCcpICsgJz9wYWdlPXNmc2ktcGx1cy1vcHRpb25zJywgJ3RhcmdldCc6ICdfYmxhbmsnIH0sIF9fKCdzZXR0aW5ncyBwYWdlJykpKSwgZWwoJ2xpJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfbm90ZXNfaXRlbScgfSwgX18oJ1RvIHNlZSB0aGUgaWNvbnMgaW4g4oCaZnVsbCBhY3Rpb27igJggKHdpdGggYWxsIGZlYXR1cmVzKSBwbGVhc2Ugb3BlbiB0aGUgcGFnZSBpbiBsaXZlIG9yIHByZXZpZXcgbW9kZS4nKSksIGVsKCdsaScsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX25vdGVzX2l0ZW0nIH0sIF9fKCdJZiBxdWVzdGlvbnMgcmVtYWluLCBwbGVhc2UgYXNrIHRoZW0gaW4gdGhlICcpLCBlbCgnYScsIHtcblx0XHRcdCdocmVmJzogJ2h0dHBzOi8vZ29vLmdsL2t0QWVEdicsXG5cdFx0XHQndGFyZ2V0JzogJ19ibGFuaydcblx0XHR9LCBfXygnc3VwcG9ydCBmb3J1bScpKSwgX18oJyDigJMgd2XigJhsbCB0cnkgdG8gcmVzcG9uZCBxdWlja2x5LicpLCBlbCgnaW1nJywgeyBzcmM6ICh3aW5kb3cuc2ZzaV9wbHVzX2xpbmtzID8gd2luZG93LnNmc2lfcGx1c19saW5rcy5wbHVnaW5fZGlyX3VybCA6ICcvd3AtY29udGVudC9wbHVnaW5zL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzJykgKyAnL2ltYWdlcy9JY19pbnNlcnRfZW1vdGljb25fNDhweC5zdmcnLCBzdHlsZTogeyB3aWR0aDogJzE4cHgnLCAndmVydGljYWwtYWxpZ24nOiAndGV4dC1ib3R0b20nIH0gfSkpKSwgZWwoJ2gzJywgeyBjbGFzc05hbWU6ICdzZnNpX3BsdXNfYmxvY2tfYWRfaGVhZGluZycgfSwgJ1dhbnQgKG11Y2gpIG1vcmU/JyksIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9ja19hZF9ib2R5JyB9LCBlbCgnZGl2Jywge30sIF9fKCdDaGVjayBvdXQgb3VyICcpLCBlbCgnYScsIHsgJ2hyZWYnOiAnaHR0cHM6Ly93d3cudWx0aW1hdGVseXNvY2lhbC5jb20vdXNtLXByZW1pdW0vP3V0bV9zb3VyY2U9cGx1c19ndXRlbmJlcmdfcGFnZSZ1dG1fY2FtcGFpZ249c2lkZV93aWRnZXQmdXRtX21lZGl1bT1saW5rJywgJ3RhcmdldCc6ICdfYmxhbmsnIH0sIF9fKCdwcmVtaXVtIHBsdWdpbuKAmHMgZmVhdHVyZXMnKSksIF9fKCcuIFdhdGNoIGEgdGVhc2VyOiAnKSkpLCBlbCgnZGl2JywgeyBzdHlsZTogeyAndGV4dC1hbGlnbic6ICdjZW50ZXInIH0gfSwgZWwoJ2lmcmFtZScsIHsgc3JjOiAnaHR0cHM6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLzI2OTE0MDc5OCcsIHdpZHRoOiAnNjQwJywgZnJhbWVib3JkZXI6IDAsICd3ZWJraXRhbGxvd2Z1bGxzY3JlZW4nOiBcIlwiLCAnbW96YWxsb3dmdWxsc2NyZWVuJzogXCJcIiwgJ2FsbG93ZnVsbHNjcmVlbic6IFwiXCIgfSksIGVsKCdhJywgeyBocmVmOiBcImh0dHBzOi8vd3d3LnVsdGltYXRlbHlzb2NpYWwuY29tL3VzbS1wcmVtaXVtLz91dG1fc291cmNlPXBsdXNfZ3V0ZW5iZXJnX3BhZ2UmdXRtX2NhbXBhaWduPXNpZGVfd2lkZ2V0JnV0bV9tZWRpdW09bGlua1wiLCAndGFyZ2V0JzogJ19ibGFuaycsIHN0eWxlOiB7ICdkaXNwbGF5JzogJ2lubGluZS1ibG9jaycsIHBhZGRpbmc6ICc0cHggMTBweCcsICd0ZXh0LWRlY29yYXRpb24nOiAnbm9uZScsICdiYWNrZ3JvdW5kJzogJyMwMEExNUEnLCAnY29sb3InOiAnI2ZmZicsICdmb250LXNpemUnOiAnMTFweCcsICdmb250LXdlaWdodCc6ICc5MDAnIH0gfSwgX18oJ0NoZWNrIG91dCB0aGUgUHJlbWl1bSBQbHVnaW4gPj4nKSkpLCBlbCgnYnInKSwgZWwoJ3NwYW4nLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9ja19hZF9mb290ZXInIH0sIF9fKCcuLmZyb20gMjQuOTggVVNEIChpbmNsdWRlcyBzdXBwb3J0IGFuZCB1cGRhdGVzIGZvciAxIHllYXIsIGFuZCBhZnRlciB0aGF0IGl0IHdpbGwgbm90IGJlIGRlYWN0aXZhdGVkLCBzbyB5b3UgY2FuIGp1c3Qga2VlcCB1c2luZyBpdCEpJykpKSksIGVsKCdkaXYnLCB7IGtleTogJ3Nmc2ktcGx1cy1ibG9jay1jb250ZW50JywgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lciBzZnNpX3BsdXNfYmxvY2tfd3JhcHBlcicgfSwgJ1xcdCcsIHNob3dUZXh0QmVmb3JlU2hhcmUgPT0gXCJ5ZXNcIiAmJiBlbCgnc3BhbicsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX3RleHRfYmVmb3JlX2ljb24nLCAnZGF0YS1hbGlnbic6IGF0dHJpYnV0ZXMuaWNvbkFsaWduZW10IH0sIHRleHRCZWZvcmVTaGFyZSksIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9jaycsICdkYXRhLWNvdW50JzogYXR0cmlidXRlcy5tYXhQZXJSb3csICdkYXRhLWFsaWduJzogYXR0cmlidXRlcy5pY29uQWxpZ25lbXQsICdkYXRhLWljb24tdHlwZSc6IGF0dHJpYnV0ZXMuaWNvblR5cGUgfSwgJ2xvYWRpbmcuLi4uJykpXTtcblx0fSxcblxuXHQvKipcbiAgKiBUaGUgc2F2ZSBmdW5jdGlvbiBkZWZpbmVzIHRoZSB3YXkgaW4gd2hpY2ggdGhlIGRpZmZlcmVudCBhdHRyaWJ1dGVzIHNob3VsZCBiZSBjb21iaW5lZFxuICAqIGludG8gdGhlIGZpbmFsIG1hcmt1cCwgd2hpY2ggaXMgdGhlbiBzZXJpYWxpemVkIGJ5IEd1dGVuYmVyZyBpbnRvIHBvc3RfY29udGVudC5cbiAgKlxuICAqIFRoZSBcInNhdmVcIiBwcm9wZXJ0eSBtdXN0IGJlIHNwZWNpZmllZCBhbmQgbXVzdCBiZSBhIHZhbGlkIGZ1bmN0aW9uLlxuICAqXG4gICogQGxpbmsgaHR0cHM6Ly93b3JkcHJlc3Mub3JnL2d1dGVuYmVyZy9oYW5kYm9vay9ibG9jay1hcGkvYmxvY2stZWRpdC1zYXZlL1xuICAqL1xuXHRkZXByZWNhdGVkOiBbe1xuXHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdFwianNjb2RlXCI6IHtcblx0XHRcdFx0XCJkZWZhdWx0XCI6IFwiXFxuXFx0XFx0alF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigkKSB7XFxuXFx0XFx0XFx0alF1ZXJ5LmFqYXgoe1xcblxcdFxcdFxcdFxcdCd1cmwnOiAnL3dwLWpzb24vdWx0aW1hdGUtc29jaWFsLW1lZGlhLXBsdXMvdjEvaWNvbnMvP3NoYXJlX3VybD0nK3dpbmRvdy5sb2NhdGlvbi5ocmVmLFxcblxcdFxcdFxcdFxcdCdtZXRob2QnOiAnR0VUJ1xcblxcdFxcdFxcdH0pLmRvbmUoIGZ1bmN0aW9uKHJlc3BvbnNlKXtcXG5cXHRcXHRcXHRcXHQkKCcuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lciAuc2ZzaV9wbHVzX2Jsb2NrJykuaHRtbChyZXNwb25zZSk7aWYod2luZG93LmdhcGkpe3dpbmRvdy5nYXBpLnBsdXNvbmUuZ28oKTt3aW5kb3cuZ2FwaS5wbHVzLmdvKCk7d2luZG93LmdhcGkueXRzdWJzY3JpYmUuZ28oKTt9O2lmKHdpbmRvdy50d3R0cil7d2luZG93LnR3dHRyLndpZGdldHMubG9hZCgpO307aWYod2luZG93LklOKXt3aW5kb3cuSU4ucGFyc2UoKTt9O2lmKHdpbmRvdy5hZGR0aGlzKXtpZih3aW5kb3cuYWRkdGhpcy50b29sYm94KXt3aW5kb3cuYWRkdGhpcy50b29sYm94KCcuYWRkdGhpc19idXR0b24uc2ZpY24nKTt9ZWxzZXt3aW5kb3cuYWRkdGhpcy5pbml0KCk7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fX07aWYod2luZG93LlBpblV0aWxzKXt3aW5kb3cuUGluVXRpbHMuYnVpbGQoKTt9O2lmKGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykubGVuZ3RoID4gMCkge3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHZhciBzID0gcGFyc2VJbnQoalF1ZXJ5KCcuc2ZzaV9wbHVzX3dEaXYnKS5oZWlnaHQoKSkgKyAxNSArICdweCc7alF1ZXJ5KCcuc2ZzaV9wbHVzX2hvbGRlcnMnKS5lYWNoKGZ1bmN0aW9uKCkge2pRdWVyeSh0aGlzKS5jc3MoJ2hlaWdodCcsIHMpO30pO2pRdWVyeSgnLnNmc2lfcGx1c193aWRnZXQnKS5jc3MoJ21pbi1oZWlnaHQnLCAnYXV0bycpO30sIDIwMCk7fTtpZih3aW5kb3cuRkIpe2lmKHdpbmRvdy5GQi5YRkJNTCl7d2luZG93LkZCLlhGQk1MLnBhcnNlKCk7fX07XFxuXFx0XFx0XFx0fSk7XFxuXFx0XFx0fSk7XFxuXFx0XCIsXG5cdFx0XHRcdHR5cGU6ICdzdHJpbmcnXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdGlzRWxpZ2libGU6IGZ1bmN0aW9uIGlzRWxpZ2libGUoYXR0cmlidXRlcykge1xuXHRcdFx0Y29uc29sZS5sb2coYXR0cmlidXRlcyk7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdC8vIHJldHVybiAoYXR0cmlidXRlcy5qc2NvZGU9PT1cIlxcblxcdFxcdGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkge1xcblxcdFxcdFxcdGpRdWVyeS5hamF4KHtcXG5cXHRcXHRcXHRcXHQndXJsJzogJy93cC1qc29uL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzL3YxL2ljb25zLz9zaGFyZV91cmw9Jyt3aW5kb3cubG9jYXRpb24uaHJlZixcXG5cXHRcXHRcXHRcXHQnbWV0aG9kJzogJ0dFVCdcXG5cXHRcXHRcXHR9KS5kb25lKCBmdW5jdGlvbihyZXNwb25zZSl7XFxuXFx0XFx0XFx0XFx0JCgnLnNmc2lfcGx1c19ibG9ja19jb250YWluZXIgLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UpO2lmKHdpbmRvdy5nYXBpKXt3aW5kb3cuZ2FwaS5wbHVzb25lLmdvKCk7d2luZG93LmdhcGkucGx1cy5nbygpO3dpbmRvdy5nYXBpLnl0c3Vic2NyaWJlLmdvKCk7fTtpZih3aW5kb3cudHd0dHIpe3dpbmRvdy50d3R0ci53aWRnZXRzLmxvYWQoKTt9O2lmKHdpbmRvdy5JTil7d2luZG93LklOLnBhcnNlKCk7fTtpZih3aW5kb3cuYWRkdGhpcyl7aWYod2luZG93LmFkZHRoaXMudG9vbGJveCl7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fWVsc2V7d2luZG93LmFkZHRoaXMuaW5pdCgpO3dpbmRvdy5hZGR0aGlzLnRvb2xib3goJy5hZGR0aGlzX2J1dHRvbi5zZmljbicpO319O2lmKHdpbmRvdy5QaW5VdGlscyl7d2luZG93LlBpblV0aWxzLmJ1aWxkKCk7fTtpZihqUXVlcnkoJy5zZnNpX3BsdXNfd0RpdicpLmxlbmd0aCA+IDApIHtzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB2YXIgcyA9IHBhcnNlSW50KGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykuaGVpZ2h0KCkpICsgMTUgKyAncHgnO2pRdWVyeSgnLnNmc2lfcGx1c19ob2xkZXJzJykuZWFjaChmdW5jdGlvbigpIHtqUXVlcnkodGhpcykuY3NzKCdoZWlnaHQnLCBzKTt9KTtqUXVlcnkoJy5zZnNpX3BsdXNfd2lkZ2V0JykuY3NzKCdtaW4taGVpZ2h0JywgJ2F1dG8nKTt9LCAyMDApO307aWYod2luZG93LkZCKXtpZih3aW5kb3cuRkIuWEZCTUwpe3dpbmRvdy5GQi5YRkJNTC5wYXJzZSgpO319O1xcblxcdFxcdFxcdH0pO1xcblxcdFxcdH0pO1xcblxcdFwiKTtcblx0XHR9LFxuXHRcdG1pZ3JhdGU6IGZ1bmN0aW9uIG1pZ3JhdGUoYXR0cmlidXRlcykge1xuXHRcdFx0Y29uc29sZS5sb2coJ21pZ3JhdGUnLCBhdHRyaWJ1dGVzKTtcblx0XHRcdHJldHVybiBbe1xuXHRcdFx0XHRcImpzY29kZVwiOiBcIlxcblxcdFxcdGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkge1xcblxcdFxcdFxcdGpRdWVyeS5hamF4KHtcXG5cXHRcXHRcXHRcXHQndXJsJzogJy93cC1qc29uL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzL3YxL2ljb25zLz9zaGFyZV91cmw9Jyt3aW5kb3cubG9jYXRpb24uaHJlZixcXG5cXHRcXHRcXHRcXHQnbWV0aG9kJzogJ0dFVCdcXG5cXHRcXHRcXHR9KS5kb25lKCBmdW5jdGlvbihyZXNwb25zZSl7XFxuXFx0XFx0XFx0XFx0JCgnLnNmc2lfcGx1c19ibG9ja193cmFwcGVyIC5zZnNpX3BsdXNfYmxvY2snKS5odG1sKHJlc3BvbnNlKTtzZnNpX3BsdXNfdXBkYXRlX2ljb25jb3VudCgpO2lmKHdpbmRvdy5nYXBpKXt3aW5kb3cuZ2FwaS5wbHVzb25lLmdvKCk7d2luZG93LmdhcGkucGx1cy5nbygpO3dpbmRvdy5nYXBpLnl0c3Vic2NyaWJlLmdvKCk7fTtpZih3aW5kb3cudHd0dHIpe3dpbmRvdy50d3R0ci53aWRnZXRzLmxvYWQoKTt9O2lmKHdpbmRvdy5JTil7d2luZG93LklOLnBhcnNlKCk7fTtpZih3aW5kb3cuYWRkdGhpcyl7aWYod2luZG93LmFkZHRoaXMudG9vbGJveCl7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7fWVsc2V7d2luZG93LmFkZHRoaXMuaW5pdCgpO3dpbmRvdy5hZGR0aGlzLnRvb2xib3goJy5hZGR0aGlzX2J1dHRvbi5zZmljbicpO319O2lmKHdpbmRvdy5QaW5VdGlscyl7d2luZG93LlBpblV0aWxzLmJ1aWxkKCk7fTtpZihqUXVlcnkoJy5zZnNpX3BsdXNfd0RpdicpLmxlbmd0aCA+IDApIHtzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB2YXIgcyA9IHBhcnNlSW50KGpRdWVyeSgnLnNmc2lfcGx1c193RGl2JykuaGVpZ2h0KCkpICsgMTUgKyAncHgnO2pRdWVyeSgnLnNmc2lfcGx1c19ob2xkZXJzJykuZWFjaChmdW5jdGlvbigpIHtqUXVlcnkodGhpcykuY3NzKCdoZWlnaHQnLCBzKTt9KTtqUXVlcnkoJy5zZnNpX3BsdXNfd2lkZ2V0JykuY3NzKCdtaW4taGVpZ2h0JywgJ2F1dG8nKTt9LCAyMDApO307aWYod2luZG93LkZCKXtpZih3aW5kb3cuRkIuWEZCTUwpe3dpbmRvdy5GQi5YRkJNTC5wYXJzZSgpO319O1xcblxcdFxcdFxcdH0pO1xcblxcdFxcdH0pO1xcblxcdFwiLFxuXHRcdFx0XHRzaG93VGV4dEJlZm9yZVNoYXJlOiAneWVzJyxcblx0XHRcdFx0dGV4dEJlZm9yZVNoYXJlOiAnUGxlYXNlIFNoYXJlOicsXG5cdFx0XHRcdGljb25UeXBlOiAncm91bmQnLFxuXHRcdFx0XHRpY29uQWxpZ25lbXQ6ICdsZWZ0Jyxcblx0XHRcdFx0bWF4UGVyUm93OiAnNSdcblx0XHRcdH1dO1xuXHRcdH0sXG5cdFx0c2F2ZTogZnVuY3Rpb24gc2F2ZShwcm9wcykge1xuXHRcdFx0Y29uc29sZS5sb2cocHJvcHMpO1xuXHRcdFx0dmFyIGF0dHJpYnV0ZXMgPSBwcm9wcy5hdHRyaWJ1dGVzO1xuXHRcdFx0cmV0dXJuIHJlbmRlckJ1dHRvbnMoYXR0cmlidXRlcyk7XG5cdFx0fVxuXHR9XSxcblxuXHQvLyBkZXByZWNhdGVkOiBbXG5cdC8vIFx0e1xuXHQvLyBcdFx0YXR0cmlidXRlczoge1xuXHQvLyBcdFx0XHRcImpzY29kZVwiOntcblx0Ly8gXHRcdFx0XHRcdFx0XCJkZWZhdWx0XCI6XCJcXG5cXHRcXHRqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpIHtcXG5cXHRcXHRcXHRqUXVlcnkuYWpheCh7XFxuXFx0XFx0XFx0XFx0J3VybCc6ICcvd3AtanNvbi91bHRpbWF0ZS1zb2NpYWwtbWVkaWEtcGx1cy92MS9pY29ucy8/c2hhcmVfdXJsPScrd2luZG93LmxvY2F0aW9uLmhyZWYsXFxuXFx0XFx0XFx0XFx0J21ldGhvZCc6ICdHRVQnXFxuXFx0XFx0XFx0fSkuZG9uZSggZnVuY3Rpb24ocmVzcG9uc2Upe1xcblxcdFxcdFxcdFxcdCQoJy5zZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyIC5zZnNpX3BsdXNfYmxvY2snKS5odG1sKHJlc3BvbnNlKTtpZih3aW5kb3cuZ2FwaSl7d2luZG93LmdhcGkucGx1c29uZS5nbygpO3dpbmRvdy5nYXBpLnBsdXMuZ28oKTt3aW5kb3cuZ2FwaS55dHN1YnNjcmliZS5nbygpO307aWYod2luZG93LnR3dHRyKXt3aW5kb3cudHd0dHIud2lkZ2V0cy5sb2FkKCk7fTtpZih3aW5kb3cuSU4pe3dpbmRvdy5JTi5wYXJzZSgpO307aWYod2luZG93LmFkZHRoaXMpe2lmKHdpbmRvdy5hZGR0aGlzLnRvb2xib3gpe3dpbmRvdy5hZGR0aGlzLnRvb2xib3goJy5hZGR0aGlzX2J1dHRvbi5zZmljbicpO31lbHNle3dpbmRvdy5hZGR0aGlzLmluaXQoKTt3aW5kb3cuYWRkdGhpcy50b29sYm94KCcuYWRkdGhpc19idXR0b24uc2ZpY24nKTt9fTtpZih3aW5kb3cuUGluVXRpbHMpe3dpbmRvdy5QaW5VdGlscy5idWlsZCgpO307aWYoalF1ZXJ5KCcuc2ZzaV9wbHVzX3dEaXYnKS5sZW5ndGggPiAwKSB7c2V0VGltZW91dChmdW5jdGlvbigpIHsgdmFyIHMgPSBwYXJzZUludChqUXVlcnkoJy5zZnNpX3BsdXNfd0RpdicpLmhlaWdodCgpKSArIDE1ICsgJ3B4JztqUXVlcnkoJy5zZnNpX3BsdXNfaG9sZGVycycpLmVhY2goZnVuY3Rpb24oKSB7alF1ZXJ5KHRoaXMpLmNzcygnaGVpZ2h0Jywgcyk7fSk7alF1ZXJ5KCcuc2ZzaV9wbHVzX3dpZGdldCcpLmNzcygnbWluLWhlaWdodCcsICdhdXRvJyk7fSwgMjAwKTt9O2lmKHdpbmRvdy5GQil7aWYod2luZG93LkZCLlhGQk1MKXt3aW5kb3cuRkIuWEZCTUwucGFyc2UoKTt9fTtcXG5cXHRcXHRcXHR9KTtcXG5cXHRcXHR9KTtcXG5cXHRcIixcblx0Ly8gXHRcdFx0XHRcdFx0dHlwZTogJ3N0cmluZydcblx0Ly8gXHRcdFx0fVxuXHQvLyBcdFx0fSxcblx0Ly8gXHRcdHNhdmU6IGZ1bmN0aW9uKCBwcm9wcyApIHtcblx0Ly8gXHRcdFx0dmFyIGF0dHJpYnV0ZXMgPSBwcm9wcy5hdHRyaWJ1dGVzO1xuXHQvLyBcdFx0XHRyZXR1cm4gcmVuZGVyQnV0dG9ucyhhdHRyaWJ1dGVzKTtcblx0Ly8gXHRcdH1cblx0Ly8gXHRcdG1pZ3JhdGU6IGZ1bmN0aW9uKCl7XG5cdC8vIFx0XHRcdHJldHVybiBcblx0Ly8gXHRcdH1cblx0Ly8gXHR9XG5cdC8vIF0sXG5cblxuXHRzYXZlOiBmdW5jdGlvbiBzYXZlKHByb3BzKSB7XG5cdFx0Ly8gY29uc29sZS5sb2cocHJvcHMpO1xuXHRcdHZhciBhdHRyaWJ1dGVzID0gcHJvcHMuYXR0cmlidXRlcztcblx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcblx0XHRcdGNoYW5nZUljb25XaWR0aChhdHRyaWJ1dGVzLm1heFBlclJvdyk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygnY2hhbmdlZEljb25XaWR0aCcpO1xuXHRcdH0sIDMwMCk7XG5cdFx0cmV0dXJuIHJlbmRlckJ1dHRvbnNfbmV3KGF0dHJpYnV0ZXMpO1xuXHR9XG5cbn0pO1xuXG5mdW5jdGlvbiByZW5kZXJCdXR0b25zKGF0dHJpYnV0ZXMpIHtcblx0dmFyIGpzY29kZSA9IGF0dHJpYnV0ZXMuanNjb2RlO1xuXHQvLyBpZihhdHRyaWJ1dGVzLmljb25UeXBlPT09XCJyZWN0YW5nbGVcIil7XG5cdC8vIFx0anNjb2RlPWpzY29kZS5yZXBsYWNlKC93aW5kb3cubG9jYXRpb24uaHJlZi9naSwnd2luZG93LmxvY2F0aW9uLmhyZWYrXCImcmFjdGFuZ2xlX2ljb249MVwiJylcblx0Ly8gfVxuXHRyZXR1cm4gZWwoJ2RpdicsIHsgJ2NsYXNzTmFtZSc6ICdzZnNpX3BsdXNfYmxvY2tfY29udGFpbmVyJyB9LCBcIlxcblx0XCIsIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9jaycgfSwgXCJcIiksIFwiXFxuXHRcIiwgZWwoJ3NjcmlwdCcsIHt9LCBqc2NvZGUpLCBcIlxcblwiKTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyQnV0dG9uc19uZXcoYXR0cmlidXRlcykge1xuXHQvLyBjb25zb2xlLmxvZyhhdHRyaWJ1dGVzKTtcblx0dmFyIGpzY29kZSA9IGF0dHJpYnV0ZXMuanNjb2RlO1xuXHRpZiAoYXR0cmlidXRlcy5pY29uVHlwZSA9PT0gXCJyZWN0YW5nbGVcIikge1xuXHRcdGpzY29kZSA9IGpzY29kZS5yZXBsYWNlKC93aW5kb3cubG9jYXRpb24uaHJlZi9naSwgJ3dpbmRvdy5sb2NhdGlvbi5ocmVmK1wiJnJhY3RhbmdsZV9pY29uPTFcIicpO1xuXHR9XG5cdHZhciBzaG93VGV4dEJlZm9yZVNoYXJlID0gXCJ5ZXNcIjtcblx0dmFyIHRleHRCZWZvcmVTaGFyZSA9IFwiUGxlYXNlIFNoYXJlOlwiO1xuXHRpZiAoYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlIHx8ICcnICE9PSBhdHRyaWJ1dGVzLnNob3dUZXh0QmVmb3JlU2hhcmUpIHtcblx0XHRzaG93VGV4dEJlZm9yZVNoYXJlID0gYXR0cmlidXRlcy5zaG93VGV4dEJlZm9yZVNoYXJlO1xuXHR9IGVsc2Uge1xuXHRcdG9uQXR0ckNoYW5nZSgnc2hvd1RleHRCZWZvcmVTaGFyZScsICd5ZXMnKTtcblx0fVxuXHRpZiAoYXR0cmlidXRlcy50ZXh0QmVmb3JlU2hhcmUgfHwgJycgIT09IGF0dHJpYnV0ZXMudGV4dEJlZm9yZVNoYXJlKSB7XG5cdFx0dGV4dEJlZm9yZVNoYXJlID0gYXR0cmlidXRlcy50ZXh0QmVmb3JlU2hhcmU7XG5cdH0gZWxzZSB7XG5cdFx0b25BdHRyQ2hhbmdlKCd0ZXh0QmVmb3JlU2hhcmUnLCAnUGxlYXNlIFNoYXJlOicpO1xuXHR9XG5cdHJldHVybiBlbCgnZGl2JywgeyAnY2xhc3NOYW1lJzogJ3Nmc2lfcGx1c19ibG9ja193cmFwcGVyJyB9LCBcIlxcblx0XCIsIHNob3dUZXh0QmVmb3JlU2hhcmUgPT0gXCJ5ZXNcIiAmJiBlbCgnc3BhbicsIHsgY2xhc3NOYW1lOiAnc2ZzaV9wbHVzX2Jsb2NrX3RleHRfYmVmb3JlX2ljb24nIH0sIHRleHRCZWZvcmVTaGFyZSksIFwiXFxuXCIsIGVsKCdkaXYnLCB7IGNsYXNzTmFtZTogJ3Nmc2lfcGx1c19ibG9jaycsICdkYXRhLWNvdW50JzogYXR0cmlidXRlcy5tYXhQZXJSb3csICdkYXRhLWFsaWduJzogYXR0cmlidXRlcy5pY29uQWxpZ25lbXQsICdkYXRhLWljb24tdHlwZSc6IGF0dHJpYnV0ZXMuaWNvblR5cGUgfSwgXCJcIiksIFwiXFxuXFx0XCJcblx0Ly8gZWwoJ3NjcmlwdCcse30sanNjb2RlXG5cdC8vICksXCJcXG5cIlxuXHQpO1xufVxuZnVuY3Rpb24gY2hhbmdlSWNvbldpZHRoKCkge1xuXHR2YXIgcGVyX3JvdyA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogbnVsbDtcblxuXHQvLyBjb25zb2xlLmxvZygnaWNvbmNoYW5nZWNhbGxlZCcpO1xuXHQvLyBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe1xuXHQvLyBjb25zb2xlLmxvZygnaWNvbmNoYW5nZWNhbGxlZCBhbmQgZG9jIHJlYWR5Jyk7XG5cdHZhciBpY29uV2lkdGggPSBwYXJzZUludChqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfd3JhcHBlciAuc2ZzaV9wbHVzX3dEaXYgZGl2JykuY3NzKCd3aWR0aCcpKSB8fCA0MDtcblx0Ly8gY29uc29sZS5sb2coJ2ljb253aWR0aCcsaWNvbldpZHRoKTtcblxuXHR2YXIgaWNvbk1hcmdpbiA9IHBhcnNlSW50KGpRdWVyeSgnLnNmc2lfcGx1c19ibG9ja193cmFwcGVyIC5zZnNpX3BsdXNfd0RpdiBkaXYnKS5jc3MoJ21hcmdpbi1sZWZ0JykpIHx8IDA7XG5cdC8vIGNvbnNvbGUubG9nKCdpY29uTWFyZ2luJyxpY29uTWFyZ2luKTtcblxuXHR2YXIgd3JhcHBlcldpZHRoID0gKGljb25XaWR0aCArIGljb25NYXJnaW4pICogcGVyX3Jvdztcblx0Ly8gY29uc29sZS5sb2coJ2luIGljb24gY2hhbmdlICcsaWNvbldpZHRoLGljb25NYXJnaW4sd3JhcHBlcldpZHRoKTtcblx0dmFyIGljb25IZWlnaHQgPSBqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfd3JhcHBlciAuc2ZzaV9wbHVzX3dEaXYgaW1nJykuZmlyc3QoKS5oZWlnaHQoKTtcblx0dmFyIHRleHRIZWlnaHQgPSBqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmhlaWdodCgpO1xuXHQvLyBjb25zb2xlLmxvZygnd3JhcHBlcldpZHRoJyx3cmFwcGVyV2lkdGgpO1xuXHRqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmNzcyh7ICdtYXJnaW4tdG9wJzogKHRleHRIZWlnaHQgLSBpY29uSGVpZ2h0KSAvIDIgLSAyICsgJ3B4JyB9KTtcblx0aWYgKGpRdWVyeSgnLnNmc2lfcGx1c19ibG9ja193cmFwcGVyIC5zZnNpcGx1c19ub3JtX3JvdycpLmxlbmd0aCA8IDEpIHtcblx0XHQvLyBjb25zb2xlLmxvZygnc2V0VGltZW91dCcsalF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lwbHVzX25vcm1fcm93JykpO1xuXHRcdHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuXHRcdFx0alF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lwbHVzX25vcm1fcm93JykuY3NzKHsgJ3dpZHRoJzogd3JhcHBlcldpZHRoICsgJ3B4JyB9KTtcblx0XHR9LCAxMDAwKTtcblx0fSBlbHNlIHt9XG5cdC8vIGNvbnNvbGUubG9nKCdkaWRub3Qgc2V0VGltZW91dCcsalF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX3dyYXBwZXIgLnNmc2lwbHVzX25vcm1fcm93JykpO1xuXG5cdC8vIHZhciB0YXJnZXQ9alF1ZXJ5KCcuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lcicpO1xuXHQvLyBjb25zb2xlLmxvZyh0YXJnZXQsaWNvbl9hbGlnbm1lbnQpO1xuXHRqUXVlcnkoJy5zZnNpX3BsdXNfYmxvY2tfd3JhcHBlciAuc2ZzaXBsdXNfbm9ybV9yb3cnKS5jc3MoeyAnd2lkdGgnOiB3cmFwcGVyV2lkdGggKyAncHgnIH0pO1xuXHRzZXRJY29uQmxvY2tBbGlnbm1lbnQoKTtcblxuXHQvLyB9KVxufVxuXG5mdW5jdGlvbiBzZXRJY29uQmxvY2tBbGlnbm1lbnQoKSB7XG5cdHZhciB0YXJnZXQgPSBqUXVlcnkoJy53cC1ibG9jay5pcy1zZWxlY3RlZCAuc2ZzaV9wbHVzX2Jsb2NrX2NvbnRhaW5lcicpO1xuXHR2YXIgaWNvbl9hbGlnbm1lbnQgPSB0YXJnZXQuZmluZCgnLnNmc2lfcGx1c19ibG9jaycpLmF0dHIoJ2RhdGEtYWxpZ24nKTtcblx0Ly8gaWYoJ2NlbnRlcic9PT1pY29uX2FsaWdubWVudCl7XG5cdGpRdWVyeSh0YXJnZXQpLmZpbmQoJy5zZnNpX3BsdXNfYmxvY2tfdGV4dF9iZWZvcmVfaWNvbicpLmNzcyh7ICdkaXNwbGF5JzogJ2luaGVyaXQnIH0pO1xuXHQvLyB9XG5cdGpRdWVyeSh0YXJnZXQpLmNzcyh7ICd0ZXh0LWFsaWduJzogaWNvbl9hbGlnbm1lbnQgfSk7XG59XG5cbmZ1bmN0aW9uIGZldGNoQnV0dG9ucygpIHtcblx0dmFyIGljb25UeXBlID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBudWxsO1xuXHR2YXIgYXR0cmlidXRlcyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogbnVsbDtcblx0dmFyIHRhcmdldCA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogbnVsbDtcblxuXHRpZiAobnVsbCA9PT0gaWNvblR5cGUgfHwgdW5kZWZpbmVkID09PSBpY29uVHlwZSkge1xuXHRcdGljb25UeXBlID0gXCJyb3VuZFwiO1xuXHR9XG5cdC8vIGNvbnNvbGUubG9nKGljb25UeXBlKTtcblx0Ly8gcmV0dXJuIGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7XG5cdC8vIGNvbnNvbGUubG9nKGljb25UeXBlKTtcblx0aWYgKG51bGwgPT0gdGFyZ2V0KSB7XG5cdFx0dGFyZ2V0ID0gJChkb2N1bWVudCk7XG5cdH1cblx0Ly8gY29uc29sZS5sb2codGFyZ2V0KTtcblx0cmV0dXJuIGpRdWVyeS5hamF4KHtcblx0XHQndXJsJzogJy93cC1qc29uL3VsdGltYXRlLXNvY2lhbC1tZWRpYS1wbHVzL3YxL2ljb25zLz9hZG1pbl9yZWZlcmVhbD10cnVlJnJhY3RhbmdsZV9pY29uPScgKyAoJ3JvdW5kJyA9PSBpY29uVHlwZSA/IDAgOiAxKSxcblx0XHQnbWV0aG9kJzogJ0dFVCdcblx0XHQvLyAnZGF0YSc6eydpc19hZG1pbic6dHJ1ZSwnc2hhcmVfdXJsJzonLyd9XG5cdH0pLmRvbmUoZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cdFx0Ly8gY29uc29sZS5sb2cocmVzcG9uc2UsJCgnLnNmc2lfcGx1c19ibG9jaycpKTtcblxuXHRcdGlmIChqUXVlcnkodGFyZ2V0KS5maW5kKCcuc2ZzaV9wbHVzX2Jsb2NrJykubGVuZ3RoID4gMCkge1xuXHRcdFx0alF1ZXJ5KHRhcmdldCkuZmluZCgnLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UpO1xuXHRcdFx0alF1ZXJ5KHRhcmdldCkuZmluZCgnLnNmc2lfcGx1c19ibG9ja190ZXh0X2JlZm9yZV9pY29uJykuY3NzKHsgJ2Rpc3BsYXknOiAnaW5oZXJpdCcgfSk7XG5cdFx0XHRjaGFuZ2VJY29uV2lkdGgoYXR0cmlidXRlcy5tYXhQZXJSb3cpO1xuXHRcdFx0aWYgKGljb25UeXBlICE9PSAncm91bmQnKSB7XG5cdFx0XHRcdHJlbmRlckF1dG9Tb2NpYWxJY29ucygpO1xuXHRcdFx0fVxuXHRcdFx0Ly8gY29uc29sZS5sb2coJ3VwZGF0ZWQnKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGpRdWVyeSgnLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UpO1xuXHRcdFx0XHRjaGFuZ2VJY29uV2lkdGgoYXR0cmlidXRlcy5tYXhQZXJSb3cpO1xuXHRcdFx0XHRqUXVlcnkodGFyZ2V0KS5maW5kKCcuc2ZzaV9wbHVzX2Jsb2NrX3RleHRfYmVmb3JlX2ljb24nKS5jc3MoeyAnZGlzcGxheSc6ICdpbmhlcml0JyB9KTtcblx0XHRcdFx0Y29uc29sZS5sb2coJ25vdyB1cGRhdGVkJyk7XG5cdFx0XHR9LCA1MDAwKTtcblx0XHRcdGNvbnNvbGUubG9nKCd0aW1lc2V0Jyk7XG5cdFx0fVxuXHR9KS5mYWlsKGZ1bmN0aW9uIChyZXNwb25zZSkge1xuXHRcdC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlLCQoJy5zZnNpX3BsdXNfYmxvY2snKSk7XG5cdFx0alF1ZXJ5KHRhcmdldCkuZmluZCgnLnNmc2lfcGx1c19ibG9jaycpLmh0bWwocmVzcG9uc2UucmVzcG9uc2VUZXh0LnJlcGxhY2UoJy9cXFxcL2cnLCAnJykpO1xuXHR9KTtcblx0Ly8gfSk7XG59XG5mdW5jdGlvbiByZW5kZXJBdXRvU29jaWFsSWNvbnMoKSB7XG5cdGlmICh3aW5kb3cuZ2FwaSkge1xuXHRcdHdpbmRvdy5nYXBpLnBsdXNvbmUuZ28oKTt3aW5kb3cuZ2FwaS5wbHVzLmdvKCk7d2luZG93LmdhcGkueXRzdWJzY3JpYmUuZ28oKTtcblx0fTtcblx0aWYgKHdpbmRvdy50d3R0cikge1xuXHRcdHdpbmRvdy50d3R0ci53aWRnZXRzLmxvYWQoKTtcblx0fTtcblx0aWYgKHdpbmRvdy5JTiAmJiB3aW5kb3cuSU4ucGFyc2UpIHtcblx0XHR3aW5kb3cuSU4ucGFyc2UoKTtcblx0fTtcblx0aWYgKHdpbmRvdy5hZGR0aGlzKSB7XG5cdFx0aWYgKHdpbmRvdy5hZGR0aGlzLnRvb2xib3gpIHtcblx0XHRcdHdpbmRvdy5hZGR0aGlzLnRvb2xib3goJy5hZGR0aGlzX2J1dHRvbi5zZmljbicpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR3aW5kb3cuYWRkdGhpcy5pbml0KCk7d2luZG93LmFkZHRoaXMudG9vbGJveCgnLmFkZHRoaXNfYnV0dG9uLnNmaWNuJyk7XG5cdFx0fVxuXHR9O1xuXHRpZiAod2luZG93LlBpblV0aWxzKSB7XG5cdFx0d2luZG93LlBpblV0aWxzLmJ1aWxkKCk7XG5cdH07XG5cdGlmICh3aW5kb3cuRkIpIHtcblx0XHRpZiAod2luZG93LkZCLlhGQk1MKSB7XG5cdFx0XHR3aW5kb3cuRkIuWEZCTUwucGFyc2UoKTtcblx0XHR9XG5cdH07XG59XG5pZiAodW5kZWZpbmVkID09PSB3aW5kb3cuc2ZzaV9wbHVzX2Zsb2F0X3dpZGdldCkge1xuXHR2YXIgc2ZzaV9wbHVzX2Zsb2F0X3dpZGdldCA9IGZ1bmN0aW9uIHNmc2lfcGx1c19mbG9hdF93aWRnZXQoKSB7XG5cdFx0cmV0dXJuO1xuXHR9O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2NrL2Jsb2NrLmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n");
|
88 |
|
89 |
/***/ }),
|
90 |
/* 2 */
|
dist/blocks.editor.build.css
CHANGED
@@ -113,8 +113,8 @@
|
|
113 |
vertical-align: top !important; }
|
114 |
|
115 |
.sfsi_plus_block_inspector h3, .sfsi_plus_block_inspector label {
|
116 |
-
padding-top:
|
117 |
-
margin-bottom:
|
118 |
|
119 |
.sfsi_plus_block_inspector select, .sfsi_plus_block_inspector input[type="text"], .sfsi_plus_block_inspector input[type="number"], .sfsi_plus_block_inspector input[type="email"], .sfsi_plus_block_inspector textarea {
|
120 |
width: 100%; }
|
@@ -148,6 +148,15 @@
|
|
148 |
.sfsi_plus_block_inspector .sfsi_plus_block_ad_heading, .sfsi_plus_block_inspector .sfsi_plus_block_ad_body {
|
149 |
text-align: center; }
|
150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
.sfsi_plus_block_wrapper .sfsi_plus_block, .sfsi_plus_block_wrapper .sfsi_plus_block_text_before_icon {
|
152 |
display: inline-block; }
|
153 |
|
113 |
vertical-align: top !important; }
|
114 |
|
115 |
.sfsi_plus_block_inspector h3, .sfsi_plus_block_inspector label {
|
116 |
+
padding-top: 12px;
|
117 |
+
margin-bottom: 5px; }
|
118 |
|
119 |
.sfsi_plus_block_inspector select, .sfsi_plus_block_inspector input[type="text"], .sfsi_plus_block_inspector input[type="number"], .sfsi_plus_block_inspector input[type="email"], .sfsi_plus_block_inspector textarea {
|
120 |
width: 100%; }
|
148 |
.sfsi_plus_block_inspector .sfsi_plus_block_ad_heading, .sfsi_plus_block_inspector .sfsi_plus_block_ad_body {
|
149 |
text-align: center; }
|
150 |
|
151 |
+
.sfsi_plus_block_inspector .sfsi_plus_block_icontype_desc {
|
152 |
+
margin-bottom: 0; }
|
153 |
+
|
154 |
+
.sfsi_plus_block_inspector input[type=checkbox] {
|
155 |
+
margin-right: 5px !important; }
|
156 |
+
|
157 |
+
.sfsi_plus_block_inspector .sfsi_plus_block_notes_list {
|
158 |
+
color: #000; }
|
159 |
+
|
160 |
.sfsi_plus_block_wrapper .sfsi_plus_block, .sfsi_plus_block_wrapper .sfsi_plus_block_text_before_icon {
|
161 |
display: inline-block; }
|
162 |
|
images/Chat_with_us_bar.svg
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 329 64"><defs><style>.cls-1{fill:#eee;}.cls-2{fill:#d6d6d6;}.cls-3{fill:#00b050;}.cls-4{fill:#8cd4ad;}.cls-5{fill:#272727;}.cls-6{fill:#9e9e9e;}</style></defs><title>Chat with us bar</title><path class="cls-1" d="M323.06,0H5.94A5.94,5.94,0,0,0,0,5.94V64H329V5.94A5.94,5.94,0,0,0,323.06,0Z"/><path class="cls-2" d="M323.06,2A4,4,0,0,1,327,5.94V62H2V5.94A4,4,0,0,1,5.94,2H323.06m0-2H5.94A5.94,5.94,0,0,0,0,5.94V64H329V5.94A5.94,5.94,0,0,0,323.06,0Z"/><path class="cls-3" d="M51.28,15H23.72A4.72,4.72,0,0,0,19,19.72V34.28A4.72,4.72,0,0,0,23.72,39h.22L22.5,44.5,30.44,39H51.28A4.72,4.72,0,0,0,56,34.28V19.72A4.72,4.72,0,0,0,51.28,15ZM28.5,28.5a2,2,0,1,1,2-2A2,2,0,0,1,28.5,28.5Zm9,0a2,2,0,1,1,2-2A2,2,0,0,1,37.5,28.5Zm9,0a2,2,0,1,1,2-2A2,2,0,0,1,46.5,28.5Z"/><path class="cls-2" d="M323.06,2A4,4,0,0,1,327,5.94V62H2V5.94A4,4,0,0,1,5.94,2H323.06m0-2H5.94A5.94,5.94,0,0,0,0,5.94V64H329V5.94A5.94,5.94,0,0,0,323.06,0Z"/><path class="cls-4" d="M59.5,24.09V36.78a4.72,4.72,0,0,1-4.72,4.72H31.66a4,4,0,0,0,3.86,3H53.26L59.87,49,58.8,44.47H59a4,4,0,0,0,4-4V28.05A4,4,0,0,0,59.5,24.09Z"/><path class="cls-5" d="M94.84,32.71l-2.31-1.77a7.11,7.11,0,0,1-3.77,1c-4.92,0-7.21-3.93-7.21-7.77,0-4.59,2.66-7.77,7.21-7.77S96,19.57,96,24.16a8.27,8.27,0,0,1-2.16,5.77l2,1.59Zm-4.43-5.44,2,1.54A6.35,6.35,0,0,0,94,24.16c0-3.52-1.92-6-5.23-6s-5.23,2.51-5.23,6,1.71,6,5.23,6A5.53,5.53,0,0,0,91,29.76L89.4,28.51Z"/><path class="cls-5" d="M106.93,31.55h-1.75v-1.5h0a3.93,3.93,0,0,1-3.3,1.83c-1.67,0-3.77-.68-3.77-3.75V20.78h1.85v6.67c0,1.88.54,2.82,2.31,2.82,1,0,2.84-.66,2.84-3.58V20.78h1.85Z"/><path class="cls-5" d="M118.76,28.12a4.64,4.64,0,0,1-4.7,3.77c-2.88,0-5-1.87-5-5.79s2.78-5.64,4.86-5.64c2.95,0,5,1.77,5,5.44v.93H111c0,2.1,1.15,3.46,3,3.46A2.86,2.86,0,0,0,117,28.12ZM117,25.33c0-2.1-1.22-3.28-3-3.28a3.17,3.17,0,0,0-3,3.28Z"/><path class="cls-5" d="M122.14,28.16c.08,1.59,1.17,2.25,2.84,2.25s2.55-.76,2.55-1.77c0-2.39-6.78-.95-6.78-4.74,0-2.25,1.75-3.44,4-3.44,2.66,0,4.14,1.46,4.16,3.38H127.2c-.1-1.21-.91-1.9-2.53-1.9-1.4,0-2.18.64-2.18,1.61,0,2.49,6.78.89,6.78,4.7,0,2-1.4,3.65-4.31,3.65-2.68,0-4.47-1.11-4.55-3.73Z"/><path class="cls-5" d="M133.57,22.26v7c0,.84.7.84,1.07.84h.64v1.46a11,11,0,0,1-1.36.14c-1.81,0-2.2-1-2.2-2.31V22.26h-1.44V20.78h1.44v-3h1.85v3h1.71v1.48Z"/><path class="cls-5" d="M137.07,16.89h1.85V19h-1.85Zm0,3.89h1.85V31.55h-1.85Z"/><path class="cls-5" d="M146,31.88c-3.13,0-5-2.21-5-5.73s1.87-5.71,5-5.71,5,2.21,5,5.71S149.14,31.88,146,31.88Zm0-9.83c-2.06,0-3.15,1.71-3.15,4.1S144,30.28,146,30.28s3.15-1.71,3.15-4.12S148.07,22.06,146,22.06Z"/><path class="cls-5" d="M153,20.78h1.75v1.5h0a3.93,3.93,0,0,1,3.3-1.83c1.67,0,3.77.68,3.77,3.75v7.35H160V24.88c0-1.87-.54-2.82-2.31-2.82-1,0-2.84.66-2.84,3.58v5.91H153Z"/><path class="cls-5" d="M165.65,28.16c.08,1.59,1.17,2.25,2.84,2.25s2.55-.76,2.55-1.77c0-2.39-6.78-.95-6.78-4.74,0-2.25,1.75-3.44,4-3.44,2.66,0,4.14,1.46,4.16,3.38h-1.73c-.1-1.21-.91-1.9-2.53-1.9-1.4,0-2.18.64-2.18,1.61,0,2.49,6.78.89,6.78,4.7,0,2-1.4,3.65-4.31,3.65-2.68,0-4.47-1.11-4.55-3.73Z"/><path class="cls-5" d="M175,21.4v-.56a4.34,4.34,0,0,1,4.61-4.28c2.66,0,4.47,1.59,4.47,4.06,0,3.11-3.79,3.54-3.79,6.63v.54h-1.85v-.58c0-3.5,3.67-4.1,3.67-6.57a2.32,2.32,0,0,0-2.53-2.47c-1.5,0-2.68.84-2.72,3.23Zm3.32,7.93h2.1v2.22h-2.1Z"/><path class="cls-5" d="M198.32,30.2a4.41,4.41,0,0,0,4.3-3.93h1.92a6.2,6.2,0,0,1-6.22,5.67c-2.7,0-6.84-1.48-6.84-7.58s3.67-8,6.9-8c4,0,5.89,2.68,6.06,4.76H202.5a4,4,0,0,0-4.06-3c-3,0-5,2.35-5,6S195.42,30.2,198.32,30.2Z"/><path class="cls-5" d="M206.85,16.76h1.85V22.2h0a3.82,3.82,0,0,1,3.19-1.75c1.67,0,3.77.68,3.77,3.75v7.35h-1.85V24.47c0-1.46-.41-2.41-2.14-2.41-1.48,0-3,.87-3,3.58v5.91h-1.85Z"/><path class="cls-5" d="M218.34,24c.08-2.64,1.9-3.56,4.43-3.56,2.08,0,4.1.82,4.1,3V29.7a.57.57,0,0,0,.6.64,3.14,3.14,0,0,0,.6-.08v1.28a3.39,3.39,0,0,1-1,.17c-1.28,0-1.85-.41-2-1.57a4.87,4.87,0,0,1-4,1.75,3.11,3.11,0,0,1-3.3-3.11,3.31,3.31,0,0,1,3.23-3.38l3-.37c.58-.06.93-.41.93-1.26,0-1.3-.89-1.83-2.47-1.83s-2.41.7-2.51,2.08ZM225,26.08a7.79,7.79,0,0,1-3,.68c-1.34.19-2.31.68-2.31,1.75a1.78,1.78,0,0,0,2,1.9c1.09,0,3.34-.74,3.34-2.6Z"/><path class="cls-5" d="M232,22.26v7c0,.84.7.84,1.07.84h.64v1.46a11,11,0,0,1-1.36.14c-1.81,0-2.2-1-2.2-2.31V22.26h-1.44V20.78h1.44v-3H232v3h1.71v1.48Z"/><path class="cls-5" d="M245.19,31.55h-1.87L240.2,20.78h2l2.06,8.47h0l2.08-8.47h2l2.1,8.47h0l2.18-8.47h1.81l-3.13,10.77h-1.87l-2.18-8.34h0Z"/><path class="cls-5" d="M256.15,16.89H258V19h-1.85Zm0,3.89H258V31.55h-1.85Z"/><path class="cls-5" d="M262.94,22.26v7c0,.84.7.84,1.07.84h.64v1.46a11,11,0,0,1-1.36.14c-1.81,0-2.2-1-2.2-2.31V22.26h-1.44V20.78h1.44v-3h1.85v3h1.71v1.48Z"/><path class="cls-5" d="M266.38,16.76h1.85V22.2h0a3.82,3.82,0,0,1,3.19-1.75c1.67,0,3.77.68,3.77,3.75v7.35h-1.85V24.47c0-1.46-.41-2.41-2.14-2.41-1.48,0-3,.87-3,3.58v5.91h-1.85Z"/><path class="cls-5" d="M292.42,31.55h-1.75v-1.5h0a3.93,3.93,0,0,1-3.3,1.83c-1.67,0-3.77-.68-3.77-3.75V20.78h1.85v6.67c0,1.88.54,2.82,2.31,2.82,1,0,2.84-.66,2.84-3.58V20.78h1.85Z"/><path class="cls-5" d="M296.17,28.16c.08,1.59,1.17,2.25,2.84,2.25s2.55-.76,2.55-1.77c0-2.39-6.78-.95-6.78-4.74,0-2.25,1.75-3.44,4-3.44,2.66,0,4.14,1.46,4.16,3.38h-1.73c-.1-1.21-.91-1.9-2.53-1.9-1.4,0-2.18.64-2.18,1.61,0,2.49,6.78.89,6.78,4.7,0,2-1.4,3.65-4.31,3.65-2.68,0-4.47-1.11-4.55-3.73Z"/><path class="cls-5" d="M305.83,29.33h2.1v2.22h-2.1Zm.06-12.57h2v4.88L307.4,28h-1l-.47-6.39Z"/><path class="cls-6" d="M82.39,40.44h6v.86H85.86v6.46h-1V41.3H82.39Z"/><path class="cls-6" d="M89.12,40.44H90v2.69h0a1.89,1.89,0,0,1,1.58-.87,1.69,1.69,0,0,1,1.87,1.86v3.64h-.92V44.25c0-.72-.2-1.19-1.06-1.19S90,43.49,90,44.83v2.93h-.92Z"/><path class="cls-6" d="M94.82,40.5h.92v1h-.92Zm0,1.93h.92v5.33h-.92Z"/><path class="cls-6" d="M97.63,46.08c0,.78.58,1.11,1.41,1.11s1.26-.38,1.26-.88c0-1.18-3.35-.47-3.35-2.34,0-1.11.87-1.7,2-1.7,1.31,0,2,.72,2.06,1.67h-.86c-.05-.6-.45-.94-1.25-.94s-1.08.32-1.08.79c0,1.23,3.35.44,3.35,2.32,0,1-.69,1.8-2.13,1.8s-2.21-.55-2.25-1.84Z"/><path class="cls-6" d="M107,47.76H106l-1.54-5.33h1l1,4.19h0l1-4.19h1l1,4.19h0l1.08-4.19h.9L110,47.76h-.93L108,43.63h0Z"/><path class="cls-6" d="M112.38,40.5h.92v1h-.92Zm0,1.93h.92v5.33h-.92Z"/><path class="cls-6" d="M115.57,47.76h-.92V40.44h.92Z"/><path class="cls-6" d="M117.83,47.76h-.92V40.44h.92Z"/><path class="cls-6" d="M126.55,46.06a2.29,2.29,0,0,1-2.32,1.87c-1.43,0-2.49-.93-2.49-2.86a2.55,2.55,0,0,1,2.41-2.79c1.46,0,2.47.88,2.47,2.69v.46h-3.89c0,1,.57,1.71,1.5,1.71a1.42,1.42,0,0,0,1.45-1.07Zm-.86-1.38a1.45,1.45,0,0,0-1.48-1.62,1.57,1.57,0,0,0-1.5,1.62Z"/><path class="cls-6" d="M128.22,46.08c0,.78.58,1.11,1.41,1.11s1.26-.38,1.26-.88c0-1.18-3.35-.47-3.35-2.34,0-1.11.87-1.7,2-1.7,1.31,0,2,.72,2.06,1.67h-.86c-.05-.6-.45-.94-1.25-.94s-1.08.32-1.08.79c0,1.23,3.35.44,3.35,2.32,0,1-.69,1.8-2.13,1.8s-2.21-.55-2.25-1.84Z"/><path class="cls-6" d="M133.88,43.16v3.46c0,.42.35.42.53.42h.32v.72a5.37,5.37,0,0,1-.67.07c-.9,0-1.09-.5-1.09-1.14V43.16h-.71v-.73H133V40.94h.92v1.49h.85v.73Z"/><path class="cls-6" d="M135.5,44c0-1.3.94-1.76,2.19-1.76,1,0,2,.41,2,1.48v3.1a.28.28,0,0,0,.3.32,1.58,1.58,0,0,0,.3,0v.63a1.72,1.72,0,0,1-.49.08c-.63,0-.92-.2-1-.77a2.41,2.41,0,0,1-2,.87,1.54,1.54,0,0,1-1.63-1.54,1.64,1.64,0,0,1,1.6-1.67l1.5-.18c.29,0,.46-.2.46-.62,0-.64-.44-.91-1.22-.91s-1.19.35-1.24,1Zm3.3,1a3.85,3.85,0,0,1-1.48.34c-.66.09-1.14.34-1.14.87a.88.88,0,0,0,1,.94c.54,0,1.65-.37,1.65-1.28Z"/><path class="cls-6" d="M141.08,40.44H142v2.73a1.84,1.84,0,0,1,1.6-.91c1.42,0,2.22,1.17,2.22,2.66,0,1.28-.53,3-2.34,3A1.61,1.61,0,0,1,142,47h0v.72h-.86Zm.92,4.88c0,1.42.89,1.8,1.47,1.8,1,0,1.44-.9,1.44-2.07,0-.68-.07-2-1.46-2S142,44.46,142,45.32Z"/><path class="cls-6" d="M147.77,47.76h-.92V40.44h.92Z"/><path class="cls-6" d="M149.12,40.5H150v1h-.92Zm0,1.93H150v5.33h-.92Z"/><path class="cls-6" d="M151.92,46.08c0,.78.58,1.11,1.41,1.11s1.26-.38,1.26-.88c0-1.18-3.35-.47-3.35-2.34,0-1.11.87-1.7,2-1.7,1.31,0,2,.72,2.06,1.67h-.86c-.05-.6-.45-.94-1.25-.94s-1.08.32-1.08.79c0,1.23,3.35.44,3.35,2.32,0,1-.69,1.8-2.13,1.8s-2.21-.55-2.25-1.84Z"/><path class="cls-6" d="M156.45,40.44h.92v2.69h0a1.89,1.89,0,0,1,1.58-.87,1.69,1.69,0,0,1,1.87,1.86v3.64h-.92V44.25c0-.72-.2-1.19-1.06-1.19s-1.49.43-1.49,1.77v2.93h-.92Z"/><path class="cls-6" d="M165,44c0-1.3.94-1.76,2.19-1.76,1,0,2,.41,2,1.48v3.1a.28.28,0,0,0,.29.32,1.57,1.57,0,0,0,.3,0v.63a1.72,1.72,0,0,1-.49.08c-.63,0-.92-.2-1-.77a2.41,2.41,0,0,1-2,.87,1.54,1.54,0,0,1-1.63-1.54,1.64,1.64,0,0,1,1.6-1.67l1.5-.18c.29,0,.46-.2.46-.62,0-.64-.44-.91-1.22-.91s-1.19.35-1.24,1Zm3.3,1a3.85,3.85,0,0,1-1.48.34c-.66.09-1.14.34-1.14.87a.88.88,0,0,0,1,.94c.54,0,1.65-.37,1.65-1.28Z"/><path class="cls-6" d="M177.68,45.88a2.14,2.14,0,0,1-2.28,2c-.95,0-2.22-.65-2.22-2.8,0-1.76,1.08-2.85,2.31-2.85a2,2,0,0,1,2.19,2h-.86a1.17,1.17,0,0,0-1.23-1.16c-1,0-1.5.86-1.5,2.11,0,1.41.54,2,1.44,2a1.36,1.36,0,0,0,1.29-1.3Z"/><path class="cls-6" d="M180.75,47.92c-1.55,0-2.48-1.09-2.48-2.83s.93-2.82,2.48-2.82,2.48,1.09,2.48,2.82S182.3,47.92,180.75,47.92Zm0-4.86c-1,0-1.56.85-1.56,2s.54,2,1.56,2,1.56-.85,1.56-2S181.77,43.06,180.75,43.06Z"/><path class="cls-6" d="M184.23,42.43h.87v.74h0a1.94,1.94,0,0,1,1.63-.91,1.69,1.69,0,0,1,1.87,1.86v3.64h-.92v-3.3c0-.93-.26-1.4-1.14-1.4-.51,0-1.41.33-1.41,1.77v2.93h-.92Z"/><path class="cls-6" d="M189.9,42.43h.87v.74h0a1.94,1.94,0,0,1,1.63-.91,1.69,1.69,0,0,1,1.87,1.86v3.64h-.92v-3.3c0-.93-.26-1.4-1.14-1.4-.51,0-1.41.33-1.41,1.77v2.93h-.92Z"/><path class="cls-6" d="M200.14,46.06a2.29,2.29,0,0,1-2.32,1.87c-1.43,0-2.49-.93-2.49-2.86a2.55,2.55,0,0,1,2.41-2.79c1.46,0,2.47.88,2.47,2.69v.46H196.3c0,1,.57,1.71,1.5,1.71a1.41,1.41,0,0,0,1.45-1.07Zm-.86-1.38a1.45,1.45,0,0,0-1.48-1.62,1.57,1.57,0,0,0-1.5,1.62Z"/><path class="cls-6" d="M205.46,45.88a2.14,2.14,0,0,1-2.28,2c-.95,0-2.22-.65-2.22-2.8,0-1.76,1.08-2.85,2.31-2.85a2,2,0,0,1,2.19,2h-.86a1.17,1.17,0,0,0-1.23-1.16c-1,0-1.5.86-1.5,2.11,0,1.41.54,2,1.44,2a1.36,1.36,0,0,0,1.29-1.3Z"/><path class="cls-6" d="M207.47,43.16v3.46c0,.42.35.42.53.42h.32v.72a5.35,5.35,0,0,1-.67.07c-.9,0-1.09-.5-1.09-1.14V43.16h-.71v-.73h.71V40.94h.92v1.49h.85v.73Z"/><path class="cls-6" d="M209.21,40.5h.92v1h-.92Zm0,1.93h.92v5.33h-.92Z"/><path class="cls-6" d="M213.63,47.92c-1.55,0-2.48-1.09-2.48-2.83s.93-2.82,2.48-2.82,2.48,1.09,2.48,2.82S215.18,47.92,213.63,47.92Zm0-4.86c-1,0-1.56.85-1.56,2s.54,2,1.56,2,1.56-.85,1.56-2S214.65,43.06,213.63,43.06Z"/><path class="cls-6" d="M217.11,42.43H218v.74h0a1.94,1.94,0,0,1,1.63-.91,1.69,1.69,0,0,1,1.87,1.86v3.64h-.92v-3.3c0-.93-.26-1.4-1.14-1.4-.51,0-1.41.33-1.41,1.77v2.93h-.92Z"/><path class="cls-6" d="M226.75,43.16v3.46c0,.42.35.42.53.42h.32v.72a5.35,5.35,0,0,1-.67.07c-.9,0-1.09-.5-1.09-1.14V43.16h-.71v-.73h.71V40.94h.92v1.49h.85v.73Z"/><path class="cls-6" d="M230.44,47.92c-1.55,0-2.48-1.09-2.48-2.83s.93-2.82,2.48-2.82,2.48,1.09,2.48,2.82S232,47.92,230.44,47.92Zm0-4.86c-1,0-1.56.85-1.56,2s.54,2,1.56,2,1.56-.85,1.56-2S231.46,43.06,230.44,43.06Z"/><path class="cls-6" d="M237.88,43.16v3.46c0,.42.35.42.53.42h.32v.72a5.35,5.35,0,0,1-.67.07c-.9,0-1.09-.5-1.09-1.14V43.16h-.71v-.73H237V40.94h.92v1.49h.85v.73Z"/><path class="cls-6" d="M239.59,40.44h.92v2.69h0a1.89,1.89,0,0,1,1.58-.87A1.69,1.69,0,0,1,244,44.12v3.64h-.92V44.25c0-.72-.2-1.19-1.06-1.19s-1.49.43-1.49,1.77v2.93h-.92Z"/><path class="cls-6" d="M249.82,46.06a2.29,2.29,0,0,1-2.32,1.87c-1.43,0-2.49-.93-2.49-2.86a2.55,2.55,0,0,1,2.41-2.79c1.46,0,2.47.88,2.47,2.69v.46H246c0,1,.57,1.71,1.5,1.71a1.41,1.41,0,0,0,1.45-1.07ZM249,44.68a1.45,1.45,0,0,0-1.48-1.62,1.57,1.57,0,0,0-1.5,1.62Z"/><path class="cls-6" d="M258,45.88a2.14,2.14,0,0,1-2.28,2c-.95,0-2.22-.65-2.22-2.8,0-1.76,1.08-2.85,2.31-2.85a2,2,0,0,1,2.19,2h-.86a1.17,1.17,0,0,0-1.23-1.16c-1,0-1.5.86-1.5,2.11,0,1.41.54,2,1.44,2a1.36,1.36,0,0,0,1.29-1.3Z"/><path class="cls-6" d="M258.86,40.44h.92v2.69h0a1.89,1.89,0,0,1,1.58-.87,1.69,1.69,0,0,1,1.87,1.86v3.64h-.92V44.25c0-.72-.2-1.19-1.06-1.19s-1.49.43-1.49,1.77v2.93h-.92Z"/><path class="cls-6" d="M264.55,44c0-1.3.94-1.76,2.19-1.76,1,0,2,.41,2,1.48v3.1a.28.28,0,0,0,.29.32,1.57,1.57,0,0,0,.3,0v.63a1.72,1.72,0,0,1-.49.08c-.63,0-.92-.2-1-.77a2.41,2.41,0,0,1-2,.87,1.54,1.54,0,0,1-1.63-1.54,1.64,1.64,0,0,1,1.6-1.67l1.5-.18c.29,0,.46-.2.46-.62,0-.64-.44-.91-1.22-.91s-1.19.35-1.24,1Zm3.3,1a3.85,3.85,0,0,1-1.48.34c-.66.09-1.14.34-1.14.87a.88.88,0,0,0,1,.94c.54,0,1.65-.37,1.65-1.28Z"/><path class="cls-6" d="M271.33,43.16v3.46c0,.42.35.42.53.42h.32v.72a5.35,5.35,0,0,1-.67.07c-.9,0-1.09-.5-1.09-1.14V43.16h-.71v-.73h.71V40.94h.92v1.49h.85v.73Z"/><path class="cls-6" d="M276.44,46.08c0,.78.58,1.11,1.41,1.11s1.26-.38,1.26-.88c0-1.18-3.35-.47-3.35-2.34,0-1.11.87-1.7,2-1.7,1.31,0,2,.72,2.06,1.67h-.86c-.05-.6-.45-.94-1.25-.94s-1.08.32-1.08.79c0,1.23,3.35.44,3.35,2.32,0,1-.69,1.8-2.13,1.8s-2.21-.55-2.25-1.84Z"/><path class="cls-6" d="M285.54,46.06a2.29,2.29,0,0,1-2.32,1.87c-1.43,0-2.49-.93-2.49-2.86a2.55,2.55,0,0,1,2.41-2.79c1.46,0,2.47.88,2.47,2.69v.46H281.7c0,1,.57,1.71,1.5,1.71a1.42,1.42,0,0,0,1.45-1.07Zm-.86-1.38a1.45,1.45,0,0,0-1.48-1.62,1.57,1.57,0,0,0-1.5,1.62Z"/><path class="cls-6" d="M286.77,42.43h.86v.88h0a1.73,1.73,0,0,1,1.5-1,.75.75,0,0,1,.23,0v.92H289a1.36,1.36,0,0,0-1.36,1.44v3.11h-.92Z"/><path class="cls-6" d="M293.43,42.43h1l-2,5.33h-1l-1.95-5.33h1l1.39,4.34h0Z"/><path class="cls-6" d="M299.5,46.06a2.29,2.29,0,0,1-2.32,1.87c-1.43,0-2.49-.93-2.49-2.86a2.55,2.55,0,0,1,2.41-2.79c1.46,0,2.47.88,2.47,2.69v.46h-3.89c0,1,.57,1.71,1.5,1.71a1.42,1.42,0,0,0,1.45-1.07Zm-.86-1.38a1.45,1.45,0,0,0-1.48-1.62,1.57,1.57,0,0,0-1.5,1.62Z"/><path class="cls-6" d="M300.73,42.43h.86v.88h0a1.73,1.73,0,0,1,1.5-1,.75.75,0,0,1,.23,0v.92H303a1.36,1.36,0,0,0-1.36,1.44v3.11h-.92Z"/><path class="cls-6" d="M304.36,46.08c0,.78.58,1.11,1.41,1.11s1.26-.38,1.26-.88c0-1.18-3.35-.47-3.35-2.34,0-1.11.87-1.7,2-1.7,1.32,0,2,.72,2.06,1.67h-.86c-.05-.6-.45-.94-1.25-.94s-1.08.32-1.08.79c0,1.23,3.35.44,3.35,2.32,0,1-.69,1.8-2.13,1.8s-2.21-.55-2.25-1.84Z"/></svg>
|
js/custom-admin.js
CHANGED
@@ -2163,4 +2163,9 @@ function sfsi_close_offline_chat(e){
|
|
2163 |
|
2164 |
SFSI('#sfsi_plus_jivo_offline_chat').hide();
|
2165 |
SFSI('#sfsi_dummy_chat_icon').show();
|
|
|
|
|
|
|
|
|
|
|
2166 |
}
|
2163 |
|
2164 |
SFSI('#sfsi_plus_jivo_offline_chat').hide();
|
2165 |
SFSI('#sfsi_dummy_chat_icon').show();
|
2166 |
+
}
|
2167 |
+
if(undefined == window.sfsi_plus_float_widget){
|
2168 |
+
function sfsi_plus_float_widget(data=null,data2=null,data3=null){
|
2169 |
+
return true;
|
2170 |
+
}
|
2171 |
}
|
libs/controllers/sfsi_socialhelper.php
CHANGED
@@ -65,6 +65,8 @@ class sfsi_plus_SocialHelper
|
|
65 |
$appsecret = 'a780eb3d3687a084d6e5919585cc6a12';
|
66 |
$json_url ='https://graph.facebook.com/'.$url.'?fields=fan_count&access_token='.$appid.'|'.$appsecret;
|
67 |
$json_string = $this->file_get_contents_curl($json_url);
|
|
|
|
|
68 |
$json = json_decode($json_string, true);
|
69 |
return isset($json['fan_count'])? $json['fan_count']:0;
|
70 |
}
|
@@ -104,18 +106,54 @@ class sfsi_plus_SocialHelper
|
|
104 |
/* get google+ likes */
|
105 |
function sfsi_getPlus1($url)
|
106 |
{
|
107 |
-
$
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
|
118 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
119 |
|
120 |
/* get youtube subscribers */
|
121 |
function sfsi_get_youtube($user)
|
@@ -190,40 +228,44 @@ class sfsi_plus_SocialHelper
|
|
190 |
/* send curl request */
|
191 |
private function file_get_contents_curl($url)
|
192 |
{
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
{
|
205 |
-
|
|
|
|
|
|
|
|
|
|
|
206 |
}
|
207 |
-
return $cont;
|
208 |
}
|
209 |
|
210 |
private function get_content_curl($url)
|
211 |
{
|
212 |
-
$
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
|
|
225 |
}
|
226 |
-
return $cont;
|
227 |
}
|
228 |
|
229 |
/* convert no. to 2K,3M format */
|
@@ -520,31 +562,25 @@ class sfsi_plus_SocialHelper
|
|
520 |
/* get no of subscribers from specificfeeds for current blog count*/
|
521 |
public function sfsi_plus_getFeedSubscriberCount($feedid)
|
522 |
{
|
523 |
-
$
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
)
|
536 |
-
/* Send the request & save response to $resp */
|
537 |
-
$resp = curl_exec($curl);
|
538 |
|
539 |
-
$httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
540 |
-
|
541 |
if($httpcode == 200){
|
542 |
|
543 |
-
if(!empty($resp))
|
544 |
{
|
545 |
-
$resp = json_decode($resp);
|
546 |
-
|
547 |
-
curl_close($curl);
|
548 |
|
549 |
$feeddata = stripslashes_deep($resp->subscriber_count);
|
550 |
}
|
65 |
$appsecret = 'a780eb3d3687a084d6e5919585cc6a12';
|
66 |
$json_url ='https://graph.facebook.com/'.$url.'?fields=fan_count&access_token='.$appid.'|'.$appsecret;
|
67 |
$json_string = $this->file_get_contents_curl($json_url);
|
68 |
+
// return $json_string;
|
69 |
+
// var_dump($json_string);die();
|
70 |
$json = json_decode($json_string, true);
|
71 |
return isset($json['fan_count'])? $json['fan_count']:0;
|
72 |
}
|
106 |
/* get google+ likes */
|
107 |
function sfsi_getPlus1($url)
|
108 |
{
|
109 |
+
// $body= array(
|
110 |
+
// array(
|
111 |
+
// "method"=>"pos.plusones.get",
|
112 |
+
// "id"=>"p",
|
113 |
+
// "params"=>array(
|
114 |
+
// "nolog"=>true,
|
115 |
+
// "id"=>$url,
|
116 |
+
// "source"=>"widget",
|
117 |
+
// "userId"=>"@viewer",
|
118 |
+
// "groupId"=>"@self"
|
119 |
+
// ),
|
120 |
+
// "jsonrpc"=>"2.0",
|
121 |
+
// "key"=>"p",
|
122 |
+
// "apiVersion"=>"v1"
|
123 |
+
// )
|
124 |
+
// );
|
125 |
+
$body = '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]';
|
126 |
+
$args = array(
|
127 |
+
'body' => $body,
|
128 |
+
'blocking' => true,
|
129 |
+
'header' => array('Content-type: application/json'),
|
130 |
+
'sslverify' => true
|
131 |
+
);
|
132 |
+
// var_dump($args);
|
133 |
+
$resp = wp_remote_post( "https://clients6.google.com/rpc", $args );
|
134 |
+
if ( is_wp_error( $resp ) ) {
|
135 |
+
var_dump($resp->get_error_message());
|
136 |
+
return 0;
|
137 |
+
} else{
|
138 |
+
$json = json_decode($resp['body'], true);
|
139 |
+
// var_dump($resp);
|
140 |
+
if(isset($json[0]['error'])){return 0;}
|
141 |
return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
|
142 |
}
|
143 |
+
exit;
|
144 |
+
// $curl = curl_init();
|
145 |
+
// curl_setopt($curl, CURLOPT_URL, "https://clients6.google.com/rpc");
|
146 |
+
// curl_setopt($curl, CURLOPT_POST, 1);
|
147 |
+
// curl_setopt($curl, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
|
148 |
+
// curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
149 |
+
// curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
|
150 |
+
// $curl_results = curl_exec ($curl);
|
151 |
+
// curl_close ($curl);
|
152 |
+
// var_dump($curl_results);
|
153 |
+
// $json = json_decode($curl_results, true);
|
154 |
+
// if(isset($json[0]['error'])){return 0;}
|
155 |
+
// return intval( $json[0]['result']['metadata']['globalCounts']['count'] );
|
156 |
+
}
|
157 |
|
158 |
/* get youtube subscribers */
|
159 |
function sfsi_get_youtube($user)
|
228 |
/* send curl request */
|
229 |
private function file_get_contents_curl($url)
|
230 |
{
|
231 |
+
if ( ! ini_get( 'safe_mode' ) ){
|
232 |
+
set_time_limit( $this->timeout + 10 );
|
233 |
+
}
|
234 |
+
$args = array(
|
235 |
+
'blocking' => true,
|
236 |
+
'user-agent'=> $_SERVER['HTTP_USER_AGENT'],
|
237 |
+
'timeout' => $this->timeout,
|
238 |
+
'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
|
239 |
+
'sslverify' => false
|
240 |
+
);
|
241 |
+
$resp = wp_remote_get( $url, $args );
|
242 |
+
if ( is_wp_error( $resp ) ) {
|
243 |
+
update_option("sfsi_plus_curlErrorNotices", "yes");
|
244 |
+
update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
|
245 |
+
return null;
|
246 |
+
} else {
|
247 |
+
// var_dump($resp['body']);
|
248 |
+
return $resp['body'];
|
249 |
}
|
|
|
250 |
}
|
251 |
|
252 |
private function get_content_curl($url)
|
253 |
{
|
254 |
+
$args = array(
|
255 |
+
'body' => $postto_array,
|
256 |
+
'blocking' => true,
|
257 |
+
'user-agent' => 'sf rss request',
|
258 |
+
'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
|
259 |
+
'sslverify' => false
|
260 |
+
);
|
261 |
+
$resp = wp_remote_get( $url, $args );
|
262 |
+
if ( is_wp_error( $resp ) ) {
|
263 |
+
update_option("sfsi_plus_curlErrorNotices", "yes");
|
264 |
+
update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
|
265 |
+
return null;
|
266 |
+
} else {
|
267 |
+
return $resp['body'];
|
268 |
}
|
|
|
269 |
}
|
270 |
|
271 |
/* convert no. to 2K,3M format */
|
562 |
/* get no of subscribers from specificfeeds for current blog count*/
|
563 |
public function sfsi_plus_getFeedSubscriberCount($feedid)
|
564 |
{
|
565 |
+
$postto_array = array(
|
566 |
+
'feed_id' => $feedid,
|
567 |
+
'v' => 'newplugincount'
|
568 |
+
);
|
569 |
+
$args = array(
|
570 |
+
'body' => $postto_array,
|
571 |
+
'blocking' => true,
|
572 |
+
'user-agent' => 'sf rss request',
|
573 |
+
'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
|
574 |
+
'sslverify' => true
|
575 |
+
);
|
576 |
+
$resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/wpCountSubscriber', $args );
|
577 |
+
$httpcode = wp_remote_retrieve_response_code($resp);
|
|
|
|
|
578 |
|
|
|
|
|
579 |
if($httpcode == 200){
|
580 |
|
581 |
+
if(!empty($resp["body"]))
|
582 |
{
|
583 |
+
$resp = json_decode($resp["body"]);
|
|
|
|
|
584 |
|
585 |
$feeddata = stripslashes_deep($resp->subscriber_count);
|
586 |
}
|
libs/sfsi_Init_JqueryCss.php
CHANGED
@@ -65,6 +65,8 @@ function sfsiplus_plugin_back_enqueue_script()
|
|
65 |
/* initilaize the ajax url in javascript */
|
66 |
wp_localize_script( 'SFSIPLUSCustomJs', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
|
67 |
wp_localize_script( 'SFSIPLUSCustomValidateJs', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ),'plugin_url'=> SFSI_PLUS_PLUGURL) );
|
|
|
|
|
68 |
}
|
69 |
}
|
70 |
}
|
@@ -98,6 +100,7 @@ function sfsiplus_plugin_front_enqueue_script()
|
|
98 |
|
99 |
/* initilaize the ajax url in javascript */
|
100 |
wp_localize_script( 'SFSIPLUSCustomJs', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ),'plugin_url'=> SFSI_PLUS_PLUGURL) );
|
|
|
101 |
}
|
102 |
add_action( 'wp_enqueue_scripts', 'sfsiplus_plugin_front_enqueue_script' );
|
103 |
?>
|
65 |
/* initilaize the ajax url in javascript */
|
66 |
wp_localize_script( 'SFSIPLUSCustomJs', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
|
67 |
wp_localize_script( 'SFSIPLUSCustomValidateJs', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ),'plugin_url'=> SFSI_PLUS_PLUGURL) );
|
68 |
+
wp_localize_script( 'SFSIPLUSCustomJs', 'sfsi_plus_links', array( 'admin_url' => admin_url('/'),'plugin_dir_url'=> SFSI_PLUS_PLUGURL) );
|
69 |
+
wp_localize_script( 'SFSIPLUSCustomValidateJs', 'sfsi_plus_links', array( 'admin_url' => admin_url('/'),'plugin_dir_url'=> SFSI_PLUS_PLUGURL) );
|
70 |
}
|
71 |
}
|
72 |
}
|
100 |
|
101 |
/* initilaize the ajax url in javascript */
|
102 |
wp_localize_script( 'SFSIPLUSCustomJs', 'ajax_object', array( 'ajax_url' => admin_url( 'admin-ajax.php' ),'plugin_url'=> SFSI_PLUS_PLUGURL) );
|
103 |
+
wp_localize_script( 'SFSIPLUSCustomJs', 'sfsi_plus_links', array( 'admin_url' => admin_url('/'),'plugin_dir_url'=> SFSI_PLUS_PLUGURL) );
|
104 |
}
|
105 |
add_action( 'wp_enqueue_scripts', 'sfsiplus_plugin_front_enqueue_script' );
|
106 |
?>
|
libs/sfsi_gutenberg_block.php
CHANGED
@@ -28,7 +28,7 @@ function sfsi_plus_share_block_editor_assets() {
|
|
28 |
'1'
|
29 |
// filemtime( plugin_dir_path( 'js/block.js', __FILE__ ) )
|
30 |
);
|
31 |
-
|
32 |
wp_enqueue_style(
|
33 |
'sfsi-plus-share-block-editor', // Handle.
|
34 |
plugins_url( 'dist/blocks.editor.build.css', dirname( __FILE__ ) ), // Block editor CSS.
|
@@ -107,7 +107,7 @@ function sfsi_plus_render_gutenberg_round($args = null, $content = null,$share_u
|
|
107 |
$instance = array("showf" => 1, "title" => '');
|
108 |
$sfsi_plus_section8_options = get_option("sfsi_plus_section8_options");
|
109 |
$sfsi_plus_section8_options = unserialize($sfsi_plus_section8_options);
|
110 |
-
$sfsi_plus_place_item_gutenberg = isset($sfsi_plus_section8_options['sfsi_plus_place_item_gutenberg'])?$sfsi_plus_section8_options['sfsi_plus_place_item_gutenberg']:'
|
111 |
if($sfsi_plus_place_item_gutenberg == "yes")
|
112 |
{
|
113 |
$return = '';
|
@@ -298,5 +298,4 @@ function sfsi_plus_gutenberg_share_block_init(){
|
|
298 |
}
|
299 |
|
300 |
add_action( 'init','sfsi_plus_gutenberg_share_block_init' );
|
301 |
-
|
302 |
?>
|
28 |
'1'
|
29 |
// filemtime( plugin_dir_path( 'js/block.js', __FILE__ ) )
|
30 |
);
|
31 |
+
wp_localize_script( 'sfsi-plus-share-block', 'sfsi_plus_links', array( 'admin_url' => admin_url('/'),'plugin_dir_url'=> SFSI_PLUS_PLUGURL) );
|
32 |
wp_enqueue_style(
|
33 |
'sfsi-plus-share-block-editor', // Handle.
|
34 |
plugins_url( 'dist/blocks.editor.build.css', dirname( __FILE__ ) ), // Block editor CSS.
|
107 |
$instance = array("showf" => 1, "title" => '');
|
108 |
$sfsi_plus_section8_options = get_option("sfsi_plus_section8_options");
|
109 |
$sfsi_plus_section8_options = unserialize($sfsi_plus_section8_options);
|
110 |
+
$sfsi_plus_place_item_gutenberg = isset($sfsi_plus_section8_options['sfsi_plus_place_item_gutenberg'])?$sfsi_plus_section8_options['sfsi_plus_place_item_gutenberg']:'yes';
|
111 |
if($sfsi_plus_place_item_gutenberg == "yes")
|
112 |
{
|
113 |
$return = '';
|
298 |
}
|
299 |
|
300 |
add_action( 'init','sfsi_plus_gutenberg_share_block_init' );
|
|
|
301 |
?>
|
libs/sfsi_install_uninstall.php
CHANGED
@@ -548,23 +548,23 @@ function sfsi_plus_deactivate_plugin()
|
|
548 |
} /* end function */
|
549 |
function sfsi_plus_updateFeedPing($status,$feed_id)
|
550 |
{
|
551 |
-
$
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
}
|
569 |
/* unistall plugin function */
|
570 |
function sfsi_plus_Unistall_plugin()
|
@@ -632,73 +632,76 @@ function sfsi_plus_about_page(){ include SFSI_PLUS_DOCROOT . '/views/sfsi_aboutu
|
|
632 |
if ( is_admin() ){
|
633 |
add_action('admin_menu', 'sfsi_plus_admin_menu');
|
634 |
}
|
|
|
635 |
/* fetch rss url from specificfeeds */
|
636 |
function SFSI_PLUS_getFeedUrl()
|
637 |
{
|
638 |
-
|
639 |
-
|
640 |
-
curl_setopt_array($curl, array(
|
641 |
-
CURLOPT_RETURNTRANSFER => 1,
|
642 |
-
CURLOPT_URL => 'https://www.specificfeeds.com/wordpress/plugin_setup',
|
643 |
-
CURLOPT_USERAGENT => 'sf rss request',
|
644 |
-
CURLOPT_POST => 1,
|
645 |
-
CURLOPT_POSTFIELDS => array(
|
646 |
'web_url' => get_bloginfo('url'),
|
647 |
'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
|
648 |
'email' => '',
|
649 |
'subscriber_type' => 'PLWP'
|
650 |
-
)
|
651 |
-
|
652 |
-
|
653 |
-
|
654 |
-
|
655 |
-
|
|
|
|
|
|
|
|
|
|
|
656 |
update_option("sfsi_plus_curlErrorNotices", "yes");
|
657 |
-
update_option("sfsi_plus_curlErrorMessage",
|
|
|
|
|
658 |
}
|
659 |
-
$resp = json_decode($resp);
|
660 |
-
curl_close($curl);
|
661 |
-
|
662 |
$feed_url = stripslashes_deep($resp->redirect_url);
|
663 |
return $resp;exit;
|
664 |
}
|
665 |
/* fetch rss url from specificfeeds on */
|
666 |
function SFSI_PLUS_updateFeedUrl()
|
667 |
{
|
668 |
-
$
|
669 |
-
|
670 |
-
curl_setopt_array($curl, array(
|
671 |
-
CURLOPT_RETURNTRANSFER => 1,
|
672 |
-
CURLOPT_URL => 'https://www.specificfeeds.com/wordpress/updateFeedPlugin',
|
673 |
-
CURLOPT_USERAGENT => 'sf rss request',
|
674 |
-
CURLOPT_POST => 1,
|
675 |
-
CURLOPT_POSTFIELDS => array(
|
676 |
-
'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
|
677 |
'web_url' => get_bloginfo('url'),
|
678 |
'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
|
679 |
'email' => ''
|
680 |
-
)
|
681 |
-
|
682 |
-
|
683 |
-
|
684 |
-
|
685 |
-
|
686 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
687 |
$feed_url = stripslashes_deep($resp->redirect_url);
|
688 |
return $resp;exit;
|
689 |
}
|
690 |
/* add sf tags */
|
691 |
function sfsi_plus_setUpfeeds($feed_id)
|
692 |
{
|
693 |
-
$
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
)
|
700 |
-
|
701 |
-
|
|
|
|
|
702 |
}
|
703 |
/* admin notice if wp_head is missing in active theme */
|
704 |
function sfsi_plus_check_wp_head() {
|
@@ -889,6 +892,7 @@ function sfsi_plus_pingVendor( $post_id )
|
|
889 |
}
|
890 |
$count++;
|
891 |
}
|
|
|
892 |
$postto_array = array(
|
893 |
'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
|
894 |
'title' => $post_data['post_title'],
|
@@ -899,20 +903,22 @@ function sfsi_plus_pingVendor( $post_id )
|
|
899 |
'pubDate' => $post_data['post_modified'],
|
900 |
'rssurl' => sfsi_plus_get_bloginfo('rss2_url')
|
901 |
);
|
902 |
-
|
903 |
-
|
904 |
-
|
905 |
-
|
906 |
-
|
907 |
-
|
908 |
-
|
909 |
-
|
910 |
-
))
|
911 |
-
|
912 |
-
|
913 |
-
|
914 |
-
|
915 |
-
|
|
|
|
|
916 |
endif;
|
917 |
}
|
918 |
add_action( 'save_post', 'sfsi_plus_pingVendor' );
|
548 |
} /* end function */
|
549 |
function sfsi_plus_updateFeedPing($status,$feed_id)
|
550 |
{
|
551 |
+
$body = array(
|
552 |
+
'feed_id' => $feed_id,
|
553 |
+
'status' => $status
|
554 |
+
);
|
555 |
+
|
556 |
+
$args = array(
|
557 |
+
'body' => $body,
|
558 |
+
'timeout' => '5',
|
559 |
+
'redirection' => '5',
|
560 |
+
'httpversion' => '1.0',
|
561 |
+
'blocking' => true,
|
562 |
+
'headers' => array(),
|
563 |
+
'cookies' => array()
|
564 |
+
);
|
565 |
+
|
566 |
+
$resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/pingfeed', $args );
|
567 |
+
return $resp;
|
568 |
}
|
569 |
/* unistall plugin function */
|
570 |
function sfsi_plus_Unistall_plugin()
|
632 |
if ( is_admin() ){
|
633 |
add_action('admin_menu', 'sfsi_plus_admin_menu');
|
634 |
}
|
635 |
+
|
636 |
/* fetch rss url from specificfeeds */
|
637 |
function SFSI_PLUS_getFeedUrl()
|
638 |
{
|
639 |
+
$body = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
640 |
'web_url' => get_bloginfo('url'),
|
641 |
'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
|
642 |
'email' => '',
|
643 |
'subscriber_type' => 'PLWP'
|
644 |
+
);
|
645 |
+
|
646 |
+
$args = array(
|
647 |
+
'body' => $body,
|
648 |
+
'blocking' => true,
|
649 |
+
'user-agent' => 'sf rss request',
|
650 |
+
'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
|
651 |
+
'sslverify' => true
|
652 |
+
);
|
653 |
+
$resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/plugin_setup', $args );
|
654 |
+
if ( is_wp_error( $resp ) ) {
|
655 |
update_option("sfsi_plus_curlErrorNotices", "yes");
|
656 |
+
update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
|
657 |
+
} else {
|
658 |
+
$resp = json_decode($resp['body']);
|
659 |
}
|
|
|
|
|
|
|
660 |
$feed_url = stripslashes_deep($resp->redirect_url);
|
661 |
return $resp;exit;
|
662 |
}
|
663 |
/* fetch rss url from specificfeeds on */
|
664 |
function SFSI_PLUS_updateFeedUrl()
|
665 |
{
|
666 |
+
$body = array(
|
667 |
+
'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
668 |
'web_url' => get_bloginfo('url'),
|
669 |
'feed_url' => sfsi_plus_get_bloginfo('rss2_url'),
|
670 |
'email' => ''
|
671 |
+
);
|
672 |
+
|
673 |
+
$args = array(
|
674 |
+
'body' => $body,
|
675 |
+
'blocking' => true,
|
676 |
+
'user-agent' => 'sf rss request',
|
677 |
+
'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
|
678 |
+
'sslverify' => true
|
679 |
+
);
|
680 |
+
$resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/updateFeedPlugin', $args );
|
681 |
+
if ( is_wp_error( $resp ) ) {
|
682 |
+
update_option("sfsi_plus_curlErrorNotices", "yes");
|
683 |
+
update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
|
684 |
+
} else {
|
685 |
+
$resp = json_decode($resp['body']);
|
686 |
+
}
|
687 |
+
|
688 |
$feed_url = stripslashes_deep($resp->redirect_url);
|
689 |
return $resp;exit;
|
690 |
}
|
691 |
/* add sf tags */
|
692 |
function sfsi_plus_setUpfeeds($feed_id)
|
693 |
{
|
694 |
+
$args = array(
|
695 |
+
'blocking' => true,
|
696 |
+
'user-agent' => 'sf rss request',
|
697 |
+
'header' => array("Content-Type"=>"application/json"),
|
698 |
+
'sslverify' => true
|
699 |
+
);
|
700 |
+
$resp = wp_remote_get( 'https//www.specificfeeds.com/rssegtcrons/download_rssmorefeed_data_single/'.$feed_id."/Y", $args );
|
701 |
+
if ( is_wp_error( $resp ) ) {
|
702 |
+
update_option("sfsi_plus_curlErrorNotices", "yes");
|
703 |
+
update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
|
704 |
+
}
|
705 |
}
|
706 |
/* admin notice if wp_head is missing in active theme */
|
707 |
function sfsi_plus_check_wp_head() {
|
892 |
}
|
893 |
$count++;
|
894 |
}
|
895 |
+
|
896 |
$postto_array = array(
|
897 |
'feed_id' => sanitize_text_field(get_option('sfsi_plus_feed_id')),
|
898 |
'title' => $post_data['post_title'],
|
903 |
'pubDate' => $post_data['post_modified'],
|
904 |
'rssurl' => sfsi_plus_get_bloginfo('rss2_url')
|
905 |
);
|
906 |
+
$args = array(
|
907 |
+
'body' => $postto_array,
|
908 |
+
'blocking' => true,
|
909 |
+
'user-agent' => 'sf rss request',
|
910 |
+
'header' => array("Content-Type"=>"application/x-www-form-urlencoded"),
|
911 |
+
'sslverify' => true
|
912 |
+
);
|
913 |
+
$resp = wp_remote_post( 'https://www.specificfeeds.com/wordpress/updateFeedPlugin', $args );
|
914 |
+
if ( is_wp_error( $resp ) ) {
|
915 |
+
update_option("sfsi_plus_curlErrorNotices", "yes");
|
916 |
+
update_option("sfsi_plus_curlErrorMessage", $resp->get_error_message());
|
917 |
+
return false;
|
918 |
+
} else {
|
919 |
+
$resp = json_decode($resp['body']);
|
920 |
+
return true;
|
921 |
+
}
|
922 |
endif;
|
923 |
}
|
924 |
add_action( 'save_post', 'sfsi_plus_pingVendor' );
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: socialsharepro
|
|
3 |
Tags: Share, sharing, share buttons, share button, share social media, share icons, social buttons, sharing buttons, sharing icons, social media icons, social share, social sharing
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 5.0.2
|
6 |
-
Stable tag: 3.0.
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -444,9 +444,13 @@ The premium plugin offrs many more social buttons from other social media platfo
|
|
444 |
|
445 |
|
446 |
== Changelog ==
|
|
|
|
|
|
|
447 |
|
448 |
= 3.0.0 =
|
449 |
-
* Updated gutenberg block to incorporate current changes. Added support for multiple controls on block inspector controls.
|
|
|
450 |
|
451 |
= 2.9.9 =
|
452 |
* Duplicate IDs removed from icon's link
|
@@ -800,5 +804,5 @@ The premium plugin offrs many more social buttons from other social media platfo
|
|
800 |
|
801 |
== Upgrade Notice ==
|
802 |
|
803 |
-
= 3.0.
|
804 |
* Please update
|
3 |
Tags: Share, sharing, share buttons, share button, share social media, share icons, social buttons, sharing buttons, sharing icons, social media icons, social share, social sharing
|
4 |
Requires at least: 3.0
|
5 |
Tested up to: 5.0.2
|
6 |
+
Stable tag: 3.0.1
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
444 |
|
445 |
|
446 |
== Changelog ==
|
447 |
+
= 3.0.1 =
|
448 |
+
* Design updates for Gutenberg
|
449 |
+
* Security updates
|
450 |
|
451 |
= 3.0.0 =
|
452 |
+
* Update: Updated gutenberg block to incorporate current changes. Added support for multiple controls on block inspector controls.
|
453 |
+
* update: In-admin-pannel chat updated for more user friendly features.
|
454 |
|
455 |
= 2.9.9 =
|
456 |
* Duplicate IDs removed from icon's link
|
804 |
|
805 |
== Upgrade Notice ==
|
806 |
|
807 |
+
= 3.0.1 =
|
808 |
* Please update
|
ultimate_social_media_icons.php
CHANGED
@@ -103,7 +103,7 @@ register_deactivation_hook(__FILE__, 'sfsi_plus_deactivate_plugin');
|
|
103 |
//register_uninstall_hook(__FILE__, 'sfsi_plus_Unistall_plugin');
|
104 |
|
105 |
/*Plugin version setup*/
|
106 |
-
if(!get_option('sfsi_plus_pluginVersion') || get_option('sfsi_plus_pluginVersion') < 3.
|
107 |
{
|
108 |
add_action("init", "sfsi_plus_update_plugin");
|
109 |
}
|
@@ -302,22 +302,24 @@ if(is_admin())
|
|
302 |
function sfsi_plus_getverification_code()
|
303 |
{
|
304 |
$feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
|
305 |
-
$
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
|
|
|
|
321 |
}
|
322 |
|
323 |
//functionality for before and after single posts
|
103 |
//register_uninstall_hook(__FILE__, 'sfsi_plus_Unistall_plugin');
|
104 |
|
105 |
/*Plugin version setup*/
|
106 |
+
if(!get_option('sfsi_plus_pluginVersion') || get_option('sfsi_plus_pluginVersion') < 3.01)
|
107 |
{
|
108 |
add_action("init", "sfsi_plus_update_plugin");
|
109 |
}
|
302 |
function sfsi_plus_getverification_code()
|
303 |
{
|
304 |
$feed_id = sanitize_text_field(get_option('sfsi_plus_feed_id'));
|
305 |
+
$url = $http_url = 'https://www.specificfeeds.com/wordpress/getVerifiedCode_plugin';
|
306 |
+
|
307 |
+
$args = array(
|
308 |
+
'timeout' => 15,
|
309 |
+
'body' => array(
|
310 |
+
'feed_id' => $feed_id
|
311 |
+
)
|
312 |
+
);
|
313 |
+
|
314 |
+
$request = wp_remote_post( $url, $args );
|
315 |
+
|
316 |
+
if ( is_wp_error( $request ) ) {
|
317 |
+
update_option("sfsi_plus_curlErrorNotices", "yes");
|
318 |
+
update_option("sfsi_plus_curlErrorMessage", $request->get_error_message());
|
319 |
+
}else{
|
320 |
+
$resp = json_decode($request['body']);
|
321 |
+
update_option('sfsi_plus_verificatiom_code', $resp->code);
|
322 |
+
}
|
323 |
}
|
324 |
|
325 |
//functionality for before and after single posts
|
views/sfsi_option_view8.php
CHANGED
@@ -55,7 +55,7 @@
|
|
55 |
: '';
|
56 |
$option8['sfsi_plus_place_item_gutenberg'] = (isset($option8['sfsi_plus_place_item_gutenberg']))
|
57 |
? sanitize_text_field($option8['sfsi_plus_place_item_gutenberg'])
|
58 |
-
: '
|
59 |
$option8['sfsi_plus_display_button_type'] = (isset($option8['sfsi_plus_display_button_type']))
|
60 |
? sanitize_text_field($option8['sfsi_plus_display_button_type'])
|
61 |
: '';
|
55 |
: '';
|
56 |
$option8['sfsi_plus_place_item_gutenberg'] = (isset($option8['sfsi_plus_place_item_gutenberg']))
|
57 |
? sanitize_text_field($option8['sfsi_plus_place_item_gutenberg'])
|
58 |
+
: 'yes';
|
59 |
$option8['sfsi_plus_display_button_type'] = (isset($option8['sfsi_plus_display_button_type']))
|
60 |
? sanitize_text_field($option8['sfsi_plus_display_button_type'])
|
61 |
: '';
|