Atomic Blocks – Gutenberg Blocks Collection - Version 1.3.6

Version Description

  • Update PanelColor component to PanelColorSettings.
Download this release

Release Info

Developer atomicblocks
Plugin Icon 128x128 Atomic Blocks – Gutenberg Blocks Collection
Version 1.3.6
Comparing to
See all releases

Code changes from version 1.3.5 to 1.3.6

README.md CHANGED
@@ -39,7 +39,6 @@ We've created a beautiful little WordPress theme to help you get started with th
39
  * [Visit the Atomic Blocks site](https://atomicblocks.com/?utm_source=WP.org%20AB%20Page&utm_campaign=wporg_ab_page)
40
  * [Subscribe to the newsletter](https://atomicblocks.com/subscribe?utm_source=WP.org%20AB%20Subscribe&utm_campaign=wporg_ab_subscribe)
41
  * [Follow on Twitter](https://twitter.com/atomicblocks)
42
- * [Visit Array Themes](https://arraythemes.com/?utm_source=WP.org%20Array%20Link&utm_campaign=wporg_array_link)
43
  * [Create-Guten-Block](https://github.com/ahmadawais/create-guten-block)
44
 
45
  ## Installation
@@ -74,6 +73,9 @@ Yes, you will need to install the [Gutenberg plugin](https://wordpress.org/plugi
74
 
75
  ## Changelog
76
 
 
 
 
77
  **1.3.5**
78
  * Fix button focus bug in Call To Action block.
79
  * Fix button focus bug in Button block.
39
  * [Visit the Atomic Blocks site](https://atomicblocks.com/?utm_source=WP.org%20AB%20Page&utm_campaign=wporg_ab_page)
40
  * [Subscribe to the newsletter](https://atomicblocks.com/subscribe?utm_source=WP.org%20AB%20Subscribe&utm_campaign=wporg_ab_subscribe)
41
  * [Follow on Twitter](https://twitter.com/atomicblocks)
 
42
  * [Create-Guten-Block](https://github.com/ahmadawais/create-guten-block)
43
 
44
  ## Installation
73
 
74
  ## Changelog
75
 
76
+ **1.3.6**
77
+ * Update PanelColor component to PanelColorSettings.
78
+
79
  **1.3.5**
80
  * Fix button focus bug in Call To Action block.
81
  * Fix button focus bug in Button block.
README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://atomicblocks.com
4
  Tags: gutenberg, blocks, page builder, gutenberg blocks, editor, atomicblocks, builder, wordpress 5.0, options
5
  Requires at least: 4.7
6
  Tested up to: 4.9.5
7
- Stable tag: 1.3.5
8
  Requires PHP: 5.2.4
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
@@ -52,7 +52,6 @@ We've created a beautiful little WordPress theme to help you get started with th
52
  * [Visit the Atomic Blocks site](https://atomicblocks.com/?utm_source=WP.org%20AB%20Page&utm_campaign=wporg_ab_page)
53
  * [Subscribe to the newsletter](https://atomicblocks.com/subscribe?utm_source=WP.org%20AB%20Subscribe&utm_campaign=wporg_ab_subscribe)
54
  * [Follow on Twitter](https://twitter.com/atomicblocks)
55
- * [Visit Array Themes](https://arraythemes.com/?utm_source=WP.org%20Array%20Link&utm_campaign=wporg_array_link)
56
  * [Create-Guten-Block](https://github.com/ahmadawais/create-guten-block)
57
 
58
  == Installation ==
@@ -96,6 +95,9 @@ Yes, you will need to install the [Gutenberg plugin](https://wordpress.org/plugi
96
 
97
  == Changelog ==
98
 
 
 
 
99
  = 1.3.5 =
100
  * Fix button focus bug in Call To Action block.
101
  * Fix button focus bug in Button block.
4
  Tags: gutenberg, blocks, page builder, gutenberg blocks, editor, atomicblocks, builder, wordpress 5.0, options
5
  Requires at least: 4.7
6
  Tested up to: 4.9.5
7
+ Stable tag: 1.3.6
8
  Requires PHP: 5.2.4
9
  License: GPLv2 or later
10
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
52
  * [Visit the Atomic Blocks site](https://atomicblocks.com/?utm_source=WP.org%20AB%20Page&utm_campaign=wporg_ab_page)
53
  * [Subscribe to the newsletter](https://atomicblocks.com/subscribe?utm_source=WP.org%20AB%20Subscribe&utm_campaign=wporg_ab_subscribe)
54
  * [Follow on Twitter](https://twitter.com/atomicblocks)
 
55
  * [Create-Guten-Block](https://github.com/ahmadawais/create-guten-block)
56
 
57
  == Installation ==
95
 
96
  == Changelog ==
97
 
98
+ = 1.3.6 =
99
+ * Update PanelColor component to PanelColorSettings.
100
+
101
  = 1.3.5 =
102
  * Fix button focus bug in Call To Action block.
103
  * Fix button focus bug in Button block.
atomicblocks.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: A beautiful collection of handy Gutenberg blocks to help you get started with the new WordPress editor.
6
  * Author: atomicblocks
7
  * Author URI: http://arraythemes.com
8
- * Version: 1.3.5
9
  * License: GPL2+
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
  *
5
  * Description: A beautiful collection of handy Gutenberg blocks to help you get started with the new WordPress editor.
6
  * Author: atomicblocks
7
  * Author URI: http://arraythemes.com
8
+ * Version: 1.3.6
9
  * License: GPL2+
10
  * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
11
  *
dist/blocks.build.js CHANGED
@@ -2237,7 +2237,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
2237
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2238
 
2239
  "use strict";
2240
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Cite Alignment Options\n\t\t\tvar citeAlignOptions = [{ value: 'left-aligned', label: __('Left Aligned') }, { value: 'right-aligned', label: __('Right Aligned') }];\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props = this.props,\n\t\t\t _props$attributes = _props.attributes,\n\t\t\t testimonialName = _props$attributes.testimonialName,\n\t\t\t testimonialTitle = _props$attributes.testimonialTitle,\n\t\t\t testimonialContent = _props$attributes.testimonialContent,\n\t\t\t testimonialAlignment = _props$attributes.testimonialAlignment,\n\t\t\t testimonialImgURL = _props$attributes.testimonialImgURL,\n\t\t\t testimonialImgID = _props$attributes.testimonialImgID,\n\t\t\t testimonialBackgroundColor = _props$attributes.testimonialBackgroundColor,\n\t\t\t testimonialTextColor = _props$attributes.testimonialTextColor,\n\t\t\t testimonialFontSize = _props$attributes.testimonialFontSize,\n\t\t\t testimonialCiteAlign = _props$attributes.testimonialCiteAlign,\n\t\t\t isSelected = _props.isSelected,\n\t\t\t className = _props.className,\n\t\t\t setAttributes = _props.setAttributes;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: testimonialFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ testimonialFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Cite Alignment'),\n\t\t\t\t\t\tdescription: __('Left or right align the cite name and title.'),\n\t\t\t\t\t\toptions: citeAlignOptions,\n\t\t\t\t\t\tvalue: testimonialCiteAlign,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ testimonialCiteAlign: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\t\tcolorValue: testimonialBackgroundColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Background Color'),\n\t\t\t\t\t\t\tvalue: testimonialBackgroundColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ testimonialBackgroundColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#00d1b2', name: 'teal' }, { color: '#3373dc', name: 'royal blue' }, { color: '#209cef', name: 'sky blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#392F43', name: 'black' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\t\tcolorValue: testimonialTextColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Text Color'),\n\t\t\t\t\t\t\tvalue: testimonialTextColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ testimonialTextColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#fff', name: 'white' }, { color: '#32373c', name: 'black' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTk2LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay10ZXN0aW1vbmlhbC9jb21wb25lbnRzL2luc3BlY3Rvci5qcz9mNjlmIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuLyoqXG4gKiBJbnNwZWN0b3IgQ29udHJvbHNcbiAqL1xuXG4vLyBTZXR1cCB0aGUgYmxvY2tcbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgQ29tcG9uZW50ID0gd3AuZWxlbWVudC5Db21wb25lbnQ7XG5cbi8vIEltcG9ydCBibG9jayBjb21wb25lbnRzXG5cbnZhciBfd3AkZWRpdG9yID0gd3AuZWRpdG9yLFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scyxcbiAgICBCbG9ja0Rlc2NyaXB0aW9uID0gX3dwJGVkaXRvci5CbG9ja0Rlc2NyaXB0aW9uLFxuICAgIENvbG9yUGFsZXR0ZSA9IF93cCRlZGl0b3IuQ29sb3JQYWxldHRlO1xuXG4vLyBJbXBvcnQgSW5zcGVjdG9yIGNvbXBvbmVudHNcblxudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBUb29sYmFyID0gX3dwJGNvbXBvbmVudHMuVG9vbGJhcixcbiAgICBCdXR0b24gPSBfd3AkY29tcG9uZW50cy5CdXR0b24sXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFBhbmVsUm93ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxSb3csXG4gICAgUGFuZWxDb2xvciA9IF93cCRjb21wb25lbnRzLlBhbmVsQ29sb3IsXG4gICAgRm9ybVRvZ2dsZSA9IF93cCRjb21wb25lbnRzLkZvcm1Ub2dnbGUsXG4gICAgUmFuZ2VDb250cm9sID0gX3dwJGNvbXBvbmVudHMuUmFuZ2VDb250cm9sLFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBJbnNwZWN0b3IgQ29udHJvbHMgd3JhcHBlciBDb21wb25lbnRcbiAqL1xuXG52YXIgSW5zcGVjdG9yID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKEluc3BlY3RvciwgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gSW5zcGVjdG9yKHByb3BzKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIEluc3BlY3Rvcik7XG5cblx0XHRyZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKEluc3BlY3Rvci5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKEluc3BlY3RvcikpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXHR9XG5cblx0X2NyZWF0ZUNsYXNzKEluc3BlY3RvciwgW3tcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3RoaXMyID0gdGhpcztcblxuXHRcdFx0Ly8gQ2l0ZSBBbGlnbm1lbnQgT3B0aW9uc1xuXHRcdFx0dmFyIGNpdGVBbGlnbk9wdGlvbnMgPSBbeyB2YWx1ZTogJ2xlZnQtYWxpZ25lZCcsIGxhYmVsOiBfXygnTGVmdCBBbGlnbmVkJykgfSwgeyB2YWx1ZTogJ3JpZ2h0LWFsaWduZWQnLCBsYWJlbDogX18oJ1JpZ2h0IEFsaWduZWQnKSB9XTtcblxuXHRcdFx0Ly8gU2V0dXAgdGhlIGF0dHJpYnV0ZXNcblx0XHRcdHZhciBfcHJvcHMgPSB0aGlzLnByb3BzLFxuXHRcdFx0ICAgIF9wcm9wcyRhdHRyaWJ1dGVzID0gX3Byb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgdGVzdGltb25pYWxOYW1lID0gX3Byb3BzJGF0dHJpYnV0ZXMudGVzdGltb25pYWxOYW1lLFxuXHRcdFx0ICAgIHRlc3RpbW9uaWFsVGl0bGUgPSBfcHJvcHMkYXR0cmlidXRlcy50ZXN0aW1vbmlhbFRpdGxlLFxuXHRcdFx0ICAgIHRlc3RpbW9uaWFsQ29udGVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRlc3RpbW9uaWFsQ29udGVudCxcblx0XHRcdCAgICB0ZXN0aW1vbmlhbEFsaWdubWVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRlc3RpbW9uaWFsQWxpZ25tZW50LFxuXHRcdFx0ICAgIHRlc3RpbW9uaWFsSW1nVVJMID0gX3Byb3BzJGF0dHJpYnV0ZXMudGVzdGltb25pYWxJbWdVUkwsXG5cdFx0XHQgICAgdGVzdGltb25pYWxJbWdJRCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRlc3RpbW9uaWFsSW1nSUQsXG5cdFx0XHQgICAgdGVzdGltb25pYWxCYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy50ZXN0aW1vbmlhbEJhY2tncm91bmRDb2xvcixcblx0XHRcdCAgICB0ZXN0aW1vbmlhbFRleHRDb2xvciA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRlc3RpbW9uaWFsVGV4dENvbG9yLFxuXHRcdFx0ICAgIHRlc3RpbW9uaWFsRm9udFNpemUgPSBfcHJvcHMkYXR0cmlidXRlcy50ZXN0aW1vbmlhbEZvbnRTaXplLFxuXHRcdFx0ICAgIHRlc3RpbW9uaWFsQ2l0ZUFsaWduID0gX3Byb3BzJGF0dHJpYnV0ZXMudGVzdGltb25pYWxDaXRlQWxpZ24sXG5cdFx0XHQgICAgaXNTZWxlY3RlZCA9IF9wcm9wcy5pc1NlbGVjdGVkLFxuXHRcdFx0ICAgIGNsYXNzTmFtZSA9IF9wcm9wcy5jbGFzc05hbWUsXG5cdFx0XHQgICAgc2V0QXR0cmlidXRlcyA9IF9wcm9wcy5zZXRBdHRyaWJ1dGVzO1xuXG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRm9udCBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogdGVzdGltb25pYWxGb250U2l6ZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyB0ZXN0aW1vbmlhbEZvbnRTaXplOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDE0LFxuXHRcdFx0XHRcdFx0bWF4OiAyNCxcblx0XHRcdFx0XHRcdHN0ZXA6IDFcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdDaXRlIEFsaWdubWVudCcpLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246IF9fKCdMZWZ0IG9yIHJpZ2h0IGFsaWduIHRoZSBjaXRlIG5hbWUgYW5kIHRpdGxlLicpLFxuXHRcdFx0XHRcdFx0b3B0aW9uczogY2l0ZUFsaWduT3B0aW9ucyxcblx0XHRcdFx0XHRcdHZhbHVlOiB0ZXN0aW1vbmlhbENpdGVBbGlnbixcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyB0ZXN0aW1vbmlhbENpdGVBbGlnbjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxDb2xvcixcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdCYWNrZ3JvdW5kIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGNvbG9yVmFsdWU6IHRlc3RpbW9uaWFsQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQmFja2dyb3VuZCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGVzdGltb25pYWxCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHRlc3RpbW9uaWFsQmFja2dyb3VuZENvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0Y29sb3JzOiBbeyBjb2xvcjogJyMwMGQxYjInLCBuYW1lOiAndGVhbCcgfSwgeyBjb2xvcjogJyMzMzczZGMnLCBuYW1lOiAncm95YWwgYmx1ZScgfSwgeyBjb2xvcjogJyMyMDljZWYnLCBuYW1lOiAnc2t5IGJsdWUnIH0sIHsgY29sb3I6ICcjMjJkMjVmJywgbmFtZTogJ2dyZWVuJyB9LCB7IGNvbG9yOiAnI2ZmZGQ1NycsIG5hbWU6ICd5ZWxsb3cnIH0sIHsgY29sb3I6ICcjZmYzODYwJywgbmFtZTogJ3BpbmsnIH0sIHsgY29sb3I6ICcjNzk0MWI2JywgbmFtZTogJ3B1cnBsZScgfSwgeyBjb2xvcjogJyMzOTJGNDMnLCBuYW1lOiAnYmxhY2snIH1dXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxDb2xvcixcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdUZXh0IENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGNvbG9yVmFsdWU6IHRlc3RpbW9uaWFsVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVGV4dCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogdGVzdGltb25pYWxUZXh0Q29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHRlc3RpbW9uaWFsVGV4dENvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0Y29sb3JzOiBbeyBjb2xvcjogJyNmZmYnLCBuYW1lOiAnd2hpdGUnIH0sIHsgY29sb3I6ICcjMzIzNzNjJywgbmFtZTogJ2JsYWNrJyB9XVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdClcblx0XHRcdCk7XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIEluc3BlY3Rvcjtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IGRlZmF1bHQgSW5zcGVjdG9yO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2Nrcy9ibG9jay10ZXN0aW1vbmlhbC9jb21wb25lbnRzL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gMTk2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///196\n");
2241
 
2242
  /***/ }),
2243
  /* 197 */
@@ -2326,7 +2326,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
2326
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2327
 
2328
  "use strict";
2329
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Panel = _wp$components.Panel,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n TextControl = _wp$components.TextControl;\n\n// Create an Inspector Controls wrapper Component\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t profileName = _props$attributes.profileName,\n\t\t\t profileTitle = _props$attributes.profileTitle,\n\t\t\t profileContent = _props$attributes.profileContent,\n\t\t\t profileAlignment = _props$attributes.profileAlignment,\n\t\t\t profileImgURL = _props$attributes.profileImgURL,\n\t\t\t profileImgID = _props$attributes.profileImgID,\n\t\t\t profileFontSize = _props$attributes.profileFontSize,\n\t\t\t profileBackgroundColor = _props$attributes.profileBackgroundColor,\n\t\t\t profileTextColor = _props$attributes.profileTextColor,\n\t\t\t profileLinkColor = _props$attributes.profileLinkColor,\n\t\t\t twitter = _props$attributes.twitter,\n\t\t\t facebook = _props$attributes.facebook,\n\t\t\t instagram = _props$attributes.instagram,\n\t\t\t pinterest = _props$attributes.pinterest,\n\t\t\t google = _props$attributes.google,\n\t\t\t youtube = _props$attributes.youtube,\n\t\t\t github = _props$attributes.github,\n\t\t\t email = _props$attributes.email,\n\t\t\t website = _props$attributes.website,\n\t\t\t profileAvatarShape = _props$attributes.profileAvatarShape;\n\n\t\t\t// Avatar shape options\n\n\t\t\tvar profileAvatarShapeOptions = [{ value: 'square', label: __('Square') }, { value: 'round', label: __('Round') }];\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: profileFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ profileFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Avatar Shape'),\n\t\t\t\t\t\tdescription: __('Choose between a round or square avatar shape.'),\n\t\t\t\t\t\toptions: profileAvatarShapeOptions,\n\t\t\t\t\t\tvalue: profileAvatarShape,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ profileAvatarShape: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\t\tcolorValue: profileBackgroundColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Background Color'),\n\t\t\t\t\t\t\tvalue: profileBackgroundColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ profileBackgroundColor: value });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\t\tcolorValue: profileTextColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Background Color'),\n\t\t\t\t\t\t\tvalue: profileTextColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ profileTextColor: value });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Social Link Color'),\n\t\t\t\t\t\t\tcolorValue: profileLinkColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Link Color'),\n\t\t\t\t\t\t\tvalue: profileLinkColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ profileLinkColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#392F43', name: 'black' }, { color: '#3373dc', name: 'royal blue' }, { color: '#2DBAA3', name: 'teal' }, { color: '#209cef', name: 'sky blue' }, { color: '#2BAD59', name: 'green' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#F7812B', name: 'orange' }]\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\tPanelBody,\n\t\t\t\t\t{ title: __('Social Links'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t__('Add links to your social media site and they will appear in the bottom of the profile box.')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Twitter URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: twitter,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ twitter: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Facebook URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: facebook,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ facebook: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Instagram URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: instagram,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ instagram: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Pinterest URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: pinterest,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ pinterest: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Google URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: google,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ google: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('YouTube URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: youtube,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ youtube: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Github URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: github,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ github: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Email URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: email,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ email: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Website URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: website,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ website: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjA0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1hdXRob3ItcHJvZmlsZS9jb21wb25lbnRzL2luc3BlY3Rvci5qcz9mMWJkIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuLyoqXG4gKiBJbnNwZWN0b3IgQ29udHJvbHNcbiAqL1xuXG4vLyBTZXR1cCB0aGUgYmxvY2tcbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgQ29tcG9uZW50ID0gd3AuZWxlbWVudC5Db21wb25lbnQ7XG5cbi8vIEltcG9ydCBibG9jayBjb21wb25lbnRzXG5cbnZhciBfd3AkZWRpdG9yID0gd3AuZWRpdG9yLFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scyxcbiAgICBCbG9ja0Rlc2NyaXB0aW9uID0gX3dwJGVkaXRvci5CbG9ja0Rlc2NyaXB0aW9uLFxuICAgIENvbG9yUGFsZXR0ZSA9IF93cCRlZGl0b3IuQ29sb3JQYWxldHRlO1xuXG4vLyBJbXBvcnQgSW5zcGVjdG9yIGNvbXBvbmVudHNcblxudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbCA9IF93cCRjb21wb25lbnRzLlBhbmVsLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFBhbmVsQ29sb3IgPSBfd3AkY29tcG9uZW50cy5QYW5lbENvbG9yLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbCxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sO1xuXG4vLyBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG5cbnZhciBJbnNwZWN0b3IgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoSW5zcGVjdG9yLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBJbnNwZWN0b3IocHJvcHMpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgSW5zcGVjdG9yKTtcblxuXHRcdHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW5zcGVjdG9yKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoSW5zcGVjdG9yLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIHByb2ZpbGVOYW1lID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZU5hbWUsXG5cdFx0XHQgICAgcHJvZmlsZVRpdGxlID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZVRpdGxlLFxuXHRcdFx0ICAgIHByb2ZpbGVDb250ZW50ID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUNvbnRlbnQsXG5cdFx0XHQgICAgcHJvZmlsZUFsaWdubWVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVBbGlnbm1lbnQsXG5cdFx0XHQgICAgcHJvZmlsZUltZ1VSTCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVJbWdVUkwsXG5cdFx0XHQgICAgcHJvZmlsZUltZ0lEID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUltZ0lELFxuXHRcdFx0ICAgIHByb2ZpbGVGb250U2l6ZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVGb250U2l6ZSxcblx0XHRcdCAgICBwcm9maWxlQmFja2dyb3VuZENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUJhY2tncm91bmRDb2xvcixcblx0XHRcdCAgICBwcm9maWxlVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZVRleHRDb2xvcixcblx0XHRcdCAgICBwcm9maWxlTGlua0NvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUxpbmtDb2xvcixcblx0XHRcdCAgICB0d2l0dGVyID0gX3Byb3BzJGF0dHJpYnV0ZXMudHdpdHRlcixcblx0XHRcdCAgICBmYWNlYm9vayA9IF9wcm9wcyRhdHRyaWJ1dGVzLmZhY2Vib29rLFxuXHRcdFx0ICAgIGluc3RhZ3JhbSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmluc3RhZ3JhbSxcblx0XHRcdCAgICBwaW50ZXJlc3QgPSBfcHJvcHMkYXR0cmlidXRlcy5waW50ZXJlc3QsXG5cdFx0XHQgICAgZ29vZ2xlID0gX3Byb3BzJGF0dHJpYnV0ZXMuZ29vZ2xlLFxuXHRcdFx0ICAgIHlvdXR1YmUgPSBfcHJvcHMkYXR0cmlidXRlcy55b3V0dWJlLFxuXHRcdFx0ICAgIGdpdGh1YiA9IF9wcm9wcyRhdHRyaWJ1dGVzLmdpdGh1Yixcblx0XHRcdCAgICBlbWFpbCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmVtYWlsLFxuXHRcdFx0ICAgIHdlYnNpdGUgPSBfcHJvcHMkYXR0cmlidXRlcy53ZWJzaXRlLFxuXHRcdFx0ICAgIHByb2ZpbGVBdmF0YXJTaGFwZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVBdmF0YXJTaGFwZTtcblxuXHRcdFx0Ly8gQXZhdGFyIHNoYXBlIG9wdGlvbnNcblxuXHRcdFx0dmFyIHByb2ZpbGVBdmF0YXJTaGFwZU9wdGlvbnMgPSBbeyB2YWx1ZTogJ3NxdWFyZScsIGxhYmVsOiBfXygnU3F1YXJlJykgfSwgeyB2YWx1ZTogJ3JvdW5kJywgbGFiZWw6IF9fKCdSb3VuZCcpIH1dO1xuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRJbnNwZWN0b3JDb250cm9scyxcblx0XHRcdFx0eyBrZXk6ICdpbnNwZWN0b3InIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ZvbnQgU2l6ZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IHByb2ZpbGVGb250U2l6ZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBwcm9maWxlRm9udFNpemU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMTQsXG5cdFx0XHRcdFx0XHRtYXg6IDI0LFxuXHRcdFx0XHRcdFx0c3RlcDogMVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0F2YXRhciBTaGFwZScpLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246IF9fKCdDaG9vc2UgYmV0d2VlbiBhIHJvdW5kIG9yIHNxdWFyZSBhdmF0YXIgc2hhcGUuJyksXG5cdFx0XHRcdFx0XHRvcHRpb25zOiBwcm9maWxlQXZhdGFyU2hhcGVPcHRpb25zLFxuXHRcdFx0XHRcdFx0dmFsdWU6IHByb2ZpbGVBdmF0YXJTaGFwZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBwcm9maWxlQXZhdGFyU2hhcGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQmFja2dyb3VuZCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHRjb2xvclZhbHVlOiBwcm9maWxlQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQmFja2dyb3VuZCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogcHJvZmlsZUJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgcHJvZmlsZUJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbENvbG9yLFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ1RleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogcHJvZmlsZVRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGFsZXR0ZSwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0JhY2tncm91bmQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHByb2ZpbGVUZXh0Q29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHByb2ZpbGVUZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxDb2xvcixcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdTb2NpYWwgTGluayBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHRjb2xvclZhbHVlOiBwcm9maWxlTGlua0NvbG9yLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnTGluayBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogcHJvZmlsZUxpbmtDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgcHJvZmlsZUxpbmtDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGNvbG9yczogW3sgY29sb3I6ICcjMzkyRjQzJywgbmFtZTogJ2JsYWNrJyB9LCB7IGNvbG9yOiAnIzMzNzNkYycsIG5hbWU6ICdyb3lhbCBibHVlJyB9LCB7IGNvbG9yOiAnIzJEQkFBMycsIG5hbWU6ICd0ZWFsJyB9LCB7IGNvbG9yOiAnIzIwOWNlZicsIG5hbWU6ICdza3kgYmx1ZScgfSwgeyBjb2xvcjogJyMyQkFENTknLCBuYW1lOiAnZ3JlZW4nIH0sIHsgY29sb3I6ICcjZmYzODYwJywgbmFtZTogJ3BpbmsnIH0sIHsgY29sb3I6ICcjNzk0MWI2JywgbmFtZTogJ3B1cnBsZScgfSwgeyBjb2xvcjogJyNGNzgxMkInLCBuYW1lOiAnb3JhbmdlJyB9XVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0eyB0aXRsZTogX18oJ1NvY2lhbCBMaW5rcycpLCBpbml0aWFsT3BlbjogZmFsc2UgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQncCcsXG5cdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0X18oJ0FkZCBsaW5rcyB0byB5b3VyIHNvY2lhbCBtZWRpYSBzaXRlIGFuZCB0aGV5IHdpbGwgYXBwZWFyIGluIHRoZSBib3R0b20gb2YgdGhlIHByb2ZpbGUgYm94LicpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVHdpdHRlciBVUkwnKSxcblx0XHRcdFx0XHRcdHR5cGU6ICd1cmwnLFxuXHRcdFx0XHRcdFx0dmFsdWU6IHR3aXR0ZXIsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgdHdpdHRlcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ZhY2Vib29rIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogZmFjZWJvb2ssXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgZmFjZWJvb2s6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdJbnN0YWdyYW0gVVJMJyksXG5cdFx0XHRcdFx0XHR0eXBlOiAndXJsJyxcblx0XHRcdFx0XHRcdHZhbHVlOiBpbnN0YWdyYW0sXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgaW5zdGFncmFtOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUGludGVyZXN0IFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogcGludGVyZXN0LFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHBpbnRlcmVzdDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0dvb2dsZSBVUkwnKSxcblx0XHRcdFx0XHRcdHR5cGU6ICd1cmwnLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGdvb2dsZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBnb29nbGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdZb3VUdWJlIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogeW91dHViZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyB5b3V0dWJlOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnR2l0aHViIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogZ2l0aHViLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGdpdGh1YjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0VtYWlsIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogZW1haWwsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgZW1haWw6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdXZWJzaXRlIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogd2Vic2l0ZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyB3ZWJzaXRlOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stYXV0aG9yLXByb2ZpbGUvY29tcG9uZW50cy9pbnNwZWN0b3IuanNcbi8vIG1vZHVsZSBpZCA9IDIwNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///204\n");
2330
 
2331
  /***/ }),
2332
  /* 205 */
@@ -2405,7 +2405,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
2405
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2406
 
2407
  "use strict";
2408
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n InspectorControls = _wp$editor.InspectorControls;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Notice dismiss options\n\t\t\tvar noticeDismissOptions = [{ value: null, label: __('Always Show') }, { value: 'ab-dismissable', label: __('Dismissable') }];\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t noticeTitle = _props$attributes.noticeTitle,\n\t\t\t noticeContent = _props$attributes.noticeContent,\n\t\t\t noticeAlignment = _props$attributes.noticeAlignment,\n\t\t\t noticeBackgroundColor = _props$attributes.noticeBackgroundColor,\n\t\t\t noticeTextColor = _props$attributes.noticeTextColor,\n\t\t\t noticeTitleColor = _props$attributes.noticeTitleColor,\n\t\t\t noticeFontSize = _props$attributes.noticeFontSize,\n\t\t\t noticeDismiss = _props$attributes.noticeDismiss;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: noticeFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ noticeFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Notice Display'),\n\t\t\t\t\t\tdescription: __('Do you want the message to always show or dismissable?'),\n\t\t\t\t\t\toptions: noticeDismissOptions,\n\t\t\t\t\t\tvalue: noticeDismiss,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ noticeDismiss: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Notice Color'),\n\t\t\t\t\t\t\tcolorValue: noticeBackgroundColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Notice Color'),\n\t\t\t\t\t\t\tvalue: noticeBackgroundColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ noticeBackgroundColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#00d1b2', name: 'teal' }, { color: '#3373dc', name: 'royal blue' }, { color: '#209cef', name: 'sky blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#392F43', name: 'black' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Title Color'),\n\t\t\t\t\t\t\tcolorValue: noticeTitleColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Title Color'),\n\t\t\t\t\t\t\tvalue: noticeTitleColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ noticeTitleColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#fff', name: 'white' }, { color: '#32373c', name: 'black' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\t\tcolorValue: noticeTextColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Background Color'),\n\t\t\t\t\t\t\tvalue: noticeTextColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ noticeTextColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#fff', name: 'white' }, { color: '#32373c', name: 'black' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjExLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1ub3RpY2UvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/NTQ3YiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBCbG9ja0Rlc2NyaXB0aW9uID0gX3dwJGVkaXRvci5CbG9ja0Rlc2NyaXB0aW9uLFxuICAgIENvbG9yUGFsZXR0ZSA9IF93cCRlZGl0b3IuQ29sb3JQYWxldHRlLFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFBhbmVsQ29sb3IgPSBfd3AkY29tcG9uZW50cy5QYW5lbENvbG9yLFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIE5vdGljZSBkaXNtaXNzIG9wdGlvbnNcblx0XHRcdHZhciBub3RpY2VEaXNtaXNzT3B0aW9ucyA9IFt7IHZhbHVlOiBudWxsLCBsYWJlbDogX18oJ0Fsd2F5cyBTaG93JykgfSwgeyB2YWx1ZTogJ2FiLWRpc21pc3NhYmxlJywgbGFiZWw6IF9fKCdEaXNtaXNzYWJsZScpIH1dO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIG5vdGljZVRpdGxlID0gX3Byb3BzJGF0dHJpYnV0ZXMubm90aWNlVGl0bGUsXG5cdFx0XHQgICAgbm90aWNlQ29udGVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLm5vdGljZUNvbnRlbnQsXG5cdFx0XHQgICAgbm90aWNlQWxpZ25tZW50ID0gX3Byb3BzJGF0dHJpYnV0ZXMubm90aWNlQWxpZ25tZW50LFxuXHRcdFx0ICAgIG5vdGljZUJhY2tncm91bmRDb2xvciA9IF9wcm9wcyRhdHRyaWJ1dGVzLm5vdGljZUJhY2tncm91bmRDb2xvcixcblx0XHRcdCAgICBub3RpY2VUZXh0Q29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5ub3RpY2VUZXh0Q29sb3IsXG5cdFx0XHQgICAgbm90aWNlVGl0bGVDb2xvciA9IF9wcm9wcyRhdHRyaWJ1dGVzLm5vdGljZVRpdGxlQ29sb3IsXG5cdFx0XHQgICAgbm90aWNlRm9udFNpemUgPSBfcHJvcHMkYXR0cmlidXRlcy5ub3RpY2VGb250U2l6ZSxcblx0XHRcdCAgICBub3RpY2VEaXNtaXNzID0gX3Byb3BzJGF0dHJpYnV0ZXMubm90aWNlRGlzbWlzcztcblxuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRJbnNwZWN0b3JDb250cm9scyxcblx0XHRcdFx0eyBrZXk6ICdpbnNwZWN0b3InIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ZvbnQgU2l6ZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IG5vdGljZUZvbnRTaXplLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IG5vdGljZUZvbnRTaXplOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDE0LFxuXHRcdFx0XHRcdFx0bWF4OiAyNCxcblx0XHRcdFx0XHRcdHN0ZXA6IDFcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdOb3RpY2UgRGlzcGxheScpLFxuXHRcdFx0XHRcdFx0ZGVzY3JpcHRpb246IF9fKCdEbyB5b3Ugd2FudCB0aGUgbWVzc2FnZSB0byBhbHdheXMgc2hvdyBvciBkaXNtaXNzYWJsZT8nKSxcblx0XHRcdFx0XHRcdG9wdGlvbnM6IG5vdGljZURpc21pc3NPcHRpb25zLFxuXHRcdFx0XHRcdFx0dmFsdWU6IG5vdGljZURpc21pc3MsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgbm90aWNlRGlzbWlzczogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxDb2xvcixcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdOb3RpY2UgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogbm90aWNlQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnTm90aWNlIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBub3RpY2VCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IG5vdGljZUJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGNvbG9yczogW3sgY29sb3I6ICcjMDBkMWIyJywgbmFtZTogJ3RlYWwnIH0sIHsgY29sb3I6ICcjMzM3M2RjJywgbmFtZTogJ3JveWFsIGJsdWUnIH0sIHsgY29sb3I6ICcjMjA5Y2VmJywgbmFtZTogJ3NreSBibHVlJyB9LCB7IGNvbG9yOiAnIzIyZDI1ZicsIG5hbWU6ICdncmVlbicgfSwgeyBjb2xvcjogJyNmZmRkNTcnLCBuYW1lOiAneWVsbG93JyB9LCB7IGNvbG9yOiAnI2ZmMzg2MCcsIG5hbWU6ICdwaW5rJyB9LCB7IGNvbG9yOiAnIzc5NDFiNicsIG5hbWU6ICdwdXJwbGUnIH0sIHsgY29sb3I6ICcjMzkyRjQzJywgbmFtZTogJ2JsYWNrJyB9XVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnVGl0bGUgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogbm90aWNlVGl0bGVDb2xvcixcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGFsZXR0ZSwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RpdGxlIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBub3RpY2VUaXRsZUNvbG9yLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBub3RpY2VUaXRsZUNvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0Y29sb3JzOiBbeyBjb2xvcjogJyNmZmYnLCBuYW1lOiAnd2hpdGUnIH0sIHsgY29sb3I6ICcjMzIzNzNjJywgbmFtZTogJ2JsYWNrJyB9XVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnVGV4dCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHRjb2xvclZhbHVlOiBub3RpY2VUZXh0Q29sb3IsXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChDb2xvclBhbGV0dGUsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCYWNrZ3JvdW5kIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBub3RpY2VUZXh0Q29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IG5vdGljZVRleHRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGNvbG9yczogW3sgY29sb3I6ICcjZmZmJywgbmFtZTogJ3doaXRlJyB9LCB7IGNvbG9yOiAnIzMyMzczYycsIG5hbWU6ICdibGFjaycgfV1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stbm90aWNlL2NvbXBvbmVudHMvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAyMTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///211\n");
2409
 
2410
  /***/ }),
2411
  /* 212 */
@@ -2550,7 +2550,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
2550
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2551
 
2552
  "use strict";
2553
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t buttonText = _props$attributes.buttonText,\n\t\t\t buttonUrl = _props$attributes.buttonUrl,\n\t\t\t buttonAlignment = _props$attributes.buttonAlignment,\n\t\t\t buttonBackgroundColor = _props$attributes.buttonBackgroundColor,\n\t\t\t buttonTextColor = _props$attributes.buttonTextColor,\n\t\t\t buttonSize = _props$attributes.buttonSize,\n\t\t\t buttonShape = _props$attributes.buttonShape,\n\t\t\t buttonTarget = _props$attributes.buttonTarget;\n\n\t\t\t// Button size values\n\n\t\t\tvar buttonSizeOptions = [{ value: 'ab-button-size-small', label: __('Small') }, { value: 'ab-button-size-medium', label: __('Medium') }, { value: 'ab-button-size-large', label: __('Large') }, { value: 'ab-button-size-extralarge', label: __('Extra Large') }];\n\n\t\t\t// Button shape\n\t\t\tvar buttonShapeOptions = [{ value: 'ab-button-shape-square', label: __('Square') }, { value: 'ab-button-shape-rounded', label: __('Rounded Square') }, { value: 'ab-button-shape-circular', label: __('Circular') }];\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Open link in new window'),\n\t\t\t\t\t\tchecked: buttonTarget,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ buttonTarget: !buttonTarget });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Size'),\n\t\t\t\t\t\tvalue: buttonSize,\n\t\t\t\t\t\toptions: buttonSizeOptions.map(function (_ref) {\n\t\t\t\t\t\t\tvar value = _ref.value,\n\t\t\t\t\t\t\t label = _ref.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonSize: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Shape'),\n\t\t\t\t\t\tvalue: buttonShape,\n\t\t\t\t\t\toptions: buttonShapeOptions.map(function (_ref2) {\n\t\t\t\t\t\t\tvar value = _ref2.value,\n\t\t\t\t\t\t\t label = _ref2.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonShape: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Button Color'),\n\t\t\t\t\t\t\tcolorValue: buttonBackgroundColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Button Color'),\n\t\t\t\t\t\t\tvalue: buttonBackgroundColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonBackgroundColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#00d1b2', name: 'teal' }, { color: '#3373dc', name: 'royal blue' }, { color: '#209cef', name: 'sky blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#392F43', name: 'black' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Button Text Color'),\n\t\t\t\t\t\t\tcolorValue: buttonTextColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Button Text Color'),\n\t\t\t\t\t\t\tvalue: buttonTextColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonTextColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#fff', name: 'white' }, { color: '#32373c', name: 'black' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjI0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1idXR0b24vY29tcG9uZW50cy9pbnNwZWN0b3IuanM/ZTFiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZTtcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFBhbmVsQ29sb3IgPSBfd3AkY29tcG9uZW50cy5QYW5lbENvbG9yLFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIFNldHVwIHRoZSBhdHRyaWJ1dGVzXG5cdFx0XHR2YXIgX3Byb3BzJGF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgYnV0dG9uVGV4dCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblRleHQsXG5cdFx0XHQgICAgYnV0dG9uVXJsID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uVXJsLFxuXHRcdFx0ICAgIGJ1dHRvbkFsaWdubWVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvbkFsaWdubWVudCxcblx0XHRcdCAgICBidXR0b25CYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25CYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHQgICAgYnV0dG9uVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uVGV4dENvbG9yLFxuXHRcdFx0ICAgIGJ1dHRvblNpemUgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25TaXplLFxuXHRcdFx0ICAgIGJ1dHRvblNoYXBlID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uU2hhcGUsXG5cdFx0XHQgICAgYnV0dG9uVGFyZ2V0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uVGFyZ2V0O1xuXG5cdFx0XHQvLyBCdXR0b24gc2l6ZSB2YWx1ZXNcblxuXHRcdFx0dmFyIGJ1dHRvblNpemVPcHRpb25zID0gW3sgdmFsdWU6ICdhYi1idXR0b24tc2l6ZS1zbWFsbCcsIGxhYmVsOiBfXygnU21hbGwnKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNpemUtbWVkaXVtJywgbGFiZWw6IF9fKCdNZWRpdW0nKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNpemUtbGFyZ2UnLCBsYWJlbDogX18oJ0xhcmdlJykgfSwgeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaXplLWV4dHJhbGFyZ2UnLCBsYWJlbDogX18oJ0V4dHJhIExhcmdlJykgfV07XG5cblx0XHRcdC8vIEJ1dHRvbiBzaGFwZVxuXHRcdFx0dmFyIGJ1dHRvblNoYXBlT3B0aW9ucyA9IFt7IHZhbHVlOiAnYWItYnV0dG9uLXNoYXBlLXNxdWFyZScsIGxhYmVsOiBfXygnU3F1YXJlJykgfSwgeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaGFwZS1yb3VuZGVkJywgbGFiZWw6IF9fKCdSb3VuZGVkIFNxdWFyZScpIH0sIHsgdmFsdWU6ICdhYi1idXR0b24tc2hhcGUtY2lyY3VsYXInLCBsYWJlbDogX18oJ0NpcmN1bGFyJykgfV07XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gbGluayBpbiBuZXcgd2luZG93JyksXG5cdFx0XHRcdFx0XHRjaGVja2VkOiBidXR0b25UYXJnZXQsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGJ1dHRvblRhcmdldDogIWJ1dHRvblRhcmdldCB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCdXR0b24gU2l6ZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGJ1dHRvblNpemUsXG5cdFx0XHRcdFx0XHRvcHRpb25zOiBidXR0b25TaXplT3B0aW9ucy5tYXAoZnVuY3Rpb24gKF9yZWYpIHtcblx0XHRcdFx0XHRcdFx0dmFyIHZhbHVlID0gX3JlZi52YWx1ZSxcblx0XHRcdFx0XHRcdFx0ICAgIGxhYmVsID0gX3JlZi5sYWJlbDtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IGxhYmVsXG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGJ1dHRvblNpemU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBTaGFwZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGJ1dHRvblNoYXBlLFxuXHRcdFx0XHRcdFx0b3B0aW9uczogYnV0dG9uU2hhcGVPcHRpb25zLm1hcChmdW5jdGlvbiAoX3JlZjIpIHtcblx0XHRcdFx0XHRcdFx0dmFyIHZhbHVlID0gX3JlZjIudmFsdWUsXG5cdFx0XHRcdFx0XHRcdCAgICBsYWJlbCA9IF9yZWYyLmxhYmVsO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogbGFiZWxcblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYnV0dG9uU2hhcGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQnV0dG9uIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGNvbG9yVmFsdWU6IGJ1dHRvbkJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGFsZXR0ZSwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGJ1dHRvbkJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGNvbG9yczogW3sgY29sb3I6ICcjMDBkMWIyJywgbmFtZTogJ3RlYWwnIH0sIHsgY29sb3I6ICcjMzM3M2RjJywgbmFtZTogJ3JveWFsIGJsdWUnIH0sIHsgY29sb3I6ICcjMjA5Y2VmJywgbmFtZTogJ3NreSBibHVlJyB9LCB7IGNvbG9yOiAnIzIyZDI1ZicsIG5hbWU6ICdncmVlbicgfSwgeyBjb2xvcjogJyNmZmRkNTcnLCBuYW1lOiAneWVsbG93JyB9LCB7IGNvbG9yOiAnI2ZmMzg2MCcsIG5hbWU6ICdwaW5rJyB9LCB7IGNvbG9yOiAnIzc5NDFiNicsIG5hbWU6ICdwdXJwbGUnIH0sIHsgY29sb3I6ICcjMzkyRjQzJywgbmFtZTogJ2JsYWNrJyB9XVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQnV0dG9uIFRleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogYnV0dG9uVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQnV0dG9uIFRleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGJ1dHRvblRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBidXR0b25UZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRjb2xvcnM6IFt7IGNvbG9yOiAnI2ZmZicsIG5hbWU6ICd3aGl0ZScgfSwgeyBjb2xvcjogJyMzMjM3M2MnLCBuYW1lOiAnYmxhY2snIH1dXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gSW5zcGVjdG9yO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCBJbnNwZWN0b3I7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2Jsb2NrLWJ1dHRvbi9jb21wb25lbnRzL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gMjI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///224\n");
2554
 
2555
  /***/ }),
2556
  /* 225 */
@@ -2616,7 +2616,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
2616
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2617
 
2618
  "use strict";
2619
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n RangeControl = _wp$components.RangeControl,\n ToggleControl = _wp$components.ToggleControl,\n SelectControl = _wp$components.SelectControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t spacerHeight = _props$attributes.spacerHeight,\n\t\t\t spacerDivider = _props$attributes.spacerDivider,\n\t\t\t spacerDividerStyle = _props$attributes.spacerDividerStyle,\n\t\t\t spacerDividerColor = _props$attributes.spacerDividerColor,\n\t\t\t spacerDividerHeight = _props$attributes.spacerDividerHeight;\n\n\t\t\t// Button size values\n\n\t\t\tvar spacerStyleOptions = [{ value: 'ab-divider-solid', label: __('Solid') }, { value: 'ab-divider-dashed', label: __('Dashed') }, { value: 'ab-divider-dotted', label: __('Dotted') }];\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Spacer Height'),\n\t\t\t\t\t\tvalue: spacerHeight || '',\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ spacerHeight: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 50,\n\t\t\t\t\t\tmax: 600\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Add Divider'),\n\t\t\t\t\t\tchecked: spacerDivider,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ spacerDivider: !spacerDivider });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tspacerDivider ? wp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\tlabel: __('Divider Style'),\n\t\t\t\t\t\t\tvalue: spacerDividerStyle,\n\t\t\t\t\t\t\toptions: spacerStyleOptions.map(function (_ref) {\n\t\t\t\t\t\t\t\tvar value = _ref.value,\n\t\t\t\t\t\t\t\t label = _ref.label;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t_this2.props.setAttributes({ spacerDividerStyle: value });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\t\tlabel: __('Divider Height'),\n\t\t\t\t\t\t\tvalue: spacerDividerHeight || '',\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ spacerDividerHeight: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\t\tmax: 5\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: __('Divider Color'),\n\t\t\t\t\t\t\t\tcolorValue: spacerDividerColor,\n\t\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\t\tlabel: __('Divider Color'),\n\t\t\t\t\t\t\t\tvalue: spacerDividerColor,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t_this2.props.setAttributes({ spacerDividerColor: value });\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tcolors: [{ color: '#ddd', name: 'white' }, { color: '#333', name: 'black' }, { color: '#3373dc', name: 'royal blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }]\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t) : null\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1zcGFjZXIvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/OWQyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZTtcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFBhbmVsQ29sb3IgPSBfd3AkY29tcG9uZW50cy5QYW5lbENvbG9yLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIFNldHVwIHRoZSBhdHRyaWJ1dGVzXG5cdFx0XHR2YXIgX3Byb3BzJGF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgc3BhY2VySGVpZ2h0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuc3BhY2VySGVpZ2h0LFxuXHRcdFx0ICAgIHNwYWNlckRpdmlkZXIgPSBfcHJvcHMkYXR0cmlidXRlcy5zcGFjZXJEaXZpZGVyLFxuXHRcdFx0ICAgIHNwYWNlckRpdmlkZXJTdHlsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnNwYWNlckRpdmlkZXJTdHlsZSxcblx0XHRcdCAgICBzcGFjZXJEaXZpZGVyQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5zcGFjZXJEaXZpZGVyQ29sb3IsXG5cdFx0XHQgICAgc3BhY2VyRGl2aWRlckhlaWdodCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnNwYWNlckRpdmlkZXJIZWlnaHQ7XG5cblx0XHRcdC8vIEJ1dHRvbiBzaXplIHZhbHVlc1xuXG5cdFx0XHR2YXIgc3BhY2VyU3R5bGVPcHRpb25zID0gW3sgdmFsdWU6ICdhYi1kaXZpZGVyLXNvbGlkJywgbGFiZWw6IF9fKCdTb2xpZCcpIH0sIHsgdmFsdWU6ICdhYi1kaXZpZGVyLWRhc2hlZCcsIGxhYmVsOiBfXygnRGFzaGVkJykgfSwgeyB2YWx1ZTogJ2FiLWRpdmlkZXItZG90dGVkJywgbGFiZWw6IF9fKCdEb3R0ZWQnKSB9XTtcblxuXHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0XHRcdHsga2V5OiAnaW5zcGVjdG9yJyB9LFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdTcGFjZXIgSGVpZ2h0JyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogc3BhY2VySGVpZ2h0IHx8ICcnLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHNwYWNlckhlaWdodDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiA1MCxcblx0XHRcdFx0XHRcdG1heDogNjAwXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQWRkIERpdmlkZXInKSxcblx0XHRcdFx0XHRcdGNoZWNrZWQ6IHNwYWNlckRpdmlkZXIsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHNwYWNlckRpdmlkZXI6ICFzcGFjZXJEaXZpZGVyIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHNwYWNlckRpdmlkZXIgPyB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdEaXZpZGVyIFN0eWxlJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBzcGFjZXJEaXZpZGVyU3R5bGUsXG5cdFx0XHRcdFx0XHRcdG9wdGlvbnM6IHNwYWNlclN0eWxlT3B0aW9ucy5tYXAoZnVuY3Rpb24gKF9yZWYpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgdmFsdWUgPSBfcmVmLnZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdCAgICBsYWJlbCA9IF9yZWYubGFiZWw7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBsYWJlbFxuXHRcdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHNwYWNlckRpdmlkZXJTdHlsZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0RpdmlkZXIgSGVpZ2h0JyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBzcGFjZXJEaXZpZGVySGVpZ2h0IHx8ICcnLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBzcGFjZXJEaXZpZGVySGVpZ2h0OiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0bWluOiAxLFxuXHRcdFx0XHRcdFx0XHRtYXg6IDVcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRQYW5lbENvbG9yLFxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdEaXZpZGVyIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogc3BhY2VyRGl2aWRlckNvbG9yLFxuXHRcdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdEaXZpZGVyIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHNwYWNlckRpdmlkZXJDb2xvcixcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgc3BhY2VyRGl2aWRlckNvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yczogW3sgY29sb3I6ICcjZGRkJywgbmFtZTogJ3doaXRlJyB9LCB7IGNvbG9yOiAnIzMzMycsIG5hbWU6ICdibGFjaycgfSwgeyBjb2xvcjogJyMzMzczZGMnLCBuYW1lOiAncm95YWwgYmx1ZScgfSwgeyBjb2xvcjogJyMyMmQyNWYnLCBuYW1lOiAnZ3JlZW4nIH0sIHsgY29sb3I6ICcjZmZkZDU3JywgbmFtZTogJ3llbGxvdycgfSwgeyBjb2xvcjogJyNmZjM4NjAnLCBuYW1lOiAncGluaycgfSwgeyBjb2xvcjogJyM3OTQxYjYnLCBuYW1lOiAncHVycGxlJyB9XVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCkgOiBudWxsXG5cdFx0XHRcdClcblx0XHRcdCk7XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIEluc3BlY3Rvcjtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IGRlZmF1bHQgSW5zcGVjdG9yO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2Nrcy9ibG9jay1zcGFjZXIvY29tcG9uZW50cy9pbnNwZWN0b3IuanNcbi8vIG1vZHVsZSBpZCA9IDIzMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///230\n");
2620
 
2621
  /***/ }),
2622
  /* 231 */
@@ -2651,7 +2651,7 @@ eval("var _wp$element$createEle;\n\nfunction _defineProperty(obj, key, value) {
2651
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2652
 
2653
  "use strict";
2654
- eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(/*! react */ 234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar styles = {\n base: {\n position: 'absolute',\n userSelect: 'none',\n MsUserSelect: 'none'\n },\n top: {\n width: '100%',\n height: '10px',\n top: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n right: {\n width: '10px',\n height: '100%',\n top: '0px',\n right: '-5px',\n cursor: 'col-resize'\n },\n bottom: {\n width: '100%',\n height: '10px',\n bottom: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n left: {\n width: '10px',\n height: '100%',\n top: '0px',\n left: '-5px',\n cursor: 'col-resize'\n },\n topRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n top: '-10px',\n cursor: 'ne-resize'\n },\n bottomRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n bottom: '-10px',\n cursor: 'se-resize'\n },\n bottomLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n bottom: '-10px',\n cursor: 'sw-resize'\n },\n topLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n top: '-10px',\n cursor: 'nw-resize'\n }\n};\n\nvar Resizer = (function (props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n 'div',\n {\n className: props.className,\n style: _extends({}, styles.base, styles[props.direction], props.replaceStyles || {}),\n onMouseDown: function onMouseDown(e) {\n props.onResizeStart(e, props.direction);\n },\n onTouchStart: function onTouchStart(e) {\n props.onResizeStart(e, props.direction);\n }\n },\n props.children\n );\n});\n\nvar userSelectNone = {\n userSelect: 'none',\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n MsUserSelect: 'none'\n};\n\nvar userSelectAuto = {\n userSelect: 'auto',\n MozUserSelect: 'auto',\n WebkitUserSelect: 'auto',\n MsUserSelect: 'auto'\n};\n\nvar clamp = function clamp(n, min, max) {\n return Math.max(Math.min(n, max), min);\n};\nvar snap = function snap(n, size) {\n return Math.round(n / size) * size;\n};\n\nvar endsWith = function endsWith(str, searchStr) {\n return str.substr(str.length - searchStr.length, searchStr.length) === searchStr;\n};\n\nvar getStringSize = function getStringSize(n) {\n if (endsWith(n.toString(), 'px')) return n.toString();\n if (endsWith(n.toString(), '%')) return n.toString();\n return n + 'px';\n};\n\nvar definedProps = ['style', 'className', 'grid', 'bounds', 'size', 'defaultSize', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'lockAspectRatio', 'lockAspectRatioExtraWidth', 'lockAspectRatioExtraHeight', 'enable', 'handleStyles', 'handleClasses', 'handleWrapperStyle', 'handleWrapperClass', 'children', 'onResizeStart', 'onResize', 'onResizeStop', 'handleComponent'];\n\nvar baseClassName = '__resizable_base__';\n\nvar Resizable = function (_React$Component) {\n inherits(Resizable, _React$Component);\n\n function Resizable(props) {\n classCallCheck(this, Resizable);\n\n var _this = possibleConstructorReturn(this, (Resizable.__proto__ || Object.getPrototypeOf(Resizable)).call(this, props));\n\n _this.state = {\n isResizing: false,\n resizeCursor: 'auto',\n width: typeof (_this.propsSize && _this.propsSize.width) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.width,\n height: typeof (_this.propsSize && _this.propsSize.height) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.height,\n direction: 'right',\n original: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n }\n };\n\n _this.updateExtendsProps(props);\n _this.onResizeStart = _this.onResizeStart.bind(_this);\n _this.onMouseMove = _this.onMouseMove.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n\n if (typeof window !== 'undefined') {\n window.addEventListener('mouseup', _this.onMouseUp);\n window.addEventListener('mousemove', _this.onMouseMove);\n window.addEventListener('mouseleave', _this.onMouseUp);\n window.addEventListener('touchmove', _this.onMouseMove);\n window.addEventListener('touchend', _this.onMouseUp);\n }\n return _this;\n }\n\n createClass(Resizable, [{\n key: 'updateExtendsProps',\n value: function updateExtendsProps(props) {\n this.extendsProps = Object.keys(props).reduce(function (acc, key) {\n if (definedProps.indexOf(key) !== -1) return acc;\n acc[key] = props[key];\n return acc;\n }, {});\n }\n }, {\n key: 'getParentSize',\n value: function getParentSize() {\n var base = this.base;\n\n if (!base) return { width: window.innerWidth, height: window.innerHeight };\n // INFO: To calculate parent width with flex layout\n var wrapChanged = false;\n var wrap = this.parentNode.style.flexWrap;\n var minWidth = base.style.minWidth;\n if (wrap !== 'wrap') {\n wrapChanged = true;\n this.parentNode.style.flexWrap = 'wrap';\n // HACK: Use relative to get parent padding size\n }\n base.style.position = 'relative';\n base.style.minWidth = '100%';\n var size = {\n width: base.offsetWidth,\n height: base.offsetHeight\n };\n base.style.position = 'absolute';\n if (wrapChanged) this.parentNode.style.flexWrap = wrap;\n base.style.minWidth = minWidth;\n return size;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var size = this.size;\n\n this.setState({\n width: this.state.width || size.width,\n height: this.state.height || size.height\n });\n var parent = this.parentNode;\n if (!(parent instanceof HTMLElement)) return;\n if (this.base) return;\n var element = document.createElement('div');\n element.style.width = '100%';\n element.style.height = '100%';\n element.style.position = 'absolute';\n element.style.transform = 'scale(0, 0)';\n element.style.left = '-2147483647px';\n element.style.flex = '0';\n if (element.classList) {\n element.classList.add(baseClassName);\n } else {\n element.className += baseClassName;\n }\n parent.appendChild(element);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(next) {\n this.updateExtendsProps(next);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', this.onMouseUp);\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseleave', this.onMouseUp);\n window.removeEventListener('touchmove', this.onMouseMove);\n window.removeEventListener('touchend', this.onMouseUp);\n var parent = this.parentNode;\n var base = this.base;\n\n if (!base || !parent) return;\n if (!(parent instanceof HTMLElement) || !(base instanceof Node)) return;\n parent.removeChild(base);\n }\n }\n }, {\n key: 'calculateNewSize',\n value: function calculateNewSize(newSize, kind) {\n var propsSize = this.propsSize && this.propsSize[kind];\n return this.state[kind] === 'auto' && this.state.original[kind] === newSize && (typeof propsSize === 'undefined' || propsSize === 'auto') ? 'auto' : newSize;\n }\n }, {\n key: 'onResizeStart',\n value: function onResizeStart(event, direction) {\n var clientX = 0;\n var clientY = 0;\n if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n clientY = event.nativeEvent.clientY;\n\n // When user click with right button the resize is stuck in resizing mode\n // until users clicks again, dont continue if right click is used.\n // HACK: MouseEvent does not have `which` from flow-bin v0.68.\n if (event.nativeEvent.which === 3) {\n return;\n }\n } else if (event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].clientX;\n clientY = event.nativeEvent.touches[0].clientY;\n }\n if (this.props.onResizeStart) {\n this.props.onResizeStart(event, direction, this.resizable);\n }\n\n // Fix #168\n if (this.props.size) {\n if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {\n this.setState({ height: this.props.size.height });\n }\n if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {\n this.setState({ width: this.props.size.width });\n }\n }\n\n this.setState({\n original: {\n x: clientX,\n y: clientY,\n width: this.size.width,\n height: this.size.height\n },\n isResizing: true,\n resizeCursor: window.getComputedStyle(event.target).cursor,\n direction: direction\n });\n }\n }, {\n key: 'onMouseMove',\n value: function onMouseMove(event) {\n if (!this.state.isResizing) return;\n var clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\n var clientY = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;\n var _state = this.state,\n direction = _state.direction,\n original = _state.original,\n width = _state.width,\n height = _state.height;\n var _props = this.props,\n lockAspectRatio = _props.lockAspectRatio,\n lockAspectRatioExtraHeight = _props.lockAspectRatioExtraHeight,\n lockAspectRatioExtraWidth = _props.lockAspectRatioExtraWidth;\n var _props2 = this.props,\n maxWidth = _props2.maxWidth,\n maxHeight = _props2.maxHeight,\n minWidth = _props2.minWidth,\n minHeight = _props2.minHeight;\n\n // TODO: refactor\n\n var parentSize = this.getParentSize();\n if (maxWidth && typeof maxWidth === 'string' && endsWith(maxWidth, '%')) {\n var _ratio = Number(maxWidth.replace('%', '')) / 100;\n maxWidth = parentSize.width * _ratio;\n }\n if (maxHeight && typeof maxHeight === 'string' && endsWith(maxHeight, '%')) {\n var _ratio2 = Number(maxHeight.replace('%', '')) / 100;\n maxHeight = parentSize.height * _ratio2;\n }\n if (minWidth && typeof minWidth === 'string' && endsWith(minWidth, '%')) {\n var _ratio3 = Number(minWidth.replace('%', '')) / 100;\n minWidth = parentSize.width * _ratio3;\n }\n if (minHeight && typeof minHeight === 'string' && endsWith(minHeight, '%')) {\n var _ratio4 = Number(minHeight.replace('%', '')) / 100;\n minHeight = parentSize.height * _ratio4;\n }\n maxWidth = typeof maxWidth === 'undefined' ? undefined : Number(maxWidth);\n maxHeight = typeof maxHeight === 'undefined' ? undefined : Number(maxHeight);\n minWidth = typeof minWidth === 'undefined' ? undefined : Number(minWidth);\n minHeight = typeof minHeight === 'undefined' ? undefined : Number(minHeight);\n\n var ratio = typeof lockAspectRatio === 'number' ? lockAspectRatio : original.width / original.height;\n var newWidth = original.width;\n var newHeight = original.height;\n if (/right/i.test(direction)) {\n newWidth = original.width + (clientX - original.x);\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/left/i.test(direction)) {\n newWidth = original.width - (clientX - original.x);\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/bottom/i.test(direction)) {\n newHeight = original.height + (clientY - original.y);\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n if (/top/i.test(direction)) {\n newHeight = original.height - (clientY - original.y);\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n\n if (this.props.bounds === 'parent') {\n var parent = this.parentNode;\n if (parent instanceof HTMLElement) {\n var parentRect = parent.getBoundingClientRect();\n var parentLeft = parentRect.left;\n var parentTop = parentRect.top;\n\n var _resizable$getBoundin = this.resizable.getBoundingClientRect(),\n _left = _resizable$getBoundin.left,\n _top = _resizable$getBoundin.top;\n\n var boundWidth = parent.offsetWidth + (parentLeft - _left);\n var boundHeight = parent.offsetHeight + (parentTop - _top);\n maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;\n maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;\n }\n } else if (this.props.bounds === 'window') {\n if (typeof window !== 'undefined') {\n var _resizable$getBoundin2 = this.resizable.getBoundingClientRect(),\n _left2 = _resizable$getBoundin2.left,\n _top2 = _resizable$getBoundin2.top;\n\n var _boundWidth = window.innerWidth - _left2;\n var _boundHeight = window.innerHeight - _top2;\n maxWidth = maxWidth && maxWidth < _boundWidth ? maxWidth : _boundWidth;\n maxHeight = maxHeight && maxHeight < _boundHeight ? maxHeight : _boundHeight;\n }\n } else if (this.props.bounds instanceof HTMLElement) {\n var targetRect = this.props.bounds.getBoundingClientRect();\n var targetLeft = targetRect.left;\n var targetTop = targetRect.top;\n\n var _resizable$getBoundin3 = this.resizable.getBoundingClientRect(),\n _left3 = _resizable$getBoundin3.left,\n _top3 = _resizable$getBoundin3.top;\n\n if (!(this.props.bounds instanceof HTMLElement)) return;\n var _boundWidth2 = this.props.bounds.offsetWidth + (targetLeft - _left3);\n var _boundHeight2 = this.props.bounds.offsetHeight + (targetTop - _top3);\n maxWidth = maxWidth && maxWidth < _boundWidth2 ? maxWidth : _boundWidth2;\n maxHeight = maxHeight && maxHeight < _boundHeight2 ? maxHeight : _boundHeight2;\n }\n\n var computedMinWidth = typeof minWidth === 'undefined' ? 10 : minWidth;\n var computedMaxWidth = typeof maxWidth === 'undefined' || maxWidth < 0 ? newWidth : maxWidth;\n var computedMinHeight = typeof minHeight === 'undefined' ? 10 : minHeight;\n var computedMaxHeight = typeof maxHeight === 'undefined' || maxHeight < 0 ? newHeight : maxHeight;\n\n if (lockAspectRatio) {\n var extraMinWidth = (computedMinHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMaxWidth = (computedMaxHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMinHeight = (computedMinWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var extraMaxHeight = (computedMaxWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);\n var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);\n var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);\n var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);\n newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);\n newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);\n } else {\n newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);\n newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);\n }\n if (this.props.grid) {\n newWidth = snap(newWidth, this.props.grid[0]);\n }\n if (this.props.grid) {\n newHeight = snap(newHeight, this.props.grid[1]);\n }\n\n var delta = {\n width: newWidth - original.width,\n height: newHeight - original.height\n };\n\n if (width && typeof width === 'string' && endsWith(width, '%')) {\n var percent = newWidth / parentSize.width * 100;\n newWidth = percent + '%';\n }\n\n if (height && typeof height === 'string' && endsWith(height, '%')) {\n var _percent = newHeight / parentSize.height * 100;\n newHeight = _percent + '%';\n }\n\n this.setState({\n width: this.calculateNewSize(newWidth, 'width'),\n height: this.calculateNewSize(newHeight, 'height')\n });\n\n if (this.props.onResize) {\n this.props.onResize(event, direction, this.resizable, delta);\n }\n }\n }, {\n key: 'onMouseUp',\n value: function onMouseUp(event) {\n var _state2 = this.state,\n isResizing = _state2.isResizing,\n direction = _state2.direction,\n original = _state2.original;\n\n if (!isResizing) return;\n var delta = {\n width: this.size.width - original.width,\n height: this.size.height - original.height\n };\n if (this.props.onResizeStop) {\n this.props.onResizeStop(event, direction, this.resizable, delta);\n }\n if (this.props.size) {\n this.setState(this.props.size);\n }\n this.setState({ isResizing: false, resizeCursor: 'auto' });\n }\n }, {\n key: 'updateSize',\n value: function updateSize(size) {\n this.setState({ width: size.width, height: size.height });\n }\n }, {\n key: 'renderResizer',\n value: function renderResizer() {\n var _this2 = this;\n\n var _props3 = this.props,\n enable = _props3.enable,\n handleStyles = _props3.handleStyles,\n handleClasses = _props3.handleClasses,\n handleWrapperStyle = _props3.handleWrapperStyle,\n handleWrapperClass = _props3.handleWrapperClass,\n handleComponent = _props3.handleComponent;\n\n if (!enable) return null;\n var resizers = Object.keys(enable).map(function (dir) {\n if (enable[dir] !== false) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n Resizer,\n {\n key: dir,\n direction: dir,\n onResizeStart: _this2.onResizeStart,\n replaceStyles: handleStyles && handleStyles[dir],\n className: handleClasses && handleClasses[dir]\n },\n handleComponent && handleComponent[dir] ? Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(handleComponent[dir]) : null\n );\n }\n return null;\n });\n // #93 Wrap the resize box in span (will not break 100% width/height)\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n 'span',\n { className: handleWrapperClass, style: handleWrapperStyle },\n resizers\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var userSelect = this.state.isResizing ? userSelectNone : userSelectAuto;\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n 'div',\n _extends({\n ref: function ref(c) {\n if (c) {\n _this3.resizable = c;\n }\n },\n style: _extends({\n position: 'relative'\n }, userSelect, this.props.style, this.sizeStyle, {\n maxWidth: this.props.maxWidth,\n maxHeight: this.props.maxHeight,\n minWidth: this.props.minWidth,\n minHeight: this.props.minHeight,\n boxSizing: 'border-box'\n }),\n className: this.props.className\n }, this.extendsProps),\n this.state.isResizing && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])('div', {\n style: {\n height: '100%',\n width: '100%',\n backgroundColor: 'rgba(0,0,0,0)',\n cursor: '' + (this.state.resizeCursor || 'auto'),\n opacity: '0',\n position: 'fixed',\n zIndex: '9999',\n top: '0',\n left: '0',\n bottom: '0',\n right: '0'\n }\n }),\n this.props.children,\n this.renderResizer()\n );\n }\n }, {\n key: 'parentNode',\n get: function get$$1() {\n return this.resizable.parentNode;\n }\n }, {\n key: 'propsSize',\n get: function get$$1() {\n return this.props.size || this.props.defaultSize;\n }\n }, {\n key: 'base',\n get: function get$$1() {\n var parent = this.parentNode;\n if (!parent) return undefined;\n var children = [].slice.call(parent.children);\n for (var i = 0; i < children.length; i += 1) {\n var n = children[i];\n if (n instanceof HTMLElement) {\n if (n.classList.contains(baseClassName)) {\n return n;\n }\n }\n }\n return undefined;\n }\n }, {\n key: 'size',\n get: function get$$1() {\n var width = 0;\n var height = 0;\n if (typeof window !== 'undefined') {\n var orgWidth = this.resizable.offsetWidth;\n var orgHeight = this.resizable.offsetHeight;\n // HACK: Set position `relative` to get parent size.\n // This is because when re-resizable set `absolute`, I can not get base width correctly.\n var orgPosition = this.resizable.style.position;\n if (orgPosition !== 'relative') {\n this.resizable.style.position = 'relative';\n }\n // INFO: Use original width or height if set auto.\n width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;\n height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;\n // Restore original position\n this.resizable.style.position = orgPosition;\n }\n return { width: width, height: height };\n }\n }, {\n key: 'sizeStyle',\n get: function get$$1() {\n var _this4 = this;\n\n var size = this.props.size;\n\n var getSize = function getSize(key) {\n if (typeof _this4.state[key] === 'undefined' || _this4.state[key] === 'auto') return 'auto';\n if (_this4.propsSize && _this4.propsSize[key] && endsWith(_this4.propsSize[key].toString(), '%')) {\n if (endsWith(_this4.state[key].toString(), '%')) return _this4.state[key].toString();\n var parentSize = _this4.getParentSize();\n var value = Number(_this4.state[key].toString().replace('px', ''));\n var percent = value / parentSize[key] * 100;\n return percent + '%';\n }\n return getStringSize(_this4.state[key]);\n };\n var width = size && typeof size.width !== 'undefined' && !this.state.isResizing ? getStringSize(size.width) : getSize('width');\n var height = size && typeof size.height !== 'undefined' && !this.state.isResizing ? getStringSize(size.height) : getSize('height');\n return { width: width, height: height };\n }\n }]);\n return Resizable;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nResizable.defaultProps = {\n onResizeStart: function onResizeStart() {},\n onResize: function onResize() {},\n onResizeStop: function onResizeStop() {},\n enable: {\n top: true,\n right: true,\n bottom: true,\n left: true,\n topRight: true,\n bottomRight: true,\n bottomLeft: true,\n topLeft: true\n },\n style: {},\n grid: [1, 1],\n lockAspectRatio: false,\n lockAspectRatioExtraWidth: 0,\n lockAspectRatioExtraHeight: 0\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Resizable);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlLXJlc2l6YWJsZS9saWIvaW5kZXguanM/ODk1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbnZhciBjbGFzc0NhbGxDaGVjayA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59O1xuXG52YXIgY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7XG4gICAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gICAgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgICBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgICByZXR1cm4gQ29uc3RydWN0b3I7XG4gIH07XG59KCk7XG5cbnZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59O1xuXG52YXIgaW5oZXJpdHMgPSBmdW5jdGlvbiAoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHtcbiAgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpO1xuICB9XG5cbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBzdWJDbGFzcyxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9XG4gIH0pO1xuICBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7XG59O1xuXG52YXIgcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiA9IGZ1bmN0aW9uIChzZWxmLCBjYWxsKSB7XG4gIGlmICghc2VsZikge1xuICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmO1xufTtcblxudmFyIHN0eWxlcyA9IHtcbiAgYmFzZToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHVzZXJTZWxlY3Q6ICdub25lJyxcbiAgICBNc1VzZXJTZWxlY3Q6ICdub25lJ1xuICB9LFxuICB0b3A6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzEwcHgnLFxuICAgIHRvcDogJy01cHgnLFxuICAgIGxlZnQ6ICcwcHgnLFxuICAgIGN1cnNvcjogJ3Jvdy1yZXNpemUnXG4gIH0sXG4gIHJpZ2h0OiB7XG4gICAgd2lkdGg6ICcxMHB4JyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICB0b3A6ICcwcHgnLFxuICAgIHJpZ2h0OiAnLTVweCcsXG4gICAgY3Vyc29yOiAnY29sLXJlc2l6ZSdcbiAgfSxcbiAgYm90dG9tOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBoZWlnaHQ6ICcxMHB4JyxcbiAgICBib3R0b206ICctNXB4JyxcbiAgICBsZWZ0OiAnMHB4JyxcbiAgICBjdXJzb3I6ICdyb3ctcmVzaXplJ1xuICB9LFxuICBsZWZ0OiB7XG4gICAgd2lkdGg6ICcxMHB4JyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICB0b3A6ICcwcHgnLFxuICAgIGxlZnQ6ICctNXB4JyxcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJ1xuICB9LFxuICB0b3BSaWdodDoge1xuICAgIHdpZHRoOiAnMjBweCcsXG4gICAgaGVpZ2h0OiAnMjBweCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6ICctMTBweCcsXG4gICAgdG9wOiAnLTEwcHgnLFxuICAgIGN1cnNvcjogJ25lLXJlc2l6ZSdcbiAgfSxcbiAgYm90dG9tUmlnaHQ6IHtcbiAgICB3aWR0aDogJzIwcHgnLFxuICAgIGhlaWdodDogJzIwcHgnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAnLTEwcHgnLFxuICAgIGJvdHRvbTogJy0xMHB4JyxcbiAgICBjdXJzb3I6ICdzZS1yZXNpemUnXG4gIH0sXG4gIGJvdHRvbUxlZnQ6IHtcbiAgICB3aWR0aDogJzIwcHgnLFxuICAgIGhlaWdodDogJzIwcHgnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIGxlZnQ6ICctMTBweCcsXG4gICAgYm90dG9tOiAnLTEwcHgnLFxuICAgIGN1cnNvcjogJ3N3LXJlc2l6ZSdcbiAgfSxcbiAgdG9wTGVmdDoge1xuICAgIHdpZHRoOiAnMjBweCcsXG4gICAgaGVpZ2h0OiAnMjBweCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJy0xMHB4JyxcbiAgICB0b3A6ICctMTBweCcsXG4gICAgY3Vyc29yOiAnbnctcmVzaXplJ1xuICB9XG59O1xuXG52YXIgUmVzaXplciA9IChmdW5jdGlvbiAocHJvcHMpIHtcbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgJ2RpdicsXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiBwcm9wcy5jbGFzc05hbWUsXG4gICAgICBzdHlsZTogX2V4dGVuZHMoe30sIHN0eWxlcy5iYXNlLCBzdHlsZXNbcHJvcHMuZGlyZWN0aW9uXSwgcHJvcHMucmVwbGFjZVN0eWxlcyB8fCB7fSksXG4gICAgICBvbk1vdXNlRG93bjogZnVuY3Rpb24gb25Nb3VzZURvd24oZSkge1xuICAgICAgICBwcm9wcy5vblJlc2l6ZVN0YXJ0KGUsIHByb3BzLmRpcmVjdGlvbik7XG4gICAgICB9LFxuICAgICAgb25Ub3VjaFN0YXJ0OiBmdW5jdGlvbiBvblRvdWNoU3RhcnQoZSkge1xuICAgICAgICBwcm9wcy5vblJlc2l6ZVN0YXJ0KGUsIHByb3BzLmRpcmVjdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICBwcm9wcy5jaGlsZHJlblxuICApO1xufSk7XG5cbnZhciB1c2VyU2VsZWN0Tm9uZSA9IHtcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxuICBNb3pVc2VyU2VsZWN0OiAnbm9uZScsXG4gIFdlYmtpdFVzZXJTZWxlY3Q6ICdub25lJyxcbiAgTXNVc2VyU2VsZWN0OiAnbm9uZSdcbn07XG5cbnZhciB1c2VyU2VsZWN0QXV0byA9IHtcbiAgdXNlclNlbGVjdDogJ2F1dG8nLFxuICBNb3pVc2VyU2VsZWN0OiAnYXV0bycsXG4gIFdlYmtpdFVzZXJTZWxlY3Q6ICdhdXRvJyxcbiAgTXNVc2VyU2VsZWN0OiAnYXV0bydcbn07XG5cbnZhciBjbGFtcCA9IGZ1bmN0aW9uIGNsYW1wKG4sIG1pbiwgbWF4KSB7XG4gIHJldHVybiBNYXRoLm1heChNYXRoLm1pbihuLCBtYXgpLCBtaW4pO1xufTtcbnZhciBzbmFwID0gZnVuY3Rpb24gc25hcChuLCBzaXplKSB7XG4gIHJldHVybiBNYXRoLnJvdW5kKG4gLyBzaXplKSAqIHNpemU7XG59O1xuXG52YXIgZW5kc1dpdGggPSBmdW5jdGlvbiBlbmRzV2l0aChzdHIsIHNlYXJjaFN0cikge1xuICByZXR1cm4gc3RyLnN1YnN0cihzdHIubGVuZ3RoIC0gc2VhcmNoU3RyLmxlbmd0aCwgc2VhcmNoU3RyLmxlbmd0aCkgPT09IHNlYXJjaFN0cjtcbn07XG5cbnZhciBnZXRTdHJpbmdTaXplID0gZnVuY3Rpb24gZ2V0U3RyaW5nU2l6ZShuKSB7XG4gIGlmIChlbmRzV2l0aChuLnRvU3RyaW5nKCksICdweCcpKSByZXR1cm4gbi50b1N0cmluZygpO1xuICBpZiAoZW5kc1dpdGgobi50b1N0cmluZygpLCAnJScpKSByZXR1cm4gbi50b1N0cmluZygpO1xuICByZXR1cm4gbiArICdweCc7XG59O1xuXG52YXIgZGVmaW5lZFByb3BzID0gWydzdHlsZScsICdjbGFzc05hbWUnLCAnZ3JpZCcsICdib3VuZHMnLCAnc2l6ZScsICdkZWZhdWx0U2l6ZScsICdtaW5XaWR0aCcsICdtaW5IZWlnaHQnLCAnbWF4V2lkdGgnLCAnbWF4SGVpZ2h0JywgJ2xvY2tBc3BlY3RSYXRpbycsICdsb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoJywgJ2xvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0JywgJ2VuYWJsZScsICdoYW5kbGVTdHlsZXMnLCAnaGFuZGxlQ2xhc3NlcycsICdoYW5kbGVXcmFwcGVyU3R5bGUnLCAnaGFuZGxlV3JhcHBlckNsYXNzJywgJ2NoaWxkcmVuJywgJ29uUmVzaXplU3RhcnQnLCAnb25SZXNpemUnLCAnb25SZXNpemVTdG9wJywgJ2hhbmRsZUNvbXBvbmVudCddO1xuXG52YXIgYmFzZUNsYXNzTmFtZSA9ICdfX3Jlc2l6YWJsZV9iYXNlX18nO1xuXG52YXIgUmVzaXphYmxlID0gZnVuY3Rpb24gKF9SZWFjdCRDb21wb25lbnQpIHtcbiAgaW5oZXJpdHMoUmVzaXphYmxlLCBfUmVhY3QkQ29tcG9uZW50KTtcblxuICBmdW5jdGlvbiBSZXNpemFibGUocHJvcHMpIHtcbiAgICBjbGFzc0NhbGxDaGVjayh0aGlzLCBSZXNpemFibGUpO1xuXG4gICAgdmFyIF90aGlzID0gcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoUmVzaXphYmxlLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmVzaXphYmxlKSkuY2FsbCh0aGlzLCBwcm9wcykpO1xuXG4gICAgX3RoaXMuc3RhdGUgPSB7XG4gICAgICBpc1Jlc2l6aW5nOiBmYWxzZSxcbiAgICAgIHJlc2l6ZUN1cnNvcjogJ2F1dG8nLFxuICAgICAgd2lkdGg6IHR5cGVvZiAoX3RoaXMucHJvcHNTaXplICYmIF90aGlzLnByb3BzU2l6ZS53aWR0aCkgPT09ICd1bmRlZmluZWQnID8gJ2F1dG8nIDogX3RoaXMucHJvcHNTaXplICYmIF90aGlzLnByb3BzU2l6ZS53aWR0aCxcbiAgICAgIGhlaWdodDogdHlwZW9mIChfdGhpcy5wcm9wc1NpemUgJiYgX3RoaXMucHJvcHNTaXplLmhlaWdodCkgPT09ICd1bmRlZmluZWQnID8gJ2F1dG8nIDogX3RoaXMucHJvcHNTaXplICYmIF90aGlzLnByb3BzU2l6ZS5oZWlnaHQsXG4gICAgICBkaXJlY3Rpb246ICdyaWdodCcsXG4gICAgICBvcmlnaW5hbDoge1xuICAgICAgICB4OiAwLFxuICAgICAgICB5OiAwLFxuICAgICAgICB3aWR0aDogMCxcbiAgICAgICAgaGVpZ2h0OiAwXG4gICAgICB9XG4gICAgfTtcblxuICAgIF90aGlzLnVwZGF0ZUV4dGVuZHNQcm9wcyhwcm9wcyk7XG4gICAgX3RoaXMub25SZXNpemVTdGFydCA9IF90aGlzLm9uUmVzaXplU3RhcnQuYmluZChfdGhpcyk7XG4gICAgX3RoaXMub25Nb3VzZU1vdmUgPSBfdGhpcy5vbk1vdXNlTW92ZS5iaW5kKF90aGlzKTtcbiAgICBfdGhpcy5vbk1vdXNlVXAgPSBfdGhpcy5vbk1vdXNlVXAuYmluZChfdGhpcyk7XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgX3RoaXMub25Nb3VzZVVwKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBfdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIF90aGlzLm9uTW91c2VVcCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgX3RoaXMub25Nb3VzZU1vdmUpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgX3RoaXMub25Nb3VzZVVwKTtcbiAgICB9XG4gICAgcmV0dXJuIF90aGlzO1xuICB9XG5cbiAgY3JlYXRlQ2xhc3MoUmVzaXphYmxlLCBbe1xuICAgIGtleTogJ3VwZGF0ZUV4dGVuZHNQcm9wcycsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHVwZGF0ZUV4dGVuZHNQcm9wcyhwcm9wcykge1xuICAgICAgdGhpcy5leHRlbmRzUHJvcHMgPSBPYmplY3Qua2V5cyhwcm9wcykucmVkdWNlKGZ1bmN0aW9uIChhY2MsIGtleSkge1xuICAgICAgICBpZiAoZGVmaW5lZFByb3BzLmluZGV4T2Yoa2V5KSAhPT0gLTEpIHJldHVybiBhY2M7XG4gICAgICAgIGFjY1trZXldID0gcHJvcHNba2V5XTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdnZXRQYXJlbnRTaXplJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZ2V0UGFyZW50U2l6ZSgpIHtcbiAgICAgIHZhciBiYXNlID0gdGhpcy5iYXNlO1xuXG4gICAgICBpZiAoIWJhc2UpIHJldHVybiB7IHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCwgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQgfTtcbiAgICAgIC8vIElORk86IFRvIGNhbGN1bGF0ZSBwYXJlbnQgd2lkdGggd2l0aCBmbGV4IGxheW91dFxuICAgICAgdmFyIHdyYXBDaGFuZ2VkID0gZmFsc2U7XG4gICAgICB2YXIgd3JhcCA9IHRoaXMucGFyZW50Tm9kZS5zdHlsZS5mbGV4V3JhcDtcbiAgICAgIHZhciBtaW5XaWR0aCA9IGJhc2Uuc3R5bGUubWluV2lkdGg7XG4gICAgICBpZiAod3JhcCAhPT0gJ3dyYXAnKSB7XG4gICAgICAgIHdyYXBDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5wYXJlbnROb2RlLnN0eWxlLmZsZXhXcmFwID0gJ3dyYXAnO1xuICAgICAgICAvLyBIQUNLOiBVc2UgcmVsYXRpdmUgdG8gZ2V0IHBhcmVudCBwYWRkaW5nIHNpemVcbiAgICAgIH1cbiAgICAgIGJhc2Uuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgICAgYmFzZS5zdHlsZS5taW5XaWR0aCA9ICcxMDAlJztcbiAgICAgIHZhciBzaXplID0ge1xuICAgICAgICB3aWR0aDogYmFzZS5vZmZzZXRXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiBiYXNlLm9mZnNldEhlaWdodFxuICAgICAgfTtcbiAgICAgIGJhc2Uuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgaWYgKHdyYXBDaGFuZ2VkKSB0aGlzLnBhcmVudE5vZGUuc3R5bGUuZmxleFdyYXAgPSB3cmFwO1xuICAgICAgYmFzZS5zdHlsZS5taW5XaWR0aCA9IG1pbldpZHRoO1xuICAgICAgcmV0dXJuIHNpemU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnY29tcG9uZW50RGlkTW91bnQnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHZhciBzaXplID0gdGhpcy5zaXplO1xuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgd2lkdGg6IHRoaXMuc3RhdGUud2lkdGggfHwgc2l6ZS53aWR0aCxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLnN0YXRlLmhlaWdodCB8fCBzaXplLmhlaWdodFxuICAgICAgfSk7XG4gICAgICB2YXIgcGFyZW50ID0gdGhpcy5wYXJlbnROb2RlO1xuICAgICAgaWYgKCEocGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSByZXR1cm47XG4gICAgICBpZiAodGhpcy5iYXNlKSByZXR1cm47XG4gICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICAgIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJzEwMCUnO1xuICAgICAgZWxlbWVudC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICBlbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9ICdzY2FsZSgwLCAwKSc7XG4gICAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSAnLTIxNDc0ODM2NDdweCc7XG4gICAgICBlbGVtZW50LnN0eWxlLmZsZXggPSAnMCc7XG4gICAgICBpZiAoZWxlbWVudC5jbGFzc0xpc3QpIHtcbiAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKGJhc2VDbGFzc05hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgKz0gYmFzZUNsYXNzTmFtZTtcbiAgICAgIH1cbiAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0KSB7XG4gICAgICB0aGlzLnVwZGF0ZUV4dGVuZHNQcm9wcyhuZXh0KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdjb21wb25lbnRXaWxsVW5tb3VudCcsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5vbk1vdXNlVXApO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5vbk1vdXNlVXApO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMub25Nb3VzZVVwKTtcbiAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTtcbiAgICAgICAgdmFyIGJhc2UgPSB0aGlzLmJhc2U7XG5cbiAgICAgICAgaWYgKCFiYXNlIHx8ICFwYXJlbnQpIHJldHVybjtcbiAgICAgICAgaWYgKCEocGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHx8ICEoYmFzZSBpbnN0YW5jZW9mIE5vZGUpKSByZXR1cm47XG4gICAgICAgIHBhcmVudC5yZW1vdmVDaGlsZChiYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdjYWxjdWxhdGVOZXdTaXplJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY2FsY3VsYXRlTmV3U2l6ZShuZXdTaXplLCBraW5kKSB7XG4gICAgICB2YXIgcHJvcHNTaXplID0gdGhpcy5wcm9wc1NpemUgJiYgdGhpcy5wcm9wc1NpemVba2luZF07XG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZVtraW5kXSA9PT0gJ2F1dG8nICYmIHRoaXMuc3RhdGUub3JpZ2luYWxba2luZF0gPT09IG5ld1NpemUgJiYgKHR5cGVvZiBwcm9wc1NpemUgPT09ICd1bmRlZmluZWQnIHx8IHByb3BzU2l6ZSA9PT0gJ2F1dG8nKSA/ICdhdXRvJyA6IG5ld1NpemU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25SZXNpemVTdGFydCcsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uUmVzaXplU3RhcnQoZXZlbnQsIGRpcmVjdGlvbikge1xuICAgICAgdmFyIGNsaWVudFggPSAwO1xuICAgICAgdmFyIGNsaWVudFkgPSAwO1xuICAgICAgaWYgKGV2ZW50Lm5hdGl2ZUV2ZW50IGluc3RhbmNlb2YgTW91c2VFdmVudCkge1xuICAgICAgICBjbGllbnRYID0gZXZlbnQubmF0aXZlRXZlbnQuY2xpZW50WDtcbiAgICAgICAgY2xpZW50WSA9IGV2ZW50Lm5hdGl2ZUV2ZW50LmNsaWVudFk7XG5cbiAgICAgICAgLy8gV2hlbiB1c2VyIGNsaWNrIHdpdGggcmlnaHQgYnV0dG9uIHRoZSByZXNpemUgaXMgc3R1Y2sgaW4gcmVzaXppbmcgbW9kZVxuICAgICAgICAvLyB1bnRpbCB1c2VycyBjbGlja3MgYWdhaW4sIGRvbnQgY29udGludWUgaWYgcmlnaHQgY2xpY2sgaXMgdXNlZC5cbiAgICAgICAgLy8gSEFDSzogTW91c2VFdmVudCBkb2VzIG5vdCBoYXZlIGB3aGljaGAgZnJvbSBmbG93LWJpbiB2MC42OC5cbiAgICAgICAgaWYgKGV2ZW50Lm5hdGl2ZUV2ZW50LndoaWNoID09PSAzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50Lm5hdGl2ZUV2ZW50IGluc3RhbmNlb2YgVG91Y2hFdmVudCkge1xuICAgICAgICBjbGllbnRYID0gZXZlbnQubmF0aXZlRXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xuICAgICAgICBjbGllbnRZID0gZXZlbnQubmF0aXZlRXZlbnQudG91Y2hlc1swXS5jbGllbnRZO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMub25SZXNpemVTdGFydCkge1xuICAgICAgICB0aGlzLnByb3BzLm9uUmVzaXplU3RhcnQoZXZlbnQsIGRpcmVjdGlvbiwgdGhpcy5yZXNpemFibGUpO1xuICAgICAgfVxuXG4gICAgICAvLyBGaXggIzE2OFxuICAgICAgaWYgKHRoaXMucHJvcHMuc2l6ZSkge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMuc2l6ZS5oZWlnaHQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucHJvcHMuc2l6ZS5oZWlnaHQgIT09IHRoaXMuc3RhdGUuaGVpZ2h0KSB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGhlaWdodDogdGhpcy5wcm9wcy5zaXplLmhlaWdodCB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMuc2l6ZS53aWR0aCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5wcm9wcy5zaXplLndpZHRoICE9PSB0aGlzLnN0YXRlLndpZHRoKSB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHdpZHRoOiB0aGlzLnByb3BzLnNpemUud2lkdGggfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIG9yaWdpbmFsOiB7XG4gICAgICAgICAgeDogY2xpZW50WCxcbiAgICAgICAgICB5OiBjbGllbnRZLFxuICAgICAgICAgIHdpZHRoOiB0aGlzLnNpemUud2lkdGgsXG4gICAgICAgICAgaGVpZ2h0OiB0aGlzLnNpemUuaGVpZ2h0XG4gICAgICAgIH0sXG4gICAgICAgIGlzUmVzaXppbmc6IHRydWUsXG4gICAgICAgIHJlc2l6ZUN1cnNvcjogd2luZG93LmdldENvbXB1dGVkU3R5bGUoZXZlbnQudGFyZ2V0KS5jdXJzb3IsXG4gICAgICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdvbk1vdXNlTW92ZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uTW91c2VNb3ZlKGV2ZW50KSB7XG4gICAgICBpZiAoIXRoaXMuc3RhdGUuaXNSZXNpemluZykgcmV0dXJuO1xuICAgICAgdmFyIGNsaWVudFggPSBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgPyBldmVudC5jbGllbnRYIDogZXZlbnQudG91Y2hlc1swXS5jbGllbnRYO1xuICAgICAgdmFyIGNsaWVudFkgPSBldmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQgPyBldmVudC5jbGllbnRZIDogZXZlbnQudG91Y2hlc1swXS5jbGllbnRZO1xuICAgICAgdmFyIF9zdGF0ZSA9IHRoaXMuc3RhdGUsXG4gICAgICAgICAgZGlyZWN0aW9uID0gX3N0YXRlLmRpcmVjdGlvbixcbiAgICAgICAgICBvcmlnaW5hbCA9IF9zdGF0ZS5vcmlnaW5hbCxcbiAgICAgICAgICB3aWR0aCA9IF9zdGF0ZS53aWR0aCxcbiAgICAgICAgICBoZWlnaHQgPSBfc3RhdGUuaGVpZ2h0O1xuICAgICAgdmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgbG9ja0FzcGVjdFJhdGlvID0gX3Byb3BzLmxvY2tBc3BlY3RSYXRpbyxcbiAgICAgICAgICBsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodCA9IF9wcm9wcy5sb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodCxcbiAgICAgICAgICBsb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoID0gX3Byb3BzLmxvY2tBc3BlY3RSYXRpb0V4dHJhV2lkdGg7XG4gICAgICB2YXIgX3Byb3BzMiA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgbWF4V2lkdGggPSBfcHJvcHMyLm1heFdpZHRoLFxuICAgICAgICAgIG1heEhlaWdodCA9IF9wcm9wczIubWF4SGVpZ2h0LFxuICAgICAgICAgIG1pbldpZHRoID0gX3Byb3BzMi5taW5XaWR0aCxcbiAgICAgICAgICBtaW5IZWlnaHQgPSBfcHJvcHMyLm1pbkhlaWdodDtcblxuICAgICAgLy8gVE9ETzogcmVmYWN0b3JcblxuICAgICAgdmFyIHBhcmVudFNpemUgPSB0aGlzLmdldFBhcmVudFNpemUoKTtcbiAgICAgIGlmIChtYXhXaWR0aCAmJiB0eXBlb2YgbWF4V2lkdGggPT09ICdzdHJpbmcnICYmIGVuZHNXaXRoKG1heFdpZHRoLCAnJScpKSB7XG4gICAgICAgIHZhciBfcmF0aW8gPSBOdW1iZXIobWF4V2lkdGgucmVwbGFjZSgnJScsICcnKSkgLyAxMDA7XG4gICAgICAgIG1heFdpZHRoID0gcGFyZW50U2l6ZS53aWR0aCAqIF9yYXRpbztcbiAgICAgIH1cbiAgICAgIGlmIChtYXhIZWlnaHQgJiYgdHlwZW9mIG1heEhlaWdodCA9PT0gJ3N0cmluZycgJiYgZW5kc1dpdGgobWF4SGVpZ2h0LCAnJScpKSB7XG4gICAgICAgIHZhciBfcmF0aW8yID0gTnVtYmVyKG1heEhlaWdodC5yZXBsYWNlKCclJywgJycpKSAvIDEwMDtcbiAgICAgICAgbWF4SGVpZ2h0ID0gcGFyZW50U2l6ZS5oZWlnaHQgKiBfcmF0aW8yO1xuICAgICAgfVxuICAgICAgaWYgKG1pbldpZHRoICYmIHR5cGVvZiBtaW5XaWR0aCA9PT0gJ3N0cmluZycgJiYgZW5kc1dpdGgobWluV2lkdGgsICclJykpIHtcbiAgICAgICAgdmFyIF9yYXRpbzMgPSBOdW1iZXIobWluV2lkdGgucmVwbGFjZSgnJScsICcnKSkgLyAxMDA7XG4gICAgICAgIG1pbldpZHRoID0gcGFyZW50U2l6ZS53aWR0aCAqIF9yYXRpbzM7XG4gICAgICB9XG4gICAgICBpZiAobWluSGVpZ2h0ICYmIHR5cGVvZiBtaW5IZWlnaHQgPT09ICdzdHJpbmcnICYmIGVuZHNXaXRoKG1pbkhlaWdodCwgJyUnKSkge1xuICAgICAgICB2YXIgX3JhdGlvNCA9IE51bWJlcihtaW5IZWlnaHQucmVwbGFjZSgnJScsICcnKSkgLyAxMDA7XG4gICAgICAgIG1pbkhlaWdodCA9IHBhcmVudFNpemUuaGVpZ2h0ICogX3JhdGlvNDtcbiAgICAgIH1cbiAgICAgIG1heFdpZHRoID0gdHlwZW9mIG1heFdpZHRoID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE51bWJlcihtYXhXaWR0aCk7XG4gICAgICBtYXhIZWlnaHQgPSB0eXBlb2YgbWF4SGVpZ2h0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE51bWJlcihtYXhIZWlnaHQpO1xuICAgICAgbWluV2lkdGggPSB0eXBlb2YgbWluV2lkdGggPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogTnVtYmVyKG1pbldpZHRoKTtcbiAgICAgIG1pbkhlaWdodCA9IHR5cGVvZiBtaW5IZWlnaHQgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkIDogTnVtYmVyKG1pbkhlaWdodCk7XG5cbiAgICAgIHZhciByYXRpbyA9IHR5cGVvZiBsb2NrQXNwZWN0UmF0aW8gPT09ICdudW1iZXInID8gbG9ja0FzcGVjdFJhdGlvIDogb3JpZ2luYWwud2lkdGggLyBvcmlnaW5hbC5oZWlnaHQ7XG4gICAgICB2YXIgbmV3V2lkdGggPSBvcmlnaW5hbC53aWR0aDtcbiAgICAgIHZhciBuZXdIZWlnaHQgPSBvcmlnaW5hbC5oZWlnaHQ7XG4gICAgICBpZiAoL3JpZ2h0L2kudGVzdChkaXJlY3Rpb24pKSB7XG4gICAgICAgIG5ld1dpZHRoID0gb3JpZ2luYWwud2lkdGggKyAoY2xpZW50WCAtIG9yaWdpbmFsLngpO1xuICAgICAgICBpZiAobG9ja0FzcGVjdFJhdGlvKSBuZXdIZWlnaHQgPSAobmV3V2lkdGggLSBsb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoKSAvIHJhdGlvICsgbG9ja0FzcGVjdFJhdGlvRXh0cmFIZWlnaHQ7XG4gICAgICB9XG4gICAgICBpZiAoL2xlZnQvaS50ZXN0KGRpcmVjdGlvbikpIHtcbiAgICAgICAgbmV3V2lkdGggPSBvcmlnaW5hbC53aWR0aCAtIChjbGllbnRYIC0gb3JpZ2luYWwueCk7XG4gICAgICAgIGlmIChsb2NrQXNwZWN0UmF0aW8pIG5ld0hlaWdodCA9IChuZXdXaWR0aCAtIGxvY2tBc3BlY3RSYXRpb0V4dHJhV2lkdGgpIC8gcmF0aW8gKyBsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodDtcbiAgICAgIH1cbiAgICAgIGlmICgvYm90dG9tL2kudGVzdChkaXJlY3Rpb24pKSB7XG4gICAgICAgIG5ld0hlaWdodCA9IG9yaWdpbmFsLmhlaWdodCArIChjbGllbnRZIC0gb3JpZ2luYWwueSk7XG4gICAgICAgIGlmIChsb2NrQXNwZWN0UmF0aW8pIG5ld1dpZHRoID0gKG5ld0hlaWdodCAtIGxvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0KSAqIHJhdGlvICsgbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aDtcbiAgICAgIH1cbiAgICAgIGlmICgvdG9wL2kudGVzdChkaXJlY3Rpb24pKSB7XG4gICAgICAgIG5ld0hlaWdodCA9IG9yaWdpbmFsLmhlaWdodCAtIChjbGllbnRZIC0gb3JpZ2luYWwueSk7XG4gICAgICAgIGlmIChsb2NrQXNwZWN0UmF0aW8pIG5ld1dpZHRoID0gKG5ld0hlaWdodCAtIGxvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0KSAqIHJhdGlvICsgbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucHJvcHMuYm91bmRzID09PSAncGFyZW50Jykge1xuICAgICAgICB2YXIgcGFyZW50ID0gdGhpcy5wYXJlbnROb2RlO1xuICAgICAgICBpZiAocGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICB2YXIgcGFyZW50UmVjdCA9IHBhcmVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICB2YXIgcGFyZW50TGVmdCA9IHBhcmVudFJlY3QubGVmdDtcbiAgICAgICAgICB2YXIgcGFyZW50VG9wID0gcGFyZW50UmVjdC50b3A7XG5cbiAgICAgICAgICB2YXIgX3Jlc2l6YWJsZSRnZXRCb3VuZGluID0gdGhpcy5yZXNpemFibGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICAgICAgICAgIF9sZWZ0ID0gX3Jlc2l6YWJsZSRnZXRCb3VuZGluLmxlZnQsXG4gICAgICAgICAgICAgIF90b3AgPSBfcmVzaXphYmxlJGdldEJvdW5kaW4udG9wO1xuXG4gICAgICAgICAgdmFyIGJvdW5kV2lkdGggPSBwYXJlbnQub2Zmc2V0V2lkdGggKyAocGFyZW50TGVmdCAtIF9sZWZ0KTtcbiAgICAgICAgICB2YXIgYm91bmRIZWlnaHQgPSBwYXJlbnQub2Zmc2V0SGVpZ2h0ICsgKHBhcmVudFRvcCAtIF90b3ApO1xuICAgICAgICAgIG1heFdpZHRoID0gbWF4V2lkdGggJiYgbWF4V2lkdGggPCBib3VuZFdpZHRoID8gbWF4V2lkdGggOiBib3VuZFdpZHRoO1xuICAgICAgICAgIG1heEhlaWdodCA9IG1heEhlaWdodCAmJiBtYXhIZWlnaHQgPCBib3VuZEhlaWdodCA/IG1heEhlaWdodCA6IGJvdW5kSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMuYm91bmRzID09PSAnd2luZG93Jykge1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB2YXIgX3Jlc2l6YWJsZSRnZXRCb3VuZGluMiA9IHRoaXMucmVzaXphYmxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgICAgICBfbGVmdDIgPSBfcmVzaXphYmxlJGdldEJvdW5kaW4yLmxlZnQsXG4gICAgICAgICAgICAgIF90b3AyID0gX3Jlc2l6YWJsZSRnZXRCb3VuZGluMi50b3A7XG5cbiAgICAgICAgICB2YXIgX2JvdW5kV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aCAtIF9sZWZ0MjtcbiAgICAgICAgICB2YXIgX2JvdW5kSGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0IC0gX3RvcDI7XG4gICAgICAgICAgbWF4V2lkdGggPSBtYXhXaWR0aCAmJiBtYXhXaWR0aCA8IF9ib3VuZFdpZHRoID8gbWF4V2lkdGggOiBfYm91bmRXaWR0aDtcbiAgICAgICAgICBtYXhIZWlnaHQgPSBtYXhIZWlnaHQgJiYgbWF4SGVpZ2h0IDwgX2JvdW5kSGVpZ2h0ID8gbWF4SGVpZ2h0IDogX2JvdW5kSGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMucHJvcHMuYm91bmRzIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdmFyIHRhcmdldFJlY3QgPSB0aGlzLnByb3BzLmJvdW5kcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgdmFyIHRhcmdldExlZnQgPSB0YXJnZXRSZWN0LmxlZnQ7XG4gICAgICAgIHZhciB0YXJnZXRUb3AgPSB0YXJnZXRSZWN0LnRvcDtcblxuICAgICAgICB2YXIgX3Jlc2l6YWJsZSRnZXRCb3VuZGluMyA9IHRoaXMucmVzaXphYmxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgICAgX2xlZnQzID0gX3Jlc2l6YWJsZSRnZXRCb3VuZGluMy5sZWZ0LFxuICAgICAgICAgICAgX3RvcDMgPSBfcmVzaXphYmxlJGdldEJvdW5kaW4zLnRvcDtcblxuICAgICAgICBpZiAoISh0aGlzLnByb3BzLmJvdW5kcyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkgcmV0dXJuO1xuICAgICAgICB2YXIgX2JvdW5kV2lkdGgyID0gdGhpcy5wcm9wcy5ib3VuZHMub2Zmc2V0V2lkdGggKyAodGFyZ2V0TGVmdCAtIF9sZWZ0Myk7XG4gICAgICAgIHZhciBfYm91bmRIZWlnaHQyID0gdGhpcy5wcm9wcy5ib3VuZHMub2Zmc2V0SGVpZ2h0ICsgKHRhcmdldFRvcCAtIF90b3AzKTtcbiAgICAgICAgbWF4V2lkdGggPSBtYXhXaWR0aCAmJiBtYXhXaWR0aCA8IF9ib3VuZFdpZHRoMiA/IG1heFdpZHRoIDogX2JvdW5kV2lkdGgyO1xuICAgICAgICBtYXhIZWlnaHQgPSBtYXhIZWlnaHQgJiYgbWF4SGVpZ2h0IDwgX2JvdW5kSGVpZ2h0MiA/IG1heEhlaWdodCA6IF9ib3VuZEhlaWdodDI7XG4gICAgICB9XG5cbiAgICAgIHZhciBjb21wdXRlZE1pbldpZHRoID0gdHlwZW9mIG1pbldpZHRoID09PSAndW5kZWZpbmVkJyA/IDEwIDogbWluV2lkdGg7XG4gICAgICB2YXIgY29tcHV0ZWRNYXhXaWR0aCA9IHR5cGVvZiBtYXhXaWR0aCA9PT0gJ3VuZGVmaW5lZCcgfHwgbWF4V2lkdGggPCAwID8gbmV3V2lkdGggOiBtYXhXaWR0aDtcbiAgICAgIHZhciBjb21wdXRlZE1pbkhlaWdodCA9IHR5cGVvZiBtaW5IZWlnaHQgPT09ICd1bmRlZmluZWQnID8gMTAgOiBtaW5IZWlnaHQ7XG4gICAgICB2YXIgY29tcHV0ZWRNYXhIZWlnaHQgPSB0eXBlb2YgbWF4SGVpZ2h0ID09PSAndW5kZWZpbmVkJyB8fCBtYXhIZWlnaHQgPCAwID8gbmV3SGVpZ2h0IDogbWF4SGVpZ2h0O1xuXG4gICAgICBpZiAobG9ja0FzcGVjdFJhdGlvKSB7XG4gICAgICAgIHZhciBleHRyYU1pbldpZHRoID0gKGNvbXB1dGVkTWluSGVpZ2h0IC0gbG9ja0FzcGVjdFJhdGlvRXh0cmFIZWlnaHQpICogcmF0aW8gKyBsb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoO1xuICAgICAgICB2YXIgZXh0cmFNYXhXaWR0aCA9IChjb21wdXRlZE1heEhlaWdodCAtIGxvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0KSAqIHJhdGlvICsgbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aDtcbiAgICAgICAgdmFyIGV4dHJhTWluSGVpZ2h0ID0gKGNvbXB1dGVkTWluV2lkdGggLSBsb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoKSAvIHJhdGlvICsgbG9ja0FzcGVjdFJhdGlvRXh0cmFIZWlnaHQ7XG4gICAgICAgIHZhciBleHRyYU1heEhlaWdodCA9IChjb21wdXRlZE1heFdpZHRoIC0gbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aCkgLyByYXRpbyArIGxvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0O1xuICAgICAgICB2YXIgbG9ja2VkTWluV2lkdGggPSBNYXRoLm1heChjb21wdXRlZE1pbldpZHRoLCBleHRyYU1pbldpZHRoKTtcbiAgICAgICAgdmFyIGxvY2tlZE1heFdpZHRoID0gTWF0aC5taW4oY29tcHV0ZWRNYXhXaWR0aCwgZXh0cmFNYXhXaWR0aCk7XG4gICAgICAgIHZhciBsb2NrZWRNaW5IZWlnaHQgPSBNYXRoLm1heChjb21wdXRlZE1pbkhlaWdodCwgZXh0cmFNaW5IZWlnaHQpO1xuICAgICAgICB2YXIgbG9ja2VkTWF4SGVpZ2h0ID0gTWF0aC5taW4oY29tcHV0ZWRNYXhIZWlnaHQsIGV4dHJhTWF4SGVpZ2h0KTtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChuZXdXaWR0aCwgbG9ja2VkTWluV2lkdGgsIGxvY2tlZE1heFdpZHRoKTtcbiAgICAgICAgbmV3SGVpZ2h0ID0gY2xhbXAobmV3SGVpZ2h0LCBsb2NrZWRNaW5IZWlnaHQsIGxvY2tlZE1heEhlaWdodCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdXaWR0aCA9IGNsYW1wKG5ld1dpZHRoLCBjb21wdXRlZE1pbldpZHRoLCBjb21wdXRlZE1heFdpZHRoKTtcbiAgICAgICAgbmV3SGVpZ2h0ID0gY2xhbXAobmV3SGVpZ2h0LCBjb21wdXRlZE1pbkhlaWdodCwgY29tcHV0ZWRNYXhIZWlnaHQpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMuZ3JpZCkge1xuICAgICAgICBuZXdXaWR0aCA9IHNuYXAobmV3V2lkdGgsIHRoaXMucHJvcHMuZ3JpZFswXSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5wcm9wcy5ncmlkKSB7XG4gICAgICAgIG5ld0hlaWdodCA9IHNuYXAobmV3SGVpZ2h0LCB0aGlzLnByb3BzLmdyaWRbMV0pO1xuICAgICAgfVxuXG4gICAgICB2YXIgZGVsdGEgPSB7XG4gICAgICAgIHdpZHRoOiBuZXdXaWR0aCAtIG9yaWdpbmFsLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IG5ld0hlaWdodCAtIG9yaWdpbmFsLmhlaWdodFxuICAgICAgfTtcblxuICAgICAgaWYgKHdpZHRoICYmIHR5cGVvZiB3aWR0aCA9PT0gJ3N0cmluZycgJiYgZW5kc1dpdGgod2lkdGgsICclJykpIHtcbiAgICAgICAgdmFyIHBlcmNlbnQgPSBuZXdXaWR0aCAvIHBhcmVudFNpemUud2lkdGggKiAxMDA7XG4gICAgICAgIG5ld1dpZHRoID0gcGVyY2VudCArICclJztcbiAgICAgIH1cblxuICAgICAgaWYgKGhlaWdodCAmJiB0eXBlb2YgaGVpZ2h0ID09PSAnc3RyaW5nJyAmJiBlbmRzV2l0aChoZWlnaHQsICclJykpIHtcbiAgICAgICAgdmFyIF9wZXJjZW50ID0gbmV3SGVpZ2h0IC8gcGFyZW50U2l6ZS5oZWlnaHQgKiAxMDA7XG4gICAgICAgIG5ld0hlaWdodCA9IF9wZXJjZW50ICsgJyUnO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgd2lkdGg6IHRoaXMuY2FsY3VsYXRlTmV3U2l6ZShuZXdXaWR0aCwgJ3dpZHRoJyksXG4gICAgICAgIGhlaWdodDogdGhpcy5jYWxjdWxhdGVOZXdTaXplKG5ld0hlaWdodCwgJ2hlaWdodCcpXG4gICAgICB9KTtcblxuICAgICAgaWYgKHRoaXMucHJvcHMub25SZXNpemUpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vblJlc2l6ZShldmVudCwgZGlyZWN0aW9uLCB0aGlzLnJlc2l6YWJsZSwgZGVsdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ29uTW91c2VVcCcsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIG9uTW91c2VVcChldmVudCkge1xuICAgICAgdmFyIF9zdGF0ZTIgPSB0aGlzLnN0YXRlLFxuICAgICAgICAgIGlzUmVzaXppbmcgPSBfc3RhdGUyLmlzUmVzaXppbmcsXG4gICAgICAgICAgZGlyZWN0aW9uID0gX3N0YXRlMi5kaXJlY3Rpb24sXG4gICAgICAgICAgb3JpZ2luYWwgPSBfc3RhdGUyLm9yaWdpbmFsO1xuXG4gICAgICBpZiAoIWlzUmVzaXppbmcpIHJldHVybjtcbiAgICAgIHZhciBkZWx0YSA9IHtcbiAgICAgICAgd2lkdGg6IHRoaXMuc2l6ZS53aWR0aCAtIG9yaWdpbmFsLndpZHRoLFxuICAgICAgICBoZWlnaHQ6IHRoaXMuc2l6ZS5oZWlnaHQgLSBvcmlnaW5hbC5oZWlnaHRcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5wcm9wcy5vblJlc2l6ZVN0b3ApIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vblJlc2l6ZVN0b3AoZXZlbnQsIGRpcmVjdGlvbiwgdGhpcy5yZXNpemFibGUsIGRlbHRhKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLnNpemUpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh0aGlzLnByb3BzLnNpemUpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzUmVzaXppbmc6IGZhbHNlLCByZXNpemVDdXJzb3I6ICdhdXRvJyB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICd1cGRhdGVTaXplJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gdXBkYXRlU2l6ZShzaXplKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgd2lkdGg6IHNpemUud2lkdGgsIGhlaWdodDogc2l6ZS5oZWlnaHQgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAncmVuZGVyUmVzaXplcicsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlclJlc2l6ZXIoKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdmFyIF9wcm9wczMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGVuYWJsZSA9IF9wcm9wczMuZW5hYmxlLFxuICAgICAgICAgIGhhbmRsZVN0eWxlcyA9IF9wcm9wczMuaGFuZGxlU3R5bGVzLFxuICAgICAgICAgIGhhbmRsZUNsYXNzZXMgPSBfcHJvcHMzLmhhbmRsZUNsYXNzZXMsXG4gICAgICAgICAgaGFuZGxlV3JhcHBlclN0eWxlID0gX3Byb3BzMy5oYW5kbGVXcmFwcGVyU3R5bGUsXG4gICAgICAgICAgaGFuZGxlV3JhcHBlckNsYXNzID0gX3Byb3BzMy5oYW5kbGVXcmFwcGVyQ2xhc3MsXG4gICAgICAgICAgaGFuZGxlQ29tcG9uZW50ID0gX3Byb3BzMy5oYW5kbGVDb21wb25lbnQ7XG5cbiAgICAgIGlmICghZW5hYmxlKSByZXR1cm4gbnVsbDtcbiAgICAgIHZhciByZXNpemVycyA9IE9iamVjdC5rZXlzKGVuYWJsZSkubWFwKGZ1bmN0aW9uIChkaXIpIHtcbiAgICAgICAgaWYgKGVuYWJsZVtkaXJdICE9PSBmYWxzZSkge1xuICAgICAgICAgIHJldHVybiBjcmVhdGVFbGVtZW50KFxuICAgICAgICAgICAgUmVzaXplcixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2V5OiBkaXIsXG4gICAgICAgICAgICAgIGRpcmVjdGlvbjogZGlyLFxuICAgICAgICAgICAgICBvblJlc2l6ZVN0YXJ0OiBfdGhpczIub25SZXNpemVTdGFydCxcbiAgICAgICAgICAgICAgcmVwbGFjZVN0eWxlczogaGFuZGxlU3R5bGVzICYmIGhhbmRsZVN0eWxlc1tkaXJdLFxuICAgICAgICAgICAgICBjbGFzc05hbWU6IGhhbmRsZUNsYXNzZXMgJiYgaGFuZGxlQ2xhc3Nlc1tkaXJdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFuZGxlQ29tcG9uZW50ICYmIGhhbmRsZUNvbXBvbmVudFtkaXJdID8gY3JlYXRlRWxlbWVudChoYW5kbGVDb21wb25lbnRbZGlyXSkgOiBudWxsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0pO1xuICAgICAgLy8gIzkzIFdyYXAgdGhlIHJlc2l6ZSBib3ggaW4gc3BhbiAod2lsbCBub3QgYnJlYWsgMTAwJSB3aWR0aC9oZWlnaHQpXG4gICAgICByZXR1cm4gY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ3NwYW4nLFxuICAgICAgICB7IGNsYXNzTmFtZTogaGFuZGxlV3JhcHBlckNsYXNzLCBzdHlsZTogaGFuZGxlV3JhcHBlclN0eWxlIH0sXG4gICAgICAgIHJlc2l6ZXJzXG4gICAgICApO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ3JlbmRlcicsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcbiAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICB2YXIgdXNlclNlbGVjdCA9IHRoaXMuc3RhdGUuaXNSZXNpemluZyA/IHVzZXJTZWxlY3ROb25lIDogdXNlclNlbGVjdEF1dG87XG4gICAgICByZXR1cm4gY3JlYXRlRWxlbWVudChcbiAgICAgICAgJ2RpdicsXG4gICAgICAgIF9leHRlbmRzKHtcbiAgICAgICAgICByZWY6IGZ1bmN0aW9uIHJlZihjKSB7XG4gICAgICAgICAgICBpZiAoYykge1xuICAgICAgICAgICAgICBfdGhpczMucmVzaXphYmxlID0gYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0eWxlOiBfZXh0ZW5kcyh7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJ1xuICAgICAgICAgIH0sIHVzZXJTZWxlY3QsIHRoaXMucHJvcHMuc3R5bGUsIHRoaXMuc2l6ZVN0eWxlLCB7XG4gICAgICAgICAgICBtYXhXaWR0aDogdGhpcy5wcm9wcy5tYXhXaWR0aCxcbiAgICAgICAgICAgIG1heEhlaWdodDogdGhpcy5wcm9wcy5tYXhIZWlnaHQsXG4gICAgICAgICAgICBtaW5XaWR0aDogdGhpcy5wcm9wcy5taW5XaWR0aCxcbiAgICAgICAgICAgIG1pbkhlaWdodDogdGhpcy5wcm9wcy5taW5IZWlnaHQsXG4gICAgICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94J1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNsYXNzTmFtZTogdGhpcy5wcm9wcy5jbGFzc05hbWVcbiAgICAgICAgfSwgdGhpcy5leHRlbmRzUHJvcHMpLFxuICAgICAgICB0aGlzLnN0YXRlLmlzUmVzaXppbmcgJiYgY3JlYXRlRWxlbWVudCgnZGl2Jywge1xuICAgICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsMCwwLDApJyxcbiAgICAgICAgICAgIGN1cnNvcjogJycgKyAodGhpcy5zdGF0ZS5yZXNpemVDdXJzb3IgfHwgJ2F1dG8nKSxcbiAgICAgICAgICAgIG9wYWNpdHk6ICcwJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICAgICAgekluZGV4OiAnOTk5OScsXG4gICAgICAgICAgICB0b3A6ICcwJyxcbiAgICAgICAgICAgIGxlZnQ6ICcwJyxcbiAgICAgICAgICAgIGJvdHRvbTogJzAnLFxuICAgICAgICAgICAgcmlnaHQ6ICcwJ1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW4sXG4gICAgICAgIHRoaXMucmVuZGVyUmVzaXplcigpXG4gICAgICApO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ3BhcmVudE5vZGUnLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0JCQxKCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzaXphYmxlLnBhcmVudE5vZGU7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAncHJvcHNTaXplJyxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCQkMSgpIHtcbiAgICAgIHJldHVybiB0aGlzLnByb3BzLnNpemUgfHwgdGhpcy5wcm9wcy5kZWZhdWx0U2l6ZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdiYXNlJyxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCQkMSgpIHtcbiAgICAgIHZhciBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7XG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHZhciBjaGlsZHJlbiA9IFtdLnNsaWNlLmNhbGwocGFyZW50LmNoaWxkcmVuKTtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpICs9IDEpIHtcbiAgICAgICAgdmFyIG4gPSBjaGlsZHJlbltpXTtcbiAgICAgICAgaWYgKG4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgIGlmIChuLmNsYXNzTGlzdC5jb250YWlucyhiYXNlQ2xhc3NOYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIG47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ3NpemUnLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0JCQxKCkge1xuICAgICAgdmFyIHdpZHRoID0gMDtcbiAgICAgIHZhciBoZWlnaHQgPSAwO1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHZhciBvcmdXaWR0aCA9IHRoaXMucmVzaXphYmxlLm9mZnNldFdpZHRoO1xuICAgICAgICB2YXIgb3JnSGVpZ2h0ID0gdGhpcy5yZXNpemFibGUub2Zmc2V0SGVpZ2h0O1xuICAgICAgICAvLyBIQUNLOiBTZXQgcG9zaXRpb24gYHJlbGF0aXZlYCB0byBnZXQgcGFyZW50IHNpemUuXG4gICAgICAgIC8vICAgICAgIFRoaXMgaXMgYmVjYXVzZSB3aGVuIHJlLXJlc2l6YWJsZSBzZXQgYGFic29sdXRlYCwgSSBjYW4gbm90IGdldCBiYXNlIHdpZHRoIGNvcnJlY3RseS5cbiAgICAgICAgdmFyIG9yZ1Bvc2l0aW9uID0gdGhpcy5yZXNpemFibGUuc3R5bGUucG9zaXRpb247XG4gICAgICAgIGlmIChvcmdQb3NpdGlvbiAhPT0gJ3JlbGF0aXZlJykge1xuICAgICAgICAgIHRoaXMucmVzaXphYmxlLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgICAgfVxuICAgICAgICAvLyBJTkZPOiBVc2Ugb3JpZ2luYWwgd2lkdGggb3IgaGVpZ2h0IGlmIHNldCBhdXRvLlxuICAgICAgICB3aWR0aCA9IHRoaXMucmVzaXphYmxlLnN0eWxlLndpZHRoICE9PSAnYXV0bycgPyB0aGlzLnJlc2l6YWJsZS5vZmZzZXRXaWR0aCA6IG9yZ1dpZHRoO1xuICAgICAgICBoZWlnaHQgPSB0aGlzLnJlc2l6YWJsZS5zdHlsZS5oZWlnaHQgIT09ICdhdXRvJyA/IHRoaXMucmVzaXphYmxlLm9mZnNldEhlaWdodCA6IG9yZ0hlaWdodDtcbiAgICAgICAgLy8gUmVzdG9yZSBvcmlnaW5hbCBwb3NpdGlvblxuICAgICAgICB0aGlzLnJlc2l6YWJsZS5zdHlsZS5wb3NpdGlvbiA9IG9yZ1Bvc2l0aW9uO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsgd2lkdGg6IHdpZHRoLCBoZWlnaHQ6IGhlaWdodCB9O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ3NpemVTdHlsZScsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQkJDEoKSB7XG4gICAgICB2YXIgX3RoaXM0ID0gdGhpcztcblxuICAgICAgdmFyIHNpemUgPSB0aGlzLnByb3BzLnNpemU7XG5cbiAgICAgIHZhciBnZXRTaXplID0gZnVuY3Rpb24gZ2V0U2l6ZShrZXkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBfdGhpczQuc3RhdGVba2V5XSA9PT0gJ3VuZGVmaW5lZCcgfHwgX3RoaXM0LnN0YXRlW2tleV0gPT09ICdhdXRvJykgcmV0dXJuICdhdXRvJztcbiAgICAgICAgaWYgKF90aGlzNC5wcm9wc1NpemUgJiYgX3RoaXM0LnByb3BzU2l6ZVtrZXldICYmIGVuZHNXaXRoKF90aGlzNC5wcm9wc1NpemVba2V5XS50b1N0cmluZygpLCAnJScpKSB7XG4gICAgICAgICAgaWYgKGVuZHNXaXRoKF90aGlzNC5zdGF0ZVtrZXldLnRvU3RyaW5nKCksICclJykpIHJldHVybiBfdGhpczQuc3RhdGVba2V5XS50b1N0cmluZygpO1xuICAgICAgICAgIHZhciBwYXJlbnRTaXplID0gX3RoaXM0LmdldFBhcmVudFNpemUoKTtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBOdW1iZXIoX3RoaXM0LnN0YXRlW2tleV0udG9TdHJpbmcoKS5yZXBsYWNlKCdweCcsICcnKSk7XG4gICAgICAgICAgdmFyIHBlcmNlbnQgPSB2YWx1ZSAvIHBhcmVudFNpemVba2V5XSAqIDEwMDtcbiAgICAgICAgICByZXR1cm4gcGVyY2VudCArICclJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0U3RyaW5nU2l6ZShfdGhpczQuc3RhdGVba2V5XSk7XG4gICAgICB9O1xuICAgICAgdmFyIHdpZHRoID0gc2l6ZSAmJiB0eXBlb2Ygc2l6ZS53aWR0aCAhPT0gJ3VuZGVmaW5lZCcgJiYgIXRoaXMuc3RhdGUuaXNSZXNpemluZyA/IGdldFN0cmluZ1NpemUoc2l6ZS53aWR0aCkgOiBnZXRTaXplKCd3aWR0aCcpO1xuICAgICAgdmFyIGhlaWdodCA9IHNpemUgJiYgdHlwZW9mIHNpemUuaGVpZ2h0ICE9PSAndW5kZWZpbmVkJyAmJiAhdGhpcy5zdGF0ZS5pc1Jlc2l6aW5nID8gZ2V0U3RyaW5nU2l6ZShzaXplLmhlaWdodCkgOiBnZXRTaXplKCdoZWlnaHQnKTtcbiAgICAgIHJldHVybiB7IHdpZHRoOiB3aWR0aCwgaGVpZ2h0OiBoZWlnaHQgfTtcbiAgICB9XG4gIH1dKTtcbiAgcmV0dXJuIFJlc2l6YWJsZTtcbn0oQ29tcG9uZW50KTtcblxuUmVzaXphYmxlLmRlZmF1bHRQcm9wcyA9IHtcbiAgb25SZXNpemVTdGFydDogZnVuY3Rpb24gb25SZXNpemVTdGFydCgpIHt9LFxuICBvblJlc2l6ZTogZnVuY3Rpb24gb25SZXNpemUoKSB7fSxcbiAgb25SZXNpemVTdG9wOiBmdW5jdGlvbiBvblJlc2l6ZVN0b3AoKSB7fSxcbiAgZW5hYmxlOiB7XG4gICAgdG9wOiB0cnVlLFxuICAgIHJpZ2h0OiB0cnVlLFxuICAgIGJvdHRvbTogdHJ1ZSxcbiAgICBsZWZ0OiB0cnVlLFxuICAgIHRvcFJpZ2h0OiB0cnVlLFxuICAgIGJvdHRvbVJpZ2h0OiB0cnVlLFxuICAgIGJvdHRvbUxlZnQ6IHRydWUsXG4gICAgdG9wTGVmdDogdHJ1ZVxuICB9LFxuICBzdHlsZToge30sXG4gIGdyaWQ6IFsxLCAxXSxcbiAgbG9ja0FzcGVjdFJhdGlvOiBmYWxzZSxcbiAgbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aDogMCxcbiAgbG9ja0FzcGVjdFJhdGlvRXh0cmFIZWlnaHQ6IDBcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlc2l6YWJsZTtcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL3JlLXJlc2l6YWJsZS9saWIvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDIzM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///233\n");
2655
 
2656
  /***/ }),
2657
  /* 234 */
@@ -2754,7 +2754,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
2754
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2755
 
2756
  "use strict";
2757
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n RangeControl = _wp$components.RangeControl,\n ToggleControl = _wp$components.ToggleControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t accordionTitle = _props$attributes.accordionTitle,\n\t\t\t accordionText = _props$attributes.accordionText,\n\t\t\t accordionFontSize = _props$attributes.accordionFontSize,\n\t\t\t accordionOpen = _props$attributes.accordionOpen;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: accordionFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ accordionFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Open by default'),\n\t\t\t\t\t\tchecked: accordionOpen,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ accordionOpen: !accordionOpen });\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1hY2NvcmRpb24vY29tcG9uZW50cy9pbnNwZWN0b3IuanM/YmZmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZTtcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFBhbmVsQ29sb3IgPSBfd3AkY29tcG9uZW50cy5QYW5lbENvbG9yLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIFNldHVwIHRoZSBhdHRyaWJ1dGVzXG5cdFx0XHR2YXIgX3Byb3BzJGF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgYWNjb3JkaW9uVGl0bGUgPSBfcHJvcHMkYXR0cmlidXRlcy5hY2NvcmRpb25UaXRsZSxcblx0XHRcdCAgICBhY2NvcmRpb25UZXh0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuYWNjb3JkaW9uVGV4dCxcblx0XHRcdCAgICBhY2NvcmRpb25Gb250U2l6ZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmFjY29yZGlvbkZvbnRTaXplLFxuXHRcdFx0ICAgIGFjY29yZGlvbk9wZW4gPSBfcHJvcHMkYXR0cmlidXRlcy5hY2NvcmRpb25PcGVuO1xuXG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRm9udCBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogYWNjb3JkaW9uRm9udFNpemUsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYWNjb3JkaW9uRm9udFNpemU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMTQsXG5cdFx0XHRcdFx0XHRtYXg6IDI0LFxuXHRcdFx0XHRcdFx0c3RlcDogMVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gYnkgZGVmYXVsdCcpLFxuXHRcdFx0XHRcdFx0Y2hlY2tlZDogYWNjb3JkaW9uT3Blbixcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSgpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYWNjb3JkaW9uT3BlbjogIWFjY29yZGlvbk9wZW4gfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gSW5zcGVjdG9yO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCBJbnNwZWN0b3I7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2Jsb2NrLWFjY29yZGlvbi9jb21wb25lbnRzL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gMjQyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///242\n");
2758
 
2759
  /***/ }),
2760
  /* 243 */
@@ -3744,7 +3744,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
3744
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3745
 
3746
  "use strict";
3747
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n MediaUpload = _wp$editor.MediaUpload;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl,\n IconButton = _wp$components.IconButton;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t buttonText = _props$attributes.buttonText,\n\t\t\t buttonUrl = _props$attributes.buttonUrl,\n\t\t\t buttonAlignment = _props$attributes.buttonAlignment,\n\t\t\t buttonBackgroundColor = _props$attributes.buttonBackgroundColor,\n\t\t\t buttonTextColor = _props$attributes.buttonTextColor,\n\t\t\t buttonSize = _props$attributes.buttonSize,\n\t\t\t buttonShape = _props$attributes.buttonShape,\n\t\t\t buttonTarget = _props$attributes.buttonTarget,\n\t\t\t ctaTitle = _props$attributes.ctaTitle,\n\t\t\t ctaText = _props$attributes.ctaText,\n\t\t\t ctaTitleFontSize = _props$attributes.ctaTitleFontSize,\n\t\t\t ctaTextFontSize = _props$attributes.ctaTextFontSize,\n\t\t\t ctaBackgroundColor = _props$attributes.ctaBackgroundColor,\n\t\t\t ctaTextColor = _props$attributes.ctaTextColor,\n\t\t\t dimRatio = _props$attributes.dimRatio,\n\t\t\t imgURL = _props$attributes.imgURL,\n\t\t\t imgID = _props$attributes.imgID,\n\t\t\t imgAlt = _props$attributes.imgAlt;\n\t\t\tvar setAttributes = this.props.setAttributes;\n\n\t\t\t// Button size values\n\n\t\t\tvar buttonSizeOptions = [{ value: 'ab-button-size-small', label: __('Small') }, { value: 'ab-button-size-medium', label: __('Medium') }, { value: 'ab-button-size-large', label: __('Large') }, { value: 'ab-button-size-extralarge', label: __('Extra Large') }];\n\n\t\t\t// Button shape\n\t\t\tvar buttonShapeOptions = [{ value: 'ab-button-shape-square', label: __('Square') }, { value: 'ab-button-shape-rounded', label: __('Rounded Square') }, { value: 'ab-button-shape-circular', label: __('Circular') }];\n\n\t\t\tvar onSelectImage = function onSelectImage(img) {\n\t\t\t\tsetAttributes({\n\t\t\t\t\timgID: img.id,\n\t\t\t\t\timgURL: img.url,\n\t\t\t\t\timgAlt: img.alt\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tvar onRemoveImage = function onRemoveImage() {\n\t\t\t\tsetAttributes({\n\t\t\t\t\timgID: null,\n\t\t\t\t\timgURL: null,\n\t\t\t\t\timgAlt: null\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{ title: __('Text Options'), initialOpen: true },\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Title Font Size'),\n\t\t\t\t\t\tvalue: ctaTitleFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ ctaTitleFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 24,\n\t\t\t\t\t\tmax: 60,\n\t\t\t\t\t\tstep: 2\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Text Font Size'),\n\t\t\t\t\t\tvalue: ctaTextFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ ctaTextFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 2\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\t\tcolorValue: ctaTextColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Text Color'),\n\t\t\t\t\t\t\tvalue: ctaTextColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ ctaTextColor: value });\n\t\t\t\t\t\t\t}\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\tPanelBody,\n\t\t\t\t\t{ title: __('Background Options'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t__('Select a background image:')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\t\tonSelect: onSelectImage,\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\tvalue: imgID,\n\t\t\t\t\t\trender: function render(_ref) {\n\t\t\t\t\t\t\tvar open = _ref.open;\n\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-cta-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Edit image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'format-image',\n\t\t\t\t\t\t\t\t\t\tonClick: open\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Select Image')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\timgURL && !!imgURL.length && wp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-cta-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Remove Image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'dismiss',\n\t\t\t\t\t\t\t\t\t\tonClick: onRemoveImage\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Remove')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\timgURL && !!imgURL.length && wp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Image Opacity'),\n\t\t\t\t\t\tvalue: dimRatio,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ dimRatio: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\tstep: 10\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\t\tcolorValue: ctaBackgroundColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Background Color'),\n\t\t\t\t\t\t\tvalue: ctaBackgroundColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ ctaBackgroundColor: value });\n\t\t\t\t\t\t\t}\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\tPanelBody,\n\t\t\t\t\t{ title: __('Button Options'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Open link in new window'),\n\t\t\t\t\t\tchecked: buttonTarget,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ buttonTarget: !buttonTarget });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Size'),\n\t\t\t\t\t\tvalue: buttonSize,\n\t\t\t\t\t\toptions: buttonSizeOptions.map(function (_ref2) {\n\t\t\t\t\t\t\tvar value = _ref2.value,\n\t\t\t\t\t\t\t label = _ref2.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonSize: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Shape'),\n\t\t\t\t\t\tvalue: buttonShape,\n\t\t\t\t\t\toptions: buttonShapeOptions.map(function (_ref3) {\n\t\t\t\t\t\t\tvar value = _ref3.value,\n\t\t\t\t\t\t\t label = _ref3.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonShape: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Button Color'),\n\t\t\t\t\t\t\tcolorValue: buttonBackgroundColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Button Color'),\n\t\t\t\t\t\t\tvalue: buttonBackgroundColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonBackgroundColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#392F43', name: 'black' }, { color: '#3373dc', name: 'royal blue' }, { color: '#2DBAA3', name: 'teal' }, { color: '#209cef', name: 'sky blue' }, { color: '#2BAD59', name: 'green' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#F7812B', name: 'orange' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Button Text Color'),\n\t\t\t\t\t\t\tcolorValue: buttonTextColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Button Text Color'),\n\t\t\t\t\t\t\tvalue: buttonTextColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonTextColor: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolors: [{ color: '#32373c', name: 'black' }, { color: '#fff', name: 'white' }]\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzMyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1jdGEvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/NGYyNCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZSxcbiAgICBNZWRpYVVwbG9hZCA9IF93cCRlZGl0b3IuTWVkaWFVcGxvYWQ7XG5cbi8vIEltcG9ydCBJbnNwZWN0b3IgY29tcG9uZW50c1xuXG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFRvb2xiYXIgPSBfd3AkY29tcG9uZW50cy5Ub29sYmFyLFxuICAgIEJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkJ1dHRvbixcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBQYW5lbENvbG9yID0gX3dwJGNvbXBvbmVudHMuUGFuZWxDb2xvcixcbiAgICBGb3JtVG9nZ2xlID0gX3dwJGNvbXBvbmVudHMuRm9ybVRvZ2dsZSxcbiAgICBSYW5nZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5SYW5nZUNvbnRyb2wsXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgSWNvbkJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkljb25CdXR0b247XG5cbi8qKlxuICogQ3JlYXRlIGFuIEluc3BlY3RvciBDb250cm9scyB3cmFwcGVyIENvbXBvbmVudFxuICovXG5cbnZhciBJbnNwZWN0b3IgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoSW5zcGVjdG9yLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBJbnNwZWN0b3IocHJvcHMpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgSW5zcGVjdG9yKTtcblxuXHRcdHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW5zcGVjdG9yKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoSW5zcGVjdG9yLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIGJ1dHRvblRleHQgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25UZXh0LFxuXHRcdFx0ICAgIGJ1dHRvblVybCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblVybCxcblx0XHRcdCAgICBidXR0b25BbGlnbm1lbnQgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25BbGlnbm1lbnQsXG5cdFx0XHQgICAgYnV0dG9uQmFja2dyb3VuZENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0ICAgIGJ1dHRvblRleHRDb2xvciA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblRleHRDb2xvcixcblx0XHRcdCAgICBidXR0b25TaXplID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uU2l6ZSxcblx0XHRcdCAgICBidXR0b25TaGFwZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblNoYXBlLFxuXHRcdFx0ICAgIGJ1dHRvblRhcmdldCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblRhcmdldCxcblx0XHRcdCAgICBjdGFUaXRsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmN0YVRpdGxlLFxuXHRcdFx0ICAgIGN0YVRleHQgPSBfcHJvcHMkYXR0cmlidXRlcy5jdGFUZXh0LFxuXHRcdFx0ICAgIGN0YVRpdGxlRm9udFNpemUgPSBfcHJvcHMkYXR0cmlidXRlcy5jdGFUaXRsZUZvbnRTaXplLFxuXHRcdFx0ICAgIGN0YVRleHRGb250U2l6ZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmN0YVRleHRGb250U2l6ZSxcblx0XHRcdCAgICBjdGFCYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5jdGFCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHQgICAgY3RhVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMuY3RhVGV4dENvbG9yLFxuXHRcdFx0ICAgIGRpbVJhdGlvID0gX3Byb3BzJGF0dHJpYnV0ZXMuZGltUmF0aW8sXG5cdFx0XHQgICAgaW1nVVJMID0gX3Byb3BzJGF0dHJpYnV0ZXMuaW1nVVJMLFxuXHRcdFx0ICAgIGltZ0lEID0gX3Byb3BzJGF0dHJpYnV0ZXMuaW1nSUQsXG5cdFx0XHQgICAgaW1nQWx0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuaW1nQWx0O1xuXHRcdFx0dmFyIHNldEF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXM7XG5cblx0XHRcdC8vIEJ1dHRvbiBzaXplIHZhbHVlc1xuXG5cdFx0XHR2YXIgYnV0dG9uU2l6ZU9wdGlvbnMgPSBbeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaXplLXNtYWxsJywgbGFiZWw6IF9fKCdTbWFsbCcpIH0sIHsgdmFsdWU6ICdhYi1idXR0b24tc2l6ZS1tZWRpdW0nLCBsYWJlbDogX18oJ01lZGl1bScpIH0sIHsgdmFsdWU6ICdhYi1idXR0b24tc2l6ZS1sYXJnZScsIGxhYmVsOiBfXygnTGFyZ2UnKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNpemUtZXh0cmFsYXJnZScsIGxhYmVsOiBfXygnRXh0cmEgTGFyZ2UnKSB9XTtcblxuXHRcdFx0Ly8gQnV0dG9uIHNoYXBlXG5cdFx0XHR2YXIgYnV0dG9uU2hhcGVPcHRpb25zID0gW3sgdmFsdWU6ICdhYi1idXR0b24tc2hhcGUtc3F1YXJlJywgbGFiZWw6IF9fKCdTcXVhcmUnKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNoYXBlLXJvdW5kZWQnLCBsYWJlbDogX18oJ1JvdW5kZWQgU3F1YXJlJykgfSwgeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaGFwZS1jaXJjdWxhcicsIGxhYmVsOiBfXygnQ2lyY3VsYXInKSB9XTtcblxuXHRcdFx0dmFyIG9uU2VsZWN0SW1hZ2UgPSBmdW5jdGlvbiBvblNlbGVjdEltYWdlKGltZykge1xuXHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRpbWdJRDogaW1nLmlkLFxuXHRcdFx0XHRcdGltZ1VSTDogaW1nLnVybCxcblx0XHRcdFx0XHRpbWdBbHQ6IGltZy5hbHRcblx0XHRcdFx0fSk7XG5cdFx0XHR9O1xuXG5cdFx0XHR2YXIgb25SZW1vdmVJbWFnZSA9IGZ1bmN0aW9uIG9uUmVtb3ZlSW1hZ2UoKSB7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdGltZ0lEOiBudWxsLFxuXHRcdFx0XHRcdGltZ1VSTDogbnVsbCxcblx0XHRcdFx0XHRpbWdBbHQ6IG51bGxcblx0XHRcdFx0fSk7XG5cdFx0XHR9O1xuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRJbnNwZWN0b3JDb250cm9scyxcblx0XHRcdFx0eyBrZXk6ICdpbnNwZWN0b3InIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0eyB0aXRsZTogX18oJ1RleHQgT3B0aW9ucycpLCBpbml0aWFsT3BlbjogdHJ1ZSB9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVGl0bGUgRm9udCBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogY3RhVGl0bGVGb250U2l6ZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjdGFUaXRsZUZvbnRTaXplOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDI0LFxuXHRcdFx0XHRcdFx0bWF4OiA2MCxcblx0XHRcdFx0XHRcdHN0ZXA6IDJcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RleHQgRm9udCBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogY3RhVGV4dEZvbnRTaXplLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGN0YVRleHRGb250U2l6ZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAxNCxcblx0XHRcdFx0XHRcdG1heDogMjQsXG5cdFx0XHRcdFx0XHRzdGVwOiAyXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxDb2xvcixcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdUZXh0IENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGNvbG9yVmFsdWU6IGN0YVRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGFsZXR0ZSwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGN0YVRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgY3RhVGV4dENvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0eyB0aXRsZTogX18oJ0JhY2tncm91bmQgT3B0aW9ucycpLCBpbml0aWFsT3BlbjogZmFsc2UgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQncCcsXG5cdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0X18oJ1NlbGVjdCBhIGJhY2tncm91bmQgaW1hZ2U6Jylcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChNZWRpYVVwbG9hZCwge1xuXHRcdFx0XHRcdFx0b25TZWxlY3Q6IG9uU2VsZWN0SW1hZ2UsXG5cdFx0XHRcdFx0XHR0eXBlOiAnaW1hZ2UnLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGltZ0lELFxuXHRcdFx0XHRcdFx0cmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoX3JlZikge1xuXHRcdFx0XHRcdFx0XHR2YXIgb3BlbiA9IF9yZWYub3Blbjtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEljb25CdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2FiLWN0YS1pbnNwZWN0b3ItbWVkaWEnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0VkaXQgaW1hZ2UnKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ2Zvcm1hdC1pbWFnZScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9wZW5cblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnU2VsZWN0IEltYWdlJylcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdGltZ1VSTCAmJiAhIWltZ1VSTC5sZW5ndGggJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0SWNvbkJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnYWItY3RhLWluc3BlY3Rvci1tZWRpYScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUmVtb3ZlIEltYWdlJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdkaXNtaXNzJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogb25SZW1vdmVJbWFnZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdSZW1vdmUnKVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRpbWdVUkwgJiYgISFpbWdVUkwubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnSW1hZ2UgT3BhY2l0eScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGRpbVJhdGlvLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGRpbVJhdGlvOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDAsXG5cdFx0XHRcdFx0XHRtYXg6IDEwMCxcblx0XHRcdFx0XHRcdHN0ZXA6IDEwXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxDb2xvcixcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdCYWNrZ3JvdW5kIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGNvbG9yVmFsdWU6IGN0YUJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGFsZXR0ZSwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0JhY2tncm91bmQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGN0YUJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgY3RhQmFja2dyb3VuZENvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0eyB0aXRsZTogX18oJ0J1dHRvbiBPcHRpb25zJyksIGluaXRpYWxPcGVuOiBmYWxzZSB9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gbGluayBpbiBuZXcgd2luZG93JyksXG5cdFx0XHRcdFx0XHRjaGVja2VkOiBidXR0b25UYXJnZXQsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGJ1dHRvblRhcmdldDogIWJ1dHRvblRhcmdldCB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCdXR0b24gU2l6ZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGJ1dHRvblNpemUsXG5cdFx0XHRcdFx0XHRvcHRpb25zOiBidXR0b25TaXplT3B0aW9ucy5tYXAoZnVuY3Rpb24gKF9yZWYyKSB7XG5cdFx0XHRcdFx0XHRcdHZhciB2YWx1ZSA9IF9yZWYyLnZhbHVlLFxuXHRcdFx0XHRcdFx0XHQgICAgbGFiZWwgPSBfcmVmMi5sYWJlbDtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IGxhYmVsXG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGJ1dHRvblNpemU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBTaGFwZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGJ1dHRvblNoYXBlLFxuXHRcdFx0XHRcdFx0b3B0aW9uczogYnV0dG9uU2hhcGVPcHRpb25zLm1hcChmdW5jdGlvbiAoX3JlZjMpIHtcblx0XHRcdFx0XHRcdFx0dmFyIHZhbHVlID0gX3JlZjMudmFsdWUsXG5cdFx0XHRcdFx0XHRcdCAgICBsYWJlbCA9IF9yZWYzLmxhYmVsO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogbGFiZWxcblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYnV0dG9uU2hhcGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQnV0dG9uIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGNvbG9yVmFsdWU6IGJ1dHRvbkJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGFsZXR0ZSwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGJ1dHRvbkJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGNvbG9yczogW3sgY29sb3I6ICcjMzkyRjQzJywgbmFtZTogJ2JsYWNrJyB9LCB7IGNvbG9yOiAnIzMzNzNkYycsIG5hbWU6ICdyb3lhbCBibHVlJyB9LCB7IGNvbG9yOiAnIzJEQkFBMycsIG5hbWU6ICd0ZWFsJyB9LCB7IGNvbG9yOiAnIzIwOWNlZicsIG5hbWU6ICdza3kgYmx1ZScgfSwgeyBjb2xvcjogJyMyQkFENTknLCBuYW1lOiAnZ3JlZW4nIH0sIHsgY29sb3I6ICcjZmYzODYwJywgbmFtZTogJ3BpbmsnIH0sIHsgY29sb3I6ICcjNzk0MWI2JywgbmFtZTogJ3B1cnBsZScgfSwgeyBjb2xvcjogJyNGNzgxMkInLCBuYW1lOiAnb3JhbmdlJyB9XVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQnV0dG9uIFRleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogYnV0dG9uVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2Vcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQYWxldHRlLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQnV0dG9uIFRleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGJ1dHRvblRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBidXR0b25UZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRjb2xvcnM6IFt7IGNvbG9yOiAnIzMyMzczYycsIG5hbWU6ICdibGFjaycgfSwgeyBjb2xvcjogJyNmZmYnLCBuYW1lOiAnd2hpdGUnIH1dXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gSW5zcGVjdG9yO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCBJbnNwZWN0b3I7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2Jsb2NrLWN0YS9jb21wb25lbnRzL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gMzMyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///332\n");
3748
 
3749
  /***/ }),
3750
  /* 333 */
@@ -4413,7 +4413,7 @@ webpackContext.id = 368;
4413
  /***/ (function(module, exports, __webpack_require__) {
4414
 
4415
  "use strict";
4416
- eval("\n\nvar has = Object.prototype.hasOwnProperty;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String} The decoded string.\n * @api private\n */\nfunction decode(input) {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n if (key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = [];\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (var key in obj) {\n if (has.call(obj, key)) {\n pairs.push(encodeURIComponent(key) +'='+ encodeURIComponent(obj[key]));\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzY5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3F1ZXJ5c3RyaW5naWZ5L2luZGV4LmpzPzRhNDciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaGFzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuLyoqXG4gKiBEZWNvZGUgYSBVUkkgZW5jb2RlZCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGlucHV0IFRoZSBVUkkgZW5jb2RlZCBzdHJpbmcuXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBUaGUgZGVjb2RlZCBzdHJpbmcuXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gZGVjb2RlKGlucHV0KSB7XG4gIHJldHVybiBkZWNvZGVVUklDb21wb25lbnQoaW5wdXQucmVwbGFjZSgvXFwrL2csICcgJykpO1xufVxuXG4vKipcbiAqIFNpbXBsZSBxdWVyeSBzdHJpbmcgcGFyc2VyLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBxdWVyeSBUaGUgcXVlcnkgc3RyaW5nIHRoYXQgbmVlZHMgdG8gYmUgcGFyc2VkLlxuICogQHJldHVybnMge09iamVjdH1cbiAqIEBhcGkgcHVibGljXG4gKi9cbmZ1bmN0aW9uIHF1ZXJ5c3RyaW5nKHF1ZXJ5KSB7XG4gIHZhciBwYXJzZXIgPSAvKFtePT8mXSspPT8oW14mXSopL2dcbiAgICAsIHJlc3VsdCA9IHt9XG4gICAgLCBwYXJ0O1xuXG4gIHdoaWxlIChwYXJ0ID0gcGFyc2VyLmV4ZWMocXVlcnkpKSB7XG4gICAgdmFyIGtleSA9IGRlY29kZShwYXJ0WzFdKVxuICAgICAgLCB2YWx1ZSA9IGRlY29kZShwYXJ0WzJdKTtcblxuICAgIC8vXG4gICAgLy8gUHJldmVudCBvdmVycmlkaW5nIG9mIGV4aXN0aW5nIHByb3BlcnRpZXMuIFRoaXMgZW5zdXJlcyB0aGF0IGJ1aWxkLWluXG4gICAgLy8gbWV0aG9kcyBsaWtlIGB0b1N0cmluZ2Agb3IgX19wcm90b19fIGFyZSBub3Qgb3ZlcnJpZGVuIGJ5IG1hbGljaW91c1xuICAgIC8vIHF1ZXJ5c3RyaW5ncy5cbiAgICAvL1xuICAgIGlmIChrZXkgaW4gcmVzdWx0KSBjb250aW51ZTtcbiAgICByZXN1bHRba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBUcmFuc2Zvcm0gYSBxdWVyeSBzdHJpbmcgdG8gYW4gb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvYmogT2JqZWN0IHRoYXQgc2hvdWxkIGJlIHRyYW5zZm9ybWVkLlxuICogQHBhcmFtIHtTdHJpbmd9IHByZWZpeCBPcHRpb25hbCBwcmVmaXguXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gcXVlcnlzdHJpbmdpZnkob2JqLCBwcmVmaXgpIHtcbiAgcHJlZml4ID0gcHJlZml4IHx8ICcnO1xuXG4gIHZhciBwYWlycyA9IFtdO1xuXG4gIC8vXG4gIC8vIE9wdGlvbmFsbHkgcHJlZml4IHdpdGggYSAnPycgaWYgbmVlZGVkXG4gIC8vXG4gIGlmICgnc3RyaW5nJyAhPT0gdHlwZW9mIHByZWZpeCkgcHJlZml4ID0gJz8nO1xuXG4gIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICBpZiAoaGFzLmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICBwYWlycy5wdXNoKGVuY29kZVVSSUNvbXBvbmVudChrZXkpICsnPScrIGVuY29kZVVSSUNvbXBvbmVudChvYmpba2V5XSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYWlycy5sZW5ndGggPyBwcmVmaXggKyBwYWlycy5qb2luKCcmJykgOiAnJztcbn1cblxuLy9cbi8vIEV4cG9zZSB0aGUgbW9kdWxlLlxuLy9cbmV4cG9ydHMuc3RyaW5naWZ5ID0gcXVlcnlzdHJpbmdpZnk7XG5leHBvcnRzLnBhcnNlID0gcXVlcnlzdHJpbmc7XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9xdWVyeXN0cmluZ2lmeS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMzY5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///369\n");
4417
 
4418
  /***/ }),
4419
  /* 370 */
@@ -4456,7 +4456,7 @@ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webp
4456
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4457
 
4458
  "use strict";
4459
- eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n MediaUpload = _wp$editor.MediaUpload;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n PanelColor = _wp$components.PanelColor,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl,\n IconButton = _wp$components.IconButton;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t containerPaddingTop = _props$attributes.containerPaddingTop,\n\t\t\t containerPaddingRight = _props$attributes.containerPaddingRight,\n\t\t\t containerPaddingBottom = _props$attributes.containerPaddingBottom,\n\t\t\t containerPaddingLeft = _props$attributes.containerPaddingLeft,\n\t\t\t containerMarginTop = _props$attributes.containerMarginTop,\n\t\t\t containerMarginBottom = _props$attributes.containerMarginBottom,\n\t\t\t containerMaxWidth = _props$attributes.containerMaxWidth,\n\t\t\t containerBackgroundColor = _props$attributes.containerBackgroundColor,\n\t\t\t containerDimRatio = _props$attributes.containerDimRatio,\n\t\t\t containerImgURL = _props$attributes.containerImgURL,\n\t\t\t containerImgID = _props$attributes.containerImgID,\n\t\t\t containerImgAlt = _props$attributes.containerImgAlt;\n\t\t\tvar setAttributes = this.props.setAttributes;\n\n\n\t\t\tvar onSelectImage = function onSelectImage(img) {\n\t\t\t\tsetAttributes({\n\t\t\t\t\tcontainerImgID: img.id,\n\t\t\t\t\tcontainerImgURL: img.url,\n\t\t\t\t\tcontainerImgAlt: img.alt\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tvar onRemoveImage = function onRemoveImage() {\n\t\t\t\tsetAttributes({\n\t\t\t\t\tcontainerImgID: null,\n\t\t\t\t\tcontainerImgURL: null,\n\t\t\t\t\tcontainerImgAlt: null\n\t\t\t\t});\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{ title: __('Container Options'), initialOpen: true },\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Top (%)'),\n\t\t\t\t\t\tvalue: containerPaddingTop,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingTop: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Bottom (%)'),\n\t\t\t\t\t\tvalue: containerPaddingBottom,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingBottom: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Left (%)'),\n\t\t\t\t\t\tvalue: containerPaddingLeft,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingLeft: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Right (%)'),\n\t\t\t\t\t\tvalue: containerPaddingRight,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingRight: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Margin Top (%)'),\n\t\t\t\t\t\tvalue: containerMarginTop,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerMarginTop: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Margin Bottom (%)'),\n\t\t\t\t\t\tvalue: containerMarginBottom,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerMarginBottom: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Inside Container Max Width (px)'),\n\t\t\t\t\t\tvalue: containerMaxWidth,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerMaxWidth: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 500,\n\t\t\t\t\t\tmax: 1600,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{ title: __('Background Options'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t__('Select a background image:')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\t\tonSelect: onSelectImage,\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\tvalue: containerImgID,\n\t\t\t\t\t\trender: function render(_ref) {\n\t\t\t\t\t\t\tvar open = _ref.open;\n\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-container-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Edit image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'format-image',\n\t\t\t\t\t\t\t\t\t\tonClick: open\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Select Image')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tcontainerImgURL && !!containerImgURL.length && wp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-container-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Remove Image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'dismiss',\n\t\t\t\t\t\t\t\t\t\tonClick: onRemoveImage\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Remove')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tcontainerImgURL && !!containerImgURL.length && wp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Image Opacity'),\n\t\t\t\t\t\tvalue: containerDimRatio,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerDimRatio: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\tstep: 10\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelColor,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\t\tcolorValue: containerBackgroundColor,\n\t\t\t\t\t\t\tinitialOpen: false\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\tlabel: __('Background Color'),\n\t\t\t\t\t\t\tvalue: containerBackgroundColor,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerBackgroundColor: value });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzczLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1jb250YWluZXIvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/ZjMzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZSxcbiAgICBNZWRpYVVwbG9hZCA9IF93cCRlZGl0b3IuTWVkaWFVcGxvYWQ7XG5cbi8vIEltcG9ydCBJbnNwZWN0b3IgY29tcG9uZW50c1xuXG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFRvb2xiYXIgPSBfd3AkY29tcG9uZW50cy5Ub29sYmFyLFxuICAgIEJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkJ1dHRvbixcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBQYW5lbENvbG9yID0gX3dwJGNvbXBvbmVudHMuUGFuZWxDb2xvcixcbiAgICBGb3JtVG9nZ2xlID0gX3dwJGNvbXBvbmVudHMuRm9ybVRvZ2dsZSxcbiAgICBSYW5nZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5SYW5nZUNvbnRyb2wsXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgSWNvbkJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkljb25CdXR0b247XG5cbi8qKlxuICogQ3JlYXRlIGFuIEluc3BlY3RvciBDb250cm9scyB3cmFwcGVyIENvbXBvbmVudFxuICovXG5cbnZhciBJbnNwZWN0b3IgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoSW5zcGVjdG9yLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBJbnNwZWN0b3IocHJvcHMpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgSW5zcGVjdG9yKTtcblxuXHRcdHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW5zcGVjdG9yKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoSW5zcGVjdG9yLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIGNvbnRhaW5lclBhZGRpbmdUb3AgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJQYWRkaW5nVG9wLFxuXHRcdFx0ICAgIGNvbnRhaW5lclBhZGRpbmdSaWdodCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmNvbnRhaW5lclBhZGRpbmdSaWdodCxcblx0XHRcdCAgICBjb250YWluZXJQYWRkaW5nQm90dG9tID0gX3Byb3BzJGF0dHJpYnV0ZXMuY29udGFpbmVyUGFkZGluZ0JvdHRvbSxcblx0XHRcdCAgICBjb250YWluZXJQYWRkaW5nTGVmdCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmNvbnRhaW5lclBhZGRpbmdMZWZ0LFxuXHRcdFx0ICAgIGNvbnRhaW5lck1hcmdpblRvcCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmNvbnRhaW5lck1hcmdpblRvcCxcblx0XHRcdCAgICBjb250YWluZXJNYXJnaW5Cb3R0b20gPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJNYXJnaW5Cb3R0b20sXG5cdFx0XHQgICAgY29udGFpbmVyTWF4V2lkdGggPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJNYXhXaWR0aCxcblx0XHRcdCAgICBjb250YWluZXJCYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHQgICAgY29udGFpbmVyRGltUmF0aW8gPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJEaW1SYXRpbyxcblx0XHRcdCAgICBjb250YWluZXJJbWdVUkwgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJJbWdVUkwsXG5cdFx0XHQgICAgY29udGFpbmVySW1nSUQgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJJbWdJRCxcblx0XHRcdCAgICBjb250YWluZXJJbWdBbHQgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJJbWdBbHQ7XG5cdFx0XHR2YXIgc2V0QXR0cmlidXRlcyA9IHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcztcblxuXG5cdFx0XHR2YXIgb25TZWxlY3RJbWFnZSA9IGZ1bmN0aW9uIG9uU2VsZWN0SW1hZ2UoaW1nKSB7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdGNvbnRhaW5lckltZ0lEOiBpbWcuaWQsXG5cdFx0XHRcdFx0Y29udGFpbmVySW1nVVJMOiBpbWcudXJsLFxuXHRcdFx0XHRcdGNvbnRhaW5lckltZ0FsdDogaW1nLmFsdFxuXHRcdFx0XHR9KTtcblx0XHRcdH07XG5cblx0XHRcdHZhciBvblJlbW92ZUltYWdlID0gZnVuY3Rpb24gb25SZW1vdmVJbWFnZSgpIHtcblx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0Y29udGFpbmVySW1nSUQ6IG51bGwsXG5cdFx0XHRcdFx0Y29udGFpbmVySW1nVVJMOiBudWxsLFxuXHRcdFx0XHRcdGNvbnRhaW5lckltZ0FsdDogbnVsbFxuXHRcdFx0XHR9KTtcblx0XHRcdH07XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHR7IHRpdGxlOiBfXygnQ29udGFpbmVyIE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IHRydWUgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1BhZGRpbmcgVG9wICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lclBhZGRpbmdUb3AsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgY29udGFpbmVyUGFkZGluZ1RvcDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0bWF4OiAyMCxcblx0XHRcdFx0XHRcdHN0ZXA6IC41XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQYWRkaW5nIEJvdHRvbSAoJSknKSxcblx0XHRcdFx0XHRcdHZhbHVlOiBjb250YWluZXJQYWRkaW5nQm90dG9tLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lclBhZGRpbmdCb3R0b206IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdG1heDogMjAsXG5cdFx0XHRcdFx0XHRzdGVwOiAuNVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUGFkZGluZyBMZWZ0ICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lclBhZGRpbmdMZWZ0LFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lclBhZGRpbmdMZWZ0OiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDAsXG5cdFx0XHRcdFx0XHRtYXg6IDIwLFxuXHRcdFx0XHRcdFx0c3RlcDogLjVcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1BhZGRpbmcgUmlnaHQgKCUpJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogY29udGFpbmVyUGFkZGluZ1JpZ2h0LFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lclBhZGRpbmdSaWdodDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0bWF4OiAyMCxcblx0XHRcdFx0XHRcdHN0ZXA6IC41XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdNYXJnaW4gVG9wICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lck1hcmdpblRvcCxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjb250YWluZXJNYXJnaW5Ub3A6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdG1heDogMjAsXG5cdFx0XHRcdFx0XHRzdGVwOiAxXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdNYXJnaW4gQm90dG9tICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lck1hcmdpbkJvdHRvbSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjb250YWluZXJNYXJnaW5Cb3R0b206IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdG1heDogMjAsXG5cdFx0XHRcdFx0XHRzdGVwOiAuNVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnSW5zaWRlIENvbnRhaW5lciBNYXggV2lkdGggKHB4KScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lck1heFdpZHRoLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lck1heFdpZHRoOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDUwMCxcblx0XHRcdFx0XHRcdG1heDogMTYwMCxcblx0XHRcdFx0XHRcdHN0ZXA6IDFcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdHsgdGl0bGU6IF9fKCdCYWNrZ3JvdW5kIE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J3AnLFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdF9fKCdTZWxlY3QgYSBiYWNrZ3JvdW5kIGltYWdlOicpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoTWVkaWFVcGxvYWQsIHtcblx0XHRcdFx0XHRcdG9uU2VsZWN0OiBvblNlbGVjdEltYWdlLFxuXHRcdFx0XHRcdFx0dHlwZTogJ2ltYWdlJyxcblx0XHRcdFx0XHRcdHZhbHVlOiBjb250YWluZXJJbWdJRCxcblx0XHRcdFx0XHRcdHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKF9yZWYpIHtcblx0XHRcdFx0XHRcdFx0dmFyIG9wZW4gPSBfcmVmLm9wZW47XG5cdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRJY29uQnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdhYi1jb250YWluZXItaW5zcGVjdG9yLW1lZGlhJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdFZGl0IGltYWdlJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdmb3JtYXQtaW1hZ2UnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBvcGVuXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ1NlbGVjdCBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRjb250YWluZXJJbWdVUkwgJiYgISFjb250YWluZXJJbWdVUkwubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEljb25CdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2FiLWNvbnRhaW5lci1pbnNwZWN0b3ItbWVkaWEnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JlbW92ZSBJbWFnZScpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnZGlzbWlzcycsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9uUmVtb3ZlSW1hZ2Vcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVtb3ZlJylcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0Y29udGFpbmVySW1nVVJMICYmICEhY29udGFpbmVySW1nVVJMLmxlbmd0aCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ltYWdlIE9wYWNpdHknKSxcblx0XHRcdFx0XHRcdHZhbHVlOiBjb250YWluZXJEaW1SYXRpbyxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjb250YWluZXJEaW1SYXRpbzogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRcdFx0XHRzdGVwOiAxMFxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQ29sb3IsXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQmFja2dyb3VuZCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHRjb2xvclZhbHVlOiBjb250YWluZXJCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChDb2xvclBhbGV0dGUsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCYWNrZ3JvdW5kIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBjb250YWluZXJCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lckJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stY29udGFpbmVyL2NvbXBvbmVudHMvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAzNzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///373\n");
4460
 
4461
  /***/ }),
4462
  /* 374 */
2237
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2238
 
2239
  "use strict";
2240
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n PanelColorSettings = _wp$editor.PanelColorSettings;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Cite Alignment Options\n\t\t\tvar citeAlignOptions = [{ value: 'left-aligned', label: __('Left Aligned') }, { value: 'right-aligned', label: __('Right Aligned') }];\n\n\t\t\tvar backgroundColors = [{ color: '#00d1b2', name: 'teal' }, { color: '#3373dc', name: 'royal blue' }, { color: '#209cef', name: 'sky blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#392F43', name: 'black' }];\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props = this.props,\n\t\t\t _props$attributes = _props.attributes,\n\t\t\t testimonialName = _props$attributes.testimonialName,\n\t\t\t testimonialTitle = _props$attributes.testimonialTitle,\n\t\t\t testimonialContent = _props$attributes.testimonialContent,\n\t\t\t testimonialAlignment = _props$attributes.testimonialAlignment,\n\t\t\t testimonialImgURL = _props$attributes.testimonialImgURL,\n\t\t\t testimonialImgID = _props$attributes.testimonialImgID,\n\t\t\t testimonialBackgroundColor = _props$attributes.testimonialBackgroundColor,\n\t\t\t testimonialTextColor = _props$attributes.testimonialTextColor,\n\t\t\t testimonialFontSize = _props$attributes.testimonialFontSize,\n\t\t\t testimonialCiteAlign = _props$attributes.testimonialCiteAlign,\n\t\t\t isSelected = _props.isSelected,\n\t\t\t className = _props.className,\n\t\t\t setAttributes = _props.setAttributes;\n\n\t\t\t// Update color values\n\n\t\t\tvar onChangeBackgroundColor = function onChangeBackgroundColor(value) {\n\t\t\t\treturn setAttributes({ testimonialBackgroundColor: value });\n\t\t\t};\n\t\t\tvar onChangeTextColor = function onChangeTextColor(value) {\n\t\t\t\treturn setAttributes({ testimonialTextColor: value });\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: testimonialFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ testimonialFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Cite Alignment'),\n\t\t\t\t\t\tdescription: __('Left or right align the cite name and title.'),\n\t\t\t\t\t\toptions: citeAlignOptions,\n\t\t\t\t\t\tvalue: testimonialCiteAlign,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ testimonialCiteAlign: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: testimonialBackgroundColor,\n\t\t\t\t\t\t\tcolors: backgroundColors,\n\t\t\t\t\t\t\tonChange: onChangeBackgroundColor,\n\t\t\t\t\t\t\tlabel: __('Background Color')\n\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: testimonialTextColor,\n\t\t\t\t\t\t\tonChange: onChangeTextColor,\n\t\t\t\t\t\t\tlabel: __('Text Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTk2LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay10ZXN0aW1vbmlhbC9jb21wb25lbnRzL2luc3BlY3Rvci5qcz9mNjlmIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuLyoqXG4gKiBJbnNwZWN0b3IgQ29udHJvbHNcbiAqL1xuXG4vLyBTZXR1cCB0aGUgYmxvY2tcbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgQ29tcG9uZW50ID0gd3AuZWxlbWVudC5Db21wb25lbnQ7XG5cbi8vIEltcG9ydCBibG9jayBjb21wb25lbnRzXG5cbnZhciBfd3AkZWRpdG9yID0gd3AuZWRpdG9yLFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scyxcbiAgICBCbG9ja0Rlc2NyaXB0aW9uID0gX3dwJGVkaXRvci5CbG9ja0Rlc2NyaXB0aW9uLFxuICAgIENvbG9yUGFsZXR0ZSA9IF93cCRlZGl0b3IuQ29sb3JQYWxldHRlLFxuICAgIFBhbmVsQ29sb3JTZXR0aW5ncyA9IF93cCRlZGl0b3IuUGFuZWxDb2xvclNldHRpbmdzO1xuXG4vLyBJbXBvcnQgSW5zcGVjdG9yIGNvbXBvbmVudHNcblxudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBUb29sYmFyID0gX3dwJGNvbXBvbmVudHMuVG9vbGJhcixcbiAgICBCdXR0b24gPSBfd3AkY29tcG9uZW50cy5CdXR0b24sXG4gICAgUGFuZWxCb2R5ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxCb2R5LFxuICAgIFBhbmVsUm93ID0gX3dwJGNvbXBvbmVudHMuUGFuZWxSb3csXG4gICAgRm9ybVRvZ2dsZSA9IF93cCRjb21wb25lbnRzLkZvcm1Ub2dnbGUsXG4gICAgUmFuZ2VDb250cm9sID0gX3dwJGNvbXBvbmVudHMuUmFuZ2VDb250cm9sLFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBJbnNwZWN0b3IgQ29udHJvbHMgd3JhcHBlciBDb21wb25lbnRcbiAqL1xuXG52YXIgSW5zcGVjdG9yID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKEluc3BlY3RvciwgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gSW5zcGVjdG9yKHByb3BzKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIEluc3BlY3Rvcik7XG5cblx0XHRyZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKEluc3BlY3Rvci5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKEluc3BlY3RvcikpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXHR9XG5cblx0X2NyZWF0ZUNsYXNzKEluc3BlY3RvciwgW3tcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3RoaXMyID0gdGhpcztcblxuXHRcdFx0Ly8gQ2l0ZSBBbGlnbm1lbnQgT3B0aW9uc1xuXHRcdFx0dmFyIGNpdGVBbGlnbk9wdGlvbnMgPSBbeyB2YWx1ZTogJ2xlZnQtYWxpZ25lZCcsIGxhYmVsOiBfXygnTGVmdCBBbGlnbmVkJykgfSwgeyB2YWx1ZTogJ3JpZ2h0LWFsaWduZWQnLCBsYWJlbDogX18oJ1JpZ2h0IEFsaWduZWQnKSB9XTtcblxuXHRcdFx0dmFyIGJhY2tncm91bmRDb2xvcnMgPSBbeyBjb2xvcjogJyMwMGQxYjInLCBuYW1lOiAndGVhbCcgfSwgeyBjb2xvcjogJyMzMzczZGMnLCBuYW1lOiAncm95YWwgYmx1ZScgfSwgeyBjb2xvcjogJyMyMDljZWYnLCBuYW1lOiAnc2t5IGJsdWUnIH0sIHsgY29sb3I6ICcjMjJkMjVmJywgbmFtZTogJ2dyZWVuJyB9LCB7IGNvbG9yOiAnI2ZmZGQ1NycsIG5hbWU6ICd5ZWxsb3cnIH0sIHsgY29sb3I6ICcjZmYzODYwJywgbmFtZTogJ3BpbmsnIH0sIHsgY29sb3I6ICcjNzk0MWI2JywgbmFtZTogJ3B1cnBsZScgfSwgeyBjb2xvcjogJyMzOTJGNDMnLCBuYW1lOiAnYmxhY2snIH1dO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG5cdFx0XHQgICAgX3Byb3BzJGF0dHJpYnV0ZXMgPSBfcHJvcHMuYXR0cmlidXRlcyxcblx0XHRcdCAgICB0ZXN0aW1vbmlhbE5hbWUgPSBfcHJvcHMkYXR0cmlidXRlcy50ZXN0aW1vbmlhbE5hbWUsXG5cdFx0XHQgICAgdGVzdGltb25pYWxUaXRsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRlc3RpbW9uaWFsVGl0bGUsXG5cdFx0XHQgICAgdGVzdGltb25pYWxDb250ZW50ID0gX3Byb3BzJGF0dHJpYnV0ZXMudGVzdGltb25pYWxDb250ZW50LFxuXHRcdFx0ICAgIHRlc3RpbW9uaWFsQWxpZ25tZW50ID0gX3Byb3BzJGF0dHJpYnV0ZXMudGVzdGltb25pYWxBbGlnbm1lbnQsXG5cdFx0XHQgICAgdGVzdGltb25pYWxJbWdVUkwgPSBfcHJvcHMkYXR0cmlidXRlcy50ZXN0aW1vbmlhbEltZ1VSTCxcblx0XHRcdCAgICB0ZXN0aW1vbmlhbEltZ0lEID0gX3Byb3BzJGF0dHJpYnV0ZXMudGVzdGltb25pYWxJbWdJRCxcblx0XHRcdCAgICB0ZXN0aW1vbmlhbEJhY2tncm91bmRDb2xvciA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRlc3RpbW9uaWFsQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0ICAgIHRlc3RpbW9uaWFsVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMudGVzdGltb25pYWxUZXh0Q29sb3IsXG5cdFx0XHQgICAgdGVzdGltb25pYWxGb250U2l6ZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnRlc3RpbW9uaWFsRm9udFNpemUsXG5cdFx0XHQgICAgdGVzdGltb25pYWxDaXRlQWxpZ24gPSBfcHJvcHMkYXR0cmlidXRlcy50ZXN0aW1vbmlhbENpdGVBbGlnbixcblx0XHRcdCAgICBpc1NlbGVjdGVkID0gX3Byb3BzLmlzU2VsZWN0ZWQsXG5cdFx0XHQgICAgY2xhc3NOYW1lID0gX3Byb3BzLmNsYXNzTmFtZSxcblx0XHRcdCAgICBzZXRBdHRyaWJ1dGVzID0gX3Byb3BzLnNldEF0dHJpYnV0ZXM7XG5cblx0XHRcdC8vIFVwZGF0ZSBjb2xvciB2YWx1ZXNcblxuXHRcdFx0dmFyIG9uQ2hhbmdlQmFja2dyb3VuZENvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VCYWNrZ3JvdW5kQ29sb3IodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB0ZXN0aW1vbmlhbEJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXHRcdFx0dmFyIG9uQ2hhbmdlVGV4dENvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VUZXh0Q29sb3IodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB0ZXN0aW1vbmlhbFRleHRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRJbnNwZWN0b3JDb250cm9scyxcblx0XHRcdFx0eyBrZXk6ICdpbnNwZWN0b3InIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ZvbnQgU2l6ZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IHRlc3RpbW9uaWFsRm9udFNpemUsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgdGVzdGltb25pYWxGb250U2l6ZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAxNCxcblx0XHRcdFx0XHRcdG1heDogMjQsXG5cdFx0XHRcdFx0XHRzdGVwOiAxXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQ2l0ZSBBbGlnbm1lbnQnKSxcblx0XHRcdFx0XHRcdGRlc2NyaXB0aW9uOiBfXygnTGVmdCBvciByaWdodCBhbGlnbiB0aGUgY2l0ZSBuYW1lIGFuZCB0aXRsZS4nKSxcblx0XHRcdFx0XHRcdG9wdGlvbnM6IGNpdGVBbGlnbk9wdGlvbnMsXG5cdFx0XHRcdFx0XHR2YWx1ZTogdGVzdGltb25pYWxDaXRlQWxpZ24sXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgdGVzdGltb25pYWxDaXRlQWxpZ246IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYW5lbENvbG9yU2V0dGluZ3MsIHtcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQmFja2dyb3VuZCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0Y29sb3JTZXR0aW5nczogW3tcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHRlc3RpbW9uaWFsQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRjb2xvcnM6IGJhY2tncm91bmRDb2xvcnMsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBvbkNoYW5nZUJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCYWNrZ3JvdW5kIENvbG9yJylcblxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb2xvclNldHRpbmdzLCB7XG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ1RleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZSxcblx0XHRcdFx0XHRcdGNvbG9yU2V0dGluZ3M6IFt7XG5cdFx0XHRcdFx0XHRcdHZhbHVlOiB0ZXN0aW1vbmlhbFRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RleHQgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stdGVzdGltb25pYWwvY29tcG9uZW50cy9pbnNwZWN0b3IuanNcbi8vIG1vZHVsZSBpZCA9IDE5NlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///196\n");
2241
 
2242
  /***/ }),
2243
  /* 197 */
2326
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2327
 
2328
  "use strict";
2329
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n PanelColorSettings = _wp$editor.PanelColorSettings;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Panel = _wp$components.Panel,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n TextControl = _wp$components.TextControl;\n\n// Create an Inspector Controls wrapper Component\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t profileName = _props$attributes.profileName,\n\t\t\t profileTitle = _props$attributes.profileTitle,\n\t\t\t profileContent = _props$attributes.profileContent,\n\t\t\t profileAlignment = _props$attributes.profileAlignment,\n\t\t\t profileImgURL = _props$attributes.profileImgURL,\n\t\t\t profileImgID = _props$attributes.profileImgID,\n\t\t\t profileFontSize = _props$attributes.profileFontSize,\n\t\t\t profileBackgroundColor = _props$attributes.profileBackgroundColor,\n\t\t\t profileTextColor = _props$attributes.profileTextColor,\n\t\t\t profileLinkColor = _props$attributes.profileLinkColor,\n\t\t\t twitter = _props$attributes.twitter,\n\t\t\t facebook = _props$attributes.facebook,\n\t\t\t instagram = _props$attributes.instagram,\n\t\t\t pinterest = _props$attributes.pinterest,\n\t\t\t google = _props$attributes.google,\n\t\t\t youtube = _props$attributes.youtube,\n\t\t\t github = _props$attributes.github,\n\t\t\t email = _props$attributes.email,\n\t\t\t website = _props$attributes.website,\n\t\t\t profileAvatarShape = _props$attributes.profileAvatarShape;\n\t\t\tvar setAttributes = this.props.setAttributes;\n\n\t\t\t// Avatar shape options\n\n\t\t\tvar profileAvatarShapeOptions = [{ value: 'square', label: __('Square') }, { value: 'round', label: __('Round') }];\n\n\t\t\t// Update color values\n\t\t\tvar onChangeBackgroundColor = function onChangeBackgroundColor(value) {\n\t\t\t\treturn setAttributes({ profileBackgroundColor: value });\n\t\t\t};\n\t\t\tvar onChangeProfileTextColor = function onChangeProfileTextColor(value) {\n\t\t\t\treturn setAttributes({ profileTextColor: value });\n\t\t\t};\n\t\t\tvar onChangeSocialLinkColor = function onChangeSocialLinkColor(value) {\n\t\t\t\treturn setAttributes({ profileLinkColor: value });\n\t\t\t};\n\n\t\t\t// Social button colors\n\t\t\tvar socialColors = [{ color: '#392F43', name: 'black' }, { color: '#3373dc', name: 'royal blue' }, { color: '#2DBAA3', name: 'teal' }, { color: '#209cef', name: 'sky blue' }, { color: '#2BAD59', name: 'green' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#F7812B', name: 'orange' }];\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: profileFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ profileFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Avatar Shape'),\n\t\t\t\t\t\tdescription: __('Choose between a round or square avatar shape.'),\n\t\t\t\t\t\toptions: profileAvatarShapeOptions,\n\t\t\t\t\t\tvalue: profileAvatarShape,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ profileAvatarShape: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: profileBackgroundColor,\n\t\t\t\t\t\t\tonChange: onChangeBackgroundColor,\n\t\t\t\t\t\t\tlabel: __('Background Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: profileTextColor,\n\t\t\t\t\t\t\tonChange: onChangeProfileTextColor,\n\t\t\t\t\t\t\tlabel: __('Text Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Social Link Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: profileLinkColor,\n\t\t\t\t\t\t\tonChange: onChangeSocialLinkColor,\n\t\t\t\t\t\t\tlabel: __('Social Link Color'),\n\t\t\t\t\t\t\tcolors: socialColors\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\tPanelBody,\n\t\t\t\t\t{ title: __('Social Links'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t__('Add links to your social media site and they will appear in the bottom of the profile box.')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Twitter URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: twitter,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ twitter: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Facebook URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: facebook,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ facebook: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Instagram URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: instagram,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ instagram: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Pinterest URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: pinterest,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ pinterest: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Google URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: google,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ google: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('YouTube URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: youtube,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ youtube: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Github URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: github,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ github: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Email URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: email,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ email: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Website URL'),\n\t\t\t\t\t\ttype: 'url',\n\t\t\t\t\t\tvalue: website,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ website: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjA0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1hdXRob3ItcHJvZmlsZS9jb21wb25lbnRzL2luc3BlY3Rvci5qcz9mMWJkIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuLyoqXG4gKiBJbnNwZWN0b3IgQ29udHJvbHNcbiAqL1xuXG4vLyBTZXR1cCB0aGUgYmxvY2tcbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgQ29tcG9uZW50ID0gd3AuZWxlbWVudC5Db21wb25lbnQ7XG5cbi8vIEltcG9ydCBibG9jayBjb21wb25lbnRzXG5cbnZhciBfd3AkZWRpdG9yID0gd3AuZWRpdG9yLFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scyxcbiAgICBCbG9ja0Rlc2NyaXB0aW9uID0gX3dwJGVkaXRvci5CbG9ja0Rlc2NyaXB0aW9uLFxuICAgIENvbG9yUGFsZXR0ZSA9IF93cCRlZGl0b3IuQ29sb3JQYWxldHRlLFxuICAgIFBhbmVsQ29sb3JTZXR0aW5ncyA9IF93cCRlZGl0b3IuUGFuZWxDb2xvclNldHRpbmdzO1xuXG4vLyBJbXBvcnQgSW5zcGVjdG9yIGNvbXBvbmVudHNcblxudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBQYW5lbCA9IF93cCRjb21wb25lbnRzLlBhbmVsLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbCxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sO1xuXG4vLyBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG5cbnZhciBJbnNwZWN0b3IgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoSW5zcGVjdG9yLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBJbnNwZWN0b3IocHJvcHMpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgSW5zcGVjdG9yKTtcblxuXHRcdHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW5zcGVjdG9yKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoSW5zcGVjdG9yLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIHByb2ZpbGVOYW1lID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZU5hbWUsXG5cdFx0XHQgICAgcHJvZmlsZVRpdGxlID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZVRpdGxlLFxuXHRcdFx0ICAgIHByb2ZpbGVDb250ZW50ID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUNvbnRlbnQsXG5cdFx0XHQgICAgcHJvZmlsZUFsaWdubWVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVBbGlnbm1lbnQsXG5cdFx0XHQgICAgcHJvZmlsZUltZ1VSTCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVJbWdVUkwsXG5cdFx0XHQgICAgcHJvZmlsZUltZ0lEID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUltZ0lELFxuXHRcdFx0ICAgIHByb2ZpbGVGb250U2l6ZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVGb250U2l6ZSxcblx0XHRcdCAgICBwcm9maWxlQmFja2dyb3VuZENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUJhY2tncm91bmRDb2xvcixcblx0XHRcdCAgICBwcm9maWxlVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZVRleHRDb2xvcixcblx0XHRcdCAgICBwcm9maWxlTGlua0NvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMucHJvZmlsZUxpbmtDb2xvcixcblx0XHRcdCAgICB0d2l0dGVyID0gX3Byb3BzJGF0dHJpYnV0ZXMudHdpdHRlcixcblx0XHRcdCAgICBmYWNlYm9vayA9IF9wcm9wcyRhdHRyaWJ1dGVzLmZhY2Vib29rLFxuXHRcdFx0ICAgIGluc3RhZ3JhbSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmluc3RhZ3JhbSxcblx0XHRcdCAgICBwaW50ZXJlc3QgPSBfcHJvcHMkYXR0cmlidXRlcy5waW50ZXJlc3QsXG5cdFx0XHQgICAgZ29vZ2xlID0gX3Byb3BzJGF0dHJpYnV0ZXMuZ29vZ2xlLFxuXHRcdFx0ICAgIHlvdXR1YmUgPSBfcHJvcHMkYXR0cmlidXRlcy55b3V0dWJlLFxuXHRcdFx0ICAgIGdpdGh1YiA9IF9wcm9wcyRhdHRyaWJ1dGVzLmdpdGh1Yixcblx0XHRcdCAgICBlbWFpbCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmVtYWlsLFxuXHRcdFx0ICAgIHdlYnNpdGUgPSBfcHJvcHMkYXR0cmlidXRlcy53ZWJzaXRlLFxuXHRcdFx0ICAgIHByb2ZpbGVBdmF0YXJTaGFwZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnByb2ZpbGVBdmF0YXJTaGFwZTtcblx0XHRcdHZhciBzZXRBdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzO1xuXG5cdFx0XHQvLyBBdmF0YXIgc2hhcGUgb3B0aW9uc1xuXG5cdFx0XHR2YXIgcHJvZmlsZUF2YXRhclNoYXBlT3B0aW9ucyA9IFt7IHZhbHVlOiAnc3F1YXJlJywgbGFiZWw6IF9fKCdTcXVhcmUnKSB9LCB7IHZhbHVlOiAncm91bmQnLCBsYWJlbDogX18oJ1JvdW5kJykgfV07XG5cblx0XHRcdC8vIFVwZGF0ZSBjb2xvciB2YWx1ZXNcblx0XHRcdHZhciBvbkNoYW5nZUJhY2tncm91bmRDb2xvciA9IGZ1bmN0aW9uIG9uQ2hhbmdlQmFja2dyb3VuZENvbG9yKHZhbHVlKSB7XG5cdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgcHJvZmlsZUJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXHRcdFx0dmFyIG9uQ2hhbmdlUHJvZmlsZVRleHRDb2xvciA9IGZ1bmN0aW9uIG9uQ2hhbmdlUHJvZmlsZVRleHRDb2xvcih2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IHByb2ZpbGVUZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0fTtcblx0XHRcdHZhciBvbkNoYW5nZVNvY2lhbExpbmtDb2xvciA9IGZ1bmN0aW9uIG9uQ2hhbmdlU29jaWFsTGlua0NvbG9yKHZhbHVlKSB7XG5cdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgcHJvZmlsZUxpbmtDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBTb2NpYWwgYnV0dG9uIGNvbG9yc1xuXHRcdFx0dmFyIHNvY2lhbENvbG9ycyA9IFt7IGNvbG9yOiAnIzM5MkY0MycsIG5hbWU6ICdibGFjaycgfSwgeyBjb2xvcjogJyMzMzczZGMnLCBuYW1lOiAncm95YWwgYmx1ZScgfSwgeyBjb2xvcjogJyMyREJBQTMnLCBuYW1lOiAndGVhbCcgfSwgeyBjb2xvcjogJyMyMDljZWYnLCBuYW1lOiAnc2t5IGJsdWUnIH0sIHsgY29sb3I6ICcjMkJBRDU5JywgbmFtZTogJ2dyZWVuJyB9LCB7IGNvbG9yOiAnI2ZmMzg2MCcsIG5hbWU6ICdwaW5rJyB9LCB7IGNvbG9yOiAnIzc5NDFiNicsIG5hbWU6ICdwdXJwbGUnIH0sIHsgY29sb3I6ICcjRjc4MTJCJywgbmFtZTogJ29yYW5nZScgfV07XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRm9udCBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogcHJvZmlsZUZvbnRTaXplLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHByb2ZpbGVGb250U2l6ZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAxNCxcblx0XHRcdFx0XHRcdG1heDogMjQsXG5cdFx0XHRcdFx0XHRzdGVwOiAxXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQXZhdGFyIFNoYXBlJyksXG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvbjogX18oJ0Nob29zZSBiZXR3ZWVuIGEgcm91bmQgb3Igc3F1YXJlIGF2YXRhciBzaGFwZS4nKSxcblx0XHRcdFx0XHRcdG9wdGlvbnM6IHByb2ZpbGVBdmF0YXJTaGFwZU9wdGlvbnMsXG5cdFx0XHRcdFx0XHR2YWx1ZTogcHJvZmlsZUF2YXRhclNoYXBlLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHByb2ZpbGVBdmF0YXJTaGFwZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFBhbmVsQ29sb3JTZXR0aW5ncywge1xuXHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdCYWNrZ3JvdW5kIENvbG9yJyksXG5cdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRjb2xvclNldHRpbmdzOiBbe1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTogcHJvZmlsZUJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0JhY2tncm91bmQgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb2xvclNldHRpbmdzLCB7XG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ1RleHQgQ29sb3InKSxcblx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZSxcblx0XHRcdFx0XHRcdGNvbG9yU2V0dGluZ3M6IFt7XG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBwcm9maWxlVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogb25DaGFuZ2VQcm9maWxlVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RleHQgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb2xvclNldHRpbmdzLCB7XG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ1NvY2lhbCBMaW5rIENvbG9yJyksXG5cdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRjb2xvclNldHRpbmdzOiBbe1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTogcHJvZmlsZUxpbmtDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlU29jaWFsTGlua0NvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1NvY2lhbCBMaW5rIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGNvbG9yczogc29jaWFsQ29sb3JzXG5cdFx0XHRcdFx0XHR9XVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0eyB0aXRsZTogX18oJ1NvY2lhbCBMaW5rcycpLCBpbml0aWFsT3BlbjogZmFsc2UgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQncCcsXG5cdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0X18oJ0FkZCBsaW5rcyB0byB5b3VyIHNvY2lhbCBtZWRpYSBzaXRlIGFuZCB0aGV5IHdpbGwgYXBwZWFyIGluIHRoZSBib3R0b20gb2YgdGhlIHByb2ZpbGUgYm94LicpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVHdpdHRlciBVUkwnKSxcblx0XHRcdFx0XHRcdHR5cGU6ICd1cmwnLFxuXHRcdFx0XHRcdFx0dmFsdWU6IHR3aXR0ZXIsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgdHdpdHRlcjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ZhY2Vib29rIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogZmFjZWJvb2ssXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgZmFjZWJvb2s6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdJbnN0YWdyYW0gVVJMJyksXG5cdFx0XHRcdFx0XHR0eXBlOiAndXJsJyxcblx0XHRcdFx0XHRcdHZhbHVlOiBpbnN0YWdyYW0sXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgaW5zdGFncmFtOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUGludGVyZXN0IFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogcGludGVyZXN0LFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IHBpbnRlcmVzdDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0dvb2dsZSBVUkwnKSxcblx0XHRcdFx0XHRcdHR5cGU6ICd1cmwnLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGdvb2dsZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBnb29nbGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdZb3VUdWJlIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogeW91dHViZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyB5b3V0dWJlOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnR2l0aHViIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogZ2l0aHViLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGdpdGh1YjogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0VtYWlsIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogZW1haWwsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgZW1haWw6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdXZWJzaXRlIFVSTCcpLFxuXHRcdFx0XHRcdFx0dHlwZTogJ3VybCcsXG5cdFx0XHRcdFx0XHR2YWx1ZTogd2Vic2l0ZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyB3ZWJzaXRlOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stYXV0aG9yLXByb2ZpbGUvY29tcG9uZW50cy9pbnNwZWN0b3IuanNcbi8vIG1vZHVsZSBpZCA9IDIwNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///204\n");
2330
 
2331
  /***/ }),
2332
  /* 205 */
2405
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2406
 
2407
  "use strict";
2408
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n PanelColorSettings = _wp$editor.PanelColorSettings,\n InspectorControls = _wp$editor.InspectorControls;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Notice dismiss options\n\t\t\tvar noticeDismissOptions = [{ value: null, label: __('Always Show') }, { value: 'ab-dismissable', label: __('Dismissable') }];\n\n\t\t\t// Notice colors\n\t\t\tvar noticeColors = [{ color: '#00d1b2', name: 'teal' }, { color: '#3373dc', name: 'royal blue' }, { color: '#209cef', name: 'sky blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#392F43', name: 'black' }];\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t noticeTitle = _props$attributes.noticeTitle,\n\t\t\t noticeContent = _props$attributes.noticeContent,\n\t\t\t noticeAlignment = _props$attributes.noticeAlignment,\n\t\t\t noticeBackgroundColor = _props$attributes.noticeBackgroundColor,\n\t\t\t noticeTextColor = _props$attributes.noticeTextColor,\n\t\t\t noticeTitleColor = _props$attributes.noticeTitleColor,\n\t\t\t noticeFontSize = _props$attributes.noticeFontSize,\n\t\t\t noticeDismiss = _props$attributes.noticeDismiss;\n\t\t\tvar setAttributes = this.props.setAttributes;\n\n\t\t\t// Update color values\n\n\t\t\tvar onChangeBackgroundColor = function onChangeBackgroundColor(value) {\n\t\t\t\treturn setAttributes({ noticeBackgroundColor: value });\n\t\t\t};\n\t\t\tvar onChangeTextColor = function onChangeTextColor(value) {\n\t\t\t\treturn setAttributes({ noticeTextColor: value });\n\t\t\t};\n\t\t\tvar onChangeTitleColor = function onChangeTitleColor(value) {\n\t\t\t\treturn setAttributes({ noticeTitleColor: value });\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: noticeFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ noticeFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Notice Display'),\n\t\t\t\t\t\tdescription: __('Do you want the message to always show or dismissable?'),\n\t\t\t\t\t\toptions: noticeDismissOptions,\n\t\t\t\t\t\tvalue: noticeDismiss,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ noticeDismiss: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Notice Color'),\n\t\t\t\t\t\tcolorValue: noticeBackgroundColor,\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: noticeBackgroundColor,\n\t\t\t\t\t\t\tonChange: onChangeBackgroundColor,\n\t\t\t\t\t\t\tcolors: noticeColors,\n\t\t\t\t\t\t\tlabel: __('Notice Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Title Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: noticeTitleColor,\n\t\t\t\t\t\t\tonChange: onChangeTitleColor,\n\t\t\t\t\t\t\tlabel: __('Title Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\tcolorValue: noticeTextColor,\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: noticeTextColor,\n\t\t\t\t\t\t\tonChange: onChangeTextColor,\n\t\t\t\t\t\t\tlabel: __('Text Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjExLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1ub3RpY2UvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/NTQ3YiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBCbG9ja0Rlc2NyaXB0aW9uID0gX3dwJGVkaXRvci5CbG9ja0Rlc2NyaXB0aW9uLFxuICAgIENvbG9yUGFsZXR0ZSA9IF93cCRlZGl0b3IuQ29sb3JQYWxldHRlLFxuICAgIFBhbmVsQ29sb3JTZXR0aW5ncyA9IF93cCRlZGl0b3IuUGFuZWxDb2xvclNldHRpbmdzLFxuICAgIEluc3BlY3RvckNvbnRyb2xzID0gX3dwJGVkaXRvci5JbnNwZWN0b3JDb250cm9scztcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIE5vdGljZSBkaXNtaXNzIG9wdGlvbnNcblx0XHRcdHZhciBub3RpY2VEaXNtaXNzT3B0aW9ucyA9IFt7IHZhbHVlOiBudWxsLCBsYWJlbDogX18oJ0Fsd2F5cyBTaG93JykgfSwgeyB2YWx1ZTogJ2FiLWRpc21pc3NhYmxlJywgbGFiZWw6IF9fKCdEaXNtaXNzYWJsZScpIH1dO1xuXG5cdFx0XHQvLyBOb3RpY2UgY29sb3JzXG5cdFx0XHR2YXIgbm90aWNlQ29sb3JzID0gW3sgY29sb3I6ICcjMDBkMWIyJywgbmFtZTogJ3RlYWwnIH0sIHsgY29sb3I6ICcjMzM3M2RjJywgbmFtZTogJ3JveWFsIGJsdWUnIH0sIHsgY29sb3I6ICcjMjA5Y2VmJywgbmFtZTogJ3NreSBibHVlJyB9LCB7IGNvbG9yOiAnIzIyZDI1ZicsIG5hbWU6ICdncmVlbicgfSwgeyBjb2xvcjogJyNmZmRkNTcnLCBuYW1lOiAneWVsbG93JyB9LCB7IGNvbG9yOiAnI2ZmMzg2MCcsIG5hbWU6ICdwaW5rJyB9LCB7IGNvbG9yOiAnIzc5NDFiNicsIG5hbWU6ICdwdXJwbGUnIH0sIHsgY29sb3I6ICcjMzkyRjQzJywgbmFtZTogJ2JsYWNrJyB9XTtcblxuXHRcdFx0Ly8gU2V0dXAgdGhlIGF0dHJpYnV0ZXNcblx0XHRcdHZhciBfcHJvcHMkYXR0cmlidXRlcyA9IHRoaXMucHJvcHMuYXR0cmlidXRlcyxcblx0XHRcdCAgICBub3RpY2VUaXRsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLm5vdGljZVRpdGxlLFxuXHRcdFx0ICAgIG5vdGljZUNvbnRlbnQgPSBfcHJvcHMkYXR0cmlidXRlcy5ub3RpY2VDb250ZW50LFxuXHRcdFx0ICAgIG5vdGljZUFsaWdubWVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLm5vdGljZUFsaWdubWVudCxcblx0XHRcdCAgICBub3RpY2VCYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5ub3RpY2VCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHQgICAgbm90aWNlVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMubm90aWNlVGV4dENvbG9yLFxuXHRcdFx0ICAgIG5vdGljZVRpdGxlQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5ub3RpY2VUaXRsZUNvbG9yLFxuXHRcdFx0ICAgIG5vdGljZUZvbnRTaXplID0gX3Byb3BzJGF0dHJpYnV0ZXMubm90aWNlRm9udFNpemUsXG5cdFx0XHQgICAgbm90aWNlRGlzbWlzcyA9IF9wcm9wcyRhdHRyaWJ1dGVzLm5vdGljZURpc21pc3M7XG5cdFx0XHR2YXIgc2V0QXR0cmlidXRlcyA9IHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcztcblxuXHRcdFx0Ly8gVXBkYXRlIGNvbG9yIHZhbHVlc1xuXG5cdFx0XHR2YXIgb25DaGFuZ2VCYWNrZ3JvdW5kQ29sb3IgPSBmdW5jdGlvbiBvbkNoYW5nZUJhY2tncm91bmRDb2xvcih2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IG5vdGljZUJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXHRcdFx0dmFyIG9uQ2hhbmdlVGV4dENvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VUZXh0Q29sb3IodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBub3RpY2VUZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0fTtcblx0XHRcdHZhciBvbkNoYW5nZVRpdGxlQ29sb3IgPSBmdW5jdGlvbiBvbkNoYW5nZVRpdGxlQ29sb3IodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBub3RpY2VUaXRsZUNvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdH07XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRm9udCBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogbm90aWNlRm9udFNpemUsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgbm90aWNlRm9udFNpemU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMTQsXG5cdFx0XHRcdFx0XHRtYXg6IDI0LFxuXHRcdFx0XHRcdFx0c3RlcDogMVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ05vdGljZSBEaXNwbGF5JyksXG5cdFx0XHRcdFx0XHRkZXNjcmlwdGlvbjogX18oJ0RvIHlvdSB3YW50IHRoZSBtZXNzYWdlIHRvIGFsd2F5cyBzaG93IG9yIGRpc21pc3NhYmxlPycpLFxuXHRcdFx0XHRcdFx0b3B0aW9uczogbm90aWNlRGlzbWlzc09wdGlvbnMsXG5cdFx0XHRcdFx0XHR2YWx1ZTogbm90aWNlRGlzbWlzcyxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBub3RpY2VEaXNtaXNzOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb2xvclNldHRpbmdzLCB7XG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ05vdGljZSBDb2xvcicpLFxuXHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogbm90aWNlQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0Y29sb3JTZXR0aW5nczogW3tcblx0XHRcdFx0XHRcdFx0dmFsdWU6IG5vdGljZUJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRjb2xvcnM6IG5vdGljZUNvbG9ycyxcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdOb3RpY2UgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb2xvclNldHRpbmdzLCB7XG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ1RpdGxlIENvbG9yJyksXG5cdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRjb2xvclNldHRpbmdzOiBbe1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTogbm90aWNlVGl0bGVDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlVGl0bGVDb2xvcixcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdUaXRsZSBDb2xvcicpXG5cdFx0XHRcdFx0XHR9XVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYW5lbENvbG9yU2V0dGluZ3MsIHtcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnVGV4dCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0Y29sb3JWYWx1ZTogbm90aWNlVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0Y29sb3JTZXR0aW5nczogW3tcblx0XHRcdFx0XHRcdFx0dmFsdWU6IG5vdGljZVRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RleHQgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stbm90aWNlL2NvbXBvbmVudHMvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAyMTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///211\n");
2409
 
2410
  /***/ }),
2411
  /* 212 */
2550
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2551
 
2552
  "use strict";
2553
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n PanelColorSettings = _wp$editor.PanelColorSettings;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t buttonText = _props$attributes.buttonText,\n\t\t\t buttonUrl = _props$attributes.buttonUrl,\n\t\t\t buttonAlignment = _props$attributes.buttonAlignment,\n\t\t\t buttonBackgroundColor = _props$attributes.buttonBackgroundColor,\n\t\t\t buttonTextColor = _props$attributes.buttonTextColor,\n\t\t\t buttonSize = _props$attributes.buttonSize,\n\t\t\t buttonShape = _props$attributes.buttonShape,\n\t\t\t buttonTarget = _props$attributes.buttonTarget;\n\t\t\tvar setAttributes = this.props.setAttributes;\n\n\t\t\t// Button size values\n\n\t\t\tvar buttonSizeOptions = [{ value: 'ab-button-size-small', label: __('Small') }, { value: 'ab-button-size-medium', label: __('Medium') }, { value: 'ab-button-size-large', label: __('Large') }, { value: 'ab-button-size-extralarge', label: __('Extra Large') }];\n\n\t\t\t// Button shape\n\t\t\tvar buttonShapeOptions = [{ value: 'ab-button-shape-square', label: __('Square') }, { value: 'ab-button-shape-rounded', label: __('Rounded Square') }, { value: 'ab-button-shape-circular', label: __('Circular') }];\n\n\t\t\t// Button colors\n\t\t\tvar buttonColors = [{ color: '#00d1b2', name: 'teal' }, { color: '#3373dc', name: 'royal blue' }, { color: '#209cef', name: 'sky blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#392F43', name: 'black' }];\n\n\t\t\t// Update color values\n\t\t\tvar onChangeButtonColor = function onChangeButtonColor(value) {\n\t\t\t\treturn setAttributes({ buttonBackgroundColor: value });\n\t\t\t};\n\t\t\tvar onChangeButtonTextColor = function onChangeButtonTextColor(value) {\n\t\t\t\treturn setAttributes({ buttonTextColor: value });\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Open link in new window'),\n\t\t\t\t\t\tchecked: buttonTarget,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ buttonTarget: !buttonTarget });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Size'),\n\t\t\t\t\t\tvalue: buttonSize,\n\t\t\t\t\t\toptions: buttonSizeOptions.map(function (_ref) {\n\t\t\t\t\t\t\tvar value = _ref.value,\n\t\t\t\t\t\t\t label = _ref.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonSize: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Shape'),\n\t\t\t\t\t\tvalue: buttonShape,\n\t\t\t\t\t\toptions: buttonShapeOptions.map(function (_ref2) {\n\t\t\t\t\t\t\tvar value = _ref2.value,\n\t\t\t\t\t\t\t label = _ref2.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonShape: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Button Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: buttonBackgroundColor,\n\t\t\t\t\t\t\tonChange: onChangeButtonColor,\n\t\t\t\t\t\t\tlabel: __('Button Color'),\n\t\t\t\t\t\t\tcolors: buttonColors\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Button Text Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: buttonTextColor,\n\t\t\t\t\t\t\tonChange: onChangeButtonTextColor,\n\t\t\t\t\t\t\tlabel: __('Button Text Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjI0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1idXR0b24vY29tcG9uZW50cy9pbnNwZWN0b3IuanM/ZTFiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZSxcbiAgICBQYW5lbENvbG9yU2V0dGluZ3MgPSBfd3AkZWRpdG9yLlBhbmVsQ29sb3JTZXR0aW5ncztcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIEZvcm1Ub2dnbGUgPSBfd3AkY29tcG9uZW50cy5Gb3JtVG9nZ2xlLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIFNldHVwIHRoZSBhdHRyaWJ1dGVzXG5cdFx0XHR2YXIgX3Byb3BzJGF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgYnV0dG9uVGV4dCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblRleHQsXG5cdFx0XHQgICAgYnV0dG9uVXJsID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uVXJsLFxuXHRcdFx0ICAgIGJ1dHRvbkFsaWdubWVudCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvbkFsaWdubWVudCxcblx0XHRcdCAgICBidXR0b25CYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25CYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHQgICAgYnV0dG9uVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uVGV4dENvbG9yLFxuXHRcdFx0ICAgIGJ1dHRvblNpemUgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25TaXplLFxuXHRcdFx0ICAgIGJ1dHRvblNoYXBlID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uU2hhcGUsXG5cdFx0XHQgICAgYnV0dG9uVGFyZ2V0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uVGFyZ2V0O1xuXHRcdFx0dmFyIHNldEF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXM7XG5cblx0XHRcdC8vIEJ1dHRvbiBzaXplIHZhbHVlc1xuXG5cdFx0XHR2YXIgYnV0dG9uU2l6ZU9wdGlvbnMgPSBbeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaXplLXNtYWxsJywgbGFiZWw6IF9fKCdTbWFsbCcpIH0sIHsgdmFsdWU6ICdhYi1idXR0b24tc2l6ZS1tZWRpdW0nLCBsYWJlbDogX18oJ01lZGl1bScpIH0sIHsgdmFsdWU6ICdhYi1idXR0b24tc2l6ZS1sYXJnZScsIGxhYmVsOiBfXygnTGFyZ2UnKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNpemUtZXh0cmFsYXJnZScsIGxhYmVsOiBfXygnRXh0cmEgTGFyZ2UnKSB9XTtcblxuXHRcdFx0Ly8gQnV0dG9uIHNoYXBlXG5cdFx0XHR2YXIgYnV0dG9uU2hhcGVPcHRpb25zID0gW3sgdmFsdWU6ICdhYi1idXR0b24tc2hhcGUtc3F1YXJlJywgbGFiZWw6IF9fKCdTcXVhcmUnKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNoYXBlLXJvdW5kZWQnLCBsYWJlbDogX18oJ1JvdW5kZWQgU3F1YXJlJykgfSwgeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaGFwZS1jaXJjdWxhcicsIGxhYmVsOiBfXygnQ2lyY3VsYXInKSB9XTtcblxuXHRcdFx0Ly8gQnV0dG9uIGNvbG9yc1xuXHRcdFx0dmFyIGJ1dHRvbkNvbG9ycyA9IFt7IGNvbG9yOiAnIzAwZDFiMicsIG5hbWU6ICd0ZWFsJyB9LCB7IGNvbG9yOiAnIzMzNzNkYycsIG5hbWU6ICdyb3lhbCBibHVlJyB9LCB7IGNvbG9yOiAnIzIwOWNlZicsIG5hbWU6ICdza3kgYmx1ZScgfSwgeyBjb2xvcjogJyMyMmQyNWYnLCBuYW1lOiAnZ3JlZW4nIH0sIHsgY29sb3I6ICcjZmZkZDU3JywgbmFtZTogJ3llbGxvdycgfSwgeyBjb2xvcjogJyNmZjM4NjAnLCBuYW1lOiAncGluaycgfSwgeyBjb2xvcjogJyM3OTQxYjYnLCBuYW1lOiAncHVycGxlJyB9LCB7IGNvbG9yOiAnIzM5MkY0MycsIG5hbWU6ICdibGFjaycgfV07XG5cblx0XHRcdC8vIFVwZGF0ZSBjb2xvciB2YWx1ZXNcblx0XHRcdHZhciBvbkNoYW5nZUJ1dHRvbkNvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VCdXR0b25Db2xvcih2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IGJ1dHRvbkJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXHRcdFx0dmFyIG9uQ2hhbmdlQnV0dG9uVGV4dENvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VCdXR0b25UZXh0Q29sb3IodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBidXR0b25UZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0XHRcdHsga2V5OiAnaW5zcGVjdG9yJyB9LFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnT3BlbiBsaW5rIGluIG5ldyB3aW5kb3cnKSxcblx0XHRcdFx0XHRcdGNoZWNrZWQ6IGJ1dHRvblRhcmdldCxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSgpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYnV0dG9uVGFyZ2V0OiAhYnV0dG9uVGFyZ2V0IH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uU2l6ZSxcblx0XHRcdFx0XHRcdG9wdGlvbnM6IGJ1dHRvblNpemVPcHRpb25zLm1hcChmdW5jdGlvbiAoX3JlZikge1xuXHRcdFx0XHRcdFx0XHR2YXIgdmFsdWUgPSBfcmVmLnZhbHVlLFxuXHRcdFx0XHRcdFx0XHQgICAgbGFiZWwgPSBfcmVmLmxhYmVsO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogbGFiZWxcblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYnV0dG9uU2l6ZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQnV0dG9uIFNoYXBlJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uU2hhcGUsXG5cdFx0XHRcdFx0XHRvcHRpb25zOiBidXR0b25TaGFwZU9wdGlvbnMubWFwKGZ1bmN0aW9uIChfcmVmMikge1xuXHRcdFx0XHRcdFx0XHR2YXIgdmFsdWUgPSBfcmVmMi52YWx1ZSxcblx0XHRcdFx0XHRcdFx0ICAgIGxhYmVsID0gX3JlZjIubGFiZWw7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBsYWJlbFxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0X3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBidXR0b25TaGFwZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFBhbmVsQ29sb3JTZXR0aW5ncywge1xuXHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdCdXR0b24gQ29sb3InKSxcblx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZSxcblx0XHRcdFx0XHRcdGNvbG9yU2V0dGluZ3M6IFt7XG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBidXR0b25CYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBvbkNoYW5nZUJ1dHRvbkNvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHRjb2xvcnM6IGJ1dHRvbkNvbG9yc1xuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb2xvclNldHRpbmdzLCB7XG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ0J1dHRvbiBUZXh0IENvbG9yJyksXG5cdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRjb2xvclNldHRpbmdzOiBbe1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogb25DaGFuZ2VCdXR0b25UZXh0Q29sb3IsXG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQnV0dG9uIFRleHQgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stYnV0dG9uL2NvbXBvbmVudHMvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAyMjRcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///224\n");
2554
 
2555
  /***/ }),
2556
  /* 225 */
2616
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2617
 
2618
  "use strict";
2619
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n PanelColorSettings = _wp$editor.PanelColorSettings;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n RangeControl = _wp$components.RangeControl,\n ToggleControl = _wp$components.ToggleControl,\n SelectControl = _wp$components.SelectControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t spacerHeight = _props$attributes.spacerHeight,\n\t\t\t spacerDivider = _props$attributes.spacerDivider,\n\t\t\t spacerDividerStyle = _props$attributes.spacerDividerStyle,\n\t\t\t spacerDividerColor = _props$attributes.spacerDividerColor,\n\t\t\t spacerDividerHeight = _props$attributes.spacerDividerHeight;\n\n\t\t\t// Button size values\n\n\t\t\tvar spacerStyleOptions = [{ value: 'ab-divider-solid', label: __('Solid') }, { value: 'ab-divider-dashed', label: __('Dashed') }, { value: 'ab-divider-dotted', label: __('Dotted') }];\n\n\t\t\t// Divider color\n\t\t\tvar dividerColor = [{ color: '#ddd', name: 'white' }, { color: '#333', name: 'black' }, { color: '#3373dc', name: 'royal blue' }, { color: '#22d25f', name: 'green' }, { color: '#ffdd57', name: 'yellow' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }];\n\n\t\t\t// Update color values\n\t\t\tvar onChangeDividerColor = function onChangeDividerColor(value) {\n\t\t\t\treturn setAttributes({ spacerDividerColor: value });\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Spacer Height'),\n\t\t\t\t\t\tvalue: spacerHeight || '',\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ spacerHeight: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 50,\n\t\t\t\t\t\tmax: 600\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Add Divider'),\n\t\t\t\t\t\tchecked: spacerDivider,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ spacerDivider: !spacerDivider });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tspacerDivider ? wp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\tlabel: __('Divider Style'),\n\t\t\t\t\t\t\tvalue: spacerDividerStyle,\n\t\t\t\t\t\t\toptions: spacerStyleOptions.map(function (_ref) {\n\t\t\t\t\t\t\t\tvar value = _ref.value,\n\t\t\t\t\t\t\t\t label = _ref.label;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t_this2.props.setAttributes({ spacerDividerStyle: value });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\t\tlabel: __('Divider Height'),\n\t\t\t\t\t\t\tvalue: spacerDividerHeight || '',\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\treturn _this2.props.setAttributes({ spacerDividerHeight: value });\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\t\tmax: 5\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\t\ttitle: __('Divider Color'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\t\tcolors: dividerColor,\n\t\t\t\t\t\t\t\tvalue: spacerDividerColor,\n\t\t\t\t\t\t\t\tonChange: onChangeDividerColor,\n\t\t\t\t\t\t\t\tlabel: __('Divider Color')\n\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t})\n\t\t\t\t\t) : null\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1zcGFjZXIvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/OWQyZCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZSxcbiAgICBQYW5lbENvbG9yU2V0dGluZ3MgPSBfd3AkZWRpdG9yLlBhbmVsQ29sb3JTZXR0aW5ncztcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIFNldHVwIHRoZSBhdHRyaWJ1dGVzXG5cdFx0XHR2YXIgX3Byb3BzJGF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgc3BhY2VySGVpZ2h0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuc3BhY2VySGVpZ2h0LFxuXHRcdFx0ICAgIHNwYWNlckRpdmlkZXIgPSBfcHJvcHMkYXR0cmlidXRlcy5zcGFjZXJEaXZpZGVyLFxuXHRcdFx0ICAgIHNwYWNlckRpdmlkZXJTdHlsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLnNwYWNlckRpdmlkZXJTdHlsZSxcblx0XHRcdCAgICBzcGFjZXJEaXZpZGVyQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5zcGFjZXJEaXZpZGVyQ29sb3IsXG5cdFx0XHQgICAgc3BhY2VyRGl2aWRlckhlaWdodCA9IF9wcm9wcyRhdHRyaWJ1dGVzLnNwYWNlckRpdmlkZXJIZWlnaHQ7XG5cblx0XHRcdC8vIEJ1dHRvbiBzaXplIHZhbHVlc1xuXG5cdFx0XHR2YXIgc3BhY2VyU3R5bGVPcHRpb25zID0gW3sgdmFsdWU6ICdhYi1kaXZpZGVyLXNvbGlkJywgbGFiZWw6IF9fKCdTb2xpZCcpIH0sIHsgdmFsdWU6ICdhYi1kaXZpZGVyLWRhc2hlZCcsIGxhYmVsOiBfXygnRGFzaGVkJykgfSwgeyB2YWx1ZTogJ2FiLWRpdmlkZXItZG90dGVkJywgbGFiZWw6IF9fKCdEb3R0ZWQnKSB9XTtcblxuXHRcdFx0Ly8gRGl2aWRlciBjb2xvclxuXHRcdFx0dmFyIGRpdmlkZXJDb2xvciA9IFt7IGNvbG9yOiAnI2RkZCcsIG5hbWU6ICd3aGl0ZScgfSwgeyBjb2xvcjogJyMzMzMnLCBuYW1lOiAnYmxhY2snIH0sIHsgY29sb3I6ICcjMzM3M2RjJywgbmFtZTogJ3JveWFsIGJsdWUnIH0sIHsgY29sb3I6ICcjMjJkMjVmJywgbmFtZTogJ2dyZWVuJyB9LCB7IGNvbG9yOiAnI2ZmZGQ1NycsIG5hbWU6ICd5ZWxsb3cnIH0sIHsgY29sb3I6ICcjZmYzODYwJywgbmFtZTogJ3BpbmsnIH0sIHsgY29sb3I6ICcjNzk0MWI2JywgbmFtZTogJ3B1cnBsZScgfV07XG5cblx0XHRcdC8vIFVwZGF0ZSBjb2xvciB2YWx1ZXNcblx0XHRcdHZhciBvbkNoYW5nZURpdmlkZXJDb2xvciA9IGZ1bmN0aW9uIG9uQ2hhbmdlRGl2aWRlckNvbG9yKHZhbHVlKSB7XG5cdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgc3BhY2VyRGl2aWRlckNvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdH07XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU3BhY2VyIEhlaWdodCcpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IHNwYWNlckhlaWdodCB8fCAnJyxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBzcGFjZXJIZWlnaHQ6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogNTAsXG5cdFx0XHRcdFx0XHRtYXg6IDYwMFxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0FkZCBEaXZpZGVyJyksXG5cdFx0XHRcdFx0XHRjaGVja2VkOiBzcGFjZXJEaXZpZGVyLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBzcGFjZXJEaXZpZGVyOiAhc3BhY2VyRGl2aWRlciB9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRzcGFjZXJEaXZpZGVyID8gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRGl2aWRlciBTdHlsZScpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogc3BhY2VyRGl2aWRlclN0eWxlLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBzcGFjZXJTdHlsZU9wdGlvbnMubWFwKGZ1bmN0aW9uIChfcmVmKSB7XG5cdFx0XHRcdFx0XHRcdFx0dmFyIHZhbHVlID0gX3JlZi52YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHQgICAgbGFiZWwgPSBfcmVmLmxhYmVsO1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogbGFiZWxcblx0XHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBzcGFjZXJEaXZpZGVyU3R5bGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdEaXZpZGVyIEhlaWdodCcpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogc3BhY2VyRGl2aWRlckhlaWdodCB8fCAnJyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgc3BhY2VyRGl2aWRlckhlaWdodDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG1pbjogMSxcblx0XHRcdFx0XHRcdFx0bWF4OiA1XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYW5lbENvbG9yU2V0dGluZ3MsIHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdEaXZpZGVyIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0Y29sb3JTZXR0aW5nczogW3tcblx0XHRcdFx0XHRcdFx0XHRjb2xvcnM6IGRpdmlkZXJDb2xvcixcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogc3BhY2VyRGl2aWRlckNvbG9yLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBvbkNoYW5nZURpdmlkZXJDb2xvcixcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0RpdmlkZXIgQ29sb3InKVxuXHRcdFx0XHRcdFx0XHR9XVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpIDogbnVsbFxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stc3BhY2VyL2NvbXBvbmVudHMvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAyMzBcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///230\n");
2620
 
2621
  /***/ }),
2622
  /* 231 */
2651
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2652
 
2653
  "use strict";
2654
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(/*! react */ 234);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar styles = {\n base: {\n position: 'absolute',\n userSelect: 'none',\n MsUserSelect: 'none'\n },\n top: {\n width: '100%',\n height: '10px',\n top: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n right: {\n width: '10px',\n height: '100%',\n top: '0px',\n right: '-5px',\n cursor: 'col-resize'\n },\n bottom: {\n width: '100%',\n height: '10px',\n bottom: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n left: {\n width: '10px',\n height: '100%',\n top: '0px',\n left: '-5px',\n cursor: 'col-resize'\n },\n topRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n top: '-10px',\n cursor: 'ne-resize'\n },\n bottomRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n bottom: '-10px',\n cursor: 'se-resize'\n },\n bottomLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n bottom: '-10px',\n cursor: 'sw-resize'\n },\n topLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n top: '-10px',\n cursor: 'nw-resize'\n }\n};\n\nvar Resizer = (function (props) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n 'div',\n {\n className: props.className,\n style: _extends({}, styles.base, styles[props.direction], props.replaceStyles || {}),\n onMouseDown: function onMouseDown(e) {\n props.onResizeStart(e, props.direction);\n },\n onTouchStart: function onTouchStart(e) {\n props.onResizeStart(e, props.direction);\n }\n },\n props.children\n );\n});\n\nvar userSelectNone = {\n userSelect: 'none',\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n MsUserSelect: 'none'\n};\n\nvar userSelectAuto = {\n userSelect: 'auto',\n MozUserSelect: 'auto',\n WebkitUserSelect: 'auto',\n MsUserSelect: 'auto'\n};\n\nvar clamp = function clamp(n, min, max) {\n return Math.max(Math.min(n, max), min);\n};\nvar snap = function snap(n, size) {\n return Math.round(n / size) * size;\n};\n\nvar findClosestSnap = function findClosestSnap(n, snapArray) {\n return snapArray.reduce(function (prev, curr) {\n return Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev;\n });\n};\n\nvar endsWith = function endsWith(str, searchStr) {\n return str.substr(str.length - searchStr.length, searchStr.length) === searchStr;\n};\n\nvar getStringSize = function getStringSize(n) {\n if (endsWith(n.toString(), 'px')) return n.toString();\n if (endsWith(n.toString(), '%')) return n.toString();\n if (endsWith(n.toString(), 'vh')) return n.toString();\n if (endsWith(n.toString(), 'vw')) return n.toString();\n if (endsWith(n.toString(), 'vmax')) return n.toString();\n if (endsWith(n.toString(), 'vmin')) return n.toString();\n return n + 'px';\n};\n\nvar definedProps = ['style', 'className', 'grid', 'snap', 'bounds', 'size', 'defaultSize', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'lockAspectRatio', 'lockAspectRatioExtraWidth', 'lockAspectRatioExtraHeight', 'enable', 'handleStyles', 'handleClasses', 'handleWrapperStyle', 'handleWrapperClass', 'children', 'onResizeStart', 'onResize', 'onResizeStop', 'handleComponent'];\n\nvar baseClassName = '__resizable_base__';\n\nvar Resizable = function (_React$Component) {\n inherits(Resizable, _React$Component);\n\n function Resizable(props) {\n classCallCheck(this, Resizable);\n\n var _this = possibleConstructorReturn(this, (Resizable.__proto__ || Object.getPrototypeOf(Resizable)).call(this, props));\n\n _this.state = {\n isResizing: false,\n resizeCursor: 'auto',\n width: typeof (_this.propsSize && _this.propsSize.width) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.width,\n height: typeof (_this.propsSize && _this.propsSize.height) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.height,\n direction: 'right',\n original: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n }\n };\n\n _this.updateExtendsProps(props);\n _this.onResizeStart = _this.onResizeStart.bind(_this);\n _this.onMouseMove = _this.onMouseMove.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n\n if (typeof window !== 'undefined') {\n window.addEventListener('mouseup', _this.onMouseUp);\n window.addEventListener('mousemove', _this.onMouseMove);\n window.addEventListener('mouseleave', _this.onMouseUp);\n window.addEventListener('touchmove', _this.onMouseMove);\n window.addEventListener('touchend', _this.onMouseUp);\n }\n return _this;\n }\n\n createClass(Resizable, [{\n key: 'updateExtendsProps',\n value: function updateExtendsProps(props) {\n this.extendsProps = Object.keys(props).reduce(function (acc, key) {\n if (definedProps.indexOf(key) !== -1) return acc;\n acc[key] = props[key];\n return acc;\n }, {});\n }\n }, {\n key: 'getParentSize',\n value: function getParentSize() {\n var base = this.base;\n\n if (!base) return { width: window.innerWidth, height: window.innerHeight };\n // INFO: To calculate parent width with flex layout\n var wrapChanged = false;\n var wrap = this.parentNode.style.flexWrap;\n var minWidth = base.style.minWidth;\n if (wrap !== 'wrap') {\n wrapChanged = true;\n this.parentNode.style.flexWrap = 'wrap';\n // HACK: Use relative to get parent padding size\n }\n base.style.position = 'relative';\n base.style.minWidth = '100%';\n var size = {\n width: base.offsetWidth,\n height: base.offsetHeight\n };\n base.style.position = 'absolute';\n if (wrapChanged) this.parentNode.style.flexWrap = wrap;\n base.style.minWidth = minWidth;\n return size;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var size = this.size;\n\n this.setState({\n width: this.state.width || size.width,\n height: this.state.height || size.height\n });\n var parent = this.parentNode;\n if (!(parent instanceof HTMLElement)) return;\n if (this.base) return;\n var element = document.createElement('div');\n element.style.width = '100%';\n element.style.height = '100%';\n element.style.position = 'absolute';\n element.style.transform = 'scale(0, 0)';\n element.style.left = '0';\n element.style.flex = '0';\n if (element.classList) {\n element.classList.add(baseClassName);\n } else {\n element.className += baseClassName;\n }\n parent.appendChild(element);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(next) {\n this.updateExtendsProps(next);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', this.onMouseUp);\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseleave', this.onMouseUp);\n window.removeEventListener('touchmove', this.onMouseMove);\n window.removeEventListener('touchend', this.onMouseUp);\n var parent = this.parentNode;\n var base = this.base;\n\n if (!base || !parent) return;\n if (!(parent instanceof HTMLElement) || !(base instanceof Node)) return;\n parent.removeChild(base);\n }\n }\n }, {\n key: 'calculateNewSize',\n value: function calculateNewSize(newSize, kind) {\n var propsSize = this.propsSize && this.propsSize[kind];\n return this.state[kind] === 'auto' && this.state.original[kind] === newSize && (typeof propsSize === 'undefined' || propsSize === 'auto') ? 'auto' : newSize;\n }\n }, {\n key: 'onResizeStart',\n value: function onResizeStart(event, direction) {\n var clientX = 0;\n var clientY = 0;\n if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n clientY = event.nativeEvent.clientY;\n\n // When user click with right button the resize is stuck in resizing mode\n // until users clicks again, dont continue if right click is used.\n // HACK: MouseEvent does not have `which` from flow-bin v0.68.\n if (event.nativeEvent.which === 3) {\n return;\n }\n } else if (event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].clientX;\n clientY = event.nativeEvent.touches[0].clientY;\n }\n if (this.props.onResizeStart) {\n this.props.onResizeStart(event, direction, this.resizable);\n }\n\n // Fix #168\n if (this.props.size) {\n if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {\n this.setState({ height: this.props.size.height });\n }\n if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {\n this.setState({ width: this.props.size.width });\n }\n }\n\n this.setState({\n original: {\n x: clientX,\n y: clientY,\n width: this.size.width,\n height: this.size.height\n },\n isResizing: true,\n resizeCursor: window.getComputedStyle(event.target).cursor,\n direction: direction\n });\n }\n }, {\n key: 'onMouseMove',\n value: function onMouseMove(event) {\n if (!this.state.isResizing) return;\n var clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\n var clientY = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;\n var _state = this.state,\n direction = _state.direction,\n original = _state.original,\n width = _state.width,\n height = _state.height;\n var _props = this.props,\n lockAspectRatio = _props.lockAspectRatio,\n lockAspectRatioExtraHeight = _props.lockAspectRatioExtraHeight,\n lockAspectRatioExtraWidth = _props.lockAspectRatioExtraWidth;\n var _props2 = this.props,\n maxWidth = _props2.maxWidth,\n maxHeight = _props2.maxHeight,\n minWidth = _props2.minWidth,\n minHeight = _props2.minHeight;\n\n // TODO: refactor\n\n var parentSize = this.getParentSize();\n if (maxWidth && typeof maxWidth === 'string' && endsWith(maxWidth, '%')) {\n var _ratio = Number(maxWidth.replace('%', '')) / 100;\n maxWidth = parentSize.width * _ratio;\n }\n if (maxHeight && typeof maxHeight === 'string' && endsWith(maxHeight, '%')) {\n var _ratio2 = Number(maxHeight.replace('%', '')) / 100;\n maxHeight = parentSize.height * _ratio2;\n }\n if (minWidth && typeof minWidth === 'string' && endsWith(minWidth, '%')) {\n var _ratio3 = Number(minWidth.replace('%', '')) / 100;\n minWidth = parentSize.width * _ratio3;\n }\n if (minHeight && typeof minHeight === 'string' && endsWith(minHeight, '%')) {\n var _ratio4 = Number(minHeight.replace('%', '')) / 100;\n minHeight = parentSize.height * _ratio4;\n }\n maxWidth = typeof maxWidth === 'undefined' ? undefined : Number(maxWidth);\n maxHeight = typeof maxHeight === 'undefined' ? undefined : Number(maxHeight);\n minWidth = typeof minWidth === 'undefined' ? undefined : Number(minWidth);\n minHeight = typeof minHeight === 'undefined' ? undefined : Number(minHeight);\n\n var ratio = typeof lockAspectRatio === 'number' ? lockAspectRatio : original.width / original.height;\n var newWidth = original.width;\n var newHeight = original.height;\n if (/right/i.test(direction)) {\n newWidth = original.width + (clientX - original.x);\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/left/i.test(direction)) {\n newWidth = original.width - (clientX - original.x);\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/bottom/i.test(direction)) {\n newHeight = original.height + (clientY - original.y);\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n if (/top/i.test(direction)) {\n newHeight = original.height - (clientY - original.y);\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n\n if (this.props.bounds === 'parent') {\n var parent = this.parentNode;\n if (parent instanceof HTMLElement) {\n var parentRect = parent.getBoundingClientRect();\n var parentLeft = parentRect.left;\n var parentTop = parentRect.top;\n\n var _resizable$getBoundin = this.resizable.getBoundingClientRect(),\n _left = _resizable$getBoundin.left,\n _top = _resizable$getBoundin.top;\n\n var boundWidth = parent.offsetWidth + (parentLeft - _left);\n var boundHeight = parent.offsetHeight + (parentTop - _top);\n maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;\n maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;\n }\n } else if (this.props.bounds === 'window') {\n if (typeof window !== 'undefined') {\n var _resizable$getBoundin2 = this.resizable.getBoundingClientRect(),\n _left2 = _resizable$getBoundin2.left,\n _top2 = _resizable$getBoundin2.top;\n\n var _boundWidth = window.innerWidth - _left2;\n var _boundHeight = window.innerHeight - _top2;\n maxWidth = maxWidth && maxWidth < _boundWidth ? maxWidth : _boundWidth;\n maxHeight = maxHeight && maxHeight < _boundHeight ? maxHeight : _boundHeight;\n }\n } else if (this.props.bounds instanceof HTMLElement) {\n var targetRect = this.props.bounds.getBoundingClientRect();\n var targetLeft = targetRect.left;\n var targetTop = targetRect.top;\n\n var _resizable$getBoundin3 = this.resizable.getBoundingClientRect(),\n _left3 = _resizable$getBoundin3.left,\n _top3 = _resizable$getBoundin3.top;\n\n if (!(this.props.bounds instanceof HTMLElement)) return;\n var _boundWidth2 = this.props.bounds.offsetWidth + (targetLeft - _left3);\n var _boundHeight2 = this.props.bounds.offsetHeight + (targetTop - _top3);\n maxWidth = maxWidth && maxWidth < _boundWidth2 ? maxWidth : _boundWidth2;\n maxHeight = maxHeight && maxHeight < _boundHeight2 ? maxHeight : _boundHeight2;\n }\n\n var computedMinWidth = typeof minWidth === 'undefined' ? 10 : minWidth;\n var computedMaxWidth = typeof maxWidth === 'undefined' || maxWidth < 0 ? newWidth : maxWidth;\n var computedMinHeight = typeof minHeight === 'undefined' ? 10 : minHeight;\n var computedMaxHeight = typeof maxHeight === 'undefined' || maxHeight < 0 ? newHeight : maxHeight;\n\n if (lockAspectRatio) {\n var extraMinWidth = (computedMinHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMaxWidth = (computedMaxHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMinHeight = (computedMinWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var extraMaxHeight = (computedMaxWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);\n var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);\n var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);\n var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);\n newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);\n newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);\n } else {\n newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);\n newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);\n }\n if (this.props.grid) {\n newWidth = snap(newWidth, this.props.grid[0]);\n }\n if (this.props.grid) {\n newHeight = snap(newHeight, this.props.grid[1]);\n }\n\n if (this.props.snap && this.props.snap.x) {\n newWidth = findClosestSnap(newWidth, this.props.snap.x);\n }\n if (this.props.snap && this.props.snap.y) {\n newHeight = findClosestSnap(newHeight, this.props.snap.y);\n }\n\n var delta = {\n width: newWidth - original.width,\n height: newHeight - original.height\n };\n\n if (width && typeof width === 'string' && endsWith(width, '%')) {\n var percent = newWidth / parentSize.width * 100;\n newWidth = percent + '%';\n }\n\n if (height && typeof height === 'string' && endsWith(height, '%')) {\n var _percent = newHeight / parentSize.height * 100;\n newHeight = _percent + '%';\n }\n\n this.setState({\n width: this.calculateNewSize(newWidth, 'width'),\n height: this.calculateNewSize(newHeight, 'height')\n });\n\n if (this.props.onResize) {\n this.props.onResize(event, direction, this.resizable, delta);\n }\n }\n }, {\n key: 'onMouseUp',\n value: function onMouseUp(event) {\n var _state2 = this.state,\n isResizing = _state2.isResizing,\n direction = _state2.direction,\n original = _state2.original;\n\n if (!isResizing) return;\n var delta = {\n width: this.size.width - original.width,\n height: this.size.height - original.height\n };\n if (this.props.onResizeStop) {\n this.props.onResizeStop(event, direction, this.resizable, delta);\n }\n if (this.props.size) {\n this.setState(this.props.size);\n }\n this.setState({ isResizing: false, resizeCursor: 'auto' });\n }\n }, {\n key: 'updateSize',\n value: function updateSize(size) {\n this.setState({ width: size.width, height: size.height });\n }\n }, {\n key: 'renderResizer',\n value: function renderResizer() {\n var _this2 = this;\n\n var _props3 = this.props,\n enable = _props3.enable,\n handleStyles = _props3.handleStyles,\n handleClasses = _props3.handleClasses,\n handleWrapperStyle = _props3.handleWrapperStyle,\n handleWrapperClass = _props3.handleWrapperClass,\n handleComponent = _props3.handleComponent;\n\n if (!enable) return null;\n var resizers = Object.keys(enable).map(function (dir) {\n if (enable[dir] !== false) {\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n Resizer,\n {\n key: dir,\n direction: dir,\n onResizeStart: _this2.onResizeStart,\n replaceStyles: handleStyles && handleStyles[dir],\n className: handleClasses && handleClasses[dir]\n },\n handleComponent && handleComponent[dir] ? Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(handleComponent[dir]) : null\n );\n }\n return null;\n });\n // #93 Wrap the resize box in span (will not break 100% width/height)\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n 'span',\n { className: handleWrapperClass, style: handleWrapperStyle },\n resizers\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var userSelect = this.state.isResizing ? userSelectNone : userSelectAuto;\n return Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])(\n 'div',\n _extends({\n ref: function ref(c) {\n if (c) {\n _this3.resizable = c;\n }\n },\n style: _extends({\n position: 'relative'\n }, userSelect, this.props.style, this.sizeStyle, {\n maxWidth: this.props.maxWidth,\n maxHeight: this.props.maxHeight,\n minWidth: this.props.minWidth,\n minHeight: this.props.minHeight,\n boxSizing: 'border-box'\n }),\n className: this.props.className\n }, this.extendsProps),\n this.state.isResizing && Object(__WEBPACK_IMPORTED_MODULE_0_react__[\"createElement\"])('div', {\n style: {\n height: '100%',\n width: '100%',\n backgroundColor: 'rgba(0,0,0,0)',\n cursor: '' + (this.state.resizeCursor || 'auto'),\n opacity: '0',\n position: 'fixed',\n zIndex: '9999',\n top: '0',\n left: '0',\n bottom: '0',\n right: '0'\n }\n }),\n this.props.children,\n this.renderResizer()\n );\n }\n }, {\n key: 'parentNode',\n get: function get$$1() {\n return this.resizable.parentNode;\n }\n }, {\n key: 'propsSize',\n get: function get$$1() {\n return this.props.size || this.props.defaultSize;\n }\n }, {\n key: 'base',\n get: function get$$1() {\n var parent = this.parentNode;\n if (!parent) return undefined;\n var children = [].slice.call(parent.children);\n for (var i = 0; i < children.length; i += 1) {\n var n = children[i];\n if (n instanceof HTMLElement) {\n if (n.classList.contains(baseClassName)) {\n return n;\n }\n }\n }\n return undefined;\n }\n }, {\n key: 'size',\n get: function get$$1() {\n var width = 0;\n var height = 0;\n if (typeof window !== 'undefined') {\n var orgWidth = this.resizable.offsetWidth;\n var orgHeight = this.resizable.offsetHeight;\n // HACK: Set position `relative` to get parent size.\n // This is because when re-resizable set `absolute`, I can not get base width correctly.\n var orgPosition = this.resizable.style.position;\n if (orgPosition !== 'relative') {\n this.resizable.style.position = 'relative';\n }\n // INFO: Use original width or height if set auto.\n width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;\n height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;\n // Restore original position\n this.resizable.style.position = orgPosition;\n }\n return { width: width, height: height };\n }\n }, {\n key: 'sizeStyle',\n get: function get$$1() {\n var _this4 = this;\n\n var size = this.props.size;\n\n var getSize = function getSize(key) {\n if (typeof _this4.state[key] === 'undefined' || _this4.state[key] === 'auto') return 'auto';\n if (_this4.propsSize && _this4.propsSize[key] && endsWith(_this4.propsSize[key].toString(), '%')) {\n if (endsWith(_this4.state[key].toString(), '%')) return _this4.state[key].toString();\n var parentSize = _this4.getParentSize();\n var value = Number(_this4.state[key].toString().replace('px', ''));\n var percent = value / parentSize[key] * 100;\n return percent + '%';\n }\n return getStringSize(_this4.state[key]);\n };\n var width = size && typeof size.width !== 'undefined' && !this.state.isResizing ? getStringSize(size.width) : getSize('width');\n var height = size && typeof size.height !== 'undefined' && !this.state.isResizing ? getStringSize(size.height) : getSize('height');\n return { width: width, height: height };\n }\n }]);\n return Resizable;\n}(__WEBPACK_IMPORTED_MODULE_0_react__[\"Component\"]);\n\nResizable.defaultProps = {\n onResizeStart: function onResizeStart() {},\n onResize: function onResize() {},\n onResizeStop: function onResizeStop() {},\n enable: {\n top: true,\n right: true,\n bottom: true,\n left: true,\n topRight: true,\n bottomRight: true,\n bottomLeft: true,\n topLeft: true\n },\n style: {},\n grid: [1, 1],\n lockAspectRatio: false,\n lockAspectRatioExtraWidth: 0,\n lockAspectRatioExtraHeight: 0\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Resizable);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlLXJlc2l6YWJsZS9saWIvaW5kZXguanM/ODk1ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFbGVtZW50LCBDb21wb25lbnQgfSBmcm9tICdyZWFjdCc7XG5cbnZhciBjbGFzc0NhbGxDaGVjayA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59O1xuXG52YXIgY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7XG4gICAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gICAgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgICBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgICByZXR1cm4gQ29uc3RydWN0b3I7XG4gIH07XG59KCk7XG5cbnZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHNvdXJjZSwga2V5KSkge1xuICAgICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59O1xuXG52YXIgaW5oZXJpdHMgPSBmdW5jdGlvbiAoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHtcbiAgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpO1xuICB9XG5cbiAgc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHtcbiAgICAgIHZhbHVlOiBzdWJDbGFzcyxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9XG4gIH0pO1xuICBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7XG59O1xuXG52YXIgcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiA9IGZ1bmN0aW9uIChzZWxmLCBjYWxsKSB7XG4gIGlmICghc2VsZikge1xuICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmO1xufTtcblxudmFyIHN0eWxlcyA9IHtcbiAgYmFzZToge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHVzZXJTZWxlY3Q6ICdub25lJyxcbiAgICBNc1VzZXJTZWxlY3Q6ICdub25lJ1xuICB9LFxuICB0b3A6IHtcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGhlaWdodDogJzEwcHgnLFxuICAgIHRvcDogJy01cHgnLFxuICAgIGxlZnQ6ICcwcHgnLFxuICAgIGN1cnNvcjogJ3Jvdy1yZXNpemUnXG4gIH0sXG4gIHJpZ2h0OiB7XG4gICAgd2lkdGg6ICcxMHB4JyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICB0b3A6ICcwcHgnLFxuICAgIHJpZ2h0OiAnLTVweCcsXG4gICAgY3Vyc29yOiAnY29sLXJlc2l6ZSdcbiAgfSxcbiAgYm90dG9tOiB7XG4gICAgd2lkdGg6ICcxMDAlJyxcbiAgICBoZWlnaHQ6ICcxMHB4JyxcbiAgICBib3R0b206ICctNXB4JyxcbiAgICBsZWZ0OiAnMHB4JyxcbiAgICBjdXJzb3I6ICdyb3ctcmVzaXplJ1xuICB9LFxuICBsZWZ0OiB7XG4gICAgd2lkdGg6ICcxMHB4JyxcbiAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICB0b3A6ICcwcHgnLFxuICAgIGxlZnQ6ICctNXB4JyxcbiAgICBjdXJzb3I6ICdjb2wtcmVzaXplJ1xuICB9LFxuICB0b3BSaWdodDoge1xuICAgIHdpZHRoOiAnMjBweCcsXG4gICAgaGVpZ2h0OiAnMjBweCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgcmlnaHQ6ICctMTBweCcsXG4gICAgdG9wOiAnLTEwcHgnLFxuICAgIGN1cnNvcjogJ25lLXJlc2l6ZSdcbiAgfSxcbiAgYm90dG9tUmlnaHQ6IHtcbiAgICB3aWR0aDogJzIwcHgnLFxuICAgIGhlaWdodDogJzIwcHgnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHJpZ2h0OiAnLTEwcHgnLFxuICAgIGJvdHRvbTogJy0xMHB4JyxcbiAgICBjdXJzb3I6ICdzZS1yZXNpemUnXG4gIH0sXG4gIGJvdHRvbUxlZnQ6IHtcbiAgICB3aWR0aDogJzIwcHgnLFxuICAgIGhlaWdodDogJzIwcHgnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIGxlZnQ6ICctMTBweCcsXG4gICAgYm90dG9tOiAnLTEwcHgnLFxuICAgIGN1cnNvcjogJ3N3LXJlc2l6ZSdcbiAgfSxcbiAgdG9wTGVmdDoge1xuICAgIHdpZHRoOiAnMjBweCcsXG4gICAgaGVpZ2h0OiAnMjBweCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgbGVmdDogJy0xMHB4JyxcbiAgICB0b3A6ICctMTBweCcsXG4gICAgY3Vyc29yOiAnbnctcmVzaXplJ1xuICB9XG59O1xuXG52YXIgUmVzaXplciA9IChmdW5jdGlvbiAocHJvcHMpIHtcbiAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgJ2RpdicsXG4gICAge1xuICAgICAgY2xhc3NOYW1lOiBwcm9wcy5jbGFzc05hbWUsXG4gICAgICBzdHlsZTogX2V4dGVuZHMoe30sIHN0eWxlcy5iYXNlLCBzdHlsZXNbcHJvcHMuZGlyZWN0aW9uXSwgcHJvcHMucmVwbGFjZVN0eWxlcyB8fCB7fSksXG4gICAgICBvbk1vdXNlRG93bjogZnVuY3Rpb24gb25Nb3VzZURvd24oZSkge1xuICAgICAgICBwcm9wcy5vblJlc2l6ZVN0YXJ0KGUsIHByb3BzLmRpcmVjdGlvbik7XG4gICAgICB9LFxuICAgICAgb25Ub3VjaFN0YXJ0OiBmdW5jdGlvbiBvblRvdWNoU3RhcnQoZSkge1xuICAgICAgICBwcm9wcy5vblJlc2l6ZVN0YXJ0KGUsIHByb3BzLmRpcmVjdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICBwcm9wcy5jaGlsZHJlblxuICApO1xufSk7XG5cbnZhciB1c2VyU2VsZWN0Tm9uZSA9IHtcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxuICBNb3pVc2VyU2VsZWN0OiAnbm9uZScsXG4gIFdlYmtpdFVzZXJTZWxlY3Q6ICdub25lJyxcbiAgTXNVc2VyU2VsZWN0OiAnbm9uZSdcbn07XG5cbnZhciB1c2VyU2VsZWN0QXV0byA9IHtcbiAgdXNlclNlbGVjdDogJ2F1dG8nLFxuICBNb3pVc2VyU2VsZWN0OiAnYXV0bycsXG4gIFdlYmtpdFVzZXJTZWxlY3Q6ICdhdXRvJyxcbiAgTXNVc2VyU2VsZWN0OiAnYXV0bydcbn07XG5cbnZhciBjbGFtcCA9IGZ1bmN0aW9uIGNsYW1wKG4sIG1pbiwgbWF4KSB7XG4gIHJldHVybiBNYXRoLm1heChNYXRoLm1pbihuLCBtYXgpLCBtaW4pO1xufTtcbnZhciBzbmFwID0gZnVuY3Rpb24gc25hcChuLCBzaXplKSB7XG4gIHJldHVybiBNYXRoLnJvdW5kKG4gLyBzaXplKSAqIHNpemU7XG59O1xuXG52YXIgZmluZENsb3Nlc3RTbmFwID0gZnVuY3Rpb24gZmluZENsb3Nlc3RTbmFwKG4sIHNuYXBBcnJheSkge1xuICByZXR1cm4gc25hcEFycmF5LnJlZHVjZShmdW5jdGlvbiAocHJldiwgY3Vycikge1xuICAgIHJldHVybiBNYXRoLmFicyhjdXJyIC0gbikgPCBNYXRoLmFicyhwcmV2IC0gbikgPyBjdXJyIDogcHJldjtcbiAgfSk7XG59O1xuXG52YXIgZW5kc1dpdGggPSBmdW5jdGlvbiBlbmRzV2l0aChzdHIsIHNlYXJjaFN0cikge1xuICByZXR1cm4gc3RyLnN1YnN0cihzdHIubGVuZ3RoIC0gc2VhcmNoU3RyLmxlbmd0aCwgc2VhcmNoU3RyLmxlbmd0aCkgPT09IHNlYXJjaFN0cjtcbn07XG5cbnZhciBnZXRTdHJpbmdTaXplID0gZnVuY3Rpb24gZ2V0U3RyaW5nU2l6ZShuKSB7XG4gIGlmIChlbmRzV2l0aChuLnRvU3RyaW5nKCksICdweCcpKSByZXR1cm4gbi50b1N0cmluZygpO1xuICBpZiAoZW5kc1dpdGgobi50b1N0cmluZygpLCAnJScpKSByZXR1cm4gbi50b1N0cmluZygpO1xuICBpZiAoZW5kc1dpdGgobi50b1N0cmluZygpLCAndmgnKSkgcmV0dXJuIG4udG9TdHJpbmcoKTtcbiAgaWYgKGVuZHNXaXRoKG4udG9TdHJpbmcoKSwgJ3Z3JykpIHJldHVybiBuLnRvU3RyaW5nKCk7XG4gIGlmIChlbmRzV2l0aChuLnRvU3RyaW5nKCksICd2bWF4JykpIHJldHVybiBuLnRvU3RyaW5nKCk7XG4gIGlmIChlbmRzV2l0aChuLnRvU3RyaW5nKCksICd2bWluJykpIHJldHVybiBuLnRvU3RyaW5nKCk7XG4gIHJldHVybiBuICsgJ3B4Jztcbn07XG5cbnZhciBkZWZpbmVkUHJvcHMgPSBbJ3N0eWxlJywgJ2NsYXNzTmFtZScsICdncmlkJywgJ3NuYXAnLCAnYm91bmRzJywgJ3NpemUnLCAnZGVmYXVsdFNpemUnLCAnbWluV2lkdGgnLCAnbWluSGVpZ2h0JywgJ21heFdpZHRoJywgJ21heEhlaWdodCcsICdsb2NrQXNwZWN0UmF0aW8nLCAnbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aCcsICdsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodCcsICdlbmFibGUnLCAnaGFuZGxlU3R5bGVzJywgJ2hhbmRsZUNsYXNzZXMnLCAnaGFuZGxlV3JhcHBlclN0eWxlJywgJ2hhbmRsZVdyYXBwZXJDbGFzcycsICdjaGlsZHJlbicsICdvblJlc2l6ZVN0YXJ0JywgJ29uUmVzaXplJywgJ29uUmVzaXplU3RvcCcsICdoYW5kbGVDb21wb25lbnQnXTtcblxudmFyIGJhc2VDbGFzc05hbWUgPSAnX19yZXNpemFibGVfYmFzZV9fJztcblxudmFyIFJlc2l6YWJsZSA9IGZ1bmN0aW9uIChfUmVhY3QkQ29tcG9uZW50KSB7XG4gIGluaGVyaXRzKFJlc2l6YWJsZSwgX1JlYWN0JENvbXBvbmVudCk7XG5cbiAgZnVuY3Rpb24gUmVzaXphYmxlKHByb3BzKSB7XG4gICAgY2xhc3NDYWxsQ2hlY2sodGhpcywgUmVzaXphYmxlKTtcblxuICAgIHZhciBfdGhpcyA9IHBvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKFJlc2l6YWJsZS5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKFJlc2l6YWJsZSkpLmNhbGwodGhpcywgcHJvcHMpKTtcblxuICAgIF90aGlzLnN0YXRlID0ge1xuICAgICAgaXNSZXNpemluZzogZmFsc2UsXG4gICAgICByZXNpemVDdXJzb3I6ICdhdXRvJyxcbiAgICAgIHdpZHRoOiB0eXBlb2YgKF90aGlzLnByb3BzU2l6ZSAmJiBfdGhpcy5wcm9wc1NpemUud2lkdGgpID09PSAndW5kZWZpbmVkJyA/ICdhdXRvJyA6IF90aGlzLnByb3BzU2l6ZSAmJiBfdGhpcy5wcm9wc1NpemUud2lkdGgsXG4gICAgICBoZWlnaHQ6IHR5cGVvZiAoX3RoaXMucHJvcHNTaXplICYmIF90aGlzLnByb3BzU2l6ZS5oZWlnaHQpID09PSAndW5kZWZpbmVkJyA/ICdhdXRvJyA6IF90aGlzLnByb3BzU2l6ZSAmJiBfdGhpcy5wcm9wc1NpemUuaGVpZ2h0LFxuICAgICAgZGlyZWN0aW9uOiAncmlnaHQnLFxuICAgICAgb3JpZ2luYWw6IHtcbiAgICAgICAgeDogMCxcbiAgICAgICAgeTogMCxcbiAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgIGhlaWdodDogMFxuICAgICAgfVxuICAgIH07XG5cbiAgICBfdGhpcy51cGRhdGVFeHRlbmRzUHJvcHMocHJvcHMpO1xuICAgIF90aGlzLm9uUmVzaXplU3RhcnQgPSBfdGhpcy5vblJlc2l6ZVN0YXJ0LmJpbmQoX3RoaXMpO1xuICAgIF90aGlzLm9uTW91c2VNb3ZlID0gX3RoaXMub25Nb3VzZU1vdmUuYmluZChfdGhpcyk7XG4gICAgX3RoaXMub25Nb3VzZVVwID0gX3RoaXMub25Nb3VzZVVwLmJpbmQoX3RoaXMpO1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIF90aGlzLm9uTW91c2VVcCk7XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgX3RoaXMub25Nb3VzZU1vdmUpO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBfdGhpcy5vbk1vdXNlVXApO1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIF90aGlzLm9uTW91c2VNb3ZlKTtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIF90aGlzLm9uTW91c2VVcCk7XG4gICAgfVxuICAgIHJldHVybiBfdGhpcztcbiAgfVxuXG4gIGNyZWF0ZUNsYXNzKFJlc2l6YWJsZSwgW3tcbiAgICBrZXk6ICd1cGRhdGVFeHRlbmRzUHJvcHMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1cGRhdGVFeHRlbmRzUHJvcHMocHJvcHMpIHtcbiAgICAgIHRoaXMuZXh0ZW5kc1Byb3BzID0gT2JqZWN0LmtleXMocHJvcHMpLnJlZHVjZShmdW5jdGlvbiAoYWNjLCBrZXkpIHtcbiAgICAgICAgaWYgKGRlZmluZWRQcm9wcy5pbmRleE9mKGtleSkgIT09IC0xKSByZXR1cm4gYWNjO1xuICAgICAgICBhY2Nba2V5XSA9IHByb3BzW2tleV07XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCB7fSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnZ2V0UGFyZW50U2l6ZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGdldFBhcmVudFNpemUoKSB7XG4gICAgICB2YXIgYmFzZSA9IHRoaXMuYmFzZTtcblxuICAgICAgaWYgKCFiYXNlKSByZXR1cm4geyB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0IH07XG4gICAgICAvLyBJTkZPOiBUbyBjYWxjdWxhdGUgcGFyZW50IHdpZHRoIHdpdGggZmxleCBsYXlvdXRcbiAgICAgIHZhciB3cmFwQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgdmFyIHdyYXAgPSB0aGlzLnBhcmVudE5vZGUuc3R5bGUuZmxleFdyYXA7XG4gICAgICB2YXIgbWluV2lkdGggPSBiYXNlLnN0eWxlLm1pbldpZHRoO1xuICAgICAgaWYgKHdyYXAgIT09ICd3cmFwJykge1xuICAgICAgICB3cmFwQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgIHRoaXMucGFyZW50Tm9kZS5zdHlsZS5mbGV4V3JhcCA9ICd3cmFwJztcbiAgICAgICAgLy8gSEFDSzogVXNlIHJlbGF0aXZlIHRvIGdldCBwYXJlbnQgcGFkZGluZyBzaXplXG4gICAgICB9XG4gICAgICBiYXNlLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcbiAgICAgIGJhc2Uuc3R5bGUubWluV2lkdGggPSAnMTAwJSc7XG4gICAgICB2YXIgc2l6ZSA9IHtcbiAgICAgICAgd2lkdGg6IGJhc2Uub2Zmc2V0V2lkdGgsXG4gICAgICAgIGhlaWdodDogYmFzZS5vZmZzZXRIZWlnaHRcbiAgICAgIH07XG4gICAgICBiYXNlLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIGlmICh3cmFwQ2hhbmdlZCkgdGhpcy5wYXJlbnROb2RlLnN0eWxlLmZsZXhXcmFwID0gd3JhcDtcbiAgICAgIGJhc2Uuc3R5bGUubWluV2lkdGggPSBtaW5XaWR0aDtcbiAgICAgIHJldHVybiBzaXplO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2NvbXBvbmVudERpZE1vdW50JyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB2YXIgc2l6ZSA9IHRoaXMuc2l6ZTtcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHdpZHRoOiB0aGlzLnN0YXRlLndpZHRoIHx8IHNpemUud2lkdGgsXG4gICAgICAgIGhlaWdodDogdGhpcy5zdGF0ZS5oZWlnaHQgfHwgc2l6ZS5oZWlnaHRcbiAgICAgIH0pO1xuICAgICAgdmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTtcbiAgICAgIGlmICghKHBhcmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkgcmV0dXJuO1xuICAgICAgaWYgKHRoaXMuYmFzZSkgcmV0dXJuO1xuICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSAnMTAwJSc7XG4gICAgICBlbGVtZW50LnN0eWxlLmhlaWdodCA9ICcxMDAlJztcbiAgICAgIGVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgZWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSAnc2NhbGUoMCwgMCknO1xuICAgICAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gJzAnO1xuICAgICAgZWxlbWVudC5zdHlsZS5mbGV4ID0gJzAnO1xuICAgICAgaWYgKGVsZW1lbnQuY2xhc3NMaXN0KSB7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChiYXNlQ2xhc3NOYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NOYW1lICs9IGJhc2VDbGFzc05hbWU7XG4gICAgICB9XG4gICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dCkge1xuICAgICAgdGhpcy51cGRhdGVFeHRlbmRzUHJvcHMobmV4dCk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnY29tcG9uZW50V2lsbFVubW91bnQnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMub25Nb3VzZVVwKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25Nb3VzZU1vdmUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2VsZWF2ZScsIHRoaXMub25Nb3VzZVVwKTtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Nb3VzZU1vdmUpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2hlbmQnLCB0aGlzLm9uTW91c2VVcCk7XG4gICAgICAgIHZhciBwYXJlbnQgPSB0aGlzLnBhcmVudE5vZGU7XG4gICAgICAgIHZhciBiYXNlID0gdGhpcy5iYXNlO1xuXG4gICAgICAgIGlmICghYmFzZSB8fCAhcGFyZW50KSByZXR1cm47XG4gICAgICAgIGlmICghKHBhcmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB8fCAhKGJhc2UgaW5zdGFuY2VvZiBOb2RlKSkgcmV0dXJuO1xuICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQoYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnY2FsY3VsYXRlTmV3U2l6ZScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNhbGN1bGF0ZU5ld1NpemUobmV3U2l6ZSwga2luZCkge1xuICAgICAgdmFyIHByb3BzU2l6ZSA9IHRoaXMucHJvcHNTaXplICYmIHRoaXMucHJvcHNTaXplW2tpbmRdO1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGVba2luZF0gPT09ICdhdXRvJyAmJiB0aGlzLnN0YXRlLm9yaWdpbmFsW2tpbmRdID09PSBuZXdTaXplICYmICh0eXBlb2YgcHJvcHNTaXplID09PSAndW5kZWZpbmVkJyB8fCBwcm9wc1NpemUgPT09ICdhdXRvJykgPyAnYXV0bycgOiBuZXdTaXplO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ29uUmVzaXplU3RhcnQnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvblJlc2l6ZVN0YXJ0KGV2ZW50LCBkaXJlY3Rpb24pIHtcbiAgICAgIHZhciBjbGllbnRYID0gMDtcbiAgICAgIHZhciBjbGllbnRZID0gMDtcbiAgICAgIGlmIChldmVudC5uYXRpdmVFdmVudCBpbnN0YW5jZW9mIE1vdXNlRXZlbnQpIHtcbiAgICAgICAgY2xpZW50WCA9IGV2ZW50Lm5hdGl2ZUV2ZW50LmNsaWVudFg7XG4gICAgICAgIGNsaWVudFkgPSBldmVudC5uYXRpdmVFdmVudC5jbGllbnRZO1xuXG4gICAgICAgIC8vIFdoZW4gdXNlciBjbGljayB3aXRoIHJpZ2h0IGJ1dHRvbiB0aGUgcmVzaXplIGlzIHN0dWNrIGluIHJlc2l6aW5nIG1vZGVcbiAgICAgICAgLy8gdW50aWwgdXNlcnMgY2xpY2tzIGFnYWluLCBkb250IGNvbnRpbnVlIGlmIHJpZ2h0IGNsaWNrIGlzIHVzZWQuXG4gICAgICAgIC8vIEhBQ0s6IE1vdXNlRXZlbnQgZG9lcyBub3QgaGF2ZSBgd2hpY2hgIGZyb20gZmxvdy1iaW4gdjAuNjguXG4gICAgICAgIGlmIChldmVudC5uYXRpdmVFdmVudC53aGljaCA9PT0gMykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChldmVudC5uYXRpdmVFdmVudCBpbnN0YW5jZW9mIFRvdWNoRXZlbnQpIHtcbiAgICAgICAgY2xpZW50WCA9IGV2ZW50Lm5hdGl2ZUV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgY2xpZW50WSA9IGV2ZW50Lm5hdGl2ZUV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLm9uUmVzaXplU3RhcnQpIHtcbiAgICAgICAgdGhpcy5wcm9wcy5vblJlc2l6ZVN0YXJ0KGV2ZW50LCBkaXJlY3Rpb24sIHRoaXMucmVzaXphYmxlKTtcbiAgICAgIH1cblxuICAgICAgLy8gRml4ICMxNjhcbiAgICAgIGlmICh0aGlzLnByb3BzLnNpemUpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLnNpemUuaGVpZ2h0ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnByb3BzLnNpemUuaGVpZ2h0ICE9PSB0aGlzLnN0YXRlLmhlaWdodCkge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBoZWlnaHQ6IHRoaXMucHJvcHMuc2l6ZS5oZWlnaHQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLnNpemUud2lkdGggIT09ICd1bmRlZmluZWQnICYmIHRoaXMucHJvcHMuc2l6ZS53aWR0aCAhPT0gdGhpcy5zdGF0ZS53aWR0aCkge1xuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB3aWR0aDogdGhpcy5wcm9wcy5zaXplLndpZHRoIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBvcmlnaW5hbDoge1xuICAgICAgICAgIHg6IGNsaWVudFgsXG4gICAgICAgICAgeTogY2xpZW50WSxcbiAgICAgICAgICB3aWR0aDogdGhpcy5zaXplLndpZHRoLFxuICAgICAgICAgIGhlaWdodDogdGhpcy5zaXplLmhlaWdodFxuICAgICAgICB9LFxuICAgICAgICBpc1Jlc2l6aW5nOiB0cnVlLFxuICAgICAgICByZXNpemVDdXJzb3I6IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGV2ZW50LnRhcmdldCkuY3Vyc29yLFxuICAgICAgICBkaXJlY3Rpb246IGRpcmVjdGlvblxuICAgICAgfSk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25Nb3VzZU1vdmUnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBvbk1vdXNlTW92ZShldmVudCkge1xuICAgICAgaWYgKCF0aGlzLnN0YXRlLmlzUmVzaXppbmcpIHJldHVybjtcbiAgICAgIHZhciBjbGllbnRYID0gZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50ID8gZXZlbnQuY2xpZW50WCA6IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgIHZhciBjbGllbnRZID0gZXZlbnQgaW5zdGFuY2VvZiBNb3VzZUV2ZW50ID8gZXZlbnQuY2xpZW50WSA6IGV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WTtcbiAgICAgIHZhciBfc3RhdGUgPSB0aGlzLnN0YXRlLFxuICAgICAgICAgIGRpcmVjdGlvbiA9IF9zdGF0ZS5kaXJlY3Rpb24sXG4gICAgICAgICAgb3JpZ2luYWwgPSBfc3RhdGUub3JpZ2luYWwsXG4gICAgICAgICAgd2lkdGggPSBfc3RhdGUud2lkdGgsXG4gICAgICAgICAgaGVpZ2h0ID0gX3N0YXRlLmhlaWdodDtcbiAgICAgIHZhciBfcHJvcHMgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIGxvY2tBc3BlY3RSYXRpbyA9IF9wcm9wcy5sb2NrQXNwZWN0UmF0aW8sXG4gICAgICAgICAgbG9ja0FzcGVjdFJhdGlvRXh0cmFIZWlnaHQgPSBfcHJvcHMubG9ja0FzcGVjdFJhdGlvRXh0cmFIZWlnaHQsXG4gICAgICAgICAgbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aCA9IF9wcm9wcy5sb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoO1xuICAgICAgdmFyIF9wcm9wczIgPSB0aGlzLnByb3BzLFxuICAgICAgICAgIG1heFdpZHRoID0gX3Byb3BzMi5tYXhXaWR0aCxcbiAgICAgICAgICBtYXhIZWlnaHQgPSBfcHJvcHMyLm1heEhlaWdodCxcbiAgICAgICAgICBtaW5XaWR0aCA9IF9wcm9wczIubWluV2lkdGgsXG4gICAgICAgICAgbWluSGVpZ2h0ID0gX3Byb3BzMi5taW5IZWlnaHQ7XG5cbiAgICAgIC8vIFRPRE86IHJlZmFjdG9yXG5cbiAgICAgIHZhciBwYXJlbnRTaXplID0gdGhpcy5nZXRQYXJlbnRTaXplKCk7XG4gICAgICBpZiAobWF4V2lkdGggJiYgdHlwZW9mIG1heFdpZHRoID09PSAnc3RyaW5nJyAmJiBlbmRzV2l0aChtYXhXaWR0aCwgJyUnKSkge1xuICAgICAgICB2YXIgX3JhdGlvID0gTnVtYmVyKG1heFdpZHRoLnJlcGxhY2UoJyUnLCAnJykpIC8gMTAwO1xuICAgICAgICBtYXhXaWR0aCA9IHBhcmVudFNpemUud2lkdGggKiBfcmF0aW87XG4gICAgICB9XG4gICAgICBpZiAobWF4SGVpZ2h0ICYmIHR5cGVvZiBtYXhIZWlnaHQgPT09ICdzdHJpbmcnICYmIGVuZHNXaXRoKG1heEhlaWdodCwgJyUnKSkge1xuICAgICAgICB2YXIgX3JhdGlvMiA9IE51bWJlcihtYXhIZWlnaHQucmVwbGFjZSgnJScsICcnKSkgLyAxMDA7XG4gICAgICAgIG1heEhlaWdodCA9IHBhcmVudFNpemUuaGVpZ2h0ICogX3JhdGlvMjtcbiAgICAgIH1cbiAgICAgIGlmIChtaW5XaWR0aCAmJiB0eXBlb2YgbWluV2lkdGggPT09ICdzdHJpbmcnICYmIGVuZHNXaXRoKG1pbldpZHRoLCAnJScpKSB7XG4gICAgICAgIHZhciBfcmF0aW8zID0gTnVtYmVyKG1pbldpZHRoLnJlcGxhY2UoJyUnLCAnJykpIC8gMTAwO1xuICAgICAgICBtaW5XaWR0aCA9IHBhcmVudFNpemUud2lkdGggKiBfcmF0aW8zO1xuICAgICAgfVxuICAgICAgaWYgKG1pbkhlaWdodCAmJiB0eXBlb2YgbWluSGVpZ2h0ID09PSAnc3RyaW5nJyAmJiBlbmRzV2l0aChtaW5IZWlnaHQsICclJykpIHtcbiAgICAgICAgdmFyIF9yYXRpbzQgPSBOdW1iZXIobWluSGVpZ2h0LnJlcGxhY2UoJyUnLCAnJykpIC8gMTAwO1xuICAgICAgICBtaW5IZWlnaHQgPSBwYXJlbnRTaXplLmhlaWdodCAqIF9yYXRpbzQ7XG4gICAgICB9XG4gICAgICBtYXhXaWR0aCA9IHR5cGVvZiBtYXhXaWR0aCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBOdW1iZXIobWF4V2lkdGgpO1xuICAgICAgbWF4SGVpZ2h0ID0gdHlwZW9mIG1heEhlaWdodCA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBOdW1iZXIobWF4SGVpZ2h0KTtcbiAgICAgIG1pbldpZHRoID0gdHlwZW9mIG1pbldpZHRoID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE51bWJlcihtaW5XaWR0aCk7XG4gICAgICBtaW5IZWlnaHQgPSB0eXBlb2YgbWluSGVpZ2h0ID09PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IE51bWJlcihtaW5IZWlnaHQpO1xuXG4gICAgICB2YXIgcmF0aW8gPSB0eXBlb2YgbG9ja0FzcGVjdFJhdGlvID09PSAnbnVtYmVyJyA/IGxvY2tBc3BlY3RSYXRpbyA6IG9yaWdpbmFsLndpZHRoIC8gb3JpZ2luYWwuaGVpZ2h0O1xuICAgICAgdmFyIG5ld1dpZHRoID0gb3JpZ2luYWwud2lkdGg7XG4gICAgICB2YXIgbmV3SGVpZ2h0ID0gb3JpZ2luYWwuaGVpZ2h0O1xuICAgICAgaWYgKC9yaWdodC9pLnRlc3QoZGlyZWN0aW9uKSkge1xuICAgICAgICBuZXdXaWR0aCA9IG9yaWdpbmFsLndpZHRoICsgKGNsaWVudFggLSBvcmlnaW5hbC54KTtcbiAgICAgICAgaWYgKGxvY2tBc3BlY3RSYXRpbykgbmV3SGVpZ2h0ID0gKG5ld1dpZHRoIC0gbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aCkgLyByYXRpbyArIGxvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0O1xuICAgICAgfVxuICAgICAgaWYgKC9sZWZ0L2kudGVzdChkaXJlY3Rpb24pKSB7XG4gICAgICAgIG5ld1dpZHRoID0gb3JpZ2luYWwud2lkdGggLSAoY2xpZW50WCAtIG9yaWdpbmFsLngpO1xuICAgICAgICBpZiAobG9ja0FzcGVjdFJhdGlvKSBuZXdIZWlnaHQgPSAobmV3V2lkdGggLSBsb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoKSAvIHJhdGlvICsgbG9ja0FzcGVjdFJhdGlvRXh0cmFIZWlnaHQ7XG4gICAgICB9XG4gICAgICBpZiAoL2JvdHRvbS9pLnRlc3QoZGlyZWN0aW9uKSkge1xuICAgICAgICBuZXdIZWlnaHQgPSBvcmlnaW5hbC5oZWlnaHQgKyAoY2xpZW50WSAtIG9yaWdpbmFsLnkpO1xuICAgICAgICBpZiAobG9ja0FzcGVjdFJhdGlvKSBuZXdXaWR0aCA9IChuZXdIZWlnaHQgLSBsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodCkgKiByYXRpbyArIGxvY2tBc3BlY3RSYXRpb0V4dHJhV2lkdGg7XG4gICAgICB9XG4gICAgICBpZiAoL3RvcC9pLnRlc3QoZGlyZWN0aW9uKSkge1xuICAgICAgICBuZXdIZWlnaHQgPSBvcmlnaW5hbC5oZWlnaHQgLSAoY2xpZW50WSAtIG9yaWdpbmFsLnkpO1xuICAgICAgICBpZiAobG9ja0FzcGVjdFJhdGlvKSBuZXdXaWR0aCA9IChuZXdIZWlnaHQgLSBsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodCkgKiByYXRpbyArIGxvY2tBc3BlY3RSYXRpb0V4dHJhV2lkdGg7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmJvdW5kcyA9PT0gJ3BhcmVudCcpIHtcbiAgICAgICAgdmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTtcbiAgICAgICAgaWYgKHBhcmVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgdmFyIHBhcmVudFJlY3QgPSBwYXJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgdmFyIHBhcmVudExlZnQgPSBwYXJlbnRSZWN0LmxlZnQ7XG4gICAgICAgICAgdmFyIHBhcmVudFRvcCA9IHBhcmVudFJlY3QudG9wO1xuXG4gICAgICAgICAgdmFyIF9yZXNpemFibGUkZ2V0Qm91bmRpbiA9IHRoaXMucmVzaXphYmxlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgICAgICBfbGVmdCA9IF9yZXNpemFibGUkZ2V0Qm91bmRpbi5sZWZ0LFxuICAgICAgICAgICAgICBfdG9wID0gX3Jlc2l6YWJsZSRnZXRCb3VuZGluLnRvcDtcblxuICAgICAgICAgIHZhciBib3VuZFdpZHRoID0gcGFyZW50Lm9mZnNldFdpZHRoICsgKHBhcmVudExlZnQgLSBfbGVmdCk7XG4gICAgICAgICAgdmFyIGJvdW5kSGVpZ2h0ID0gcGFyZW50Lm9mZnNldEhlaWdodCArIChwYXJlbnRUb3AgLSBfdG9wKTtcbiAgICAgICAgICBtYXhXaWR0aCA9IG1heFdpZHRoICYmIG1heFdpZHRoIDwgYm91bmRXaWR0aCA/IG1heFdpZHRoIDogYm91bmRXaWR0aDtcbiAgICAgICAgICBtYXhIZWlnaHQgPSBtYXhIZWlnaHQgJiYgbWF4SGVpZ2h0IDwgYm91bmRIZWlnaHQgPyBtYXhIZWlnaHQgOiBib3VuZEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmJvdW5kcyA9PT0gJ3dpbmRvdycpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgdmFyIF9yZXNpemFibGUkZ2V0Qm91bmRpbjIgPSB0aGlzLnJlc2l6YWJsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICAgICAgX2xlZnQyID0gX3Jlc2l6YWJsZSRnZXRCb3VuZGluMi5sZWZ0LFxuICAgICAgICAgICAgICBfdG9wMiA9IF9yZXNpemFibGUkZ2V0Qm91bmRpbjIudG9wO1xuXG4gICAgICAgICAgdmFyIF9ib3VuZFdpZHRoID0gd2luZG93LmlubmVyV2lkdGggLSBfbGVmdDI7XG4gICAgICAgICAgdmFyIF9ib3VuZEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodCAtIF90b3AyO1xuICAgICAgICAgIG1heFdpZHRoID0gbWF4V2lkdGggJiYgbWF4V2lkdGggPCBfYm91bmRXaWR0aCA/IG1heFdpZHRoIDogX2JvdW5kV2lkdGg7XG4gICAgICAgICAgbWF4SGVpZ2h0ID0gbWF4SGVpZ2h0ICYmIG1heEhlaWdodCA8IF9ib3VuZEhlaWdodCA/IG1heEhlaWdodCA6IF9ib3VuZEhlaWdodDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0aGlzLnByb3BzLmJvdW5kcyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHZhciB0YXJnZXRSZWN0ID0gdGhpcy5wcm9wcy5ib3VuZHMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIHZhciB0YXJnZXRMZWZ0ID0gdGFyZ2V0UmVjdC5sZWZ0O1xuICAgICAgICB2YXIgdGFyZ2V0VG9wID0gdGFyZ2V0UmVjdC50b3A7XG5cbiAgICAgICAgdmFyIF9yZXNpemFibGUkZ2V0Qm91bmRpbjMgPSB0aGlzLnJlc2l6YWJsZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxcbiAgICAgICAgICAgIF9sZWZ0MyA9IF9yZXNpemFibGUkZ2V0Qm91bmRpbjMubGVmdCxcbiAgICAgICAgICAgIF90b3AzID0gX3Jlc2l6YWJsZSRnZXRCb3VuZGluMy50b3A7XG5cbiAgICAgICAgaWYgKCEodGhpcy5wcm9wcy5ib3VuZHMgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHJldHVybjtcbiAgICAgICAgdmFyIF9ib3VuZFdpZHRoMiA9IHRoaXMucHJvcHMuYm91bmRzLm9mZnNldFdpZHRoICsgKHRhcmdldExlZnQgLSBfbGVmdDMpO1xuICAgICAgICB2YXIgX2JvdW5kSGVpZ2h0MiA9IHRoaXMucHJvcHMuYm91bmRzLm9mZnNldEhlaWdodCArICh0YXJnZXRUb3AgLSBfdG9wMyk7XG4gICAgICAgIG1heFdpZHRoID0gbWF4V2lkdGggJiYgbWF4V2lkdGggPCBfYm91bmRXaWR0aDIgPyBtYXhXaWR0aCA6IF9ib3VuZFdpZHRoMjtcbiAgICAgICAgbWF4SGVpZ2h0ID0gbWF4SGVpZ2h0ICYmIG1heEhlaWdodCA8IF9ib3VuZEhlaWdodDIgPyBtYXhIZWlnaHQgOiBfYm91bmRIZWlnaHQyO1xuICAgICAgfVxuXG4gICAgICB2YXIgY29tcHV0ZWRNaW5XaWR0aCA9IHR5cGVvZiBtaW5XaWR0aCA9PT0gJ3VuZGVmaW5lZCcgPyAxMCA6IG1pbldpZHRoO1xuICAgICAgdmFyIGNvbXB1dGVkTWF4V2lkdGggPSB0eXBlb2YgbWF4V2lkdGggPT09ICd1bmRlZmluZWQnIHx8IG1heFdpZHRoIDwgMCA/IG5ld1dpZHRoIDogbWF4V2lkdGg7XG4gICAgICB2YXIgY29tcHV0ZWRNaW5IZWlnaHQgPSB0eXBlb2YgbWluSGVpZ2h0ID09PSAndW5kZWZpbmVkJyA/IDEwIDogbWluSGVpZ2h0O1xuICAgICAgdmFyIGNvbXB1dGVkTWF4SGVpZ2h0ID0gdHlwZW9mIG1heEhlaWdodCA9PT0gJ3VuZGVmaW5lZCcgfHwgbWF4SGVpZ2h0IDwgMCA/IG5ld0hlaWdodCA6IG1heEhlaWdodDtcblxuICAgICAgaWYgKGxvY2tBc3BlY3RSYXRpbykge1xuICAgICAgICB2YXIgZXh0cmFNaW5XaWR0aCA9IChjb21wdXRlZE1pbkhlaWdodCAtIGxvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0KSAqIHJhdGlvICsgbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aDtcbiAgICAgICAgdmFyIGV4dHJhTWF4V2lkdGggPSAoY29tcHV0ZWRNYXhIZWlnaHQgLSBsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodCkgKiByYXRpbyArIGxvY2tBc3BlY3RSYXRpb0V4dHJhV2lkdGg7XG4gICAgICAgIHZhciBleHRyYU1pbkhlaWdodCA9IChjb21wdXRlZE1pbldpZHRoIC0gbG9ja0FzcGVjdFJhdGlvRXh0cmFXaWR0aCkgLyByYXRpbyArIGxvY2tBc3BlY3RSYXRpb0V4dHJhSGVpZ2h0O1xuICAgICAgICB2YXIgZXh0cmFNYXhIZWlnaHQgPSAoY29tcHV0ZWRNYXhXaWR0aCAtIGxvY2tBc3BlY3RSYXRpb0V4dHJhV2lkdGgpIC8gcmF0aW8gKyBsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodDtcbiAgICAgICAgdmFyIGxvY2tlZE1pbldpZHRoID0gTWF0aC5tYXgoY29tcHV0ZWRNaW5XaWR0aCwgZXh0cmFNaW5XaWR0aCk7XG4gICAgICAgIHZhciBsb2NrZWRNYXhXaWR0aCA9IE1hdGgubWluKGNvbXB1dGVkTWF4V2lkdGgsIGV4dHJhTWF4V2lkdGgpO1xuICAgICAgICB2YXIgbG9ja2VkTWluSGVpZ2h0ID0gTWF0aC5tYXgoY29tcHV0ZWRNaW5IZWlnaHQsIGV4dHJhTWluSGVpZ2h0KTtcbiAgICAgICAgdmFyIGxvY2tlZE1heEhlaWdodCA9IE1hdGgubWluKGNvbXB1dGVkTWF4SGVpZ2h0LCBleHRyYU1heEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobmV3V2lkdGgsIGxvY2tlZE1pbldpZHRoLCBsb2NrZWRNYXhXaWR0aCk7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG5ld0hlaWdodCwgbG9ja2VkTWluSGVpZ2h0LCBsb2NrZWRNYXhIZWlnaHQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChuZXdXaWR0aCwgY29tcHV0ZWRNaW5XaWR0aCwgY29tcHV0ZWRNYXhXaWR0aCk7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG5ld0hlaWdodCwgY29tcHV0ZWRNaW5IZWlnaHQsIGNvbXB1dGVkTWF4SGVpZ2h0KTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnByb3BzLmdyaWQpIHtcbiAgICAgICAgbmV3V2lkdGggPSBzbmFwKG5ld1dpZHRoLCB0aGlzLnByb3BzLmdyaWRbMF0pO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMuZ3JpZCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBzbmFwKG5ld0hlaWdodCwgdGhpcy5wcm9wcy5ncmlkWzFdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMucHJvcHMuc25hcCAmJiB0aGlzLnByb3BzLnNuYXAueCkge1xuICAgICAgICBuZXdXaWR0aCA9IGZpbmRDbG9zZXN0U25hcChuZXdXaWR0aCwgdGhpcy5wcm9wcy5zbmFwLngpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMuc25hcCAmJiB0aGlzLnByb3BzLnNuYXAueSkge1xuICAgICAgICBuZXdIZWlnaHQgPSBmaW5kQ2xvc2VzdFNuYXAobmV3SGVpZ2h0LCB0aGlzLnByb3BzLnNuYXAueSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBkZWx0YSA9IHtcbiAgICAgICAgd2lkdGg6IG5ld1dpZHRoIC0gb3JpZ2luYWwud2lkdGgsXG4gICAgICAgIGhlaWdodDogbmV3SGVpZ2h0IC0gb3JpZ2luYWwuaGVpZ2h0XG4gICAgICB9O1xuXG4gICAgICBpZiAod2lkdGggJiYgdHlwZW9mIHdpZHRoID09PSAnc3RyaW5nJyAmJiBlbmRzV2l0aCh3aWR0aCwgJyUnKSkge1xuICAgICAgICB2YXIgcGVyY2VudCA9IG5ld1dpZHRoIC8gcGFyZW50U2l6ZS53aWR0aCAqIDEwMDtcbiAgICAgICAgbmV3V2lkdGggPSBwZXJjZW50ICsgJyUnO1xuICAgICAgfVxuXG4gICAgICBpZiAoaGVpZ2h0ICYmIHR5cGVvZiBoZWlnaHQgPT09ICdzdHJpbmcnICYmIGVuZHNXaXRoKGhlaWdodCwgJyUnKSkge1xuICAgICAgICB2YXIgX3BlcmNlbnQgPSBuZXdIZWlnaHQgLyBwYXJlbnRTaXplLmhlaWdodCAqIDEwMDtcbiAgICAgICAgbmV3SGVpZ2h0ID0gX3BlcmNlbnQgKyAnJSc7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB3aWR0aDogdGhpcy5jYWxjdWxhdGVOZXdTaXplKG5ld1dpZHRoLCAnd2lkdGgnKSxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmNhbGN1bGF0ZU5ld1NpemUobmV3SGVpZ2h0LCAnaGVpZ2h0JylcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodGhpcy5wcm9wcy5vblJlc2l6ZSkge1xuICAgICAgICB0aGlzLnByb3BzLm9uUmVzaXplKGV2ZW50LCBkaXJlY3Rpb24sIHRoaXMucmVzaXphYmxlLCBkZWx0YSk7XG4gICAgICB9XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnb25Nb3VzZVVwJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gb25Nb3VzZVVwKGV2ZW50KSB7XG4gICAgICB2YXIgX3N0YXRlMiA9IHRoaXMuc3RhdGUsXG4gICAgICAgICAgaXNSZXNpemluZyA9IF9zdGF0ZTIuaXNSZXNpemluZyxcbiAgICAgICAgICBkaXJlY3Rpb24gPSBfc3RhdGUyLmRpcmVjdGlvbixcbiAgICAgICAgICBvcmlnaW5hbCA9IF9zdGF0ZTIub3JpZ2luYWw7XG5cbiAgICAgIGlmICghaXNSZXNpemluZykgcmV0dXJuO1xuICAgICAgdmFyIGRlbHRhID0ge1xuICAgICAgICB3aWR0aDogdGhpcy5zaXplLndpZHRoIC0gb3JpZ2luYWwud2lkdGgsXG4gICAgICAgIGhlaWdodDogdGhpcy5zaXplLmhlaWdodCAtIG9yaWdpbmFsLmhlaWdodFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uUmVzaXplU3RvcCkge1xuICAgICAgICB0aGlzLnByb3BzLm9uUmVzaXplU3RvcChldmVudCwgZGlyZWN0aW9uLCB0aGlzLnJlc2l6YWJsZSwgZGVsdGEpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucHJvcHMuc2l6ZSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHRoaXMucHJvcHMuc2l6ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHsgaXNSZXNpemluZzogZmFsc2UsIHJlc2l6ZUN1cnNvcjogJ2F1dG8nIH0pO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ3VwZGF0ZVNpemUnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1cGRhdGVTaXplKHNpemUpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyB3aWR0aDogc2l6ZS53aWR0aCwgaGVpZ2h0OiBzaXplLmhlaWdodCB9KTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdyZW5kZXJSZXNpemVyJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyUmVzaXplcigpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICB2YXIgX3Byb3BzMyA9IHRoaXMucHJvcHMsXG4gICAgICAgICAgZW5hYmxlID0gX3Byb3BzMy5lbmFibGUsXG4gICAgICAgICAgaGFuZGxlU3R5bGVzID0gX3Byb3BzMy5oYW5kbGVTdHlsZXMsXG4gICAgICAgICAgaGFuZGxlQ2xhc3NlcyA9IF9wcm9wczMuaGFuZGxlQ2xhc3NlcyxcbiAgICAgICAgICBoYW5kbGVXcmFwcGVyU3R5bGUgPSBfcHJvcHMzLmhhbmRsZVdyYXBwZXJTdHlsZSxcbiAgICAgICAgICBoYW5kbGVXcmFwcGVyQ2xhc3MgPSBfcHJvcHMzLmhhbmRsZVdyYXBwZXJDbGFzcyxcbiAgICAgICAgICBoYW5kbGVDb21wb25lbnQgPSBfcHJvcHMzLmhhbmRsZUNvbXBvbmVudDtcblxuICAgICAgaWYgKCFlbmFibGUpIHJldHVybiBudWxsO1xuICAgICAgdmFyIHJlc2l6ZXJzID0gT2JqZWN0LmtleXMoZW5hYmxlKS5tYXAoZnVuY3Rpb24gKGRpcikge1xuICAgICAgICBpZiAoZW5hYmxlW2Rpcl0gIT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIGNyZWF0ZUVsZW1lbnQoXG4gICAgICAgICAgICBSZXNpemVyLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBrZXk6IGRpcixcbiAgICAgICAgICAgICAgZGlyZWN0aW9uOiBkaXIsXG4gICAgICAgICAgICAgIG9uUmVzaXplU3RhcnQ6IF90aGlzMi5vblJlc2l6ZVN0YXJ0LFxuICAgICAgICAgICAgICByZXBsYWNlU3R5bGVzOiBoYW5kbGVTdHlsZXMgJiYgaGFuZGxlU3R5bGVzW2Rpcl0sXG4gICAgICAgICAgICAgIGNsYXNzTmFtZTogaGFuZGxlQ2xhc3NlcyAmJiBoYW5kbGVDbGFzc2VzW2Rpcl1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYW5kbGVDb21wb25lbnQgJiYgaGFuZGxlQ29tcG9uZW50W2Rpcl0gPyBjcmVhdGVFbGVtZW50KGhhbmRsZUNvbXBvbmVudFtkaXJdKSA6IG51bGxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSk7XG4gICAgICAvLyAjOTMgV3JhcCB0aGUgcmVzaXplIGJveCBpbiBzcGFuICh3aWxsIG5vdCBicmVhayAxMDAlIHdpZHRoL2hlaWdodClcbiAgICAgIHJldHVybiBjcmVhdGVFbGVtZW50KFxuICAgICAgICAnc3BhbicsXG4gICAgICAgIHsgY2xhc3NOYW1lOiBoYW5kbGVXcmFwcGVyQ2xhc3MsIHN0eWxlOiBoYW5kbGVXcmFwcGVyU3R5bGUgfSxcbiAgICAgICAgcmVzaXplcnNcbiAgICAgICk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAncmVuZGVyJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIHZhciB1c2VyU2VsZWN0ID0gdGhpcy5zdGF0ZS5pc1Jlc2l6aW5nID8gdXNlclNlbGVjdE5vbmUgOiB1c2VyU2VsZWN0QXV0bztcbiAgICAgIHJldHVybiBjcmVhdGVFbGVtZW50KFxuICAgICAgICAnZGl2JyxcbiAgICAgICAgX2V4dGVuZHMoe1xuICAgICAgICAgIHJlZjogZnVuY3Rpb24gcmVmKGMpIHtcbiAgICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICAgIF90aGlzMy5yZXNpemFibGUgPSBjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgc3R5bGU6IF9leHRlbmRzKHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gICAgICAgICAgfSwgdXNlclNlbGVjdCwgdGhpcy5wcm9wcy5zdHlsZSwgdGhpcy5zaXplU3R5bGUsIHtcbiAgICAgICAgICAgIG1heFdpZHRoOiB0aGlzLnByb3BzLm1heFdpZHRoLFxuICAgICAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLnByb3BzLm1heEhlaWdodCxcbiAgICAgICAgICAgIG1pbldpZHRoOiB0aGlzLnByb3BzLm1pbldpZHRoLFxuICAgICAgICAgICAgbWluSGVpZ2h0OiB0aGlzLnByb3BzLm1pbkhlaWdodCxcbiAgICAgICAgICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnXG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2xhc3NOYW1lOiB0aGlzLnByb3BzLmNsYXNzTmFtZVxuICAgICAgICB9LCB0aGlzLmV4dGVuZHNQcm9wcyksXG4gICAgICAgIHRoaXMuc3RhdGUuaXNSZXNpemluZyAmJiBjcmVhdGVFbGVtZW50KCdkaXYnLCB7XG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwwLDAsMCknLFxuICAgICAgICAgICAgY3Vyc29yOiAnJyArICh0aGlzLnN0YXRlLnJlc2l6ZUN1cnNvciB8fCAnYXV0bycpLFxuICAgICAgICAgICAgb3BhY2l0eTogJzAnLFxuICAgICAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgICAgICB6SW5kZXg6ICc5OTk5JyxcbiAgICAgICAgICAgIHRvcDogJzAnLFxuICAgICAgICAgICAgbGVmdDogJzAnLFxuICAgICAgICAgICAgYm90dG9tOiAnMCcsXG4gICAgICAgICAgICByaWdodDogJzAnXG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgdGhpcy5wcm9wcy5jaGlsZHJlbixcbiAgICAgICAgdGhpcy5yZW5kZXJSZXNpemVyKClcbiAgICAgICk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAncGFyZW50Tm9kZScsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQkJDEoKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXNpemFibGUucGFyZW50Tm9kZTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdwcm9wc1NpemUnLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0JCQxKCkge1xuICAgICAgcmV0dXJuIHRoaXMucHJvcHMuc2l6ZSB8fCB0aGlzLnByb3BzLmRlZmF1bHRTaXplO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2Jhc2UnLFxuICAgIGdldDogZnVuY3Rpb24gZ2V0JCQxKCkge1xuICAgICAgdmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTtcbiAgICAgIGlmICghcGFyZW50KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgdmFyIGNoaWxkcmVuID0gW10uc2xpY2UuY2FsbChwYXJlbnQuY2hpbGRyZW4pO1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbi5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICB2YXIgbiA9IGNoaWxkcmVuW2ldO1xuICAgICAgICBpZiAobiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgaWYgKG4uY2xhc3NMaXN0LmNvbnRhaW5zKGJhc2VDbGFzc05hbWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnc2l6ZScsXG4gICAgZ2V0OiBmdW5jdGlvbiBnZXQkJDEoKSB7XG4gICAgICB2YXIgd2lkdGggPSAwO1xuICAgICAgdmFyIGhlaWdodCA9IDA7XG4gICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdmFyIG9yZ1dpZHRoID0gdGhpcy5yZXNpemFibGUub2Zmc2V0V2lkdGg7XG4gICAgICAgIHZhciBvcmdIZWlnaHQgPSB0aGlzLnJlc2l6YWJsZS5vZmZzZXRIZWlnaHQ7XG4gICAgICAgIC8vIEhBQ0s6IFNldCBwb3NpdGlvbiBgcmVsYXRpdmVgIHRvIGdldCBwYXJlbnQgc2l6ZS5cbiAgICAgICAgLy8gICAgICAgVGhpcyBpcyBiZWNhdXNlIHdoZW4gcmUtcmVzaXphYmxlIHNldCBgYWJzb2x1dGVgLCBJIGNhbiBub3QgZ2V0IGJhc2Ugd2lkdGggY29ycmVjdGx5LlxuICAgICAgICB2YXIgb3JnUG9zaXRpb24gPSB0aGlzLnJlc2l6YWJsZS5zdHlsZS5wb3NpdGlvbjtcbiAgICAgICAgaWYgKG9yZ1Bvc2l0aW9uICE9PSAncmVsYXRpdmUnKSB7XG4gICAgICAgICAgdGhpcy5yZXNpemFibGUuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgICAgICB9XG4gICAgICAgIC8vIElORk86IFVzZSBvcmlnaW5hbCB3aWR0aCBvciBoZWlnaHQgaWYgc2V0IGF1dG8uXG4gICAgICAgIHdpZHRoID0gdGhpcy5yZXNpemFibGUuc3R5bGUud2lkdGggIT09ICdhdXRvJyA/IHRoaXMucmVzaXphYmxlLm9mZnNldFdpZHRoIDogb3JnV2lkdGg7XG4gICAgICAgIGhlaWdodCA9IHRoaXMucmVzaXphYmxlLnN0eWxlLmhlaWdodCAhPT0gJ2F1dG8nID8gdGhpcy5yZXNpemFibGUub2Zmc2V0SGVpZ2h0IDogb3JnSGVpZ2h0O1xuICAgICAgICAvLyBSZXN0b3JlIG9yaWdpbmFsIHBvc2l0aW9uXG4gICAgICAgIHRoaXMucmVzaXphYmxlLnN0eWxlLnBvc2l0aW9uID0gb3JnUG9zaXRpb247XG4gICAgICB9XG4gICAgICByZXR1cm4geyB3aWR0aDogd2lkdGgsIGhlaWdodDogaGVpZ2h0IH07XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnc2l6ZVN0eWxlJyxcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCQkMSgpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICB2YXIgc2l6ZSA9IHRoaXMucHJvcHMuc2l6ZTtcblxuICAgICAgdmFyIGdldFNpemUgPSBmdW5jdGlvbiBnZXRTaXplKGtleSkge1xuICAgICAgICBpZiAodHlwZW9mIF90aGlzNC5zdGF0ZVtrZXldID09PSAndW5kZWZpbmVkJyB8fCBfdGhpczQuc3RhdGVba2V5XSA9PT0gJ2F1dG8nKSByZXR1cm4gJ2F1dG8nO1xuICAgICAgICBpZiAoX3RoaXM0LnByb3BzU2l6ZSAmJiBfdGhpczQucHJvcHNTaXplW2tleV0gJiYgZW5kc1dpdGgoX3RoaXM0LnByb3BzU2l6ZVtrZXldLnRvU3RyaW5nKCksICclJykpIHtcbiAgICAgICAgICBpZiAoZW5kc1dpdGgoX3RoaXM0LnN0YXRlW2tleV0udG9TdHJpbmcoKSwgJyUnKSkgcmV0dXJuIF90aGlzNC5zdGF0ZVtrZXldLnRvU3RyaW5nKCk7XG4gICAgICAgICAgdmFyIHBhcmVudFNpemUgPSBfdGhpczQuZ2V0UGFyZW50U2l6ZSgpO1xuICAgICAgICAgIHZhciB2YWx1ZSA9IE51bWJlcihfdGhpczQuc3RhdGVba2V5XS50b1N0cmluZygpLnJlcGxhY2UoJ3B4JywgJycpKTtcbiAgICAgICAgICB2YXIgcGVyY2VudCA9IHZhbHVlIC8gcGFyZW50U2l6ZVtrZXldICogMTAwO1xuICAgICAgICAgIHJldHVybiBwZXJjZW50ICsgJyUnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBnZXRTdHJpbmdTaXplKF90aGlzNC5zdGF0ZVtrZXldKTtcbiAgICAgIH07XG4gICAgICB2YXIgd2lkdGggPSBzaXplICYmIHR5cGVvZiBzaXplLndpZHRoICE9PSAndW5kZWZpbmVkJyAmJiAhdGhpcy5zdGF0ZS5pc1Jlc2l6aW5nID8gZ2V0U3RyaW5nU2l6ZShzaXplLndpZHRoKSA6IGdldFNpemUoJ3dpZHRoJyk7XG4gICAgICB2YXIgaGVpZ2h0ID0gc2l6ZSAmJiB0eXBlb2Ygc2l6ZS5oZWlnaHQgIT09ICd1bmRlZmluZWQnICYmICF0aGlzLnN0YXRlLmlzUmVzaXppbmcgPyBnZXRTdHJpbmdTaXplKHNpemUuaGVpZ2h0KSA6IGdldFNpemUoJ2hlaWdodCcpO1xuICAgICAgcmV0dXJuIHsgd2lkdGg6IHdpZHRoLCBoZWlnaHQ6IGhlaWdodCB9O1xuICAgIH1cbiAgfV0pO1xuICByZXR1cm4gUmVzaXphYmxlO1xufShDb21wb25lbnQpO1xuXG5SZXNpemFibGUuZGVmYXVsdFByb3BzID0ge1xuICBvblJlc2l6ZVN0YXJ0OiBmdW5jdGlvbiBvblJlc2l6ZVN0YXJ0KCkge30sXG4gIG9uUmVzaXplOiBmdW5jdGlvbiBvblJlc2l6ZSgpIHt9LFxuICBvblJlc2l6ZVN0b3A6IGZ1bmN0aW9uIG9uUmVzaXplU3RvcCgpIHt9LFxuICBlbmFibGU6IHtcbiAgICB0b3A6IHRydWUsXG4gICAgcmlnaHQ6IHRydWUsXG4gICAgYm90dG9tOiB0cnVlLFxuICAgIGxlZnQ6IHRydWUsXG4gICAgdG9wUmlnaHQ6IHRydWUsXG4gICAgYm90dG9tUmlnaHQ6IHRydWUsXG4gICAgYm90dG9tTGVmdDogdHJ1ZSxcbiAgICB0b3BMZWZ0OiB0cnVlXG4gIH0sXG4gIHN0eWxlOiB7fSxcbiAgZ3JpZDogWzEsIDFdLFxuICBsb2NrQXNwZWN0UmF0aW86IGZhbHNlLFxuICBsb2NrQXNwZWN0UmF0aW9FeHRyYVdpZHRoOiAwLFxuICBsb2NrQXNwZWN0UmF0aW9FeHRyYUhlaWdodDogMFxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVzaXphYmxlO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvcmUtcmVzaXphYmxlL2xpYi9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMjMzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///233\n");
2655
 
2656
  /***/ }),
2657
  /* 234 */
2754
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2755
 
2756
  "use strict";
2757
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n RangeControl = _wp$components.RangeControl,\n ToggleControl = _wp$components.ToggleControl;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t accordionTitle = _props$attributes.accordionTitle,\n\t\t\t accordionText = _props$attributes.accordionText,\n\t\t\t accordionFontSize = _props$attributes.accordionFontSize,\n\t\t\t accordionOpen = _props$attributes.accordionOpen;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Font Size'),\n\t\t\t\t\t\tvalue: accordionFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ accordionFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Open by default'),\n\t\t\t\t\t\tchecked: accordionOpen,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ accordionOpen: !accordionOpen });\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1hY2NvcmRpb24vY29tcG9uZW50cy9pbnNwZWN0b3IuanM/YmZmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbjtcblxuLy8gSW1wb3J0IEluc3BlY3RvciBjb21wb25lbnRzXG5cbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFBhbmVsQm9keSA9IF93cCRjb21wb25lbnRzLlBhbmVsQm9keSxcbiAgICBQYW5lbFJvdyA9IF93cCRjb21wb25lbnRzLlBhbmVsUm93LFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbDtcblxuLyoqXG4gKiBDcmVhdGUgYW4gSW5zcGVjdG9yIENvbnRyb2xzIHdyYXBwZXIgQ29tcG9uZW50XG4gKi9cblxudmFyIEluc3BlY3RvciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhJbnNwZWN0b3IsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEluc3BlY3Rvcihwcm9wcykge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBJbnNwZWN0b3IpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChJbnNwZWN0b3IuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJbnNwZWN0b3IpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJbnNwZWN0b3IsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdC8vIFNldHVwIHRoZSBhdHRyaWJ1dGVzXG5cdFx0XHR2YXIgX3Byb3BzJGF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgYWNjb3JkaW9uVGl0bGUgPSBfcHJvcHMkYXR0cmlidXRlcy5hY2NvcmRpb25UaXRsZSxcblx0XHRcdCAgICBhY2NvcmRpb25UZXh0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuYWNjb3JkaW9uVGV4dCxcblx0XHRcdCAgICBhY2NvcmRpb25Gb250U2l6ZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmFjY29yZGlvbkZvbnRTaXplLFxuXHRcdFx0ICAgIGFjY29yZGlvbk9wZW4gPSBfcHJvcHMkYXR0cmlidXRlcy5hY2NvcmRpb25PcGVuO1xuXG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRm9udCBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogYWNjb3JkaW9uRm9udFNpemUsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYWNjb3JkaW9uRm9udFNpemU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMTQsXG5cdFx0XHRcdFx0XHRtYXg6IDI0LFxuXHRcdFx0XHRcdFx0c3RlcDogMVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ09wZW4gYnkgZGVmYXVsdCcpLFxuXHRcdFx0XHRcdFx0Y2hlY2tlZDogYWNjb3JkaW9uT3Blbixcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSgpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYWNjb3JkaW9uT3BlbjogIWFjY29yZGlvbk9wZW4gfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gSW5zcGVjdG9yO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCBJbnNwZWN0b3I7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2Jsb2NrLWFjY29yZGlvbi9jb21wb25lbnRzL2luc3BlY3Rvci5qc1xuLy8gbW9kdWxlIGlkID0gMjQyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///242\n");
2758
 
2759
  /***/ }),
2760
  /* 243 */
3744
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3745
 
3746
  "use strict";
3747
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n PanelColorSettings = _wp$editor.PanelColorSettings,\n MediaUpload = _wp$editor.MediaUpload;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl,\n IconButton = _wp$components.IconButton;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t buttonText = _props$attributes.buttonText,\n\t\t\t buttonUrl = _props$attributes.buttonUrl,\n\t\t\t buttonAlignment = _props$attributes.buttonAlignment,\n\t\t\t buttonBackgroundColor = _props$attributes.buttonBackgroundColor,\n\t\t\t buttonTextColor = _props$attributes.buttonTextColor,\n\t\t\t buttonSize = _props$attributes.buttonSize,\n\t\t\t buttonShape = _props$attributes.buttonShape,\n\t\t\t buttonTarget = _props$attributes.buttonTarget,\n\t\t\t ctaTitle = _props$attributes.ctaTitle,\n\t\t\t ctaText = _props$attributes.ctaText,\n\t\t\t ctaTitleFontSize = _props$attributes.ctaTitleFontSize,\n\t\t\t ctaTextFontSize = _props$attributes.ctaTextFontSize,\n\t\t\t ctaBackgroundColor = _props$attributes.ctaBackgroundColor,\n\t\t\t ctaTextColor = _props$attributes.ctaTextColor,\n\t\t\t dimRatio = _props$attributes.dimRatio,\n\t\t\t imgURL = _props$attributes.imgURL,\n\t\t\t imgID = _props$attributes.imgID,\n\t\t\t imgAlt = _props$attributes.imgAlt;\n\t\t\tvar setAttributes = this.props.setAttributes;\n\n\t\t\t// Button size values\n\n\t\t\tvar buttonSizeOptions = [{ value: 'ab-button-size-small', label: __('Small') }, { value: 'ab-button-size-medium', label: __('Medium') }, { value: 'ab-button-size-large', label: __('Large') }, { value: 'ab-button-size-extralarge', label: __('Extra Large') }];\n\n\t\t\t// Button shape\n\t\t\tvar buttonShapeOptions = [{ value: 'ab-button-shape-square', label: __('Square') }, { value: 'ab-button-shape-rounded', label: __('Rounded Square') }, { value: 'ab-button-shape-circular', label: __('Circular') }];\n\n\t\t\t// Button colors\n\t\t\tvar buttonColors = [{ color: '#392F43', name: 'black' }, { color: '#3373dc', name: 'royal blue' }, { color: '#2DBAA3', name: 'teal' }, { color: '#209cef', name: 'sky blue' }, { color: '#2BAD59', name: 'green' }, { color: '#ff3860', name: 'pink' }, { color: '#7941b6', name: 'purple' }, { color: '#F7812B', name: 'orange' }];\n\n\t\t\t// Change the image\n\t\t\tvar onSelectImage = function onSelectImage(img) {\n\t\t\t\tsetAttributes({\n\t\t\t\t\timgID: img.id,\n\t\t\t\t\timgURL: img.url,\n\t\t\t\t\timgAlt: img.alt\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t// Clear the image\n\t\t\tvar onRemoveImage = function onRemoveImage() {\n\t\t\t\tsetAttributes({\n\t\t\t\t\timgID: null,\n\t\t\t\t\timgURL: null,\n\t\t\t\t\timgAlt: null\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t// Update color values\n\t\t\tvar onChangeBackgroundColor = function onChangeBackgroundColor(value) {\n\t\t\t\treturn setAttributes({ ctaBackgroundColor: value });\n\t\t\t};\n\t\t\tvar onChangeTextColor = function onChangeTextColor(value) {\n\t\t\t\treturn setAttributes({ ctaTextColor: value });\n\t\t\t};\n\t\t\tvar onChangeButtonColor = function onChangeButtonColor(value) {\n\t\t\t\treturn setAttributes({ buttonBackgroundColor: value });\n\t\t\t};\n\t\t\tvar onChangeButtonTextColor = function onChangeButtonTextColor(value) {\n\t\t\t\treturn setAttributes({ buttonTextColor: value });\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{ title: __('Text Options'), initialOpen: true },\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Title Font Size'),\n\t\t\t\t\t\tvalue: ctaTitleFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ ctaTitleFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 24,\n\t\t\t\t\t\tmax: 60,\n\t\t\t\t\t\tstep: 2\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Text Font Size'),\n\t\t\t\t\t\tvalue: ctaTextFontSize,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ ctaTextFontSize: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 14,\n\t\t\t\t\t\tmax: 24,\n\t\t\t\t\t\tstep: 2\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Text Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: ctaTextColor,\n\t\t\t\t\t\t\tonChange: onChangeTextColor,\n\t\t\t\t\t\t\tlabel: __('Text Color')\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\tPanelBody,\n\t\t\t\t\t{ title: __('Background Options'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t__('Select a background image:')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\t\tonSelect: onSelectImage,\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\tvalue: imgID,\n\t\t\t\t\t\trender: function render(_ref) {\n\t\t\t\t\t\t\tvar open = _ref.open;\n\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-cta-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Edit image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'format-image',\n\t\t\t\t\t\t\t\t\t\tonClick: open\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Select Image')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\timgURL && !!imgURL.length && wp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-cta-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Remove Image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'dismiss',\n\t\t\t\t\t\t\t\t\t\tonClick: onRemoveImage\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Remove')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\timgURL && !!imgURL.length && wp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Image Opacity'),\n\t\t\t\t\t\tvalue: dimRatio,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ dimRatio: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\tstep: 10\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: ctaBackgroundColor,\n\t\t\t\t\t\t\tonChange: onChangeBackgroundColor,\n\t\t\t\t\t\t\tlabel: __('Overlay Color'),\n\t\t\t\t\t\t\tcolors: buttonColors\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\tPanelBody,\n\t\t\t\t\t{ title: __('Button Options'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Open link in new window'),\n\t\t\t\t\t\tchecked: buttonTarget,\n\t\t\t\t\t\tonChange: function onChange() {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ buttonTarget: !buttonTarget });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Size'),\n\t\t\t\t\t\tvalue: buttonSize,\n\t\t\t\t\t\toptions: buttonSizeOptions.map(function (_ref2) {\n\t\t\t\t\t\t\tvar value = _ref2.value,\n\t\t\t\t\t\t\t label = _ref2.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonSize: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Button Shape'),\n\t\t\t\t\t\tvalue: buttonShape,\n\t\t\t\t\t\toptions: buttonShapeOptions.map(function (_ref3) {\n\t\t\t\t\t\t\tvar value = _ref3.value,\n\t\t\t\t\t\t\t label = _ref3.label;\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tlabel: label\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t_this2.props.setAttributes({ buttonShape: value });\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Button Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: buttonBackgroundColor,\n\t\t\t\t\t\t\tonChange: onChangeButtonColor,\n\t\t\t\t\t\t\tlabel: __('Button Color'),\n\t\t\t\t\t\t\tcolors: buttonColors\n\t\t\t\t\t\t}]\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Button Text Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: buttonTextColor,\n\t\t\t\t\t\t\tonChange: onChangeButtonTextColor,\n\t\t\t\t\t\t\tlabel: __('Button Text Color')\n\t\t\t\t\t\t}]\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzMyLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1jdGEvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/NGYyNCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZSxcbiAgICBQYW5lbENvbG9yU2V0dGluZ3MgPSBfd3AkZWRpdG9yLlBhbmVsQ29sb3JTZXR0aW5ncyxcbiAgICBNZWRpYVVwbG9hZCA9IF93cCRlZGl0b3IuTWVkaWFVcGxvYWQ7XG5cbi8vIEltcG9ydCBJbnNwZWN0b3IgY29tcG9uZW50c1xuXG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFRvb2xiYXIgPSBfd3AkY29tcG9uZW50cy5Ub29sYmFyLFxuICAgIEJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkJ1dHRvbixcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBGb3JtVG9nZ2xlID0gX3dwJGNvbXBvbmVudHMuRm9ybVRvZ2dsZSxcbiAgICBSYW5nZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5SYW5nZUNvbnRyb2wsXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgSWNvbkJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkljb25CdXR0b247XG5cbi8qKlxuICogQ3JlYXRlIGFuIEluc3BlY3RvciBDb250cm9scyB3cmFwcGVyIENvbXBvbmVudFxuICovXG5cbnZhciBJbnNwZWN0b3IgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoSW5zcGVjdG9yLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBJbnNwZWN0b3IocHJvcHMpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgSW5zcGVjdG9yKTtcblxuXHRcdHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW5zcGVjdG9yKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoSW5zcGVjdG9yLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIGJ1dHRvblRleHQgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25UZXh0LFxuXHRcdFx0ICAgIGJ1dHRvblVybCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblVybCxcblx0XHRcdCAgICBidXR0b25BbGlnbm1lbnQgPSBfcHJvcHMkYXR0cmlidXRlcy5idXR0b25BbGlnbm1lbnQsXG5cdFx0XHQgICAgYnV0dG9uQmFja2dyb3VuZENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0ICAgIGJ1dHRvblRleHRDb2xvciA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblRleHRDb2xvcixcblx0XHRcdCAgICBidXR0b25TaXplID0gX3Byb3BzJGF0dHJpYnV0ZXMuYnV0dG9uU2l6ZSxcblx0XHRcdCAgICBidXR0b25TaGFwZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblNoYXBlLFxuXHRcdFx0ICAgIGJ1dHRvblRhcmdldCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmJ1dHRvblRhcmdldCxcblx0XHRcdCAgICBjdGFUaXRsZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmN0YVRpdGxlLFxuXHRcdFx0ICAgIGN0YVRleHQgPSBfcHJvcHMkYXR0cmlidXRlcy5jdGFUZXh0LFxuXHRcdFx0ICAgIGN0YVRpdGxlRm9udFNpemUgPSBfcHJvcHMkYXR0cmlidXRlcy5jdGFUaXRsZUZvbnRTaXplLFxuXHRcdFx0ICAgIGN0YVRleHRGb250U2l6ZSA9IF9wcm9wcyRhdHRyaWJ1dGVzLmN0YVRleHRGb250U2l6ZSxcblx0XHRcdCAgICBjdGFCYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5jdGFCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHQgICAgY3RhVGV4dENvbG9yID0gX3Byb3BzJGF0dHJpYnV0ZXMuY3RhVGV4dENvbG9yLFxuXHRcdFx0ICAgIGRpbVJhdGlvID0gX3Byb3BzJGF0dHJpYnV0ZXMuZGltUmF0aW8sXG5cdFx0XHQgICAgaW1nVVJMID0gX3Byb3BzJGF0dHJpYnV0ZXMuaW1nVVJMLFxuXHRcdFx0ICAgIGltZ0lEID0gX3Byb3BzJGF0dHJpYnV0ZXMuaW1nSUQsXG5cdFx0XHQgICAgaW1nQWx0ID0gX3Byb3BzJGF0dHJpYnV0ZXMuaW1nQWx0O1xuXHRcdFx0dmFyIHNldEF0dHJpYnV0ZXMgPSB0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXM7XG5cblx0XHRcdC8vIEJ1dHRvbiBzaXplIHZhbHVlc1xuXG5cdFx0XHR2YXIgYnV0dG9uU2l6ZU9wdGlvbnMgPSBbeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaXplLXNtYWxsJywgbGFiZWw6IF9fKCdTbWFsbCcpIH0sIHsgdmFsdWU6ICdhYi1idXR0b24tc2l6ZS1tZWRpdW0nLCBsYWJlbDogX18oJ01lZGl1bScpIH0sIHsgdmFsdWU6ICdhYi1idXR0b24tc2l6ZS1sYXJnZScsIGxhYmVsOiBfXygnTGFyZ2UnKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNpemUtZXh0cmFsYXJnZScsIGxhYmVsOiBfXygnRXh0cmEgTGFyZ2UnKSB9XTtcblxuXHRcdFx0Ly8gQnV0dG9uIHNoYXBlXG5cdFx0XHR2YXIgYnV0dG9uU2hhcGVPcHRpb25zID0gW3sgdmFsdWU6ICdhYi1idXR0b24tc2hhcGUtc3F1YXJlJywgbGFiZWw6IF9fKCdTcXVhcmUnKSB9LCB7IHZhbHVlOiAnYWItYnV0dG9uLXNoYXBlLXJvdW5kZWQnLCBsYWJlbDogX18oJ1JvdW5kZWQgU3F1YXJlJykgfSwgeyB2YWx1ZTogJ2FiLWJ1dHRvbi1zaGFwZS1jaXJjdWxhcicsIGxhYmVsOiBfXygnQ2lyY3VsYXInKSB9XTtcblxuXHRcdFx0Ly8gQnV0dG9uIGNvbG9yc1xuXHRcdFx0dmFyIGJ1dHRvbkNvbG9ycyA9IFt7IGNvbG9yOiAnIzM5MkY0MycsIG5hbWU6ICdibGFjaycgfSwgeyBjb2xvcjogJyMzMzczZGMnLCBuYW1lOiAncm95YWwgYmx1ZScgfSwgeyBjb2xvcjogJyMyREJBQTMnLCBuYW1lOiAndGVhbCcgfSwgeyBjb2xvcjogJyMyMDljZWYnLCBuYW1lOiAnc2t5IGJsdWUnIH0sIHsgY29sb3I6ICcjMkJBRDU5JywgbmFtZTogJ2dyZWVuJyB9LCB7IGNvbG9yOiAnI2ZmMzg2MCcsIG5hbWU6ICdwaW5rJyB9LCB7IGNvbG9yOiAnIzc5NDFiNicsIG5hbWU6ICdwdXJwbGUnIH0sIHsgY29sb3I6ICcjRjc4MTJCJywgbmFtZTogJ29yYW5nZScgfV07XG5cblx0XHRcdC8vIENoYW5nZSB0aGUgaW1hZ2Vcblx0XHRcdHZhciBvblNlbGVjdEltYWdlID0gZnVuY3Rpb24gb25TZWxlY3RJbWFnZShpbWcpIHtcblx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0aW1nSUQ6IGltZy5pZCxcblx0XHRcdFx0XHRpbWdVUkw6IGltZy51cmwsXG5cdFx0XHRcdFx0aW1nQWx0OiBpbWcuYWx0XG5cdFx0XHRcdH0pO1xuXHRcdFx0fTtcblxuXHRcdFx0Ly8gQ2xlYXIgdGhlIGltYWdlXG5cdFx0XHR2YXIgb25SZW1vdmVJbWFnZSA9IGZ1bmN0aW9uIG9uUmVtb3ZlSW1hZ2UoKSB7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdGltZ0lEOiBudWxsLFxuXHRcdFx0XHRcdGltZ1VSTDogbnVsbCxcblx0XHRcdFx0XHRpbWdBbHQ6IG51bGxcblx0XHRcdFx0fSk7XG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBVcGRhdGUgY29sb3IgdmFsdWVzXG5cdFx0XHR2YXIgb25DaGFuZ2VCYWNrZ3JvdW5kQ29sb3IgPSBmdW5jdGlvbiBvbkNoYW5nZUJhY2tncm91bmRDb2xvcih2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IGN0YUJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXHRcdFx0dmFyIG9uQ2hhbmdlVGV4dENvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VUZXh0Q29sb3IodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBjdGFUZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0fTtcblx0XHRcdHZhciBvbkNoYW5nZUJ1dHRvbkNvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VCdXR0b25Db2xvcih2YWx1ZSkge1xuXHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IGJ1dHRvbkJhY2tncm91bmRDb2xvcjogdmFsdWUgfSk7XG5cdFx0XHR9O1xuXHRcdFx0dmFyIG9uQ2hhbmdlQnV0dG9uVGV4dENvbG9yID0gZnVuY3Rpb24gb25DaGFuZ2VCdXR0b25UZXh0Q29sb3IodmFsdWUpIHtcblx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBidXR0b25UZXh0Q29sb3I6IHZhbHVlIH0pO1xuXHRcdFx0fTtcblxuXHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0XHRcdHsga2V5OiAnaW5zcGVjdG9yJyB9LFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdHsgdGl0bGU6IF9fKCdUZXh0IE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IHRydWUgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RpdGxlIEZvbnQgU2l6ZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGN0YVRpdGxlRm9udFNpemUsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgY3RhVGl0bGVGb250U2l6ZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAyNCxcblx0XHRcdFx0XHRcdG1heDogNjAsXG5cdFx0XHRcdFx0XHRzdGVwOiAyXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdUZXh0IEZvbnQgU2l6ZScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGN0YVRleHRGb250U2l6ZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjdGFUZXh0Rm9udFNpemU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMTQsXG5cdFx0XHRcdFx0XHRtYXg6IDI0LFxuXHRcdFx0XHRcdFx0c3RlcDogMlxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYW5lbENvbG9yU2V0dGluZ3MsIHtcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnVGV4dCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0Y29sb3JTZXR0aW5nczogW3tcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGN0YVRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RleHQgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdHsgdGl0bGU6IF9fKCdCYWNrZ3JvdW5kIE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J3AnLFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdF9fKCdTZWxlY3QgYSBiYWNrZ3JvdW5kIGltYWdlOicpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoTWVkaWFVcGxvYWQsIHtcblx0XHRcdFx0XHRcdG9uU2VsZWN0OiBvblNlbGVjdEltYWdlLFxuXHRcdFx0XHRcdFx0dHlwZTogJ2ltYWdlJyxcblx0XHRcdFx0XHRcdHZhbHVlOiBpbWdJRCxcblx0XHRcdFx0XHRcdHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKF9yZWYpIHtcblx0XHRcdFx0XHRcdFx0dmFyIG9wZW4gPSBfcmVmLm9wZW47XG5cdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRJY29uQnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdhYi1jdGEtaW5zcGVjdG9yLW1lZGlhJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdFZGl0IGltYWdlJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdmb3JtYXQtaW1hZ2UnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBvcGVuXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ1NlbGVjdCBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRpbWdVUkwgJiYgISFpbWdVUkwubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEljb25CdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2FiLWN0YS1pbnNwZWN0b3ItbWVkaWEnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JlbW92ZSBJbWFnZScpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnZGlzbWlzcycsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9uUmVtb3ZlSW1hZ2Vcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVtb3ZlJylcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0aW1nVVJMICYmICEhaW1nVVJMLmxlbmd0aCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ltYWdlIE9wYWNpdHknKSxcblx0XHRcdFx0XHRcdHZhbHVlOiBkaW1SYXRpbyxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBkaW1SYXRpbzogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRcdFx0XHRzdGVwOiAxMFxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYW5lbENvbG9yU2V0dGluZ3MsIHtcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQmFja2dyb3VuZCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0Y29sb3JTZXR0aW5nczogW3tcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGN0YUJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlQmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ092ZXJsYXkgQ29sb3InKSxcblx0XHRcdFx0XHRcdFx0Y29sb3JzOiBidXR0b25Db2xvcnNcblx0XHRcdFx0XHRcdH1dXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0KSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHR7IHRpdGxlOiBfXygnQnV0dG9uIE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnT3BlbiBsaW5rIGluIG5ldyB3aW5kb3cnKSxcblx0XHRcdFx0XHRcdGNoZWNrZWQ6IGJ1dHRvblRhcmdldCxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSgpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYnV0dG9uVGFyZ2V0OiAhYnV0dG9uVGFyZ2V0IH0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBTaXplJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uU2l6ZSxcblx0XHRcdFx0XHRcdG9wdGlvbnM6IGJ1dHRvblNpemVPcHRpb25zLm1hcChmdW5jdGlvbiAoX3JlZjIpIHtcblx0XHRcdFx0XHRcdFx0dmFyIHZhbHVlID0gX3JlZjIudmFsdWUsXG5cdFx0XHRcdFx0XHRcdCAgICBsYWJlbCA9IF9yZWYyLmxhYmVsO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogbGFiZWxcblx0XHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgYnV0dG9uU2l6ZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQnV0dG9uIFNoYXBlJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uU2hhcGUsXG5cdFx0XHRcdFx0XHRvcHRpb25zOiBidXR0b25TaGFwZU9wdGlvbnMubWFwKGZ1bmN0aW9uIChfcmVmMykge1xuXHRcdFx0XHRcdFx0XHR2YXIgdmFsdWUgPSBfcmVmMy52YWx1ZSxcblx0XHRcdFx0XHRcdFx0ICAgIGxhYmVsID0gX3JlZjMubGFiZWw7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBsYWJlbFxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0X3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBidXR0b25TaGFwZTogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFBhbmVsQ29sb3JTZXR0aW5ncywge1xuXHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdCdXR0b24gQ29sb3InKSxcblx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZSxcblx0XHRcdFx0XHRcdGNvbG9yU2V0dGluZ3M6IFt7XG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBidXR0b25CYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBvbkNoYW5nZUJ1dHRvbkNvbG9yLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0J1dHRvbiBDb2xvcicpLFxuXHRcdFx0XHRcdFx0XHRjb2xvcnM6IGJ1dHRvbkNvbG9yc1xuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUGFuZWxDb2xvclNldHRpbmdzLCB7XG5cdFx0XHRcdFx0XHR0aXRsZTogX18oJ0J1dHRvbiBUZXh0IENvbG9yJyksXG5cdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRjb2xvclNldHRpbmdzOiBbe1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYnV0dG9uVGV4dENvbG9yLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogb25DaGFuZ2VCdXR0b25UZXh0Q29sb3IsXG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQnV0dG9uIFRleHQgQ29sb3InKVxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stY3RhL2NvbXBvbmVudHMvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAzMzJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///332\n");
3748
 
3749
  /***/ }),
3750
  /* 333 */
4413
  /***/ (function(module, exports, __webpack_require__) {
4414
 
4415
  "use strict";
4416
+ eval("\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String} The decoded string.\n * @api private\n */\nfunction decode(input) {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n if (key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n pairs.push(encodeURIComponent(key) +'='+ encodeURIComponent(value));\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzY5LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3F1ZXJ5c3RyaW5naWZ5L2luZGV4LmpzPzRhNDciXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaGFzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eVxuICAsIHVuZGVmO1xuXG4vKipcbiAqIERlY29kZSBhIFVSSSBlbmNvZGVkIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gaW5wdXQgVGhlIFVSSSBlbmNvZGVkIHN0cmluZy5cbiAqIEByZXR1cm5zIHtTdHJpbmd9IFRoZSBkZWNvZGVkIHN0cmluZy5cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBkZWNvZGUoaW5wdXQpIHtcbiAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChpbnB1dC5yZXBsYWNlKC9cXCsvZywgJyAnKSk7XG59XG5cbi8qKlxuICogU2ltcGxlIHF1ZXJ5IHN0cmluZyBwYXJzZXIuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IHF1ZXJ5IFRoZSBxdWVyeSBzdHJpbmcgdGhhdCBuZWVkcyB0byBiZSBwYXJzZWQuXG4gKiBAcmV0dXJucyB7T2JqZWN0fVxuICogQGFwaSBwdWJsaWNcbiAqL1xuZnVuY3Rpb24gcXVlcnlzdHJpbmcocXVlcnkpIHtcbiAgdmFyIHBhcnNlciA9IC8oW149PyZdKyk9PyhbXiZdKikvZ1xuICAgICwgcmVzdWx0ID0ge31cbiAgICAsIHBhcnQ7XG5cbiAgd2hpbGUgKHBhcnQgPSBwYXJzZXIuZXhlYyhxdWVyeSkpIHtcbiAgICB2YXIga2V5ID0gZGVjb2RlKHBhcnRbMV0pXG4gICAgICAsIHZhbHVlID0gZGVjb2RlKHBhcnRbMl0pO1xuXG4gICAgLy9cbiAgICAvLyBQcmV2ZW50IG92ZXJyaWRpbmcgb2YgZXhpc3RpbmcgcHJvcGVydGllcy4gVGhpcyBlbnN1cmVzIHRoYXQgYnVpbGQtaW5cbiAgICAvLyBtZXRob2RzIGxpa2UgYHRvU3RyaW5nYCBvciBfX3Byb3RvX18gYXJlIG5vdCBvdmVycmlkZW4gYnkgbWFsaWNpb3VzXG4gICAgLy8gcXVlcnlzdHJpbmdzLlxuICAgIC8vXG4gICAgaWYgKGtleSBpbiByZXN1bHQpIGNvbnRpbnVlO1xuICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIFRyYW5zZm9ybSBhIHF1ZXJ5IHN0cmluZyB0byBhbiBvYmplY3QuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iaiBPYmplY3QgdGhhdCBzaG91bGQgYmUgdHJhbnNmb3JtZWQuXG4gKiBAcGFyYW0ge1N0cmluZ30gcHJlZml4IE9wdGlvbmFsIHByZWZpeC5cbiAqIEByZXR1cm5zIHtTdHJpbmd9XG4gKiBAYXBpIHB1YmxpY1xuICovXG5mdW5jdGlvbiBxdWVyeXN0cmluZ2lmeShvYmosIHByZWZpeCkge1xuICBwcmVmaXggPSBwcmVmaXggfHwgJyc7XG5cbiAgdmFyIHBhaXJzID0gW11cbiAgICAsIHZhbHVlXG4gICAgLCBrZXk7XG5cbiAgLy9cbiAgLy8gT3B0aW9uYWxseSBwcmVmaXggd2l0aCBhICc/JyBpZiBuZWVkZWRcbiAgLy9cbiAgaWYgKCdzdHJpbmcnICE9PSB0eXBlb2YgcHJlZml4KSBwcmVmaXggPSAnPyc7XG5cbiAgZm9yIChrZXkgaW4gb2JqKSB7XG4gICAgaWYgKGhhcy5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgdmFsdWUgPSBvYmpba2V5XTtcblxuICAgICAgLy9cbiAgICAgIC8vIEVkZ2UgY2FzZXMgd2hlcmUgd2UgYWN0dWFsbHkgd2FudCB0byBlbmNvZGUgdGhlIHZhbHVlIHRvIGFuIGVtcHR5XG4gICAgICAvLyBzdHJpbmcgaW5zdGVhZCBvZiB0aGUgc3RyaW5naWZpZWQgdmFsdWUuXG4gICAgICAvL1xuICAgICAgaWYgKCF2YWx1ZSAmJiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmIHx8IGlzTmFOKHZhbHVlKSkpIHtcbiAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgIH1cblxuICAgICAgcGFpcnMucHVzaChlbmNvZGVVUklDb21wb25lbnQoa2V5KSArJz0nKyBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGFpcnMubGVuZ3RoID8gcHJlZml4ICsgcGFpcnMuam9pbignJicpIDogJyc7XG59XG5cbi8vXG4vLyBFeHBvc2UgdGhlIG1vZHVsZS5cbi8vXG5leHBvcnRzLnN0cmluZ2lmeSA9IHF1ZXJ5c3RyaW5naWZ5O1xuZXhwb3J0cy5wYXJzZSA9IHF1ZXJ5c3RyaW5nO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvcXVlcnlzdHJpbmdpZnkvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDM2OVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///369\n");
4417
 
4418
  /***/ }),
4419
  /* 370 */
4456
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
4457
 
4458
  "use strict";
4459
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Inspector Controls\n */\n\n// Setup the block\nvar __ = wp.i18n.__;\nvar Component = wp.element.Component;\n\n// Import block components\n\nvar _wp$editor = wp.editor,\n InspectorControls = _wp$editor.InspectorControls,\n BlockDescription = _wp$editor.BlockDescription,\n ColorPalette = _wp$editor.ColorPalette,\n PanelColorSettings = _wp$editor.PanelColorSettings,\n MediaUpload = _wp$editor.MediaUpload;\n\n// Import Inspector components\n\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow,\n FormToggle = _wp$components.FormToggle,\n RangeControl = _wp$components.RangeControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl,\n IconButton = _wp$components.IconButton;\n\n/**\n * Create an Inspector Controls wrapper Component\n */\n\nvar Inspector = function (_Component) {\n\t_inherits(Inspector, _Component);\n\n\tfunction Inspector(props) {\n\t\t_classCallCheck(this, Inspector);\n\n\t\treturn _possibleConstructorReturn(this, (Inspector.__proto__ || Object.getPrototypeOf(Inspector)).apply(this, arguments));\n\t}\n\n\t_createClass(Inspector, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\t// Setup the attributes\n\t\t\tvar _props$attributes = this.props.attributes,\n\t\t\t containerPaddingTop = _props$attributes.containerPaddingTop,\n\t\t\t containerPaddingRight = _props$attributes.containerPaddingRight,\n\t\t\t containerPaddingBottom = _props$attributes.containerPaddingBottom,\n\t\t\t containerPaddingLeft = _props$attributes.containerPaddingLeft,\n\t\t\t containerMarginTop = _props$attributes.containerMarginTop,\n\t\t\t containerMarginBottom = _props$attributes.containerMarginBottom,\n\t\t\t containerMaxWidth = _props$attributes.containerMaxWidth,\n\t\t\t containerBackgroundColor = _props$attributes.containerBackgroundColor,\n\t\t\t containerDimRatio = _props$attributes.containerDimRatio,\n\t\t\t containerImgURL = _props$attributes.containerImgURL,\n\t\t\t containerImgID = _props$attributes.containerImgID,\n\t\t\t containerImgAlt = _props$attributes.containerImgAlt;\n\t\t\tvar setAttributes = this.props.setAttributes;\n\n\n\t\t\tvar onSelectImage = function onSelectImage(img) {\n\t\t\t\tsetAttributes({\n\t\t\t\t\tcontainerImgID: img.id,\n\t\t\t\t\tcontainerImgURL: img.url,\n\t\t\t\t\tcontainerImgAlt: img.alt\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tvar onRemoveImage = function onRemoveImage() {\n\t\t\t\tsetAttributes({\n\t\t\t\t\tcontainerImgID: null,\n\t\t\t\t\tcontainerImgURL: null,\n\t\t\t\t\tcontainerImgAlt: null\n\t\t\t\t});\n\t\t\t};\n\n\t\t\t// Update color values\n\t\t\tvar onChangeBackgroundColor = function onChangeBackgroundColor(value) {\n\t\t\t\treturn setAttributes({ containerBackgroundColor: value });\n\t\t\t};\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tInspectorControls,\n\t\t\t\t{ key: 'inspector' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{ title: __('Container Options'), initialOpen: true },\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Top (%)'),\n\t\t\t\t\t\tvalue: containerPaddingTop,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingTop: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Bottom (%)'),\n\t\t\t\t\t\tvalue: containerPaddingBottom,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingBottom: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Left (%)'),\n\t\t\t\t\t\tvalue: containerPaddingLeft,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingLeft: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Padding Right (%)'),\n\t\t\t\t\t\tvalue: containerPaddingRight,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerPaddingRight: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Margin Top (%)'),\n\t\t\t\t\t\tvalue: containerMarginTop,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerMarginTop: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Margin Bottom (%)'),\n\t\t\t\t\t\tvalue: containerMarginBottom,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerMarginBottom: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 20,\n\t\t\t\t\t\tstep: .5\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Inside Container Max Width (px)'),\n\t\t\t\t\t\tvalue: containerMaxWidth,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerMaxWidth: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 500,\n\t\t\t\t\t\tmax: 1600,\n\t\t\t\t\t\tstep: 1\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{ title: __('Background Options'), initialOpen: false },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'p',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t__('Select a background image:')\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\t\tonSelect: onSelectImage,\n\t\t\t\t\t\ttype: 'image',\n\t\t\t\t\t\tvalue: containerImgID,\n\t\t\t\t\t\trender: function render(_ref) {\n\t\t\t\t\t\t\tvar open = _ref.open;\n\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-container-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Edit image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'format-image',\n\t\t\t\t\t\t\t\t\t\tonClick: open\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Select Image')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tcontainerImgURL && !!containerImgURL.length && wp.element.createElement(\n\t\t\t\t\t\t\t\t\tIconButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tclassName: 'ab-container-inspector-media',\n\t\t\t\t\t\t\t\t\t\tlabel: __('Remove Image'),\n\t\t\t\t\t\t\t\t\t\ticon: 'dismiss',\n\t\t\t\t\t\t\t\t\t\tonClick: onRemoveImage\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Remove')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\tcontainerImgURL && !!containerImgURL.length && wp.element.createElement(RangeControl, {\n\t\t\t\t\t\tlabel: __('Image Opacity'),\n\t\t\t\t\t\tvalue: containerDimRatio,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\treturn _this2.props.setAttributes({ containerDimRatio: value });\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\tstep: 10\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(PanelColorSettings, {\n\t\t\t\t\t\ttitle: __('Background Color'),\n\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\tcolorSettings: [{\n\t\t\t\t\t\t\tvalue: containerBackgroundColor,\n\t\t\t\t\t\t\tlabel: __('Background Color'),\n\t\t\t\t\t\t\tonChange: onChangeBackgroundColor\n\t\t\t\t\t\t}]\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn Inspector;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Inspector);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzczLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2Jsb2Nrcy9ibG9jay1jb250YWluZXIvY29tcG9uZW50cy9pbnNwZWN0b3IuanM/ZjMzNCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogSW5zcGVjdG9yIENvbnRyb2xzXG4gKi9cblxuLy8gU2V0dXAgdGhlIGJsb2NrXG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xuXG4vLyBJbXBvcnQgYmxvY2sgY29tcG9uZW50c1xuXG52YXIgX3dwJGVkaXRvciA9IHdwLmVkaXRvcixcbiAgICBJbnNwZWN0b3JDb250cm9scyA9IF93cCRlZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgQmxvY2tEZXNjcmlwdGlvbiA9IF93cCRlZGl0b3IuQmxvY2tEZXNjcmlwdGlvbixcbiAgICBDb2xvclBhbGV0dGUgPSBfd3AkZWRpdG9yLkNvbG9yUGFsZXR0ZSxcbiAgICBQYW5lbENvbG9yU2V0dGluZ3MgPSBfd3AkZWRpdG9yLlBhbmVsQ29sb3JTZXR0aW5ncyxcbiAgICBNZWRpYVVwbG9hZCA9IF93cCRlZGl0b3IuTWVkaWFVcGxvYWQ7XG5cbi8vIEltcG9ydCBJbnNwZWN0b3IgY29tcG9uZW50c1xuXG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFRvb2xiYXIgPSBfd3AkY29tcG9uZW50cy5Ub29sYmFyLFxuICAgIEJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkJ1dHRvbixcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdyxcbiAgICBGb3JtVG9nZ2xlID0gX3dwJGNvbXBvbmVudHMuRm9ybVRvZ2dsZSxcbiAgICBSYW5nZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5SYW5nZUNvbnRyb2wsXG4gICAgU2VsZWN0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlNlbGVjdENvbnRyb2wsXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgSWNvbkJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkljb25CdXR0b247XG5cbi8qKlxuICogQ3JlYXRlIGFuIEluc3BlY3RvciBDb250cm9scyB3cmFwcGVyIENvbXBvbmVudFxuICovXG5cbnZhciBJbnNwZWN0b3IgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoSW5zcGVjdG9yLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBJbnNwZWN0b3IocHJvcHMpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgSW5zcGVjdG9yKTtcblxuXHRcdHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoSW5zcGVjdG9yLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoSW5zcGVjdG9yKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoSW5zcGVjdG9yLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHQvLyBTZXR1cCB0aGUgYXR0cmlidXRlc1xuXHRcdFx0dmFyIF9wcm9wcyRhdHRyaWJ1dGVzID0gdGhpcy5wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIGNvbnRhaW5lclBhZGRpbmdUb3AgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJQYWRkaW5nVG9wLFxuXHRcdFx0ICAgIGNvbnRhaW5lclBhZGRpbmdSaWdodCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmNvbnRhaW5lclBhZGRpbmdSaWdodCxcblx0XHRcdCAgICBjb250YWluZXJQYWRkaW5nQm90dG9tID0gX3Byb3BzJGF0dHJpYnV0ZXMuY29udGFpbmVyUGFkZGluZ0JvdHRvbSxcblx0XHRcdCAgICBjb250YWluZXJQYWRkaW5nTGVmdCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmNvbnRhaW5lclBhZGRpbmdMZWZ0LFxuXHRcdFx0ICAgIGNvbnRhaW5lck1hcmdpblRvcCA9IF9wcm9wcyRhdHRyaWJ1dGVzLmNvbnRhaW5lck1hcmdpblRvcCxcblx0XHRcdCAgICBjb250YWluZXJNYXJnaW5Cb3R0b20gPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJNYXJnaW5Cb3R0b20sXG5cdFx0XHQgICAgY29udGFpbmVyTWF4V2lkdGggPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJNYXhXaWR0aCxcblx0XHRcdCAgICBjb250YWluZXJCYWNrZ3JvdW5kQ29sb3IgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJCYWNrZ3JvdW5kQ29sb3IsXG5cdFx0XHQgICAgY29udGFpbmVyRGltUmF0aW8gPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJEaW1SYXRpbyxcblx0XHRcdCAgICBjb250YWluZXJJbWdVUkwgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJJbWdVUkwsXG5cdFx0XHQgICAgY29udGFpbmVySW1nSUQgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJJbWdJRCxcblx0XHRcdCAgICBjb250YWluZXJJbWdBbHQgPSBfcHJvcHMkYXR0cmlidXRlcy5jb250YWluZXJJbWdBbHQ7XG5cdFx0XHR2YXIgc2V0QXR0cmlidXRlcyA9IHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcztcblxuXG5cdFx0XHR2YXIgb25TZWxlY3RJbWFnZSA9IGZ1bmN0aW9uIG9uU2VsZWN0SW1hZ2UoaW1nKSB7XG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdGNvbnRhaW5lckltZ0lEOiBpbWcuaWQsXG5cdFx0XHRcdFx0Y29udGFpbmVySW1nVVJMOiBpbWcudXJsLFxuXHRcdFx0XHRcdGNvbnRhaW5lckltZ0FsdDogaW1nLmFsdFxuXHRcdFx0XHR9KTtcblx0XHRcdH07XG5cblx0XHRcdHZhciBvblJlbW92ZUltYWdlID0gZnVuY3Rpb24gb25SZW1vdmVJbWFnZSgpIHtcblx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0Y29udGFpbmVySW1nSUQ6IG51bGwsXG5cdFx0XHRcdFx0Y29udGFpbmVySW1nVVJMOiBudWxsLFxuXHRcdFx0XHRcdGNvbnRhaW5lckltZ0FsdDogbnVsbFxuXHRcdFx0XHR9KTtcblx0XHRcdH07XG5cblx0XHRcdC8vIFVwZGF0ZSBjb2xvciB2YWx1ZXNcblx0XHRcdHZhciBvbkNoYW5nZUJhY2tncm91bmRDb2xvciA9IGZ1bmN0aW9uIG9uQ2hhbmdlQmFja2dyb3VuZENvbG9yKHZhbHVlKSB7XG5cdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgY29udGFpbmVyQmFja2dyb3VuZENvbG9yOiB2YWx1ZSB9KTtcblx0XHRcdH07XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEluc3BlY3RvckNvbnRyb2xzLFxuXHRcdFx0XHR7IGtleTogJ2luc3BlY3RvcicgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHR7IHRpdGxlOiBfXygnQ29udGFpbmVyIE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IHRydWUgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1BhZGRpbmcgVG9wICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lclBhZGRpbmdUb3AsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5wcm9wcy5zZXRBdHRyaWJ1dGVzKHsgY29udGFpbmVyUGFkZGluZ1RvcDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0bWF4OiAyMCxcblx0XHRcdFx0XHRcdHN0ZXA6IC41XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQYWRkaW5nIEJvdHRvbSAoJSknKSxcblx0XHRcdFx0XHRcdHZhbHVlOiBjb250YWluZXJQYWRkaW5nQm90dG9tLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lclBhZGRpbmdCb3R0b206IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdG1heDogMjAsXG5cdFx0XHRcdFx0XHRzdGVwOiAuNVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUGFkZGluZyBMZWZ0ICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lclBhZGRpbmdMZWZ0LFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lclBhZGRpbmdMZWZ0OiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDAsXG5cdFx0XHRcdFx0XHRtYXg6IDIwLFxuXHRcdFx0XHRcdFx0c3RlcDogLjVcblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1BhZGRpbmcgUmlnaHQgKCUpJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogY29udGFpbmVyUGFkZGluZ1JpZ2h0LFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lclBhZGRpbmdSaWdodDogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0bWF4OiAyMCxcblx0XHRcdFx0XHRcdHN0ZXA6IC41XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdNYXJnaW4gVG9wICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lck1hcmdpblRvcCxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjb250YWluZXJNYXJnaW5Ub3A6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdG1heDogMjAsXG5cdFx0XHRcdFx0XHRzdGVwOiAxXG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFJhbmdlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdNYXJnaW4gQm90dG9tICglKScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lck1hcmdpbkJvdHRvbSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjb250YWluZXJNYXJnaW5Cb3R0b206IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdG1heDogMjAsXG5cdFx0XHRcdFx0XHRzdGVwOiAuNVxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnSW5zaWRlIENvbnRhaW5lciBNYXggV2lkdGggKHB4KScpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lck1heFdpZHRoLFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBfdGhpczIucHJvcHMuc2V0QXR0cmlidXRlcyh7IGNvbnRhaW5lck1heFdpZHRoOiB2YWx1ZSB9KTtcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRtaW46IDUwMCxcblx0XHRcdFx0XHRcdG1heDogMTYwMCxcblx0XHRcdFx0XHRcdHN0ZXA6IDFcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdHsgdGl0bGU6IF9fKCdCYWNrZ3JvdW5kIE9wdGlvbnMnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J3AnLFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdF9fKCdTZWxlY3QgYSBiYWNrZ3JvdW5kIGltYWdlOicpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoTWVkaWFVcGxvYWQsIHtcblx0XHRcdFx0XHRcdG9uU2VsZWN0OiBvblNlbGVjdEltYWdlLFxuXHRcdFx0XHRcdFx0dHlwZTogJ2ltYWdlJyxcblx0XHRcdFx0XHRcdHZhbHVlOiBjb250YWluZXJJbWdJRCxcblx0XHRcdFx0XHRcdHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKF9yZWYpIHtcblx0XHRcdFx0XHRcdFx0dmFyIG9wZW4gPSBfcmVmLm9wZW47XG5cdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRJY29uQnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdhYi1jb250YWluZXItaW5zcGVjdG9yLW1lZGlhJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdFZGl0IGltYWdlJyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdmb3JtYXQtaW1hZ2UnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBvcGVuXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ1NlbGVjdCBJbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHRjb250YWluZXJJbWdVUkwgJiYgISFjb250YWluZXJJbWdVUkwubGVuZ3RoICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEljb25CdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2FiLWNvbnRhaW5lci1pbnNwZWN0b3ItbWVkaWEnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JlbW92ZSBJbWFnZScpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnZGlzbWlzcycsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IG9uUmVtb3ZlSW1hZ2Vcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVtb3ZlJylcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0Y29udGFpbmVySW1nVVJMICYmICEhY29udGFpbmVySW1nVVJMLmxlbmd0aCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ltYWdlIE9wYWNpdHknKSxcblx0XHRcdFx0XHRcdHZhbHVlOiBjb250YWluZXJEaW1SYXRpbyxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnByb3BzLnNldEF0dHJpYnV0ZXMoeyBjb250YWluZXJEaW1SYXRpbzogdmFsdWUgfSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRcdFx0XHRzdGVwOiAxMFxuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChQYW5lbENvbG9yU2V0dGluZ3MsIHtcblx0XHRcdFx0XHRcdHRpdGxlOiBfXygnQmFja2dyb3VuZCBDb2xvcicpLFxuXHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0Y29sb3JTZXR0aW5nczogW3tcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGNvbnRhaW5lckJhY2tncm91bmRDb2xvcixcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCYWNrZ3JvdW5kIENvbG9yJyksXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBvbkNoYW5nZUJhY2tncm91bmRDb2xvclxuXHRcdFx0XHRcdFx0fV1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBJbnNwZWN0b3I7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEluc3BlY3RvcjtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvYmxvY2stY29udGFpbmVyL2NvbXBvbmVudHMvaW5zcGVjdG9yLmpzXG4vLyBtb2R1bGUgaWQgPSAzNzNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///373\n");
4460
 
4461
  /***/ }),
4462
  /* 374 */
src/blocks/block-accordion/components/inspector.js CHANGED
@@ -10,7 +10,6 @@ const { Component } = wp.element;
10
  const {
11
  InspectorControls,
12
  BlockDescription,
13
- ColorPalette,
14
  } = wp.editor;
15
 
16
  // Import Inspector components
@@ -19,7 +18,6 @@ const {
19
  Button,
20
  PanelBody,
21
  PanelRow,
22
- PanelColor,
23
  RangeControl,
24
  ToggleControl,
25
  } = wp.components;
10
  const {
11
  InspectorControls,
12
  BlockDescription,
 
13
  } = wp.editor;
14
 
15
  // Import Inspector components
18
  Button,
19
  PanelBody,
20
  PanelRow,
 
21
  RangeControl,
22
  ToggleControl,
23
  } = wp.components;
src/blocks/block-author-profile/components/inspector.js CHANGED
@@ -11,6 +11,7 @@ const {
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
 
14
  } = wp.editor;
15
 
16
  // Import Inspector components
@@ -18,7 +19,6 @@ const {
18
  Panel,
19
  PanelBody,
20
  PanelRow,
21
- PanelColor,
22
  RangeControl,
23
  SelectControl,
24
  TextControl,
@@ -35,6 +35,7 @@ export default class Inspector extends Component {
35
 
36
  // Setup the attributes
37
  const { profileName, profileTitle, profileContent, profileAlignment, profileImgURL, profileImgID, profileFontSize, profileBackgroundColor, profileTextColor, profileLinkColor, twitter, facebook, instagram, pinterest, google, youtube, github, email, website, profileAvatarShape } = this.props.attributes;
 
38
 
39
  // Avatar shape options
40
  const profileAvatarShapeOptions = [
@@ -42,6 +43,23 @@ export default class Inspector extends Component {
42
  { value: 'round', label: __( 'Round' ) },
43
  ];
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  return (
46
  <InspectorControls key="inspector">
47
  <PanelBody>
@@ -62,51 +80,39 @@ export default class Inspector extends Component {
62
  onChange={ ( value ) => this.props.setAttributes( { profileAvatarShape: value } ) }
63
  />
64
 
65
- <PanelColor
66
  title={ __( 'Background Color' ) }
67
- colorValue={ profileBackgroundColor }
68
  initialOpen={ false }
 
 
 
 
 
69
  >
70
- <ColorPalette
71
- label={ __( 'Background Color' ) }
72
- value={ profileBackgroundColor }
73
- onChange={ ( value ) => this.props.setAttributes( { profileBackgroundColor: value } ) }
74
- />
75
- </PanelColor>
76
-
77
- <PanelColor
78
  title={ __( 'Text Color' ) }
79
- colorValue={ profileTextColor }
80
  initialOpen={ false }
 
 
 
 
 
81
  >
82
- <ColorPalette
83
- label={ __( 'Background Color' ) }
84
- value={ profileTextColor }
85
- onChange={ ( value ) => this.props.setAttributes( { profileTextColor: value } ) }
86
- />
87
- </PanelColor>
88
-
89
- <PanelColor
90
  title={ __( 'Social Link Color' ) }
91
- colorValue={ profileLinkColor }
92
  initialOpen={ false }
 
 
 
 
 
 
93
  >
94
- <ColorPalette
95
- label={ __( 'Link Color' ) }
96
- value={ profileLinkColor }
97
- onChange={ ( value ) => this.props.setAttributes( { profileLinkColor: value } ) }
98
- colors={[
99
- { color: '#392F43', name: 'black' },
100
- { color: '#3373dc', name: 'royal blue' },
101
- { color: '#2DBAA3', name: 'teal' },
102
- { color: '#209cef', name: 'sky blue' },
103
- { color: '#2BAD59', name: 'green' },
104
- { color: '#ff3860', name: 'pink' },
105
- { color: '#7941b6', name: 'purple' },
106
- { color: '#F7812B', name: 'orange' },
107
- ]}
108
- />
109
- </PanelColor>
110
  </PanelBody>
111
 
112
  <PanelBody title={ __( 'Social Links' ) } initialOpen={ false }>
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
14
+ PanelColorSettings,
15
  } = wp.editor;
16
 
17
  // Import Inspector components
19
  Panel,
20
  PanelBody,
21
  PanelRow,
 
22
  RangeControl,
23
  SelectControl,
24
  TextControl,
35
 
36
  // Setup the attributes
37
  const { profileName, profileTitle, profileContent, profileAlignment, profileImgURL, profileImgID, profileFontSize, profileBackgroundColor, profileTextColor, profileLinkColor, twitter, facebook, instagram, pinterest, google, youtube, github, email, website, profileAvatarShape } = this.props.attributes;
38
+ const { setAttributes } = this.props;
39
 
40
  // Avatar shape options
41
  const profileAvatarShapeOptions = [
43
  { value: 'round', label: __( 'Round' ) },
44
  ];
45
 
46
+ // Update color values
47
+ const onChangeBackgroundColor = value => setAttributes( { profileBackgroundColor: value } );
48
+ const onChangeProfileTextColor = value => setAttributes( { profileTextColor: value } );
49
+ const onChangeSocialLinkColor = value => setAttributes( { profileLinkColor: value } );
50
+
51
+ // Social button colors
52
+ const socialColors = [
53
+ { color: '#392F43', name: 'black' },
54
+ { color: '#3373dc', name: 'royal blue' },
55
+ { color: '#2DBAA3', name: 'teal' },
56
+ { color: '#209cef', name: 'sky blue' },
57
+ { color: '#2BAD59', name: 'green' },
58
+ { color: '#ff3860', name: 'pink' },
59
+ { color: '#7941b6', name: 'purple' },
60
+ { color: '#F7812B', name: 'orange' },
61
+ ];
62
+
63
  return (
64
  <InspectorControls key="inspector">
65
  <PanelBody>
80
  onChange={ ( value ) => this.props.setAttributes( { profileAvatarShape: value } ) }
81
  />
82
 
83
+ <PanelColorSettings
84
  title={ __( 'Background Color' ) }
 
85
  initialOpen={ false }
86
+ colorSettings={ [ {
87
+ value: profileBackgroundColor,
88
+ onChange: onChangeBackgroundColor,
89
+ label: __( 'Background Color' ),
90
+ } ] }
91
  >
92
+ </PanelColorSettings>
93
+
94
+ <PanelColorSettings
 
 
 
 
 
95
  title={ __( 'Text Color' ) }
 
96
  initialOpen={ false }
97
+ colorSettings={ [ {
98
+ value: profileTextColor,
99
+ onChange: onChangeProfileTextColor,
100
+ label: __( 'Text Color' ),
101
+ } ] }
102
  >
103
+ </PanelColorSettings>
104
+
105
+ <PanelColorSettings
 
 
 
 
 
106
  title={ __( 'Social Link Color' ) }
 
107
  initialOpen={ false }
108
+ colorSettings={ [ {
109
+ value: profileLinkColor,
110
+ onChange: onChangeSocialLinkColor,
111
+ label: __( 'Social Link Color' ),
112
+ colors: socialColors,
113
+ } ] }
114
  >
115
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
116
  </PanelBody>
117
 
118
  <PanelBody title={ __( 'Social Links' ) } initialOpen={ false }>
src/blocks/block-button/components/inspector.js CHANGED
@@ -11,6 +11,7 @@ const {
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
 
14
  } = wp.editor;
15
 
16
  // Import Inspector components
@@ -19,7 +20,6 @@ const {
19
  Button,
20
  PanelBody,
21
  PanelRow,
22
- PanelColor,
23
  FormToggle,
24
  RangeControl,
25
  SelectControl,
@@ -39,6 +39,7 @@ export default class Inspector extends Component {
39
 
40
  // Setup the attributes
41
  const { buttonText, buttonUrl, buttonAlignment, buttonBackgroundColor, buttonTextColor, buttonSize, buttonShape, buttonTarget } = this.props.attributes;
 
42
 
43
  // Button size values
44
  const buttonSizeOptions = [
@@ -55,6 +56,22 @@ export default class Inspector extends Component {
55
  { value: 'ab-button-shape-circular', label: __( 'Circular' ) },
56
  ];
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58
  return (
59
  <InspectorControls key="inspector">
60
  <PanelBody>
@@ -84,43 +101,28 @@ export default class Inspector extends Component {
84
  onChange={ ( value ) => { this.props.setAttributes( { buttonShape: value } ) } }
85
  />
86
 
87
- <PanelColor
88
  title={ __( 'Button Color' ) }
89
- colorValue={ buttonBackgroundColor }
90
  initialOpen={ false }
 
 
 
 
 
 
91
  >
92
- <ColorPalette
93
- label={ __( 'Button Color' ) }
94
- value={ buttonBackgroundColor }
95
- onChange={ ( value ) => { this.props.setAttributes( { buttonBackgroundColor: value } ) } }
96
- colors={[
97
- { color: '#00d1b2', name: 'teal' },
98
- { color: '#3373dc', name: 'royal blue' },
99
- { color: '#209cef', name: 'sky blue' },
100
- { color: '#22d25f', name: 'green' },
101
- { color: '#ffdd57', name: 'yellow' },
102
- { color: '#ff3860', name: 'pink' },
103
- { color: '#7941b6', name: 'purple' },
104
- { color: '#392F43', name: 'black' },
105
- ]}
106
- />
107
- </PanelColor>
108
-
109
- <PanelColor
110
  title={ __( 'Button Text Color' ) }
111
- colorValue={ buttonTextColor }
112
  initialOpen={ false }
 
 
 
 
 
113
  >
114
- <ColorPalette
115
- label={ __( 'Button Text Color' ) }
116
- value={ buttonTextColor }
117
- onChange={ ( value ) => { this.props.setAttributes( { buttonTextColor: value } ) } }
118
- colors={[
119
- { color: '#fff', name: 'white' },
120
- { color: '#32373c', name: 'black' },
121
- ]}
122
- />
123
- </PanelColor>
124
  </PanelBody>
125
  </InspectorControls>
126
  );
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
14
+ PanelColorSettings,
15
  } = wp.editor;
16
 
17
  // Import Inspector components
20
  Button,
21
  PanelBody,
22
  PanelRow,
 
23
  FormToggle,
24
  RangeControl,
25
  SelectControl,
39
 
40
  // Setup the attributes
41
  const { buttonText, buttonUrl, buttonAlignment, buttonBackgroundColor, buttonTextColor, buttonSize, buttonShape, buttonTarget } = this.props.attributes;
42
+ const { setAttributes } = this.props;
43
 
44
  // Button size values
45
  const buttonSizeOptions = [
56
  { value: 'ab-button-shape-circular', label: __( 'Circular' ) },
57
  ];
58
 
59
+ // Button colors
60
+ const buttonColors = [
61
+ { color: '#00d1b2', name: 'teal' },
62
+ { color: '#3373dc', name: 'royal blue' },
63
+ { color: '#209cef', name: 'sky blue' },
64
+ { color: '#22d25f', name: 'green' },
65
+ { color: '#ffdd57', name: 'yellow' },
66
+ { color: '#ff3860', name: 'pink' },
67
+ { color: '#7941b6', name: 'purple' },
68
+ { color: '#392F43', name: 'black' },
69
+ ];
70
+
71
+ // Update color values
72
+ const onChangeButtonColor = value => setAttributes( { buttonBackgroundColor: value } );
73
+ const onChangeButtonTextColor = value => setAttributes( { buttonTextColor: value } );
74
+
75
  return (
76
  <InspectorControls key="inspector">
77
  <PanelBody>
101
  onChange={ ( value ) => { this.props.setAttributes( { buttonShape: value } ) } }
102
  />
103
 
104
+ <PanelColorSettings
105
  title={ __( 'Button Color' ) }
 
106
  initialOpen={ false }
107
+ colorSettings={ [ {
108
+ value: buttonBackgroundColor,
109
+ onChange: onChangeButtonColor,
110
+ label: __( 'Button Color' ),
111
+ colors: buttonColors,
112
+ } ] }
113
  >
114
+ </PanelColorSettings>
115
+
116
+ <PanelColorSettings
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  title={ __( 'Button Text Color' ) }
 
118
  initialOpen={ false }
119
+ colorSettings={ [ {
120
+ value: buttonTextColor,
121
+ onChange: onChangeButtonTextColor,
122
+ label: __( 'Button Text Color' ),
123
+ } ] }
124
  >
125
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
126
  </PanelBody>
127
  </InspectorControls>
128
  );
src/blocks/block-container/components/inspector.js CHANGED
@@ -11,6 +11,7 @@ const {
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
 
14
  MediaUpload,
15
  } = wp.editor;
16
 
@@ -20,7 +21,6 @@ const {
20
  Button,
21
  PanelBody,
22
  PanelRow,
23
- PanelColor,
24
  FormToggle,
25
  RangeControl,
26
  SelectControl,
@@ -59,6 +59,9 @@ export default class Inspector extends Component {
59
  });
60
  }
61
 
 
 
 
62
  return (
63
  <InspectorControls key="inspector">
64
  <PanelBody title={ __( 'Container Options' ) } initialOpen={ true }>
@@ -169,17 +172,16 @@ export default class Inspector extends Component {
169
  />
170
  ) }
171
 
172
- <PanelColor
173
  title={ __( 'Background Color' ) }
174
- colorValue={ containerBackgroundColor }
175
  initialOpen={ false }
 
 
 
 
 
176
  >
177
- <ColorPalette
178
- label={ __( 'Background Color' ) }
179
- value={ containerBackgroundColor }
180
- onChange={ ( value ) => this.props.setAttributes( { containerBackgroundColor: value } ) }
181
- />
182
- </PanelColor>
183
  </PanelBody>
184
  </InspectorControls>
185
  );
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
14
+ PanelColorSettings,
15
  MediaUpload,
16
  } = wp.editor;
17
 
21
  Button,
22
  PanelBody,
23
  PanelRow,
 
24
  FormToggle,
25
  RangeControl,
26
  SelectControl,
59
  });
60
  }
61
 
62
+ // Update color values
63
+ const onChangeBackgroundColor = value => setAttributes( { containerBackgroundColor: value } );
64
+
65
  return (
66
  <InspectorControls key="inspector">
67
  <PanelBody title={ __( 'Container Options' ) } initialOpen={ true }>
172
  />
173
  ) }
174
 
175
+ <PanelColorSettings
176
  title={ __( 'Background Color' ) }
 
177
  initialOpen={ false }
178
+ colorSettings={ [ {
179
+ value: containerBackgroundColor,
180
+ label: __( 'Background Color' ),
181
+ onChange: onChangeBackgroundColor,
182
+ } ] }
183
  >
184
+ </PanelColorSettings>
 
 
 
 
 
185
  </PanelBody>
186
  </InspectorControls>
187
  );
src/blocks/block-cta/components/inspector.js CHANGED
@@ -11,6 +11,7 @@ const {
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
 
14
  MediaUpload,
15
  } = wp.editor;
16
 
@@ -20,7 +21,6 @@ const {
20
  Button,
21
  PanelBody,
22
  PanelRow,
23
- PanelColor,
24
  FormToggle,
25
  RangeControl,
26
  SelectControl,
@@ -58,6 +58,19 @@ export default class Inspector extends Component {
58
  { value: 'ab-button-shape-circular', label: __( 'Circular' ) },
59
  ];
60
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  const onSelectImage = img => {
62
  setAttributes( {
63
  imgID: img.id,
@@ -66,6 +79,7 @@ export default class Inspector extends Component {
66
  } );
67
  };
68
 
 
69
  const onRemoveImage = () => {
70
  setAttributes({
71
  imgID: null,
@@ -74,6 +88,12 @@ export default class Inspector extends Component {
74
  });
75
  }
76
 
 
 
 
 
 
 
77
  return (
78
  <InspectorControls key="inspector">
79
  <PanelBody title={ __( 'Text Options' ) } initialOpen={ true }>
@@ -95,17 +115,16 @@ export default class Inspector extends Component {
95
  step={ 2 }
96
  />
97
 
98
- <PanelColor
99
  title={ __( 'Text Color' ) }
100
- colorValue={ ctaTextColor }
101
  initialOpen={ false }
 
 
 
 
 
102
  >
103
- <ColorPalette
104
- label={ __( 'Text Color' ) }
105
- value={ ctaTextColor }
106
- onChange={ ( value ) => this.props.setAttributes( { ctaTextColor: value } ) }
107
- />
108
- </PanelColor>
109
  </PanelBody>
110
 
111
  <PanelBody title={ __( 'Background Options' ) } initialOpen={ false }>
@@ -151,17 +170,17 @@ export default class Inspector extends Component {
151
  />
152
  ) }
153
 
154
- <PanelColor
155
  title={ __( 'Background Color' ) }
156
- colorValue={ ctaBackgroundColor }
157
  initialOpen={ false }
 
 
 
 
 
 
158
  >
159
- <ColorPalette
160
- label={ __( 'Background Color' ) }
161
- value={ ctaBackgroundColor }
162
- onChange={ ( value ) => this.props.setAttributes( { ctaBackgroundColor: value } ) }
163
- />
164
- </PanelColor>
165
  </PanelBody>
166
 
167
  <PanelBody title={ __( 'Button Options' ) } initialOpen={ false }>
@@ -191,43 +210,28 @@ export default class Inspector extends Component {
191
  onChange={ ( value ) => { this.props.setAttributes( { buttonShape: value } ) } }
192
  />
193
 
194
- <PanelColor
195
  title={ __( 'Button Color' ) }
196
- colorValue={ buttonBackgroundColor }
197
  initialOpen={ false }
 
 
 
 
 
 
198
  >
199
- <ColorPalette
200
- label={ __( 'Button Color' ) }
201
- value={ buttonBackgroundColor }
202
- onChange={ ( value ) => { this.props.setAttributes( { buttonBackgroundColor: value } ) } }
203
- colors={[
204
- { color: '#392F43', name: 'black' },
205
- { color: '#3373dc', name: 'royal blue' },
206
- { color: '#2DBAA3', name: 'teal' },
207
- { color: '#209cef', name: 'sky blue' },
208
- { color: '#2BAD59', name: 'green' },
209
- { color: '#ff3860', name: 'pink' },
210
- { color: '#7941b6', name: 'purple' },
211
- { color: '#F7812B', name: 'orange' },
212
- ]}
213
- />
214
- </PanelColor>
215
 
216
- <PanelColor
217
  title={ __( 'Button Text Color' ) }
218
- colorValue={ buttonTextColor }
219
  initialOpen={ false }
 
 
 
 
 
220
  >
221
- <ColorPalette
222
- label={ __( 'Button Text Color' ) }
223
- value={ buttonTextColor }
224
- onChange={ ( value ) => { this.props.setAttributes( { buttonTextColor: value } ) } }
225
- colors={[
226
- { color: '#32373c', name: 'black' },
227
- { color: '#fff', name: 'white' },
228
- ]}
229
- />
230
- </PanelColor>
231
  </PanelBody>
232
  </InspectorControls>
233
  );
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
14
+ PanelColorSettings,
15
  MediaUpload,
16
  } = wp.editor;
17
 
21
  Button,
22
  PanelBody,
23
  PanelRow,
 
24
  FormToggle,
25
  RangeControl,
26
  SelectControl,
58
  { value: 'ab-button-shape-circular', label: __( 'Circular' ) },
59
  ];
60
 
61
+ // Button colors
62
+ const buttonColors = [
63
+ { color: '#392F43', name: 'black' },
64
+ { color: '#3373dc', name: 'royal blue' },
65
+ { color: '#2DBAA3', name: 'teal' },
66
+ { color: '#209cef', name: 'sky blue' },
67
+ { color: '#2BAD59', name: 'green' },
68
+ { color: '#ff3860', name: 'pink' },
69
+ { color: '#7941b6', name: 'purple' },
70
+ { color: '#F7812B', name: 'orange' },
71
+ ];
72
+
73
+ // Change the image
74
  const onSelectImage = img => {
75
  setAttributes( {
76
  imgID: img.id,
79
  } );
80
  };
81
 
82
+ // Clear the image
83
  const onRemoveImage = () => {
84
  setAttributes({
85
  imgID: null,
88
  });
89
  }
90
 
91
+ // Update color values
92
+ const onChangeBackgroundColor = value => setAttributes( { ctaBackgroundColor: value } );
93
+ const onChangeTextColor = value => setAttributes( { ctaTextColor: value } );
94
+ const onChangeButtonColor = value => setAttributes( { buttonBackgroundColor: value } );
95
+ const onChangeButtonTextColor = value => setAttributes( { buttonTextColor: value } );
96
+
97
  return (
98
  <InspectorControls key="inspector">
99
  <PanelBody title={ __( 'Text Options' ) } initialOpen={ true }>
115
  step={ 2 }
116
  />
117
 
118
+ <PanelColorSettings
119
  title={ __( 'Text Color' ) }
 
120
  initialOpen={ false }
121
+ colorSettings={ [ {
122
+ value: ctaTextColor,
123
+ onChange: onChangeTextColor,
124
+ label: __( 'Text Color' ),
125
+ } ] }
126
  >
127
+ </PanelColorSettings>
 
 
 
 
 
128
  </PanelBody>
129
 
130
  <PanelBody title={ __( 'Background Options' ) } initialOpen={ false }>
170
  />
171
  ) }
172
 
173
+ <PanelColorSettings
174
  title={ __( 'Background Color' ) }
 
175
  initialOpen={ false }
176
+ colorSettings={ [ {
177
+ value: ctaBackgroundColor,
178
+ onChange: onChangeBackgroundColor,
179
+ label: __( 'Overlay Color' ),
180
+ colors: buttonColors,
181
+ } ] }
182
  >
183
+ </PanelColorSettings>
 
 
 
 
 
184
  </PanelBody>
185
 
186
  <PanelBody title={ __( 'Button Options' ) } initialOpen={ false }>
210
  onChange={ ( value ) => { this.props.setAttributes( { buttonShape: value } ) } }
211
  />
212
 
213
+ <PanelColorSettings
214
  title={ __( 'Button Color' ) }
 
215
  initialOpen={ false }
216
+ colorSettings={ [ {
217
+ value: buttonBackgroundColor,
218
+ onChange: onChangeButtonColor,
219
+ label: __( 'Button Color' ),
220
+ colors: buttonColors,
221
+ } ] }
222
  >
223
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
224
 
225
+ <PanelColorSettings
226
  title={ __( 'Button Text Color' ) }
 
227
  initialOpen={ false }
228
+ colorSettings={ [ {
229
+ value: buttonTextColor,
230
+ onChange: onChangeButtonTextColor,
231
+ label: __( 'Button Text Color' ),
232
+ } ] }
233
  >
234
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
235
  </PanelBody>
236
  </InspectorControls>
237
  );
src/blocks/block-notice/components/inspector.js CHANGED
@@ -10,6 +10,7 @@ const { Component } = wp.element;
10
  const {
11
  BlockDescription,
12
  ColorPalette,
 
13
  InspectorControls,
14
  } = wp.editor;
15
 
@@ -19,7 +20,6 @@ const {
19
  Button,
20
  PanelBody,
21
  PanelRow,
22
- PanelColor,
23
  FormToggle,
24
  RangeControl,
25
  SelectControl,
@@ -42,8 +42,26 @@ export default class Inspector extends Component {
42
  { value: 'ab-dismissable', label: __( 'Dismissable' ) },
43
  ];
44
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  // Setup the attributes
46
  const { attributes: { noticeTitle, noticeContent, noticeAlignment, noticeBackgroundColor, noticeTextColor, noticeTitleColor, noticeFontSize, noticeDismiss } } = this.props;
 
 
 
 
 
 
47
 
48
  return (
49
  <InspectorControls key="inspector">
@@ -65,59 +83,41 @@ export default class Inspector extends Component {
65
  onChange={ ( value ) => this.props.setAttributes( { noticeDismiss: value } ) }
66
  />
67
 
68
- <PanelColor
69
  title={ __( 'Notice Color' ) }
70
  colorValue={ noticeBackgroundColor }
71
  initialOpen={ false }
 
 
 
 
 
 
72
  >
73
- <ColorPalette
74
- label={ __( 'Notice Color' ) }
75
- value={ noticeBackgroundColor }
76
- onChange={ ( value ) => this.props.setAttributes( { noticeBackgroundColor: value } ) }
77
- colors={[
78
- { color: '#00d1b2', name: 'teal' },
79
- { color: '#3373dc', name: 'royal blue' },
80
- { color: '#209cef', name: 'sky blue' },
81
- { color: '#22d25f', name: 'green' },
82
- { color: '#ffdd57', name: 'yellow' },
83
- { color: '#ff3860', name: 'pink' },
84
- { color: '#7941b6', name: 'purple' },
85
- { color: '#392F43', name: 'black' },
86
- ]}
87
- />
88
- </PanelColor>
89
 
90
- <PanelColor
91
  title={ __( 'Title Color' ) }
92
- colorValue={ noticeTitleColor }
93
  initialOpen={ false }
 
 
 
 
 
94
  >
95
- <ColorPalette
96
- label={ __( 'Title Color' ) }
97
- value={ noticeTitleColor }
98
- onChange={ ( value ) => this.props.setAttributes( { noticeTitleColor: value } ) }
99
- colors={[
100
- { color: '#fff', name: 'white' },
101
- { color: '#32373c', name: 'black' },
102
- ]}
103
- />
104
- </PanelColor>
105
 
106
- <PanelColor
107
  title={ __( 'Text Color' ) }
108
  colorValue={ noticeTextColor }
109
  initialOpen={ false }
 
 
 
 
 
110
  >
111
- <ColorPalette
112
- label={ __( 'Background Color' ) }
113
- value={ noticeTextColor }
114
- onChange={ ( value ) => this.props.setAttributes( { noticeTextColor: value } ) }
115
- colors={[
116
- { color: '#fff', name: 'white' },
117
- { color: '#32373c', name: 'black' },
118
- ]}
119
- />
120
- </PanelColor>
121
  </PanelBody>
122
  </InspectorControls>
123
  );
10
  const {
11
  BlockDescription,
12
  ColorPalette,
13
+ PanelColorSettings,
14
  InspectorControls,
15
  } = wp.editor;
16
 
20
  Button,
21
  PanelBody,
22
  PanelRow,
 
23
  FormToggle,
24
  RangeControl,
25
  SelectControl,
42
  { value: 'ab-dismissable', label: __( 'Dismissable' ) },
43
  ];
44
 
45
+ // Notice colors
46
+ const noticeColors = [
47
+ { color: '#00d1b2', name: 'teal' },
48
+ { color: '#3373dc', name: 'royal blue' },
49
+ { color: '#209cef', name: 'sky blue' },
50
+ { color: '#22d25f', name: 'green' },
51
+ { color: '#ffdd57', name: 'yellow' },
52
+ { color: '#ff3860', name: 'pink' },
53
+ { color: '#7941b6', name: 'purple' },
54
+ { color: '#392F43', name: 'black' },
55
+ ];
56
+
57
  // Setup the attributes
58
  const { attributes: { noticeTitle, noticeContent, noticeAlignment, noticeBackgroundColor, noticeTextColor, noticeTitleColor, noticeFontSize, noticeDismiss } } = this.props;
59
+ const { setAttributes } = this.props;
60
+
61
+ // Update color values
62
+ const onChangeBackgroundColor = value => setAttributes( { noticeBackgroundColor: value } );
63
+ const onChangeTextColor = value => setAttributes( { noticeTextColor: value } );
64
+ const onChangeTitleColor = value => setAttributes( { noticeTitleColor: value } );
65
 
66
  return (
67
  <InspectorControls key="inspector">
83
  onChange={ ( value ) => this.props.setAttributes( { noticeDismiss: value } ) }
84
  />
85
 
86
+ <PanelColorSettings
87
  title={ __( 'Notice Color' ) }
88
  colorValue={ noticeBackgroundColor }
89
  initialOpen={ false }
90
+ colorSettings={ [ {
91
+ value: noticeBackgroundColor,
92
+ onChange: onChangeBackgroundColor,
93
+ colors: noticeColors,
94
+ label: __( 'Notice Color' ),
95
+ } ] }
96
  >
97
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
98
 
99
+ <PanelColorSettings
100
  title={ __( 'Title Color' ) }
 
101
  initialOpen={ false }
102
+ colorSettings = { [ {
103
+ value: noticeTitleColor,
104
+ onChange: onChangeTitleColor,
105
+ label: __( 'Title Color' ),
106
+ } ] }
107
  >
108
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
109
 
110
+ <PanelColorSettings
111
  title={ __( 'Text Color' ) }
112
  colorValue={ noticeTextColor }
113
  initialOpen={ false }
114
+ colorSettings = { [ {
115
+ value: noticeTextColor,
116
+ onChange: onChangeTextColor,
117
+ label: __( 'Text Color' ),
118
+ } ] }
119
  >
120
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
121
  </PanelBody>
122
  </InspectorControls>
123
  );
src/blocks/block-spacer/components/inspector.js CHANGED
@@ -11,6 +11,7 @@ const {
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
 
14
  } = wp.editor;
15
 
16
  // Import Inspector components
@@ -19,7 +20,6 @@ const {
19
  Button,
20
  PanelBody,
21
  PanelRow,
22
- PanelColor,
23
  RangeControl,
24
  ToggleControl,
25
  SelectControl,
@@ -46,6 +46,20 @@ export default class Inspector extends Component {
46
  { value: 'ab-divider-dotted', label: __( 'Dotted' ) },
47
  ];
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  return (
50
  <InspectorControls key="inspector">
51
  <PanelBody>
@@ -83,26 +97,17 @@ export default class Inspector extends Component {
83
  max={ 5 }
84
  />
85
 
86
- <PanelColor
87
  title={ __( 'Divider Color' ) }
88
- colorValue={ spacerDividerColor }
89
  initialOpen={ false }
 
 
 
 
 
 
90
  >
91
- <ColorPalette
92
- label={ __( 'Divider Color' ) }
93
- value={ spacerDividerColor }
94
- onChange={ ( value ) => { this.props.setAttributes( { spacerDividerColor: value } ) } }
95
- colors={[
96
- { color: '#ddd', name: 'white' },
97
- { color: '#333', name: 'black' },
98
- { color: '#3373dc', name: 'royal blue' },
99
- { color: '#22d25f', name: 'green' },
100
- { color: '#ffdd57', name: 'yellow' },
101
- { color: '#ff3860', name: 'pink' },
102
- { color: '#7941b6', name: 'purple' },
103
- ]}
104
- />
105
- </PanelColor>
106
  </PanelBody>
107
  : null }
108
  </PanelBody>
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
14
+ PanelColorSettings,
15
  } = wp.editor;
16
 
17
  // Import Inspector components
20
  Button,
21
  PanelBody,
22
  PanelRow,
 
23
  RangeControl,
24
  ToggleControl,
25
  SelectControl,
46
  { value: 'ab-divider-dotted', label: __( 'Dotted' ) },
47
  ];
48
 
49
+ // Divider color
50
+ const dividerColor = [
51
+ { color: '#ddd', name: 'white' },
52
+ { color: '#333', name: 'black' },
53
+ { color: '#3373dc', name: 'royal blue' },
54
+ { color: '#22d25f', name: 'green' },
55
+ { color: '#ffdd57', name: 'yellow' },
56
+ { color: '#ff3860', name: 'pink' },
57
+ { color: '#7941b6', name: 'purple' },
58
+ ];
59
+
60
+ // Update color values
61
+ const onChangeDividerColor = value => setAttributes( { spacerDividerColor: value } );
62
+
63
  return (
64
  <InspectorControls key="inspector">
65
  <PanelBody>
97
  max={ 5 }
98
  />
99
 
100
+ <PanelColorSettings
101
  title={ __( 'Divider Color' ) }
 
102
  initialOpen={ false }
103
+ colorSettings={ [ {
104
+ colors: dividerColor,
105
+ value: spacerDividerColor,
106
+ onChange: onChangeDividerColor,
107
+ label: __( 'Divider Color' )
108
+ } ] }
109
  >
110
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  </PanelBody>
112
  : null }
113
  </PanelBody>
src/blocks/block-testimonial/components/inspector.js CHANGED
@@ -11,6 +11,7 @@ const {
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
 
14
  } = wp.editor;
15
 
16
  // Import Inspector components
@@ -19,7 +20,6 @@ const {
19
  Button,
20
  PanelBody,
21
  PanelRow,
22
- PanelColor,
23
  FormToggle,
24
  RangeControl,
25
  SelectControl,
@@ -42,9 +42,24 @@ export default class Inspector extends Component {
42
  { value: 'right-aligned', label: __( 'Right Aligned' ) },
43
  ];
44
 
 
 
 
 
 
 
 
 
 
 
 
45
  // Setup the attributes
46
  const { attributes: { testimonialName, testimonialTitle, testimonialContent, testimonialAlignment, testimonialImgURL, testimonialImgID, testimonialBackgroundColor, testimonialTextColor, testimonialFontSize, testimonialCiteAlign }, isSelected, className, setAttributes } = this.props;
47
 
 
 
 
 
48
  return (
49
  <InspectorControls key="inspector">
50
  <PanelBody>
@@ -65,43 +80,29 @@ export default class Inspector extends Component {
65
  onChange={ ( value ) => this.props.setAttributes( { testimonialCiteAlign: value } ) }
66
  />
67
 
68
- <PanelColor
69
  title={ __( 'Background Color' ) }
70
- colorValue={ testimonialBackgroundColor }
71
  initialOpen={ false }
 
 
 
 
 
 
 
72
  >
73
- <ColorPalette
74
- label={ __( 'Background Color' ) }
75
- value={ testimonialBackgroundColor }
76
- onChange={ ( value ) => this.props.setAttributes( { testimonialBackgroundColor: value } ) }
77
- colors={[
78
- { color: '#00d1b2', name: 'teal' },
79
- { color: '#3373dc', name: 'royal blue' },
80
- { color: '#209cef', name: 'sky blue' },
81
- { color: '#22d25f', name: 'green' },
82
- { color: '#ffdd57', name: 'yellow' },
83
- { color: '#ff3860', name: 'pink' },
84
- { color: '#7941b6', name: 'purple' },
85
- { color: '#392F43', name: 'black' },
86
- ]}
87
- />
88
- </PanelColor>
89
 
90
- <PanelColor
91
  title={ __( 'Text Color' ) }
92
- colorValue={ testimonialTextColor }
93
  initialOpen={ false }
 
 
 
 
 
94
  >
95
- <ColorPalette
96
- label={ __( 'Text Color' ) }
97
- value={ testimonialTextColor }
98
- onChange={ ( value ) => this.props.setAttributes( { testimonialTextColor: value } ) }
99
- colors={[
100
- { color: '#fff', name: 'white' },
101
- { color: '#32373c', name: 'black' },
102
- ]}
103
- />
104
- </PanelColor>
105
  </PanelBody>
106
  </InspectorControls>
107
  );
11
  InspectorControls,
12
  BlockDescription,
13
  ColorPalette,
14
+ PanelColorSettings,
15
  } = wp.editor;
16
 
17
  // Import Inspector components
20
  Button,
21
  PanelBody,
22
  PanelRow,
 
23
  FormToggle,
24
  RangeControl,
25
  SelectControl,
42
  { value: 'right-aligned', label: __( 'Right Aligned' ) },
43
  ];
44
 
45
+ const backgroundColors = [
46
+ { color: '#00d1b2', name: 'teal' },
47
+ { color: '#3373dc', name: 'royal blue' },
48
+ { color: '#209cef', name: 'sky blue' },
49
+ { color: '#22d25f', name: 'green' },
50
+ { color: '#ffdd57', name: 'yellow' },
51
+ { color: '#ff3860', name: 'pink' },
52
+ { color: '#7941b6', name: 'purple' },
53
+ { color: '#392F43', name: 'black' },
54
+ ];
55
+
56
  // Setup the attributes
57
  const { attributes: { testimonialName, testimonialTitle, testimonialContent, testimonialAlignment, testimonialImgURL, testimonialImgID, testimonialBackgroundColor, testimonialTextColor, testimonialFontSize, testimonialCiteAlign }, isSelected, className, setAttributes } = this.props;
58
 
59
+ // Update color values
60
+ const onChangeBackgroundColor = value => setAttributes( { testimonialBackgroundColor: value } );
61
+ const onChangeTextColor = value => setAttributes( { testimonialTextColor: value } );
62
+
63
  return (
64
  <InspectorControls key="inspector">
65
  <PanelBody>
80
  onChange={ ( value ) => this.props.setAttributes( { testimonialCiteAlign: value } ) }
81
  />
82
 
83
+ <PanelColorSettings
84
  title={ __( 'Background Color' ) }
 
85
  initialOpen={ false }
86
+ colorSettings={ [ {
87
+ value: testimonialBackgroundColor,
88
+ colors: backgroundColors,
89
+ onChange: onChangeBackgroundColor,
90
+ label: __( 'Background Color' ),
91
+
92
+ } ] }
93
  >
94
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
 
96
+ <PanelColorSettings
97
  title={ __( 'Text Color' ) }
 
98
  initialOpen={ false }
99
+ colorSettings={ [ {
100
+ value: testimonialTextColor,
101
+ onChange: onChangeTextColor,
102
+ label: __( 'Text Color' ),
103
+ } ] }
104
  >
105
+ </PanelColorSettings>
 
 
 
 
 
 
 
 
 
106
  </PanelBody>
107
  </InspectorControls>
108
  );