Files
medicalalert-web-reloaded/wp/wp-content/plugins/wordpress-seo-premium/assets/js/dist/blocks-1603.min.js
2023-08-22 14:19:15 -04:00

1 line
206 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(window.yoastPremiumWebpackJsonp=window.yoastPremiumWebpackJsonp||[]).push([[11],[function(module,exports){eval("module.exports = window.wp.i18n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5pMThuXCI/Y2Q4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5pMThuOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n")},function(module,exports){eval("module.exports = window.wp.data;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5kYXRhXCI/YzQyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5kYXRhOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///1\n")},function(module,exports,__webpack_require__){eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (false) { var throwOnDirectAccess, ReactIs; } else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = __webpack_require__(16)();\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8vdmFyL2plbmtpbnMvd29ya3NwYWNlL1BsdWdpbi1SZWxlYXNlL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS8ucmVwb3Mvd29yZHByZXNzLXNlby1wcmVtaXVtL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2luZGV4LmpzP2E1Y2MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgUmVhY3RJcyA9IHJlcXVpcmUoJ3JlYWN0LWlzJyk7XG5cbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgZGV2ZWxvcG1lbnQgYmVoYXZpb3IuXG4gIC8vIGh0dHA6Ly9mYi5tZS9wcm9wLXR5cGVzLWluLXByb2RcbiAgdmFyIHRocm93T25EaXJlY3RBY2Nlc3MgPSB0cnVlO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMnKShSZWFjdElzLmlzRWxlbWVudCwgdGhyb3dPbkRpcmVjdEFjY2Vzcyk7XG59IGVsc2Uge1xuICAvLyBCeSBleHBsaWNpdGx5IHVzaW5nIGBwcm9wLXR5cGVzYCB5b3UgYXJlIG9wdGluZyBpbnRvIG5ldyBwcm9kdWN0aW9uIGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMnKSgpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///2\n")},function(module,exports){eval("module.exports = window.lodash;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy5sb2Rhc2hcIj9hNjAxIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LmxvZGFzaDsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///3\n")},function(module,exports){eval("module.exports = window.wp.element;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5lbGVtZW50XCI/YTI5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5lbGVtZW50OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///4\n")},function(module,exports){eval("module.exports = React;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIlJlYWN0XCI/YzQ4MSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IFJlYWN0OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///5\n")},function(module,exports){eval("module.exports = window.yoast.componentsNew;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy55b2FzdC5jb21wb25lbnRzTmV3XCI/MWZlZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy55b2FzdC5jb21wb25lbnRzTmV3OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n")},function(module,exports){eval("module.exports = window.wp.components;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy53cC5jb21wb25lbnRzXCI/NTQ0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5jb21wb25lbnRzOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///7\n")},function(module,exports){eval("module.exports = window.yoast.styledComponents;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy55b2FzdC5zdHlsZWRDb21wb25lbnRzXCI/NjljZiJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy55b2FzdC5zdHlsZWRDb21wb25lbnRzOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///8\n")},function(module,exports){eval("module.exports = window.yoast.components;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy9leHRlcm5hbCBcIndpbmRvdy55b2FzdC5jb21wb25lbnRzXCI/YjI0ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy55b2FzdC5jb21wb25lbnRzOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///9\n")},function(module,exports){eval("module.exports = window.yoast.helpers;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3QuaGVscGVyc1wiPzY1YTMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3QuaGVscGVyczsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///10\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /**\n * External Dependencies\n */\n\n\n/**\n * Internal Dependencies\n */\n\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactAddonsCreateFragment = __webpack_require__(20);\n\nvar _reactAddonsCreateFragment2 = _interopRequireDefault(_reactAddonsCreateFragment);\n\nvar _tokenize = __webpack_require__(23);\n\nvar _tokenize2 = _interopRequireDefault(_tokenize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar currentMixedString = void 0;\n\nfunction getCloseIndex(openIndex, tokens) {\n\tvar openToken = tokens[openIndex],\n\t nestLevel = 0,\n\t token,\n\t i;\n\tfor (i = openIndex + 1; i < tokens.length; i++) {\n\t\ttoken = tokens[i];\n\t\tif (token.value === openToken.value) {\n\t\t\tif (token.type === 'componentOpen') {\n\t\t\t\tnestLevel++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (token.type === 'componentClose') {\n\t\t\t\tif (nestLevel === 0) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\tnestLevel--;\n\t\t\t}\n\t\t}\n\t}\n\t// if we get this far, there was no matching close token\n\tthrow new Error('Missing closing component token `' + openToken.value + '`');\n}\n\nfunction buildChildren(tokens, components) {\n\tvar children = [],\n\t childrenObject = {},\n\t openComponent,\n\t clonedOpenComponent,\n\t openIndex,\n\t closeIndex,\n\t token,\n\t i,\n\t grandChildTokens,\n\t grandChildren,\n\t siblingTokens,\n\t siblings;\n\n\tfor (i = 0; i < tokens.length; i++) {\n\t\ttoken = tokens[i];\n\t\tif (token.type === 'string') {\n\t\t\tchildren.push(token.value);\n\t\t\tcontinue;\n\t\t}\n\t\t// component node should at least be set\n\t\tif (!components.hasOwnProperty(token.value) || typeof components[token.value] === 'undefined') {\n\t\t\tthrow new Error('Invalid interpolation, missing component node: `' + token.value + '`');\n\t\t}\n\t\t// should be either ReactElement or null (both type \"object\"), all other types deprecated\n\t\tif (_typeof(components[token.value]) !== 'object') {\n\t\t\tthrow new Error('Invalid interpolation, component node must be a ReactElement or null: `' + token.value + '`', '\\n> ' + currentMixedString);\n\t\t}\n\t\t// we should never see a componentClose token in this loop\n\t\tif (token.type === 'componentClose') {\n\t\t\tthrow new Error('Missing opening component token: `' + token.value + '`');\n\t\t}\n\t\tif (token.type === 'componentOpen') {\n\t\t\topenComponent = components[token.value];\n\t\t\topenIndex = i;\n\t\t\tbreak;\n\t\t}\n\t\t// componentSelfClosing token\n\t\tchildren.push(components[token.value]);\n\t\tcontinue;\n\t}\n\n\tif (openComponent) {\n\t\tcloseIndex = getCloseIndex(openIndex, tokens);\n\t\tgrandChildTokens = tokens.slice(openIndex + 1, closeIndex);\n\t\tgrandChildren = buildChildren(grandChildTokens, components);\n\t\tclonedOpenComponent = _react2.default.cloneElement(openComponent, {}, grandChildren);\n\t\tchildren.push(clonedOpenComponent);\n\n\t\tif (closeIndex < tokens.length - 1) {\n\t\t\tsiblingTokens = tokens.slice(closeIndex + 1);\n\t\t\tsiblings = buildChildren(siblingTokens, components);\n\t\t\tchildren = children.concat(siblings);\n\t\t}\n\t}\n\n\tif (children.length === 1) {\n\t\treturn children[0];\n\t}\n\n\tchildren.forEach(function (child, index) {\n\t\tif (child) {\n\t\t\tchildrenObject['interpolation-child-' + index] = child;\n\t\t}\n\t});\n\n\treturn (0, _reactAddonsCreateFragment2.default)(childrenObject);\n}\n\nfunction interpolate(options) {\n\tvar mixedString = options.mixedString,\n\t components = options.components,\n\t throwErrors = options.throwErrors;\n\n\n\tcurrentMixedString = mixedString;\n\n\tif (!components) {\n\t\treturn mixedString;\n\t}\n\n\tif ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) !== 'object') {\n\t\tif (throwErrors) {\n\t\t\tthrow new Error('Interpolation Error: unable to process `' + mixedString + '` because components is not an object');\n\t\t}\n\n\t\treturn mixedString;\n\t}\n\n\tvar tokens = (0, _tokenize2.default)(mixedString);\n\n\ttry {\n\t\treturn buildChildren(tokens, components);\n\t} catch (error) {\n\t\tif (throwErrors) {\n\t\t\tthrow new Error('Interpolation Error: unable to process `' + mixedString + '` because of error `' + error.message + '`');\n\t\t}\n\n\t\treturn mixedString;\n\t}\n};\n\nexports.default = interpolate;\n//# sourceMappingURL=index.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvaW50ZXJwb2xhdGUtY29tcG9uZW50cy9saWIvaW5kZXguanM/ZWZkYiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuXHR2YWx1ZTogdHJ1ZVxufSk7XG5cbnZhciBfdHlwZW9mID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPT09IFwic3ltYm9sXCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvYmouY29uc3RydWN0b3IgPT09IFN5bWJvbCAmJiBvYmogIT09IFN5bWJvbC5wcm90b3R5cGUgPyBcInN5bWJvbFwiIDogdHlwZW9mIG9iajsgfTsgLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBFeHRlcm5hbCBEZXBlbmRlbmNpZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuXG5cbi8qKlxuICogSW50ZXJuYWwgRGVwZW5kZW5jaWVzXG4gKi9cblxuXG52YXIgX3JlYWN0ID0gcmVxdWlyZSgncmVhY3QnKTtcblxudmFyIF9yZWFjdDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9yZWFjdCk7XG5cbnZhciBfcmVhY3RBZGRvbnNDcmVhdGVGcmFnbWVudCA9IHJlcXVpcmUoJ3JlYWN0LWFkZG9ucy1jcmVhdGUtZnJhZ21lbnQnKTtcblxudmFyIF9yZWFjdEFkZG9uc0NyZWF0ZUZyYWdtZW50MiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3JlYWN0QWRkb25zQ3JlYXRlRnJhZ21lbnQpO1xuXG52YXIgX3Rva2VuaXplID0gcmVxdWlyZSgnLi90b2tlbml6ZScpO1xuXG52YXIgX3Rva2VuaXplMiA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQoX3Rva2VuaXplKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxudmFyIGN1cnJlbnRNaXhlZFN0cmluZyA9IHZvaWQgMDtcblxuZnVuY3Rpb24gZ2V0Q2xvc2VJbmRleChvcGVuSW5kZXgsIHRva2Vucykge1xuXHR2YXIgb3BlblRva2VuID0gdG9rZW5zW29wZW5JbmRleF0sXG5cdCAgICBuZXN0TGV2ZWwgPSAwLFxuXHQgICAgdG9rZW4sXG5cdCAgICBpO1xuXHRmb3IgKGkgPSBvcGVuSW5kZXggKyAxOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG5cdFx0dG9rZW4gPSB0b2tlbnNbaV07XG5cdFx0aWYgKHRva2VuLnZhbHVlID09PSBvcGVuVG9rZW4udmFsdWUpIHtcblx0XHRcdGlmICh0b2tlbi50eXBlID09PSAnY29tcG9uZW50T3BlbicpIHtcblx0XHRcdFx0bmVzdExldmVsKys7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHRva2VuLnR5cGUgPT09ICdjb21wb25lbnRDbG9zZScpIHtcblx0XHRcdFx0aWYgKG5lc3RMZXZlbCA9PT0gMCkge1xuXHRcdFx0XHRcdHJldHVybiBpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdG5lc3RMZXZlbC0tO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQvLyBpZiB3ZSBnZXQgdGhpcyBmYXIsIHRoZXJlIHdhcyBubyBtYXRjaGluZyBjbG9zZSB0b2tlblxuXHR0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgY2xvc2luZyBjb21wb25lbnQgdG9rZW4gYCcgKyBvcGVuVG9rZW4udmFsdWUgKyAnYCcpO1xufVxuXG5mdW5jdGlvbiBidWlsZENoaWxkcmVuKHRva2VucywgY29tcG9uZW50cykge1xuXHR2YXIgY2hpbGRyZW4gPSBbXSxcblx0ICAgIGNoaWxkcmVuT2JqZWN0ID0ge30sXG5cdCAgICBvcGVuQ29tcG9uZW50LFxuXHQgICAgY2xvbmVkT3BlbkNvbXBvbmVudCxcblx0ICAgIG9wZW5JbmRleCxcblx0ICAgIGNsb3NlSW5kZXgsXG5cdCAgICB0b2tlbixcblx0ICAgIGksXG5cdCAgICBncmFuZENoaWxkVG9rZW5zLFxuXHQgICAgZ3JhbmRDaGlsZHJlbixcblx0ICAgIHNpYmxpbmdUb2tlbnMsXG5cdCAgICBzaWJsaW5ncztcblxuXHRmb3IgKGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aDsgaSsrKSB7XG5cdFx0dG9rZW4gPSB0b2tlbnNbaV07XG5cdFx0aWYgKHRva2VuLnR5cGUgPT09ICdzdHJpbmcnKSB7XG5cdFx0XHRjaGlsZHJlbi5wdXNoKHRva2VuLnZhbHVlKTtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblx0XHQvLyBjb21wb25lbnQgbm9kZSBzaG91bGQgYXQgbGVhc3QgYmUgc2V0XG5cdFx0aWYgKCFjb21wb25lbnRzLmhhc093blByb3BlcnR5KHRva2VuLnZhbHVlKSB8fCB0eXBlb2YgY29tcG9uZW50c1t0b2tlbi52YWx1ZV0gPT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW50ZXJwb2xhdGlvbiwgbWlzc2luZyBjb21wb25lbnQgbm9kZTogYCcgKyB0b2tlbi52YWx1ZSArICdgJyk7XG5cdFx0fVxuXHRcdC8vIHNob3VsZCBiZSBlaXRoZXIgUmVhY3RFbGVtZW50IG9yIG51bGwgKGJvdGggdHlwZSBcIm9iamVjdFwiKSwgYWxsIG90aGVyIHR5cGVzIGRlcHJlY2F0ZWRcblx0XHRpZiAoX3R5cGVvZihjb21wb25lbnRzW3Rva2VuLnZhbHVlXSkgIT09ICdvYmplY3QnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgaW50ZXJwb2xhdGlvbiwgY29tcG9uZW50IG5vZGUgbXVzdCBiZSBhIFJlYWN0RWxlbWVudCBvciBudWxsOiBgJyArIHRva2VuLnZhbHVlICsgJ2AnLCAnXFxuPiAnICsgY3VycmVudE1peGVkU3RyaW5nKTtcblx0XHR9XG5cdFx0Ly8gd2Ugc2hvdWxkIG5ldmVyIHNlZSBhIGNvbXBvbmVudENsb3NlIHRva2VuIGluIHRoaXMgbG9vcFxuXHRcdGlmICh0b2tlbi50eXBlID09PSAnY29tcG9uZW50Q2xvc2UnKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmcgb3BlbmluZyBjb21wb25lbnQgdG9rZW46IGAnICsgdG9rZW4udmFsdWUgKyAnYCcpO1xuXHRcdH1cblx0XHRpZiAodG9rZW4udHlwZSA9PT0gJ2NvbXBvbmVudE9wZW4nKSB7XG5cdFx0XHRvcGVuQ29tcG9uZW50ID0gY29tcG9uZW50c1t0b2tlbi52YWx1ZV07XG5cdFx0XHRvcGVuSW5kZXggPSBpO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdC8vIGNvbXBvbmVudFNlbGZDbG9zaW5nIHRva2VuXG5cdFx0Y2hpbGRyZW4ucHVzaChjb21wb25lbnRzW3Rva2VuLnZhbHVlXSk7XG5cdFx0Y29udGludWU7XG5cdH1cblxuXHRpZiAob3BlbkNvbXBvbmVudCkge1xuXHRcdGNsb3NlSW5kZXggPSBnZXRDbG9zZUluZGV4KG9wZW5JbmRleCwgdG9rZW5zKTtcblx0XHRncmFuZENoaWxkVG9rZW5zID0gdG9rZW5zLnNsaWNlKG9wZW5JbmRleCArIDEsIGNsb3NlSW5kZXgpO1xuXHRcdGdyYW5kQ2hpbGRyZW4gPSBidWlsZENoaWxkcmVuKGdyYW5kQ2hpbGRUb2tlbnMsIGNvbXBvbmVudHMpO1xuXHRcdGNsb25lZE9wZW5Db21wb25lbnQgPSBfcmVhY3QyLmRlZmF1bHQuY2xvbmVFbGVtZW50KG9wZW5Db21wb25lbnQsIHt9LCBncmFuZENoaWxkcmVuKTtcblx0XHRjaGlsZHJlbi5wdXNoKGNsb25lZE9wZW5Db21wb25lbnQpO1xuXG5cdFx0aWYgKGNsb3NlSW5kZXggPCB0b2tlbnMubGVuZ3RoIC0gMSkge1xuXHRcdFx0c2libGluZ1Rva2VucyA9IHRva2Vucy5zbGljZShjbG9zZUluZGV4ICsgMSk7XG5cdFx0XHRzaWJsaW5ncyA9IGJ1aWxkQ2hpbGRyZW4oc2libGluZ1Rva2VucywgY29tcG9uZW50cyk7XG5cdFx0XHRjaGlsZHJlbiA9IGNoaWxkcmVuLmNvbmNhdChzaWJsaW5ncyk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMSkge1xuXHRcdHJldHVybiBjaGlsZHJlblswXTtcblx0fVxuXG5cdGNoaWxkcmVuLmZvckVhY2goZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xuXHRcdGlmIChjaGlsZCkge1xuXHRcdFx0Y2hpbGRyZW5PYmplY3RbJ2ludGVycG9sYXRpb24tY2hpbGQtJyArIGluZGV4XSA9IGNoaWxkO1xuXHRcdH1cblx0fSk7XG5cblx0cmV0dXJuICgwLCBfcmVhY3RBZGRvbnNDcmVhdGVGcmFnbWVudDIuZGVmYXVsdCkoY2hpbGRyZW5PYmplY3QpO1xufVxuXG5mdW5jdGlvbiBpbnRlcnBvbGF0ZShvcHRpb25zKSB7XG5cdHZhciBtaXhlZFN0cmluZyA9IG9wdGlvbnMubWl4ZWRTdHJpbmcsXG5cdCAgICBjb21wb25lbnRzID0gb3B0aW9ucy5jb21wb25lbnRzLFxuXHQgICAgdGhyb3dFcnJvcnMgPSBvcHRpb25zLnRocm93RXJyb3JzO1xuXG5cblx0Y3VycmVudE1peGVkU3RyaW5nID0gbWl4ZWRTdHJpbmc7XG5cblx0aWYgKCFjb21wb25lbnRzKSB7XG5cdFx0cmV0dXJuIG1peGVkU3RyaW5nO1xuXHR9XG5cblx0aWYgKCh0eXBlb2YgY29tcG9uZW50cyA9PT0gJ3VuZGVmaW5lZCcgPyAndW5kZWZpbmVkJyA6IF90eXBlb2YoY29tcG9uZW50cykpICE9PSAnb2JqZWN0Jykge1xuXHRcdGlmICh0aHJvd0Vycm9ycykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKCdJbnRlcnBvbGF0aW9uIEVycm9yOiB1bmFibGUgdG8gcHJvY2VzcyBgJyArIG1peGVkU3RyaW5nICsgJ2AgYmVjYXVzZSBjb21wb25lbnRzIGlzIG5vdCBhbiBvYmplY3QnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWl4ZWRTdHJpbmc7XG5cdH1cblxuXHR2YXIgdG9rZW5zID0gKDAsIF90b2tlbml6ZTIuZGVmYXVsdCkobWl4ZWRTdHJpbmcpO1xuXG5cdHRyeSB7XG5cdFx0cmV0dXJuIGJ1aWxkQ2hpbGRyZW4odG9rZW5zLCBjb21wb25lbnRzKTtcblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRpZiAodGhyb3dFcnJvcnMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignSW50ZXJwb2xhdGlvbiBFcnJvcjogdW5hYmxlIHRvIHByb2Nlc3MgYCcgKyBtaXhlZFN0cmluZyArICdgIGJlY2F1c2Ugb2YgZXJyb3IgYCcgKyBlcnJvci5tZXNzYWdlICsgJ2AnKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWl4ZWRTdHJpbmc7XG5cdH1cbn07XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGludGVycG9sYXRlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///11\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvZW1wdHlGdW5jdGlvbi5qcz9mOWMwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG4vKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqIFxuICovXG5cbmZ1bmN0aW9uIG1ha2VFbXB0eUZ1bmN0aW9uKGFyZykge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBhcmc7XG4gIH07XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhY2NlcHRzIGFuZCBkaXNjYXJkcyBpbnB1dHM7IGl0IGhhcyBubyBzaWRlIGVmZmVjdHMuIFRoaXMgaXNcbiAqIHByaW1hcmlseSB1c2VmdWwgaWRpb21hdGljYWxseSBmb3Igb3ZlcnJpZGFibGUgZnVuY3Rpb24gZW5kcG9pbnRzIHdoaWNoXG4gKiBhbHdheXMgbmVlZCB0byBiZSBjYWxsYWJsZSwgc2luY2UgSlMgbGFja3MgYSBudWxsLWNhbGwgaWRpb20gYWxhIENvY29hLlxuICovXG52YXIgZW1wdHlGdW5jdGlvbiA9IGZ1bmN0aW9uIGVtcHR5RnVuY3Rpb24oKSB7fTtcblxuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJucyA9IG1ha2VFbXB0eUZ1bmN0aW9uO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0ZhbHNlID0gbWFrZUVtcHR5RnVuY3Rpb24oZmFsc2UpO1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc1RydWUgPSBtYWtlRW1wdHlGdW5jdGlvbih0cnVlKTtcbmVtcHR5RnVuY3Rpb24udGhhdFJldHVybnNOdWxsID0gbWFrZUVtcHR5RnVuY3Rpb24obnVsbCk7XG5lbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zVGhpcyA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXM7XG59O1xuZW1wdHlGdW5jdGlvbi50aGF0UmV0dXJuc0FyZ3VtZW50ID0gZnVuY3Rpb24gKGFyZykge1xuICByZXR1cm4gYXJnO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBlbXB0eUZ1bmN0aW9uOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///12\n")},,,,function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = __webpack_require__(17);\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9mYWN0b3J5V2l0aFRocm93aW5nU2hpbXMuanM/ZGE1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gcmVxdWlyZSgnLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQnKTtcblxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHt9XG5mdW5jdGlvbiBlbXB0eUZ1bmN0aW9uV2l0aFJlc2V0KCkge31cbmVtcHR5RnVuY3Rpb25XaXRoUmVzZXQucmVzZXRXYXJuaW5nQ2FjaGUgPSBlbXB0eUZ1bmN0aW9uO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICBmdW5jdGlvbiBzaGltKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwgc2VjcmV0KSB7XG4gICAgaWYgKHNlY3JldCA9PT0gUmVhY3RQcm9wVHlwZXNTZWNyZXQpIHtcbiAgICAgIC8vIEl0IGlzIHN0aWxsIHNhZmUgd2hlbiBjYWxsZWQgZnJvbSBSZWFjdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGVyciA9IG5ldyBFcnJvcihcbiAgICAgICdDYWxsaW5nIFByb3BUeXBlcyB2YWxpZGF0b3JzIGRpcmVjdGx5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiAnICtcbiAgICAgICdVc2UgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCkgdG8gY2FsbCB0aGVtLiAnICtcbiAgICAgICdSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzJ1xuICAgICk7XG4gICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgdGhyb3cgZXJyO1xuICB9O1xuICBzaGltLmlzUmVxdWlyZWQgPSBzaGltO1xuICBmdW5jdGlvbiBnZXRTaGltKCkge1xuICAgIHJldHVybiBzaGltO1xuICB9O1xuICAvLyBJbXBvcnRhbnQhXG4gIC8vIEtlZXAgdGhpcyBsaXN0IGluIHN5bmMgd2l0aCBwcm9kdWN0aW9uIHZlcnNpb24gaW4gYC4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMuanNgLlxuICB2YXIgUmVhY3RQcm9wVHlwZXMgPSB7XG4gICAgYXJyYXk6IHNoaW0sXG4gICAgYm9vbDogc2hpbSxcbiAgICBmdW5jOiBzaGltLFxuICAgIG51bWJlcjogc2hpbSxcbiAgICBvYmplY3Q6IHNoaW0sXG4gICAgc3RyaW5nOiBzaGltLFxuICAgIHN5bWJvbDogc2hpbSxcblxuICAgIGFueTogc2hpbSxcbiAgICBhcnJheU9mOiBnZXRTaGltLFxuICAgIGVsZW1lbnQ6IHNoaW0sXG4gICAgZWxlbWVudFR5cGU6IHNoaW0sXG4gICAgaW5zdGFuY2VPZjogZ2V0U2hpbSxcbiAgICBub2RlOiBzaGltLFxuICAgIG9iamVjdE9mOiBnZXRTaGltLFxuICAgIG9uZU9mOiBnZXRTaGltLFxuICAgIG9uZU9mVHlwZTogZ2V0U2hpbSxcbiAgICBzaGFwZTogZ2V0U2hpbSxcbiAgICBleGFjdDogZ2V0U2hpbSxcblxuICAgIGNoZWNrUHJvcFR5cGVzOiBlbXB0eUZ1bmN0aW9uV2l0aFJlc2V0LFxuICAgIHJlc2V0V2FybmluZ0NhY2hlOiBlbXB0eUZ1bmN0aW9uXG4gIH07XG5cbiAgUmVhY3RQcm9wVHlwZXMuUHJvcFR5cGVzID0gUmVhY3RQcm9wVHlwZXM7XG5cbiAgcmV0dXJuIFJlYWN0UHJvcFR5cGVzO1xufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///16\n")},function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanM/ZjhmZSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJztcblxubW9kdWxlLmV4cG9ydHMgPSBSZWFjdFByb3BUeXBlc1NlY3JldDtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///17\n")},,,function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\n\nvar React = __webpack_require__(5);\n\nvar REACT_ELEMENT_TYPE =\n (typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) ||\n 0xeac7;\n\nvar emptyFunction = __webpack_require__(12);\nvar invariant = __webpack_require__(21);\nvar warning = __webpack_require__(22);\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n\nvar didWarnAboutMaps = false;\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn =\n maybeIterable &&\n ((ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL]) ||\n maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function(match) {\n return escaperLookup[match];\n });\n\n return '$' + escapedString;\n}\n\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && typeof component === 'object' && component.key != null) {\n // Explicit key\n return escape(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\nfunction traverseAllChildrenImpl(\n children,\n nameSoFar,\n callback,\n traverseContext\n) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (\n children === null ||\n type === 'string' ||\n type === 'number' ||\n // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n (type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE)\n ) {\n callback(\n traverseContext,\n children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar\n );\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(\n child,\n nextName,\n callback,\n traverseContext\n );\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n if (false) {}\n\n var iterator = iteratorFn.call(children);\n var step;\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(\n child,\n nextName,\n callback,\n traverseContext\n );\n }\n } else if (type === 'object') {\n var addendum = '';\n if (false) {}\n var childrenString = '' + children;\n invariant(\n false,\n 'Objects are not valid as a React child (found: %s).%s',\n childrenString === '[object Object]'\n ? 'object with keys {' + Object.keys(children).join(', ') + '}'\n : childrenString,\n addendum\n );\n }\n }\n\n return subtreeCount;\n}\n\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n}\n\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return React.cloneElement(\n oldElement,\n {key: newKey},\n oldElement.props !== undefined ? oldElement.props.children : undefined\n );\n}\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\nvar oneArgumentPooler = function(copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n invariant(\n instance instanceof Klass,\n 'Trying to release an instance into a pool of a different type.'\n );\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n this.result = mapResult;\n this.keyPrefix = keyPrefix;\n this.func = mapFunction;\n this.context = mapContext;\n this.count = 0;\n}\nMapBookKeeping.prototype.destructor = function() {\n this.result = null;\n this.keyPrefix = null;\n this.func = null;\n this.context = null;\n this.count = 0;\n};\naddPoolingTo(MapBookKeeping, fourArgumentPooler);\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result;\n var keyPrefix = bookKeeping.keyPrefix;\n var func = bookKeeping.func;\n var context = bookKeeping.context;\n\n var mappedChild = func.call(context, child, bookKeeping.count++);\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(\n mappedChild,\n result,\n childKey,\n emptyFunction.thatReturnsArgument\n );\n } else if (mappedChild != null) {\n if (React.isValidElement(mappedChild)) {\n mappedChild = cloneAndReplaceKey(\n mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix +\n (mappedChild.key && (!child || child.key !== mappedChild.key)\n ? escapeUserProvidedKey(mappedChild.key) + '/'\n : '') +\n childKey\n );\n }\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n var traverseContext = MapBookKeeping.getPooled(\n array,\n escapedPrefix,\n func,\n context\n );\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n MapBookKeeping.release(traverseContext);\n}\n\nvar numericPropertyRegex = /^\\d+$/;\n\nvar warnedAboutNumeric = false;\n\nfunction createReactFragment(object) {\n if (typeof object !== 'object' || !object || Array.isArray(object)) {\n warning(\n false,\n 'React.addons.createFragment only accepts a single object. Got: %s',\n object\n );\n return object;\n }\n if (React.isValidElement(object)) {\n warning(\n false,\n 'React.addons.createFragment does not accept a ReactElement ' +\n 'without a wrapper object.'\n );\n return object;\n }\n\n invariant(\n object.nodeType !== 1,\n 'React.addons.createFragment(...): Encountered an invalid child; DOM ' +\n 'elements are not valid children of React components.'\n );\n\n var result = [];\n\n for (var key in object) {\n if (false) {}\n mapIntoWithKeyPrefixInternal(\n object[key],\n result,\n key,\n emptyFunction.thatReturnsArgument\n );\n }\n\n return result;\n}\n\nmodule.exports = createReactFragment;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvcmVhY3QtYWRkb25zLWNyZWF0ZS1mcmFnbWVudC9pbmRleC5qcz8yZWQxIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE1LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xuXG52YXIgUkVBQ1RfRUxFTUVOVF9UWVBFID1cbiAgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLmZvciAmJiBTeW1ib2wuZm9yKCdyZWFjdC5lbGVtZW50JykpIHx8XG4gIDB4ZWFjNztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCdmYmpzL2xpYi9lbXB0eUZ1bmN0aW9uJyk7XG52YXIgaW52YXJpYW50ID0gcmVxdWlyZSgnZmJqcy9saWIvaW52YXJpYW50Jyk7XG52YXIgd2FybmluZyA9IHJlcXVpcmUoJ2ZianMvbGliL3dhcm5pbmcnKTtcblxudmFyIFNFUEFSQVRPUiA9ICcuJztcbnZhciBTVUJTRVBBUkFUT1IgPSAnOic7XG5cbnZhciBkaWRXYXJuQWJvdXRNYXBzID0gZmFsc2U7XG5cbnZhciBJVEVSQVRPUl9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJzsgLy8gQmVmb3JlIFN5bWJvbCBzcGVjLlxuXG5mdW5jdGlvbiBnZXRJdGVyYXRvckZuKG1heWJlSXRlcmFibGUpIHtcbiAgdmFyIGl0ZXJhdG9yRm4gPVxuICAgIG1heWJlSXRlcmFibGUgJiZcbiAgICAoKElURVJBVE9SX1NZTUJPTCAmJiBtYXliZUl0ZXJhYmxlW0lURVJBVE9SX1NZTUJPTF0pIHx8XG4gICAgICBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXSk7XG4gIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBpdGVyYXRvckZuO1xuICB9XG59XG5cbmZ1bmN0aW9uIGVzY2FwZShrZXkpIHtcbiAgdmFyIGVzY2FwZVJlZ2V4ID0gL1s9Ol0vZztcbiAgdmFyIGVzY2FwZXJMb29rdXAgPSB7XG4gICAgJz0nOiAnPTAnLFxuICAgICc6JzogJz0yJ1xuICB9O1xuICB2YXIgZXNjYXBlZFN0cmluZyA9ICgnJyArIGtleSkucmVwbGFjZShlc2NhcGVSZWdleCwgZnVuY3Rpb24obWF0Y2gpIHtcbiAgICByZXR1cm4gZXNjYXBlckxvb2t1cFttYXRjaF07XG4gIH0pO1xuXG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnRLZXkoY29tcG9uZW50LCBpbmRleCkge1xuICAvLyBEbyBzb21lIHR5cGVjaGVja2luZyBoZXJlIHNpbmNlIHdlIGNhbGwgdGhpcyBibGluZGx5LiBXZSB3YW50IHRvIGVuc3VyZVxuICAvLyB0aGF0IHdlIGRvbid0IGJsb2NrIHBvdGVudGlhbCBmdXR1cmUgRVMgQVBJcy5cbiAgaWYgKGNvbXBvbmVudCAmJiB0eXBlb2YgY29tcG9uZW50ID09PSAnb2JqZWN0JyAmJiBjb21wb25lbnQua2V5ICE9IG51bGwpIHtcbiAgICAvLyBFeHBsaWNpdCBrZXlcbiAgICByZXR1cm4gZXNjYXBlKGNvbXBvbmVudC5rZXkpO1xuICB9XG4gIC8vIEltcGxpY2l0IGtleSBkZXRlcm1pbmVkIGJ5IHRoZSBpbmRleCBpbiB0aGUgc2V0XG4gIHJldHVybiBpbmRleC50b1N0cmluZygzNik7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICBjaGlsZHJlbixcbiAgbmFtZVNvRmFyLFxuICBjYWxsYmFjayxcbiAgdHJhdmVyc2VDb250ZXh0XG4pIHtcbiAgdmFyIHR5cGUgPSB0eXBlb2YgY2hpbGRyZW47XG5cbiAgaWYgKHR5cGUgPT09ICd1bmRlZmluZWQnIHx8IHR5cGUgPT09ICdib29sZWFuJykge1xuICAgIC8vIEFsbCBvZiB0aGUgYWJvdmUgYXJlIHBlcmNlaXZlZCBhcyBudWxsLlxuICAgIGNoaWxkcmVuID0gbnVsbDtcbiAgfVxuXG4gIGlmIChcbiAgICBjaGlsZHJlbiA9PT0gbnVsbCB8fFxuICAgIHR5cGUgPT09ICdzdHJpbmcnIHx8XG4gICAgdHlwZSA9PT0gJ251bWJlcicgfHxcbiAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGlubGluZWQgZnJvbSBSZWFjdEVsZW1lbnQuIFRoaXMgbWVhbnMgd2UgY2FuIG9wdGltaXplXG4gICAgLy8gc29tZSBjaGVja3MuIFJlYWN0IEZpYmVyIGFsc28gaW5saW5lcyB0aGlzIGxvZ2ljIGZvciBzaW1pbGFyIHB1cnBvc2VzLlxuICAgICh0eXBlID09PSAnb2JqZWN0JyAmJiBjaGlsZHJlbi4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKVxuICApIHtcbiAgICBjYWxsYmFjayhcbiAgICAgIHRyYXZlcnNlQ29udGV4dCxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgLy8gSWYgaXQncyB0aGUgb25seSBjaGlsZCwgdHJlYXQgdGhlIG5hbWUgYXMgaWYgaXQgd2FzIHdyYXBwZWQgaW4gYW4gYXJyYXlcbiAgICAgIC8vIHNvIHRoYXQgaXQncyBjb25zaXN0ZW50IGlmIHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gZ3Jvd3MuXG4gICAgICBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkcmVuLCAwKSA6IG5hbWVTb0ZhclxuICAgICk7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICB2YXIgY2hpbGQ7XG4gIHZhciBuZXh0TmFtZTtcbiAgdmFyIHN1YnRyZWVDb3VudCA9IDA7IC8vIENvdW50IG9mIGNoaWxkcmVuIGZvdW5kIGluIHRoZSBjdXJyZW50IHN1YnRyZWUuXG4gIHZhciBuZXh0TmFtZVByZWZpeCA9IG5hbWVTb0ZhciA9PT0gJycgPyBTRVBBUkFUT1IgOiBuYW1lU29GYXIgKyBTVUJTRVBBUkFUT1I7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGQgPSBjaGlsZHJlbltpXTtcbiAgICAgIG5leHROYW1lID0gbmV4dE5hbWVQcmVmaXggKyBnZXRDb21wb25lbnRLZXkoY2hpbGQsIGkpO1xuICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICAgICAgICBjaGlsZCxcbiAgICAgICAgbmV4dE5hbWUsXG4gICAgICAgIGNhbGxiYWNrLFxuICAgICAgICB0cmF2ZXJzZUNvbnRleHRcbiAgICAgICk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHZhciBpdGVyYXRvckZuID0gZ2V0SXRlcmF0b3JGbihjaGlsZHJlbik7XG4gICAgaWYgKGl0ZXJhdG9yRm4pIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICAgIC8vIFdhcm4gYWJvdXQgdXNpbmcgTWFwcyBhcyBjaGlsZHJlblxuICAgICAgICBpZiAoaXRlcmF0b3JGbiA9PT0gY2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIHdhcm5pbmcoXG4gICAgICAgICAgICBkaWRXYXJuQWJvdXRNYXBzLFxuICAgICAgICAgICAgJ1VzaW5nIE1hcHMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgK1xuICAgICAgICAgICAgICAndW5leHBlY3RlZCByZXN1bHRzLiBDb252ZXJ0IGl0IHRvIGEgc2VxdWVuY2UvaXRlcmFibGUgb2Yga2V5ZWQgJyArXG4gICAgICAgICAgICAgICdSZWFjdEVsZW1lbnRzIGluc3RlYWQuJ1xuICAgICAgICAgICk7XG4gICAgICAgICAgZGlkV2FybkFib3V0TWFwcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGl0ZXJhdG9yID0gaXRlcmF0b3JGbi5jYWxsKGNoaWxkcmVuKTtcbiAgICAgIHZhciBzdGVwO1xuICAgICAgdmFyIGlpID0gMDtcbiAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgY2hpbGQgPSBzdGVwLnZhbHVlO1xuICAgICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpaSsrKTtcbiAgICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKFxuICAgICAgICAgIGNoaWxkLFxuICAgICAgICAgIG5leHROYW1lLFxuICAgICAgICAgIGNhbGxiYWNrLFxuICAgICAgICAgIHRyYXZlcnNlQ29udGV4dFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgICAgYWRkZW5kdW0gPVxuICAgICAgICAgICcgSWYgeW91IG1lYW50IHRvIHJlbmRlciBhIGNvbGxlY3Rpb24gb2YgY2hpbGRyZW4sIHVzZSBhbiBhcnJheSAnICtcbiAgICAgICAgICAnaW5zdGVhZCBvciB3cmFwIHRoZSBvYmplY3QgdXNpbmcgY3JlYXRlRnJhZ21lbnQob2JqZWN0KSBmcm9tIHRoZSAnICtcbiAgICAgICAgICAnUmVhY3QgYWRkLW9ucy4nO1xuICAgICAgfVxuICAgICAgdmFyIGNoaWxkcmVuU3RyaW5nID0gJycgKyBjaGlsZHJlbjtcbiAgICAgIGludmFyaWFudChcbiAgICAgICAgZmFsc2UsXG4gICAgICAgICdPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6ICVzKS4lcycsXG4gICAgICAgIGNoaWxkcmVuU3RyaW5nID09PSAnW29iamVjdCBPYmplY3RdJ1xuICAgICAgICAgID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhjaGlsZHJlbikuam9pbignLCAnKSArICd9J1xuICAgICAgICAgIDogY2hpbGRyZW5TdHJpbmcsXG4gICAgICAgIGFkZGVuZHVtXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG5cbmZ1bmN0aW9uIHRyYXZlcnNlQWxsQ2hpbGRyZW4oY2hpbGRyZW4sIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpIHtcbiAgaWYgKGNoaWxkcmVuID09IG51bGwpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJldHVybiB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZHJlbiwgJycsIGNhbGxiYWNrLCB0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG52YXIgdXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXggPSAvXFwvKy9nO1xuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuICgnJyArIHRleHQpLnJlcGxhY2UodXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXgsICckJi8nKTtcbn1cblxuZnVuY3Rpb24gY2xvbmVBbmRSZXBsYWNlS2V5KG9sZEVsZW1lbnQsIG5ld0tleSkge1xuICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KFxuICAgIG9sZEVsZW1lbnQsXG4gICAge2tleTogbmV3S2V5fSxcbiAgICBvbGRFbGVtZW50LnByb3BzICE9PSB1bmRlZmluZWQgPyBvbGRFbGVtZW50LnByb3BzLmNoaWxkcmVuIDogdW5kZWZpbmVkXG4gICk7XG59XG5cbnZhciBERUZBVUxUX1BPT0xfU0laRSA9IDEwO1xudmFyIERFRkFVTFRfUE9PTEVSID0gb25lQXJndW1lbnRQb29sZXI7XG5cbnZhciBvbmVBcmd1bWVudFBvb2xlciA9IGZ1bmN0aW9uKGNvcHlGaWVsZHNGcm9tKSB7XG4gIHZhciBLbGFzcyA9IHRoaXM7XG4gIGlmIChLbGFzcy5pbnN0YW5jZVBvb2wubGVuZ3RoKSB7XG4gICAgdmFyIGluc3RhbmNlID0gS2xhc3MuaW5zdGFuY2VQb29sLnBvcCgpO1xuICAgIEtsYXNzLmNhbGwoaW5zdGFuY2UsIGNvcHlGaWVsZHNGcm9tKTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG5ldyBLbGFzcyhjb3B5RmllbGRzRnJvbSk7XG4gIH1cbn07XG5cbnZhciBhZGRQb29saW5nVG8gPSBmdW5jdGlvbiBhZGRQb29saW5nVG8oQ29weUNvbnN0cnVjdG9yLCBwb29sZXIpIHtcbiAgLy8gQ2FzdGluZyBhcyBhbnkgc28gdGhhdCBmbG93IGlnbm9yZXMgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBhbmQgdHJ1c3RzXG4gIC8vIGl0IHRvIG1hdGNoIHRoZSB0eXBlIHdlIGRlY2xhcmVkXG4gIHZhciBOZXdLbGFzcyA9IENvcHlDb25zdHJ1Y3RvcjtcbiAgTmV3S2xhc3MuaW5zdGFuY2VQb29sID0gW107XG4gIE5ld0tsYXNzLmdldFBvb2xlZCA9IHBvb2xlciB8fCBERUZBVUxUX1BPT0xFUjtcbiAgaWYgKCFOZXdLbGFzcy5wb29sU2l6ZSkge1xuICAgIE5ld0tsYXNzLnBvb2xTaXplID0gREVGQVVMVF9QT09MX1NJWkU7XG4gIH1cbiAgTmV3S2xhc3MucmVsZWFzZSA9IHN0YW5kYXJkUmVsZWFzZXI7XG4gIHJldHVybiBOZXdLbGFzcztcbn07XG5cbnZhciBzdGFuZGFyZFJlbGVhc2VyID0gZnVuY3Rpb24gc3RhbmRhcmRSZWxlYXNlcihpbnN0YW5jZSkge1xuICB2YXIgS2xhc3MgPSB0aGlzO1xuICBpbnZhcmlhbnQoXG4gICAgaW5zdGFuY2UgaW5zdGFuY2VvZiBLbGFzcyxcbiAgICAnVHJ5aW5nIHRvIHJlbGVhc2UgYW4gaW5zdGFuY2UgaW50byBhIHBvb2wgb2YgYSBkaWZmZXJlbnQgdHlwZS4nXG4gICk7XG4gIGluc3RhbmNlLmRlc3RydWN0b3IoKTtcbiAgaWYgKEtsYXNzLmluc3RhbmNlUG9vbC5sZW5ndGggPCBLbGFzcy5wb29sU2l6ZSkge1xuICAgIEtsYXNzLmluc3RhbmNlUG9vbC5wdXNoKGluc3RhbmNlKTtcbiAgfVxufTtcblxudmFyIGZvdXJBcmd1bWVudFBvb2xlciA9IGZ1bmN0aW9uIGZvdXJBcmd1bWVudFBvb2xlcihhMSwgYTIsIGEzLCBhNCkge1xuICB2YXIgS2xhc3MgPSB0aGlzO1xuICBpZiAoS2xhc3MuaW5zdGFuY2VQb29sLmxlbmd0aCkge1xuICAgIHZhciBpbnN0YW5jZSA9IEtsYXNzLmluc3RhbmNlUG9vbC5wb3AoKTtcbiAgICBLbGFzcy5jYWxsKGluc3RhbmNlLCBhMSwgYTIsIGEzLCBhNCk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBuZXcgS2xhc3MoYTEsIGEyLCBhMywgYTQpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBNYXBCb29rS2VlcGluZyhtYXBSZXN1bHQsIGtleVByZWZpeCwgbWFwRnVuY3Rpb24sIG1hcENvbnRleHQpIHtcbiAgdGhpcy5yZXN1bHQgPSBtYXBSZXN1bHQ7XG4gIHRoaXMua2V5UHJlZml4ID0ga2V5UHJlZml4O1xuICB0aGlzLmZ1bmMgPSBtYXBGdW5jdGlvbjtcbiAgdGhpcy5jb250ZXh0ID0gbWFwQ29udGV4dDtcbiAgdGhpcy5jb3VudCA9IDA7XG59XG5NYXBCb29rS2VlcGluZy5wcm90b3R5cGUuZGVzdHJ1Y3RvciA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLnJlc3VsdCA9IG51bGw7XG4gIHRoaXMua2V5UHJlZml4ID0gbnVsbDtcbiAgdGhpcy5mdW5jID0gbnVsbDtcbiAgdGhpcy5jb250ZXh0ID0gbnVsbDtcbiAgdGhpcy5jb3VudCA9IDA7XG59O1xuYWRkUG9vbGluZ1RvKE1hcEJvb2tLZWVwaW5nLCBmb3VyQXJndW1lbnRQb29sZXIpO1xuXG5mdW5jdGlvbiBtYXBTaW5nbGVDaGlsZEludG9Db250ZXh0KGJvb2tLZWVwaW5nLCBjaGlsZCwgY2hpbGRLZXkpIHtcbiAgdmFyIHJlc3VsdCA9IGJvb2tLZWVwaW5nLnJlc3VsdDtcbiAgdmFyIGtleVByZWZpeCA9IGJvb2tLZWVwaW5nLmtleVByZWZpeDtcbiAgdmFyIGZ1bmMgPSBib29rS2VlcGluZy5mdW5jO1xuICB2YXIgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XG5cbiAgdmFyIG1hcHBlZENoaWxkID0gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBib29rS2VlcGluZy5jb3VudCsrKTtcbiAgaWYgKEFycmF5LmlzQXJyYXkobWFwcGVkQ2hpbGQpKSB7XG4gICAgbWFwSW50b1dpdGhLZXlQcmVmaXhJbnRlcm5hbChcbiAgICAgIG1hcHBlZENoaWxkLFxuICAgICAgcmVzdWx0LFxuICAgICAgY2hpbGRLZXksXG4gICAgICBlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnRcbiAgICApO1xuICB9IGVsc2UgaWYgKG1hcHBlZENoaWxkICE9IG51bGwpIHtcbiAgICBpZiAoUmVhY3QuaXNWYWxpZEVsZW1lbnQobWFwcGVkQ2hpbGQpKSB7XG4gICAgICBtYXBwZWRDaGlsZCA9IGNsb25lQW5kUmVwbGFjZUtleShcbiAgICAgICAgbWFwcGVkQ2hpbGQsXG4gICAgICAgIC8vIEtlZXAgYm90aCB0aGUgKG1hcHBlZCkgYW5kIG9sZCBrZXlzIGlmIHRoZXkgZGlmZmVyLCBqdXN0IGFzXG4gICAgICAgIC8vIHRyYXZlcnNlQWxsQ2hpbGRyZW4gdXNlZCB0byBkbyBmb3Igb2JqZWN0cyBhcyBjaGlsZHJlblxuICAgICAgICBrZXlQcmVmaXggK1xuICAgICAgICAgIChtYXBwZWRDaGlsZC5rZXkgJiYgKCFjaGlsZCB8fCBjaGlsZC5rZXkgIT09IG1hcHBlZENoaWxkLmtleSlcbiAgICAgICAgICAgID8gZXNjYXBlVXNlclByb3ZpZGVkS2V5KG1hcHBlZENoaWxkLmtleSkgKyAnLydcbiAgICAgICAgICAgIDogJycpICtcbiAgICAgICAgICBjaGlsZEtleVxuICAgICAgKTtcbiAgICB9XG4gICAgcmVzdWx0LnB1c2gobWFwcGVkQ2hpbGQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIGFycmF5LCBwcmVmaXgsIGZ1bmMsIGNvbnRleHQpIHtcbiAgdmFyIGVzY2FwZWRQcmVmaXggPSAnJztcbiAgaWYgKHByZWZpeCAhPSBudWxsKSB7XG4gICAgZXNjYXBlZFByZWZpeCA9IGVzY2FwZVVzZXJQcm92aWRlZEtleShwcmVmaXgpICsgJy8nO1xuICB9XG4gIHZhciB0cmF2ZXJzZUNvbnRleHQgPSBNYXBCb29rS2VlcGluZy5nZXRQb29sZWQoXG4gICAgYXJyYXksXG4gICAgZXNjYXBlZFByZWZpeCxcbiAgICBmdW5jLFxuICAgIGNvbnRleHRcbiAgKTtcbiAgdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgbWFwU2luZ2xlQ2hpbGRJbnRvQ29udGV4dCwgdHJhdmVyc2VDb250ZXh0KTtcbiAgTWFwQm9va0tlZXBpbmcucmVsZWFzZSh0cmF2ZXJzZUNvbnRleHQpO1xufVxuXG52YXIgbnVtZXJpY1Byb3BlcnR5UmVnZXggPSAvXlxcZCskLztcblxudmFyIHdhcm5lZEFib3V0TnVtZXJpYyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBjcmVhdGVSZWFjdEZyYWdtZW50KG9iamVjdCkge1xuICBpZiAodHlwZW9mIG9iamVjdCAhPT0gJ29iamVjdCcgfHwgIW9iamVjdCB8fCBBcnJheS5pc0FycmF5KG9iamVjdCkpIHtcbiAgICB3YXJuaW5nKFxuICAgICAgZmFsc2UsXG4gICAgICAnUmVhY3QuYWRkb25zLmNyZWF0ZUZyYWdtZW50IG9ubHkgYWNjZXB0cyBhIHNpbmdsZSBvYmplY3QuIEdvdDogJXMnLFxuICAgICAgb2JqZWN0XG4gICAgKTtcbiAgICByZXR1cm4gb2JqZWN0O1xuICB9XG4gIGlmIChSZWFjdC5pc1ZhbGlkRWxlbWVudChvYmplY3QpKSB7XG4gICAgd2FybmluZyhcbiAgICAgIGZhbHNlLFxuICAgICAgJ1JlYWN0LmFkZG9ucy5jcmVhdGVGcmFnbWVudCBkb2VzIG5vdCBhY2NlcHQgYSBSZWFjdEVsZW1lbnQgJyArXG4gICAgICAgICd3aXRob3V0IGEgd3JhcHBlciBvYmplY3QuJ1xuICAgICk7XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIGludmFyaWFudChcbiAgICBvYmplY3Qubm9kZVR5cGUgIT09IDEsXG4gICAgJ1JlYWN0LmFkZG9ucy5jcmVhdGVGcmFnbWVudCguLi4pOiBFbmNvdW50ZXJlZCBhbiBpbnZhbGlkIGNoaWxkOyBET00gJyArXG4gICAgICAnZWxlbWVudHMgYXJlIG5vdCB2YWxpZCBjaGlsZHJlbiBvZiBSZWFjdCBjb21wb25lbnRzLidcbiAgKTtcblxuICB2YXIgcmVzdWx0ID0gW107XG5cbiAgZm9yICh2YXIga2V5IGluIG9iamVjdCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gICAgICBpZiAoIXdhcm5lZEFib3V0TnVtZXJpYyAmJiBudW1lcmljUHJvcGVydHlSZWdleC50ZXN0KGtleSkpIHtcbiAgICAgICAgd2FybmluZyhcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAnUmVhY3QuYWRkb25zLmNyZWF0ZUZyYWdtZW50KC4uLik6IENoaWxkIG9iamVjdHMgc2hvdWxkIGhhdmUgJyArXG4gICAgICAgICAgICAnbm9uLW51bWVyaWMga2V5cyBzbyBvcmRlcmluZyBpcyBwcmVzZXJ2ZWQuJ1xuICAgICAgICApO1xuICAgICAgICB3YXJuZWRBYm91dE51bWVyaWMgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKFxuICAgICAgb2JqZWN0W2tleV0sXG4gICAgICByZXN1bHQsXG4gICAgICBrZXksXG4gICAgICBlbXB0eUZ1bmN0aW9uLnRoYXRSZXR1cm5zQXJndW1lbnRcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVSZWFjdEZyYWdtZW50O1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFXQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///20\n")},function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (false) {}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvaW52YXJpYW50LmpzP2EzZTEiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTMtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFVzZSBpbnZhcmlhbnQoKSB0byBhc3NlcnQgc3RhdGUgd2hpY2ggeW91ciBwcm9ncmFtIGFzc3VtZXMgdG8gYmUgdHJ1ZS5cbiAqXG4gKiBQcm92aWRlIHNwcmludGYtc3R5bGUgZm9ybWF0IChvbmx5ICVzIGlzIHN1cHBvcnRlZCkgYW5kIGFyZ3VtZW50c1xuICogdG8gcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGJyb2tlIGFuZCB3aGF0IHlvdSB3ZXJlXG4gKiBleHBlY3RpbmcuXG4gKlxuICogVGhlIGludmFyaWFudCBtZXNzYWdlIHdpbGwgYmUgc3RyaXBwZWQgaW4gcHJvZHVjdGlvbiwgYnV0IHRoZSBpbnZhcmlhbnRcbiAqIHdpbGwgcmVtYWluIHRvIGVuc3VyZSBsb2dpYyBkb2VzIG5vdCBkaWZmZXIgaW4gcHJvZHVjdGlvbi5cbiAqL1xuXG52YXIgdmFsaWRhdGVGb3JtYXQgPSBmdW5jdGlvbiB2YWxpZGF0ZUZvcm1hdChmb3JtYXQpIHt9O1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YWxpZGF0ZUZvcm1hdCA9IGZ1bmN0aW9uIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCkge1xuICAgIGlmIChmb3JtYXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhcmlhbnQgcmVxdWlyZXMgYW4gZXJyb3IgbWVzc2FnZSBhcmd1bWVudCcpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaW52YXJpYW50KGNvbmRpdGlvbiwgZm9ybWF0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gIHZhbGlkYXRlRm9ybWF0KGZvcm1hdCk7XG5cbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICB2YXIgZXJyb3I7XG4gICAgaWYgKGZvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcignTWluaWZpZWQgZXhjZXB0aW9uIG9jY3VycmVkOyB1c2UgdGhlIG5vbi1taW5pZmllZCBkZXYgZW52aXJvbm1lbnQgJyArICdmb3IgdGhlIGZ1bGwgZXJyb3IgbWVzc2FnZSBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLicpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgYXJncyA9IFthLCBiLCBjLCBkLCBlLCBmXTtcbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XG4gICAgICBlcnJvciA9IG5ldyBFcnJvcihmb3JtYXQucmVwbGFjZSgvJXMvZywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gYXJnc1thcmdJbmRleCsrXTtcbiAgICAgIH0pKTtcbiAgICAgIGVycm9yLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgfVxuXG4gICAgZXJyb3IuZnJhbWVzVG9Qb3AgPSAxOyAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IGludmFyaWFudCdzIG93biBmcmFtZVxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gaW52YXJpYW50OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///21\n")},function(module,exports,__webpack_require__){"use strict";eval("/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n\n\nvar emptyFunction = __webpack_require__(12);\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (false) { var printWarning; }\n\nmodule.exports = warning;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvZmJqcy9saWIvd2FybmluZy5qcz80Yjk4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIGVtcHR5RnVuY3Rpb24gPSByZXF1aXJlKCcuL2VtcHR5RnVuY3Rpb24nKTtcblxuLyoqXG4gKiBTaW1pbGFyIHRvIGludmFyaWFudCBidXQgb25seSBsb2dzIGEgd2FybmluZyBpZiB0aGUgY29uZGl0aW9uIGlzIG5vdCBtZXQuXG4gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGxvZyBpc3N1ZXMgaW4gZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzIGluIGNyaXRpY2FsXG4gKiBwYXRocy4gUmVtb3ZpbmcgdGhlIGxvZ2dpbmcgY29kZSBmb3IgcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMgd2lsbCBrZWVwIHRoZVxuICogc2FtZSBsb2dpYyBhbmQgZm9sbG93IHRoZSBzYW1lIGNvZGUgcGF0aHMuXG4gKi9cblxudmFyIHdhcm5pbmcgPSBlbXB0eUZ1bmN0aW9uO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykge1xuICB2YXIgcHJpbnRXYXJuaW5nID0gZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGZvcm1hdCkge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5IC0gMV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgdmFyIGFyZ0luZGV4ID0gMDtcbiAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgIH0pO1xuICAgIGlmICh0eXBlb2YgY29uc29sZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAvLyAtLS0gV2VsY29tZSB0byBkZWJ1Z2dpbmcgUmVhY3QgLS0tXG4gICAgICAvLyBUaGlzIGVycm9yIHdhcyB0aHJvd24gYXMgYSBjb252ZW5pZW5jZSBzbyB0aGF0IHlvdSBjYW4gdXNlIHRoaXMgc3RhY2tcbiAgICAgIC8vIHRvIGZpbmQgdGhlIGNhbGxzaXRlIHRoYXQgY2F1c2VkIHRoaXMgd2FybmluZyB0byBmaXJlLlxuICAgICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgIH0gY2F0Y2ggKHgpIHt9XG4gIH07XG5cbiAgd2FybmluZyA9IGZ1bmN0aW9uIHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQpIHtcbiAgICBpZiAoZm9ybWF0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQsIC4uLmFyZ3MpYCByZXF1aXJlcyBhIHdhcm5pbmcgJyArICdtZXNzYWdlIGFyZ3VtZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKGZvcm1hdC5pbmRleE9mKCdGYWlsZWQgQ29tcG9zaXRlIHByb3BUeXBlOiAnKSA9PT0gMCkge1xuICAgICAgcmV0dXJuOyAvLyBJZ25vcmUgQ29tcG9zaXRlQ29tcG9uZW50IHByb3B0eXBlIGNoZWNrLlxuICAgIH1cblxuICAgIGlmICghY29uZGl0aW9uKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuMiA+IDIgPyBfbGVuMiAtIDIgOiAwKSwgX2tleTIgPSAyOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIGFyZ3NbX2tleTIgLSAyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHByaW50V2FybmluZy5hcHBseSh1bmRlZmluZWQsIFtmb3JtYXRdLmNvbmNhdChhcmdzKSk7XG4gICAgfVxuICB9O1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHdhcm5pbmc7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FzQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///22\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nfunction identifyToken(item) {\n\t// {{/example}}\n\tif (item.match(/^\\{\\{\\//)) {\n\t\treturn {\n\t\t\ttype: 'componentClose',\n\t\t\tvalue: item.replace(/\\W/g, '')\n\t\t};\n\t}\n\t// {{example /}}\n\tif (item.match(/\\/\\}\\}$/)) {\n\t\treturn {\n\t\t\ttype: 'componentSelfClosing',\n\t\t\tvalue: item.replace(/\\W/g, '')\n\t\t};\n\t}\n\t// {{example}}\n\tif (item.match(/^\\{\\{/)) {\n\t\treturn {\n\t\t\ttype: 'componentOpen',\n\t\t\tvalue: item.replace(/\\W/g, '')\n\t\t};\n\t}\n\treturn {\n\t\ttype: 'string',\n\t\tvalue: item\n\t};\n}\n\nmodule.exports = function (mixedString) {\n\tvar tokenStrings = mixedString.split(/(\\{\\{\\/?\\s*\\w+\\s*\\/?\\}\\})/g); // split to components and strings\n\treturn tokenStrings.map(identifyToken);\n};\n//# sourceMappingURL=tokenize.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vL3Zhci9qZW5raW5zL3dvcmtzcGFjZS9QbHVnaW4tUmVsZWFzZS93b3JkcHJlc3Mtc2VvLXByZW1pdW0vLnJlcG9zL3dvcmRwcmVzcy1zZW8tcHJlbWl1bS9ub2RlX21vZHVsZXMvaW50ZXJwb2xhdGUtY29tcG9uZW50cy9saWIvdG9rZW5pemUuanM/YWY5ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGlkZW50aWZ5VG9rZW4oaXRlbSkge1xuXHQvLyB7ey9leGFtcGxlfX1cblx0aWYgKGl0ZW0ubWF0Y2goL15cXHtcXHtcXC8vKSkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0eXBlOiAnY29tcG9uZW50Q2xvc2UnLFxuXHRcdFx0dmFsdWU6IGl0ZW0ucmVwbGFjZSgvXFxXL2csICcnKVxuXHRcdH07XG5cdH1cblx0Ly8ge3tleGFtcGxlIC99fVxuXHRpZiAoaXRlbS5tYXRjaCgvXFwvXFx9XFx9JC8pKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHR5cGU6ICdjb21wb25lbnRTZWxmQ2xvc2luZycsXG5cdFx0XHR2YWx1ZTogaXRlbS5yZXBsYWNlKC9cXFcvZywgJycpXG5cdFx0fTtcblx0fVxuXHQvLyB7e2V4YW1wbGV9fVxuXHRpZiAoaXRlbS5tYXRjaCgvXlxce1xcey8pKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHR5cGU6ICdjb21wb25lbnRPcGVuJyxcblx0XHRcdHZhbHVlOiBpdGVtLnJlcGxhY2UoL1xcVy9nLCAnJylcblx0XHR9O1xuXHR9XG5cdHJldHVybiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0dmFsdWU6IGl0ZW1cblx0fTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobWl4ZWRTdHJpbmcpIHtcblx0dmFyIHRva2VuU3RyaW5ncyA9IG1peGVkU3RyaW5nLnNwbGl0KC8oXFx7XFx7XFwvP1xccypcXHcrXFxzKlxcLz9cXH1cXH0pL2cpOyAvLyBzcGxpdCB0byBjb21wb25lbnRzIGFuZCBzdHJpbmdzXG5cdHJldHVybiB0b2tlblN0cmluZ3MubWFwKGlkZW50aWZ5VG9rZW4pO1xufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXRva2VuaXplLmpzLm1hcCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\n")},,function(module,exports){eval("module.exports = window.yoast.styleGuide;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cueW9hc3Quc3R5bGVHdWlkZVwiP2RlZjkiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cueW9hc3Quc3R5bGVHdWlkZTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///25\n")},,,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = linkSuggestionsIsSupported;\n\nvar _linkSuggestionsEnabled = __webpack_require__(37);\n\nvar _linkSuggestionsEnabled2 = _interopRequireDefault(_linkSuggestionsEnabled);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Determines whether or not link suggestions is supported.\n *\n * @returns {boolean} Whether or not link suggestions is supported.\n */\nfunction linkSuggestionsIsSupported() {\n var contentEndpointsAvailable = window.wpseoPremiumMetaboxData.data.restApi.available && window.wpseoPremiumMetaboxData.data.restApi.contentEndpointsAvailable;\n\n return contentEndpointsAvailable && (0, _linkSuggestionsEnabled2.default)();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvbGlua1N1Z2dlc3Rpb25zSXNTdXBwb3J0ZWQuanM/YWYzNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbGlua1N1Z2dlc3Rpb25zRW5hYmxlZCBmcm9tIFwiLi9saW5rU3VnZ2VzdGlvbnNFbmFibGVkXCI7XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGlzIHN1cHBvcnRlZC5cbiAqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBvciBub3QgbGluayBzdWdnZXN0aW9ucyBpcyBzdXBwb3J0ZWQuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGxpbmtTdWdnZXN0aW9uc0lzU3VwcG9ydGVkKCkge1xuXHRjb25zdCBjb250ZW50RW5kcG9pbnRzQXZhaWxhYmxlID0gd2luZG93Lndwc2VvUHJlbWl1bU1ldGFib3hEYXRhLmRhdGEucmVzdEFwaS5hdmFpbGFibGUgJiZcblx0XHR3aW5kb3cud3BzZW9QcmVtaXVtTWV0YWJveERhdGEuZGF0YS5yZXN0QXBpLmNvbnRlbnRFbmRwb2ludHNBdmFpbGFibGU7XG5cblx0cmV0dXJuIGNvbnRlbnRFbmRwb2ludHNBdmFpbGFibGUgJiYgbGlua1N1Z2dlc3Rpb25zRW5hYmxlZCgpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQU9BO0FBQ0E7QUFSQTtBQUNBOzs7OztBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUVBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n')},,,,,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\nexports.getUnindexedWarning = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* global ClipboardJS */\n\n\n/* Internal dependencies */\n\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _styledComponents = __webpack_require__(8);\n\nvar _styledComponents2 = _interopRequireDefault(_styledComponents);\n\nvar _interpolateComponents = __webpack_require__(11);\n\nvar _interpolateComponents2 = _interopRequireDefault(_interpolateComponents);\n\nvar _i18n = __webpack_require__(0);\n\nvar _a11y = __webpack_require__(34);\n\nvar _LinkSuggestion = __webpack_require__(35);\n\nvar _LinkSuggestion2 = _interopRequireDefault(_LinkSuggestion);\n\nvar _helpers = __webpack_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar HelpTextLink = (0, _helpers.makeOutboundLink)();\n\nvar LinkSuggestionsWrapper = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestions__LinkSuggestionsWrapper",\n\tcomponentId: "sc-1mipca3-0"\n})(["display:table-cell;"]);\n\nvar noRelevantPostsMessage = (0, _i18n.__)("We could not find any relevant articles on your website that you " + "could link to from your post.", "wordpress-seo-premium");\n\nvar introMessage = (0, _i18n.__)("To improve your site structure, consider linking to other relevant posts " + "or pages on your website.", "wordpress-seo-premium");\n\nvar articleLink = (0, _interpolateComponents2.default)({\n\t// Translators: Text between {{a}} and {{/a}} will be a link to an article about site structure.\n\tmixedString: (0, _i18n.__)("{{a}}Read our guide on internal linking for SEO{{/a}} to learn more.", "wordpress-seo-premium"),\n\tcomponents: {\n\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\ta: wp.element.createElement(HelpTextLink, { href: "https://yoa.st/site-structure-metabox" })\n\t}\n});\n\nvar yoastClipBoard = void 0;\n\n/**\n * @summary Handles visual feedback and keyboard focus on Clipboard copy success.\n *\n * @param {Object} evt Clipboard.js custom DOM event.\n * @returns {void}\n */\nvar clipboardSuccess = function clipboardSuccess(evt) {\n\tvar message = (0, _i18n.__)("Copied!", "wordpress-seo-premium");\n\n\t// Move focus back to the Clipboard trigger button.\n\tevt.trigger.focus();\n\t// Update the button `aria-label` attribute.\n\tevt.trigger.setAttribute("aria-label", message);\n\t// Update the button `data-label` attribute.\n\tevt.trigger.setAttribute("data-label", message);\n\t// Send audible message to the ARIA live region.\n\t(0, _a11y.speak)(message, "assertive");\n};\n\n/**\n * @summary Handles visual feedback on Clipboard copy error.\n *\n * @param {Object} evt Clipboard.js custom DOM event.\n * @returns {void}\n */\nvar clipboardError = function clipboardError(evt) {\n\tvar message = (0, _i18n.__)("Not supported!", "wordpress-seo-premium");\n\n\t// Update the button `aria-label` attribute.\n\tevt.trigger.el.setAttribute("aria-label", message);\n\t// Update the button `data-label` attribute.\n\tevt.trigger.setAttribute("data-label", message);\n\t// Send audible message to the ARIA live region.\n\t(0, _a11y.speak)(message, "assertive");\n};\n\n/**\n * Represents the Suggestions component.\n *\n * @returns {React.Element} The suggestions component.\n */\nvar LinkSuggestions = function LinkSuggestions(_ref) {\n\tvar suggestions = _ref.suggestions,\n\t maxSuggestions = _ref.maxSuggestions,\n\t customMessages = _ref.customMessages;\n\n\tif (suggestions.length === 0) {\n\t\tvar lengthMessage = customMessages.lengthMessage;\n\t\tlengthMessage = lengthMessage === "" ? noRelevantPostsMessage : lengthMessage;\n\n\t\treturn wp.element.createElement(\n\t\t\t"div",\n\t\t\tnull,\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\tlengthMessage\n\t\t\t),\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\tcustomMessages.metaMessage\n\t\t\t),\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\tarticleLink\n\t\t\t)\n\t\t);\n\t}\n\n\tif (suggestions.length > maxSuggestions) {\n\t\tsuggestions.length = maxSuggestions;\n\t}\n\n\treturn wp.element.createElement(\n\t\tLinkSuggestionsWrapper,\n\t\tnull,\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tintroMessage,\n\t\t\t" ",\n\t\t\tarticleLink\n\t\t),\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tcustomMessages.metaMessage\n\t\t),\n\t\tsuggestions.map(function (suggestion, key) {\n\t\t\treturn wp.element.createElement(_LinkSuggestion2.default, _extends({ key: key }, suggestion));\n\t\t})\n\t);\n};\n\nLinkSuggestions.propTypes = {\n\tsuggestions: _propTypes2.default.array.isRequired,\n\tmaxSuggestions: _propTypes2.default.number,\n\tcustomMessages: _propTypes2.default.object\n};\n\nLinkSuggestions.defaultProps = {\n\tmaxSuggestions: 10,\n\tcustomMessages: {\n\t\tlengthMessage: "",\n\t\tmetaMessage: ""\n\t}\n};\n\n/**\n * Starts prominent word analysis in a new tab.\n *\n * @returns {void}\n */\nvar startAnalyzing = function startAnalyzing() {\n\twindow.open("admin.php?page=wpseo_tools&start-indexation=true", "yoastSeoAnalyzeProminentWords");\n};\n\n/* eslint-disable-rule complexity */\n/**\n * Defines a message to render below the message about copy length in the Internal Linking Suggestions.\n *\n * @param {string} lengthMessage The message about more copy being needed.\n * @param {boolean} hasTitle Whether a title is available for the post.\n * @param {boolean} hasMetaDescription Whether a metadescription is available for the post.\n * @returns {*} Returns a metaMessage or nothing.\n */\nvar determineMetaMessage = function determineMetaMessage(lengthMessage, hasTitle, hasMetaDescription) {\n\tswitch (true) {\n\t\tcase hasMetaDescription && !hasTitle && lengthMessage === "":\n\t\t\treturn (0, _i18n.__)("Add a title to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && hasTitle && lengthMessage === "":\n\t\t\treturn (0, _i18n.__)("Add a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && !hasTitle && lengthMessage === "":\n\t\t\treturn (0, _i18n.__)("Add a title and a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase hasMetaDescription && !hasTitle && lengthMessage !== "":\n\t\t\treturn (0, _i18n.__)("Also, add a title to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && hasTitle && lengthMessage !== "":\n\t\t\treturn (0, _i18n.__)("Also, add a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t\tcase !hasMetaDescription && !hasTitle && lengthMessage !== "":\n\t\t\treturn (0, _i18n.__)("Also, add a title and a metadescription to your post for the best internal linking suggestions.", "wordpress-seo-premium");\n\t}\n};\n/* eslint-enable-rule complexity */\n\n/**\n * Defines a message to render in the Internal Linking Suggestions Component.\n *\n * @param {Object} args A compound object.\n * @param {boolean} args.hasWordsForLinking Whether wordsForLinking are available for the post.\n * @param {boolean} args.hasMetaDescription Whether a metadescription is available for the post.\n * @param {boolean} args.hasTitle Whether a title is available for the post.\n *\n * @returns {Object} messages Messages to pass to the component.\n * @returns {string} messages.lengthMessage A custom message concerning insufficient length of the copy.\n * @returns {string} messages.metaMessage A custom message concerning metadata missing in the copy.\n */\nvar determineSuggestionsCustomMessage = function determineSuggestionsCustomMessage(args) {\n\tvar lengthMessage = "";\n\n\tif (!args.hasWordsForLinking) {\n\t\tlengthMessage = (0, _i18n.__)("Once you add a bit more copy, we\'ll give you a list of related content here to which you could link in your post.", "wordpress-seo-premium");\n\t}\n\n\tvar metaMessage = determineMetaMessage(lengthMessage, args.hasTitle, args.hasMetaDescription);\n\n\treturn {\n\t\tlengthMessage: lengthMessage,\n\t\tmetaMessage: metaMessage\n\t};\n};\n\n/**\n * Generates a warning about the site not having been properly indexed.\n **\n * @returns {React.Element} The message or no element.\n */\nvar getUnindexedWarning = exports.getUnindexedWarning = function getUnindexedWarning() {\n\t/* translators: 1: link to yoast.com post about internal linking suggestion. 2: is anchor closing.\n 3: button to the recalculation option. 4: closing button */\n\tvar message = (0, _i18n.__)("We need to optimize your sites SEO data so we can offer you the best %1$slinking suggestions%2$s." + "\\n\\n" + "%3$sStart SEO Data optimization%4$s", "wordpress-seo-premium");\n\n\tmessage = message.replace("%1$s", "{{a}}");\n\tmessage = message.replace("%2$s", "{{/a}}");\n\n\t// These are here to keep the string the same as in the PHP\n\tmessage = message.replace("%3$s", "{{startAnalysis}}");\n\tmessage = message.replace("%4$s", "{{/startAnalysis}}");\n\n\tmessage = message.replace("\\n\\n", "{{br /}}{{br /}}");\n\n\t// Disable reason: the anchor does have content, ESLint doesn\'t understand interpolateComponents\n\t/* eslint-disable jsx-a11y/anchor-has-content */\n\tmessage = (0, _interpolateComponents2.default)({\n\t\tmixedString: message,\n\t\tcomponents: {\n\t\t\t// eslint-disable-next-line react/jsx-no-target-blank\n\t\t\ta: wp.element.createElement("a", { href: "https://yoa.st/notification-internal-link", target: "_blank" }),\n\t\t\tstartAnalysis: wp.element.createElement("button", { type: "button", className: "button", onClick: startAnalyzing }),\n\t\t\tbr: wp.element.createElement("br", null)\n\t\t}\n\t});\n\t/* eslint-enable jsx-a11y/anchor-has-content */\n\n\treturn wp.element.createElement(\n\t\t"div",\n\t\t{ className: "notice notice-warning notice-alt wpseo-notice-breakout-inside yoast-links-suggestions-notice" },\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tmessage\n\t\t)\n\t);\n};\n\n/**\n * Link suggestions metabox component.\n *\n * @param {Object} props The properties for this components.\n * @param {boolean} props.isLoading Whether this component should start of showing a loader.\n * @param {Array} props.suggestions The suggestions to render initially.\n *\n * @returns {JSX.Element} The rendered element.\n */\nvar Metabox = function Metabox(props) {\n\tif (props.isLoading) {\n\t\treturn wp.element.createElement(\n\t\t\t"div",\n\t\t\t{ className: "yoast-link-suggestions" },\n\t\t\twp.element.createElement(\n\t\t\t\t"p",\n\t\t\t\tnull,\n\t\t\t\t(0, _i18n.__)("It takes a few seconds to show you a list of related content to which you could link. " + "The suggestions will be shown here as soon as we have them.", "wordpress-seo-premium")\n\t\t\t)\n\t\t);\n\t}\n\n\tif (!yoastClipBoard) {\n\t\tyoastClipBoard = new ClipboardJS(".yoast-link-suggestion__copy");\n\t\tyoastClipBoard.on("success", clipboardSuccess);\n\t\tyoastClipBoard.on("error", clipboardError);\n\t}\n\n\tvar unindexedWarning = null;\n\tif (props.showUnindexedWarning) {\n\t\tunindexedWarning = getUnindexedWarning();\n\t}\n\n\tvar determineMessageParameters = _extends({}, props.messageData, {\n\t\thasWordsForLinking: Array.isArray(props.wordsForLinking) && props.wordsForLinking.length > 0\n\t});\n\n\tvar customMessages = determineSuggestionsCustomMessage(determineMessageParameters);\n\n\treturn wp.element.createElement(\n\t\t"div",\n\t\t{ className: "yoast-link-suggestions" },\n\t\tunindexedWarning,\n\t\twp.element.createElement(LinkSuggestions, { suggestions: props.suggestions, customMessages: customMessages })\n\t);\n};\n\nMetabox.propTypes = {\n\tsuggestions: _propTypes2.default.array.isRequired,\n\twordsForLinking: _propTypes2.default.array,\n\tmessageData: _propTypes2.default.object,\n\tisLoading: _propTypes2.default.bool.isRequired,\n\tshowUnindexedWarning: _propTypes2.default.bool\n};\n\nMetabox.defaultProps = {\n\tshowUnindexedWarning: false,\n\tmessageData: {\n\t\thasMetaDescription: false,\n\t\thasTitle: false\n\t},\n\twordsForLinking: []\n};\n\nexports.default = Metabox;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9jb21wb25lbnRzL0xpbmtTdWdnZXN0aW9ucy5qcz9kOTRkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGdsb2JhbCBDbGlwYm9hcmRKUyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCBpbnRlcnBvbGF0ZUNvbXBvbmVudHMgZnJvbSBcImludGVycG9sYXRlLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IF9fIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuaW1wb3J0IHsgc3BlYWsgfSBmcm9tIFwiQHdvcmRwcmVzcy9hMTF5XCI7XG5cbmltcG9ydCBMaW5rU3VnZ2VzdGlvbiBmcm9tIFwiLi9MaW5rU3VnZ2VzdGlvblwiO1xuXG4vKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXMgKi9cbmltcG9ydCB7IG1ha2VPdXRib3VuZExpbmsgfSBmcm9tIFwiQHlvYXN0L2hlbHBlcnNcIjtcblxuY29uc3QgSGVscFRleHRMaW5rID0gbWFrZU91dGJvdW5kTGluaygpO1xuXG5jb25zdCBMaW5rU3VnZ2VzdGlvbnNXcmFwcGVyID0gc3R5bGVkLmRpdmBcblx0ZGlzcGxheTogdGFibGUtY2VsbDtcbmA7XG5cbmNvbnN0IG5vUmVsZXZhbnRQb3N0c01lc3NhZ2UgPSBfXyggXCJXZSBjb3VsZCBub3QgZmluZCBhbnkgcmVsZXZhbnQgYXJ0aWNsZXMgb24geW91ciB3ZWJzaXRlIHRoYXQgeW91IFwiICtcblx0XCJjb3VsZCBsaW5rIHRvIGZyb20geW91ciBwb3N0LlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cbmNvbnN0IGludHJvTWVzc2FnZSA9IF9fKCBcIlRvIGltcHJvdmUgeW91ciBzaXRlIHN0cnVjdHVyZSwgY29uc2lkZXIgbGlua2luZyB0byBvdGhlciByZWxldmFudCBwb3N0cyBcIiArXG5cdFwib3IgcGFnZXMgb24geW91ciB3ZWJzaXRlLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cbmNvbnN0IGFydGljbGVMaW5rID0gaW50ZXJwb2xhdGVDb21wb25lbnRzKCB7XG5cdC8vIFRyYW5zbGF0b3JzOiBUZXh0IGJldHdlZW4ge3thfX0gYW5kIHt7L2F9fSB3aWxsIGJlIGEgbGluayB0byBhbiBhcnRpY2xlIGFib3V0IHNpdGUgc3RydWN0dXJlLlxuXHRtaXhlZFN0cmluZzogX18oIFwie3thfX1SZWFkIG91ciBndWlkZSBvbiBpbnRlcm5hbCBsaW5raW5nIGZvciBTRU97ey9hfX0gdG8gbGVhcm4gbW9yZS5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRjb21wb25lbnRzOiB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzeC1hMTF5L2FuY2hvci1oYXMtY29udGVudFxuXHRcdGE6IDxIZWxwVGV4dExpbmsgaHJlZj1cImh0dHBzOi8veW9hLnN0L3NpdGUtc3RydWN0dXJlLW1ldGFib3hcIiAvPixcblx0fSxcbn0gKTtcblxubGV0IHlvYXN0Q2xpcEJvYXJkO1xuXG4vKipcbiAqIEBzdW1tYXJ5IEhhbmRsZXMgdmlzdWFsIGZlZWRiYWNrIGFuZCBrZXlib2FyZCBmb2N1cyBvbiBDbGlwYm9hcmQgY29weSBzdWNjZXNzLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBldnQgQ2xpcGJvYXJkLmpzIGN1c3RvbSBET00gZXZlbnQuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuY29uc3QgY2xpcGJvYXJkU3VjY2VzcyA9ICggZXZ0ICkgPT4ge1xuXHRjb25zdCBtZXNzYWdlID0gX18oIFwiQ29waWVkIVwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cblx0Ly8gTW92ZSBmb2N1cyBiYWNrIHRvIHRoZSBDbGlwYm9hcmQgdHJpZ2dlciBidXR0b24uXG5cdGV2dC50cmlnZ2VyLmZvY3VzKCk7XG5cdC8vIFVwZGF0ZSB0aGUgYnV0dG9uIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUuXG5cdGV2dC50cmlnZ2VyLnNldEF0dHJpYnV0ZSggXCJhcmlhLWxhYmVsXCIsIG1lc3NhZ2UgKTtcblx0Ly8gVXBkYXRlIHRoZSBidXR0b24gYGRhdGEtbGFiZWxgIGF0dHJpYnV0ZS5cblx0ZXZ0LnRyaWdnZXIuc2V0QXR0cmlidXRlKCBcImRhdGEtbGFiZWxcIiwgbWVzc2FnZSApO1xuXHQvLyBTZW5kIGF1ZGlibGUgbWVzc2FnZSB0byB0aGUgQVJJQSBsaXZlIHJlZ2lvbi5cblx0c3BlYWsoIG1lc3NhZ2UsIFwiYXNzZXJ0aXZlXCIgKTtcbn07XG5cbi8qKlxuICogQHN1bW1hcnkgSGFuZGxlcyB2aXN1YWwgZmVlZGJhY2sgb24gQ2xpcGJvYXJkIGNvcHkgZXJyb3IuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGV2dCBDbGlwYm9hcmQuanMgY3VzdG9tIERPTSBldmVudC5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5jb25zdCBjbGlwYm9hcmRFcnJvciA9ICggZXZ0ICkgPT4ge1xuXHRjb25zdCBtZXNzYWdlID0gX18oIFwiTm90IHN1cHBvcnRlZCFcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXG5cdC8vIFVwZGF0ZSB0aGUgYnV0dG9uIGBhcmlhLWxhYmVsYCBhdHRyaWJ1dGUuXG5cdGV2dC50cmlnZ2VyLmVsLnNldEF0dHJpYnV0ZSggXCJhcmlhLWxhYmVsXCIsIG1lc3NhZ2UgKTtcblx0Ly8gVXBkYXRlIHRoZSBidXR0b24gYGRhdGEtbGFiZWxgIGF0dHJpYnV0ZS5cblx0ZXZ0LnRyaWdnZXIuc2V0QXR0cmlidXRlKCBcImRhdGEtbGFiZWxcIiwgbWVzc2FnZSApO1xuXHQvLyBTZW5kIGF1ZGlibGUgbWVzc2FnZSB0byB0aGUgQVJJQSBsaXZlIHJlZ2lvbi5cblx0c3BlYWsoIG1lc3NhZ2UsIFwiYXNzZXJ0aXZlXCIgKTtcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgU3VnZ2VzdGlvbnMgY29tcG9uZW50LlxuICpcbiAqIEByZXR1cm5zIHtSZWFjdC5FbGVtZW50fSBUaGUgc3VnZ2VzdGlvbnMgY29tcG9uZW50LlxuICovXG5jb25zdCBMaW5rU3VnZ2VzdGlvbnMgPSAoIHsgc3VnZ2VzdGlvbnMsIG1heFN1Z2dlc3Rpb25zLCBjdXN0b21NZXNzYWdlcyB9ICkgPT4ge1xuXHRpZiAoIHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCApIHtcblx0XHRsZXQgbGVuZ3RoTWVzc2FnZSA9IGN1c3RvbU1lc3NhZ2VzLmxlbmd0aE1lc3NhZ2U7XG5cdFx0bGVuZ3RoTWVzc2FnZSA9IGxlbmd0aE1lc3NhZ2UgPT09IFwiXCIgPyBub1JlbGV2YW50UG9zdHNNZXNzYWdlIDogbGVuZ3RoTWVzc2FnZTtcblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8ZGl2PlxuXHRcdFx0XHQ8cD57IGxlbmd0aE1lc3NhZ2UgfTwvcD5cblx0XHRcdFx0PHA+eyBjdXN0b21NZXNzYWdlcy5tZXRhTWVzc2FnZSB9PC9wPlxuXHRcdFx0XHQ8cD57IGFydGljbGVMaW5rIH08L3A+XG5cdFx0XHQ8L2Rpdj5cblx0XHQpO1xuXHR9XG5cblx0aWYgKCBzdWdnZXN0aW9ucy5sZW5ndGggPiBtYXhTdWdnZXN0aW9ucyApIHtcblx0XHRzdWdnZXN0aW9ucy5sZW5ndGggPSBtYXhTdWdnZXN0aW9ucztcblx0fVxuXG5cdHJldHVybiAoXG5cdFx0PExpbmtTdWdnZXN0aW9uc1dyYXBwZXI+XG5cdFx0XHQ8cD57IGludHJvTWVzc2FnZSB9IHsgYXJ0aWNsZUxpbmsgfTwvcD5cblx0XHRcdDxwPnsgY3VzdG9tTWVzc2FnZXMubWV0YU1lc3NhZ2UgfTwvcD5cblx0XHRcdHsgc3VnZ2VzdGlvbnMubWFwKCAoIHN1Z2dlc3Rpb24sIGtleSApID0+IDxMaW5rU3VnZ2VzdGlvbiBrZXk9eyBrZXkgfSB7IC4uLnN1Z2dlc3Rpb24gfSAvPiApIH1cblx0XHQ8L0xpbmtTdWdnZXN0aW9uc1dyYXBwZXI+XG5cdCk7XG59O1xuXG5MaW5rU3VnZ2VzdGlvbnMucHJvcFR5cGVzID0ge1xuXHRzdWdnZXN0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG5cdG1heFN1Z2dlc3Rpb25zOiBQcm9wVHlwZXMubnVtYmVyLFxuXHRjdXN0b21NZXNzYWdlczogUHJvcFR5cGVzLm9iamVjdCxcbn07XG5cbkxpbmtTdWdnZXN0aW9ucy5kZWZhdWx0UHJvcHMgPSB7XG5cdG1heFN1Z2dlc3Rpb25zOiAxMCxcblx0Y3VzdG9tTWVzc2FnZXM6IHtcblx0XHRsZW5ndGhNZXNzYWdlOiBcIlwiLFxuXHRcdG1ldGFNZXNzYWdlOiBcIlwiLFxuXHR9LFxufTtcblxuLyoqXG4gKiBTdGFydHMgcHJvbWluZW50IHdvcmQgYW5hbHlzaXMgaW4gYSBuZXcgdGFiLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5jb25zdCBzdGFydEFuYWx5emluZyA9ICgpID0+IHtcblx0d2luZG93Lm9wZW4oIFwiYWRtaW4ucGhwP3BhZ2U9d3BzZW9fdG9vbHMmc3RhcnQtaW5kZXhhdGlvbj10cnVlXCIsIFwieW9hc3RTZW9BbmFseXplUHJvbWluZW50V29yZHNcIiApO1xufTtcblxuLyogZXNsaW50LWRpc2FibGUtcnVsZSBjb21wbGV4aXR5ICovXG4vKipcbiAqIERlZmluZXMgYSBtZXNzYWdlIHRvIHJlbmRlciBiZWxvdyB0aGUgbWVzc2FnZSBhYm91dCBjb3B5IGxlbmd0aCBpbiB0aGUgSW50ZXJuYWwgTGlua2luZyBTdWdnZXN0aW9ucy5cbiAqXG4gKiBAcGFyYW0gICB7c3RyaW5nfSAgIGxlbmd0aE1lc3NhZ2UgICAgICAgVGhlIG1lc3NhZ2UgYWJvdXQgbW9yZSBjb3B5IGJlaW5nIG5lZWRlZC5cbiAqIEBwYXJhbSAgIHtib29sZWFufSAgaGFzVGl0bGUgICAgICAgICAgICBXaGV0aGVyIGEgdGl0bGUgaXMgYXZhaWxhYmxlIGZvciB0aGUgcG9zdC5cbiAqIEBwYXJhbSAgIHtib29sZWFufSAgaGFzTWV0YURlc2NyaXB0aW9uICBXaGV0aGVyIGEgbWV0YWRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHBvc3QuXG4gKiBAcmV0dXJucyB7Kn0gICAgICAgIFJldHVybnMgYSBtZXRhTWVzc2FnZSBvciBub3RoaW5nLlxuICovXG5jb25zdCBkZXRlcm1pbmVNZXRhTWVzc2FnZSA9ICggbGVuZ3RoTWVzc2FnZSwgaGFzVGl0bGUsIGhhc01ldGFEZXNjcmlwdGlvbiApID0+IHtcblx0c3dpdGNoICggdHJ1ZSApIHtcblx0XHRjYXNlICggaGFzTWV0YURlc2NyaXB0aW9uICYmICEgaGFzVGl0bGUgJiYgbGVuZ3RoTWVzc2FnZSA9PT0gXCJcIiApOlxuXHRcdFx0cmV0dXJuIF9fKCBcIkFkZCBhIHRpdGxlIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiBoYXNUaXRsZSAmJiBsZW5ndGhNZXNzYWdlID09PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWRkIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICYmIGxlbmd0aE1lc3NhZ2UgPT09IFwiXCIgKTpcblx0XHRcdHJldHVybiBfXyggXCJBZGQgYSB0aXRsZSBhbmQgYSBtZXRhZGVzY3JpcHRpb24gdG8geW91ciBwb3N0IGZvciB0aGUgYmVzdCBpbnRlcm5hbCBsaW5raW5nIHN1Z2dlc3Rpb25zLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdFx0Y2FzZSAoIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgdGl0bGUgdG8geW91ciBwb3N0IGZvciB0aGUgYmVzdCBpbnRlcm5hbCBsaW5raW5nIHN1Z2dlc3Rpb25zLlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdFx0Y2FzZSAoICEgaGFzTWV0YURlc2NyaXB0aW9uICYmIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHRcdGNhc2UgKCAhIGhhc01ldGFEZXNjcmlwdGlvbiAmJiAhIGhhc1RpdGxlICAmJiBsZW5ndGhNZXNzYWdlICE9PSBcIlwiICk6XG5cdFx0XHRyZXR1cm4gX18oIFwiQWxzbywgYWRkIGEgdGl0bGUgYW5kIGEgbWV0YWRlc2NyaXB0aW9uIHRvIHlvdXIgcG9zdCBmb3IgdGhlIGJlc3QgaW50ZXJuYWwgbGlua2luZyBzdWdnZXN0aW9ucy5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApO1xuXHR9XG59O1xuLyogZXNsaW50LWVuYWJsZS1ydWxlIGNvbXBsZXhpdHkgKi9cblxuLyoqXG4gKiBEZWZpbmVzIGEgbWVzc2FnZSB0byByZW5kZXIgaW4gdGhlIEludGVybmFsIExpbmtpbmcgU3VnZ2VzdGlvbnMgQ29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSAgIHtPYmplY3R9ICAgIGFyZ3MgICAgICAgICAgICAgICAgICAgICAgQSBjb21wb3VuZCBvYmplY3QuXG4gKiBAcGFyYW0gICB7Ym9vbGVhbn0gICBhcmdzLmhhc1dvcmRzRm9yTGlua2luZyAgIFdoZXRoZXIgd29yZHNGb3JMaW5raW5nIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBwb3N0LlxuICogQHBhcmFtICAge2Jvb2xlYW59ICAgYXJncy5oYXNNZXRhRGVzY3JpcHRpb24gICBXaGV0aGVyIGEgbWV0YWRlc2NyaXB0aW9uIGlzIGF2YWlsYWJsZSBmb3IgdGhlIHBvc3QuXG4gKiBAcGFyYW0gICB7Ym9vbGVhbn0gICBhcmdzLmhhc1RpdGxlICAgICAgICAgICAgIFdoZXRoZXIgYSB0aXRsZSBpcyBhdmFpbGFibGUgZm9yIHRoZSBwb3N0LlxuICpcbiAqIEByZXR1cm5zIHtPYmplY3R9ICAgIG1lc3NhZ2VzICAgICAgICAgICAgICAgICAgTWVzc2FnZXMgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50LlxuICogQHJldHVybnMge3N0cmluZ30gICAgbWVzc2FnZXMubGVuZ3RoTWVzc2FnZSAgICBBIGN1c3RvbSBtZXNzYWdlIGNvbmNlcm5pbmcgaW5zdWZmaWNpZW50IGxlbmd0aCBvZiB0aGUgY29weS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9ICAgIG1lc3NhZ2VzLm1ldGFNZXNzYWdlICAgICAgQSBjdXN0b20gbWVzc2FnZSBjb25jZXJuaW5nIG1ldGFkYXRhIG1pc3NpbmcgaW4gdGhlIGNvcHkuXG4gKi9cbmNvbnN0IGRldGVybWluZVN1Z2dlc3Rpb25zQ3VzdG9tTWVzc2FnZSA9ICggYXJncyApID0+IHtcblx0bGV0IGxlbmd0aE1lc3NhZ2UgPSBcIlwiO1xuXG5cdGlmICggISBhcmdzLmhhc1dvcmRzRm9yTGlua2luZyApIHtcblx0XHRsZW5ndGhNZXNzYWdlID0gX18oXG5cdFx0XHRcIk9uY2UgeW91IGFkZCBhIGJpdCBtb3JlIGNvcHksIHdlJ2xsIGdpdmUgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgaGVyZSB0byB3aGljaCB5b3UgY291bGQgbGluayBpbiB5b3VyIHBvc3QuXCIsXG5cdFx0XHRcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiXG5cdFx0KTtcblx0fVxuXG5cdGNvbnN0IG1ldGFNZXNzYWdlID0gZGV0ZXJtaW5lTWV0YU1lc3NhZ2UoIGxlbmd0aE1lc3NhZ2UsIGFyZ3MuaGFzVGl0bGUsIGFyZ3MuaGFzTWV0YURlc2NyaXB0aW9uICk7XG5cblx0cmV0dXJuIHtcblx0XHRsZW5ndGhNZXNzYWdlLFxuXHRcdG1ldGFNZXNzYWdlLFxuXHR9O1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSB3YXJuaW5nIGFib3V0IHRoZSBzaXRlIG5vdCBoYXZpbmcgYmVlbiBwcm9wZXJseSBpbmRleGVkLlxuICoqXG4gKiBAcmV0dXJucyB7UmVhY3QuRWxlbWVudH0gVGhlIG1lc3NhZ2Ugb3Igbm8gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFVuaW5kZXhlZFdhcm5pbmcgPSAoKSA9PiB7XG5cdC8qIHRyYW5zbGF0b3JzOiAxOiBsaW5rIHRvIHlvYXN0LmNvbSBwb3N0IGFib3V0IGludGVybmFsIGxpbmtpbmcgc3VnZ2VzdGlvbi4gMjogaXMgYW5jaG9yIGNsb3NpbmcuXG5cdDM6IGJ1dHRvbiB0byB0aGUgcmVjYWxjdWxhdGlvbiBvcHRpb24uIDQ6IGNsb3NpbmcgYnV0dG9uICovXG5cdGxldCBtZXNzYWdlID0gX18oIFwiV2UgbmVlZCB0byBvcHRpbWl6ZSB5b3VyIHNpdGXigJlzIFNFTyBkYXRhIHNvIHdlIGNhbiBvZmZlciB5b3UgdGhlIGJlc3QgJTEkc2xpbmtpbmcgc3VnZ2VzdGlvbnMlMiRzLlwiICtcblx0XHRcdFx0XHRcdFx0IFwiXFxuXFxuXCIgK1xuXHRcdFx0XHRcdFx0XHQgXCIlMyRzU3RhcnQgU0VPIERhdGEgb3B0aW1pemF0aW9uJTQkc1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cblx0bWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSggXCIlMSRzXCIsIFwie3thfX1cIiApO1xuXHRtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCBcIiUyJHNcIiwgXCJ7ey9hfX1cIiApO1xuXG5cdC8vIFRoZXNlIGFyZSBoZXJlIHRvIGtlZXAgdGhlIHN0cmluZyB0aGUgc2FtZSBhcyBpbiB0aGUgUEhQXG5cdG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoIFwiJTMkc1wiLCBcInt7c3RhcnRBbmFseXNpc319XCIgKTtcblx0bWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSggXCIlNCRzXCIsIFwie3svc3RhcnRBbmFseXNpc319XCIgKTtcblxuXHRtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKCBcIlxcblxcblwiLCBcInt7YnIgL319e3ticiAvfX1cIiApO1xuXG5cdC8vIERpc2FibGUgcmVhc29uOiB0aGUgYW5jaG9yIGRvZXMgaGF2ZSBjb250ZW50LCBFU0xpbnQgZG9lc24ndCB1bmRlcnN0YW5kIGludGVycG9sYXRlQ29tcG9uZW50c1xuXHQvKiBlc2xpbnQtZGlzYWJsZSBqc3gtYTExeS9hbmNob3ItaGFzLWNvbnRlbnQgKi9cblx0bWVzc2FnZSA9IGludGVycG9sYXRlQ29tcG9uZW50cygge1xuXHRcdG1peGVkU3RyaW5nOiBtZXNzYWdlLFxuXHRcdGNvbXBvbmVudHM6IHtcblx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9qc3gtbm8tdGFyZ2V0LWJsYW5rXG5cdFx0XHRhOiA8YSBocmVmPVwiaHR0cHM6Ly95b2Euc3Qvbm90aWZpY2F0aW9uLWludGVybmFsLWxpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIiAvPixcblx0XHRcdHN0YXJ0QW5hbHlzaXM6IDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ1dHRvblwiIG9uQ2xpY2s9eyBzdGFydEFuYWx5emluZyB9IC8+LFxuXHRcdFx0YnI6IDxiciAvPixcblx0XHR9LFxuXHR9ICk7XG5cdC8qIGVzbGludC1lbmFibGUganN4LWExMXkvYW5jaG9yLWhhcy1jb250ZW50ICovXG5cblx0cmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwibm90aWNlIG5vdGljZS13YXJuaW5nIG5vdGljZS1hbHQgd3BzZW8tbm90aWNlLWJyZWFrb3V0LWluc2lkZSB5b2FzdC1saW5rcy1zdWdnZXN0aW9ucy1ub3RpY2VcIj48cD57IG1lc3NhZ2UgfTwvcD48L2Rpdj47XG59O1xuXG4vKipcbiAqIExpbmsgc3VnZ2VzdGlvbnMgbWV0YWJveCBjb21wb25lbnQuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9ICBwcm9wcyAgICAgICAgICAgICBUaGUgcHJvcGVydGllcyBmb3IgdGhpcyBjb21wb25lbnRzLlxuICogQHBhcmFtIHtib29sZWFufSBwcm9wcy5pc0xvYWRpbmcgICBXaGV0aGVyIHRoaXMgY29tcG9uZW50IHNob3VsZCBzdGFydCBvZiBzaG93aW5nIGEgbG9hZGVyLlxuICogQHBhcmFtIHtBcnJheX0gICBwcm9wcy5zdWdnZXN0aW9ucyBUaGUgc3VnZ2VzdGlvbnMgdG8gcmVuZGVyIGluaXRpYWxseS5cbiAqXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSByZW5kZXJlZCBlbGVtZW50LlxuICovXG5jb25zdCBNZXRhYm94ID0gKCBwcm9wcyApID0+IHtcblx0aWYgKCBwcm9wcy5pc0xvYWRpbmcgKSB7XG5cdFx0cmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwieW9hc3QtbGluay1zdWdnZXN0aW9uc1wiPlxuXHRcdFx0PHA+eyBfXyggXCJJdCB0YWtlcyBhIGZldyBzZWNvbmRzIHRvIHNob3cgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgdG8gd2hpY2ggeW91IGNvdWxkIGxpbmsuIFwiICtcblx0XHRcdFx0XHRcdFx0XHQgIFwiVGhlIHN1Z2dlc3Rpb25zIHdpbGwgYmUgc2hvd24gaGVyZSBhcyBzb29uIGFzIHdlIGhhdmUgdGhlbS5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApIH08L3A+XG5cdFx0PC9kaXY+O1xuXHR9XG5cblx0aWYgKCAhIHlvYXN0Q2xpcEJvYXJkICkge1xuXHRcdHlvYXN0Q2xpcEJvYXJkID0gbmV3IENsaXBib2FyZEpTKCBcIi55b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvcHlcIiApO1xuXHRcdHlvYXN0Q2xpcEJvYXJkLm9uKCBcInN1Y2Nlc3NcIiwgY2xpcGJvYXJkU3VjY2VzcyApO1xuXHRcdHlvYXN0Q2xpcEJvYXJkLm9uKCBcImVycm9yXCIsIGNsaXBib2FyZEVycm9yICk7XG5cdH1cblxuXHRsZXQgdW5pbmRleGVkV2FybmluZyA9IG51bGw7XG5cdGlmICggcHJvcHMuc2hvd1VuaW5kZXhlZFdhcm5pbmcgKSB7XG5cdFx0dW5pbmRleGVkV2FybmluZyA9IGdldFVuaW5kZXhlZFdhcm5pbmcoKTtcblx0fVxuXG5cdGNvbnN0IGRldGVybWluZU1lc3NhZ2VQYXJhbWV0ZXJzID0ge1xuXHRcdC4uLnByb3BzLm1lc3NhZ2VEYXRhLFxuXHRcdGhhc1dvcmRzRm9yTGlua2luZzogQXJyYXkuaXNBcnJheSggcHJvcHMud29yZHNGb3JMaW5raW5nICkgJiYgcHJvcHMud29yZHNGb3JMaW5raW5nLmxlbmd0aCA+IDAsXG5cdH07XG5cblx0Y29uc3QgY3VzdG9tTWVzc2FnZXMgPSBkZXRlcm1pbmVTdWdnZXN0aW9uc0N1c3RvbU1lc3NhZ2UoIGRldGVybWluZU1lc3NhZ2VQYXJhbWV0ZXJzICk7XG5cblx0cmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwieW9hc3QtbGluay1zdWdnZXN0aW9uc1wiPlxuXHRcdHsgdW5pbmRleGVkV2FybmluZyB9XG5cdFx0PExpbmtTdWdnZXN0aW9ucyBzdWdnZXN0aW9ucz17IHByb3BzLnN1Z2dlc3Rpb25zIH0gY3VzdG9tTWVzc2FnZXM9eyBjdXN0b21NZXNzYWdlcyB9IC8+XG5cdDwvZGl2Pjtcbn07XG5cbk1ldGFib3gucHJvcFR5cGVzID0ge1xuXHRzdWdnZXN0aW9uczogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG5cdHdvcmRzRm9yTGlua2luZzogUHJvcFR5cGVzLmFycmF5LFxuXHRtZXNzYWdlRGF0YTogUHJvcFR5cGVzLm9iamVjdCxcblx0aXNMb2FkaW5nOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuXHRzaG93VW5pbmRleGVkV2FybmluZzogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5NZXRhYm94LmRlZmF1bHRQcm9wcyA9IHtcblx0c2hvd1VuaW5kZXhlZFdhcm5pbmc6IGZhbHNlLFxuXHRtZXNzYWdlRGF0YToge1xuXHRcdGhhc01ldGFEZXNjcmlwdGlvbjogZmFsc2UsXG5cdFx0aGFzVGl0bGU6IGZhbHNlLFxuXHR9LFxuXHR3b3Jkc0Zvckxpbmtpbmc6IFtdLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTWV0YWJveDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFDQTtBQVhBO0FBQ0E7OztBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7O0FBRUE7QUFDQTs7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSEE7QUFDQTtBQVFBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUNBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBRkE7QUFDQTtBQU9BOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFjQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTs7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFGQTtBQVNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQVNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFGQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFMQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFOQTtBQUNBO0FBUUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///33\n')},function(module,exports){eval("module.exports = window.wp.a11y;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYTExeVwiPzUzZmMiXSwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSB3aW5kb3cud3AuYTExeTsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///34\n")},function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\n\nvar _react = __webpack_require__(5);\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = __webpack_require__(2);\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _styledComponents = __webpack_require__(8);\n\nvar _styledComponents2 = _interopRequireDefault(_styledComponents);\n\nvar _i18n = __webpack_require__(0);\n\nvar _styleGuide = __webpack_require__(25);\n\nvar _components = __webpack_require__(6);\n\nvar _helpers = __webpack_require__(10);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar LinkSuggestionWrapper = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__LinkSuggestionWrapper",\n\tcomponentId: "sc-1gewdgc-0"\n})(["display:flex;align-items:normal;min-height:40px;margin:10px 0 5px;"]);\n\n/* eslint-disable max-len, quote-props */\nvar LinkSuggestionSVGIcon = (0, _helpers.createSvgIconComponent)({\n\t"copy": { viewbox: "0 0 448 512", path: "M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z" },\n\t"check": { viewbox: "0 0 512 512", path: "M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" }\n});\n/* eslint-enable */\n\nvar LinkSuggestionDivider = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__LinkSuggestionDivider",\n\tcomponentId: "sc-1gewdgc-1"\n})(["background-color:#e5e5e5;width:100%;height:1px;"]);\n\nvar LinkSuggestionIcon = _styledComponents2.default.button.withConfig({\n\tdisplayName: "LinkSuggestion__LinkSuggestionIcon",\n\tcomponentId: "sc-1gewdgc-2"\n})(["box-sizing:border-box;flex:0 0 30px;height:30px;width:30px;background-color:", ";border-radius:5px;cursor:pointer;outline:none;border:1px solid ", ";margin-left:3px;&:focus{box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,0.8);}"], function (props) {\n\treturn props.iconBackground;\n}, function (props) {\n\treturn props.iconBorder;\n});\n\nLinkSuggestionIcon.props = {\n\ticonBackground: _propTypes2.default.string,\n\ticonBorder: _propTypes2.default.string\n};\n\nLinkSuggestionIcon.defaultProps = {\n\ticonBackground: _styleGuide.colors.$color_button,\n\ticonBorder: _styleGuide.colors.$color_button_border\n};\n\nvar LinkContainer = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__LinkContainer",\n\tcomponentId: "sc-1gewdgc-3"\n})(["flex:auto;max-width:200px;"]);\n\nvar Link = (0, _helpers.makeOutboundLink)(_styledComponents2.default.a.withConfig({\n\tdisplayName: "LinkSuggestion__Link",\n\tcomponentId: "sc-1gewdgc-4"\n})(["text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;max-height:40px;margin-bottom:4px;-webkit-box-orient:vertical;overflow:hidden;padding:0 0 4px;"]));\n\nvar BadgesWrapper = _styledComponents2.default.div.withConfig({\n\tdisplayName: "LinkSuggestion__BadgesWrapper",\n\tcomponentId: "sc-1gewdgc-5"\n})(["flex-wrap:wrap;display:flex;flex-direction:row;justify-content:unset;margin-top:4px;"]);\n\nvar Badge = _styledComponents2.default.span.withConfig({\n\tdisplayName: "LinkSuggestion__Badge",\n\tcomponentId: "sc-1gewdgc-6"\n})(["white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;padding:3px 8px;font-size:0.85em;background-color:#f3f4f5;border-radius:2px;margin-bottom:4px;margin-right:4px;text-transform:lowercase;"]);\n\n/**\n * Represents a list of badges.\n *\n * @param {string[]} badges The badges.\n *\n * @returns {React.Element} The rendered badges.\n */\nvar Badges = function Badges(_ref) {\n\tvar badges = _ref.badges;\n\n\treturn wp.element.createElement(\n\t\tBadgesWrapper,\n\t\tnull,\n\t\tbadges.map(function (badge, key) {\n\t\t\treturn wp.element.createElement(\n\t\t\t\tBadge,\n\t\t\t\t{ key: key },\n\t\t\t\tbadge\n\t\t\t);\n\t\t})\n\t);\n};\n\nBadges.propTypes = {\n\tbadges: _propTypes2.default.array.isRequired\n};\n\n/**\n * Represents a suggestion component with a copy url to clipboard icon and a text value.\n *\n * @param {string} value The text value.\n * @param {string} url The URL.\n * @param {boolean} isActive Whether the URL is already in use in the text.\n * @param {string[]} labels The labels of suggested object (e.g. cornerstone, post, movie, category, etc.).\n *\n * @returns {React.Element} The rendered suggestion.\n *\n * @constructor\n */\nvar LinkSuggestion = function LinkSuggestion(_ref2) {\n\tvar value = _ref2.value,\n\t url = _ref2.url,\n\t isActive = _ref2.isActive,\n\t labels = _ref2.labels;\n\n\tvar label = (0, _i18n.__)("Copy link", "wordpress-seo-premium");\n\tvar ariaLabel = (0, _i18n.sprintf)(\n\t/* translators: %s expands to the link value */\n\t(0, _i18n.__)("Copy link to suggested article: %s", "wordpress-seo-premium"), value);\n\n\t/**\n * Resets the button aria-label and data-label to their default values.\n *\n * @param {Object} evt The blur SyntheticEvent on the button.\n *\n * @returns {void}\n */\n\tvar resetLabels = function resetLabels(evt) {\n\t\tevt.nativeEvent.target.setAttribute("aria-label", ariaLabel);\n\t\tevt.nativeEvent.target.setAttribute("data-label", label);\n\t};\n\n\tvar icon = "copy";\n\tvar iconColor = _styleGuide.colors.$color_black;\n\tvar iconBackground = _styleGuide.colors.$color_button;\n\tvar iconBorder = "#979797";\n\tif (isActive) {\n\t\ticon = "check";\n\t\ticonColor = _styleGuide.colors.$color_alert_success_text;\n\t\ticonBackground = _styleGuide.colors.$color_alert_success_background;\n\t\ticonBorder = _styleGuide.colors.$color_alert_success_background;\n\t}\n\n\treturn wp.element.createElement(\n\t\t"div",\n\t\tnull,\n\t\twp.element.createElement(LinkSuggestionDivider, null),\n\t\twp.element.createElement(\n\t\t\tLinkSuggestionWrapper,\n\t\t\t{ className: "yoast-link-suggestion__wrapper" },\n\t\t\twp.element.createElement(\n\t\t\t\tLinkContainer,\n\t\t\t\t{ className: "yoast-link-suggestion__container" },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tLink,\n\t\t\t\t\t{ href: url },\n\t\t\t\t\tvalue\n\t\t\t\t),\n\t\t\t\twp.element.createElement(Badges, { badges: labels })\n\t\t\t),\n\t\t\twp.element.createElement(\n\t\t\t\tLinkSuggestionIcon,\n\t\t\t\t{\n\t\t\t\t\ttype: "button",\n\t\t\t\t\tclassName: "yoast-link-suggestion__copy yoast-tooltip yoast-tooltip-alt yoast-tooltip-s",\n\t\t\t\t\tonBlur: resetLabels,\n\t\t\t\t\t"data-clipboard-text": url,\n\t\t\t\t\t"aria-label": ariaLabel,\n\t\t\t\t\t"data-label": label,\n\t\t\t\t\ticonBackground: iconBackground,\n\t\t\t\t\ticonBorder: iconBorder\n\t\t\t\t},\n\t\t\t\twp.element.createElement(LinkSuggestionSVGIcon, { icon: icon, color: iconColor }),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t_components.ScreenReaderText,\n\t\t\t\t\tnull,\n\t\t\t\t\tlabel\n\t\t\t\t)\n\t\t\t)\n\t\t)\n\t);\n};\n\nLinkSuggestion.propTypes = {\n\tvalue: _propTypes2.default.string.isRequired,\n\turl: _propTypes2.default.string.isRequired,\n\tisActive: _propTypes2.default.bool,\n\tlabels: _propTypes2.default.array.isRequired\n};\n\nLinkSuggestion.defaultProps = {\n\tisActive: false\n};\n\nexports.default = LinkSuggestion;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9jb21wb25lbnRzL0xpbmtTdWdnZXN0aW9uLmpzP2I0ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IF9fLCBzcHJpbnRmIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuaW1wb3J0IHsgY29sb3JzIH0gZnJvbSBcIkB5b2FzdC9zdHlsZS1ndWlkZVwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyVGV4dCB9IGZyb20gXCJAeW9hc3QvY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgbWFrZU91dGJvdW5kTGluaywgY3JlYXRlU3ZnSWNvbkNvbXBvbmVudCB9IGZyb20gXCJAeW9hc3QvaGVscGVyc1wiO1xuXG5jb25zdCBMaW5rU3VnZ2VzdGlvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogbm9ybWFsO1xuXHRtaW4taGVpZ2h0OiA0MHB4O1xuXHRtYXJnaW46IDEwcHggMCA1cHg7XG5gO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuY29uc3QgTGlua1N1Z2dlc3Rpb25TVkdJY29uID0gY3JlYXRlU3ZnSWNvbkNvbXBvbmVudCgge1xuXHRcImNvcHlcIjogeyB2aWV3Ym94OiBcIjAgMCA0NDggNTEyXCIsIHBhdGg6IFwiTTQzMy45NDEgNjUuOTQxbC01MS44ODItNTEuODgyQTQ4IDQ4IDAgMCAwIDM0OC4xMTggMEgxNzZjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2NDhINDhjLTI2LjUxIDAtNDggMjEuNDktNDggNDh2MzIwYzAgMjYuNTEgMjEuNDkgNDggNDggNDhoMjI0YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDh2LTQ4aDgwYzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWOTkuODgyYTQ4IDQ4IDAgMCAwLTE0LjA1OS0zMy45NDF6TTI2NiA0NjRINTRhNiA2IDAgMCAxLTYtNlYxNTBhNiA2IDAgMCAxIDYtNmg3NHYyMjRjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg5NnY0MmE2IDYgMCAwIDEtNiA2em0xMjgtOTZIMTgyYTYgNiAwIDAgMS02LTZWNTRhNiA2IDAgMCAxIDYtNmgxMDZ2ODhjMCAxMy4yNTUgMTAuNzQ1IDI0IDI0IDI0aDg4djIwMmE2IDYgMCAwIDEtNiA2em02LTI1NmgtNjRWNDhoOS42MzJjMS41OTEgMCAzLjExNy42MzIgNC4yNDMgMS43NTdsNDguMzY4IDQ4LjM2OGE2IDYgMCAwIDEgMS43NTcgNC4yNDNWMTEyelwiIH0sXG5cdFwiY2hlY2tcIjogeyB2aWV3Ym94OiBcIjAgMCA1MTIgNTEyXCIsIHBhdGg6IFwiTTE3My44OTggNDM5LjQwNGwtMTY2LjQtMTY2LjRjLTkuOTk3LTkuOTk3LTkuOTk3LTI2LjIwNiAwLTM2LjIwNGwzNi4yMDMtMzYuMjA0YzkuOTk3LTkuOTk4IDI2LjIwNy05Ljk5OCAzNi4yMDQgMEwxOTIgMzEyLjY5IDQzMi4wOTUgNzIuNTk2YzkuOTk3LTkuOTk3IDI2LjIwNy05Ljk5NyAzNi4yMDQgMGwzNi4yMDMgMzYuMjA0YzkuOTk3IDkuOTk3IDkuOTk3IDI2LjIwNiAwIDM2LjIwNGwtMjk0LjQgMjk0LjQwMWMtOS45OTggOS45OTctMjYuMjA3IDkuOTk3LTM2LjIwNC0uMDAxelwiIH0sXG59ICk7XG4vKiBlc2xpbnQtZW5hYmxlICovXG5cbmNvbnN0IExpbmtTdWdnZXN0aW9uRGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgd2lkdGg6IDEwMCU7XG4gICBoZWlnaHQ6IDFweDtcbmA7XG5cbmNvbnN0IExpbmtTdWdnZXN0aW9uSWNvbiA9IHN0eWxlZC5idXR0b25gXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZsZXg6IDAgMCAzMHB4O1xuXHRoZWlnaHQ6IDMwcHg7XG5cdHdpZHRoOiAzMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkeyBwcm9wcyA9PiBwcm9wcy5pY29uQmFja2dyb3VuZCB9O1xuXHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0b3V0bGluZTpub25lO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkeyBwcm9wcyA9PiBwcm9wcy5pY29uQm9yZGVyIH07XG5cdG1hcmdpbi1sZWZ0OiAzcHg7XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4ICM1YjlkZDksIDAgMCAycHggMXB4IHJnYmEoMzAsIDE0MCwgMTkwLCAwLjgpO1xuXHR9XG5gO1xuXG5MaW5rU3VnZ2VzdGlvbkljb24ucHJvcHMgPSB7XG5cdGljb25CYWNrZ3JvdW5kOiBQcm9wVHlwZXMuc3RyaW5nLFxuXHRpY29uQm9yZGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuTGlua1N1Z2dlc3Rpb25JY29uLmRlZmF1bHRQcm9wcyA9IHtcblx0aWNvbkJhY2tncm91bmQ6IGNvbG9ycy4kY29sb3JfYnV0dG9uLFxuXHRpY29uQm9yZGVyOiBjb2xvcnMuJGNvbG9yX2J1dHRvbl9ib3JkZXIsXG59O1xuXG5jb25zdCBMaW5rQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcblx0ZmxleDogYXV0bztcblx0bWF4LXdpZHRoOiAyMDBweDtcbmA7XG5cbmNvbnN0IExpbmsgPSBtYWtlT3V0Ym91bmRMaW5rKCBzdHlsZWQuYWBcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgLyogLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgKi9cbiAgICAvKiAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAqL1xuICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDAgMCA0cHg7XG5gICk7XG5cbmNvbnN0IEJhZGdlc1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiB1bnNldDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG5gO1xuXG5jb25zdCBCYWRnZSA9IHN0eWxlZC5zcGFuYFxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzcHggOHB4O1xuXHRmb250LXNpemU6IDAuODVlbTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuYDtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgbGlzdCBvZiBiYWRnZXMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gYmFkZ2VzIFRoZSBiYWRnZXMuXG4gKlxuICogQHJldHVybnMge1JlYWN0LkVsZW1lbnR9IFRoZSByZW5kZXJlZCBiYWRnZXMuXG4gKi9cbmNvbnN0IEJhZGdlcyA9ICggeyBiYWRnZXMgfSApID0+ICB7XG5cdHJldHVybiAoIDxCYWRnZXNXcmFwcGVyPlxuXHRcdHsgYmFkZ2VzLm1hcCggKCBiYWRnZSwga2V5ICkgPT4gPEJhZGdlIGtleT17IGtleSB9PnsgYmFkZ2UgfTwvQmFkZ2U+ICkgfVxuXHQ8L0JhZGdlc1dyYXBwZXI+ICk7XG59O1xuXG5CYWRnZXMucHJvcFR5cGVzID0ge1xuXHRiYWRnZXM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxufTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3VnZ2VzdGlvbiBjb21wb25lbnQgd2l0aCBhIGNvcHkgdXJsIHRvIGNsaXBib2FyZCBpY29uIGFuZCBhIHRleHQgdmFsdWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9ICAgdmFsdWUgICAgVGhlIHRleHQgdmFsdWUuXG4gKiBAcGFyYW0ge3N0cmluZ30gICB1cmwgICAgICBUaGUgVVJMLlxuICogQHBhcmFtIHtib29sZWFufSAgaXNBY3RpdmUgV2hldGhlciB0aGUgVVJMIGlzIGFscmVhZHkgaW4gdXNlIGluIHRoZSB0ZXh0LlxuICogQHBhcmFtIHtzdHJpbmdbXX0gbGFiZWxzICAgVGhlIGxhYmVscyBvZiBzdWdnZXN0ZWQgb2JqZWN0IChlLmcuIGNvcm5lcnN0b25lLCBwb3N0LCBtb3ZpZSwgY2F0ZWdvcnksIGV0Yy4pLlxuICpcbiAqIEByZXR1cm5zIHtSZWFjdC5FbGVtZW50fSBUaGUgcmVuZGVyZWQgc3VnZ2VzdGlvbi5cbiAqXG4gKiBAY29uc3RydWN0b3JcbiAqL1xuY29uc3QgTGlua1N1Z2dlc3Rpb24gPSAoIHsgdmFsdWUsIHVybCwgaXNBY3RpdmUsIGxhYmVscyB9ICkgPT4ge1xuXHRjb25zdCBsYWJlbCA9IF9fKCBcIkNvcHkgbGlua1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICk7XG5cdGNvbnN0IGFyaWFMYWJlbCA9IHNwcmludGYoXG5cdFx0LyogdHJhbnNsYXRvcnM6ICVzIGV4cGFuZHMgdG8gdGhlIGxpbmsgdmFsdWUgKi9cblx0XHRfXyggXCJDb3B5IGxpbmsgdG8gc3VnZ2VzdGVkIGFydGljbGU6ICVzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHR2YWx1ZSxcblx0KTtcblxuXHQvKipcblx0ICogUmVzZXRzIHRoZSBidXR0b24gYXJpYS1sYWJlbCBhbmQgZGF0YS1sYWJlbCB0byB0aGVpciBkZWZhdWx0IHZhbHVlcy5cblx0ICpcblx0ICogQHBhcmFtIHtPYmplY3R9IGV2dCBUaGUgYmx1ciBTeW50aGV0aWNFdmVudCBvbiB0aGUgYnV0dG9uLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGNvbnN0IHJlc2V0TGFiZWxzID0gKCBldnQgKSA9PiB7XG5cdFx0ZXZ0Lm5hdGl2ZUV2ZW50LnRhcmdldC5zZXRBdHRyaWJ1dGUoIFwiYXJpYS1sYWJlbFwiLCBhcmlhTGFiZWwgKTtcblx0XHRldnQubmF0aXZlRXZlbnQudGFyZ2V0LnNldEF0dHJpYnV0ZSggXCJkYXRhLWxhYmVsXCIsIGxhYmVsICk7XG5cdH07XG5cblx0bGV0IGljb24gPSBcImNvcHlcIjtcblx0bGV0IGljb25Db2xvciA9IGNvbG9ycy4kY29sb3JfYmxhY2s7XG5cdGxldCBpY29uQmFja2dyb3VuZCA9IGNvbG9ycy4kY29sb3JfYnV0dG9uO1xuXHRsZXQgaWNvbkJvcmRlciA9IFwiIzk3OTc5N1wiO1xuXHRpZiAoIGlzQWN0aXZlICkge1xuXHRcdGljb24gPSBcImNoZWNrXCI7XG5cdFx0aWNvbkNvbG9yID0gY29sb3JzLiRjb2xvcl9hbGVydF9zdWNjZXNzX3RleHQ7XG5cdFx0aWNvbkJhY2tncm91bmQgPSBjb2xvcnMuJGNvbG9yX2FsZXJ0X3N1Y2Nlc3NfYmFja2dyb3VuZDtcblx0XHRpY29uQm9yZGVyID0gY29sb3JzLiRjb2xvcl9hbGVydF9zdWNjZXNzX2JhY2tncm91bmQ7XG5cdH1cblxuXHRyZXR1cm4gKFxuXHRcdDxkaXY+XG5cdFx0XHQ8TGlua1N1Z2dlc3Rpb25EaXZpZGVyIC8+XG5cdFx0XHQ8TGlua1N1Z2dlc3Rpb25XcmFwcGVyIGNsYXNzTmFtZT1cInlvYXN0LWxpbmstc3VnZ2VzdGlvbl9fd3JhcHBlclwiPlxuXHRcdFx0XHQ8TGlua0NvbnRhaW5lciBjbGFzc05hbWU9XCJ5b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvbnRhaW5lclwiPlxuXHRcdFx0XHRcdDxMaW5rIGhyZWY9eyB1cmwgfT57IHZhbHVlIH08L0xpbms+XG5cdFx0XHRcdFx0PEJhZGdlcyBiYWRnZXM9eyBsYWJlbHMgfSAvPlxuXHRcdFx0XHQ8L0xpbmtDb250YWluZXI+XG5cdFx0XHRcdDxMaW5rU3VnZ2VzdGlvbkljb25cblx0XHRcdFx0XHR0eXBlPVwiYnV0dG9uXCJcblx0XHRcdFx0XHRjbGFzc05hbWU9XCJ5b2FzdC1saW5rLXN1Z2dlc3Rpb25fX2NvcHkgeW9hc3QtdG9vbHRpcCB5b2FzdC10b29sdGlwLWFsdCB5b2FzdC10b29sdGlwLXNcIlxuXHRcdFx0XHRcdG9uQmx1cj17IHJlc2V0TGFiZWxzIH1cblx0XHRcdFx0XHRkYXRhLWNsaXBib2FyZC10ZXh0PXsgdXJsIH1cblx0XHRcdFx0XHRhcmlhLWxhYmVsPXsgYXJpYUxhYmVsIH1cblx0XHRcdFx0XHRkYXRhLWxhYmVsPXsgbGFiZWwgfVxuXHRcdFx0XHRcdGljb25CYWNrZ3JvdW5kPXsgaWNvbkJhY2tncm91bmQgfVxuXHRcdFx0XHRcdGljb25Cb3JkZXI9eyBpY29uQm9yZGVyIH1cblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxMaW5rU3VnZ2VzdGlvblNWR0ljb24gaWNvbj17IGljb24gfSBjb2xvcj17IGljb25Db2xvciB9IC8+XG5cdFx0XHRcdFx0PFNjcmVlblJlYWRlclRleHQ+eyBsYWJlbCB9PC9TY3JlZW5SZWFkZXJUZXh0PlxuXHRcdFx0XHQ8L0xpbmtTdWdnZXN0aW9uSWNvbj5cblx0XHRcdDwvTGlua1N1Z2dlc3Rpb25XcmFwcGVyPlxuXHRcdDwvZGl2PlxuXHQpO1xufTtcblxuTGlua1N1Z2dlc3Rpb24ucHJvcFR5cGVzID0ge1xuXHR2YWx1ZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuXHR1cmw6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcblx0aXNBY3RpdmU6IFByb3BUeXBlcy5ib29sLFxuXHRsYWJlbHM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxufTtcblxuTGlua1N1Z2dlc3Rpb24uZGVmYXVsdFByb3BzID0ge1xuXHRpc0FjdGl2ZTogZmFsc2UsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBMaW5rU3VnZ2VzdGlvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTs7O0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUlBO0FBQUE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUZBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFGQTtBQUNBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQWFBOzs7Ozs7O0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFEQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBOzs7Ozs7Ozs7Ozs7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRkE7QUFJQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFVQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFYQTtBQUxBO0FBRkE7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBTUE7QUFDQTtBQURBO0FBQ0E7QUFHQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///35\n')},,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = linkSuggestionsEnabled;\n/**\n * Determines whether or not link suggestions are enabled.\n *\n * @returns {boolean} Whether or not link suggestions are enabled.\n */\nfunction linkSuggestionsEnabled() {\n return window.wpseoPremiumMetaboxData.data.linkSuggestionsEnabled === "enabled" && window.wpseoPremiumMetaboxData.data.linkSuggestionsAvailable;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvbGlua1N1Z2dlc3Rpb25zRW5hYmxlZC5qcz8yYWFlIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGFyZSBlbmFibGVkLlxuICpcbiAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIG9yIG5vdCBsaW5rIHN1Z2dlc3Rpb25zIGFyZSBlbmFibGVkLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBsaW5rU3VnZ2VzdGlvbnNFbmFibGVkKCkge1xuXHRyZXR1cm4gd2luZG93Lndwc2VvUHJlbWl1bU1ldGFib3hEYXRhLmRhdGEubGlua1N1Z2dlc3Rpb25zRW5hYmxlZCA9PT0gXCJlbmFibGVkXCIgJiZcblx0XHR3aW5kb3cud3BzZW9QcmVtaXVtTWV0YWJveERhdGEuZGF0YS5saW5rU3VnZ2VzdGlvbnNBdmFpbGFibGU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBS0E7QUFMQTs7Ozs7QUFLQTtBQUNBO0FBRUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///37\n')},function(module,exports){eval("module.exports = window.wp.blocks;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYmxvY2tzXCI/NzljMCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5ibG9ja3M7Il0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///38\n")},,,,,,function(module,exports){eval("module.exports = window.wp.domReady;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuZG9tUmVhZHlcIj83NmIyIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LndwLmRvbVJlYWR5OyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///44\n")},function(module,exports){eval("module.exports = window.wp.blockEditor;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNDUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJ3aW5kb3cud3AuYmxvY2tFZGl0b3JcIj85ZThhIl0sInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gd2luZG93LndwLmJsb2NrRWRpdG9yOyJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///45\n")},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\nexports.default = recurseOverBlocks;\n/**\n* Runs a function over all blocks, including nested blocks.\n*\n* @param {Object[]} blocks The blocks.\n* @param {function} callback The callback.\n*\n* @returns {void}\n*/\nfunction recurseOverBlocks(blocks, callback) {\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = blocks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar block = _step.value;\n\n\t\t\t// eslint-disable-next-line callback-return\n\t\t\tcallback(block);\n\t\t\tif (block.innerBlocks) {\n\t\t\t\trecurseOverBlocks(block.innerBlocks, callback);\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vYXNzZXRzL2pzL3NyYy9mdW5jdGlvbnMvcmVjdXJzZU92ZXJCbG9ja3MuanM/NzY4NCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiogUnVucyBhIGZ1bmN0aW9uIG92ZXIgYWxsIGJsb2NrcywgaW5jbHVkaW5nIG5lc3RlZCBibG9ja3MuXG4qXG4qIEBwYXJhbSB7T2JqZWN0W119IGJsb2NrcyAgIFRoZSBibG9ja3MuXG4qIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrIFRoZSBjYWxsYmFjay5cbipcbiogQHJldHVybnMge3ZvaWR9XG4qL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcmVjdXJzZU92ZXJCbG9ja3MoIGJsb2NrcywgY2FsbGJhY2sgKSB7XG5cdGZvciAoIGNvbnN0IGJsb2NrIG9mIGJsb2NrcyApIHtcblx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2FsbGJhY2stcmV0dXJuXG5cdFx0Y2FsbGJhY2soIGJsb2NrICk7XG5cdFx0aWYgKCBibG9jay5pbm5lckJsb2NrcyApIHtcblx0XHRcdHJlY3Vyc2VPdmVyQmxvY2tzKCBibG9jay5pbm5lckJsb2NrcywgY2FsbGJhY2sgKTtcblx0XHR9XG5cdH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFRQTtBQVJBOzs7Ozs7OztBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVBBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///78\n')},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(module,exports,__webpack_require__){"use strict";eval("\n\nvar _relatedLinksBlock = __webpack_require__(108);\n\nvar _relatedLinksBlock2 = _interopRequireDefault(_relatedLinksBlock);\n\nvar _tableOfContentsBlock = __webpack_require__(109);\n\nvar _tableOfContentsBlock2 = _interopRequireDefault(_tableOfContentsBlock);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Internal dependencies.\n(0, _relatedLinksBlock2.default)();\n(0, _tableOfContentsBlock2.default)();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzLmpzPzI4OTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gSW50ZXJuYWwgZGVwZW5kZW5jaWVzLlxuaW1wb3J0IHJlZ2lzdGVyUmVsYXRlZFBvc3RzQmxvY2sgZnJvbSBcIi4vYmxvY2tzL3JlbGF0ZWQtbGlua3MtYmxvY2tcIjtcbmltcG9ydCByZWdpc3RlclRhYmxlT2ZDb250ZW50c0Jsb2NrIGZyb20gXCIuL2Jsb2Nrcy90YWJsZS1vZi1jb250ZW50cy1ibG9ja1wiO1xuXG5yZWdpc3RlclJlbGF0ZWRQb3N0c0Jsb2NrKCk7XG5yZWdpc3RlclRhYmxlT2ZDb250ZW50c0Jsb2NrKCk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQ0E7QUFDQTs7O0FBQUE7QUFDQTs7Ozs7QUFIQTtBQUlBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///107\n")},function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /* global wpseoPremiumMetaboxData */\n// External dependencies.\n\n\n// Yoast dependencies.\n\n\n// Internal dependencies.\n\n\nexports.default = register;\n\nvar _blocks = __webpack_require__(38);\n\nvar _blockEditor = __webpack_require__(45);\n\nvar _components = __webpack_require__(7);\n\nvar _data = __webpack_require__(1);\n\nvar _domReady = __webpack_require__(44);\n\nvar _domReady2 = _interopRequireDefault(_domReady);\n\nvar _element = __webpack_require__(4);\n\nvar _i18n = __webpack_require__(0);\n\nvar _yoastComponents = __webpack_require__(9);\n\nvar _LinkSuggestions = __webpack_require__(33);\n\nvar _linkSuggestionsIsSupported = __webpack_require__(28);\n\nvar _linkSuggestionsIsSupported2 = _interopRequireDefault(_linkSuggestionsIsSupported);\n\nvar _recurseOverBlocks = __webpack_require__(78);\n\nvar _recurseOverBlocks2 = _interopRequireDefault(_recurseOverBlocks);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Yoast SEO free dependencies.\nvar createInterpolateElement = window.yoast.editorModules.helpers.createInterpolateElement;\n\n/**\n * Updates the status of a block if it\'s changed.\n *\n * @param {string} clientId The block client ID.\n * @param {string} newStatus The new status.\n * @param {string} oldStatus The old status.\n * @param {function} updateBlockAttributes Function to update the block attributes.\n *\n * @returns {void}\n */\nfunction updateStatus(clientId, newStatus, oldStatus, updateBlockAttributes) {\n\tif (newStatus !== oldStatus) {\n\t\tupdateBlockAttributes(clientId, { status: newStatus });\n\t}\n}\n\n/**\n * Sets the link suggestions on the given block.\n *\n * @param {string} clientId The client ID of the block.\n * @param {Object} attributes The block attributes.\n *\n * @returns {void}\n */\nfunction setSuggestions(clientId, attributes) {\n\tvar _select = (0, _data.select)("yoast-seo-premium/editor"),\n\t linkSuggestionsAreUnindexed = _select.linkSuggestionsAreUnindexed,\n\t getLinkSuggestions = _select.getLinkSuggestions,\n\t getWordsForLinking = _select.getWordsForLinking;\n\n\tvar _dispatch = (0, _data.dispatch)("core/block-editor"),\n\t updateBlockAttributes = _dispatch.updateBlockAttributes;\n\n\tif (linkSuggestionsAreUnindexed()) {\n\t\tupdateStatus(clientId, "unindexed", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tvar wordsForLinking = getWordsForLinking();\n\tif (!Array.isArray(wordsForLinking) || wordsForLinking.length === 0) {\n\t\tupdateStatus(clientId, "no-content", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tvar suggestions = getLinkSuggestions();\n\n\tif (suggestions.length === 0) {\n\t\tupdateStatus(clientId, "no-suggestions", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tif (attributes.status !== "loading") {\n\t\tupdateStatus(clientId, "has-suggestions", attributes.status, updateBlockAttributes);\n\t\treturn;\n\t}\n\n\tvar links = suggestions.map(function (suggestion, i) {\n\t\treturn wp.element.createElement(\n\t\t\t"li",\n\t\t\t{ key: i },\n\t\t\twp.element.createElement(\n\t\t\t\t"a",\n\t\t\t\t{ href: suggestion.url },\n\t\t\t\tsuggestion.value\n\t\t\t)\n\t\t);\n\t});\n\n\tupdateBlockAttributes(clientId, { values: links, status: "loaded" });\n}\n\n/**\n * Sets the link suggestions on the given block.\n *\n * @param {string} clientId The client ID of the block.\n *\n * @returns {void}\n */\nfunction updateSuggestions(clientId) {\n\tif (!(0, _data.select)("yoast-seo-premium/editor")) {\n\t\tsetTimeout(updateSuggestions.bind(null, clientId), 500);\n\t\treturn;\n\t}\n\n\tvar _select2 = (0, _data.select)("yoast-seo-premium/editor"),\n\t linkSuggestionsAreLoading = _select2.linkSuggestionsAreLoading;\n\n\tvar _select3 = (0, _data.select)("core/block-editor"),\n\t getBlockAttributes = _select3.getBlockAttributes;\n\n\tvar attributes = getBlockAttributes(clientId);\n\n\tif (attributes.status === "loaded") {\n\t\treturn;\n\t}\n\n\t// If the suggestions are still loading try again in 500ms.\n\tif (linkSuggestionsAreLoading()) {\n\t\tsetTimeout(updateSuggestions.bind(null, clientId), 500);\n\t\treturn;\n\t}\n\n\tsetSuggestions(clientId, attributes);\n}\n\n/**\n * Wraps a message in a notice.\n *\n * @param {string|JSX.Element} message The message.\n * @param {string} type The type of notice. Defaults to warning.\n *\n * @returns {JSX.Element} The message wrapped in a notice.\n */\nfunction wrapInNotice(message) {\n\tvar type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "warning";\n\n\tvar className = "notice notice-" + type + " notice-alt wpseo-notice-breakout-inside yoast-links-suggestions-notice";\n\treturn wp.element.createElement(\n\t\t"div",\n\t\t{ className: className },\n\t\twp.element.createElement(\n\t\t\t"p",\n\t\t\tnull,\n\t\t\tmessage\n\t\t)\n\t);\n}\n\n/**\n * Returns the warning to show if no suggestions were available.\n *\n * @param {string} status The block status.\n * @param {function} reloadSuggestions Function to reload the suggestions.\n *\n * @returns {JSX.Element} The warning.\n */\nfunction getNoSuggestionsWarning(status, reloadSuggestions) {\n\tif (status === "unindexed") {\n\t\treturn (0, _LinkSuggestions.getUnindexedWarning)();\n\t}\n\n\t// Different translate functions are used here to match usage in the LinkSuggestions component.\n\t// The yoast-components domain is used as this string should exactly match the same string there.\n\tvar message = (0, _i18n.__)("We could not find any relevant articles on your website that you could link to from your post.", "yoast-components");\n\tif (status === "no-content") {\n\t\tmessage = (0, _yoastComponents.translate)("Once you add a bit more copy, we\'ll give you a list of related content here to which you could link in your post.");\n\t}\n\tif (status === "loading") {\n\t\tmessage = (0, _yoastComponents.translate)("It takes a few seconds to show you a list of related content to which you could link. " + "The suggestions will be shown here as soon as we have them.");\n\t}\n\tif (status === "has-suggestions") {\n\t\tmessage = wp.element.createElement(\n\t\t\t_element.Fragment,\n\t\t\tnull,\n\t\t\tmessage,\n\t\t\twp.element.createElement("br", null),\n\t\t\twp.element.createElement("br", null),\n\t\t\twp.element.createElement(\n\t\t\t\t"button",\n\t\t\t\t{ type: "button", className: "button", onClick: reloadSuggestions },\n\t\t\t\t(0, _i18n.__)("Load suggestions", "wordpress-seo-premium")\n\t\t\t)\n\t\t);\n\t}\n\treturn wrapInNotice(message);\n}\n\n/* eslint-disable react/prop-types */\n/**\n * The edit function of the related links block.\n *\n * @param {Object} props The props.\n *\n * @returns {JSX.Element} The rendered edit.\n */\nfunction Edit(_ref) {\n\tvar clientId = _ref.clientId,\n\t attributes = _ref.attributes,\n\t setAttributes = _ref.setAttributes,\n\t mergeBlocks = _ref.mergeBlocks,\n\t onReplace = _ref.onReplace;\n\tvar values = attributes.values,\n\t status = attributes.status;\n\n\n\tif (!(0, _linkSuggestionsIsSupported2.default)() && status !== "loaded") {\n\t\treturn wrapInNotice(createInterpolateElement(\n\t\t// eslint-disable-next-line max-len\n\t\t(0, _i18n.__)("You have disabled the Link Suggestions feature, which is needed for Related Links to work. If you want to add related links, please enable Link Suggestions in the <a>Features settings.</a>", "wordpress-seo-premium"), {\n\t\t\t// eslint-disable-next-line react/jsx-no-target-blank\n\t\t\ta: wp.element.createElement(\n\t\t\t\t"a",\n\t\t\t\t{ href: wpseoPremiumMetaboxData.data.settingsPageUrl, target: "_blank" },\n\t\t\t\t"#21441-gutenberg"\n\t\t\t)\n\t\t}), "error");\n\t}\n\n\t/**\n * Reloads the suggestions.\n *\n * @returns {void}\n */\n\tvar reloadSuggestions = function reloadSuggestions() {\n\t\tsetAttributes({ status: "loading" });\n\t\tupdateSuggestions(clientId);\n\t};\n\n\tif (status !== "loaded") {\n\t\treturn getNoSuggestionsWarning(status, reloadSuggestions);\n\t}\n\n\t/**\n * The controls block.\n *\n * @returns {JSX.Element} The rendered controls.\n */\n\tvar controls = function controls() {\n\t\treturn wp.element.createElement(\n\t\t\t_blockEditor.BlockControls,\n\t\t\tnull,\n\t\t\twp.element.createElement(_components.ToolbarGroup, {\n\t\t\t\tcontrols: [{\n\t\t\t\t\ticon: "image-rotate",\n\t\t\t\t\ttitle: (0, _i18n.__)("Refresh suggestions", "wordpress-seo-premium"),\n\t\t\t\t\tisActive: false,\n\t\t\t\t\tonClick: reloadSuggestions\n\t\t\t\t}]\n\t\t\t})\n\t\t);\n\t};\n\n\tvar onChange = (0, _element.useCallback)(function (nextValues) {\n\t\tsetAttributes({ values: nextValues });\n\t}, [setAttributes]);\n\n\tvar onSplit = (0, _element.useCallback)(function (value) {\n\t\t(0, _blocks.createBlock)(name, _extends({}, attributes, { values: value }));\n\t}, [attributes]);\n\n\tvar onRemove = (0, _element.useCallback)(function () {\n\t\tonReplace([]);\n\t}, onReplace);\n\n\treturn wp.element.createElement(\n\t\t_blockEditor.RichText,\n\t\t{\n\t\t\tidentifier: "values",\n\t\t\tmultiline: "li",\n\t\t\ttagName: "ul",\n\t\t\tonChange: onChange,\n\t\t\tvalue: values,\n\t\t\tplaceholder: (0, _i18n.__)("Write list…", "wordpress-seo-premium"),\n\t\t\tonMerge: mergeBlocks,\n\t\t\tonSplit: onSplit,\n\t\t\tonReplace: onReplace,\n\t\t\tonRemove: onRemove\n\t\t},\n\t\tcontrols\n\t);\n}\n\n/**\n * Registers the dynamic blocks.\n *\n * @returns {void}\n */\nfunction registerBlock() {\n\t/* eslint-disable react/display-name */\n\t(0, _blocks.registerBlockType)("yoast-seo/related-links", {\n\t\ttitle: "Yoast Related Links",\n\t\ticon: "editor-ul",\n\t\tcategory: "yoast-internal-linking-blocks",\n\t\tdescription: (0, _i18n.__)("Adds a list of links related to this page.", "wordpress-seo-premium"),\n\t\tkeywords: [(0, _i18n.__)("seo", "wordpress-seo-premium"), (0, _i18n.__)("internal linking", "wordpress-seo-premium"), (0, _i18n.__)("site structure", "wordpress-seo-premium"), (0, _i18n.__)("related posts", "wordpress-seo-premium"), (0, _i18n.__)("related pages", "wordpress-seo-premium")],\n\t\tattributes: {\n\t\t\tstatus: {\n\t\t\t\ttype: "string",\n\t\t\t\t"default": "loading"\n\t\t\t},\n\t\t\tvalues: {\n\t\t\t\ttype: "string",\n\t\t\t\tsource: "html",\n\t\t\t\tselector: "ul",\n\t\t\t\tmultiline: "li",\n\t\t\t\t"default": ""\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tattributes: {\n\t\t\t\tstatus: "loaded",\n\t\t\t\tvalues: [wp.element.createElement(\n\t\t\t\t\t"li",\n\t\t\t\t\t{ key: 1 },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t"a",\n\t\t\t\t\t\t{ href: "https://example.org" },\n\t\t\t\t\t\t"Related link 1"\n\t\t\t\t\t)\n\t\t\t\t), wp.element.createElement(\n\t\t\t\t\t"li",\n\t\t\t\t\t{ key: 2 },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t"a",\n\t\t\t\t\t\t{ href: "https://example.org" },\n\t\t\t\t\t\t"Related link 2"\n\t\t\t\t\t)\n\t\t\t\t), wp.element.createElement(\n\t\t\t\t\t"li",\n\t\t\t\t\t{ key: 3 },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t"a",\n\t\t\t\t\t\t{ href: "https://example.org" },\n\t\t\t\t\t\t"Related link 3"\n\t\t\t\t\t)\n\t\t\t\t)]\n\t\t\t}\n\t\t},\n\t\t/**\n * Renders the block in the editor.\n *\n * @param {object} props The Props.\n * @returns {wp.Element} The component.\n */\n\t\tedit: Edit,\n\t\t/**\n * Saves nothing.\n *\n * @returns {JSX.Element} Nothing.\n */\n\t\tsave: function save(_ref2) {\n\t\t\tvar attributes = _ref2.attributes;\n\n\t\t\tif (attributes.status !== "loaded") {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(_blockEditor.RichText.Content, { tagName: "ul", multiline: "li", value: attributes.values });\n\t\t}\n\t});\n\t/* eslint-enable react/display-name */\n\t/* eslint-enable react/prop-type */\n}\n\n/**\n * Unregisters the dynamic blocks.\n *\n * @returns {void}\n */\nfunction unregisterBlock() {\n\t(0, _blocks.unregisterBlockType)("yoast-seo/related-links");\n}\n\n/**\n * Safely gets the link suggestions as the premium store registers late.\n *\n * @returns {array|null} The link suggestions. Null if the store hasn\'t loaded yet.\n */\nfunction safelyGetLinkSuggestions() {\n\tif ((0, _data.select)("yoast-seo-premium/editor")) {\n\t\treturn (0, _data.select)("yoast-seo-premium/editor").getLinkSuggestions();\n\t}\n\treturn null;\n}\n\n/**\n * Subscribes to the store to update blocks as they are added or suggestions are updated.\n *\n * @returns {void}\n */\nfunction subscribeToStore() {\n\tvar blockList = (0, _data.select)("core/block-editor").getBlocks();\n\tvar suggestions = safelyGetLinkSuggestions();\n\t// The premium store registers late so always check before using it.\n\n\t(0, _data.subscribe)(function () {\n\t\tvar updatedBlockList = (0, _data.select)("core/block-editor").getBlocks();\n\t\tvar updatedSuggestions = safelyGetLinkSuggestions();\n\t\tvar blockListUpdated = blockList !== updatedBlockList;\n\t\tvar suggestionsUpdated = suggestions !== updatedSuggestions;\n\n\t\tif (blockListUpdated || suggestionsUpdated) {\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name !== "yoast-seo/related-links") {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// If the block list has updated only update block that are loading.\n\t\t\t\t// Otherwise we enter an infinite loop.\n\t\t\t\tif (blockListUpdated && block.attributes.status === "loading") {\n\t\t\t\t\tupdateSuggestions(block.clientId);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (suggestionsUpdated && block.attributes.status !== "loaded") {\n\t\t\t\t\tupdateSuggestions(block.clientId);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tblockList = updatedBlockList;\n\t\tsuggestions = updatedSuggestions;\n\t});\n}\n\n/**\n * Registers the block and subscribes to the store.\n *\n * @returns {void}\n */\nfunction register() {\n\t(0, _domReady2.default)(function () {\n\t\t// Missing dependency. When the metabox is disabled, the related links can not function.\n\t\tif (!window.wpseoPremiumMetaboxData) {\n\t\t\tunregisterBlock();\n\t\t\treturn;\n\t\t}\n\n\t\tsubscribeToStore();\n\t});\n\tregisterBlock();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzL3JlbGF0ZWQtbGlua3MtYmxvY2suanM/ZWIyNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgd3BzZW9QcmVtaXVtTWV0YWJveERhdGEgKi9cbi8vIEV4dGVybmFsIGRlcGVuZGVuY2llcy5cbmltcG9ydCB7IHJlZ2lzdGVyQmxvY2tUeXBlLCB1bnJlZ2lzdGVyQmxvY2tUeXBlLCBjcmVhdGVCbG9jayB9IGZyb20gXCJAd29yZHByZXNzL2Jsb2Nrc1wiO1xuaW1wb3J0IHsgQmxvY2tDb250cm9scywgUmljaFRleHQgfSBmcm9tIFwiQHdvcmRwcmVzcy9ibG9jay1lZGl0b3JcIjtcbmltcG9ydCB7IFRvb2xiYXJHcm91cCB9IGZyb20gXCJAd29yZHByZXNzL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IGRpc3BhdGNoLCBzZWxlY3QsIHN1YnNjcmliZSB9IGZyb20gXCJAd29yZHByZXNzL2RhdGFcIjtcbmltcG9ydCBkb21SZWFkeSBmcm9tIFwiQHdvcmRwcmVzcy9kb20tcmVhZHlcIjtcbmltcG9ydCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjayB9IGZyb20gXCJAd29yZHByZXNzL2VsZW1lbnRcIjtcbmltcG9ydCB7IF9fIH0gZnJvbSBcIkB3b3JkcHJlc3MvaTE4blwiO1xuXG4vLyBZb2FzdCBkZXBlbmRlbmNpZXMuXG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tIFwieW9hc3QtY29tcG9uZW50c1wiO1xuXG4vLyBJbnRlcm5hbCBkZXBlbmRlbmNpZXMuXG5pbXBvcnQgeyBnZXRVbmluZGV4ZWRXYXJuaW5nIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTGlua1N1Z2dlc3Rpb25zXCI7XG5pbXBvcnQgbGlua1N1Z2dlc3Rpb25zSXNTdXBwb3J0ZWQgZnJvbSBcIi4uL2Z1bmN0aW9ucy9saW5rU3VnZ2VzdGlvbnNJc1N1cHBvcnRlZFwiO1xuaW1wb3J0IHJlY3Vyc2VPdmVyQmxvY2tzIGZyb20gXCIuLi9mdW5jdGlvbnMvcmVjdXJzZU92ZXJCbG9ja3NcIjtcblxuLy8gWW9hc3QgU0VPIGZyZWUgZGVwZW5kZW5jaWVzLlxuY29uc3QgY3JlYXRlSW50ZXJwb2xhdGVFbGVtZW50ID0gd2luZG93LnlvYXN0LmVkaXRvck1vZHVsZXMuaGVscGVycy5jcmVhdGVJbnRlcnBvbGF0ZUVsZW1lbnQ7XG5cbi8qKlxuICogVXBkYXRlcyB0aGUgc3RhdHVzIG9mIGEgYmxvY2sgaWYgaXQncyBjaGFuZ2VkLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSAgIGNsaWVudElkICAgICAgICAgICAgICBUaGUgYmxvY2sgY2xpZW50IElELlxuICogQHBhcmFtIHtzdHJpbmd9ICAgbmV3U3RhdHVzICAgICAgICAgICAgIFRoZSBuZXcgc3RhdHVzLlxuICogQHBhcmFtIHtzdHJpbmd9ICAgb2xkU3RhdHVzICAgICAgICAgICAgIFRoZSBvbGQgc3RhdHVzLlxuICogQHBhcmFtIHtmdW5jdGlvbn0gdXBkYXRlQmxvY2tBdHRyaWJ1dGVzIEZ1bmN0aW9uIHRvIHVwZGF0ZSB0aGUgYmxvY2sgYXR0cmlidXRlcy5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gdXBkYXRlU3RhdHVzKCBjbGllbnRJZCwgbmV3U3RhdHVzLCBvbGRTdGF0dXMsIHVwZGF0ZUJsb2NrQXR0cmlidXRlcyApIHtcblx0aWYgKCBuZXdTdGF0dXMgIT09IG9sZFN0YXR1cyApIHtcblx0XHR1cGRhdGVCbG9ja0F0dHJpYnV0ZXMoIGNsaWVudElkLCB7IHN0YXR1czogbmV3U3RhdHVzIH0gKTtcblx0fVxufVxuXG4vKipcbiAqIFNldHMgdGhlIGxpbmsgc3VnZ2VzdGlvbnMgb24gdGhlIGdpdmVuIGJsb2NrLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBjbGllbnRJZCAgIFRoZSBjbGllbnQgSUQgb2YgdGhlIGJsb2NrLlxuICogQHBhcmFtIHtPYmplY3R9IGF0dHJpYnV0ZXMgVGhlIGJsb2NrIGF0dHJpYnV0ZXMuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHNldFN1Z2dlc3Rpb25zKCBjbGllbnRJZCwgYXR0cmlidXRlcyApIHtcblx0Y29uc3Qge1xuXHRcdGxpbmtTdWdnZXN0aW9uc0FyZVVuaW5kZXhlZCxcblx0XHRnZXRMaW5rU3VnZ2VzdGlvbnMsXG5cdFx0Z2V0V29yZHNGb3JMaW5raW5nLFxuXHR9ID0gc2VsZWN0KCBcInlvYXN0LXNlby1wcmVtaXVtL2VkaXRvclwiICk7XG5cdGNvbnN0IHsgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzIH0gPSBkaXNwYXRjaCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICk7XG5cblx0aWYgKCBsaW5rU3VnZ2VzdGlvbnNBcmVVbmluZGV4ZWQoKSApIHtcblx0XHR1cGRhdGVTdGF0dXMoIGNsaWVudElkLCBcInVuaW5kZXhlZFwiLCBhdHRyaWJ1dGVzLnN0YXR1cywgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzICk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3Qgd29yZHNGb3JMaW5raW5nID0gZ2V0V29yZHNGb3JMaW5raW5nKCk7XG5cdGlmICggISBBcnJheS5pc0FycmF5KCB3b3Jkc0ZvckxpbmtpbmcgKSB8fCB3b3Jkc0ZvckxpbmtpbmcubGVuZ3RoID09PSAwICkge1xuXHRcdHVwZGF0ZVN0YXR1cyggY2xpZW50SWQsIFwibm8tY29udGVudFwiLCBhdHRyaWJ1dGVzLnN0YXR1cywgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzICk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3Qgc3VnZ2VzdGlvbnMgPSBnZXRMaW5rU3VnZ2VzdGlvbnMoKTtcblxuXHRpZiAoIHN1Z2dlc3Rpb25zLmxlbmd0aCA9PT0gMCApIHtcblx0XHR1cGRhdGVTdGF0dXMoIGNsaWVudElkLCBcIm5vLXN1Z2dlc3Rpb25zXCIsIGF0dHJpYnV0ZXMuc3RhdHVzLCB1cGRhdGVCbG9ja0F0dHJpYnV0ZXMgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoIGF0dHJpYnV0ZXMuc3RhdHVzICE9PSBcImxvYWRpbmdcIiApIHtcblx0XHR1cGRhdGVTdGF0dXMoIGNsaWVudElkLCBcImhhcy1zdWdnZXN0aW9uc1wiLCBhdHRyaWJ1dGVzLnN0YXR1cywgdXBkYXRlQmxvY2tBdHRyaWJ1dGVzICk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3QgbGlua3MgPSBzdWdnZXN0aW9ucy5tYXAoICggc3VnZ2VzdGlvbiwgaSApID0+IDxsaSBrZXk9eyBpIH0+PGEgaHJlZj17IHN1Z2dlc3Rpb24udXJsIH0+eyBzdWdnZXN0aW9uLnZhbHVlIH08L2E+PC9saT4gKTtcblxuXHR1cGRhdGVCbG9ja0F0dHJpYnV0ZXMoIGNsaWVudElkLCB7IHZhbHVlczogbGlua3MsIHN0YXR1czogXCJsb2FkZWRcIiB9ICk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbGluayBzdWdnZXN0aW9ucyBvbiB0aGUgZ2l2ZW4gYmxvY2suXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGNsaWVudElkIFRoZSBjbGllbnQgSUQgb2YgdGhlIGJsb2NrLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiB1cGRhdGVTdWdnZXN0aW9ucyggY2xpZW50SWQgKSB7XG5cdGlmICggISBzZWxlY3QoIFwieW9hc3Qtc2VvLXByZW1pdW0vZWRpdG9yXCIgKSApIHtcblx0XHRzZXRUaW1lb3V0KCB1cGRhdGVTdWdnZXN0aW9ucy5iaW5kKCBudWxsLCBjbGllbnRJZCApLCA1MDAgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCB7XHRsaW5rU3VnZ2VzdGlvbnNBcmVMb2FkaW5nIH0gPSBzZWxlY3QoIFwieW9hc3Qtc2VvLXByZW1pdW0vZWRpdG9yXCIgKTtcblx0Y29uc3QgeyBnZXRCbG9ja0F0dHJpYnV0ZXMgfSAgICAgICAgPSBzZWxlY3QoIFwiY29yZS9ibG9jay1lZGl0b3JcIiApO1xuXG5cdGNvbnN0IGF0dHJpYnV0ZXMgPSBnZXRCbG9ja0F0dHJpYnV0ZXMoIGNsaWVudElkICk7XG5cblx0aWYgKCBhdHRyaWJ1dGVzLnN0YXR1cyA9PT0gXCJsb2FkZWRcIiApIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHQvLyBJZiB0aGUgc3VnZ2VzdGlvbnMgYXJlIHN0aWxsIGxvYWRpbmcgdHJ5IGFnYWluIGluIDUwMG1zLlxuXHRpZiAoIGxpbmtTdWdnZXN0aW9uc0FyZUxvYWRpbmcoKSApIHtcblx0XHRzZXRUaW1lb3V0KCB1cGRhdGVTdWdnZXN0aW9ucy5iaW5kKCBudWxsLCBjbGllbnRJZCApLCA1MDAgKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRzZXRTdWdnZXN0aW9ucyggY2xpZW50SWQsIGF0dHJpYnV0ZXMgKTtcbn1cblxuLyoqXG4gKiBXcmFwcyBhIG1lc3NhZ2UgaW4gYSBub3RpY2UuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd8SlNYLkVsZW1lbnR9IG1lc3NhZ2UgVGhlIG1lc3NhZ2UuXG4gKiBAcGFyYW0ge3N0cmluZ30gICAgICAgICAgICAgdHlwZSAgICBUaGUgdHlwZSBvZiBub3RpY2UuIERlZmF1bHRzIHRvIHdhcm5pbmcuXG4gKlxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBUaGUgbWVzc2FnZSB3cmFwcGVkIGluIGEgbm90aWNlLlxuICovXG5mdW5jdGlvbiB3cmFwSW5Ob3RpY2UoIG1lc3NhZ2UsIHR5cGUgPSBcIndhcm5pbmdcIiApIHtcblx0Y29uc3QgY2xhc3NOYW1lID0gYG5vdGljZSBub3RpY2UtJHt0eXBlfSBub3RpY2UtYWx0IHdwc2VvLW5vdGljZS1icmVha291dC1pbnNpZGUgeW9hc3QtbGlua3Mtc3VnZ2VzdGlvbnMtbm90aWNlYDtcblx0cmV0dXJuIFx0PGRpdiBjbGFzc05hbWU9eyBjbGFzc05hbWUgfT5cblx0XHQ8cD57IG1lc3NhZ2UgfTwvcD5cblx0PC9kaXY+O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHdhcm5pbmcgdG8gc2hvdyBpZiBubyBzdWdnZXN0aW9ucyB3ZXJlIGF2YWlsYWJsZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gICBzdGF0dXMgICAgICAgICAgICBUaGUgYmxvY2sgc3RhdHVzLlxuICogQHBhcmFtIHtmdW5jdGlvbn0gcmVsb2FkU3VnZ2VzdGlvbnMgRnVuY3Rpb24gdG8gcmVsb2FkIHRoZSBzdWdnZXN0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSB3YXJuaW5nLlxuICovXG5mdW5jdGlvbiBnZXROb1N1Z2dlc3Rpb25zV2FybmluZyggc3RhdHVzLCByZWxvYWRTdWdnZXN0aW9ucyApIHtcblx0aWYgKCBzdGF0dXMgPT09IFwidW5pbmRleGVkXCIgKSB7XG5cdFx0cmV0dXJuIGdldFVuaW5kZXhlZFdhcm5pbmcoKTtcblx0fVxuXG5cdC8vIERpZmZlcmVudCB0cmFuc2xhdGUgZnVuY3Rpb25zIGFyZSB1c2VkIGhlcmUgdG8gbWF0Y2ggdXNhZ2UgaW4gdGhlIExpbmtTdWdnZXN0aW9ucyBjb21wb25lbnQuXG5cdC8vIFRoZSB5b2FzdC1jb21wb25lbnRzIGRvbWFpbiBpcyB1c2VkIGFzIHRoaXMgc3RyaW5nIHNob3VsZCBleGFjdGx5IG1hdGNoIHRoZSBzYW1lIHN0cmluZyB0aGVyZS5cblx0bGV0IG1lc3NhZ2UgPSBfXyggXCJXZSBjb3VsZCBub3QgZmluZCBhbnkgcmVsZXZhbnQgYXJ0aWNsZXMgb24geW91ciB3ZWJzaXRlIHRoYXQgeW91IGNvdWxkIGxpbmsgdG8gZnJvbSB5b3VyIHBvc3QuXCIsIFwieW9hc3QtY29tcG9uZW50c1wiICk7XG5cdGlmICggc3RhdHVzID09PSBcIm5vLWNvbnRlbnRcIiApIHtcblx0XHRtZXNzYWdlID0gdHJhbnNsYXRlKCBcIk9uY2UgeW91IGFkZCBhIGJpdCBtb3JlIGNvcHksIHdlJ2xsIGdpdmUgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgaGVyZSB0byB3aGljaCB5b3UgY291bGQgbGluayBpbiB5b3VyIHBvc3QuXCIgKTtcblx0fVxuXHRpZiAoIHN0YXR1cyA9PT0gXCJsb2FkaW5nXCIgKSB7XG5cdFx0bWVzc2FnZSA9IHRyYW5zbGF0ZSggXCJJdCB0YWtlcyBhIGZldyBzZWNvbmRzIHRvIHNob3cgeW91IGEgbGlzdCBvZiByZWxhdGVkIGNvbnRlbnQgdG8gd2hpY2ggeW91IGNvdWxkIGxpbmsuIFwiICtcblx0XHRcdFx0XCJUaGUgc3VnZ2VzdGlvbnMgd2lsbCBiZSBzaG93biBoZXJlIGFzIHNvb24gYXMgd2UgaGF2ZSB0aGVtLlwiICk7XG5cdH1cblx0aWYgKCBzdGF0dXMgPT09IFwiaGFzLXN1Z2dlc3Rpb25zXCIgKSB7XG5cdFx0bWVzc2FnZSA9IDxGcmFnbWVudD5cblx0XHRcdHsgbWVzc2FnZSB9XG5cdFx0XHQ8YnIgLz5cblx0XHRcdDxiciAvPlxuXHRcdFx0PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnV0dG9uXCIgb25DbGljaz17IHJlbG9hZFN1Z2dlc3Rpb25zIH0+XG5cdFx0XHRcdHsgX18oIFwiTG9hZCBzdWdnZXN0aW9uc1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICkgfVxuXHRcdFx0PC9idXR0b24+XG5cdFx0PC9GcmFnbWVudD47XG5cdH1cblx0cmV0dXJuIHdyYXBJbk5vdGljZSggbWVzc2FnZSApO1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9wcm9wLXR5cGVzICovXG4vKipcbiAqIFRoZSBlZGl0IGZ1bmN0aW9uIG9mIHRoZSByZWxhdGVkIGxpbmtzIGJsb2NrLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBUaGUgcHJvcHMuXG4gKlxuICogQHJldHVybnMge0pTWC5FbGVtZW50fSBUaGUgcmVuZGVyZWQgZWRpdC5cbiAqL1xuZnVuY3Rpb24gRWRpdCggeyBjbGllbnRJZCwgYXR0cmlidXRlcywgc2V0QXR0cmlidXRlcywgbWVyZ2VCbG9ja3MsIG9uUmVwbGFjZSB9ICkge1xuXHRjb25zdCB7IHZhbHVlcywgc3RhdHVzIH0gPSBhdHRyaWJ1dGVzO1xuXG5cdGlmICggISBsaW5rU3VnZ2VzdGlvbnNJc1N1cHBvcnRlZCgpICYmIHN0YXR1cyAhPT0gXCJsb2FkZWRcIiApIHtcblx0XHRyZXR1cm4gd3JhcEluTm90aWNlKFxuXHRcdFx0Y3JlYXRlSW50ZXJwb2xhdGVFbGVtZW50KFxuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuXHRcdFx0XHRfXyggXCJZb3UgaGF2ZSBkaXNhYmxlZCB0aGUgTGluayBTdWdnZXN0aW9ucyBmZWF0dXJlLCB3aGljaCBpcyBuZWVkZWQgZm9yIFJlbGF0ZWQgTGlua3MgdG8gd29yay4gSWYgeW91IHdhbnQgdG8gYWRkIHJlbGF0ZWQgbGlua3MsIHBsZWFzZSBlbmFibGUgTGluayBTdWdnZXN0aW9ucyBpbiB0aGUgPGE+RmVhdHVyZXMgc2V0dGluZ3MuPC9hPlwiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHRcdHtcblx0XHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvanN4LW5vLXRhcmdldC1ibGFua1xuXHRcdFx0XHRcdGE6IDxhIGhyZWY9eyB3cHNlb1ByZW1pdW1NZXRhYm94RGF0YS5kYXRhLnNldHRpbmdzUGFnZVVybCB9IHRhcmdldD1cIl9ibGFua1wiPiMyMTQ0MS1ndXRlbmJlcmc8L2E+LFxuXHRcdFx0XHR9LFxuXHRcdFx0KSxcblx0XHRcdFwiZXJyb3JcIixcblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJlbG9hZHMgdGhlIHN1Z2dlc3Rpb25zLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGNvbnN0IHJlbG9hZFN1Z2dlc3Rpb25zID0gKCkgPT4ge1xuXHRcdHNldEF0dHJpYnV0ZXMoIHsgc3RhdHVzOiBcImxvYWRpbmdcIiB9ICk7XG5cdFx0dXBkYXRlU3VnZ2VzdGlvbnMoIGNsaWVudElkICk7XG5cdH07XG5cblx0aWYgKCBzdGF0dXMgIT09IFwibG9hZGVkXCIgKSB7XG5cdFx0cmV0dXJuIGdldE5vU3VnZ2VzdGlvbnNXYXJuaW5nKCBzdGF0dXMsIHJlbG9hZFN1Z2dlc3Rpb25zICk7XG5cdH1cblxuXHQvKipcblx0ICogVGhlIGNvbnRyb2xzIGJsb2NrLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7SlNYLkVsZW1lbnR9IFRoZSByZW5kZXJlZCBjb250cm9scy5cblx0ICovXG5cdGNvbnN0IGNvbnRyb2xzID0gKCkgPT4gKFxuXHRcdDxCbG9ja0NvbnRyb2xzPlxuXHRcdFx0PFRvb2xiYXJHcm91cFxuXHRcdFx0XHRjb250cm9scz17IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRpY29uOiBcImltYWdlLXJvdGF0ZVwiLFxuXHRcdFx0XHRcdFx0dGl0bGU6IF9fKCBcIlJlZnJlc2ggc3VnZ2VzdGlvbnNcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0XHRcdFx0aXNBY3RpdmU6IGZhbHNlLFxuXHRcdFx0XHRcdFx0b25DbGljazogcmVsb2FkU3VnZ2VzdGlvbnMsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XSB9XG5cdFx0XHQvPlxuXHRcdDwvQmxvY2tDb250cm9scz5cblx0KTtcblxuXHRjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKCBuZXh0VmFsdWVzID0+IHtcblx0XHRzZXRBdHRyaWJ1dGVzKCB7IHZhbHVlczogbmV4dFZhbHVlcyB9ICk7XG5cdH0sIFsgc2V0QXR0cmlidXRlcyBdICk7XG5cblx0Y29uc3Qgb25TcGxpdCA9IHVzZUNhbGxiYWNrKCB2YWx1ZSA9PiB7XG5cdFx0Y3JlYXRlQmxvY2soIG5hbWUsIHsgLi4uYXR0cmlidXRlcywgdmFsdWVzOiB2YWx1ZSB9ICk7XG5cdH0sIFsgYXR0cmlidXRlcyBdICk7XG5cblx0Y29uc3Qgb25SZW1vdmUgPSB1c2VDYWxsYmFjayggKCkgPT4ge1xuXHRcdG9uUmVwbGFjZSggW10gKTtcblx0fSwgb25SZXBsYWNlICk7XG5cblx0cmV0dXJuIDxSaWNoVGV4dFxuXHRcdGlkZW50aWZpZXI9XCJ2YWx1ZXNcIlxuXHRcdG11bHRpbGluZT1cImxpXCJcblx0XHR0YWdOYW1lPVwidWxcIlxuXHRcdG9uQ2hhbmdlPXsgb25DaGFuZ2UgfVxuXHRcdHZhbHVlPXsgdmFsdWVzIH1cblx0XHRwbGFjZWhvbGRlcj17IF9fKCBcIldyaXRlIGxpc3TigKZcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApIH1cblx0XHRvbk1lcmdlPXsgbWVyZ2VCbG9ja3MgfVxuXHRcdG9uU3BsaXQ9eyBvblNwbGl0IH1cblx0XHRvblJlcGxhY2U9eyBvblJlcGxhY2UgfVxuXHRcdG9uUmVtb3ZlPXsgb25SZW1vdmUgfVxuXHQ+XG5cdFx0eyBjb250cm9scyB9XG5cdDwvUmljaFRleHQ+O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgZHluYW1pYyBibG9ja3MuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVyQmxvY2soKSB7XG5cdC8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuXHRyZWdpc3RlckJsb2NrVHlwZSggXCJ5b2FzdC1zZW8vcmVsYXRlZC1saW5rc1wiLCB7XG5cdFx0dGl0bGU6IFwiWW9hc3QgUmVsYXRlZCBMaW5rc1wiLFxuXHRcdGljb246IFwiZWRpdG9yLXVsXCIsXG5cdFx0Y2F0ZWdvcnk6IFwieW9hc3QtaW50ZXJuYWwtbGlua2luZy1ibG9ja3NcIixcblx0XHRkZXNjcmlwdGlvbjogX18oIFwiQWRkcyBhIGxpc3Qgb2YgbGlua3MgcmVsYXRlZCB0byB0aGlzIHBhZ2UuXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRrZXl3b3JkczogW1xuXHRcdFx0X18oIFwic2VvXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRcdF9fKCBcImludGVybmFsIGxpbmtpbmdcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwic2l0ZSBzdHJ1Y3R1cmVcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwicmVsYXRlZCBwb3N0c1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHRfXyggXCJyZWxhdGVkIHBhZ2VzXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRdLFxuXHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdHN0YXR1czoge1xuXHRcdFx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCJsb2FkaW5nXCIsXG5cdFx0XHR9LFxuXHRcdFx0dmFsdWVzOiB7XG5cdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdHNvdXJjZTogXCJodG1sXCIsXG5cdFx0XHRcdHNlbGVjdG9yOiBcInVsXCIsXG5cdFx0XHRcdG11bHRpbGluZTogXCJsaVwiLFxuXHRcdFx0XHRcImRlZmF1bHRcIjogXCJcIixcblx0XHRcdH0sXG5cdFx0fSxcblx0XHRleGFtcGxlOiB7XG5cdFx0XHRhdHRyaWJ1dGVzOiB7XG5cdFx0XHRcdHN0YXR1czogXCJsb2FkZWRcIixcblx0XHRcdFx0dmFsdWVzOiBbXG5cdFx0XHRcdFx0PGxpIGtleT17IDEgfT48YSBocmVmPVwiaHR0cHM6Ly9leGFtcGxlLm9yZ1wiPlJlbGF0ZWQgbGluayAxPC9hPjwvbGk+LFxuXHRcdFx0XHRcdDxsaSBrZXk9eyAyIH0+PGEgaHJlZj1cImh0dHBzOi8vZXhhbXBsZS5vcmdcIj5SZWxhdGVkIGxpbmsgMjwvYT48L2xpPixcblx0XHRcdFx0XHQ8bGkga2V5PXsgMyB9PjxhIGhyZWY9XCJodHRwczovL2V4YW1wbGUub3JnXCI+UmVsYXRlZCBsaW5rIDM8L2E+PC9saT4sXG5cdFx0XHRcdF0sXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogUmVuZGVycyB0aGUgYmxvY2sgaW4gdGhlIGVkaXRvci5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7b2JqZWN0fSBwcm9wcyBUaGUgUHJvcHMuXG5cdFx0ICogQHJldHVybnMge3dwLkVsZW1lbnR9IFRoZSBjb21wb25lbnQuXG5cdFx0ICovXG5cdFx0ZWRpdDogRWRpdCxcblx0XHQvKipcblx0XHQgKiBTYXZlcyBub3RoaW5nLlxuXHRcdCAqXG5cdFx0ICogQHJldHVybnMge0pTWC5FbGVtZW50fSBOb3RoaW5nLlxuXHRcdCAqL1xuXHRcdHNhdmU6IGZ1bmN0aW9uKCB7IGF0dHJpYnV0ZXMgfSApIHtcblx0XHRcdGlmICggYXR0cmlidXRlcy5zdGF0dXMgIT09IFwibG9hZGVkXCIgKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gPFJpY2hUZXh0LkNvbnRlbnQgdGFnTmFtZT1cInVsXCIgbXVsdGlsaW5lPVwibGlcIiB2YWx1ZT17IGF0dHJpYnV0ZXMudmFsdWVzIH0gLz47XG5cdFx0fSxcblx0fSApO1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L3Byb3AtdHlwZSAqL1xufVxuXG4vKipcbiAqIFVucmVnaXN0ZXJzIHRoZSBkeW5hbWljIGJsb2Nrcy5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gdW5yZWdpc3RlckJsb2NrKCkge1xuXHR1bnJlZ2lzdGVyQmxvY2tUeXBlKCBcInlvYXN0LXNlby9yZWxhdGVkLWxpbmtzXCIgKTtcbn1cblxuLyoqXG4gKiBTYWZlbHkgZ2V0cyB0aGUgbGluayBzdWdnZXN0aW9ucyBhcyB0aGUgcHJlbWl1bSBzdG9yZSByZWdpc3RlcnMgbGF0ZS5cbiAqXG4gKiBAcmV0dXJucyB7YXJyYXl8bnVsbH0gVGhlIGxpbmsgc3VnZ2VzdGlvbnMuIE51bGwgaWYgdGhlIHN0b3JlIGhhc24ndCBsb2FkZWQgeWV0LlxuICovXG5mdW5jdGlvbiBzYWZlbHlHZXRMaW5rU3VnZ2VzdGlvbnMoKSB7XG5cdGlmICggc2VsZWN0KCBcInlvYXN0LXNlby1wcmVtaXVtL2VkaXRvclwiICkgKSB7XG5cdFx0cmV0dXJuIHNlbGVjdCggXCJ5b2FzdC1zZW8tcHJlbWl1bS9lZGl0b3JcIiApLmdldExpbmtTdWdnZXN0aW9ucygpO1xuXHR9XG5cdHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFN1YnNjcmliZXMgdG8gdGhlIHN0b3JlIHRvIHVwZGF0ZSBibG9ja3MgYXMgdGhleSBhcmUgYWRkZWQgb3Igc3VnZ2VzdGlvbnMgYXJlIHVwZGF0ZWQuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIHN1YnNjcmliZVRvU3RvcmUoKSB7XG5cdGxldCBibG9ja0xpc3QgICA9IHNlbGVjdCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkuZ2V0QmxvY2tzKCk7XG5cdGxldCBzdWdnZXN0aW9ucyA9IHNhZmVseUdldExpbmtTdWdnZXN0aW9ucygpO1xuXHQvLyBUaGUgcHJlbWl1bSBzdG9yZSByZWdpc3RlcnMgbGF0ZSBzbyBhbHdheXMgY2hlY2sgYmVmb3JlIHVzaW5nIGl0LlxuXG5cdHN1YnNjcmliZSggKCkgPT4ge1xuXHRcdGNvbnN0IHVwZGF0ZWRCbG9ja0xpc3QgICA9IHNlbGVjdCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkuZ2V0QmxvY2tzKCk7XG5cdFx0Y29uc3QgdXBkYXRlZFN1Z2dlc3Rpb25zID0gc2FmZWx5R2V0TGlua1N1Z2dlc3Rpb25zKCk7XG5cdFx0Y29uc3QgYmxvY2tMaXN0VXBkYXRlZCAgID0gYmxvY2tMaXN0ICE9PSB1cGRhdGVkQmxvY2tMaXN0O1xuXHRcdGNvbnN0IHN1Z2dlc3Rpb25zVXBkYXRlZCA9IHN1Z2dlc3Rpb25zICE9PSB1cGRhdGVkU3VnZ2VzdGlvbnM7XG5cblx0XHRpZiAoIGJsb2NrTGlzdFVwZGF0ZWQgfHwgc3VnZ2VzdGlvbnNVcGRhdGVkICkge1xuXHRcdFx0cmVjdXJzZU92ZXJCbG9ja3MoIHVwZGF0ZWRCbG9ja0xpc3QsIGJsb2NrID0+IHtcblx0XHRcdFx0aWYgKCBibG9jay5uYW1lICE9PSBcInlvYXN0LXNlby9yZWxhdGVkLWxpbmtzXCIgKSB7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIElmIHRoZSBibG9jayBsaXN0IGhhcyB1cGRhdGVkIG9ubHkgdXBkYXRlIGJsb2NrIHRoYXQgYXJlIGxvYWRpbmcuXG5cdFx0XHRcdC8vIE90aGVyd2lzZSB3ZSBlbnRlciBhbiBpbmZpbml0ZSBsb29wLlxuXHRcdFx0XHRpZiAoIGJsb2NrTGlzdFVwZGF0ZWQgJiYgYmxvY2suYXR0cmlidXRlcy5zdGF0dXMgPT09IFwibG9hZGluZ1wiICkge1xuXHRcdFx0XHRcdHVwZGF0ZVN1Z2dlc3Rpb25zKCBibG9jay5jbGllbnRJZCApO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoIHN1Z2dlc3Rpb25zVXBkYXRlZCAmJiBibG9jay5hdHRyaWJ1dGVzLnN0YXR1cyAhPT0gXCJsb2FkZWRcIiApIHtcblx0XHRcdFx0XHR1cGRhdGVTdWdnZXN0aW9ucyggYmxvY2suY2xpZW50SWQgKTtcblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXHRcdH1cblxuXHRcdGJsb2NrTGlzdCAgID0gdXBkYXRlZEJsb2NrTGlzdDtcblx0XHRzdWdnZXN0aW9ucyA9IHVwZGF0ZWRTdWdnZXN0aW9ucztcblx0fSApO1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyB0aGUgYmxvY2sgYW5kIHN1YnNjcmliZXMgdG8gdGhlIHN0b3JlLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWdpc3RlcigpIHtcblx0ZG9tUmVhZHkoICgpID0+IHtcblx0XHQvLyBNaXNzaW5nIGRlcGVuZGVuY3kuIFdoZW4gdGhlIG1ldGFib3ggaXMgZGlzYWJsZWQsIHRoZSByZWxhdGVkIGxpbmtzIGNhbiBub3QgZnVuY3Rpb24uXG5cdFx0aWYgKCAhIHdpbmRvdy53cHNlb1ByZW1pdW1NZXRhYm94RGF0YSApIHtcblx0XHRcdHVucmVnaXN0ZXJCbG9jaygpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHN1YnNjcmliZVRvU3RvcmUoKTtcblx0fSApO1xuXHRyZWdpc3RlckJsb2NrKCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNldBO0FBQ0E7QUEzWEE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBOzs7QUFBQTtBQUNBOzs7OztBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFBQTtBQUNBO0FBREE7QUFBQTtBQUNBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBREE7QUFHQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUpBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUZBO0FBT0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFGQTtBQURBO0FBREE7QUFDQTtBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFZQTtBQVpBO0FBY0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFMQTtBQWFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTEE7QUFEQTtBQVVBOzs7Ozs7QUFNQTtBQUNBOzs7OztBQUtBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJEQTtBQXVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///108\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n\tvalue: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; // External dependencies.\n\n\n// Internal dependencies.\n\n\nexports.default = register;\n\nvar _lodash = __webpack_require__(3);\n\nvar _blocks = __webpack_require__(38);\n\nvar _blockEditor = __webpack_require__(45);\n\nvar _components = __webpack_require__(7);\n\nvar _data = __webpack_require__(1);\n\nvar _domReady = __webpack_require__(44);\n\nvar _domReady2 = _interopRequireDefault(_domReady);\n\nvar _element = __webpack_require__(4);\n\nvar _i18n = __webpack_require__(0);\n\nvar _headingLevelDropdown = __webpack_require__(110);\n\nvar _headingLevelDropdown2 = _interopRequireDefault(_headingLevelDropdown);\n\nvar _recurseOverBlocks = __webpack_require__(78);\n\nvar _recurseOverBlocks2 = _interopRequireDefault(_recurseOverBlocks);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// This dummy element is used to strip all markup in getTextWithoutMarkup below.\nvar dummyElement = document.createElement("div");\n\n/**\n * Returns the text without markup.\n *\n * @param {string} text The text.\n *\n * @returns {string} The text without markup.\n */\nfunction getTextWithoutMarkup(text) {\n\tdummyElement.innerHTML = text;\n\treturn dummyElement.innerText;\n}\n\n/**\n * Generates an anchor.\n *\n * @param {Object} block The block.\n * @param {string[]} knownAnchors The known anchors.\n * @param {string[]} blocksThatWereNotHeadings The block client IDs that weren\'t headings in the previous state.\n * @param {Boolean} fillAllAnchors Whether or not all empty anchors should be filled.\n *\n * @returns {string} The anchor.\n */\nfunction generateAnchor(block, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors) {\n\t// Gutenberg doesn\'t save empty strings.\n\t// So when anchor isn\'t set for a heading that already has content set an empty string.\n\t// However, if none of the headings have anchors, we should assume the page was old, and still give all headings an anchor.\n\tif ((0, _lodash.isNil)(block.attributes.anchor) && !fillAllAnchors && !(0, _lodash.isEmpty)(block.attributes.content) && !blocksThatWereNotHeadings.includes(block.clientId)) {\n\t\treturn "";\n\t}\n\n\tvar slug = getTextWithoutMarkup(block.attributes.content).toLowerCase()\n\t// Replace all non-word characters with dashes.\n\t.replace(/[^\\w]+/g, "-")\n\t// Remove leading and trailing dashes.\n\t.replace(/^-+|-+$/g, "");\n\tvar baseAnchor = "h-" + slug;\n\tvar anchor = baseAnchor;\n\tvar i = 0;\n\n\twhile (knownAnchors.includes(anchor)) {\n\t\ti += 1;\n\t\tanchor = baseAnchor + "-" + i;\n\t}\n\n\treturn anchor;\n}\n\n/**\n * Updates the anchor if required.\n *\n * @param {Block} block The block.\n * @param {Object} knownHeadings The known headings.\n * @param {string[]} knownAnchors The known anchors.\n * @param {string[]} blocksThatWereNotHeadings The block client IDs that weren\'t headings in the previous state.\n * @param {Boolean} fillAllAnchors Whether or not all empty anchors should be filled.\n *\n * @returns {string} The anchor.\n */\nfunction maybeUpdateAnchor(block, knownHeadings, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors) {\n\tvar anchor = block.attributes.anchor;\n\n\t// If the block was previously unknown or has changed content and the anchor is empty or was set by us.\n\tif ((!knownHeadings[block.clientId] || knownHeadings[block.clientId].content !== block.attributes.content) && ((0, _lodash.isNil)(anchor) || anchor.startsWith("h-"))) {\n\t\tanchor = generateAnchor(block, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors);\n\n\t\tif (anchor !== block.attributes.anchor) {\n\t\t\t(0, _data.dispatch)("core/block-editor").updateBlockAttributes(block.clientId, { anchor: anchor });\n\t\t}\n\t}\n\n\treturn anchor;\n}\n\n/**\n * Subscribes to the store to update blocks as they are added or suggestions are updated.\n *\n * @returns {void}\n */\nfunction subscribeToStore() {\n\tvar blockList = null;\n\tvar headingsHash = "";\n\tvar updatingHeadings = false;\n\tvar blocksThatWereNotHeadings = [];\n\tvar knownHeadings = {};\n\n\t(0, _data.subscribe)(function () {\n\t\tif (updatingHeadings) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar updatedBlockList = (0, _data.select)("core/block-editor").getBlocks();\n\t\tvar knownAnchors = [];\n\n\t\t// If there have been any change in the blocks.\n\t\tif (blockList !== updatedBlockList) {\n\t\t\tvar headings = [];\n\t\t\tvar blocksThatAreNotHeadings = [];\n\t\t\tvar updatedHeadingsHash = "";\n\t\t\tupdatingHeadings = true;\n\n\t\t\t/*\n Loop over all blocks and test whether all headings don\'t have anchors.\n If so, assume this is an older page which headings were added before Yoast SEO 15.0.\n */\n\t\t\tvar headingAnchors = [];\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name === "core/heading") {\n\t\t\t\t\theadingAnchors.push(block.attributes.anchor);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// If all heading anchors are undefined, they should be populated.\n\t\t\tvar fillAllAnchors = headingAnchors.every(function (anchor) {\n\t\t\t\treturn (0, _lodash.isUndefined)(anchor);\n\t\t\t});\n\n\t\t\t// First loop over all core/heading blocks, give them anchors if necessary and collect all anchors.\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name === "core/heading") {\n\t\t\t\t\tvar heading = block.attributes;\n\t\t\t\t\tvar content = getTextWithoutMarkup(heading.content);\n\t\t\t\t\tvar anchor = maybeUpdateAnchor(block, knownHeadings, knownAnchors, blocksThatWereNotHeadings, fillAllAnchors);\n\t\t\t\t\tknownHeadings[block.clientId] = heading;\n\n\t\t\t\t\t// Empty strings shouldn\'t be added to the table of contents.\n\t\t\t\t\tif (anchor === "" || (0, _lodash.isEmpty)(content)) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tknownAnchors.push(anchor);\n\t\t\t\t\theadings.push({ content: content, href: "#" + anchor, level: heading.level });\n\t\t\t\t\tupdatedHeadingsHash += "$" + heading.level + ":" + anchor + ":" + content;\n\t\t\t\t} else {\n\t\t\t\t\tblocksThatAreNotHeadings.push(block.clientId);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// Then loop over all table of content blocks and assign them the collected anchors.\n\t\t\t(0, _recurseOverBlocks2.default)(updatedBlockList, function (block) {\n\t\t\t\tif (block.name === "yoast-seo/table-of-contents") {\n\t\t\t\t\tvar hasHeadings = block.attributes.headings && block.attributes.headings.length > 0;\n\t\t\t\t\t// If we have new headings or the block didn\'t have headings previously.\n\t\t\t\t\tif (headingsHash !== updatedHeadingsHash || headings.length > 0 && !hasHeadings) {\n\t\t\t\t\t\t(0, _data.dispatch)("core/block-editor").updateBlockAttributes(block.clientId, { headings: headings });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tupdatingHeadings = false;\n\t\t\theadingsHash = updatedHeadingsHash;\n\t\t\tblocksThatWereNotHeadings = blocksThatAreNotHeadings;\n\t\t}\n\n\t\tblockList = updatedBlockList;\n\t});\n}\n\n/**\n * Gets the correct heading parent.\n *\n * @param {Object} heading The heading.\n * @param {number} level The level of the new heading.\n *\n * @returns {Object|null} The heading parent. Null if no heading can be found.\n */\nfunction getHeadingParent(heading, level) {\n\tvar current = heading;\n\n\t// Loop over the headings ancestry until we find one with a lower level.\n\twhile (current && current.level >= level) {\n\t\tcurrent = current.parent;\n\t}\n\n\treturn current;\n}\n\n/**\n * Structures headings.\n *\n * @param {array} headings The headings.\n *\n * @returns {array} The structured headings.\n */\nfunction structureHeadings(headings) {\n\tvar structuredHeadings = [];\n\tvar previousHeading = void 0;\n\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = headings[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar heading = _step.value;\n\n\t\t\tvar level = parseInt(heading.level, 10);\n\t\t\tvar structuredHeading = _extends({ children: [], parent: null }, heading, { level: level });\n\t\t\tvar parent = getHeadingParent(previousHeading, level);\n\n\t\t\tif (parent) {\n\t\t\t\tstructuredHeading.parent = parent;\n\t\t\t\tparent.children.push(structuredHeading);\n\t\t\t} else {\n\t\t\t\tstructuredHeadings.push(structuredHeading);\n\t\t\t}\n\n\t\t\tpreviousHeading = structuredHeading;\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn structuredHeadings;\n}\n\n/**\n * Renders a list of headings.\n *\n * @param {array} headings The headings, expected to be structured with structureHeadings.\n *\n * @returns {wp.Element} The list.\n */\nfunction renderHeadingList(headings) {\n\tvar elements = headings.map(function (heading) {\n\t\tvar children = null;\n\t\tif (heading.children && heading.children.length > 0) {\n\t\t\tchildren = renderHeadingList(heading.children);\n\t\t}\n\t\treturn wp.element.createElement(\n\t\t\t"li",\n\t\t\t{ key: heading.href },\n\t\t\twp.element.createElement(\n\t\t\t\t"a",\n\t\t\t\t{ href: heading.href, "data-level": heading.level },\n\t\t\t\theading.content\n\t\t\t),\n\t\t\tchildren\n\t\t);\n\t});\n\n\treturn wp.element.createElement(\n\t\t"ul",\n\t\tnull,\n\t\telements\n\t);\n}\n\n/**\n * Renders the table of contents.\n *\n * @param {array} headings The headings, expected to be unstructured.\n *\n * @returns {wp.Element} The table of contents.\n */\nfunction renderTableOfContents(headings) {\n\tif (!headings || headings.length === 0) {\n\t\treturn null;\n\t}\n\n\theadings = structureHeadings(headings);\n\treturn renderHeadingList(headings);\n}\n\n/**\n * Registers the dynamic blocks.\n *\n * @returns {void}\n */\nfunction registerBlock() {\n\t/* eslint-disable react/prop-types */\n\t/* eslint-disable react/display-name */\n\t(0, _blocks.registerBlockType)("yoast-seo/table-of-contents", {\n\t\ttitle: "Yoast Table of Contents",\n\t\ticon: "editor-ul",\n\t\tcategory: "yoast-internal-linking-blocks",\n\t\tdescription: (0, _i18n.__)("Adds a table of contents to this page.", "wordpress-seo-premium"),\n\t\tkeywords: [(0, _i18n.__)("seo", "wordpress-seo-premium"), (0, _i18n.__)("links", "wordpress-seo-premium"), (0, _i18n.__)("site structure", "wordpress-seo-premium"), (0, _i18n.__)("toc", "wordpress-seo-premium")],\n\t\tattributes: {\n\t\t\ttitle: {\n\t\t\t\ttype: "string",\n\t\t\t\tsource: "html",\n\t\t\t\tselector: "h2",\n\t\t\t\t"default": (0, _i18n.__)("Table of contents", "wordpress-seo-premium")\n\t\t\t},\n\t\t\tlevel: {\n\t\t\t\ttype: "number",\n\t\t\t\t"default": 2\n\t\t\t},\n\t\t\theadings: {\n\t\t\t\ttype: "array",\n\t\t\t\tsource: "query",\n\t\t\t\tselector: "a",\n\t\t\t\tquery: {\n\t\t\t\t\tcontent: {\n\t\t\t\t\t\ttype: "string",\n\t\t\t\t\t\tsource: "html"\n\t\t\t\t\t},\n\t\t\t\t\thref: {\n\t\t\t\t\t\ttype: "string",\n\t\t\t\t\t\tsource: "attribute",\n\t\t\t\t\t\tattribute: "href"\n\t\t\t\t\t},\n\t\t\t\t\tlevel: {\n\t\t\t\t\t\ttype: "string",\n\t\t\t\t\t\tsource: "attribute",\n\t\t\t\t\t\tattribute: "data-level"\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\texample: {\n\t\t\tattributes: {\n\t\t\t\theadings: [{\n\t\t\t\t\tcontent: "Heading 1",\n\t\t\t\t\thref: "#heading-1",\n\t\t\t\t\tlevel: "2"\n\t\t\t\t}, {\n\t\t\t\t\tcontent: "Subheading 1",\n\t\t\t\t\thref: "#subheading-1",\n\t\t\t\t\tlevel: "3"\n\t\t\t\t}, {\n\t\t\t\t\tcontent: "Subheading 2",\n\t\t\t\t\thref: "#subheading-2",\n\t\t\t\t\tlevel: "3"\n\t\t\t\t}, {\n\t\t\t\t\tcontent: "Heading 2",\n\t\t\t\t\thref: "#heading-2",\n\t\t\t\t\tlevel: "2"\n\t\t\t\t}]\n\t\t\t}\n\t\t},\n\t\t/**\n * Renders the block in the editor.\n *\n * @param {Object} props The props.\n *\n * @returns {wp.Element} The component.\n */\n\t\tedit: function edit(_ref) {\n\t\t\tvar attributes = _ref.attributes,\n\t\t\t setAttributes = _ref.setAttributes;\n\n\t\t\tvar onChangeTitle = (0, _element.useCallback)(function (title) {\n\t\t\t\treturn setAttributes({ title: title });\n\t\t\t}, [setAttributes]);\n\t\t\tvar onChangeLevel = (0, _element.useCallback)(function (level) {\n\t\t\t\treturn setAttributes({ level: level });\n\t\t\t}, [setAttributes]);\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\t_element.Fragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t_blockEditor.BlockControls,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t_components.ToolbarGroup,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(_headingLevelDropdown2.default, {\n\t\t\t\t\t\t\tselectedLevel: attributes.level,\n\t\t\t\t\t\t\tonChange: onChangeLevel\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t"div",\n\t\t\t\t\t{ className: "yoast-table-of-contents" },\n\t\t\t\t\twp.element.createElement(_blockEditor.RichText, { tagName: "h" + attributes.level, value: attributes.title, onChange: onChangeTitle }),\n\t\t\t\t\trenderTableOfContents(attributes.headings)\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t/**\n * Saves the block.\n *\n * @param {Object} props The props.\n *\n * @returns {wp.Element} The block.\n */\n\t\tsave: function save(_ref2) {\n\t\t\tvar attributes = _ref2.attributes;\n\n\t\t\tvar title = null;\n\t\t\tif (attributes.title) {\n\t\t\t\ttitle = wp.element.createElement(_blockEditor.RichText.Content, { tagName: "h" + attributes.level, value: attributes.title });\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\t"div",\n\t\t\t\t{ className: "yoast-table-of-contents" },\n\t\t\t\ttitle,\n\t\t\t\trenderTableOfContents(attributes.headings)\n\t\t\t);\n\t\t}\n\t});\n\t/* eslint-enable react/display-name */\n\t/* eslint-enable react/prop-types */\n}\n\n/**\n * Registers the table of contents block.\n *\n * @returns {void}\n */\nfunction register() {\n\t(0, _domReady2.default)(function () {\n\t\tsubscribeToStore();\n\t});\n\tregisterBlock();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTA5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2Fzc2V0cy9qcy9zcmMvYmxvY2tzL3RhYmxlLW9mLWNvbnRlbnRzLWJsb2NrLmpzPzAzOWUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRXh0ZXJuYWwgZGVwZW5kZW5jaWVzLlxuaW1wb3J0IHsgaXNFbXB0eSwgaXNOaWwsIGlzVW5kZWZpbmVkIH0gZnJvbSBcImxvZGFzaFwiO1xuaW1wb3J0IHsgcmVnaXN0ZXJCbG9ja1R5cGUgfSBmcm9tIFwiQHdvcmRwcmVzcy9ibG9ja3NcIjtcbmltcG9ydCB7IEJsb2NrQ29udHJvbHMsIFJpY2hUZXh0IH0gZnJvbSBcIkB3b3JkcHJlc3MvYmxvY2stZWRpdG9yXCI7XG5pbXBvcnQgeyBUb29sYmFyR3JvdXAgfSBmcm9tIFwiQHdvcmRwcmVzcy9jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBkaXNwYXRjaCwgc2VsZWN0LCBzdWJzY3JpYmUgfSBmcm9tIFwiQHdvcmRwcmVzcy9kYXRhXCI7XG5pbXBvcnQgZG9tUmVhZHkgZnJvbSBcIkB3b3JkcHJlc3MvZG9tLXJlYWR5XCI7XG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2sgfSBmcm9tIFwiQHdvcmRwcmVzcy9lbGVtZW50XCI7XG5pbXBvcnQgeyBfXyB9IGZyb20gXCJAd29yZHByZXNzL2kxOG5cIjtcbmltcG9ydCBIZWFkaW5nTGV2ZWxEcm9wZG93biBmcm9tIFwiQHdvcmRwcmVzcy9ibG9jay1saWJyYXJ5L2J1aWxkL2hlYWRpbmcvaGVhZGluZy1sZXZlbC1kcm9wZG93blwiO1xuXG4vLyBJbnRlcm5hbCBkZXBlbmRlbmNpZXMuXG5pbXBvcnQgcmVjdXJzZU92ZXJCbG9ja3MgZnJvbSBcIi4uL2Z1bmN0aW9ucy9yZWN1cnNlT3ZlckJsb2Nrc1wiO1xuXG4vLyBUaGlzIGR1bW15IGVsZW1lbnQgaXMgdXNlZCB0byBzdHJpcCBhbGwgbWFya3VwIGluIGdldFRleHRXaXRob3V0TWFya3VwIGJlbG93LlxuY29uc3QgZHVtbXlFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJkaXZcIiApO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHRleHQgd2l0aG91dCBtYXJrdXAuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRleHQgVGhlIHRleHQuXG4gKlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIHRleHQgd2l0aG91dCBtYXJrdXAuXG4gKi9cbmZ1bmN0aW9uIGdldFRleHRXaXRob3V0TWFya3VwKCB0ZXh0ICkge1xuXHRkdW1teUVsZW1lbnQuaW5uZXJIVE1MID0gdGV4dDtcblx0cmV0dXJuIGR1bW15RWxlbWVudC5pbm5lclRleHQ7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGFuIGFuY2hvci5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gICBibG9jayAgICAgICAgICAgICAgICAgICAgIFRoZSBibG9jay5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGtub3duQW5jaG9ycyAgICAgICAgICAgICAgVGhlIGtub3duIGFuY2hvcnMuXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzIFRoZSBibG9jayBjbGllbnQgSURzIHRoYXQgd2VyZW4ndCBoZWFkaW5ncyBpbiB0aGUgcHJldmlvdXMgc3RhdGUuXG4gKiBAcGFyYW0ge0Jvb2xlYW59ICBmaWxsQWxsQW5jaG9ycyAgICAgICAgICAgIFdoZXRoZXIgb3Igbm90IGFsbCBlbXB0eSBhbmNob3JzIHNob3VsZCBiZSBmaWxsZWQuXG4gKlxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGFuY2hvci5cbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVBbmNob3IoIGJsb2NrLCBrbm93bkFuY2hvcnMsIGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MsIGZpbGxBbGxBbmNob3JzICkge1xuXHQvLyBHdXRlbmJlcmcgZG9lc24ndCBzYXZlIGVtcHR5IHN0cmluZ3MuXG5cdC8vIFNvIHdoZW4gYW5jaG9yIGlzbid0IHNldCBmb3IgYSBoZWFkaW5nIHRoYXQgYWxyZWFkeSBoYXMgY29udGVudCBzZXQgYW4gZW1wdHkgc3RyaW5nLlxuXHQvLyBIb3dldmVyLCBpZiBub25lIG9mIHRoZSBoZWFkaW5ncyBoYXZlIGFuY2hvcnMsIHdlIHNob3VsZCBhc3N1bWUgdGhlIHBhZ2Ugd2FzIG9sZCwgYW5kIHN0aWxsIGdpdmUgYWxsIGhlYWRpbmdzIGFuIGFuY2hvci5cblx0aWYgKFxuXHRcdCggaXNOaWwoIGJsb2NrLmF0dHJpYnV0ZXMuYW5jaG9yICkgJiYgISBmaWxsQWxsQW5jaG9ycyApICYmXG5cdFx0ISBpc0VtcHR5KCBibG9jay5hdHRyaWJ1dGVzLmNvbnRlbnQgKSAmJlxuXHRcdCEgYmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncy5pbmNsdWRlcyggYmxvY2suY2xpZW50SWQgKVxuXHQpIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxuXG5cdGNvbnN0IHNsdWcgPSBnZXRUZXh0V2l0aG91dE1hcmt1cCggYmxvY2suYXR0cmlidXRlcy5jb250ZW50IClcblx0XHQudG9Mb3dlckNhc2UoKVxuXHRcdC8vIFJlcGxhY2UgYWxsIG5vbi13b3JkIGNoYXJhY3RlcnMgd2l0aCBkYXNoZXMuXG5cdFx0LnJlcGxhY2UoIC9bXlxcd10rL2csIFwiLVwiIClcblx0XHQvLyBSZW1vdmUgbGVhZGluZyBhbmQgdHJhaWxpbmcgZGFzaGVzLlxuXHRcdC5yZXBsYWNlKCAvXi0rfC0rJC9nLCBcIlwiICk7XG5cdGNvbnN0IGJhc2VBbmNob3IgPSBgaC0ke3NsdWd9YDtcblx0bGV0IGFuY2hvciAgICAgICA9IGJhc2VBbmNob3I7XG5cdGxldCBpICAgICAgICAgICAgPSAwO1xuXG5cdHdoaWxlICgga25vd25BbmNob3JzLmluY2x1ZGVzKCBhbmNob3IgKSApIHtcblx0XHRpICAgICArPSAxO1xuXHRcdGFuY2hvciA9IGJhc2VBbmNob3IgKyBcIi1cIiArIGk7XG5cdH1cblxuXHRyZXR1cm4gYW5jaG9yO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIGFuY2hvciBpZiByZXF1aXJlZC5cbiAqXG4gKiBAcGFyYW0ge0Jsb2NrfSAgICBibG9jayAgICAgICAgICAgICAgICAgICAgIFRoZSBibG9jay5cbiAqIEBwYXJhbSB7T2JqZWN0fSAgIGtub3duSGVhZGluZ3MgICAgICAgICAgICAgVGhlIGtub3duIGhlYWRpbmdzLlxuICogQHBhcmFtIHtzdHJpbmdbXX0ga25vd25BbmNob3JzICAgICAgICAgICAgICBUaGUga25vd24gYW5jaG9ycy5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MgVGhlIGJsb2NrIGNsaWVudCBJRHMgdGhhdCB3ZXJlbid0IGhlYWRpbmdzIGluIHRoZSBwcmV2aW91cyBzdGF0ZS5cbiAqIEBwYXJhbSB7Qm9vbGVhbn0gIGZpbGxBbGxBbmNob3JzICAgICAgICAgICAgV2hldGhlciBvciBub3QgYWxsIGVtcHR5IGFuY2hvcnMgc2hvdWxkIGJlIGZpbGxlZC5cbiAqXG4gKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgYW5jaG9yLlxuICovXG5mdW5jdGlvbiBtYXliZVVwZGF0ZUFuY2hvciggYmxvY2ssIGtub3duSGVhZGluZ3MsIGtub3duQW5jaG9ycywgYmxvY2tzVGhhdFdlcmVOb3RIZWFkaW5ncywgZmlsbEFsbEFuY2hvcnMgKSB7XG5cdGxldCBhbmNob3IgPSBibG9jay5hdHRyaWJ1dGVzLmFuY2hvcjtcblxuXHQvLyBJZiB0aGUgYmxvY2sgd2FzIHByZXZpb3VzbHkgdW5rbm93biBvciBoYXMgY2hhbmdlZCBjb250ZW50IGFuZCB0aGUgYW5jaG9yIGlzIGVtcHR5IG9yIHdhcyBzZXQgYnkgdXMuXG5cdGlmIChcblx0XHQoICEga25vd25IZWFkaW5nc1sgYmxvY2suY2xpZW50SWQgXSB8fCBrbm93bkhlYWRpbmdzWyBibG9jay5jbGllbnRJZCBdLmNvbnRlbnQgIT09IGJsb2NrLmF0dHJpYnV0ZXMuY29udGVudCApICYmXG5cdFx0KCBpc05pbCggYW5jaG9yICkgfHwgYW5jaG9yLnN0YXJ0c1dpdGgoIFwiaC1cIiApIClcblx0KSB7XG5cdFx0YW5jaG9yID0gZ2VuZXJhdGVBbmNob3IoIGJsb2NrLCBrbm93bkFuY2hvcnMsIGJsb2Nrc1RoYXRXZXJlTm90SGVhZGluZ3MsIGZpbGxBbGxBbmNob3JzICk7XG5cblx0XHRpZiAoIGFuY2hvciAhPT0gYmxvY2suYXR0cmlidXRlcy5hbmNob3IgKSB7XG5cdFx0XHRkaXNwYXRjaCggXCJjb3JlL2Jsb2NrLWVkaXRvclwiICkudXBkYXRlQmxvY2tBdHRyaWJ1dGVzKCBibG9jay5jbGllbnRJZCwgeyBhbmNob3IgfSApO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBhbmNob3I7XG59XG5cbi8qKlxuICogU3Vic2NyaWJlcyB0byB0aGUgc3RvcmUgdG8gdXBkYXRlIGJsb2NrcyBhcyB0aGV5IGFyZSBhZGRlZCBvciBzdWdnZXN0aW9ucyBhcmUgdXBkYXRlZC5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gc3Vic2NyaWJlVG9TdG9yZSgpIHtcblx0bGV0IGJsb2NrTGlzdCAgICAgICAgICAgICAgICAgPSBudWxsO1xuXHRsZXQgaGVhZGluZ3NIYXNoICAgICAgICAgICAgICA9IFwiXCI7XG5cdGxldCB1cGRhdGluZ0hlYWRpbmdzICAgICAgICAgID0gZmFsc2U7XG5cdGxldCBibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzID0gW107XG5cdGNvbnN0IGtub3duSGVhZGluZ3MgICAgICAgICAgID0ge307XG5cblx0c3Vic2NyaWJlKCAoKSA9PiB7XG5cdFx0aWYgKCB1cGRhdGluZ0hlYWRpbmdzICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHVwZGF0ZWRCbG9ja0xpc3QgID0gc2VsZWN0KCBcImNvcmUvYmxvY2stZWRpdG9yXCIgKS5nZXRCbG9ja3MoKTtcblx0XHRjb25zdCBrbm93bkFuY2hvcnMgICAgICA9IFtdO1xuXG5cdFx0Ly8gSWYgdGhlcmUgaGF2ZSBiZWVuIGFueSBjaGFuZ2UgaW4gdGhlIGJsb2Nrcy5cblx0XHRpZiAoIGJsb2NrTGlzdCAhPT0gdXBkYXRlZEJsb2NrTGlzdCApIHtcblx0XHRcdGNvbnN0IGhlYWRpbmdzICAgICAgICAgICAgICAgICA9IFtdO1xuXHRcdFx0Y29uc3QgYmxvY2tzVGhhdEFyZU5vdEhlYWRpbmdzID0gW107XG5cdFx0XHRsZXQgdXBkYXRlZEhlYWRpbmdzSGFzaCAgICAgICAgPSBcIlwiO1xuXHRcdFx0dXBkYXRpbmdIZWFkaW5ncyAgICAgICAgICAgICAgID0gdHJ1ZTtcblxuXHRcdFx0Lypcblx0XHRcdExvb3Agb3ZlciBhbGwgYmxvY2tzIGFuZCB0ZXN0IHdoZXRoZXIgYWxsIGhlYWRpbmdzIGRvbid0IGhhdmUgYW5jaG9ycy5cblx0XHRcdElmIHNvLCBhc3N1bWUgdGhpcyBpcyBhbiBvbGRlciBwYWdlIHdoaWNoIGhlYWRpbmdzIHdlcmUgYWRkZWQgYmVmb3JlIFlvYXN0IFNFTyAxNS4wLlxuXHRcdFx0Ki9cblx0XHRcdGNvbnN0IGhlYWRpbmdBbmNob3JzID0gW107XG5cdFx0XHRyZWN1cnNlT3ZlckJsb2NrcyggdXBkYXRlZEJsb2NrTGlzdCwgYmxvY2sgPT4ge1xuXHRcdFx0XHRpZiAoIGJsb2NrLm5hbWUgPT09IFwiY29yZS9oZWFkaW5nXCIgKSB7XG5cdFx0XHRcdFx0aGVhZGluZ0FuY2hvcnMucHVzaCggYmxvY2suYXR0cmlidXRlcy5hbmNob3IgKTtcblx0XHRcdFx0fVxuXHRcdFx0fSApO1xuXG5cdFx0XHQvLyBJZiBhbGwgaGVhZGluZyBhbmNob3JzIGFyZSB1bmRlZmluZWQsIHRoZXkgc2hvdWxkIGJlIHBvcHVsYXRlZC5cblx0XHRcdGNvbnN0IGZpbGxBbGxBbmNob3JzID0gaGVhZGluZ0FuY2hvcnMuZXZlcnkoIGFuY2hvciA9PiBpc1VuZGVmaW5lZCggYW5jaG9yICkgKTtcblxuXHRcdFx0Ly8gRmlyc3QgbG9vcCBvdmVyIGFsbCBjb3JlL2hlYWRpbmcgYmxvY2tzLCBnaXZlIHRoZW0gYW5jaG9ycyBpZiBuZWNlc3NhcnkgYW5kIGNvbGxlY3QgYWxsIGFuY2hvcnMuXG5cdFx0XHRyZWN1cnNlT3ZlckJsb2NrcyggdXBkYXRlZEJsb2NrTGlzdCwgYmxvY2sgPT4ge1xuXHRcdFx0XHRpZiAoIGJsb2NrLm5hbWUgPT09IFwiY29yZS9oZWFkaW5nXCIgKSB7XG5cdFx0XHRcdFx0Y29uc3QgaGVhZGluZyAgICAgICAgICAgICAgICAgICA9IGJsb2NrLmF0dHJpYnV0ZXM7XG5cdFx0XHRcdFx0Y29uc3QgY29udGVudCAgICAgICAgICAgICAgICAgICA9IGdldFRleHRXaXRob3V0TWFya3VwKCBoZWFkaW5nLmNvbnRlbnQgKTtcblx0XHRcdFx0XHRjb25zdCBhbmNob3IgICAgICAgICAgICAgICAgICAgID0gbWF5YmVVcGRhdGVBbmNob3IoXG5cdFx0XHRcdFx0XHRibG9jayxcblx0XHRcdFx0XHRcdGtub3duSGVhZGluZ3MsXG5cdFx0XHRcdFx0XHRrbm93bkFuY2hvcnMsXG5cdFx0XHRcdFx0XHRibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzLFxuXHRcdFx0XHRcdFx0ZmlsbEFsbEFuY2hvcnMsXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRrbm93bkhlYWRpbmdzWyBibG9jay5jbGllbnRJZCBdID0gaGVhZGluZztcblxuXHRcdFx0XHRcdC8vIEVtcHR5IHN0cmluZ3Mgc2hvdWxkbid0IGJlIGFkZGVkIHRvIHRoZSB0YWJsZSBvZiBjb250ZW50cy5cblx0XHRcdFx0XHRpZiAoIGFuY2hvciA9PT0gXCJcIiB8fCBpc0VtcHR5KCBjb250ZW50ICkgKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0a25vd25BbmNob3JzLnB1c2goIGFuY2hvciApO1xuXHRcdFx0XHRcdGhlYWRpbmdzLnB1c2goIHsgY29udGVudCwgaHJlZjogXCIjXCIgKyBhbmNob3IsIGxldmVsOiBoZWFkaW5nLmxldmVsIH0gKTtcblx0XHRcdFx0XHR1cGRhdGVkSGVhZGluZ3NIYXNoICs9IFwiJFwiICsgaGVhZGluZy5sZXZlbCArIFwiOlwiICsgYW5jaG9yICsgXCI6XCIgKyBjb250ZW50O1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGJsb2Nrc1RoYXRBcmVOb3RIZWFkaW5ncy5wdXNoKCBibG9jay5jbGllbnRJZCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cblx0XHRcdC8vIFRoZW4gbG9vcCBvdmVyIGFsbCB0YWJsZSBvZiBjb250ZW50IGJsb2NrcyBhbmQgYXNzaWduIHRoZW0gdGhlIGNvbGxlY3RlZCBhbmNob3JzLlxuXHRcdFx0cmVjdXJzZU92ZXJCbG9ja3MoIHVwZGF0ZWRCbG9ja0xpc3QsIGJsb2NrID0+IHtcblx0XHRcdFx0aWYgKCBibG9jay5uYW1lID09PSBcInlvYXN0LXNlby90YWJsZS1vZi1jb250ZW50c1wiICkge1xuXHRcdFx0XHRcdGNvbnN0IGhhc0hlYWRpbmdzID0gYmxvY2suYXR0cmlidXRlcy5oZWFkaW5ncyAmJiBibG9jay5hdHRyaWJ1dGVzLmhlYWRpbmdzLmxlbmd0aCA+IDA7XG5cdFx0XHRcdFx0Ly8gSWYgd2UgaGF2ZSBuZXcgaGVhZGluZ3Mgb3IgdGhlIGJsb2NrIGRpZG4ndCBoYXZlIGhlYWRpbmdzIHByZXZpb3VzbHkuXG5cdFx0XHRcdFx0aWYgKCBoZWFkaW5nc0hhc2ggIT09IHVwZGF0ZWRIZWFkaW5nc0hhc2ggfHwgKCBoZWFkaW5ncy5sZW5ndGggPiAwICYmICEgaGFzSGVhZGluZ3MgKSApIHtcblx0XHRcdFx0XHRcdGRpc3BhdGNoKCBcImNvcmUvYmxvY2stZWRpdG9yXCIgKS51cGRhdGVCbG9ja0F0dHJpYnV0ZXMoIGJsb2NrLmNsaWVudElkLCB7IGhlYWRpbmdzIH0gKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0gKTtcblxuXHRcdFx0dXBkYXRpbmdIZWFkaW5ncyAgICAgICAgICA9IGZhbHNlO1xuXHRcdFx0aGVhZGluZ3NIYXNoICAgICAgICAgICAgICA9IHVwZGF0ZWRIZWFkaW5nc0hhc2g7XG5cdFx0XHRibG9ja3NUaGF0V2VyZU5vdEhlYWRpbmdzID0gYmxvY2tzVGhhdEFyZU5vdEhlYWRpbmdzO1xuXHRcdH1cblxuXHRcdGJsb2NrTGlzdCA9IHVwZGF0ZWRCbG9ja0xpc3Q7XG5cdH0gKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBjb3JyZWN0IGhlYWRpbmcgcGFyZW50LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBoZWFkaW5nIFRoZSBoZWFkaW5nLlxuICogQHBhcmFtIHtudW1iZXJ9IGxldmVsICAgVGhlIGxldmVsIG9mIHRoZSBuZXcgaGVhZGluZy5cbiAqXG4gKiBAcmV0dXJucyB7T2JqZWN0fG51bGx9IFRoZSBoZWFkaW5nIHBhcmVudC4gTnVsbCBpZiBubyBoZWFkaW5nIGNhbiBiZSBmb3VuZC5cbiAqL1xuZnVuY3Rpb24gZ2V0SGVhZGluZ1BhcmVudCggaGVhZGluZywgbGV2ZWwgKSB7XG5cdGxldCBjdXJyZW50ID0gaGVhZGluZztcblxuXHQvLyBMb29wIG92ZXIgdGhlIGhlYWRpbmdzIGFuY2VzdHJ5IHVudGlsIHdlIGZpbmQgb25lIHdpdGggYSBsb3dlciBsZXZlbC5cblx0d2hpbGUgKCBjdXJyZW50ICYmIGN1cnJlbnQubGV2ZWwgPj0gbGV2ZWwgKSB7XG5cdFx0Y3VycmVudCA9IGN1cnJlbnQucGFyZW50O1xuXHR9XG5cblx0cmV0dXJuIGN1cnJlbnQ7XG59XG5cbi8qKlxuICogU3RydWN0dXJlcyBoZWFkaW5ncy5cbiAqXG4gKiBAcGFyYW0ge2FycmF5fSBoZWFkaW5ncyBUaGUgaGVhZGluZ3MuXG4gKlxuICogQHJldHVybnMge2FycmF5fSBUaGUgc3RydWN0dXJlZCBoZWFkaW5ncy5cbiAqL1xuZnVuY3Rpb24gc3RydWN0dXJlSGVhZGluZ3MoIGhlYWRpbmdzICkge1xuXHRjb25zdCBzdHJ1Y3R1cmVkSGVhZGluZ3MgPSBbXTtcblx0bGV0IHByZXZpb3VzSGVhZGluZztcblxuXHRmb3IgKCBjb25zdCBoZWFkaW5nIG9mIGhlYWRpbmdzICkge1xuXHRcdGNvbnN0IGxldmVsICAgICAgICAgICAgID0gcGFyc2VJbnQoIGhlYWRpbmcubGV2ZWwsIDEwICk7XG5cdFx0Y29uc3Qgc3RydWN0dXJlZEhlYWRpbmcgPSB7IGNoaWxkcmVuOiBbXSwgcGFyZW50OiBudWxsLCAuLi5oZWFkaW5nLCBsZXZlbCB9O1xuXHRcdGNvbnN0IHBhcmVudCAgICAgICAgICAgID0gZ2V0SGVhZGluZ1BhcmVudCggcHJldmlvdXNIZWFkaW5nLCBsZXZlbCApO1xuXG5cdFx0aWYgKCBwYXJlbnQgKSB7XG5cdFx0XHRzdHJ1Y3R1cmVkSGVhZGluZy5wYXJlbnQgPSBwYXJlbnQ7XG5cdFx0XHRwYXJlbnQuY2hpbGRyZW4ucHVzaCggc3RydWN0dXJlZEhlYWRpbmcgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3RydWN0dXJlZEhlYWRpbmdzLnB1c2goIHN0cnVjdHVyZWRIZWFkaW5nICk7XG5cdFx0fVxuXG5cdFx0cHJldmlvdXNIZWFkaW5nID0gc3RydWN0dXJlZEhlYWRpbmc7XG5cdH1cblxuXHRyZXR1cm4gc3RydWN0dXJlZEhlYWRpbmdzO1xufVxuXG4vKipcbiAqIFJlbmRlcnMgYSBsaXN0IG9mIGhlYWRpbmdzLlxuICpcbiAqIEBwYXJhbSB7YXJyYXl9IGhlYWRpbmdzIFRoZSBoZWFkaW5ncywgZXhwZWN0ZWQgdG8gYmUgc3RydWN0dXJlZCB3aXRoIHN0cnVjdHVyZUhlYWRpbmdzLlxuICpcbiAqIEByZXR1cm5zIHt3cC5FbGVtZW50fSBUaGUgbGlzdC5cbiAqL1xuZnVuY3Rpb24gcmVuZGVySGVhZGluZ0xpc3QoIGhlYWRpbmdzICkge1xuXHRjb25zdCBlbGVtZW50cyA9IGhlYWRpbmdzLm1hcCggaGVhZGluZyA9PiB7XG5cdFx0bGV0IGNoaWxkcmVuID0gbnVsbDtcblx0XHRpZiAoIGhlYWRpbmcuY2hpbGRyZW4gJiYgaGVhZGluZy5jaGlsZHJlbi5sZW5ndGggPiAwICkge1xuXHRcdFx0Y2hpbGRyZW4gPSByZW5kZXJIZWFkaW5nTGlzdCggaGVhZGluZy5jaGlsZHJlbiApO1xuXHRcdH1cblx0XHRyZXR1cm4gPGxpIGtleT17IGhlYWRpbmcuaHJlZiB9PjxhIGhyZWY9eyBoZWFkaW5nLmhyZWYgfSBkYXRhLWxldmVsPXsgaGVhZGluZy5sZXZlbCB9PnsgaGVhZGluZy5jb250ZW50IH08L2E+eyBjaGlsZHJlbiB9PC9saT47XG5cdH0gKTtcblxuXHRyZXR1cm4gPHVsPnsgZWxlbWVudHMgfTwvdWw+O1xufVxuXG4vKipcbiAqIFJlbmRlcnMgdGhlIHRhYmxlIG9mIGNvbnRlbnRzLlxuICpcbiAqIEBwYXJhbSB7YXJyYXl9IGhlYWRpbmdzIFRoZSBoZWFkaW5ncywgZXhwZWN0ZWQgdG8gYmUgdW5zdHJ1Y3R1cmVkLlxuICpcbiAqIEByZXR1cm5zIHt3cC5FbGVtZW50fSBUaGUgdGFibGUgb2YgY29udGVudHMuXG4gKi9cbmZ1bmN0aW9uIHJlbmRlclRhYmxlT2ZDb250ZW50cyggaGVhZGluZ3MgKSB7XG5cdGlmICggISBoZWFkaW5ncyB8fCBoZWFkaW5ncy5sZW5ndGggPT09IDAgKSB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cblxuXHRoZWFkaW5ncyA9IHN0cnVjdHVyZUhlYWRpbmdzKCBoZWFkaW5ncyApO1xuXHRyZXR1cm4gcmVuZGVySGVhZGluZ0xpc3QoIGhlYWRpbmdzICk7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHRoZSBkeW5hbWljIGJsb2Nrcy5cbiAqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gcmVnaXN0ZXJCbG9jaygpIHtcblx0LyogZXNsaW50LWRpc2FibGUgcmVhY3QvcHJvcC10eXBlcyAqL1xuXHQvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cblx0cmVnaXN0ZXJCbG9ja1R5cGUoIFwieW9hc3Qtc2VvL3RhYmxlLW9mLWNvbnRlbnRzXCIsIHtcblx0XHR0aXRsZTogXCJZb2FzdCBUYWJsZSBvZiBDb250ZW50c1wiLFxuXHRcdGljb246IFwiZWRpdG9yLXVsXCIsXG5cdFx0Y2F0ZWdvcnk6IFwieW9hc3QtaW50ZXJuYWwtbGlua2luZy1ibG9ja3NcIixcblx0XHRkZXNjcmlwdGlvbjogX18oIFwiQWRkcyBhIHRhYmxlIG9mIGNvbnRlbnRzIHRvIHRoaXMgcGFnZS5cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdGtleXdvcmRzOiBbXG5cdFx0XHRfXyggXCJzZW9cIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwibGlua3NcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwic2l0ZSBzdHJ1Y3R1cmVcIiwgXCJ3b3JkcHJlc3Mtc2VvLXByZW1pdW1cIiApLFxuXHRcdFx0X18oIFwidG9jXCIsIFwid29yZHByZXNzLXNlby1wcmVtaXVtXCIgKSxcblx0XHRdLFxuXHRcdGF0dHJpYnV0ZXM6IHtcblx0XHRcdHRpdGxlOiB7XG5cdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdHNvdXJjZTogXCJodG1sXCIsXG5cdFx0XHRcdHNlbGVjdG9yOiBcImgyXCIsXG5cdFx0XHRcdFwiZGVmYXVsdFwiOiBfXyggXCJUYWJsZSBvZiBjb250ZW50c1wiLCBcIndvcmRwcmVzcy1zZW8tcHJlbWl1bVwiICksXG5cdFx0XHR9LFxuXHRcdFx0bGV2ZWw6IHtcblx0XHRcdFx0dHlwZTogXCJudW1iZXJcIixcblx0XHRcdFx0XCJkZWZhdWx0XCI6IDIsXG5cdFx0XHR9LFxuXHRcdFx0aGVhZGluZ3M6IHtcblx0XHRcdFx0dHlwZTogXCJhcnJheVwiLFxuXHRcdFx0XHRzb3VyY2U6IFwicXVlcnlcIixcblx0XHRcdFx0c2VsZWN0b3I6IFwiYVwiLFxuXHRcdFx0XHRxdWVyeToge1xuXHRcdFx0XHRcdGNvbnRlbnQ6IHtcblx0XHRcdFx0XHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0XHRcdFx0XHRzb3VyY2U6IFwiaHRtbFwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0aHJlZjoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRcdFx0XHRcdHNvdXJjZTogXCJhdHRyaWJ1dGVcIixcblx0XHRcdFx0XHRcdGF0dHJpYnV0ZTogXCJocmVmXCIsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRsZXZlbDoge1xuXHRcdFx0XHRcdFx0dHlwZTogXCJzdHJpbmdcIixcblx0XHRcdFx0XHRcdHNvdXJjZTogXCJhdHRyaWJ1dGVcIixcblx0XHRcdFx0XHRcdGF0dHJpYnV0ZTogXCJkYXRhLWxldmVsXCIsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSxcblx0XHRcdH0sXG5cdFx0fSxcblx0XHRleGFtcGxlOiB7XG5cdFx0XHRhdHRyaWJ1dGVzOiB7XG5cdFx0XHRcdGhlYWRpbmdzOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJIZWFkaW5nIDFcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI2hlYWRpbmctMVwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiMlwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJTdWJoZWFkaW5nIDFcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI3N1YmhlYWRpbmctMVwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiM1wiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJTdWJoZWFkaW5nIDJcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI3N1YmhlYWRpbmctMlwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiM1wiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJIZWFkaW5nIDJcIixcblx0XHRcdFx0XHRcdGhyZWY6IFwiI2hlYWRpbmctMlwiLFxuXHRcdFx0XHRcdFx0bGV2ZWw6IFwiMlwiLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdF0sXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogUmVuZGVycyB0aGUgYmxvY2sgaW4gdGhlIGVkaXRvci5cblx0XHQgKlxuXHRcdCAqIEBwYXJhbSB7T2JqZWN0fSBwcm9wcyBUaGUgcHJvcHMuXG5cdFx0ICpcblx0XHQgKiBAcmV0dXJucyB7d3AuRWxlbWVudH0gVGhlIGNvbXBvbmVudC5cblx0XHQgKi9cblx0XHRlZGl0OiBmdW5jdGlvbiggeyBhdHRyaWJ1dGVzLCBzZXRBdHRyaWJ1dGVzIH0gKSB7XG5cdFx0XHRjb25zdCBvbkNoYW5nZVRpdGxlID0gdXNlQ2FsbGJhY2soIHRpdGxlID0+IHNldEF0dHJpYnV0ZXMoIHsgdGl0bGUgfSApLCBbIHNldEF0dHJpYnV0ZXMgXSApO1xuXHRcdFx0Y29uc3Qgb25DaGFuZ2VMZXZlbCA9IHVzZUNhbGxiYWNrKCBsZXZlbCA9PiBzZXRBdHRyaWJ1dGVzKCB7IGxldmVsIH0gKSwgWyBzZXRBdHRyaWJ1dGVzIF0gKTtcblxuXHRcdFx0cmV0dXJuIDxGcmFnbWVudD5cblx0XHRcdFx0PEJsb2NrQ29udHJvbHM+XG5cdFx0XHRcdFx0PFRvb2xiYXJHcm91cD5cblx0XHRcdFx0XHRcdDxIZWFkaW5nTGV2ZWxEcm9wZG93blxuXHRcdFx0XHRcdFx0XHRzZWxlY3RlZExldmVsPXsgYXR0cmlidXRlcy5sZXZlbCB9XG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlPXsgb25DaGFuZ2VMZXZlbCB9XG5cdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdDwvVG9vbGJhckdyb3VwPlxuXHRcdFx0XHQ8L0Jsb2NrQ29udHJvbHM+XG5cdFx0XHRcdDxkaXYgY2xhc3NOYW1lPXsgXCJ5b2FzdC10YWJsZS1vZi1jb250ZW50c1wiIH0+XG5cdFx0XHRcdFx0PFJpY2hUZXh0IHRhZ05hbWU9eyBcImhcIiArIGF0dHJpYnV0ZXMubGV2ZWwgfSB2YWx1ZT17IGF0dHJpYnV0ZXMudGl0bGUgfSBvbkNoYW5nZT17IG9uQ2hhbmdlVGl0bGUgfSAvPlxuXHRcdFx0XHRcdHsgcmVuZGVyVGFibGVPZkNvbnRlbnRzKCBhdHRyaWJ1dGVzLmhlYWRpbmdzICkgfVxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvRnJhZ21lbnQ+O1xuXHRcdH0sXG5cdFx0LyoqXG5cdFx0ICogU2F2ZXMgdGhlIGJsb2NrLlxuXHRcdCAqXG5cdFx0ICogQHBhcmFtIHtPYmplY3R9IHByb3BzIFRoZSBwcm9wcy5cblx0XHQgKlxuXHRcdCAqIEByZXR1cm5zIHt3cC5FbGVtZW50fSBUaGUgYmxvY2suXG5cdFx0ICovXG5cdFx0c2F2ZTogZnVuY3Rpb24oIHsgYXR0cmlidXRlcyB9ICkge1xuXHRcdFx0bGV0IHRpdGxlID0gbnVsbDtcblx0XHRcdGlmICggYXR0cmlidXRlcy50aXRsZSApIHtcblx0XHRcdFx0dGl0bGUgPSA8UmljaFRleHQuQ29udGVudCB0YWdOYW1lPXsgXCJoXCIgKyBhdHRyaWJ1dGVzLmxldmVsIH0gdmFsdWU9eyBhdHRyaWJ1dGVzLnRpdGxlIH0gLz47XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiA8ZGl2IGNsYXNzTmFtZT17IFwieW9hc3QtdGFibGUtb2YtY29udGVudHNcIiB9PlxuXHRcdFx0XHR7IHRpdGxlIH1cblx0XHRcdFx0eyByZW5kZXJUYWJsZU9mQ29udGVudHMoIGF0dHJpYnV0ZXMuaGVhZGluZ3MgKSB9XG5cdFx0XHQ8L2Rpdj47XG5cdFx0fSxcblx0fSApO1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L2Rpc3BsYXktbmFtZSAqL1xuXHQvKiBlc2xpbnQtZW5hYmxlIHJlYWN0L3Byb3AtdHlwZXMgKi9cbn1cblxuLyoqXG4gKiBSZWdpc3RlcnMgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIGJsb2NrLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiByZWdpc3RlcigpIHtcblx0ZG9tUmVhZHkoICgpID0+IHtcblx0XHRzdWJzY3JpYmVUb1N0b3JlKCk7XG5cdH0gKTtcblx0cmVnaXN0ZXJCbG9jaygpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBQ0E7QUFvWUE7QUFDQTtBQWpaQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7O0FBRUE7QUFDQTs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7OztBQVVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRkE7QUFJQTtBQUpBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7QUFRQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBQUE7QUFBQTtBQUNBO0FBREE7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWpCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBVkE7QUFKQTtBQVhBO0FBaUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFDQTtBQUNBO0FBSEE7QUFNQTtBQUNBO0FBQ0E7QUFIQTtBQU1BO0FBQ0E7QUFDQTtBQUhBO0FBakJBO0FBREE7QUEwQkE7Ozs7Ozs7QUFPQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFEQTtBQURBO0FBUUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUZBO0FBVEE7QUFjQTtBQUNBOzs7Ozs7O0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQUlBO0FBakhBO0FBbUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///109\n')},function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__(111);\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = HeadingLevelDropdown;\n\nvar _element = __webpack_require__(4);\n\nvar _components = __webpack_require__(7);\n\nvar _i18n = __webpack_require__(0);\n\nvar _keycodes = __webpack_require__(112);\n\nvar _headingLevelIcon = _interopRequireDefault(__webpack_require__(113));\n\n/**\n * WordPress dependencies\n */\n\n/**\n * Internal dependencies\n */\nvar HEADING_LEVELS = [1, 2, 3, 4, 5, 6];\nvar POPOVER_PROPS = {\n className: \'block-library-heading-level-dropdown\',\n isAlternate: true\n};\n/** @typedef {import(\'@wordpress/element\').WPComponent} WPComponent */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} selectedLevel The chosen heading level.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {WPComponent} The toolbar.\n */\n\nfunction HeadingLevelDropdown(_ref) {\n var selectedLevel = _ref.selectedLevel,\n onChange = _ref.onChange;\n return (0, _element.createElement)(_components.Dropdown, {\n popoverProps: POPOVER_PROPS,\n renderToggle: function renderToggle(_ref2) {\n var onToggle = _ref2.onToggle,\n isOpen = _ref2.isOpen;\n\n var openOnArrowDown = function openOnArrowDown(event) {\n if (!isOpen && event.keyCode === _keycodes.DOWN) {\n event.preventDefault();\n event.stopPropagation();\n onToggle();\n }\n };\n\n return (0, _element.createElement)(_components.ToolbarButton, {\n "aria-expanded": isOpen,\n "aria-haspopup": "true",\n icon: (0, _element.createElement)(_headingLevelIcon.default, {\n level: selectedLevel\n }),\n label: (0, _i18n.__)(\'Change heading level\'),\n onClick: onToggle,\n onKeyDown: openOnArrowDown,\n showTooltip: true\n });\n },\n renderContent: function renderContent() {\n return (0, _element.createElement)(_components.Toolbar, {\n className: "block-library-heading-level-toolbar",\n __experimentalAccessibilityLabel: (0, _i18n.__)(\'Change heading level\')\n }, (0, _element.createElement)(_components.ToolbarGroup, {\n isCollapsed: false,\n controls: HEADING_LEVELS.map(function (targetLevel) {\n var isActive = targetLevel === selectedLevel;\n return {\n icon: (0, _element.createElement)(_headingLevelIcon.default, {\n level: targetLevel,\n isPressed: isActive\n }),\n title: (0, _i18n.sprintf)( // translators: %s: heading level e.g: "1", "2", "3"\n (0, _i18n.__)(\'Heading %d\'), targetLevel),\n isActive: isActive,\n onClick: function onClick() {\n onChange(targetLevel);\n }\n };\n })\n }));\n }\n });\n}\n//# sourceMappingURL=heading-level-dropdown.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0B3b3JkcHJlc3MvYmxvY2stbGlicmFyeS9idWlsZC9oZWFkaW5nL2hlYWRpbmctbGV2ZWwtZHJvcGRvd24uanM/ZWEwNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxudmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHRcIik7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSBIZWFkaW5nTGV2ZWxEcm9wZG93bjtcblxudmFyIF9lbGVtZW50ID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvZWxlbWVudFwiKTtcblxudmFyIF9jb21wb25lbnRzID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvY29tcG9uZW50c1wiKTtcblxudmFyIF9pMThuID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvaTE4blwiKTtcblxudmFyIF9rZXljb2RlcyA9IHJlcXVpcmUoXCJAd29yZHByZXNzL2tleWNvZGVzXCIpO1xuXG52YXIgX2hlYWRpbmdMZXZlbEljb24gPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2hlYWRpbmctbGV2ZWwtaWNvblwiKSk7XG5cbi8qKlxuICogV29yZFByZXNzIGRlcGVuZGVuY2llc1xuICovXG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbnZhciBIRUFESU5HX0xFVkVMUyA9IFsxLCAyLCAzLCA0LCA1LCA2XTtcbnZhciBQT1BPVkVSX1BST1BTID0ge1xuICBjbGFzc05hbWU6ICdibG9jay1saWJyYXJ5LWhlYWRpbmctbGV2ZWwtZHJvcGRvd24nLFxuICBpc0FsdGVybmF0ZTogdHJ1ZVxufTtcbi8qKiBAdHlwZWRlZiB7aW1wb3J0KCdAd29yZHByZXNzL2VsZW1lbnQnKS5XUENvbXBvbmVudH0gV1BDb21wb25lbnQgKi9cblxuLyoqXG4gKiBIZWFkaW5nTGV2ZWxEcm9wZG93biBwcm9wcy5cbiAqXG4gKiBAdHlwZWRlZiBXUEhlYWRpbmdMZXZlbERyb3Bkb3duUHJvcHNcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gICAgICAgICAgICAgICAgIHNlbGVjdGVkTGV2ZWwgVGhlIGNob3NlbiBoZWFkaW5nIGxldmVsLlxuICogQHByb3BlcnR5IHsobmV3VmFsdWU6bnVtYmVyKT0+YW55fSBvbkNoYW5nZSAgICAgIENhbGxiYWNrIHRvIHJ1biB3aGVuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhciB2YWx1ZSBpcyBjaGFuZ2VkLlxuICovXG5cbi8qKlxuICogRHJvcGRvd24gZm9yIHNlbGVjdGluZyBhIGhlYWRpbmcgbGV2ZWwgKDEgdGhyb3VnaCA2KS5cbiAqXG4gKiBAcGFyYW0ge1dQSGVhZGluZ0xldmVsRHJvcGRvd25Qcm9wc30gcHJvcHMgQ29tcG9uZW50IHByb3BzLlxuICpcbiAqIEByZXR1cm4ge1dQQ29tcG9uZW50fSBUaGUgdG9vbGJhci5cbiAqL1xuXG5mdW5jdGlvbiBIZWFkaW5nTGV2ZWxEcm9wZG93bihfcmVmKSB7XG4gIHZhciBzZWxlY3RlZExldmVsID0gX3JlZi5zZWxlY3RlZExldmVsLFxuICAgICAgb25DaGFuZ2UgPSBfcmVmLm9uQ2hhbmdlO1xuICByZXR1cm4gKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9jb21wb25lbnRzLkRyb3Bkb3duLCB7XG4gICAgcG9wb3ZlclByb3BzOiBQT1BPVkVSX1BST1BTLFxuICAgIHJlbmRlclRvZ2dsZTogZnVuY3Rpb24gcmVuZGVyVG9nZ2xlKF9yZWYyKSB7XG4gICAgICB2YXIgb25Ub2dnbGUgPSBfcmVmMi5vblRvZ2dsZSxcbiAgICAgICAgICBpc09wZW4gPSBfcmVmMi5pc09wZW47XG5cbiAgICAgIHZhciBvcGVuT25BcnJvd0Rvd24gPSBmdW5jdGlvbiBvcGVuT25BcnJvd0Rvd24oZXZlbnQpIHtcbiAgICAgICAgaWYgKCFpc09wZW4gJiYgZXZlbnQua2V5Q29kZSA9PT0gX2tleWNvZGVzLkRPV04pIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIG9uVG9nZ2xlKCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuVG9vbGJhckJ1dHRvbiwge1xuICAgICAgICBcImFyaWEtZXhwYW5kZWRcIjogaXNPcGVuLFxuICAgICAgICBcImFyaWEtaGFzcG9wdXBcIjogXCJ0cnVlXCIsXG4gICAgICAgIGljb246ICgwLCBfZWxlbWVudC5jcmVhdGVFbGVtZW50KShfaGVhZGluZ0xldmVsSWNvbi5kZWZhdWx0LCB7XG4gICAgICAgICAgbGV2ZWw6IHNlbGVjdGVkTGV2ZWxcbiAgICAgICAgfSksXG4gICAgICAgIGxhYmVsOiAoMCwgX2kxOG4uX18pKCdDaGFuZ2UgaGVhZGluZyBsZXZlbCcpLFxuICAgICAgICBvbkNsaWNrOiBvblRvZ2dsZSxcbiAgICAgICAgb25LZXlEb3duOiBvcGVuT25BcnJvd0Rvd24sXG4gICAgICAgIHNob3dUb29sdGlwOiB0cnVlXG4gICAgICB9KTtcbiAgICB9LFxuICAgIHJlbmRlckNvbnRlbnQ6IGZ1bmN0aW9uIHJlbmRlckNvbnRlbnQoKSB7XG4gICAgICByZXR1cm4gKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9jb21wb25lbnRzLlRvb2xiYXIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcImJsb2NrLWxpYnJhcnktaGVhZGluZy1sZXZlbC10b29sYmFyXCIsXG4gICAgICAgIF9fZXhwZXJpbWVudGFsQWNjZXNzaWJpbGl0eUxhYmVsOiAoMCwgX2kxOG4uX18pKCdDaGFuZ2UgaGVhZGluZyBsZXZlbCcpXG4gICAgICB9LCAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuVG9vbGJhckdyb3VwLCB7XG4gICAgICAgIGlzQ29sbGFwc2VkOiBmYWxzZSxcbiAgICAgICAgY29udHJvbHM6IEhFQURJTkdfTEVWRUxTLm1hcChmdW5jdGlvbiAodGFyZ2V0TGV2ZWwpIHtcbiAgICAgICAgICB2YXIgaXNBY3RpdmUgPSB0YXJnZXRMZXZlbCA9PT0gc2VsZWN0ZWRMZXZlbDtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWNvbjogKDAsIF9lbGVtZW50LmNyZWF0ZUVsZW1lbnQpKF9oZWFkaW5nTGV2ZWxJY29uLmRlZmF1bHQsIHtcbiAgICAgICAgICAgICAgbGV2ZWw6IHRhcmdldExldmVsLFxuICAgICAgICAgICAgICBpc1ByZXNzZWQ6IGlzQWN0aXZlXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRpdGxlOiAoMCwgX2kxOG4uc3ByaW50ZikoIC8vIHRyYW5zbGF0b3JzOiAlczogaGVhZGluZyBsZXZlbCBlLmc6IFwiMVwiLCBcIjJcIiwgXCIzXCJcbiAgICAgICAgICAgICgwLCBfaTE4bi5fXykoJ0hlYWRpbmcgJWQnKSwgdGFyZ2V0TGV2ZWwpLFxuICAgICAgICAgICAgaXNBY3RpdmU6IGlzQWN0aXZlLFxuICAgICAgICAgICAgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcbiAgICAgICAgICAgICAgb25DaGFuZ2UodGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICB9KSk7XG4gICAgfVxuICB9KTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWRpbmctbGV2ZWwtZHJvcGRvd24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///110\n')},function(module,exports){eval('function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n "default": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTExLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0LmpzPzFjZDEiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHtcbiAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICBcImRlZmF1bHRcIjogb2JqXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdDsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///111\n')},function(module,exports){eval("module.exports = window.wp.keycodes;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL2V4dGVybmFsIFwid2luZG93LndwLmtleWNvZGVzXCI/ZTMzNSJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvdy53cC5rZXljb2RlczsiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///112\n")},function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = HeadingLevelIcon;\n\nvar _element = __webpack_require__(4);\n\nvar _components = __webpack_require__(7);\n\n/**\n * WordPress dependencies\n */\n\n/** @typedef {import('@wordpress/element').WPComponent} WPComponent */\n\n/**\n * HeadingLevelIcon props.\n *\n * @typedef WPHeadingLevelIconProps\n *\n * @property {number} level The heading level to show an icon for.\n * @property {?boolean} isPressed Whether or not the icon should appear pressed; default: false.\n */\n\n/**\n * Heading level icon.\n *\n * @param {WPHeadingLevelIconProps} props Component props.\n *\n * @return {?WPComponent} The icon.\n */\nfunction HeadingLevelIcon(_ref) {\n var level = _ref.level,\n _ref$isPressed = _ref.isPressed,\n isPressed = _ref$isPressed === void 0 ? false : _ref$isPressed;\n var levelToPath = {\n 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z',\n 2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z',\n 3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z',\n 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z',\n 5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z',\n 6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z'\n };\n\n if (!levelToPath.hasOwnProperty(level)) {\n return null;\n }\n\n return (0, _element.createElement)(_components.SVG, {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\",\n isPressed: isPressed\n }, (0, _element.createElement)(_components.Path, {\n d: levelToPath[level]\n }));\n}\n//# sourceMappingURL=heading-level-icon.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy92YXIvamVua2lucy93b3Jrc3BhY2UvUGx1Z2luLVJlbGVhc2Uvd29yZHByZXNzLXNlby1wcmVtaXVtLy5yZXBvcy93b3JkcHJlc3Mtc2VvLXByZW1pdW0vbm9kZV9tb2R1bGVzL0B3b3JkcHJlc3MvYmxvY2stbGlicmFyeS9idWlsZC9oZWFkaW5nL2hlYWRpbmctbGV2ZWwtaWNvbi5qcz8yOWMwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gSGVhZGluZ0xldmVsSWNvbjtcblxudmFyIF9lbGVtZW50ID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvZWxlbWVudFwiKTtcblxudmFyIF9jb21wb25lbnRzID0gcmVxdWlyZShcIkB3b3JkcHJlc3MvY29tcG9uZW50c1wiKTtcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cblxuLyoqIEB0eXBlZGVmIHtpbXBvcnQoJ0B3b3JkcHJlc3MvZWxlbWVudCcpLldQQ29tcG9uZW50fSBXUENvbXBvbmVudCAqL1xuXG4vKipcbiAqIEhlYWRpbmdMZXZlbEljb24gcHJvcHMuXG4gKlxuICogQHR5cGVkZWYgV1BIZWFkaW5nTGV2ZWxJY29uUHJvcHNcbiAqXG4gKiBAcHJvcGVydHkge251bWJlcn0gICBsZXZlbCAgICAgVGhlIGhlYWRpbmcgbGV2ZWwgdG8gc2hvdyBhbiBpY29uIGZvci5cbiAqIEBwcm9wZXJ0eSB7P2Jvb2xlYW59IGlzUHJlc3NlZCBXaGV0aGVyIG9yIG5vdCB0aGUgaWNvbiBzaG91bGQgYXBwZWFyIHByZXNzZWQ7IGRlZmF1bHQ6IGZhbHNlLlxuICovXG5cbi8qKlxuICogSGVhZGluZyBsZXZlbCBpY29uLlxuICpcbiAqIEBwYXJhbSB7V1BIZWFkaW5nTGV2ZWxJY29uUHJvcHN9IHByb3BzIENvbXBvbmVudCBwcm9wcy5cbiAqXG4gKiBAcmV0dXJuIHs/V1BDb21wb25lbnR9IFRoZSBpY29uLlxuICovXG5mdW5jdGlvbiBIZWFkaW5nTGV2ZWxJY29uKF9yZWYpIHtcbiAgdmFyIGxldmVsID0gX3JlZi5sZXZlbCxcbiAgICAgIF9yZWYkaXNQcmVzc2VkID0gX3JlZi5pc1ByZXNzZWQsXG4gICAgICBpc1ByZXNzZWQgPSBfcmVmJGlzUHJlc3NlZCA9PT0gdm9pZCAwID8gZmFsc2UgOiBfcmVmJGlzUHJlc3NlZDtcbiAgdmFyIGxldmVsVG9QYXRoID0ge1xuICAgIDE6ICdNOSA1aDJ2MTBIOXYtNEg1djRIM1Y1aDJ2NGg0VjV6bTYuNiAwYy0uNi45LTEuNSAxLjctMi42IDJ2MWgydjdoMlY1aC0xLjR6JyxcbiAgICAyOiAnTTcgNWgydjEwSDd2LTRIM3Y0SDFWNWgydjRoNFY1em04IDhjLjUtLjQuNi0uNiAxLjEtMS4xLjQtLjQuOC0uOCAxLjItMS4zLjMtLjQuNi0uOC45LTEuMy4yLS40LjMtLjguMy0xLjMgMC0uNC0uMS0uOS0uMy0xLjMtLjItLjQtLjQtLjctLjgtMS0uMy0uMy0uNy0uNS0xLjItLjYtLjUtLjItMS0uMi0xLjUtLjItLjQgMC0uNyAwLTEuMS4xLS4zLjEtLjcuMi0xIC4zLS4zLjEtLjYuMy0uOS41LS4zLjItLjYuNC0uOC43bDEuMiAxLjJjLjMtLjMuNi0uNSAxLS43LjQtLjIuNy0uMyAxLjItLjNzLjkuMSAxLjMuNGMuMy4zLjUuNy41IDEuMSAwIC40LS4xLjgtLjQgMS4xLS4zLjUtLjYuOS0xIDEuMi0uNC40LTEgLjktMS42IDEuNC0uNi41LTEuNCAxLjEtMi4yIDEuNlYxNWg4di0ySDE1eicsXG4gICAgMzogJ00xMi4xIDEyLjJjLjQuMy44LjUgMS4yLjcuNC4yLjkuMyAxLjQuMy41IDAgMS0uMSAxLjQtLjMuMy0uMS41LS41LjUtLjggMC0uMiAwLS40LS4xLS42LS4xLS4yLS4zLS4zLS41LS40LS4zLS4xLS43LS4yLTEtLjMtLjUtLjEtMS0uMS0xLjUtLjFWOS4xYy43LjEgMS41LS4xIDIuMi0uNC40LS4yLjYtLjUuNi0uOSAwLS4zLS4xLS42LS40LS44LS4zLS4yLS43LS4zLTEuMS0uMy0uNCAwLS44LjEtMS4xLjMtLjQuMi0uNy40LTEuMS42bC0xLjItMS40Yy41LS40IDEuMS0uNyAxLjYtLjkuNS0uMiAxLjItLjMgMS44LS4zLjUgMCAxIC4xIDEuNi4yLjQuMS44LjMgMS4yLjUuMy4yLjYuNS44LjguMi4zLjMuNy4zIDEuMSAwIC41LS4yLjktLjUgMS4zLS40LjQtLjkuNy0xLjUuOXYuMWMuNi4xIDEuMi40IDEuNi44LjQuNC43LjkuNyAxLjUgMCAuNC0uMS44LS4zIDEuMi0uMi40LS41LjctLjkuOS0uNC4zLS45LjQtMS4zLjUtLjUuMS0xIC4yLTEuNi4yLS44IDAtMS42LS4xLTIuMy0uNC0uNi0uMi0xLjEtLjYtMS42LTFsMS4xLTEuNHpNNyA5SDNWNUgxdjEwaDJ2LTRoNHY0aDJWNUg3djR6JyxcbiAgICA0OiAnTTkgMTVIN3YtNEgzdjRIMVY1aDJ2NGg0VjVoMnYxMHptMTAtMmgtMXYyaC0ydi0yaC01di0ybDQtNmgzdjZoMXYyem0tMy0yVjdsLTIuOCA0SDE2eicsXG4gICAgNTogJ00xMi4xIDEyLjJjLjQuMy43LjUgMS4xLjcuNC4yLjkuMyAxLjMuMy41IDAgMS0uMSAxLjQtLjQuNC0uMy42LS43LjYtMS4xIDAtLjQtLjItLjktLjYtMS4xLS40LS4zLS45LS40LTEuNC0uNEgxNGMtLjEgMC0uMyAwLS40LjFsLS40LjEtLjUuMi0xLS42LjMtNWg2LjR2MS45aC00LjNMMTQgOC44Yy4yLS4xLjUtLjEuNy0uMi4yIDAgLjUtLjEuNy0uMS41IDAgLjkuMSAxLjQuMi40LjEuOC4zIDEuMS42LjMuMi42LjYuOC45LjIuNC4zLjkuMyAxLjQgMCAuNS0uMSAxLS4zIDEuNC0uMi40LS41LjgtLjkgMS4xLS40LjMtLjguNS0xLjMuNy0uNS4yLTEgLjMtMS41LjMtLjggMC0xLjYtLjEtMi4zLS40LS42LS4yLTEuMS0uNi0xLjYtMS0uMS0uMSAxLTEuNSAxLTEuNXpNOSAxNUg3di00SDN2NEgxVjVoMnY0aDRWNWgydjEweicsXG4gICAgNjogJ005IDE1SDd2LTRIM3Y0SDFWNWgydjRoNFY1aDJ2MTB6bTguNi03LjVjLS4yLS4yLS41LS40LS44LS41LS42LS4yLTEuMy0uMi0xLjkgMC0uMy4xLS42LjMtLjguNWwtLjYuOWMtLjIuNS0uMi45LS4yIDEuNC40LS4zLjgtLjYgMS4yLS44LjQtLjIuOC0uMyAxLjMtLjMuNCAwIC44IDAgMS4yLjIuNC4xLjcuMyAxIC42LjMuMy41LjYuNy45LjIuNC4zLjguMyAxLjNzLS4xLjktLjMgMS40Yy0uMi40LS41LjctLjggMS0uNC4zLS44LjUtMS4yLjYtMSAuMy0yIC4zLTMgMC0uNS0uMi0xLS41LTEuNC0uOS0uNC0uNC0uOC0uOS0xLTEuNS0uMi0uNi0uMy0xLjMtLjMtMi4xcy4xLTEuNi40LTIuM2MuMi0uNi42LTEuMiAxLTEuNi40LS40LjktLjcgMS40LS45LjYtLjMgMS4xLS40IDEuNy0uNC43IDAgMS40LjEgMiAuMy41LjIgMSAuNSAxLjQuOCAwIC4xLTEuMyAxLjQtMS4zIDEuNHptLTIuNCA1LjhjLjIgMCAuNCAwIC42LS4xLjIgMCAuNC0uMS41LS4yLjEtLjEuMy0uMy40LS41LjEtLjIuMS0uNS4xLS43IDAtLjQtLjEtLjgtLjQtMS4xLS4zLS4yLS43LS4zLTEuMS0uMy0uMyAwLS43LjEtMSAuMi0uNC4yLS43LjQtMSAuNyAwIC4zLjEuNy4zIDEgLjEuMi4zLjQuNC42LjIuMS4zLjMuNS4zLjIuMS41LjIuNy4xeidcbiAgfTtcblxuICBpZiAoIWxldmVsVG9QYXRoLmhhc093blByb3BlcnR5KGxldmVsKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuICgwLCBfZWxlbWVudC5jcmVhdGVFbGVtZW50KShfY29tcG9uZW50cy5TVkcsIHtcbiAgICB3aWR0aDogXCIyNFwiLFxuICAgIGhlaWdodDogXCIyNFwiLFxuICAgIHZpZXdCb3g6IFwiMCAwIDIwIDIwXCIsXG4gICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICBpc1ByZXNzZWQ6IGlzUHJlc3NlZFxuICB9LCAoMCwgX2VsZW1lbnQuY3JlYXRlRWxlbWVudCkoX2NvbXBvbmVudHMuUGF0aCwge1xuICAgIGQ6IGxldmVsVG9QYXRoW2xldmVsXVxuICB9KSk7XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkaW5nLWxldmVsLWljb24uanMubWFwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///113\n")}],[[107,0]]]);