PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.5.0
JetFormBuilder — Dynamic Blocks Form Builder v3.5.0
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / modules / shortcode / assets / build / block.editor.js
jetformbuilder / modules / shortcode / assets / build Last commit date
block.editor.asset.php 1 year ago block.editor.js 1 year ago
block.editor.js
1032 lines
1 /******/ (() => { // webpackBootstrap
2 /******/ "use strict";
3 /******/ var __webpack_modules__ = ({
4
5 /***/ "../../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js":
6 /*!*****************************************************************************************!*\
7 !*** ../../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js ***!
8 \*****************************************************************************************/
9 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
10
11 __webpack_require__.r(__webpack_exports__);
12 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 /* harmony export */ "default": () => (/* binding */ isPropValid)
14 /* harmony export */ });
15 /* harmony import */ var _emotion_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/memoize */ "../../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js");
16
17
18 // eslint-disable-next-line no-undef
19 var reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|fetchpriority|fetchPriority|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23
20
21 var isPropValid = /* #__PURE__ */(0,_emotion_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prop) {
22 return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111
23 /* o */
24 && prop.charCodeAt(1) === 110
25 /* n */
26 && prop.charCodeAt(2) < 91;
27 }
28 /* Z+1 */
29 );
30
31
32
33
34 /***/ }),
35
36 /***/ "../../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js":
37 /*!*****************************************************************************!*\
38 !*** ../../../../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js ***!
39 \*****************************************************************************/
40 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
41
42 __webpack_require__.r(__webpack_exports__);
43 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
44 /* harmony export */ "default": () => (/* binding */ memoize)
45 /* harmony export */ });
46 function memoize(fn) {
47 var cache = Object.create(null);
48 return function (arg) {
49 if (cache[arg] === undefined) cache[arg] = fn(arg);
50 return cache[arg];
51 };
52 }
53
54
55
56
57 /***/ }),
58
59 /***/ "../../../../node_modules/@linaria/core/dist/index.mjs":
60 /*!*************************************************************!*\
61 !*** ../../../../node_modules/@linaria/core/dist/index.mjs ***!
62 \*************************************************************/
63 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
64
65 __webpack_require__.r(__webpack_exports__);
66 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
67 /* harmony export */ css: () => (/* binding */ css_default),
68 /* harmony export */ cx: () => (/* binding */ cx_default)
69 /* harmony export */ });
70 // src/css.ts
71 var idx = 0;
72 var css = () => {
73 if (false) {}
74 throw new Error(
75 'Using the "css" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly.'
76 );
77 };
78 var css_default = css;
79
80 // src/cx.ts
81 var cx = function cx2() {
82 const presentClassNames = Array.prototype.slice.call(arguments).filter(Boolean);
83 const atomicClasses = {};
84 const nonAtomicClasses = [];
85 presentClassNames.forEach((arg) => {
86 const individualClassNames = arg ? arg.split(" ") : [];
87 individualClassNames.forEach((className) => {
88 if (className.startsWith("atm_")) {
89 const [, keyHash] = className.split("_");
90 atomicClasses[keyHash] = className;
91 } else {
92 nonAtomicClasses.push(className);
93 }
94 });
95 });
96 const result = [];
97 for (const keyHash in atomicClasses) {
98 if (Object.prototype.hasOwnProperty.call(atomicClasses, keyHash)) {
99 result.push(atomicClasses[keyHash]);
100 }
101 }
102 result.push(...nonAtomicClasses);
103 return result.join(" ");
104 };
105 var cx_default = cx;
106
107 //# sourceMappingURL=index.mjs.map
108
109 /***/ }),
110
111 /***/ "../../../../node_modules/@linaria/react/dist/index.mjs":
112 /*!**************************************************************!*\
113 !*** ../../../../node_modules/@linaria/react/dist/index.mjs ***!
114 \**************************************************************/
115 /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
116
117 __webpack_require__.r(__webpack_exports__);
118 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
119 /* harmony export */ styled: () => (/* binding */ styled_default)
120 /* harmony export */ });
121 /* harmony import */ var _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @emotion/is-prop-valid */ "../../../../node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js");
122 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
123 /* harmony import */ var _linaria_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @linaria/core */ "../../../../node_modules/@linaria/core/dist/index.mjs");
124 // src/styled.ts
125
126
127
128 var isCapital = (ch) => ch.toUpperCase() === ch;
129 var filterKey = (keys) => (key) => keys.indexOf(key) === -1;
130 var omit = (obj, keys) => {
131 const res = {};
132 Object.keys(obj).filter(filterKey(keys)).forEach((key) => {
133 res[key] = obj[key];
134 });
135 return res;
136 };
137 function filterProps(asIs, props, omitKeys) {
138 const filteredProps = omit(props, omitKeys);
139 if (!asIs) {
140 const interopValidAttr = typeof _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__["default"] === "function" ? { default: _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__["default"] } : _emotion_is_prop_valid__WEBPACK_IMPORTED_MODULE_0__["default"];
141 Object.keys(filteredProps).forEach((key) => {
142 if (!interopValidAttr.default(key)) {
143 delete filteredProps[key];
144 }
145 });
146 }
147 return filteredProps;
148 }
149 var warnIfInvalid = (value, componentName) => {
150 if (true) {
151 if (typeof value === "string" || // eslint-disable-next-line no-self-compare,no-restricted-globals
152 typeof value === "number" && isFinite(value)) {
153 return;
154 }
155 const stringified = typeof value === "object" ? JSON.stringify(value) : String(value);
156 console.warn(
157 `An interpolation evaluated to '${stringified}' in the component '${componentName}', which is probably a mistake. You should explicitly cast or transform the value to a string.`
158 );
159 }
160 };
161 var idx = 0;
162 function styled(tag) {
163 let mockedClass = "";
164 if (false) {}
165 return (options) => {
166 if (true) {
167 if (Array.isArray(options)) {
168 throw new Error(
169 'Using the "styled" tag in runtime is not supported. Make sure you have set up the Babel plugin correctly. See https://github.com/callstack/linaria#setup'
170 );
171 }
172 }
173 const render = (props, ref) => {
174 const { as: component = tag, class: className = mockedClass } = props;
175 const shouldKeepProps = options.propsAsIs === void 0 ? !(typeof component === "string" && component.indexOf("-") === -1 && !isCapital(component[0])) : options.propsAsIs;
176 const filteredProps = filterProps(shouldKeepProps, props, [
177 "as",
178 "class"
179 ]);
180 filteredProps.ref = ref;
181 filteredProps.className = options.atomic ? (0,_linaria_core__WEBPACK_IMPORTED_MODULE_2__.cx)(options.class, filteredProps.className || className) : (0,_linaria_core__WEBPACK_IMPORTED_MODULE_2__.cx)(filteredProps.className || className, options.class);
182 const { vars } = options;
183 if (vars) {
184 const style = {};
185 for (const name in vars) {
186 const variable = vars[name];
187 const result = variable[0];
188 const unit = variable[1] || "";
189 const value = typeof result === "function" ? result(props) : result;
190 warnIfInvalid(value, options.name);
191 style[`--${name}`] = `${value}${unit}`;
192 }
193 const ownStyle = filteredProps.style || {};
194 const keys = Object.keys(ownStyle);
195 if (keys.length > 0) {
196 keys.forEach((key) => {
197 style[key] = ownStyle[key];
198 });
199 }
200 filteredProps.style = style;
201 }
202 if (tag.__wyw_meta && tag !== component) {
203 filteredProps.as = component;
204 return react__WEBPACK_IMPORTED_MODULE_1__.createElement(tag, filteredProps);
205 }
206 return react__WEBPACK_IMPORTED_MODULE_1__.createElement(component, filteredProps);
207 };
208 const Result = react__WEBPACK_IMPORTED_MODULE_1__.forwardRef ? react__WEBPACK_IMPORTED_MODULE_1__.forwardRef(render) : (
209 // React.forwardRef won't available on older React versions and in Preact
210 // Fallback to a innerRef prop in that case
211 (props) => {
212 const rest = omit(props, ["innerRef"]);
213 return render(rest, props.innerRef);
214 }
215 );
216 Result.displayName = options.name;
217 Result.__wyw_meta = {
218 className: options.class || mockedClass,
219 extends: tag
220 };
221 return Result;
222 };
223 }
224 var styled_default = true ? new Proxy(styled, {
225 get(o, prop) {
226 return o(prop);
227 }
228 }) : 0;
229
230 //# sourceMappingURL=index.mjs.map
231
232 /***/ }),
233
234 /***/ "../../../../node_modules/@wordpress/icons/build-module/library/copy-small.js":
235 /*!************************************************************************************!*\
236 !*** ../../../../node_modules/@wordpress/icons/build-module/library/copy-small.js ***!
237 \************************************************************************************/
238 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
239
240 __webpack_require__.r(__webpack_exports__);
241 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
242 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
243 /* harmony export */ });
244 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
245 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
246 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
247 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
248
249 /**
250 * WordPress dependencies
251 */
252
253 const copySmall = (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
254 xmlns: "http://www.w3.org/2000/svg",
255 viewBox: "0 0 24 24"
256 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.Path, {
257 fillRule: "evenodd",
258 clipRule: "evenodd",
259 d: "M5.625 5.5h9.75c.069 0 .125.056.125.125v9.75a.125.125 0 0 1-.125.125h-9.75a.125.125 0 0 1-.125-.125v-9.75c0-.069.056-.125.125-.125ZM4 5.625C4 4.728 4.728 4 5.625 4h9.75C16.273 4 17 4.728 17 5.625v9.75c0 .898-.727 1.625-1.625 1.625h-9.75A1.625 1.625 0 0 1 4 15.375v-9.75Zm14.5 11.656v-9H20v9C20 18.8 18.77 20 17.251 20H6.25v-1.5h11.001c.69 0 1.249-.528 1.249-1.219Z"
260 }));
261 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (copySmall);
262 //# sourceMappingURL=copy-small.js.map
263
264 /***/ }),
265
266 /***/ "../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx":
267 /*!********************************************************************************************************************************************************************************************************************************************************!*\
268 !*** ../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx ***!
269 \********************************************************************************************************************************************************************************************************************************************************/
270 /***/ ((module, __webpack_exports__, __webpack_require__) => {
271
272 __webpack_require__.r(__webpack_exports__);
273 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
274 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
275 /* harmony export */ });
276 /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js */ "../../../../node_modules/css-loader/dist/runtime/sourceMaps.js");
277 /* harmony import */ var _node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
278 /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../node_modules/css-loader/dist/runtime/api.js */ "../../../../node_modules/css-loader/dist/runtime/api.js");
279 /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
280 // Imports
281
282
283 var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
284 // Module
285 ___CSS_LOADER_EXPORT___.push([module.id, `.s1vim7hv{overflow-x:auto;text-wrap:nowrap;padding:3px 5px 2px;background:rgba(0, 0, 0, .07);font-size:13px;font-family:Consolas,Monaco,monospace;-webkit-flex:1;-ms-flex:1;flex:1;}
286 `, "",{"version":3,"sources":["webpack://./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx"],"names":[],"mappings":"AAAA,UAAU,eAAe,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,6BAA6B,CAAC,cAAc,CAAC,qCAAqC,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC","sourcesContent":[".s1vim7hv{overflow-x:auto;text-wrap:nowrap;padding:3px 5px 2px;background:rgba(0, 0, 0, .07);font-size:13px;font-family:Consolas,Monaco,monospace;-webkit-flex:1;-ms-flex:1;flex:1;}\n"],"sourceRoot":""}]);
287 // Exports
288 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
289
290
291 /***/ }),
292
293 /***/ "../../../../node_modules/css-loader/dist/runtime/api.js":
294 /*!***************************************************************!*\
295 !*** ../../../../node_modules/css-loader/dist/runtime/api.js ***!
296 \***************************************************************/
297 /***/ ((module) => {
298
299
300
301 /*
302 MIT License http://www.opensource.org/licenses/mit-license.php
303 Author Tobias Koppers @sokra
304 */
305 module.exports = function (cssWithMappingToString) {
306 var list = [];
307
308 // return the list of modules as css string
309 list.toString = function toString() {
310 return this.map(function (item) {
311 var content = "";
312 var needLayer = typeof item[5] !== "undefined";
313 if (item[4]) {
314 content += "@supports (".concat(item[4], ") {");
315 }
316 if (item[2]) {
317 content += "@media ".concat(item[2], " {");
318 }
319 if (needLayer) {
320 content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
321 }
322 content += cssWithMappingToString(item);
323 if (needLayer) {
324 content += "}";
325 }
326 if (item[2]) {
327 content += "}";
328 }
329 if (item[4]) {
330 content += "}";
331 }
332 return content;
333 }).join("");
334 };
335
336 // import a list of modules into the list
337 list.i = function i(modules, media, dedupe, supports, layer) {
338 if (typeof modules === "string") {
339 modules = [[null, modules, undefined]];
340 }
341 var alreadyImportedModules = {};
342 if (dedupe) {
343 for (var k = 0; k < this.length; k++) {
344 var id = this[k][0];
345 if (id != null) {
346 alreadyImportedModules[id] = true;
347 }
348 }
349 }
350 for (var _k = 0; _k < modules.length; _k++) {
351 var item = [].concat(modules[_k]);
352 if (dedupe && alreadyImportedModules[item[0]]) {
353 continue;
354 }
355 if (typeof layer !== "undefined") {
356 if (typeof item[5] === "undefined") {
357 item[5] = layer;
358 } else {
359 item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
360 item[5] = layer;
361 }
362 }
363 if (media) {
364 if (!item[2]) {
365 item[2] = media;
366 } else {
367 item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
368 item[2] = media;
369 }
370 }
371 if (supports) {
372 if (!item[4]) {
373 item[4] = "".concat(supports);
374 } else {
375 item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
376 item[4] = supports;
377 }
378 }
379 list.push(item);
380 }
381 };
382 return list;
383 };
384
385 /***/ }),
386
387 /***/ "../../../../node_modules/css-loader/dist/runtime/sourceMaps.js":
388 /*!**********************************************************************!*\
389 !*** ../../../../node_modules/css-loader/dist/runtime/sourceMaps.js ***!
390 \**********************************************************************/
391 /***/ ((module) => {
392
393
394
395 module.exports = function (item) {
396 var content = item[1];
397 var cssMapping = item[3];
398 if (!cssMapping) {
399 return content;
400 }
401 if (typeof btoa === "function") {
402 var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));
403 var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64);
404 var sourceMapping = "/*# ".concat(data, " */");
405 return [content].concat([sourceMapping]).join("\n");
406 }
407 return [content].join("\n");
408 };
409
410 /***/ }),
411
412 /***/ "../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":
413 /*!**************************************************************************************!*\
414 !*** ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***!
415 \**************************************************************************************/
416 /***/ ((module) => {
417
418
419
420 var stylesInDOM = [];
421 function getIndexByIdentifier(identifier) {
422 var result = -1;
423 for (var i = 0; i < stylesInDOM.length; i++) {
424 if (stylesInDOM[i].identifier === identifier) {
425 result = i;
426 break;
427 }
428 }
429 return result;
430 }
431 function modulesToDom(list, options) {
432 var idCountMap = {};
433 var identifiers = [];
434 for (var i = 0; i < list.length; i++) {
435 var item = list[i];
436 var id = options.base ? item[0] + options.base : item[0];
437 var count = idCountMap[id] || 0;
438 var identifier = "".concat(id, " ").concat(count);
439 idCountMap[id] = count + 1;
440 var indexByIdentifier = getIndexByIdentifier(identifier);
441 var obj = {
442 css: item[1],
443 media: item[2],
444 sourceMap: item[3],
445 supports: item[4],
446 layer: item[5]
447 };
448 if (indexByIdentifier !== -1) {
449 stylesInDOM[indexByIdentifier].references++;
450 stylesInDOM[indexByIdentifier].updater(obj);
451 } else {
452 var updater = addElementStyle(obj, options);
453 options.byIndex = i;
454 stylesInDOM.splice(i, 0, {
455 identifier: identifier,
456 updater: updater,
457 references: 1
458 });
459 }
460 identifiers.push(identifier);
461 }
462 return identifiers;
463 }
464 function addElementStyle(obj, options) {
465 var api = options.domAPI(options);
466 api.update(obj);
467 var updater = function updater(newObj) {
468 if (newObj) {
469 if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {
470 return;
471 }
472 api.update(obj = newObj);
473 } else {
474 api.remove();
475 }
476 };
477 return updater;
478 }
479 module.exports = function (list, options) {
480 options = options || {};
481 list = list || [];
482 var lastIdentifiers = modulesToDom(list, options);
483 return function update(newList) {
484 newList = newList || [];
485 for (var i = 0; i < lastIdentifiers.length; i++) {
486 var identifier = lastIdentifiers[i];
487 var index = getIndexByIdentifier(identifier);
488 stylesInDOM[index].references--;
489 }
490 var newLastIdentifiers = modulesToDom(newList, options);
491 for (var _i = 0; _i < lastIdentifiers.length; _i++) {
492 var _identifier = lastIdentifiers[_i];
493 var _index = getIndexByIdentifier(_identifier);
494 if (stylesInDOM[_index].references === 0) {
495 stylesInDOM[_index].updater();
496 stylesInDOM.splice(_index, 1);
497 }
498 }
499 lastIdentifiers = newLastIdentifiers;
500 };
501 };
502
503 /***/ }),
504
505 /***/ "../../../../node_modules/style-loader/dist/runtime/insertBySelector.js":
506 /*!******************************************************************************!*\
507 !*** ../../../../node_modules/style-loader/dist/runtime/insertBySelector.js ***!
508 \******************************************************************************/
509 /***/ ((module) => {
510
511
512
513 var memo = {};
514
515 /* istanbul ignore next */
516 function getTarget(target) {
517 if (typeof memo[target] === "undefined") {
518 var styleTarget = document.querySelector(target);
519
520 // Special case to return head of iframe instead of iframe itself
521 if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
522 try {
523 // This will throw an exception if access to iframe is blocked
524 // due to cross-origin restrictions
525 styleTarget = styleTarget.contentDocument.head;
526 } catch (e) {
527 // istanbul ignore next
528 styleTarget = null;
529 }
530 }
531 memo[target] = styleTarget;
532 }
533 return memo[target];
534 }
535
536 /* istanbul ignore next */
537 function insertBySelector(insert, style) {
538 var target = getTarget(insert);
539 if (!target) {
540 throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
541 }
542 target.appendChild(style);
543 }
544 module.exports = insertBySelector;
545
546 /***/ }),
547
548 /***/ "../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js":
549 /*!********************************************************************************!*\
550 !*** ../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js ***!
551 \********************************************************************************/
552 /***/ ((module) => {
553
554
555
556 /* istanbul ignore next */
557 function insertStyleElement(options) {
558 var element = document.createElement("style");
559 options.setAttributes(element, options.attributes);
560 options.insert(element, options.options);
561 return element;
562 }
563 module.exports = insertStyleElement;
564
565 /***/ }),
566
567 /***/ "../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":
568 /*!********************************************************************************************!*\
569 !*** ../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js ***!
570 \********************************************************************************************/
571 /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
572
573
574
575 /* istanbul ignore next */
576 function setAttributesWithoutAttributes(styleElement) {
577 var nonce = true ? __webpack_require__.nc : 0;
578 if (nonce) {
579 styleElement.setAttribute("nonce", nonce);
580 }
581 }
582 module.exports = setAttributesWithoutAttributes;
583
584 /***/ }),
585
586 /***/ "../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js":
587 /*!*************************************************************************!*\
588 !*** ../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js ***!
589 \*************************************************************************/
590 /***/ ((module) => {
591
592
593
594 /* istanbul ignore next */
595 function apply(styleElement, options, obj) {
596 var css = "";
597 if (obj.supports) {
598 css += "@supports (".concat(obj.supports, ") {");
599 }
600 if (obj.media) {
601 css += "@media ".concat(obj.media, " {");
602 }
603 var needLayer = typeof obj.layer !== "undefined";
604 if (needLayer) {
605 css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {");
606 }
607 css += obj.css;
608 if (needLayer) {
609 css += "}";
610 }
611 if (obj.media) {
612 css += "}";
613 }
614 if (obj.supports) {
615 css += "}";
616 }
617 var sourceMap = obj.sourceMap;
618 if (sourceMap && typeof btoa !== "undefined") {
619 css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
620 }
621
622 // For old IE
623 /* istanbul ignore if */
624 options.styleTagTransform(css, styleElement, options.options);
625 }
626 function removeStyleElement(styleElement) {
627 // istanbul ignore if
628 if (styleElement.parentNode === null) {
629 return false;
630 }
631 styleElement.parentNode.removeChild(styleElement);
632 }
633
634 /* istanbul ignore next */
635 function domAPI(options) {
636 if (typeof document === "undefined") {
637 return {
638 update: function update() {},
639 remove: function remove() {}
640 };
641 }
642 var styleElement = options.insertStyleElement(options);
643 return {
644 update: function update(obj) {
645 apply(styleElement, options, obj);
646 },
647 remove: function remove() {
648 removeStyleElement(styleElement);
649 }
650 };
651 }
652 module.exports = domAPI;
653
654 /***/ }),
655
656 /***/ "../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js":
657 /*!*******************************************************************************!*\
658 !*** ../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js ***!
659 \*******************************************************************************/
660 /***/ ((module) => {
661
662
663
664 /* istanbul ignore next */
665 function styleTagTransform(css, styleElement) {
666 if (styleElement.styleSheet) {
667 styleElement.styleSheet.cssText = css;
668 } else {
669 while (styleElement.firstChild) {
670 styleElement.removeChild(styleElement.firstChild);
671 }
672 styleElement.appendChild(document.createTextNode(css));
673 }
674 }
675 module.exports = styleTagTransform;
676
677 /***/ }),
678
679 /***/ "./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx":
680 /*!***********************************************************!*\
681 !*** ./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx ***!
682 \***********************************************************/
683 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
684
685 __webpack_require__.r(__webpack_exports__);
686 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
687 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
688 /* harmony export */ });
689 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
690 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
691 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
692 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__);
693 /* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/icons */ "../../../../node_modules/@wordpress/icons/build-module/library/copy-small.js");
694 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
695 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
696 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
697 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__);
698 /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/compose */ "@wordpress/compose");
699 /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__);
700 /* harmony import */ var _useShortcodeArgumentsString__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./useShortcodeArgumentsString */ "./blockEditor/shortcodeBuilder/useShortcodeArgumentsString.js");
701 /* harmony import */ var _linaria_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @linaria/react */ "../../../../node_modules/@linaria/react/dist/index.mjs");
702 /* harmony import */ var jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! jet-form-builder-use-form */ "jet-form-builder-use-form");
703 /* harmony import */ var jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_6__);
704
705
706
707
708
709
710
711
712
713 const ShortCode = /*#__PURE__*/(0,_linaria_react__WEBPACK_IMPORTED_MODULE_7__.styled)('code')({
714 name: "ShortCode",
715 class: "s1vim7hv",
716 propsAsIs: false
717 });
718 function ShortcodeBuilder({
719 name
720 }) {
721 const [settings, updateSettings] = (0,jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_6__.usePluginUseSettings)();
722 const isActive = name === settings.builder;
723 const shortcodeArgs = (0,_useShortcodeArgumentsString__WEBPACK_IMPORTED_MODULE_5__["default"])();
724 const shortcode = `[jet_fb_form ${shortcodeArgs}]`;
725 const {
726 createNotice
727 } = (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.useDispatch)('core/notices');
728 const copyButtonRef = (0,_wordpress_compose__WEBPACK_IMPORTED_MODULE_4__.useCopyToClipboard)(shortcode, () => {
729 createNotice('info', (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Copied shortcode to clipboard.', 'jet-form-builder'), {
730 isDismissible: true,
731 type: 'snackbar'
732 });
733 });
734 return (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(react__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Button, {
735 onClick: () => updateSettings({
736 builder: name
737 }),
738 icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_8__["default"],
739 variant: isActive ? 'primary' : 'secondary'
740 }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Shortcode to use anywhere', 'jet-form-builder')), isActive && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_6__.BuilderHelpSlotFill.Fill, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_6__.Description, null, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("b", null, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Copy the shortcode and paste it where you need on the selected page:', 'jet-form-builder'))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Flex, {
741 justify: "flex-start"
742 }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(ShortCode, null, shortcode), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Button, {
743 ref: copyButtonRef,
744 variant: "secondary"
745 }, (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Copy', 'jet-form-builder')))));
746 }
747 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ShortcodeBuilder);
748 __webpack_require__(/*! ./ShortcodeBuilder.wyw-in-js.css!=!../../../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./ShortcodeBuilder.jsx */ "./blockEditor/shortcodeBuilder/ShortcodeBuilder.wyw-in-js.css!=!../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx");
749
750 /***/ }),
751
752 /***/ "./blockEditor/shortcodeBuilder/ShortcodeBuilder.wyw-in-js.css!=!../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx":
753 /*!********************************************************************************************************************************************************************************************************************!*\
754 !*** ./blockEditor/shortcodeBuilder/ShortcodeBuilder.wyw-in-js.css!=!../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx ***!
755 \********************************************************************************************************************************************************************************************************************/
756 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
757
758 __webpack_require__.r(__webpack_exports__);
759 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
760 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
761 /* harmony export */ });
762 /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js");
763 /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
764 /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js */ "../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js");
765 /* harmony import */ var _node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1__);
766 /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js */ "../../../../node_modules/style-loader/dist/runtime/insertBySelector.js");
767 /* harmony import */ var _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2__);
768 /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js */ "../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js");
769 /* harmony import */ var _node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3__);
770 /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js */ "../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js");
771 /* harmony import */ var _node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4__);
772 /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js */ "../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js");
773 /* harmony import */ var _node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5__);
774 /* harmony import */ var _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_node_modules_wyw_in_js_webpack_loader_lib_outputCssLoader_js_cacheProvider_ShortcodeBuilder_jsx__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! !!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/postcss-loader/dist/cjs.js!../../../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./ShortcodeBuilder.jsx */ "../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/postcss-loader/dist/cjs.js!../../../../node_modules/@wyw-in-js/webpack-loader/lib/outputCssLoader.js?cacheProvider=!./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx");
775
776
777
778
779
780
781
782
783
784
785
786 var options = {};
787
788 options.styleTagTransform = (_node_modules_style_loader_dist_runtime_styleTagTransform_js__WEBPACK_IMPORTED_MODULE_5___default());
789 options.setAttributes = (_node_modules_style_loader_dist_runtime_setAttributesWithoutAttributes_js__WEBPACK_IMPORTED_MODULE_3___default());
790
791 options.insert = _node_modules_style_loader_dist_runtime_insertBySelector_js__WEBPACK_IMPORTED_MODULE_2___default().bind(null, "head");
792
793 options.domAPI = (_node_modules_style_loader_dist_runtime_styleDomAPI_js__WEBPACK_IMPORTED_MODULE_1___default());
794 options.insertStyleElement = (_node_modules_style_loader_dist_runtime_insertStyleElement_js__WEBPACK_IMPORTED_MODULE_4___default());
795
796 var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_node_modules_wyw_in_js_webpack_loader_lib_outputCssLoader_js_cacheProvider_ShortcodeBuilder_jsx__WEBPACK_IMPORTED_MODULE_6__["default"], options);
797
798
799
800
801 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_node_modules_wyw_in_js_webpack_loader_lib_outputCssLoader_js_cacheProvider_ShortcodeBuilder_jsx__WEBPACK_IMPORTED_MODULE_6__["default"] && _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_node_modules_wyw_in_js_webpack_loader_lib_outputCssLoader_js_cacheProvider_ShortcodeBuilder_jsx__WEBPACK_IMPORTED_MODULE_6__["default"].locals ? _node_modules_css_loader_dist_cjs_js_node_modules_postcss_loader_dist_cjs_js_node_modules_wyw_in_js_webpack_loader_lib_outputCssLoader_js_cacheProvider_ShortcodeBuilder_jsx__WEBPACK_IMPORTED_MODULE_6__["default"].locals : undefined);
802
803
804 /***/ }),
805
806 /***/ "./blockEditor/shortcodeBuilder/index.js":
807 /*!***********************************************!*\
808 !*** ./blockEditor/shortcodeBuilder/index.js ***!
809 \***********************************************/
810 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
811
812 __webpack_require__.r(__webpack_exports__);
813 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
814 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
815 /* harmony export */ });
816 /* harmony import */ var _ShortcodeBuilder__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ShortcodeBuilder */ "./blockEditor/shortcodeBuilder/ShortcodeBuilder.jsx");
817
818 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
819 name: 'shortcode',
820 view: _ShortcodeBuilder__WEBPACK_IMPORTED_MODULE_0__["default"]
821 });
822
823 /***/ }),
824
825 /***/ "./blockEditor/shortcodeBuilder/useShortcodeArgumentsString.js":
826 /*!*********************************************************************!*\
827 !*** ./blockEditor/shortcodeBuilder/useShortcodeArgumentsString.js ***!
828 \*********************************************************************/
829 /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
830
831 __webpack_require__.r(__webpack_exports__);
832 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
833 /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
834 /* harmony export */ });
835 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
836 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
837 /* harmony import */ var jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! jet-form-builder-use-form */ "jet-form-builder-use-form");
838 /* harmony import */ var jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_1__);
839
840
841 function useShortcodeArgumentsString() {
842 var _args$submit_type, _args$required_mark, _args$fields_layout, _args$fields_label_ta, _args$enable_progress, _args$clear;
843 const {
844 formId,
845 args
846 } = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useContext)(jet_form_builder_use_form__WEBPACK_IMPORTED_MODULE_1__.FormAttributesContext);
847 const preparedArgs = Object.entries({
848 form_id: formId,
849 submit_type: (_args$submit_type = args?.submit_type) !== null && _args$submit_type !== void 0 ? _args$submit_type : 'reload',
850 required_mark: (_args$required_mark = args?.required_mark) !== null && _args$required_mark !== void 0 ? _args$required_mark : '*',
851 fields_layout: (_args$fields_layout = args?.fields_layout) !== null && _args$fields_layout !== void 0 ? _args$fields_layout : 'column',
852 fields_label_tag: (_args$fields_label_ta = args?.fields_label_tag) !== null && _args$fields_label_ta !== void 0 ? _args$fields_label_ta : 'div',
853 enable_progress: Number((_args$enable_progress = args?.enable_progress) !== null && _args$enable_progress !== void 0 ? _args$enable_progress : ''),
854 clear: Number((_args$clear = args?.clear) !== null && _args$clear !== void 0 ? _args$clear : '')
855 });
856 return preparedArgs.map(([argName, argValue]) => argName + '="' + argValue + '"').join(' ');
857 }
858 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (useShortcodeArgumentsString);
859
860 /***/ }),
861
862 /***/ "@wordpress/components":
863 /*!************************************!*\
864 !*** external ["wp","components"] ***!
865 \************************************/
866 /***/ ((module) => {
867
868 module.exports = window["wp"]["components"];
869
870 /***/ }),
871
872 /***/ "@wordpress/compose":
873 /*!*********************************!*\
874 !*** external ["wp","compose"] ***!
875 \*********************************/
876 /***/ ((module) => {
877
878 module.exports = window["wp"]["compose"];
879
880 /***/ }),
881
882 /***/ "@wordpress/data":
883 /*!******************************!*\
884 !*** external ["wp","data"] ***!
885 \******************************/
886 /***/ ((module) => {
887
888 module.exports = window["wp"]["data"];
889
890 /***/ }),
891
892 /***/ "@wordpress/element":
893 /*!*********************************!*\
894 !*** external ["wp","element"] ***!
895 \*********************************/
896 /***/ ((module) => {
897
898 module.exports = window["wp"]["element"];
899
900 /***/ }),
901
902 /***/ "@wordpress/i18n":
903 /*!******************************!*\
904 !*** external ["wp","i18n"] ***!
905 \******************************/
906 /***/ ((module) => {
907
908 module.exports = window["wp"]["i18n"];
909
910 /***/ }),
911
912 /***/ "@wordpress/primitives":
913 /*!************************************!*\
914 !*** external ["wp","primitives"] ***!
915 \************************************/
916 /***/ ((module) => {
917
918 module.exports = window["wp"]["primitives"];
919
920 /***/ }),
921
922 /***/ "jet-form-builder-use-form":
923 /*!**********************************!*\
924 !*** external ["jfb","useForm"] ***!
925 \**********************************/
926 /***/ ((module) => {
927
928 module.exports = window["jfb"]["useForm"];
929
930 /***/ }),
931
932 /***/ "react":
933 /*!************************!*\
934 !*** external "React" ***!
935 \************************/
936 /***/ ((module) => {
937
938 module.exports = window["React"];
939
940 /***/ })
941
942 /******/ });
943 /************************************************************************/
944 /******/ // The module cache
945 /******/ var __webpack_module_cache__ = {};
946 /******/
947 /******/ // The require function
948 /******/ function __webpack_require__(moduleId) {
949 /******/ // Check if module is in cache
950 /******/ var cachedModule = __webpack_module_cache__[moduleId];
951 /******/ if (cachedModule !== undefined) {
952 /******/ return cachedModule.exports;
953 /******/ }
954 /******/ // Create a new module (and put it into the cache)
955 /******/ var module = __webpack_module_cache__[moduleId] = {
956 /******/ id: moduleId,
957 /******/ // no module.loaded needed
958 /******/ exports: {}
959 /******/ };
960 /******/
961 /******/ // Execute the module function
962 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
963 /******/
964 /******/ // Return the exports of the module
965 /******/ return module.exports;
966 /******/ }
967 /******/
968 /************************************************************************/
969 /******/ /* webpack/runtime/compat get default export */
970 /******/ (() => {
971 /******/ // getDefaultExport function for compatibility with non-harmony modules
972 /******/ __webpack_require__.n = (module) => {
973 /******/ var getter = module && module.__esModule ?
974 /******/ () => (module['default']) :
975 /******/ () => (module);
976 /******/ __webpack_require__.d(getter, { a: getter });
977 /******/ return getter;
978 /******/ };
979 /******/ })();
980 /******/
981 /******/ /* webpack/runtime/define property getters */
982 /******/ (() => {
983 /******/ // define getter functions for harmony exports
984 /******/ __webpack_require__.d = (exports, definition) => {
985 /******/ for(var key in definition) {
986 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
987 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
988 /******/ }
989 /******/ }
990 /******/ };
991 /******/ })();
992 /******/
993 /******/ /* webpack/runtime/hasOwnProperty shorthand */
994 /******/ (() => {
995 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
996 /******/ })();
997 /******/
998 /******/ /* webpack/runtime/make namespace object */
999 /******/ (() => {
1000 /******/ // define __esModule on exports
1001 /******/ __webpack_require__.r = (exports) => {
1002 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
1003 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1004 /******/ }
1005 /******/ Object.defineProperty(exports, '__esModule', { value: true });
1006 /******/ };
1007 /******/ })();
1008 /******/
1009 /******/ /* webpack/runtime/nonce */
1010 /******/ (() => {
1011 /******/ __webpack_require__.nc = undefined;
1012 /******/ })();
1013 /******/
1014 /************************************************************************/
1015 var __webpack_exports__ = {};
1016 // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
1017 (() => {
1018 /*!******************************!*\
1019 !*** ./blockEditor/index.js ***!
1020 \******************************/
1021 __webpack_require__.r(__webpack_exports__);
1022 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
1023 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__);
1024 /* harmony import */ var _shortcodeBuilder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shortcodeBuilder */ "./blockEditor/shortcodeBuilder/index.js");
1025
1026
1027 (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_0__.dispatch)('jet-forms/use-form').registerBuilders([_shortcodeBuilder__WEBPACK_IMPORTED_MODULE_1__["default"]]);
1028 })();
1029
1030 /******/ })()
1031 ;
1032 //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2suZWRpdG9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7OztBQzFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNqSEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FDUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUNwRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUNuRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUNqQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUNUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7OztBQ1RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7O0FDNURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQWdCQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBTUE7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzVFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDTEE7QUFDQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBS0E7QUFFQTs7Ozs7Ozs7OztBQ3ZCQTs7Ozs7Ozs7OztBQ0FBOzs7Ozs7Ozs7O0FDQUE7Ozs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7OztBQ0FBOzs7Ozs7Ozs7O0FDQUE7Ozs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7OztBQ0FBOzs7Ozs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUN2QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQ1BBOzs7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQ05BOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQ0E7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL2lzLXByb3AtdmFsaWQvZGlzdC9lbW90aW9uLWlzLXByb3AtdmFsaWQuZXNtLmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BlbW90aW9uL21lbW9pemUvZGlzdC9lbW90aW9uLW1lbW9pemUuZXNtLmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BsaW5hcmlhL2NvcmUvZGlzdC9pbmRleC5tanMiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGxpbmFyaWEvcmVhY3QvZGlzdC9pbmRleC5tanMiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQHdvcmRwcmVzcy9pY29ucy9idWlsZC1tb2R1bGUvbGlicmFyeS9jb3B5LXNtYWxsLmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi9ibG9ja0VkaXRvci9zaG9ydGNvZGVCdWlsZGVyL1Nob3J0Y29kZUJ1aWxkZXIuanN4P2YwYmMiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL3NvdXJjZU1hcHMuanMiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbmplY3RTdHlsZXNJbnRvU3R5bGVUYWcuanMiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9pbnNlcnRCeVNlbGVjdG9yLmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanMiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2Rpc3QvcnVudGltZS9zdHlsZVRhZ1RyYW5zZm9ybS5qcyIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlLy4vYmxvY2tFZGl0b3Ivc2hvcnRjb2RlQnVpbGRlci9TaG9ydGNvZGVCdWlsZGVyLmpzeCIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlLy4vYmxvY2tFZGl0b3Ivc2hvcnRjb2RlQnVpbGRlci9TaG9ydGNvZGVCdWlsZGVyLmpzeD83MWNjIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi9ibG9ja0VkaXRvci9zaG9ydGNvZGVCdWlsZGVyL2luZGV4LmpzIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi9ibG9ja0VkaXRvci9zaG9ydGNvZGVCdWlsZGVyL3VzZVNob3J0Y29kZUFyZ3VtZW50c1N0cmluZy5qcyIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL2V4dGVybmFsIHdpbmRvdyBbXCJ3cFwiLFwiY29tcG9uZW50c1wiXSIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL2V4dGVybmFsIHdpbmRvdyBbXCJ3cFwiLFwiY29tcG9zZVwiXSIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL2V4dGVybmFsIHdpbmRvdyBbXCJ3cFwiLFwiZGF0YVwiXSIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL2V4dGVybmFsIHdpbmRvdyBbXCJ3cFwiLFwiZWxlbWVudFwiXSIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL2V4dGVybmFsIHdpbmRvdyBbXCJ3cFwiLFwiaTE4blwiXSIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL2V4dGVybmFsIHdpbmRvdyBbXCJ3cFwiLFwicHJpbWl0aXZlc1wiXSIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL2V4dGVybmFsIHdpbmRvdyBbXCJqZmJcIixcInVzZUZvcm1cIl0iLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS9leHRlcm5hbCB3aW5kb3cgXCJSZWFjdFwiIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS93ZWJwYWNrL3J1bnRpbWUvY29tcGF0IGdldCBkZWZhdWx0IGV4cG9ydCIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9qZmItc2hvcnRjb2RlL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vamZiLXNob3J0Y29kZS93ZWJwYWNrL3J1bnRpbWUvbWFrZSBuYW1lc3BhY2Ugb2JqZWN0Iiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvd2VicGFjay9ydW50aW1lL25vbmNlIiwid2VicGFjazovL2pmYi1zaG9ydGNvZGUvLi9ibG9ja0VkaXRvci9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWVtb2l6ZSBmcm9tICdAZW1vdGlvbi9tZW1vaXplJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG52YXIgcmVhY3RQcm9wc1JlZ2V4ID0gL14oKGNoaWxkcmVufGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MfGtleXxyZWZ8YXV0b0ZvY3VzfGRlZmF1bHRWYWx1ZXxkZWZhdWx0Q2hlY2tlZHxpbm5lckhUTUx8c3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nfHN1cHByZXNzSHlkcmF0aW9uV2FybmluZ3x2YWx1ZUxpbmt8YWJicnxhY2NlcHR8YWNjZXB0Q2hhcnNldHxhY2Nlc3NLZXl8YWN0aW9ufGFsbG93fGFsbG93VXNlck1lZGlhfGFsbG93UGF5bWVudFJlcXVlc3R8YWxsb3dGdWxsU2NyZWVufGFsbG93VHJhbnNwYXJlbmN5fGFsdHxhc3luY3xhdXRvQ29tcGxldGV8YXV0b1BsYXl8Y2FwdHVyZXxjZWxsUGFkZGluZ3xjZWxsU3BhY2luZ3xjaGFsbGVuZ2V8Y2hhclNldHxjaGVja2VkfGNpdGV8Y2xhc3NJRHxjbGFzc05hbWV8Y29sc3xjb2xTcGFufGNvbnRlbnR8Y29udGVudEVkaXRhYmxlfGNvbnRleHRNZW51fGNvbnRyb2xzfGNvbnRyb2xzTGlzdHxjb29yZHN8Y3Jvc3NPcmlnaW58ZGF0YXxkYXRlVGltZXxkZWNvZGluZ3xkZWZhdWx0fGRlZmVyfGRpcnxkaXNhYmxlZHxkaXNhYmxlUGljdHVyZUluUGljdHVyZXxkaXNhYmxlUmVtb3RlUGxheWJhY2t8ZG93bmxvYWR8ZHJhZ2dhYmxlfGVuY1R5cGV8ZW50ZXJLZXlIaW50fGZldGNocHJpb3JpdHl8ZmV0Y2hQcmlvcml0eXxmb3JtfGZvcm1BY3Rpb258Zm9ybUVuY1R5cGV8Zm9ybU1ldGhvZHxmb3JtTm9WYWxpZGF0ZXxmb3JtVGFyZ2V0fGZyYW1lQm9yZGVyfGhlYWRlcnN8aGVpZ2h0fGhpZGRlbnxoaWdofGhyZWZ8aHJlZkxhbmd8aHRtbEZvcnxodHRwRXF1aXZ8aWR8aW5wdXRNb2RlfGludGVncml0eXxpc3xrZXlQYXJhbXN8a2V5VHlwZXxraW5kfGxhYmVsfGxhbmd8bGlzdHxsb2FkaW5nfGxvb3B8bG93fG1hcmdpbkhlaWdodHxtYXJnaW5XaWR0aHxtYXh8bWF4TGVuZ3RofG1lZGlhfG1lZGlhR3JvdXB8bWV0aG9kfG1pbnxtaW5MZW5ndGh8bXVsdGlwbGV8bXV0ZWR8bmFtZXxub25jZXxub1ZhbGlkYXRlfG9wZW58b3B0aW11bXxwYXR0ZXJufHBsYWNlaG9sZGVyfHBsYXlzSW5saW5lfHBvc3RlcnxwcmVsb2FkfHByb2ZpbGV8cmFkaW9Hcm91cHxyZWFkT25seXxyZWZlcnJlclBvbGljeXxyZWx8cmVxdWlyZWR8cmV2ZXJzZWR8cm9sZXxyb3dzfHJvd1NwYW58c2FuZGJveHxzY29wZXxzY29wZWR8c2Nyb2xsaW5nfHNlYW1sZXNzfHNlbGVjdGVkfHNoYXBlfHNpemV8c2l6ZXN8c2xvdHxzcGFufHNwZWxsQ2hlY2t8c3JjfHNyY0RvY3xzcmNMYW5nfHNyY1NldHxzdGFydHxzdGVwfHN0eWxlfHN1bW1hcnl8dGFiSW5kZXh8dGFyZ2V0fHRpdGxlfHRyYW5zbGF0ZXx0eXBlfHVzZU1hcHx2YWx1ZXx3aWR0aHx3bW9kZXx3cmFwfGFib3V0fGRhdGF0eXBlfGlubGlzdHxwcmVmaXh8cHJvcGVydHl8cmVzb3VyY2V8dHlwZW9mfHZvY2FifGF1dG9DYXBpdGFsaXplfGF1dG9Db3JyZWN0fGF1dG9TYXZlfGNvbG9yfGluY3JlbWVudGFsfGZhbGxiYWNrfGluZXJ0fGl0ZW1Qcm9wfGl0ZW1TY29wZXxpdGVtVHlwZXxpdGVtSUR8aXRlbVJlZnxvbnxvcHRpb258cmVzdWx0c3xzZWN1cml0eXx1bnNlbGVjdGFibGV8YWNjZW50SGVpZ2h0fGFjY3VtdWxhdGV8YWRkaXRpdmV8YWxpZ25tZW50QmFzZWxpbmV8YWxsb3dSZW9yZGVyfGFscGhhYmV0aWN8YW1wbGl0dWRlfGFyYWJpY0Zvcm18YXNjZW50fGF0dHJpYnV0ZU5hbWV8YXR0cmlidXRlVHlwZXxhdXRvUmV2ZXJzZXxhemltdXRofGJhc2VGcmVxdWVuY3l8YmFzZWxpbmVTaGlmdHxiYXNlUHJvZmlsZXxiYm94fGJlZ2lufGJpYXN8Ynl8Y2FsY01vZGV8Y2FwSGVpZ2h0fGNsaXB8Y2xpcFBhdGhVbml0c3xjbGlwUGF0aHxjbGlwUnVsZXxjb2xvckludGVycG9sYXRpb258Y29sb3JJbnRlcnBvbGF0aW9uRmlsdGVyc3xjb2xvclByb2ZpbGV8Y29sb3JSZW5kZXJpbmd8Y29udGVudFNjcmlwdFR5cGV8Y29udGVudFN0eWxlVHlwZXxjdXJzb3J8Y3h8Y3l8ZHxkZWNlbGVyYXRlfGRlc2NlbnR8ZGlmZnVzZUNvbnN0YW50fGRpcmVjdGlvbnxkaXNwbGF5fGRpdmlzb3J8ZG9taW5hbnRCYXNlbGluZXxkdXJ8ZHh8ZHl8ZWRnZU1vZGV8ZWxldmF0aW9ufGVuYWJsZUJhY2tncm91bmR8ZW5kfGV4cG9uZW50fGV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWR8ZmlsbHxmaWxsT3BhY2l0eXxmaWxsUnVsZXxmaWx0ZXJ8ZmlsdGVyUmVzfGZpbHRlclVuaXRzfGZsb29kQ29sb3J8Zmxvb2RPcGFjaXR5fGZvY3VzYWJsZXxmb250RmFtaWx5fGZvbnRTaXplfGZvbnRTaXplQWRqdXN0fGZvbnRTdHJldGNofGZvbnRTdHlsZXxmb250VmFyaWFudHxmb250V2VpZ2h0fGZvcm1hdHxmcm9tfGZyfGZ4fGZ5fGcxfGcyfGdseXBoTmFtZXxnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbHxnbHlwaE9yaWVudGF0aW9uVmVydGljYWx8Z2x5cGhSZWZ8Z3JhZGllbnRUcmFuc2Zvcm18Z3JhZGllbnRVbml0c3xoYW5naW5nfGhvcml6QWR2WHxob3Jpek9yaWdpblh8aWRlb2dyYXBoaWN8aW1hZ2VSZW5kZXJpbmd8aW58aW4yfGludGVyY2VwdHxrfGsxfGsyfGszfGs0fGtlcm5lbE1hdHJpeHxrZXJuZWxVbml0TGVuZ3RofGtlcm5pbmd8a2V5UG9pbnRzfGtleVNwbGluZXN8a2V5VGltZXN8bGVuZ3RoQWRqdXN0fGxldHRlclNwYWNpbmd8bGlnaHRpbmdDb2xvcnxsaW1pdGluZ0NvbmVBbmdsZXxsb2NhbHxtYXJrZXJFbmR8bWFya2VyTWlkfG1hcmtlclN0YXJ0fG1hcmtlckhlaWdodHxtYXJrZXJVbml0c3xtYXJrZXJXaWR0aHxtYXNrfG1hc2tDb250ZW50VW5pdHN8bWFza1VuaXRzfG1hdGhlbWF0aWNhbHxtb2RlfG51bU9jdGF2ZXN8b2Zmc2V0fG9wYWNpdHl8b3BlcmF0b3J8b3JkZXJ8b3JpZW50fG9yaWVudGF0aW9ufG9yaWdpbnxvdmVyZmxvd3xvdmVybGluZVBvc2l0aW9ufG92ZXJsaW5lVGhpY2tuZXNzfHBhbm9zZTF8cGFpbnRPcmRlcnxwYXRoTGVuZ3RofHBhdHRlcm5Db250ZW50VW5pdHN8cGF0dGVyblRyYW5zZm9ybXxwYXR0ZXJuVW5pdHN8cG9pbnRlckV2ZW50c3xwb2ludHN8cG9pbnRzQXRYfHBvaW50c0F0WXxwb2ludHNBdFp8cHJlc2VydmVBbHBoYXxwcmVzZXJ2ZUFzcGVjdFJhdGlvfHByaW1pdGl2ZVVuaXRzfHJ8cmFkaXVzfHJlZlh8cmVmWXxyZW5kZXJpbmdJbnRlbnR8cmVwZWF0Q291bnR8cmVwZWF0RHVyfHJlcXVpcmVkRXh0ZW5zaW9uc3xyZXF1aXJlZEZlYXR1cmVzfHJlc3RhcnR8cmVzdWx0fHJvdGF0ZXxyeHxyeXxzY2FsZXxzZWVkfHNoYXBlUmVuZGVyaW5nfHNsb3BlfHNwYWNpbmd8c3BlY3VsYXJDb25zdGFudHxzcGVjdWxhckV4cG9uZW50fHNwZWVkfHNwcmVhZE1ldGhvZHxzdGFydE9mZnNldHxzdGREZXZpYXRpb258c3RlbWh8c3RlbXZ8c3RpdGNoVGlsZXN8c3RvcENvbG9yfHN0b3BPcGFjaXR5fHN0cmlrZXRocm91Z2hQb3NpdGlvbnxzdHJpa2V0aHJvdWdoVGhpY2tuZXNzfHN0cmluZ3xzdHJva2V8c3Ryb2tlRGFzaGFycmF5fHN0cm9rZURhc2hvZmZzZXR8c3Ryb2tlTGluZWNhcHxzdHJva2VMaW5lam9pbnxzdHJva2VNaXRlcmxpbWl0fHN0cm9rZU9wYWNpdHl8c3Ryb2tlV2lkdGh8c3VyZmFjZVNjYWxlfHN5c3RlbUxhbmd1YWdlfHRhYmxlVmFsdWVzfHRhcmdldFh8dGFyZ2V0WXx0ZXh0QW5jaG9yfHRleHREZWNvcmF0aW9ufHRleHRSZW5kZXJpbmd8dGV4dExlbmd0aHx0b3x0cmFuc2Zvcm18dTF8dTJ8dW5kZXJsaW5lUG9zaXRpb258dW5kZXJsaW5lVGhpY2tuZXNzfHVuaWNvZGV8dW5pY29kZUJpZGl8dW5pY29kZVJhbmdlfHVuaXRzUGVyRW18dkFscGhhYmV0aWN8dkhhbmdpbmd8dklkZW9ncmFwaGljfHZNYXRoZW1hdGljYWx8dmFsdWVzfHZlY3RvckVmZmVjdHx2ZXJzaW9ufHZlcnRBZHZZfHZlcnRPcmlnaW5YfHZlcnRPcmlnaW5ZfHZpZXdCb3h8dmlld1RhcmdldHx2aXNpYmlsaXR5fHdpZHRoc3x3b3JkU3BhY2luZ3x3cml0aW5nTW9kZXx4fHhIZWlnaHR8eDF8eDJ8eENoYW5uZWxTZWxlY3Rvcnx4bGlua0FjdHVhdGV8eGxpbmtBcmNyb2xlfHhsaW5rSHJlZnx4bGlua1JvbGV8eGxpbmtTaG93fHhsaW5rVGl0bGV8eGxpbmtUeXBlfHhtbEJhc2V8eG1sbnN8eG1sbnNYbGlua3x4bWxMYW5nfHhtbFNwYWNlfHl8eTF8eTJ8eUNoYW5uZWxTZWxlY3Rvcnx6fHpvb21BbmRQYW58Zm9yfGNsYXNzfGF1dG9mb2N1cyl8KChbRGRdW0FhXVtUdF1bQWFdfFtBYV1bUnJdW0lpXVtBYV18eCktLiopKSQvOyAvLyBodHRwczovL2VzYmVuY2guY29tL2JlbmNoLzViZmVlNjhhNGNkN2U2MDA5ZWY2MWQyM1xuXG52YXIgaXNQcm9wVmFsaWQgPSAvKiAjX19QVVJFX18gKi9tZW1vaXplKGZ1bmN0aW9uIChwcm9wKSB7XG4gIHJldHVybiByZWFjdFByb3BzUmVnZXgudGVzdChwcm9wKSB8fCBwcm9wLmNoYXJDb2RlQXQoMCkgPT09IDExMVxuICAvKiBvICovXG4gICYmIHByb3AuY2hhckNvZGVBdCgxKSA9PT0gMTEwXG4gIC8qIG4gKi9cbiAgJiYgcHJvcC5jaGFyQ29kZUF0KDIpIDwgOTE7XG59XG4vKiBaKzEgKi9cbik7XG5cbmV4cG9ydCB7IGlzUHJvcFZhbGlkIGFzIGRlZmF1bHQgfTtcbiIsImZ1bmN0aW9uIG1lbW9pemUoZm4pIHtcbiAgdmFyIGNhY2hlID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIChhcmcpIHtcbiAgICBpZiAoY2FjaGVbYXJnXSA9PT0gdW5kZWZpbmVkKSBjYWNoZVthcmddID0gZm4oYXJnKTtcbiAgICByZXR1cm4gY2FjaGVbYXJnXTtcbiAgfTtcbn1cblxuZXhwb3J0IHsgbWVtb2l6ZSBhcyBkZWZhdWx0IH07XG4iLCIvLyBzcmMvY3NzLnRzXG52YXIgaWR4ID0gMDtcbnZhciBjc3MgPSAoKSA9PiB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJ0ZXN0XCIpIHtcbiAgICByZXR1cm4gYG1vY2tlZC1jc3MtJHtpZHgrK31gO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICAnVXNpbmcgdGhlIFwiY3NzXCIgdGFnIGluIHJ1bnRpbWUgaXMgbm90IHN1cHBvcnRlZC4gTWFrZSBzdXJlIHlvdSBoYXZlIHNldCB1cCB0aGUgQmFiZWwgcGx1Z2luIGNvcnJlY3RseS4nXG4gICk7XG59O1xudmFyIGNzc19kZWZhdWx0ID0gY3NzO1xuXG4vLyBzcmMvY3gudHNcbnZhciBjeCA9IGZ1bmN0aW9uIGN4MigpIHtcbiAgY29uc3QgcHJlc2VudENsYXNzTmFtZXMgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLmZpbHRlcihCb29sZWFuKTtcbiAgY29uc3QgYXRvbWljQ2xhc3NlcyA9IHt9O1xuICBjb25zdCBub25BdG9taWNDbGFzc2VzID0gW107XG4gIHByZXNlbnRDbGFzc05hbWVzLmZvckVhY2goKGFyZykgPT4ge1xuICAgIGNvbnN0IGluZGl2aWR1YWxDbGFzc05hbWVzID0gYXJnID8gYXJnLnNwbGl0KFwiIFwiKSA6IFtdO1xuICAgIGluZGl2aWR1YWxDbGFzc05hbWVzLmZvckVhY2goKGNsYXNzTmFtZSkgPT4ge1xuICAgICAgaWYgKGNsYXNzTmFtZS5zdGFydHNXaXRoKFwiYXRtX1wiKSkge1xuICAgICAgICBjb25zdCBbLCBrZXlIYXNoXSA9IGNsYXNzTmFtZS5zcGxpdChcIl9cIik7XG4gICAgICAgIGF0b21pY0NsYXNzZXNba2V5SGFzaF0gPSBjbGFzc05hbWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub25BdG9taWNDbGFzc2VzLnB1c2goY2xhc3NOYW1lKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG4gIGNvbnN0IHJlc3VsdCA9IFtdO1xuICBmb3IgKGNvbnN0IGtleUhhc2ggaW4gYXRvbWljQ2xhc3Nlcykge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYXRvbWljQ2xhc3Nlcywga2V5SGFzaCkpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGF0b21pY0NsYXNzZXNba2V5SGFzaF0pO1xuICAgIH1cbiAgfVxuICByZXN1bHQucHVzaCguLi5ub25BdG9taWNDbGFzc2VzKTtcbiAgcmV0dXJuIHJlc3VsdC5qb2luKFwiIFwiKTtcbn07XG52YXIgY3hfZGVmYXVsdCA9IGN4O1xuZXhwb3J0IHtcbiAgY3NzX2RlZmF1bHQgYXMgY3NzLFxuICBjeF9kZWZhdWx0IGFzIGN4XG59O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXgubWpzLm1hcCIsIi8vIHNyYy9zdHlsZWQudHNcbmltcG9ydCB2YWxpZEF0dHIgZnJvbSBcIkBlbW90aW9uL2lzLXByb3AtdmFsaWRcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGN4IH0gZnJvbSBcIkBsaW5hcmlhL2NvcmVcIjtcbnZhciBpc0NhcGl0YWwgPSAoY2gpID0+IGNoLnRvVXBwZXJDYXNlKCkgPT09IGNoO1xudmFyIGZpbHRlcktleSA9IChrZXlzKSA9PiAoa2V5KSA9PiBrZXlzLmluZGV4T2Yoa2V5KSA9PT0gLTE7XG52YXIgb21pdCA9IChvYmosIGtleXMpID0+IHtcbiAgY29uc3QgcmVzID0ge307XG4gIE9iamVjdC5rZXlzKG9iaikuZmlsdGVyKGZpbHRlcktleShrZXlzKSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgcmVzW2tleV0gPSBvYmpba2V5XTtcbiAgfSk7XG4gIHJldHVybiByZXM7XG59O1xuZnVuY3Rpb24gZmlsdGVyUHJvcHMoYXNJcywgcHJvcHMsIG9taXRLZXlzKSB7XG4gIGNvbnN0IGZpbHRlcmVkUHJvcHMgPSBvbWl0KHByb3BzLCBvbWl0S2V5cyk7XG4gIGlmICghYXNJcykge1xuICAgIGNvbnN0IGludGVyb3BWYWxpZEF0dHIgPSB0eXBlb2YgdmFsaWRBdHRyID09PSBcImZ1bmN0aW9uXCIgPyB7IGRlZmF1bHQ6IHZhbGlkQXR0ciB9IDogdmFsaWRBdHRyO1xuICAgIE9iamVjdC5rZXlzKGZpbHRlcmVkUHJvcHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKCFpbnRlcm9wVmFsaWRBdHRyLmRlZmF1bHQoa2V5KSkge1xuICAgICAgICBkZWxldGUgZmlsdGVyZWRQcm9wc1trZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIHJldHVybiBmaWx0ZXJlZFByb3BzO1xufVxudmFyIHdhcm5JZkludmFsaWQgPSAodmFsdWUsIGNvbXBvbmVudE5hbWUpID0+IHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtY29tcGFyZSxuby1yZXN0cmljdGVkLWdsb2JhbHNcbiAgICB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIgJiYgaXNGaW5pdGUodmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHN0cmluZ2lmaWVkID0gdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogU3RyaW5nKHZhbHVlKTtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgQW4gaW50ZXJwb2xhdGlvbiBldmFsdWF0ZWQgdG8gJyR7c3RyaW5naWZpZWR9JyBpbiB0aGUgY29tcG9uZW50ICcke2NvbXBvbmVudE5hbWV9Jywgd2hpY2ggaXMgcHJvYmFibHkgYSBtaXN0YWtlLiBZb3Ugc2hvdWxkIGV4cGxpY2l0bHkgY2FzdCBvciB0cmFuc2Zvcm0gdGhlIHZhbHVlIHRvIGEgc3RyaW5nLmBcbiAgICApO1xuICB9XG59O1xudmFyIGlkeCA9IDA7XG5mdW5jdGlvbiBzdHlsZWQodGFnKSB7XG4gIGxldCBtb2NrZWRDbGFzcyA9IFwiXCI7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJ0ZXN0XCIpIHtcbiAgICBtb2NrZWRDbGFzcyArPSBgbW9ja2VkLXN0eWxlZC0ke2lkeCsrfWA7XG4gICAgaWYgKHRhZyAmJiB0YWcuX193eXdfbWV0YSAmJiB0YWcuX193eXdfbWV0YS5jbGFzc05hbWUpIHtcbiAgICAgIG1vY2tlZENsYXNzICs9IGAgJHt0YWcuX193eXdfbWV0YS5jbGFzc05hbWV9YDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIChvcHRpb25zKSA9PiB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiAmJiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJ0ZXN0XCIpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnVXNpbmcgdGhlIFwic3R5bGVkXCIgdGFnIGluIHJ1bnRpbWUgaXMgbm90IHN1cHBvcnRlZC4gTWFrZSBzdXJlIHlvdSBoYXZlIHNldCB1cCB0aGUgQmFiZWwgcGx1Z2luIGNvcnJlY3RseS4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWxsc3RhY2svbGluYXJpYSNzZXR1cCdcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmVuZGVyID0gKHByb3BzLCByZWYpID0+IHtcbiAgICAgIGNvbnN0IHsgYXM6IGNvbXBvbmVudCA9IHRhZywgY2xhc3M6IGNsYXNzTmFtZSA9IG1vY2tlZENsYXNzIH0gPSBwcm9wcztcbiAgICAgIGNvbnN0IHNob3VsZEtlZXBQcm9wcyA9IG9wdGlvbnMucHJvcHNBc0lzID09PSB2b2lkIDAgPyAhKHR5cGVvZiBjb21wb25lbnQgPT09IFwic3RyaW5nXCIgJiYgY29tcG9uZW50LmluZGV4T2YoXCItXCIpID09PSAtMSAmJiAhaXNDYXBpdGFsKGNvbXBvbmVudFswXSkpIDogb3B0aW9ucy5wcm9wc0FzSXM7XG4gICAgICBjb25zdCBmaWx0ZXJlZFByb3BzID0gZmlsdGVyUHJvcHMoc2hvdWxkS2VlcFByb3BzLCBwcm9wcywgW1xuICAgICAgICBcImFzXCIsXG4gICAgICAgIFwiY2xhc3NcIlxuICAgICAgXSk7XG4gICAgICBmaWx0ZXJlZFByb3BzLnJlZiA9IHJlZjtcbiAgICAgIGZpbHRlcmVkUHJvcHMuY2xhc3NOYW1lID0gb3B0aW9ucy5hdG9taWMgPyBjeChvcHRpb25zLmNsYXNzLCBmaWx0ZXJlZFByb3BzLmNsYXNzTmFtZSB8fCBjbGFzc05hbWUpIDogY3goZmlsdGVyZWRQcm9wcy5jbGFzc05hbWUgfHwgY2xhc3NOYW1lLCBvcHRpb25zLmNsYXNzKTtcbiAgICAgIGNvbnN0IHsgdmFycyB9ID0gb3B0aW9ucztcbiAgICAgIGlmICh2YXJzKSB7XG4gICAgICAgIGNvbnN0IHN0eWxlID0ge307XG4gICAgICAgIGZvciAoY29uc3QgbmFtZSBpbiB2YXJzKSB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGUgPSB2YXJzW25hbWVdO1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHZhcmlhYmxlWzBdO1xuICAgICAgICAgIGNvbnN0IHVuaXQgPSB2YXJpYWJsZVsxXSB8fCBcIlwiO1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIHJlc3VsdCA9PT0gXCJmdW5jdGlvblwiID8gcmVzdWx0KHByb3BzKSA6IHJlc3VsdDtcbiAgICAgICAgICB3YXJuSWZJbnZhbGlkKHZhbHVlLCBvcHRpb25zLm5hbWUpO1xuICAgICAgICAgIHN0eWxlW2AtLSR7bmFtZX1gXSA9IGAke3ZhbHVlfSR7dW5pdH1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG93blN0eWxlID0gZmlsdGVyZWRQcm9wcy5zdHlsZSB8fCB7fTtcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG93blN0eWxlKTtcbiAgICAgICAgaWYgKGtleXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBzdHlsZVtrZXldID0gb3duU3R5bGVba2V5XTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBmaWx0ZXJlZFByb3BzLnN0eWxlID0gc3R5bGU7XG4gICAgICB9XG4gICAgICBpZiAodGFnLl9fd3l3X21ldGEgJiYgdGFnICE9PSBjb21wb25lbnQpIHtcbiAgICAgICAgZmlsdGVyZWRQcm9wcy5hcyA9IGNvbXBvbmVudDtcbiAgICAgICAgcmV0dXJuIFJlYWN0LmNyZWF0ZUVsZW1lbnQodGFnLCBmaWx0ZXJlZFByb3BzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBSZWFjdC5jcmVhdGVFbGVtZW50KGNvbXBvbmVudCwgZmlsdGVyZWRQcm9wcyk7XG4gICAgfTtcbiAgICBjb25zdCBSZXN1bHQgPSBSZWFjdC5mb3J3YXJkUmVmID8gUmVhY3QuZm9yd2FyZFJlZihyZW5kZXIpIDogKFxuICAgICAgLy8gUmVhY3QuZm9yd2FyZFJlZiB3b24ndCBhdmFpbGFibGUgb24gb2xkZXIgUmVhY3QgdmVyc2lvbnMgYW5kIGluIFByZWFjdFxuICAgICAgLy8gRmFsbGJhY2sgdG8gYSBpbm5lclJlZiBwcm9wIGluIHRoYXQgY2FzZVxuICAgICAgKHByb3BzKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3QgPSBvbWl0KHByb3BzLCBbXCJpbm5lclJlZlwiXSk7XG4gICAgICAgIHJldHVybiByZW5kZXIocmVzdCwgcHJvcHMuaW5uZXJSZWYpO1xuICAgICAgfVxuICAgICk7XG4gICAgUmVzdWx0LmRpc3BsYXlOYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgIFJlc3VsdC5fX3d5d19tZXRhID0ge1xuICAgICAgY2xhc3NOYW1lOiBvcHRpb25zLmNsYXNzIHx8IG1vY2tlZENsYXNzLFxuICAgICAgZXh0ZW5kczogdGFnXG4gICAgfTtcbiAgICByZXR1cm4gUmVzdWx0O1xuICB9O1xufVxudmFyIHN0eWxlZF9kZWZhdWx0ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gbmV3IFByb3h5KHN0eWxlZCwge1xuICBnZXQobywgcHJvcCkge1xuICAgIHJldHVybiBvKHByb3ApO1xuICB9XG59KSA6IHN0eWxlZDtcbmV4cG9ydCB7XG4gIHN0eWxlZF9kZWZhdWx0IGFzIHN0eWxlZFxufTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4Lm1qcy5tYXAiLCJpbXBvcnQgeyBjcmVhdGVFbGVtZW50IH0gZnJvbSBcInJlYWN0XCI7XG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgU1ZHLCBQYXRoIH0gZnJvbSAnQHdvcmRwcmVzcy9wcmltaXRpdmVzJztcbmNvbnN0IGNvcHlTbWFsbCA9IGNyZWF0ZUVsZW1lbnQoU1ZHLCB7XG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCJcbn0sIGNyZWF0ZUVsZW1lbnQoUGF0aCwge1xuICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgZDogXCJNNS42MjUgNS41aDkuNzVjLjA2OSAwIC4xMjUuMDU2LjEyNS4xMjV2OS43NWEuMTI1LjEyNSAwIDAgMS0uMTI1LjEyNWgtOS43NWEuMTI1LjEyNSAwIDAgMS0uMTI1LS4xMjV2LTkuNzVjMC0uMDY5LjA1Ni0uMTI1LjEyNS0uMTI1Wk00IDUuNjI1QzQgNC43MjggNC43MjggNCA1LjYyNSA0aDkuNzVDMTYuMjczIDQgMTcgNC43MjggMTcgNS42MjV2OS43NWMwIC44OTgtLjcyNyAxLjYyNS0xLjYyNSAxLjYyNWgtOS43NUExLjYyNSAxLjYyNSAwIDAgMSA0IDE1LjM3NXYtOS43NVptMTQuNSAxMS42NTZ2LTlIMjB2OUMyMCAxOC44IDE4Ljc3IDIwIDE3LjI1MSAyMEg2LjI1di0xLjVoMTEuMDAxYy42OSAwIDEuMjQ5LS41MjggMS4yNDktMS4yMTlaXCJcbn0pKTtcbmV4cG9ydCBkZWZhdWx0IGNvcHlTbWFsbDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvcHktc21hbGwuanMubWFwIiwiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9zb3VyY2VNYXBzLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgYC5zMXZpbTdodntvdmVyZmxvdy14OmF1dG87dGV4dC13cmFwOm5vd3JhcDtwYWRkaW5nOjNweCA1cHggMnB4O2JhY2tncm91bmQ6cmdiYSgwLCAwLCAwLCAuMDcpO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtZmFtaWx5OkNvbnNvbGFzLE1vbmFjbyxtb25vc3BhY2U7LXdlYmtpdC1mbGV4OjE7LW1zLWZsZXg6MTtmbGV4OjE7fVxuYCwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9ibG9ja0VkaXRvci9zaG9ydGNvZGVCdWlsZGVyL1Nob3J0Y29kZUJ1aWxkZXIuanN4XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCJBQUFBLFVBQVUsZUFBZSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLDZCQUE2QixDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQ1wiLFwic291cmNlc0NvbnRlbnRcIjpbXCIuczF2aW03aHZ7b3ZlcmZsb3cteDphdXRvO3RleHQtd3JhcDpub3dyYXA7cGFkZGluZzozcHggNXB4IDJweDtiYWNrZ3JvdW5kOnJnYmEoMCwgMCwgMCwgLjA3KTtmb250LXNpemU6MTNweDtmb250LWZhbWlseTpDb25zb2xhcyxNb25hY28sbW9ub3NwYWNlOy13ZWJraXQtZmxleDoxOy1tcy1mbGV4OjE7ZmxleDoxO31cXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcbi8vIEV4cG9ydHNcbmV4cG9ydCBkZWZhdWx0IF9fX0NTU19MT0FERVJfRVhQT1JUX19fO1xuIiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qXG4gIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gIEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107XG5cbiAgLy8gcmV0dXJuIHRoZSBsaXN0IG9mIG1vZHVsZXMgYXMgY3NzIHN0cmluZ1xuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IFwiXCI7XG4gICAgICB2YXIgbmVlZExheWVyID0gdHlwZW9mIGl0ZW1bNV0gIT09IFwidW5kZWZpbmVkXCI7XG4gICAgICBpZiAoaXRlbVs0XSkge1xuICAgICAgICBjb250ZW50ICs9IFwiQHN1cHBvcnRzIChcIi5jb25jYXQoaXRlbVs0XSwgXCIpIHtcIik7XG4gICAgICB9XG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICBjb250ZW50ICs9IFwiQG1lZGlhIFwiLmNvbmNhdChpdGVtWzJdLCBcIiB7XCIpO1xuICAgICAgfVxuICAgICAgaWYgKG5lZWRMYXllcikge1xuICAgICAgICBjb250ZW50ICs9IFwiQGxheWVyXCIuY29uY2F0KGl0ZW1bNV0ubGVuZ3RoID4gMCA/IFwiIFwiLmNvbmNhdChpdGVtWzVdKSA6IFwiXCIsIFwiIHtcIik7XG4gICAgICB9XG4gICAgICBjb250ZW50ICs9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG4gICAgICBpZiAobmVlZExheWVyKSB7XG4gICAgICAgIGNvbnRlbnQgKz0gXCJ9XCI7XG4gICAgICB9XG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICBjb250ZW50ICs9IFwifVwiO1xuICAgICAgfVxuICAgICAgaWYgKGl0ZW1bNF0pIHtcbiAgICAgICAgY29udGVudCArPSBcIn1cIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH0pLmpvaW4oXCJcIik7XG4gIH07XG5cbiAgLy8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3RcbiAgbGlzdC5pID0gZnVuY3Rpb24gaShtb2R1bGVzLCBtZWRpYSwgZGVkdXBlLCBzdXBwb3J0cywgbGF5ZXIpIHtcbiAgICBpZiAodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG1vZHVsZXMgPSBbW251bGwsIG1vZHVsZXMsIHVuZGVmaW5lZF1dO1xuICAgIH1cbiAgICB2YXIgYWxyZWFkeUltcG9ydGVkTW9kdWxlcyA9IHt9O1xuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGsgPSAwOyBrIDwgdGhpcy5sZW5ndGg7IGsrKykge1xuICAgICAgICB2YXIgaWQgPSB0aGlzW2tdWzBdO1xuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKHZhciBfayA9IDA7IF9rIDwgbW9kdWxlcy5sZW5ndGg7IF9rKyspIHtcbiAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2tdKTtcbiAgICAgIGlmIChkZWR1cGUgJiYgYWxyZWFkeUltcG9ydGVkTW9kdWxlc1tpdGVtWzBdXSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgbGF5ZXIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtWzVdID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgaXRlbVs1XSA9IGxheWVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBsYXllclwiLmNvbmNhdChpdGVtWzVdLmxlbmd0aCA+IDAgPyBcIiBcIi5jb25jYXQoaXRlbVs1XSkgOiBcIlwiLCBcIiB7XCIpLmNvbmNhdChpdGVtWzFdLCBcIn1cIik7XG4gICAgICAgICAgaXRlbVs1XSA9IGxheWVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobWVkaWEpIHtcbiAgICAgICAgaWYgKCFpdGVtWzJdKSB7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1bMV0gPSBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoaXRlbVsxXSwgXCJ9XCIpO1xuICAgICAgICAgIGl0ZW1bMl0gPSBtZWRpYTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHN1cHBvcnRzKSB7XG4gICAgICAgIGlmICghaXRlbVs0XSkge1xuICAgICAgICAgIGl0ZW1bNF0gPSBcIlwiLmNvbmNhdChzdXBwb3J0cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsxXSA9IFwiQHN1cHBvcnRzIChcIi5jb25jYXQoaXRlbVs0XSwgXCIpIHtcIikuY29uY2F0KGl0ZW1bMV0sIFwifVwiKTtcbiAgICAgICAgICBpdGVtWzRdID0gc3VwcG9ydHM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpc3QucHVzaChpdGVtKTtcbiAgICB9XG4gIH07XG4gIHJldHVybiBsaXN0O1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXRlbSkge1xuICB2YXIgY29udGVudCA9IGl0ZW1bMV07XG4gIHZhciBjc3NNYXBwaW5nID0gaXRlbVszXTtcbiAgaWYgKCFjc3NNYXBwaW5nKSB7XG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cbiAgaWYgKHR5cGVvZiBidG9hID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB2YXIgYmFzZTY0ID0gYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoY3NzTWFwcGluZykpKSk7XG4gICAgdmFyIGRhdGEgPSBcInNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFwiLmNvbmNhdChiYXNlNjQpO1xuICAgIHZhciBzb3VyY2VNYXBwaW5nID0gXCIvKiMgXCIuY29uY2F0KGRhdGEsIFwiICovXCIpO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KFtzb3VyY2VNYXBwaW5nXSkuam9pbihcIlxcblwiKTtcbiAgfVxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG52YXIgc3R5bGVzSW5ET00gPSBbXTtcbmZ1bmN0aW9uIGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpIHtcbiAgdmFyIHJlc3VsdCA9IC0xO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRE9NLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0eWxlc0luRE9NW2ldLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcbiAgICAgIHJlc3VsdCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKSB7XG4gIHZhciBpZENvdW50TWFwID0ge307XG4gIHZhciBpZGVudGlmaWVycyA9IFtdO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XG4gICAgdmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG4gICAgdmFyIGNvdW50ID0gaWRDb3VudE1hcFtpZF0gfHwgMDtcbiAgICB2YXIgaWRlbnRpZmllciA9IFwiXCIuY29uY2F0KGlkLCBcIiBcIikuY29uY2F0KGNvdW50KTtcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcbiAgICB2YXIgaW5kZXhCeUlkZW50aWZpZXIgPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICB2YXIgb2JqID0ge1xuICAgICAgY3NzOiBpdGVtWzFdLFxuICAgICAgbWVkaWE6IGl0ZW1bMl0sXG4gICAgICBzb3VyY2VNYXA6IGl0ZW1bM10sXG4gICAgICBzdXBwb3J0czogaXRlbVs0XSxcbiAgICAgIGxheWVyOiBpdGVtWzVdXG4gICAgfTtcbiAgICBpZiAoaW5kZXhCeUlkZW50aWZpZXIgIT09IC0xKSB7XG4gICAgICBzdHlsZXNJbkRPTVtpbmRleEJ5SWRlbnRpZmllcl0ucmVmZXJlbmNlcysrO1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhCeUlkZW50aWZpZXJdLnVwZGF0ZXIob2JqKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHVwZGF0ZXIgPSBhZGRFbGVtZW50U3R5bGUob2JqLCBvcHRpb25zKTtcbiAgICAgIG9wdGlvbnMuYnlJbmRleCA9IGk7XG4gICAgICBzdHlsZXNJbkRPTS5zcGxpY2UoaSwgMCwge1xuICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICB1cGRhdGVyOiB1cGRhdGVyLFxuICAgICAgICByZWZlcmVuY2VzOiAxXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWRlbnRpZmllcnMucHVzaChpZGVudGlmaWVyKTtcbiAgfVxuICByZXR1cm4gaWRlbnRpZmllcnM7XG59XG5mdW5jdGlvbiBhZGRFbGVtZW50U3R5bGUob2JqLCBvcHRpb25zKSB7XG4gIHZhciBhcGkgPSBvcHRpb25zLmRvbUFQSShvcHRpb25zKTtcbiAgYXBpLnVwZGF0ZShvYmopO1xuICB2YXIgdXBkYXRlciA9IGZ1bmN0aW9uIHVwZGF0ZXIobmV3T2JqKSB7XG4gICAgaWYgKG5ld09iaikge1xuICAgICAgaWYgKG5ld09iai5jc3MgPT09IG9iai5jc3MgJiYgbmV3T2JqLm1lZGlhID09PSBvYmoubWVkaWEgJiYgbmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcCAmJiBuZXdPYmouc3VwcG9ydHMgPT09IG9iai5zdXBwb3J0cyAmJiBuZXdPYmoubGF5ZXIgPT09IG9iai5sYXllcikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBhcGkudXBkYXRlKG9iaiA9IG5ld09iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFwaS5yZW1vdmUoKTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB1cGRhdGVyO1xufVxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobGlzdCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgbGlzdCA9IGxpc3QgfHwgW107XG4gIHZhciBsYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucyk7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGUobmV3TGlzdCkge1xuICAgIG5ld0xpc3QgPSBuZXdMaXN0IHx8IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaWRlbnRpZmllciA9IGxhc3RJZGVudGlmaWVyc1tpXTtcbiAgICAgIHZhciBpbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKGlkZW50aWZpZXIpO1xuICAgICAgc3R5bGVzSW5ET01baW5kZXhdLnJlZmVyZW5jZXMtLTtcbiAgICB9XG4gICAgdmFyIG5ld0xhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShuZXdMaXN0LCBvcHRpb25zKTtcbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIF9pZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW19pXTtcbiAgICAgIHZhciBfaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihfaWRlbnRpZmllcik7XG4gICAgICBpZiAoc3R5bGVzSW5ET01bX2luZGV4XS5yZWZlcmVuY2VzID09PSAwKSB7XG4gICAgICAgIHN0eWxlc0luRE9NW19pbmRleF0udXBkYXRlcigpO1xuICAgICAgICBzdHlsZXNJbkRPTS5zcGxpY2UoX2luZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGFzdElkZW50aWZpZXJzID0gbmV3TGFzdElkZW50aWZpZXJzO1xuICB9O1xufTsiLCJcInVzZSBzdHJpY3RcIjtcblxudmFyIG1lbW8gPSB7fTtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBnZXRUYXJnZXQodGFyZ2V0KSB7XG4gIGlmICh0eXBlb2YgbWVtb1t0YXJnZXRdID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgdmFyIHN0eWxlVGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0YXJnZXQpO1xuXG4gICAgLy8gU3BlY2lhbCBjYXNlIHRvIHJldHVybiBoZWFkIG9mIGlmcmFtZSBpbnN0ZWFkIG9mIGlmcmFtZSBpdHNlbGZcbiAgICBpZiAod2luZG93LkhUTUxJRnJhbWVFbGVtZW50ICYmIHN0eWxlVGFyZ2V0IGluc3RhbmNlb2Ygd2luZG93LkhUTUxJRnJhbWVFbGVtZW50KSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuICAgICAgICAvLyBkdWUgdG8gY3Jvc3Mtb3JpZ2luIHJlc3RyaWN0aW9uc1xuICAgICAgICBzdHlsZVRhcmdldCA9IHN0eWxlVGFyZ2V0LmNvbnRlbnREb2N1bWVudC5oZWFkO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAgICAgICBzdHlsZVRhcmdldCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuICB9XG4gIHJldHVybiBtZW1vW3RhcmdldF07XG59XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gaW5zZXJ0QnlTZWxlY3RvcihpbnNlcnQsIHN0eWxlKSB7XG4gIHZhciB0YXJnZXQgPSBnZXRUYXJnZXQoaW5zZXJ0KTtcbiAgaWYgKCF0YXJnZXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZG4ndCBmaW5kIGEgc3R5bGUgdGFyZ2V0LiBUaGlzIHByb2JhYmx5IG1lYW5zIHRoYXQgdGhlIHZhbHVlIGZvciB0aGUgJ2luc2VydCcgcGFyYW1ldGVyIGlzIGludmFsaWQuXCIpO1xuICB9XG4gIHRhcmdldC5hcHBlbmRDaGlsZChzdHlsZSk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IGluc2VydEJ5U2VsZWN0b3I7IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICAqL1xuZnVuY3Rpb24gaW5zZXJ0U3R5bGVFbGVtZW50KG9wdGlvbnMpIHtcbiAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3R5bGVcIik7XG4gIG9wdGlvbnMuc2V0QXR0cmlidXRlcyhlbGVtZW50LCBvcHRpb25zLmF0dHJpYnV0ZXMpO1xuICBvcHRpb25zLmluc2VydChlbGVtZW50LCBvcHRpb25zLm9wdGlvbnMpO1xuICByZXR1cm4gZWxlbWVudDtcbn1cbm1vZHVsZS5leHBvcnRzID0gaW5zZXJ0U3R5bGVFbGVtZW50OyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHNldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlcyhzdHlsZUVsZW1lbnQpIHtcbiAgdmFyIG5vbmNlID0gdHlwZW9mIF9fd2VicGFja19ub25jZV9fICE9PSBcInVuZGVmaW5lZFwiID8gX193ZWJwYWNrX25vbmNlX18gOiBudWxsO1xuICBpZiAobm9uY2UpIHtcbiAgICBzdHlsZUVsZW1lbnQuc2V0QXR0cmlidXRlKFwibm9uY2VcIiwgbm9uY2UpO1xuICB9XG59XG5tb2R1bGUuZXhwb3J0cyA9IHNldEF0dHJpYnV0ZXNXaXRob3V0QXR0cmlidXRlczsiLCJcInVzZSBzdHJpY3RcIjtcblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBhcHBseShzdHlsZUVsZW1lbnQsIG9wdGlvbnMsIG9iaikge1xuICB2YXIgY3NzID0gXCJcIjtcbiAgaWYgKG9iai5zdXBwb3J0cykge1xuICAgIGNzcyArPSBcIkBzdXBwb3J0cyAoXCIuY29uY2F0KG9iai5zdXBwb3J0cywgXCIpIHtcIik7XG4gIH1cbiAgaWYgKG9iai5tZWRpYSkge1xuICAgIGNzcyArPSBcIkBtZWRpYSBcIi5jb25jYXQob2JqLm1lZGlhLCBcIiB7XCIpO1xuICB9XG4gIHZhciBuZWVkTGF5ZXIgPSB0eXBlb2Ygb2JqLmxheWVyICE9PSBcInVuZGVmaW5lZFwiO1xuICBpZiAobmVlZExheWVyKSB7XG4gICAgY3NzICs9IFwiQGxheWVyXCIuY29uY2F0KG9iai5sYXllci5sZW5ndGggPiAwID8gXCIgXCIuY29uY2F0KG9iai5sYXllcikgOiBcIlwiLCBcIiB7XCIpO1xuICB9XG4gIGNzcyArPSBvYmouY3NzO1xuICBpZiAobmVlZExheWVyKSB7XG4gICAgY3NzICs9IFwifVwiO1xuICB9XG4gIGlmIChvYmoubWVkaWEpIHtcbiAgICBjc3MgKz0gXCJ9XCI7XG4gIH1cbiAgaWYgKG9iai5zdXBwb3J0cykge1xuICAgIGNzcyArPSBcIn1cIjtcbiAgfVxuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcDtcbiAgaWYgKHNvdXJjZU1hcCAmJiB0eXBlb2YgYnRvYSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIuY29uY2F0KGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSksIFwiICovXCIpO1xuICB9XG5cbiAgLy8gRm9yIG9sZCBJRVxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXG4gIG9wdGlvbnMuc3R5bGVUYWdUcmFuc2Zvcm0oY3NzLCBzdHlsZUVsZW1lbnQsIG9wdGlvbnMub3B0aW9ucyk7XG59XG5mdW5jdGlvbiByZW1vdmVTdHlsZUVsZW1lbnQoc3R5bGVFbGVtZW50KSB7XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuICBpZiAoc3R5bGVFbGVtZW50LnBhcmVudE5vZGUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgc3R5bGVFbGVtZW50LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50KTtcbn1cblxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5mdW5jdGlvbiBkb21BUEkob3B0aW9ucykge1xuICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVwZGF0ZTogZnVuY3Rpb24gdXBkYXRlKCkge30sXG4gICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSgpIHt9XG4gICAgfTtcbiAgfVxuICB2YXIgc3R5bGVFbGVtZW50ID0gb3B0aW9ucy5pbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucyk7XG4gIHJldHVybiB7XG4gICAgdXBkYXRlOiBmdW5jdGlvbiB1cGRhdGUob2JqKSB7XG4gICAgICBhcHBseShzdHlsZUVsZW1lbnQsIG9wdGlvbnMsIG9iaik7XG4gICAgfSxcbiAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZSgpIHtcbiAgICAgIHJlbW92ZVN0eWxlRWxlbWVudChzdHlsZUVsZW1lbnQpO1xuICAgIH1cbiAgfTtcbn1cbm1vZHVsZS5leHBvcnRzID0gZG9tQVBJOyIsIlwidXNlIHN0cmljdFwiO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAgKi9cbmZ1bmN0aW9uIHN0eWxlVGFnVHJhbnNmb3JtKGNzcywgc3R5bGVFbGVtZW50KSB7XG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3M7XG4gIH0gZWxzZSB7XG4gICAgd2hpbGUgKHN0eWxlRWxlbWVudC5maXJzdENoaWxkKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucmVtb3ZlQ2hpbGQoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpO1xuICAgIH1cbiAgICBzdHlsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cbm1vZHVsZS5leHBvcnRzID0gc3R5bGVUYWdUcmFuc2Zvcm07IiwiaW1wb3J0IHsgQnV0dG9uLCBGbGV4IH0gZnJvbSAnQHdvcmRwcmVzcy9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgY29weVNtYWxsIH0gZnJvbSAnQHdvcmRwcmVzcy9pY29ucyc7XHJcbmltcG9ydCB7IF9fIH0gZnJvbSAnQHdvcmRwcmVzcy9pMThuJztcclxuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdAd29yZHByZXNzL2RhdGEnO1xyXG5pbXBvcnQgeyB1c2VDb3B5VG9DbGlwYm9hcmQgfSBmcm9tICdAd29yZHByZXNzL2NvbXBvc2UnO1xyXG5pbXBvcnQgdXNlU2hvcnRjb2RlQXJndW1lbnRzU3RyaW5nIGZyb20gJy4vdXNlU2hvcnRjb2RlQXJndW1lbnRzU3RyaW5nJztcclxuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQGxpbmFyaWEvcmVhY3QnO1xyXG5pbXBvcnQge1xyXG5cdHVzZVBsdWdpblVzZVNldHRpbmdzLFxyXG5cdEJ1aWxkZXJIZWxwU2xvdEZpbGwsXHJcblx0RGVzY3JpcHRpb24sXHJcbn0gZnJvbSAnamV0LWZvcm0tYnVpbGRlci11c2UtZm9ybSc7XHJcblxyXG5jb25zdCBTaG9ydENvZGUgPSBzdHlsZWQuY29kZWBcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICB0ZXh0LXdyYXA6IG5vd3JhcDtcclxuICAgIHBhZGRpbmc6IDNweCA1cHggMnB4O1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMDcpO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBNb25hY28sIG1vbm9zcGFjZTtcclxuICAgIGZsZXg6IDE7XHJcbmA7XHJcblxyXG5mdW5jdGlvbiBTaG9ydGNvZGVCdWlsZGVyKCB7IG5hbWUgfSApIHtcclxuXHRjb25zdCBbIHNldHRpbmdzLCB1cGRhdGVTZXR0aW5ncyBdID0gdXNlUGx1Z2luVXNlU2V0dGluZ3MoKTtcclxuXHJcblx0Y29uc3QgaXNBY3RpdmUgICAgICA9IG5hbWUgPT09IHNldHRpbmdzLmJ1aWxkZXI7XHJcblx0Y29uc3Qgc2hvcnRjb2RlQXJncyA9IHVzZVNob3J0Y29kZUFyZ3VtZW50c1N0cmluZygpO1xyXG5cclxuXHRjb25zdCBzaG9ydGNvZGUgPSBgW2pldF9mYl9mb3JtICR7IHNob3J0Y29kZUFyZ3MgfV1gO1xyXG5cclxuXHRjb25zdCB7IGNyZWF0ZU5vdGljZSB9ID0gdXNlRGlzcGF0Y2goICdjb3JlL25vdGljZXMnICk7XHJcblx0Y29uc3QgY29weUJ1dHRvblJlZiAgICA9IHVzZUNvcHlUb0NsaXBib2FyZChcclxuXHRcdHNob3J0Y29kZSxcclxuXHRcdCgpID0+IHtcclxuXHRcdFx0Y3JlYXRlTm90aWNlKFxyXG5cdFx0XHRcdCdpbmZvJyxcclxuXHRcdFx0XHRfXyggJ0NvcGllZCBzaG9ydGNvZGUgdG8gY2xpcGJvYXJkLicsICdqZXQtZm9ybS1idWlsZGVyJyApLFxyXG5cdFx0XHRcdHtcclxuXHRcdFx0XHRcdGlzRGlzbWlzc2libGU6IHRydWUsXHJcblx0XHRcdFx0XHR0eXBlOiAnc25hY2tiYXInLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdCk7XHJcblx0XHR9LFxyXG5cdCk7XHJcblxyXG5cdHJldHVybiA8PlxyXG5cdFx0PEJ1dHRvblxyXG5cdFx0XHRvbkNsaWNrPXsgKCkgPT4gdXBkYXRlU2V0dGluZ3MoIHsgYnVpbGRlcjogbmFtZSB9ICkgfVxyXG5cdFx0XHRpY29uPXsgY29weVNtYWxsIH1cclxuXHRcdFx0dmFyaWFudD17IGlzQWN0aXZlID8gJ3ByaW1hcnknIDogJ3NlY29uZGFyeScgfVxyXG5cdFx0PlxyXG5cdFx0XHR7IF9fKFxyXG5cdFx0XHRcdCdTaG9ydGNvZGUgdG8gdXNlIGFueXdoZXJlJyxcclxuXHRcdFx0XHQnamV0LWZvcm0tYnVpbGRlcicsXHJcblx0XHRcdCkgfVxyXG5cdFx0PC9CdXR0b24+XHJcblx0XHR7IGlzQWN0aXZlICYmIDxCdWlsZGVySGVscFNsb3RGaWxsLkZpbGw+XHJcblx0XHRcdDxEZXNjcmlwdGlvbj5cclxuXHRcdFx0XHQ8Yj5cclxuXHRcdFx0XHRcdHsgX18oXHJcblx0XHRcdFx0XHRcdCdDb3B5IHRoZSBzaG9ydGNvZGUgYW5kIHBhc3RlIGl0IHdoZXJlIHlvdSBuZWVkIG9uIHRoZSBzZWxlY3RlZCBwYWdlOicsXHJcblx0XHRcdFx0XHRcdCdqZXQtZm9ybS1idWlsZGVyJyxcclxuXHRcdFx0XHRcdCkgfVxyXG5cdFx0XHRcdDwvYj5cclxuXHRcdFx0PC9EZXNjcmlwdGlvbj5cclxuXHRcdFx0PEZsZXgganVzdGlmeT1cImZsZXgtc3RhcnRcIj5cclxuXHRcdFx0XHQ8U2hvcnRDb2RlPnsgc2hvcnRjb2RlIH08L1Nob3J0Q29kZT5cclxuXHRcdFx0XHQ8QnV0dG9uIHJlZj17IGNvcHlCdXR0b25SZWYgfSB2YXJpYW50PVwic2Vjb25kYXJ5XCI+XHJcblx0XHRcdFx0XHR7IF9fKCAnQ29weScsICdqZXQtZm9ybS1idWlsZGVyJyApIH1cclxuXHRcdFx0XHQ8L0J1dHRvbj5cclxuXHRcdFx0PC9GbGV4PlxyXG5cdFx0PC9CdWlsZGVySGVscFNsb3RGaWxsLkZpbGw+IH1cclxuXHQ8Lz47XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IFNob3J0Y29kZUJ1aWxkZXI7IiwiXG4gICAgICBpbXBvcnQgQVBJIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICBpbXBvcnQgZG9tQVBJIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc3R5bGVEb21BUEkuanNcIjtcbiAgICAgIGltcG9ydCBpbnNlcnRGbiBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL2luc2VydEJ5U2VsZWN0b3IuanNcIjtcbiAgICAgIGltcG9ydCBzZXRBdHRyaWJ1dGVzIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvc2V0QXR0cmlidXRlc1dpdGhvdXRBdHRyaWJ1dGVzLmpzXCI7XG4gICAgICBpbXBvcnQgaW5zZXJ0U3R5bGVFbGVtZW50IGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5zZXJ0U3R5bGVFbGVtZW50LmpzXCI7XG4gICAgICBpbXBvcnQgc3R5bGVUYWdUcmFuc2Zvcm1GbiBmcm9tIFwiIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvZGlzdC9ydW50aW1lL3N0eWxlVGFnVHJhbnNmb3JtLmpzXCI7XG4gICAgICBpbXBvcnQgY29udGVudCwgKiBhcyBuYW1lZEV4cG9ydCBmcm9tIFwiISEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0B3eXctaW4tanMvd2VicGFjay1sb2FkZXIvbGliL291dHB1dENzc0xvYWRlci5qcz9jYWNoZVByb3ZpZGVyPSEuL1Nob3J0Y29kZUJ1aWxkZXIuanN4XCI7XG4gICAgICBcbiAgICAgIFxuXG52YXIgb3B0aW9ucyA9IHt9O1xuXG5vcHRpb25zLnN0eWxlVGFnVHJhbnNmb3JtID0gc3R5bGVUYWdUcmFuc2Zvcm1Gbjtcbm9wdGlvbnMuc2V0QXR0cmlidXRlcyA9IHNldEF0dHJpYnV0ZXM7XG5cbiAgICAgIG9wdGlvbnMuaW5zZXJ0ID0gaW5zZXJ0Rm4uYmluZChudWxsLCBcImhlYWRcIik7XG4gICAgXG5vcHRpb25zLmRvbUFQSSA9IGRvbUFQSTtcbm9wdGlvbnMuaW5zZXJ0U3R5bGVFbGVtZW50ID0gaW5zZXJ0U3R5bGVFbGVtZW50O1xuXG52YXIgdXBkYXRlID0gQVBJKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5cblxuZXhwb3J0ICogZnJvbSBcIiEhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ad3l3LWluLWpzL3dlYnBhY2stbG9hZGVyL2xpYi9vdXRwdXRDc3NMb2FkZXIuanM/Y2FjaGVQcm92aWRlcj0hLi9TaG9ydGNvZGVCdWlsZGVyLmpzeFwiO1xuICAgICAgIGV4cG9ydCBkZWZhdWx0IGNvbnRlbnQgJiYgY29udGVudC5sb2NhbHMgPyBjb250ZW50LmxvY2FscyA6IHVuZGVmaW5lZDtcbiIsImltcG9ydCBTaG9ydGNvZGVCdWlsZGVyIGZyb20gJy4vU2hvcnRjb2RlQnVpbGRlcic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcblx0bmFtZTogJ3Nob3J0Y29kZScsXHJcblx0dmlldzogU2hvcnRjb2RlQnVpbGRlcixcclxufTsiLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAnQHdvcmRwcmVzcy9lbGVtZW50JztcclxuaW1wb3J0IHsgRm9ybUF0dHJpYnV0ZXNDb250ZXh0IH0gZnJvbSAnamV0LWZvcm0tYnVpbGRlci11c2UtZm9ybSc7XHJcblxyXG5mdW5jdGlvbiB1c2VTaG9ydGNvZGVBcmd1bWVudHNTdHJpbmcoKSB7XHJcblx0Y29uc3QgeyBmb3JtSWQsIGFyZ3MgfSA9IHVzZUNvbnRleHQoIEZvcm1BdHRyaWJ1dGVzQ29udGV4dCApO1xyXG5cclxuXHRjb25zdCBwcmVwYXJlZEFyZ3MgPSBPYmplY3QuZW50cmllcygge1xyXG5cdFx0Zm9ybV9pZDogZm9ybUlkLFxyXG5cdFx0c3VibWl0X3R5cGU6IGFyZ3M/LnN1Ym1pdF90eXBlID8/ICdyZWxvYWQnLFxyXG5cdFx0cmVxdWlyZWRfbWFyazogYXJncz8ucmVxdWlyZWRfbWFyayA/PyAnKicsXHJcblx0XHRmaWVsZHNfbGF5b3V0OiBhcmdzPy5maWVsZHNfbGF5b3V0ID8/ICdjb2x1bW4nLFxyXG5cdFx0ZmllbGRzX2xhYmVsX3RhZzogYXJncz8uZmllbGRzX2xhYmVsX3RhZyA/PyAnZGl2JyxcclxuXHRcdGVuYWJsZV9wcm9ncmVzczogTnVtYmVyKCBhcmdzPy5lbmFibGVfcHJvZ3Jlc3MgPz8gJycgKSxcclxuXHRcdGNsZWFyOiBOdW1iZXIoIGFyZ3M/LmNsZWFyID8/ICcnICksXHJcblx0fSApO1xyXG5cclxuXHRyZXR1cm4gcHJlcGFyZWRBcmdzLm1hcChcclxuXHRcdCggWyBhcmdOYW1lLCBhcmdWYWx1ZSBdICkgPT4gKFxyXG5cdFx0XHRhcmdOYW1lICsgJz1cIicgKyBhcmdWYWx1ZSArICdcIidcclxuXHRcdCksXHJcblx0KS5qb2luKCAnICcgKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgdXNlU2hvcnRjb2RlQXJndW1lbnRzU3RyaW5nOyIsIm1vZHVsZS5leHBvcnRzID0gd2luZG93W1wid3BcIl1bXCJjb21wb25lbnRzXCJdOyIsIm1vZHVsZS5leHBvcnRzID0gd2luZG93W1wid3BcIl1bXCJjb21wb3NlXCJdOyIsIm1vZHVsZS5leHBvcnRzID0gd2luZG93W1wid3BcIl1bXCJkYXRhXCJdOyIsIm1vZHVsZS5leHBvcnRzID0gd2luZG93W1wid3BcIl1bXCJlbGVtZW50XCJdOyIsIm1vZHVsZS5leHBvcnRzID0gd2luZG93W1wid3BcIl1bXCJpMThuXCJdOyIsIm1vZHVsZS5leHBvcnRzID0gd2luZG93W1wid3BcIl1bXCJwcmltaXRpdmVzXCJdOyIsIm1vZHVsZS5leHBvcnRzID0gd2luZG93W1wiamZiXCJdW1widXNlRm9ybVwiXTsiLCJtb2R1bGUuZXhwb3J0cyA9IHdpbmRvd1tcIlJlYWN0XCJdOyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0aWQ6IG1vZHVsZUlkLFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm5jID0gdW5kZWZpbmVkOyIsImltcG9ydCB7IGRpc3BhdGNoIH0gZnJvbSAnQHdvcmRwcmVzcy9kYXRhJztcclxuaW1wb3J0IHNob3J0Y29kZUJ1aWxkZXIgZnJvbSAnLi9zaG9ydGNvZGVCdWlsZGVyJztcclxuXHJcbmRpc3BhdGNoKCAnamV0LWZvcm1zL3VzZS1mb3JtJyApLnJlZ2lzdGVyQnVpbGRlcnMoIFtcclxuXHRzaG9ydGNvZGVCdWlsZGVyLFxyXG5dICk7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9