@merchi/product-form 1.19.37 → 1.19.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,6 +12,7 @@ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(
12
12
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
13
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
14
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
15
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
15
16
  function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
16
17
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
17
18
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
@@ -37,6 +38,7 @@ import { FaArrowDown, FaArrowUp, FaCheck, FaFont, FaImage, FaLayerGroup, FaLock,
37
38
  import { CgSpinner } from 'react-icons/cg';
38
39
  import { useMerchiFormContext } from '../../context/MerchiProductFormProvider';
39
40
  import { createObjectId, designGroupCount, detachField, fitTextBox, productHasVariationGroups, seedOrSyncCanvas, templatesForGroup, variationsForGroup } from '../../utils/draftTemplates';
41
+ import { embroideryMillimetres, embroideryValueJson, parseEmbroideryValue, variationValuePath } from '../../utils/embroidery';
40
42
  import { loadDrafts, pruneDrafts, saveDrafts, savedPreview, upsertGroupTemplateDraft } from '../../utils/draftStorage';
41
43
  import { exportDraftPngs, templateImageSources } from '../../utils/draftExport';
42
44
  import { productAllowsAdditionalDesignObjects } from '../../utils/designerInputs';
@@ -103,6 +105,7 @@ export default function DraftDesignerSheet(_ref) {
103
105
  var _useMerchiFormContext = useMerchiFormContext(),
104
106
  apiUrl = _useMerchiFormContext.apiUrl,
105
107
  classNameDraftSheet = _useMerchiFormContext.classNameDraftSheet,
108
+ getQuote = _useMerchiFormContext.getQuote,
106
109
  hookForm = _useMerchiFormContext.hookForm,
107
110
  product = _useMerchiFormContext.product;
108
111
  var formValues = hookForm.watch();
@@ -187,11 +190,55 @@ export default function DraftDesignerSheet(_ref) {
187
190
  var next = seedOrSyncCanvas(current, template, variations);
188
191
  var same = current.width === next.width && current.height === next.height && current.objects.length === next.objects.length && current.objects.every(function (obj, index) {
189
192
  var other = next.objects[index];
190
- return obj.id === other.id && obj.text === other.text && obj.src === other.src && obj.fill === other.fill && obj.merchiFieldId === other.merchiFieldId;
193
+ return obj.id === other.id && obj.text === other.text && obj.src === other.src && obj.fill === other.fill && obj.width === other.width && obj.height === other.height && obj.merchiFieldId === other.merchiFieldId;
191
194
  });
192
195
  return same ? current : next;
193
196
  });
194
197
  }, [open, variationSyncKey, template === null || template === void 0 ? void 0 : template.id, groupIndex]);
198
+ function handleCanvasChange(next) {
199
+ var variations = variationsForGroup(hookForm.getValues(), groupIndex);
200
+ var wrote = false;
201
+ var _iterator = _createForOfIteratorHelper(next.objects),
202
+ _step;
203
+ try {
204
+ var _loop = function _loop() {
205
+ var _variation$variationF2;
206
+ var obj = _step.value;
207
+ if (obj.merchiFieldId == null) return 0; // continue
208
+ var before = state.objects.find(function (item) {
209
+ return item.id === obj.id;
210
+ });
211
+ if (before && before.width === obj.width && before.height === obj.height) return 0; // continue
212
+ var variation = variations.find(function (item) {
213
+ var _item$variationField;
214
+ return Number(item === null || item === void 0 || (_item$variationField = item.variationField) === null || _item$variationField === void 0 ? void 0 : _item$variationField.id) === Number(obj.merchiFieldId);
215
+ });
216
+ if (Number(variation === null || variation === void 0 || (_variation$variationF2 = variation.variationField) === null || _variation$variationF2 === void 0 ? void 0 : _variation$variationF2.fieldType) !== 16) return 0; // continue
217
+ var mm = embroideryMillimetres(obj.width, obj.height, template);
218
+ if (!mm) return 0; // continue
219
+ var path = variationValuePath(hookForm.getValues(), obj.merchiFieldId);
220
+ if (!path) return 0; // continue
221
+ var parsed = parseEmbroideryValue(variation === null || variation === void 0 ? void 0 : variation.value) || {};
222
+ hookForm.setValue(path, embroideryValueJson(_objectSpread(_objectSpread({}, parsed), mm)), {
223
+ shouldDirty: true
224
+ });
225
+ wrote = true;
226
+ },
227
+ _ret;
228
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
229
+ _ret = _loop();
230
+ if (_ret === 0) continue;
231
+ }
232
+ } catch (err) {
233
+ _iterator.e(err);
234
+ } finally {
235
+ _iterator.f();
236
+ }
237
+ setState(next);
238
+ if (wrote) Promise.resolve().then(function () {
239
+ return getQuote();
240
+ });
241
+ }
195
242
  var selected = state.objects.find(function (obj) {
196
243
  return obj.id === selectedId;
197
244
  }) || null;
@@ -449,7 +496,7 @@ export default function DraftDesignerSheet(_ref) {
449
496
  templateSrc: templateSrc(template, apiUrl),
450
497
  selectedId: selectedId,
451
498
  onSelect: setSelectedId,
452
- onChange: setState,
499
+ onChange: handleCanvasChange,
453
500
  onEditText: function onEditText(id) {
454
501
  setLayersOpen(false);
455
502
  setSelectedId(id);
@@ -684,4 +731,4 @@ export default function DraftDesignerSheet(_ref) {
684
731
  })]
685
732
  }), document.body);
686
733
  }
687
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3IiLCJlIiwidCIsInIiLCJuIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuZXh0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIlJlZmVyZW5jZUVycm9yIiwiQm9vbGVhbiIsInZhbHVlT2YiLCJfaW5oZXJpdHMiLCJfc2V0UHJvdG90eXBlT2YiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkZhQXJyb3dEb3duIiwiRmFBcnJvd1VwIiwiRmFDaGVjayIsIkZhRm9udCIsIkZhSW1hZ2UiLCJGYUxheWVyR3JvdXAiLCJGYUxvY2siLCJGYVBsdXMiLCJGYVVubG9jayIsIkZhVGltZXMiLCJGYVRyYXNoIiwiQ2dTcGlubmVyIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjcmVhdGVPYmplY3RJZCIsImRlc2lnbkdyb3VwQ291bnQiLCJkZXRhY2hGaWVsZCIsImZpdFRleHRCb3giLCJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwic2VlZE9yU3luY0NhbnZhcyIsInRlbXBsYXRlc0Zvckdyb3VwIiwidmFyaWF0aW9uc0Zvckdyb3VwIiwibG9hZERyYWZ0cyIsInBydW5lRHJhZnRzIiwic2F2ZURyYWZ0cyIsInNhdmVkUHJldmlldyIsInVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdCIsImV4cG9ydERyYWZ0UG5ncyIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwicHJvZHVjdEFsbG93c0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzIiwiREVGQVVMVF9EUkFGVF9GT05UIiwiRFJBRlRfVEVYVF9GT05UUyIsImNzc0ZvbnRGYW1pbHkiLCJlbnN1cmVEcmFmdEZvbnRzIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiRHJhZnRDYW52YXMiLCJsYXp5IiwiRHJhZnRDYW52YXNCb3VuZGFyeSIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwic3RhdGUiLCJlcnJvciIsInJlbmRlciIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiQ29tcG9uZW50Iiwic3RvcEJ1YmJsZSIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwidGVtcGxhdGVTcmMiLCJ0ZW1wbGF0ZSIsImFwaVVybCIsInJlYWRGaWxlQXNEYXRhVXJsIiwiZmlsZSIsInJlamVjdCIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJyZXN1bHQiLCJvbmVycm9yIiwicmVhZEFzRGF0YVVSTCIsIkRyYWZ0RGVzaWduZXJTaGVldCIsIl9yZWYiLCJvcGVuIiwiX3JlZiRpbml0aWFsR3JvdXBJbmRlIiwiaW5pdGlhbEdyb3VwSW5kZXgiLCJvbkNsb3NlIiwib25TYXZlZCIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNsYXNzTmFtZURyYWZ0U2hlZXQiLCJob29rRm9ybSIsInByb2R1Y3QiLCJmb3JtVmFsdWVzIiwid2F0Y2giLCJhbGxvd0FkZGl0aW9uYWxPYmplY3RzIiwiaGFzR3JvdXBzIiwiZ3JvdXBDb3VudCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJncm91cEluZGV4Iiwic2V0R3JvdXBJbmRleCIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwidGVtcGxhdGVJbmRleCIsInNldFRlbXBsYXRlSW5kZXgiLCJfdXNlU3RhdGU1Iiwid2lkdGgiLCJoZWlnaHQiLCJvYmplY3RzIiwiX3VzZVN0YXRlNiIsInNldFN0YXRlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZElkIiwic2V0U2VsZWN0ZWRJZCIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwiZWRpdGluZ1RleHRJZCIsInNldEVkaXRpbmdUZXh0SWQiLCJfdXNlU3RhdGUxIiwiX3VzZVN0YXRlMTAiLCJsYXllcnNPcGVuIiwic2V0TGF5ZXJzT3BlbiIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzYXZpbmciLCJzZXRTYXZpbmciLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2V0RXJyb3IiLCJmaWxlSW5wdXRSZWYiLCJjYW52YXNSZWYiLCJ0ZW1wbGF0ZXMiLCJfZm9ybVZhbHVlcyR2YXJpYXRpb24iLCJ2YXJpYXRpb25zIiwidmFyaWF0aW9uc0dyb3VwcyIsIk1hdGgiLCJtaW4iLCJ2YXJpYXRpb25TeW5jS2V5IiwiSlNPTiIsInN0cmluZ2lmeSIsIm1hcCIsInZhcmlhdGlvbiIsIl92YXJpYXRpb24kdmFyaWF0aW9uRiIsImlkIiwidmFyaWF0aW9uRmllbGQiLCJmaWxlcyIsInZhcmlhdGlvbkZpbGVzIiwidmlld1VybCIsImRyYWZ0cyIsInNhdmVkIiwiY2FudmFzSnNvbiIsImN1cnJlbnQiLCJzYW1lIiwiZXZlcnkiLCJvYmoiLCJpbmRleCIsIm90aGVyIiwidGV4dCIsInNyYyIsImZpbGwiLCJtZXJjaGlGaWVsZElkIiwic2VsZWN0ZWQiLCJmaW5kIiwicGF0Y2hTZWxlY3RlZCIsInBhdGNoIiwidHlwZSIsImFkZFRleHQiLCJkcmFmdGVkIiwieCIsInJvdGF0aW9uIiwic2NhbGVYIiwic2NhbGVZIiwiZm9udFNpemUiLCJmb250RmFtaWx5IiwiYWxpZ24iLCJjb25jYXQiLCJhZGRJbWFnZSIsIl94IiwiX2FkZEltYWdlIiwiX2NhbGxlZSIsIl9jb250ZXh0IiwibG9ja0FzcGVjdFJhdGlvIiwicmVtb3ZlU2VsZWN0ZWQiLCJtb3ZlTGF5ZXIiLCJkaXJlY3Rpb24iLCJmaW5kSW5kZXgiLCJuZXh0SW5kZXgiLCJfb2JqZWN0cyRzcGxpY2UiLCJzcGxpY2UiLCJfb2JqZWN0cyRzcGxpY2UyIiwiaXRlbSIsImhhbmRsZURvbmUiLCJfaGFuZGxlRG9uZSIsIl9jYWxsZWUyIiwicG5ncyIsIl90IiwiX3QyIiwiX2NvbnRleHQyIiwiZXhwb3J0UG5ncyIsImdldFZhbHVlcyIsInRlbXBsYXRlSWQiLCJkb2N1bWVudCIsInJvbGUiLCJvbk1vdXNlRG93biIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsIl8iLCJfaXRlbSRpZCIsIlN1c3BlbnNlIiwiZmFsbGJhY2siLCJyZWYiLCJvblNlbGVjdCIsIm9uQ2hhbmdlIiwib25FZGl0VGV4dCIsInJldmVyc2UiLCJyb3dzIiwiYXV0b0ZvY3VzIiwidGFyZ2V0Iiwic3R5bGUiLCJmb250IiwibGFiZWwiLCJtYXgiLCJjb2xvdXJGaWVsZElkIiwiX2ZpbGVJbnB1dFJlZiRjdXJyZW50IiwiY2xpY2siLCJvcGVuTm93IiwiYWNjZXB0IiwiX2UkdGFyZ2V0JGZpbGVzIiwiYm9keSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2RyYWZ0cy9EcmFmdERlc2lnbmVyU2hlZXQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQge1xuICBGYUFycm93RG93bixcbiAgRmFBcnJvd1VwLFxuICBGYUNoZWNrLFxuICBGYUZvbnQsXG4gIEZhSW1hZ2UsXG4gIEZhTGF5ZXJHcm91cCxcbiAgRmFMb2NrLFxuICBGYVBsdXMsXG4gIEZhVW5sb2NrLFxuICBGYVRpbWVzLFxuICBGYVRyYXNoLFxufSBmcm9tICdyZWFjdC1pY29ucy9mYSc7XG5pbXBvcnQgeyBDZ1NwaW5uZXIgfSBmcm9tICdyZWFjdC1pY29ucy9jZyc7XG5pbXBvcnQgeyB1c2VNZXJjaGlGb3JtQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5pbXBvcnQge1xuICBjcmVhdGVPYmplY3RJZCxcbiAgZGVzaWduR3JvdXBDb3VudCxcbiAgZGV0YWNoRmllbGQsXG4gIGZpdFRleHRCb3gsXG4gIHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMsXG4gIHNlZWRPclN5bmNDYW52YXMsXG4gIHRlbXBsYXRlc0Zvckdyb3VwLFxuICB2YXJpYXRpb25zRm9yR3JvdXAsXG59IGZyb20gJy4uLy4uL3V0aWxzL2RyYWZ0VGVtcGxhdGVzJztcbmltcG9ydCB7XG4gIGxvYWREcmFmdHMsXG4gIHBydW5lRHJhZnRzLFxuICBzYXZlRHJhZnRzLFxuICBzYXZlZFByZXZpZXcsXG4gIHVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRTdG9yYWdlJztcbmltcG9ydCB7IGV4cG9ydERyYWZ0UG5ncywgdGVtcGxhdGVJbWFnZVNvdXJjZXMgfSBmcm9tICcuLi8uLi91dGlscy9kcmFmdEV4cG9ydCc7XG5pbXBvcnQgeyBwcm9kdWN0QWxsb3dzQWRkaXRpb25hbERlc2lnbk9iamVjdHMgfSBmcm9tICcuLi8uLi91dGlscy9kZXNpZ25lcklucHV0cyc7XG5pbXBvcnQge1xuICBEcmFmdENhbnZhc0hhbmRsZSxcbiAgRHJhZnRDYW52YXNPYmplY3QsXG4gIERyYWZ0Q2FudmFzU3RhdGUsXG59IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRFJBRlRfRk9OVCxcbiAgRFJBRlRfVEVYVF9GT05UUyxcbiAgY3NzRm9udEZhbWlseSxcbiAgZW5zdXJlRHJhZnRGb250cyxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRGb250cyc7XG5cbmNvbnN0IERyYWZ0Q2FudmFzID0gUmVhY3QubGF6eSgoKSA9PiBpbXBvcnQoJy4vRHJhZnRDYW52YXMnKSk7XG5cbmNsYXNzIERyYWZ0Q2FudmFzQm91bmRhcnkgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8XG4gIHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9LFxuICB7IGVycm9yOiBzdHJpbmcgfCBudWxsIH1cbj4ge1xuICBjb25zdHJ1Y3Rvcihwcm9wczogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHsgZXJyb3I6IG51bGwgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3I6IHVua25vd24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXJyb3I6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ0NhbnZhcyBmYWlsZWQgdG8gbG9hZCcsXG4gICAgfTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5lcnJvcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNhbnZhcy1mYWxsYmFjayc+XG4gICAgICAgICAge3RoaXMuc3RhdGUuZXJyb3J9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcEJ1YmJsZShldmVudDogUmVhY3QuU3ludGhldGljRXZlbnQpIHtcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIG9wZW46IGJvb2xlYW47XG4gIGluaXRpYWxHcm91cEluZGV4PzogbnVtYmVyO1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICBvblNhdmVkOiAoKSA9PiB2b2lkO1xufVxuXG5mdW5jdGlvbiB0ZW1wbGF0ZVNyYyh0ZW1wbGF0ZTogYW55LCBhcGlVcmw/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZSwgYXBpVXJsKTtcbn1cblxuZnVuY3Rpb24gcmVhZEZpbGVBc0RhdGFVcmwoZmlsZTogRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShTdHJpbmcocmVhZGVyLnJlc3VsdCB8fCAnJykpO1xuICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gcmVqZWN0KHJlYWRlci5lcnJvcik7XG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEcmFmdERlc2lnbmVyU2hlZXQoe1xuICBvcGVuLFxuICBpbml0aWFsR3JvdXBJbmRleCA9IDAsXG4gIG9uQ2xvc2UsXG4gIG9uU2F2ZWQsXG59OiBQcm9wcykge1xuICBjb25zdCB7XG4gICAgYXBpVXJsLFxuICAgIGNsYXNzTmFtZURyYWZ0U2hlZXQsXG4gICAgaG9va0Zvcm0sXG4gICAgcHJvZHVjdCxcbiAgfSA9IHVzZU1lcmNoaUZvcm1Db250ZXh0KCk7XG4gIGNvbnN0IGZvcm1WYWx1ZXMgPSBob29rRm9ybS53YXRjaCgpO1xuICBjb25zdCBhbGxvd0FkZGl0aW9uYWxPYmplY3RzID0gcHJvZHVjdEFsbG93c0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzKHByb2R1Y3QpO1xuICBjb25zdCBoYXNHcm91cHMgPSBwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzKHByb2R1Y3QpO1xuICBjb25zdCBncm91cENvdW50ID0gZGVzaWduR3JvdXBDb3VudChwcm9kdWN0LCBmb3JtVmFsdWVzKTtcbiAgY29uc3QgW2dyb3VwSW5kZXgsIHNldEdyb3VwSW5kZXhdID0gdXNlU3RhdGUoaW5pdGlhbEdyb3VwSW5kZXgpO1xuICBjb25zdCBbdGVtcGxhdGVJbmRleCwgc2V0VGVtcGxhdGVJbmRleF0gPSB1c2VTdGF0ZSgwKTtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV0gPSB1c2VTdGF0ZTxEcmFmdENhbnZhc1N0YXRlPih7XG4gICAgd2lkdGg6IDEwMDAsXG4gICAgaGVpZ2h0OiAxMDAwLFxuICAgIG9iamVjdHM6IFtdLFxuICB9KTtcbiAgY29uc3QgW3NlbGVjdGVkSWQsIHNldFNlbGVjdGVkSWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtlZGl0aW5nVGV4dElkLCBzZXRFZGl0aW5nVGV4dElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbbGF5ZXJzT3Blbiwgc2V0TGF5ZXJzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzYXZpbmcsIHNldFNhdmluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgY29uc3QgY2FudmFzUmVmID0gdXNlUmVmPERyYWZ0Q2FudmFzSGFuZGxlPihudWxsKTtcblxuICBjb25zdCB0ZW1wbGF0ZXMgPSB1c2VNZW1vKFxuICAgICgpID0+IHRlbXBsYXRlc0Zvckdyb3VwKFxuICAgICAgcHJvZHVjdCxcbiAgICAgIGZvcm1WYWx1ZXM/LnZhcmlhdGlvbnMgfHwgW10sXG4gICAgICBmb3JtVmFsdWVzPy52YXJpYXRpb25zR3JvdXBzPy5bZ3JvdXBJbmRleF0/LnZhcmlhdGlvbnMgfHwgW10sXG4gICAgKSxcbiAgICBbcHJvZHVjdCwgZm9ybVZhbHVlcywgZ3JvdXBJbmRleF0sXG4gICk7XG4gIGNvbnN0IHRlbXBsYXRlID0gdGVtcGxhdGVzW01hdGgubWluKHRlbXBsYXRlSW5kZXgsIHRlbXBsYXRlcy5sZW5ndGggLSAxKV0gfHwgdGVtcGxhdGVzWzBdO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIHNldEdyb3VwSW5kZXgoaW5pdGlhbEdyb3VwSW5kZXgpO1xuICB9LCBbb3BlbiwgaW5pdGlhbEdyb3VwSW5kZXhdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKSBlbnN1cmVEcmFmdEZvbnRzKCk7XG4gIH0sIFtvcGVuXSk7XG5cbiAgY29uc3QgdmFyaWF0aW9uU3luY0tleSA9IEpTT04uc3RyaW5naWZ5KFxuICAgIHZhcmlhdGlvbnNGb3JHcm91cChmb3JtVmFsdWVzLCBncm91cEluZGV4KS5tYXAoKHZhcmlhdGlvbjogYW55KSA9PiAoe1xuICAgICAgaWQ6IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmlkLFxuICAgICAgdmFsdWU6IHZhcmlhdGlvbj8udmFsdWUsXG4gICAgICBmaWxlczogKHZhcmlhdGlvbj8udmFyaWF0aW9uRmlsZXMgfHwgW10pLm1hcChcbiAgICAgICAgKGZpbGU6IGFueSkgPT4gZmlsZT8udmlld1VybCB8fCBmaWxlPy5pZFxuICAgICAgKSxcbiAgICB9KSlcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbiB8fCAhdGVtcGxhdGUpIHJldHVybjtcbiAgICBjb25zdCBkcmFmdHMgPSBsb2FkRHJhZnRzKHByb2R1Y3QuaWQpO1xuICAgIGNvbnN0IHNhdmVkID0gc2F2ZWRQcmV2aWV3KGRyYWZ0cywgZ3JvdXBJbmRleCwgdGVtcGxhdGUuaWQpO1xuICAgIGNvbnN0IHZhcmlhdGlvbnMgPSB2YXJpYXRpb25zRm9yR3JvdXAoZm9ybVZhbHVlcywgZ3JvdXBJbmRleCk7XG4gICAgc2V0U3RhdGUoc2VlZE9yU3luY0NhbnZhcyhzYXZlZD8uY2FudmFzSnNvbiB8fCBudWxsLCB0ZW1wbGF0ZSwgdmFyaWF0aW9ucykpO1xuICAgIHNldFNlbGVjdGVkSWQobnVsbCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICBzZXRFcnJvcihudWxsKTtcbiAgICAvLyBSZWxvYWQgdGhlIHNhdmVkIGNhbnZhcyB3aGVuIHN3aXRjaGluZyBncm91cC90ZW1wbGF0ZSwgbm90IG9uIGV2ZXJ5IGtleXN0cm9rZS5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXG4gIH0sIFtvcGVuLCBncm91cEluZGV4LCB0ZW1wbGF0ZT8uaWQsIHByb2R1Y3Q/LmlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW9wZW4gfHwgIXRlbXBsYXRlKSByZXR1cm47XG4gICAgY29uc3QgdmFyaWF0aW9ucyA9IHZhcmlhdGlvbnNGb3JHcm91cChmb3JtVmFsdWVzLCBncm91cEluZGV4KTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9IHNlZWRPclN5bmNDYW52YXMoY3VycmVudCwgdGVtcGxhdGUsIHZhcmlhdGlvbnMpO1xuICAgICAgY29uc3Qgc2FtZSA9IGN1cnJlbnQud2lkdGggPT09IG5leHQud2lkdGhcbiAgICAgICAgJiYgY3VycmVudC5oZWlnaHQgPT09IG5leHQuaGVpZ2h0XG4gICAgICAgICYmIGN1cnJlbnQub2JqZWN0cy5sZW5ndGggPT09IG5leHQub2JqZWN0cy5sZW5ndGhcbiAgICAgICAgJiYgY3VycmVudC5vYmplY3RzLmV2ZXJ5KChvYmosIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3Qgb3RoZXIgPSBuZXh0Lm9iamVjdHNbaW5kZXhdO1xuICAgICAgICAgIHJldHVybiBvYmouaWQgPT09IG90aGVyLmlkXG4gICAgICAgICAgICAmJiBvYmoudGV4dCA9PT0gb3RoZXIudGV4dFxuICAgICAgICAgICAgJiYgb2JqLnNyYyA9PT0gb3RoZXIuc3JjXG4gICAgICAgICAgICAmJiBvYmouZmlsbCA9PT0gb3RoZXIuZmlsbFxuICAgICAgICAgICAgJiYgb2JqLm1lcmNoaUZpZWxkSWQgPT09IG90aGVyLm1lcmNoaUZpZWxkSWQ7XG4gICAgICAgIH0pO1xuICAgICAgcmV0dXJuIHNhbWUgPyBjdXJyZW50IDogbmV4dDtcbiAgICB9KTtcbiAgfSwgW29wZW4sIHZhcmlhdGlvblN5bmNLZXksIHRlbXBsYXRlPy5pZCwgZ3JvdXBJbmRleF0pO1xuXG4gIGNvbnN0IHNlbGVjdGVkID0gc3RhdGUub2JqZWN0cy5maW5kKChvYmopID0+IG9iai5pZCA9PT0gc2VsZWN0ZWRJZCkgfHwgbnVsbDtcblxuICBmdW5jdGlvbiBwYXRjaFNlbGVjdGVkKHBhdGNoOiBQYXJ0aWFsPERyYWZ0Q2FudmFzT2JqZWN0Pikge1xuICAgIGlmICghc2VsZWN0ZWRJZCkgcmV0dXJuO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiAoe1xuICAgICAgLi4uY3VycmVudCxcbiAgICAgIG9iamVjdHM6IGN1cnJlbnQub2JqZWN0cy5tYXAoKG9iaikgPT4ge1xuICAgICAgICBpZiAob2JqLmlkICE9PSBzZWxlY3RlZElkKSByZXR1cm4gb2JqO1xuICAgICAgICBjb25zdCBuZXh0ID0geyAuLi5vYmosIC4uLnBhdGNoIH07XG4gICAgICAgIGlmIChcbiAgICAgICAgICBuZXh0LnR5cGUgPT09ICd0ZXh0J1xuICAgICAgICAgICYmICgndGV4dCcgaW4gcGF0Y2ggfHwgJ2ZvbnRTaXplJyBpbiBwYXRjaCB8fCAnZm9udEZhbWlseScgaW4gcGF0Y2gpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB7IC4uLm5leHQsIC4uLmZpdFRleHRCb3gobmV4dCkgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV4dDtcbiAgICAgIH0pLFxuICAgIH0pKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZFRleHQoKSB7XG4gICAgY29uc3QgaWQgPSBjcmVhdGVPYmplY3RJZCgpO1xuICAgIGNvbnN0IGRyYWZ0ZWQ6IERyYWZ0Q2FudmFzT2JqZWN0ID0ge1xuICAgICAgaWQsXG4gICAgICB0eXBlOiAndGV4dCcsXG4gICAgICB4OiBzdGF0ZS53aWR0aCAqIDAuNSxcbiAgICAgIHk6IHN0YXRlLmhlaWdodCAqIDAuMzUsXG4gICAgICB3aWR0aDogMSxcbiAgICAgIGhlaWdodDogMSxcbiAgICAgIHJvdGF0aW9uOiAwLFxuICAgICAgc2NhbGVYOiAxLFxuICAgICAgc2NhbGVZOiAxLFxuICAgICAgdGV4dDogJ1lvdXIgdGV4dCcsXG4gICAgICBmb250U2l6ZTogNTYsXG4gICAgICBmb250RmFtaWx5OiBERUZBVUxUX0RSQUZUX0ZPTlQsXG4gICAgICBmaWxsOiAnIzExMTExMScsXG4gICAgICBhbGlnbjogJ2xlZnQnLFxuICAgIH07XG4gICAgY29uc3Qgb2JqID0geyAuLi5kcmFmdGVkLCAuLi5maXRUZXh0Qm94KGRyYWZ0ZWQpIH07XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+ICh7IC4uLmN1cnJlbnQsIG9iamVjdHM6IFsuLi5jdXJyZW50Lm9iamVjdHMsIG9ial0gfSkpO1xuICAgIHNldFNlbGVjdGVkSWQoaWQpO1xuICAgIHNldEVkaXRpbmdUZXh0SWQoaWQpO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gYWRkSW1hZ2UoZmlsZTogRmlsZSkge1xuICAgIGNvbnN0IHNyYyA9IGF3YWl0IHJlYWRGaWxlQXNEYXRhVXJsKGZpbGUpO1xuICAgIGNvbnN0IGlkID0gY3JlYXRlT2JqZWN0SWQoKTtcbiAgICBjb25zdCBvYmo6IERyYWZ0Q2FudmFzT2JqZWN0ID0ge1xuICAgICAgaWQsXG4gICAgICB0eXBlOiAnaW1hZ2UnLFxuICAgICAgeDogc3RhdGUud2lkdGggKiAwLjIsXG4gICAgICB5OiBzdGF0ZS5oZWlnaHQgKiAwLjIsXG4gICAgICB3aWR0aDogc3RhdGUud2lkdGggKiAwLjYsXG4gICAgICBoZWlnaHQ6IHN0YXRlLmhlaWdodCAqIDAuNixcbiAgICAgIHJvdGF0aW9uOiAwLFxuICAgICAgc2NhbGVYOiAxLFxuICAgICAgc2NhbGVZOiAxLFxuICAgICAgc3JjLFxuICAgICAgbG9ja0FzcGVjdFJhdGlvOiB0cnVlLFxuICAgIH07XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+ICh7IC4uLmN1cnJlbnQsIG9iamVjdHM6IFsuLi5jdXJyZW50Lm9iamVjdHMsIG9ial0gfSkpO1xuICAgIHNldFNlbGVjdGVkSWQoaWQpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVtb3ZlU2VsZWN0ZWQoKSB7XG4gICAgaWYgKCFzZWxlY3RlZElkKSByZXR1cm47XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+IGRldGFjaEZpZWxkKGN1cnJlbnQsIHNlbGVjdGVkSWQpKTtcbiAgICBzZXRTZWxlY3RlZElkKG51bGwpO1xuICAgIHNldEVkaXRpbmdUZXh0SWQobnVsbCk7XG4gIH1cblxuICBmdW5jdGlvbiBtb3ZlTGF5ZXIoZGlyZWN0aW9uOiAxIHwgLTEpIHtcbiAgICBpZiAoIXNlbGVjdGVkSWQpIHJldHVybjtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBjdXJyZW50Lm9iamVjdHMuZmluZEluZGV4KChvYmopID0+IG9iai5pZCA9PT0gc2VsZWN0ZWRJZCk7XG4gICAgICBjb25zdCBuZXh0SW5kZXggPSBpbmRleCArIGRpcmVjdGlvbjtcbiAgICAgIGlmIChpbmRleCA8IDAgfHwgbmV4dEluZGV4IDwgMCB8fCBuZXh0SW5kZXggPj0gY3VycmVudC5vYmplY3RzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gY3VycmVudDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9iamVjdHMgPSBbLi4uY3VycmVudC5vYmplY3RzXTtcbiAgICAgIGNvbnN0IFtpdGVtXSA9IG9iamVjdHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIG9iamVjdHMuc3BsaWNlKG5leHRJbmRleCwgMCwgaXRlbSk7XG4gICAgICByZXR1cm4geyAuLi5jdXJyZW50LCBvYmplY3RzIH07XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVEb25lKCkge1xuICAgIGlmICghdGVtcGxhdGUgfHwgIXByb2R1Y3Q/LmlkKSByZXR1cm47XG4gICAgc2V0U2F2aW5nKHRydWUpO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwbmdzID0gY2FudmFzUmVmLmN1cnJlbnRcbiAgICAgICAgPyBhd2FpdCBjYW52YXNSZWYuY3VycmVudC5leHBvcnRQbmdzKClcbiAgICAgICAgOiBhd2FpdCBleHBvcnREcmFmdFBuZ3MoXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgdGVtcGxhdGVJbWFnZVNvdXJjZXModGVtcGxhdGUsIGFwaVVybCksXG4gICAgICAgICAgYXBpVXJsLFxuICAgICAgICApO1xuICAgICAgY29uc3QgZHJhZnRzID0gcHJ1bmVEcmFmdHMoXG4gICAgICAgIGxvYWREcmFmdHMocHJvZHVjdC5pZCksXG4gICAgICAgIGRlc2lnbkdyb3VwQ291bnQocHJvZHVjdCwgaG9va0Zvcm0uZ2V0VmFsdWVzKCkpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG5leHQgPSB1cHNlcnRHcm91cFRlbXBsYXRlRHJhZnQoZHJhZnRzLCBwcm9kdWN0LmlkLCBncm91cEluZGV4LCB7XG4gICAgICAgIHRlbXBsYXRlSWQ6IHRlbXBsYXRlLmlkLFxuICAgICAgICBjYW52YXNKc29uOiBzdGF0ZSxcbiAgICAgICAgLi4ucG5ncyxcbiAgICAgIH0pO1xuICAgICAgc2F2ZURyYWZ0cyhwcm9kdWN0LmlkLCBuZXh0KTtcbiAgICAgIG9uU2F2ZWQoKTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgc2V0RXJyb3IoZXJyPy5tZXNzYWdlIHx8ICdDb3VsZCBub3Qgc2F2ZSBkcmFmdCcpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRTYXZpbmcoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghb3BlbiB8fCB0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lRHJhZnRTaGVldCB8fCAnJ30gbWVyY2hpLXByb2R1Y3QtZHJhZnQtc2hlZXRgfVxuICAgICAgcm9sZT0nZGlhbG9nJ1xuICAgICAgYXJpYS1tb2RhbD0ndHJ1ZSdcbiAgICAgIGFyaWEtbGFiZWw9J0Rlc2lnbiBhcnR3b3JrJ1xuICAgICAgb25Nb3VzZURvd249e3N0b3BCdWJibGV9XG4gICAgICBvbkNsaWNrPXtzdG9wQnViYmxlfVxuICAgID5cbiAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldC1oZWFkZXInPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgb25DbGljaz17b25DbG9zZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPSdDbG9zZSBkZXNpZ25lcidcbiAgICAgICAgPlxuICAgICAgICAgIDxGYVRpbWVzIC8+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc2hlZXQtdGl0bGUnPlxuICAgICAgICAgIDxzdHJvbmc+e3RlbXBsYXRlPy5uYW1lIHx8ICdBcnR3b3JrJ308L3N0cm9uZz5cbiAgICAgICAgICB7aGFzR3JvdXBzID8gPHNwYW4+R3JvdXAge2dyb3VwSW5kZXggKyAxfTwvc3Bhbj4gOiBudWxsfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWRvbmUtYnRuJ1xuICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZURvbmV9XG4gICAgICAgICAgZGlzYWJsZWQ9e3NhdmluZ31cbiAgICAgICAgPlxuICAgICAgICAgIHtzYXZpbmcgPyA8Q2dTcGlubmVyIGNsYXNzTmFtZT0nYW5pbWF0ZV9zcGluJyAvPiA6IDxGYUNoZWNrIC8+fVxuICAgICAgICAgIERvbmVcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cblxuICAgICAge2hhc0dyb3VwcyAmJiBncm91cENvdW50ID4gMSA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNoaXBzJyByb2xlPSd0YWJsaXN0JyBhcmlhLWxhYmVsPSdHcm91cHMnPlxuICAgICAgICAgIHtBcnJheS5mcm9tKHsgbGVuZ3RoOiBncm91cENvdW50IH0sIChfLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgIHJvbGU9J3RhYidcbiAgICAgICAgICAgICAgYXJpYS1zZWxlY3RlZD17aW5kZXggPT09IGdyb3VwSW5kZXh9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWNoaXAke2luZGV4ID09PSBncm91cEluZGV4ID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEdyb3VwSW5kZXgoaW5kZXgpO1xuICAgICAgICAgICAgICAgIHNldFRlbXBsYXRlSW5kZXgoMCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEdyb3VwIHtpbmRleCArIDF9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cblxuICAgICAge3RlbXBsYXRlcy5sZW5ndGggPiAxID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcHMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J1RlbXBsYXRlcyc+XG4gICAgICAgICAge3RlbXBsYXRlcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWQgPz8gaW5kZXh9XG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpdGVtLmlkID09PSB0ZW1wbGF0ZT8uaWR9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1lcmNoaS1wcm9kdWN0LWRyYWZ0LWNoaXAke2l0ZW0uaWQgPT09IHRlbXBsYXRlPy5pZCA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldFRlbXBsYXRlSW5kZXgoaW5kZXgpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aXRlbS5uYW1lIHx8IGBUZW1wbGF0ZSAke2luZGV4ICsgMX1gfVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IG51bGx9XG5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1tYWluJz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXNoZWV0LWJvZHknPlxuICAgICAgICAgIDxEcmFmdENhbnZhc0JvdW5kYXJ5PlxuICAgICAgICAgICAgPFJlYWN0LlN1c3BlbnNlXG4gICAgICAgICAgICAgIGZhbGxiYWNrPXtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2FudmFzLWZhbGxiYWNrJz5Mb2FkaW5nIGNhbnZhc+KApjwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxEcmFmdENhbnZhc1xuICAgICAgICAgICAgICAgIHJlZj17Y2FudmFzUmVmfVxuICAgICAgICAgICAgICAgIHN0YXRlPXtzdGF0ZX1cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZT17dGVtcGxhdGV9XG4gICAgICAgICAgICAgICAgdGVtcGxhdGVTcmM9e3RlbXBsYXRlU3JjKHRlbXBsYXRlLCBhcGlVcmwpfVxuICAgICAgICAgICAgICAgIHNlbGVjdGVkSWQ9e3NlbGVjdGVkSWR9XG4gICAgICAgICAgICAgICAgb25TZWxlY3Q9e3NldFNlbGVjdGVkSWR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e3NldFN0YXRlfVxuICAgICAgICAgICAgICAgIG9uRWRpdFRleHQ9eyhpZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc2V0TGF5ZXJzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZElkKGlkKTtcbiAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdUZXh0SWQoaWQpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgICAgIDwvRHJhZnRDYW52YXNCb3VuZGFyeT5cblxuICAgICAgICAgIHtsYXllcnNPcGVuID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVycyc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1sYXllcnMtaGVhZCc+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz5MYXllcnM8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17KCkgPT4gc2V0TGF5ZXJzT3BlbihmYWxzZSl9IGFyaWEtbGFiZWw9J0Nsb3NlIGxheWVycyc+XG4gICAgICAgICAgICAgICAgICA8RmFUaW1lcyAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge3N0YXRlLm9iamVjdHMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICAgIDxwPk5vIG9iamVjdHMgeWV0LiBBZGQgdGV4dCBvciBhbiBpbWFnZS48L3A+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgWy4uLnN0YXRlLm9iamVjdHNdLnJldmVyc2UoKS5tYXAoKG9iaiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAga2V5PXtvYmouaWR9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtbGF5ZXIke29iai5pZCA9PT0gc2VsZWN0ZWRJZCA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZElkKG9iai5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZhUGx1cyBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVyLWljb24nIC8+XG4gICAgICAgICAgICAgICAgICAgIHtvYmoudHlwZSA9PT0gJ3RleHQnID8gKG9iai50ZXh0IHx8ICdUZXh0JykgOiBvYmoudHlwZSA9PT0gJ2ltYWdlJyA/ICdJbWFnZScgOiAnQmFzZSBjb2xvdXInfVxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57c3RhdGUub2JqZWN0cy5sZW5ndGggLSBpbmRleH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge2Vycm9yID8gPHAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1lcnJvcic+e2Vycm9yfTwvcD4gOiBudWxsfVxuXG4gICAgICAgIDxhc2lkZSBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWRvY2snPlxuICAgICAgICAgIHtzZWxlY3RlZCA/IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1pbnNwZWN0b3InPlxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ3RleHQnID8gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC10ZXh0LWlucHV0J1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQudGV4dCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgcm93cz17Mn1cbiAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXtlZGl0aW5nVGV4dElkID09PSBzZWxlY3RlZC5pZH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nRWRpdCB0ZXh0J1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHBhdGNoU2VsZWN0ZWQoeyB0ZXh0OiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1mb250Jz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktc3Itb25seSc+Rm9udDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0ZvbnQnXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkLmZvbnRGYW1pbHkgfHwgREVGQVVMVF9EUkFGVF9GT05UfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGZvbnRGYW1pbHk6IGNzc0ZvbnRGYW1pbHkoc2VsZWN0ZWQuZm9udEZhbWlseSB8fCBERUZBVUxUX0RSQUZUX0ZPTlQpIH19XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZm9udEZhbWlseTogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7RFJBRlRfVEVYVF9GT05UUy5tYXAoKGZvbnQpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtmb250LnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9udC52YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgZm9udEZhbWlseTogY3NzRm9udEZhbWlseShmb250LnZhbHVlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9udC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zdGVwcGVyJ1xuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogTWF0aC5tYXgoMTIsIChzZWxlY3RlZC5mb250U2l6ZSB8fCA0OCkgLSA4KSxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J1NtYWxsZXIgdGV4dCdcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQS1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc3RlcHBlcidcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGF0Y2hTZWxlY3RlZCh7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IE1hdGgubWluKDI0MCwgKHNlbGVjdGVkLmZvbnRTaXplIHx8IDQ4KSArIDgpLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nTGFyZ2VyIHRleHQnXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEErXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZC5jb2xvdXJGaWVsZElkICE9IG51bGwgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNvbG9yJz5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1zci1vbmx5Jz5Db2xvdXI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdjb2xvcidcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXsvXiNbMC05YS1mQS1GXXs2fSQvLnRlc3Qoc2VsZWN0ZWQuZmlsbCB8fCAnJykgPyBzZWxlY3RlZC5maWxsIDogJyMxMTExMTEnfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZmlsbDogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3NlbGVjdGVkLnR5cGUgPT09ICdpbWFnZScgPyAoXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4ke3NlbGVjdGVkLmxvY2tBc3BlY3RSYXRpbyA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHsgbG9ja0FzcGVjdFJhdGlvOiAhc2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvIH0pfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gJ1VubG9jayBhc3BlY3QgcmF0aW8nIDogJ0xvY2sgYXNwZWN0IHJhdGlvJ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gPEZhTG9jayAvPiA6IDxGYVVubG9jayAvPn1cbiAgICAgICAgICAgICAgICAgIFJhdGlvXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ3JlY3QnID8gKFxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNvbG9yJz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLXNyLW9ubHknPkZpbGwgY29sb3VyPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2NvbG9yJ1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQuZmlsbCB8fCAnI2NjY2NjYyd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gcGF0Y2hTZWxlY3RlZCh7IGZpbGw6IGUudGFyZ2V0LnZhbHVlIH0pfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHBhdGNoU2VsZWN0ZWQoeyBzY2FsZVg6IChzZWxlY3RlZC5zY2FsZVggfHwgMSkgKiAtMSB9KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdGbGlwJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgRmxpcFxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG1vdmVMYXllcigxKX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdCcmluZyBmb3J3YXJkJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhQXJyb3dVcCAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG1vdmVMYXllcigtMSl9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nU2VuZCBiYWNrd2FyZCdcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGYUFycm93RG93biAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuIGlzLWRhbmdlcidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtyZW1vdmVTZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdEZWxldGUnXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RmFUcmFzaCAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgPG5hdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRvb2xiYXInIGFyaWEtbGFiZWw9J0Rlc2lnbiB0b29scyc+XG4gICAgICAgICAgICB7YWxsb3dBZGRpdGlvbmFsT2JqZWN0cyA/IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIGFkZFRleHQoKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhRm9udCAvPlxuICAgICAgICAgICAgICAgIDxzcGFuPlRleHQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7YWxsb3dBZGRpdGlvbmFsT2JqZWN0cyA/IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdUZXh0SWQobnVsbCk7XG4gICAgICAgICAgICAgICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhSW1hZ2UgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj5JbWFnZTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKChvcGVuTm93KSA9PiAhb3Blbk5vdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYUxheWVyR3JvdXAgLz5cbiAgICAgICAgICAgICAgPHNwYW4+TGF5ZXJzPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17cmVtb3ZlU2VsZWN0ZWR9IGRpc2FibGVkPXshc2VsZWN0ZWRJZH0+XG4gICAgICAgICAgICAgIDxGYVRyYXNoIC8+XG4gICAgICAgICAgICAgIDxzcGFuPkRlbGV0ZTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgICB0eXBlPSdmaWxlJ1xuICAgICAgICAgICAgYWNjZXB0PSdpbWFnZS8qJ1xuICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1maWxlJ1xuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBlLnRhcmdldC5maWxlcz8uWzBdO1xuICAgICAgICAgICAgICBpZiAoZmlsZSkgYWRkSW1hZ2UoZmlsZSk7XG4gICAgICAgICAgICAgIGUudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FB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
734
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3IiLCJlIiwidCIsInIiLCJuIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsIl9uIiwiRiIsInMiLCJuZXh0IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwidG9TdHJpbmciLCJzbGljZSIsIm5hbWUiLCJ0ZXN0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIlJlZmVyZW5jZUVycm9yIiwiQm9vbGVhbiIsInZhbHVlT2YiLCJfaW5oZXJpdHMiLCJfc2V0UHJvdG90eXBlT2YiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkZhQXJyb3dEb3duIiwiRmFBcnJvd1VwIiwiRmFDaGVjayIsIkZhRm9udCIsIkZhSW1hZ2UiLCJGYUxheWVyR3JvdXAiLCJGYUxvY2siLCJGYVBsdXMiLCJGYVVubG9jayIsIkZhVGltZXMiLCJGYVRyYXNoIiwiQ2dTcGlubmVyIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjcmVhdGVPYmplY3RJZCIsImRlc2lnbkdyb3VwQ291bnQiLCJkZXRhY2hGaWVsZCIsImZpdFRleHRCb3giLCJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwic2VlZE9yU3luY0NhbnZhcyIsInRlbXBsYXRlc0Zvckdyb3VwIiwidmFyaWF0aW9uc0Zvckdyb3VwIiwiZW1icm9pZGVyeU1pbGxpbWV0cmVzIiwiZW1icm9pZGVyeVZhbHVlSnNvbiIsInBhcnNlRW1icm9pZGVyeVZhbHVlIiwidmFyaWF0aW9uVmFsdWVQYXRoIiwibG9hZERyYWZ0cyIsInBydW5lRHJhZnRzIiwic2F2ZURyYWZ0cyIsInNhdmVkUHJldmlldyIsInVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdCIsImV4cG9ydERyYWZ0UG5ncyIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwicHJvZHVjdEFsbG93c0FkZGl0aW9uYWxEZXNpZ25PYmplY3RzIiwiREVGQVVMVF9EUkFGVF9GT05UIiwiRFJBRlRfVEVYVF9GT05UUyIsImNzc0ZvbnRGYW1pbHkiLCJlbnN1cmVEcmFmdEZvbnRzIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiRHJhZnRDYW52YXMiLCJsYXp5IiwiRHJhZnRDYW52YXNCb3VuZGFyeSIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwic3RhdGUiLCJlcnJvciIsInJlbmRlciIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiQ29tcG9uZW50Iiwic3RvcEJ1YmJsZSIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwidGVtcGxhdGVTcmMiLCJ0ZW1wbGF0ZSIsImFwaVVybCIsInJlYWRGaWxlQXNEYXRhVXJsIiwiZmlsZSIsInJlamVjdCIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJyZXN1bHQiLCJvbmVycm9yIiwicmVhZEFzRGF0YVVSTCIsIkRyYWZ0RGVzaWduZXJTaGVldCIsIl9yZWYiLCJvcGVuIiwiX3JlZiRpbml0aWFsR3JvdXBJbmRlIiwiaW5pdGlhbEdyb3VwSW5kZXgiLCJvbkNsb3NlIiwib25TYXZlZCIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNsYXNzTmFtZURyYWZ0U2hlZXQiLCJnZXRRdW90ZSIsImhvb2tGb3JtIiwicHJvZHVjdCIsImZvcm1WYWx1ZXMiLCJ3YXRjaCIsImFsbG93QWRkaXRpb25hbE9iamVjdHMiLCJoYXNHcm91cHMiLCJncm91cENvdW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImdyb3VwSW5kZXgiLCJzZXRHcm91cEluZGV4IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJ0ZW1wbGF0ZUluZGV4Iiwic2V0VGVtcGxhdGVJbmRleCIsIl91c2VTdGF0ZTUiLCJ3aWR0aCIsImhlaWdodCIsIm9iamVjdHMiLCJfdXNlU3RhdGU2Iiwic2V0U3RhdGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkSWQiLCJzZXRTZWxlY3RlZElkIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJlZGl0aW5nVGV4dElkIiwic2V0RWRpdGluZ1RleHRJZCIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImxheWVyc09wZW4iLCJzZXRMYXllcnNPcGVuIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNhdmluZyIsInNldFNhdmluZyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXRFcnJvciIsImZpbGVJbnB1dFJlZiIsImNhbnZhc1JlZiIsInRlbXBsYXRlcyIsIl9mb3JtVmFsdWVzJHZhcmlhdGlvbiIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiTWF0aCIsIm1pbiIsInZhcmlhdGlvblN5bmNLZXkiLCJKU09OIiwic3RyaW5naWZ5IiwibWFwIiwidmFyaWF0aW9uIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiaWQiLCJ2YXJpYXRpb25GaWVsZCIsImZpbGVzIiwidmFyaWF0aW9uRmlsZXMiLCJ2aWV3VXJsIiwiZHJhZnRzIiwic2F2ZWQiLCJjYW52YXNKc29uIiwiY3VycmVudCIsInNhbWUiLCJldmVyeSIsIm9iaiIsImluZGV4Iiwib3RoZXIiLCJ0ZXh0Iiwic3JjIiwiZmlsbCIsIm1lcmNoaUZpZWxkSWQiLCJoYW5kbGVDYW52YXNDaGFuZ2UiLCJnZXRWYWx1ZXMiLCJ3cm90ZSIsIl9pdGVyYXRvciIsIl9zdGVwIiwiX2xvb3AiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYyIiwiYmVmb3JlIiwiZmluZCIsIml0ZW0iLCJfaXRlbSR2YXJpYXRpb25GaWVsZCIsImZpZWxkVHlwZSIsIm1tIiwicGF0aCIsInBhcnNlZCIsInNldFZhbHVlIiwic2hvdWxkRGlydHkiLCJfcmV0IiwiZXJyIiwic2VsZWN0ZWQiLCJwYXRjaFNlbGVjdGVkIiwicGF0Y2giLCJ0eXBlIiwiYWRkVGV4dCIsImRyYWZ0ZWQiLCJ4Iiwicm90YXRpb24iLCJzY2FsZVgiLCJzY2FsZVkiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJhbGlnbiIsImNvbmNhdCIsImFkZEltYWdlIiwiX3giLCJfYWRkSW1hZ2UiLCJfY2FsbGVlIiwiX2NvbnRleHQiLCJsb2NrQXNwZWN0UmF0aW8iLCJyZW1vdmVTZWxlY3RlZCIsIm1vdmVMYXllciIsImRpcmVjdGlvbiIsImZpbmRJbmRleCIsIm5leHRJbmRleCIsIl9vYmplY3RzJHNwbGljZSIsInNwbGljZSIsIl9vYmplY3RzJHNwbGljZTIiLCJoYW5kbGVEb25lIiwiX2hhbmRsZURvbmUiLCJfY2FsbGVlMiIsInBuZ3MiLCJfdCIsIl90MiIsIl9jb250ZXh0MiIsImV4cG9ydFBuZ3MiLCJ0ZW1wbGF0ZUlkIiwiZG9jdW1lbnQiLCJyb2xlIiwib25Nb3VzZURvd24iLCJvbkNsaWNrIiwiZGlzYWJsZWQiLCJfIiwiX2l0ZW0kaWQiLCJTdXNwZW5zZSIsImZhbGxiYWNrIiwicmVmIiwib25TZWxlY3QiLCJvbkNoYW5nZSIsIm9uRWRpdFRleHQiLCJyZXZlcnNlIiwicm93cyIsImF1dG9Gb2N1cyIsInRhcmdldCIsInN0eWxlIiwiZm9udCIsImxhYmVsIiwibWF4IiwiY29sb3VyRmllbGRJZCIsIl9maWxlSW5wdXRSZWYkY3VycmVudCIsImNsaWNrIiwib3Blbk5vdyIsImFjY2VwdCIsIl9lJHRhcmdldCRmaWxlcyIsImJvZHkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kcmFmdHMvRHJhZnREZXNpZ25lclNoZWV0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IHtcbiAgRmFBcnJvd0Rvd24sXG4gIEZhQXJyb3dVcCxcbiAgRmFDaGVjayxcbiAgRmFGb250LFxuICBGYUltYWdlLFxuICBGYUxheWVyR3JvdXAsXG4gIEZhTG9jayxcbiAgRmFQbHVzLFxuICBGYVVubG9jayxcbiAgRmFUaW1lcyxcbiAgRmFUcmFzaCxcbn0gZnJvbSAncmVhY3QtaWNvbnMvZmEnO1xuaW1wb3J0IHsgQ2dTcGlubmVyIH0gZnJvbSAncmVhY3QtaWNvbnMvY2cnO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi8uLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuaW1wb3J0IHtcbiAgY3JlYXRlT2JqZWN0SWQsXG4gIGRlc2lnbkdyb3VwQ291bnQsXG4gIGRldGFjaEZpZWxkLFxuICBmaXRUZXh0Qm94LFxuICBwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzLFxuICBzZWVkT3JTeW5jQ2FudmFzLFxuICB0ZW1wbGF0ZXNGb3JHcm91cCxcbiAgdmFyaWF0aW9uc0Zvckdyb3VwLFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdFRlbXBsYXRlcyc7XG5pbXBvcnQge1xuICBlbWJyb2lkZXJ5TWlsbGltZXRyZXMsXG4gIGVtYnJvaWRlcnlWYWx1ZUpzb24sXG4gIHBhcnNlRW1icm9pZGVyeVZhbHVlLFxuICB2YXJpYXRpb25WYWx1ZVBhdGgsXG59IGZyb20gJy4uLy4uL3V0aWxzL2VtYnJvaWRlcnknO1xuaW1wb3J0IHtcbiAgbG9hZERyYWZ0cyxcbiAgcHJ1bmVEcmFmdHMsXG4gIHNhdmVEcmFmdHMsXG4gIHNhdmVkUHJldmlldyxcbiAgdXBzZXJ0R3JvdXBUZW1wbGF0ZURyYWZ0LFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdFN0b3JhZ2UnO1xuaW1wb3J0IHsgZXhwb3J0RHJhZnRQbmdzLCB0ZW1wbGF0ZUltYWdlU291cmNlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2RyYWZ0RXhwb3J0JztcbmltcG9ydCB7IHByb2R1Y3RBbGxvd3NBZGRpdGlvbmFsRGVzaWduT2JqZWN0cyB9IGZyb20gJy4uLy4uL3V0aWxzL2Rlc2lnbmVySW5wdXRzJztcbmltcG9ydCB7XG4gIERyYWZ0Q2FudmFzSGFuZGxlLFxuICBEcmFmdENhbnZhc09iamVjdCxcbiAgRHJhZnRDYW52YXNTdGF0ZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EUkFGVF9GT05ULFxuICBEUkFGVF9URVhUX0ZPTlRTLFxuICBjc3NGb250RmFtaWx5LFxuICBlbnN1cmVEcmFmdEZvbnRzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdEZvbnRzJztcblxuY29uc3QgRHJhZnRDYW52YXMgPSBSZWFjdC5sYXp5KCgpID0+IGltcG9ydCgnLi9EcmFmdENhbnZhcycpKTtcblxuY2xhc3MgRHJhZnRDYW52YXNCb3VuZGFyeSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcbiAgeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0sXG4gIHsgZXJyb3I6IHN0cmluZyB8IG51bGwgfVxuPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0geyBlcnJvcjogbnVsbCB9O1xuICB9XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcjogdW5rbm93bikge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcjogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnQ2FudmFzIGZhaWxlZCB0byBsb2FkJyxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLmVycm9yKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2FudmFzLWZhbGxiYWNrJz5cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvcn1cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wQnViYmxlKGV2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudCkge1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaW5pdGlhbEdyb3VwSW5kZXg/OiBudW1iZXI7XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIG9uU2F2ZWQ6ICgpID0+IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIHRlbXBsYXRlU3JjKHRlbXBsYXRlOiBhbnksIGFwaVVybD86IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHRlbXBsYXRlSW1hZ2VTb3VyY2VzKHRlbXBsYXRlLCBhcGlVcmwpO1xufVxuXG5mdW5jdGlvbiByZWFkRmlsZUFzRGF0YVVybChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKFN0cmluZyhyZWFkZXIucmVzdWx0IHx8ICcnKSk7XG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVhZGVyLmVycm9yKTtcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERyYWZ0RGVzaWduZXJTaGVldCh7XG4gIG9wZW4sXG4gIGluaXRpYWxHcm91cEluZGV4ID0gMCxcbiAgb25DbG9zZSxcbiAgb25TYXZlZCxcbn06IFByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBhcGlVcmwsXG4gICAgY2xhc3NOYW1lRHJhZnRTaGVldCxcbiAgICBnZXRRdW90ZSxcbiAgICBob29rRm9ybSxcbiAgICBwcm9kdWN0LFxuICB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgZm9ybVZhbHVlcyA9IGhvb2tGb3JtLndhdGNoKCk7XG4gIGNvbnN0IGFsbG93QWRkaXRpb25hbE9iamVjdHMgPSBwcm9kdWN0QWxsb3dzQWRkaXRpb25hbERlc2lnbk9iamVjdHMocHJvZHVjdCk7XG4gIGNvbnN0IGhhc0dyb3VwcyA9IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMocHJvZHVjdCk7XG4gIGNvbnN0IGdyb3VwQ291bnQgPSBkZXNpZ25Hcm91cENvdW50KHByb2R1Y3QsIGZvcm1WYWx1ZXMpO1xuICBjb25zdCBbZ3JvdXBJbmRleCwgc2V0R3JvdXBJbmRleF0gPSB1c2VTdGF0ZShpbml0aWFsR3JvdXBJbmRleCk7XG4gIGNvbnN0IFt0ZW1wbGF0ZUluZGV4LCBzZXRUZW1wbGF0ZUluZGV4XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlPERyYWZ0Q2FudmFzU3RhdGU+KHtcbiAgICB3aWR0aDogMTAwMCxcbiAgICBoZWlnaHQ6IDEwMDAsXG4gICAgb2JqZWN0czogW10sXG4gIH0pO1xuICBjb25zdCBbc2VsZWN0ZWRJZCwgc2V0U2VsZWN0ZWRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2VkaXRpbmdUZXh0SWQsIHNldEVkaXRpbmdUZXh0SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsYXllcnNPcGVuLCBzZXRMYXllcnNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NhdmluZywgc2V0U2F2aW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjYW52YXNSZWYgPSB1c2VSZWY8RHJhZnRDYW52YXNIYW5kbGU+KG51bGwpO1xuXG4gIGNvbnN0IHRlbXBsYXRlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gdGVtcGxhdGVzRm9yR3JvdXAoXG4gICAgICBwcm9kdWN0LFxuICAgICAgZm9ybVZhbHVlcz8udmFyaWF0aW9ucyB8fCBbXSxcbiAgICAgIGZvcm1WYWx1ZXM/LnZhcmlhdGlvbnNHcm91cHM/Lltncm91cEluZGV4XT8udmFyaWF0aW9ucyB8fCBbXSxcbiAgICApLFxuICAgIFtwcm9kdWN0LCBmb3JtVmFsdWVzLCBncm91cEluZGV4XSxcbiAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSB0ZW1wbGF0ZXNbTWF0aC5taW4odGVtcGxhdGVJbmRleCwgdGVtcGxhdGVzLmxlbmd0aCAtIDEpXSB8fCB0ZW1wbGF0ZXNbMF07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3Blbikgc2V0R3JvdXBJbmRleChpbml0aWFsR3JvdXBJbmRleCk7XG4gIH0sIFtvcGVuLCBpbml0aWFsR3JvdXBJbmRleF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIGVuc3VyZURyYWZ0Rm9udHMoKTtcbiAgfSwgW29wZW5dKTtcblxuICBjb25zdCB2YXJpYXRpb25TeW5jS2V5ID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgdmFyaWF0aW9uc0Zvckdyb3VwKGZvcm1WYWx1ZXMsIGdyb3VwSW5kZXgpLm1hcCgodmFyaWF0aW9uOiBhbnkpID0+ICh7XG4gICAgICBpZDogdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uaWQsXG4gICAgICB2YWx1ZTogdmFyaWF0aW9uPy52YWx1ZSxcbiAgICAgIGZpbGVzOiAodmFyaWF0aW9uPy52YXJpYXRpb25GaWxlcyB8fCBbXSkubWFwKFxuICAgICAgICAoZmlsZTogYW55KSA9PiBmaWxlPy52aWV3VXJsIHx8IGZpbGU/LmlkXG4gICAgICApLFxuICAgIH0pKVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuIHx8ICF0ZW1wbGF0ZSkgcmV0dXJuO1xuICAgIGNvbnN0IGRyYWZ0cyA9IGxvYWREcmFmdHMocHJvZHVjdC5pZCk7XG4gICAgY29uc3Qgc2F2ZWQgPSBzYXZlZFByZXZpZXcoZHJhZnRzLCBncm91cEluZGV4LCB0ZW1wbGF0ZS5pZCk7XG4gICAgY29uc3QgdmFyaWF0aW9ucyA9IHZhcmlhdGlvbnNGb3JHcm91cChmb3JtVmFsdWVzLCBncm91cEluZGV4KTtcbiAgICBzZXRTdGF0ZShzZWVkT3JTeW5jQ2FudmFzKHNhdmVkPy5jYW52YXNKc29uIHx8IG51bGwsIHRlbXBsYXRlLCB2YXJpYXRpb25zKSk7XG4gICAgc2V0U2VsZWN0ZWRJZChudWxsKTtcbiAgICBzZXRFZGl0aW5nVGV4dElkKG51bGwpO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIC8vIFJlbG9hZCB0aGUgc2F2ZWQgY2FudmFzIHdoZW4gc3dpdGNoaW5nIGdyb3VwL3RlbXBsYXRlLCBub3Qgb24gZXZlcnkga2V5c3Ryb2tlLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW29wZW4sIGdyb3VwSW5kZXgsIHRlbXBsYXRlPy5pZCwgcHJvZHVjdD8uaWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbiB8fCAhdGVtcGxhdGUpIHJldHVybjtcbiAgICBjb25zdCB2YXJpYXRpb25zID0gdmFyaWF0aW9uc0Zvckdyb3VwKGZvcm1WYWx1ZXMsIGdyb3VwSW5kZXgpO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gc2VlZE9yU3luY0NhbnZhcyhjdXJyZW50LCB0ZW1wbGF0ZSwgdmFyaWF0aW9ucyk7XG4gICAgICBjb25zdCBzYW1lID0gY3VycmVudC53aWR0aCA9PT0gbmV4dC53aWR0aFxuICAgICAgICAmJiBjdXJyZW50LmhlaWdodCA9PT0gbmV4dC5oZWlnaHRcbiAgICAgICAgJiYgY3VycmVudC5vYmplY3RzLmxlbmd0aCA9PT0gbmV4dC5vYmplY3RzLmxlbmd0aFxuICAgICAgICAmJiBjdXJyZW50Lm9iamVjdHMuZXZlcnkoKG9iaiwgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBvdGhlciA9IG5leHQub2JqZWN0c1tpbmRleF07XG4gICAgICAgICAgcmV0dXJuIG9iai5pZCA9PT0gb3RoZXIuaWRcbiAgICAgICAgICAgICYmIG9iai50ZXh0ID09PSBvdGhlci50ZXh0XG4gICAgICAgICAgICAmJiBvYmouc3JjID09PSBvdGhlci5zcmNcbiAgICAgICAgICAgICYmIG9iai5maWxsID09PSBvdGhlci5maWxsXG4gICAgICAgICAgICAmJiBvYmoud2lkdGggPT09IG90aGVyLndpZHRoXG4gICAgICAgICAgICAmJiBvYmouaGVpZ2h0ID09PSBvdGhlci5oZWlnaHRcbiAgICAgICAgICAgICYmIG9iai5tZXJjaGlGaWVsZElkID09PSBvdGhlci5tZXJjaGlGaWVsZElkO1xuICAgICAgICB9KTtcbiAgICAgIHJldHVybiBzYW1lID8gY3VycmVudCA6IG5leHQ7XG4gICAgfSk7XG4gIH0sIFtvcGVuLCB2YXJpYXRpb25TeW5jS2V5LCB0ZW1wbGF0ZT8uaWQsIGdyb3VwSW5kZXhdKTtcblxuICBmdW5jdGlvbiBoYW5kbGVDYW52YXNDaGFuZ2UobmV4dDogRHJhZnRDYW52YXNTdGF0ZSkge1xuICAgIGNvbnN0IHZhcmlhdGlvbnMgPSB2YXJpYXRpb25zRm9yR3JvdXAoaG9va0Zvcm0uZ2V0VmFsdWVzKCksIGdyb3VwSW5kZXgpO1xuICAgIGxldCB3cm90ZSA9IGZhbHNlO1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIG5leHQub2JqZWN0cykge1xuICAgICAgaWYgKG9iai5tZXJjaGlGaWVsZElkID09IG51bGwpIGNvbnRpbnVlO1xuICAgICAgY29uc3QgYmVmb3JlID0gc3RhdGUub2JqZWN0cy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBvYmouaWQpO1xuICAgICAgaWYgKGJlZm9yZSAmJiBiZWZvcmUud2lkdGggPT09IG9iai53aWR0aCAmJiBiZWZvcmUuaGVpZ2h0ID09PSBvYmouaGVpZ2h0KSBjb250aW51ZTtcbiAgICAgIGNvbnN0IHZhcmlhdGlvbiA9IHZhcmlhdGlvbnMuZmluZChcbiAgICAgICAgKGl0ZW06IGFueSkgPT4gTnVtYmVyKGl0ZW0/LnZhcmlhdGlvbkZpZWxkPy5pZCkgPT09IE51bWJlcihvYmoubWVyY2hpRmllbGRJZClcbiAgICAgICk7XG4gICAgICBpZiAoTnVtYmVyKHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSkgIT09IDE2KSBjb250aW51ZTtcbiAgICAgIGNvbnN0IG1tID0gZW1icm9pZGVyeU1pbGxpbWV0cmVzKG9iai53aWR0aCwgb2JqLmhlaWdodCwgdGVtcGxhdGUpO1xuICAgICAgaWYgKCFtbSkgY29udGludWU7XG4gICAgICBjb25zdCBwYXRoID0gdmFyaWF0aW9uVmFsdWVQYXRoKGhvb2tGb3JtLmdldFZhbHVlcygpLCBvYmoubWVyY2hpRmllbGRJZCk7XG4gICAgICBpZiAoIXBhdGgpIGNvbnRpbnVlO1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VFbWJyb2lkZXJ5VmFsdWUodmFyaWF0aW9uPy52YWx1ZSkgfHwge307XG4gICAgICBob29rRm9ybS5zZXRWYWx1ZShwYXRoLCBlbWJyb2lkZXJ5VmFsdWVKc29uKHsgLi4ucGFyc2VkLCAuLi5tbSB9KSwgeyBzaG91bGREaXJ0eTogdHJ1ZSB9KTtcbiAgICAgIHdyb3RlID0gdHJ1ZTtcbiAgICB9XG4gICAgc2V0U3RhdGUobmV4dCk7XG4gICAgaWYgKHdyb3RlKSBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IGdldFF1b3RlKCkpO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWQgPSBzdGF0ZS5vYmplY3RzLmZpbmQoKG9iaikgPT4gb2JqLmlkID09PSBzZWxlY3RlZElkKSB8fCBudWxsO1xuXG4gIGZ1bmN0aW9uIHBhdGNoU2VsZWN0ZWQocGF0Y2g6IFBhcnRpYWw8RHJhZnRDYW52YXNPYmplY3Q+KSB7XG4gICAgaWYgKCFzZWxlY3RlZElkKSByZXR1cm47XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+ICh7XG4gICAgICAuLi5jdXJyZW50LFxuICAgICAgb2JqZWN0czogY3VycmVudC5vYmplY3RzLm1hcCgob2JqKSA9PiB7XG4gICAgICAgIGlmIChvYmouaWQgIT09IHNlbGVjdGVkSWQpIHJldHVybiBvYmo7XG4gICAgICAgIGNvbnN0IG5leHQgPSB7IC4uLm9iaiwgLi4ucGF0Y2ggfTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG5leHQudHlwZSA9PT0gJ3RleHQnXG4gICAgICAgICAgJiYgKCd0ZXh0JyBpbiBwYXRjaCB8fCAnZm9udFNpemUnIGluIHBhdGNoIHx8ICdmb250RmFtaWx5JyBpbiBwYXRjaClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ubmV4dCwgLi4uZml0VGV4dEJveChuZXh0KSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgfSksXG4gICAgfSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkVGV4dCgpIHtcbiAgICBjb25zdCBpZCA9IGNyZWF0ZU9iamVjdElkKCk7XG4gICAgY29uc3QgZHJhZnRlZDogRHJhZnRDYW52YXNPYmplY3QgPSB7XG4gICAgICBpZCxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIHg6IHN0YXRlLndpZHRoICogMC41LFxuICAgICAgeTogc3RhdGUuaGVpZ2h0ICogMC4zNSxcbiAgICAgIHdpZHRoOiAxLFxuICAgICAgaGVpZ2h0OiAxLFxuICAgICAgcm90YXRpb246IDAsXG4gICAgICBzY2FsZVg6IDEsXG4gICAgICBzY2FsZVk6IDEsXG4gICAgICB0ZXh0OiAnWW91ciB0ZXh0JyxcbiAgICAgIGZvbnRTaXplOiA1NixcbiAgICAgIGZvbnRGYW1pbHk6IERFRkFVTFRfRFJBRlRfRk9OVCxcbiAgICAgIGZpbGw6ICcjMTExMTExJyxcbiAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgfTtcbiAgICBjb25zdCBvYmogPSB7IC4uLmRyYWZ0ZWQsIC4uLmZpdFRleHRCb3goZHJhZnRlZCkgfTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gKHsgLi4uY3VycmVudCwgb2JqZWN0czogWy4uLmN1cnJlbnQub2JqZWN0cywgb2JqXSB9KSk7XG4gICAgc2V0U2VsZWN0ZWRJZChpZCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChpZCk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBhZGRJbWFnZShmaWxlOiBGaWxlKSB7XG4gICAgY29uc3Qgc3JjID0gYXdhaXQgcmVhZEZpbGVBc0RhdGFVcmwoZmlsZSk7XG4gICAgY29uc3QgaWQgPSBjcmVhdGVPYmplY3RJZCgpO1xuICAgIGNvbnN0IG9iajogRHJhZnRDYW52YXNPYmplY3QgPSB7XG4gICAgICBpZCxcbiAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICB4OiBzdGF0ZS53aWR0aCAqIDAuMixcbiAgICAgIHk6IHN0YXRlLmhlaWdodCAqIDAuMixcbiAgICAgIHdpZHRoOiBzdGF0ZS53aWR0aCAqIDAuNixcbiAgICAgIGhlaWdodDogc3RhdGUuaGVpZ2h0ICogMC42LFxuICAgICAgcm90YXRpb246IDAsXG4gICAgICBzY2FsZVg6IDEsXG4gICAgICBzY2FsZVk6IDEsXG4gICAgICBzcmMsXG4gICAgICBsb2NrQXNwZWN0UmF0aW86IHRydWUsXG4gICAgfTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gKHsgLi4uY3VycmVudCwgb2JqZWN0czogWy4uLmN1cnJlbnQub2JqZWN0cywgb2JqXSB9KSk7XG4gICAgc2V0U2VsZWN0ZWRJZChpZCk7XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVTZWxlY3RlZCgpIHtcbiAgICBpZiAoIXNlbGVjdGVkSWQpIHJldHVybjtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gZGV0YWNoRmllbGQoY3VycmVudCwgc2VsZWN0ZWRJZCkpO1xuICAgIHNldFNlbGVjdGVkSWQobnVsbCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1vdmVMYXllcihkaXJlY3Rpb246IDEgfCAtMSkge1xuICAgIGlmICghc2VsZWN0ZWRJZCkgcmV0dXJuO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGN1cnJlbnQub2JqZWN0cy5maW5kSW5kZXgoKG9iaikgPT4gb2JqLmlkID09PSBzZWxlY3RlZElkKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgZGlyZWN0aW9uO1xuICAgICAgaWYgKGluZGV4IDwgMCB8fCBuZXh0SW5kZXggPCAwIHx8IG5leHRJbmRleCA+PSBjdXJyZW50Lm9iamVjdHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfVxuICAgICAgY29uc3Qgb2JqZWN0cyA9IFsuLi5jdXJyZW50Lm9iamVjdHNdO1xuICAgICAgY29uc3QgW2l0ZW1dID0gb2JqZWN0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgb2JqZWN0cy5zcGxpY2UobmV4dEluZGV4LCAwLCBpdGVtKTtcbiAgICAgIHJldHVybiB7IC4uLmN1cnJlbnQsIG9iamVjdHMgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZURvbmUoKSB7XG4gICAgaWYgKCF0ZW1wbGF0ZSB8fCAhcHJvZHVjdD8uaWQpIHJldHVybjtcbiAgICBzZXRTYXZpbmcodHJ1ZSk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBuZ3MgPSBjYW52YXNSZWYuY3VycmVudFxuICAgICAgICA/IGF3YWl0IGNhbnZhc1JlZi5jdXJyZW50LmV4cG9ydFBuZ3MoKVxuICAgICAgICA6IGF3YWl0IGV4cG9ydERyYWZ0UG5ncyhcbiAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZSwgYXBpVXJsKSxcbiAgICAgICAgICBhcGlVcmwsXG4gICAgICAgICk7XG4gICAgICBjb25zdCBkcmFmdHMgPSBwcnVuZURyYWZ0cyhcbiAgICAgICAgbG9hZERyYWZ0cyhwcm9kdWN0LmlkKSxcbiAgICAgICAgZGVzaWduR3JvdXBDb3VudChwcm9kdWN0LCBob29rRm9ybS5nZXRWYWx1ZXMoKSksXG4gICAgICApO1xuICAgICAgY29uc3QgbmV4dCA9IHVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdChkcmFmdHMsIHByb2R1Y3QuaWQsIGdyb3VwSW5kZXgsIHtcbiAgICAgICAgdGVtcGxhdGVJZDogdGVtcGxhdGUuaWQsXG4gICAgICAgIGNhbnZhc0pzb246IHN0YXRlLFxuICAgICAgICAuLi5wbmdzLFxuICAgICAgfSk7XG4gICAgICBzYXZlRHJhZnRzKHByb2R1Y3QuaWQsIG5leHQpO1xuICAgICAgb25TYXZlZCgpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBzZXRFcnJvcihlcnI/Lm1lc3NhZ2UgfHwgJ0NvdWxkIG5vdCBzYXZlIGRyYWZ0Jyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldFNhdmluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFvcGVuIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgJHtjbGFzc05hbWVEcmFmdFNoZWV0IHx8ICcnfSBtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldGB9XG4gICAgICByb2xlPSdkaWFsb2cnXG4gICAgICBhcmlhLW1vZGFsPSd0cnVlJ1xuICAgICAgYXJpYS1sYWJlbD0nRGVzaWduIGFydHdvcmsnXG4gICAgICBvbk1vdXNlRG93bj17c3RvcEJ1YmJsZX1cbiAgICAgIG9uQ2xpY2s9e3N0b3BCdWJibGV9XG4gICAgPlxuICAgICAgPGhlYWRlciBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXNoZWV0LWhlYWRlcic+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1pY29uLWJ0bidcbiAgICAgICAgICBvbkNsaWNrPXtvbkNsb3NlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9J0Nsb3NlIGRlc2lnbmVyJ1xuICAgICAgICA+XG4gICAgICAgICAgPEZhVGltZXMgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldC10aXRsZSc+XG4gICAgICAgICAgPHN0cm9uZz57dGVtcGxhdGU/Lm5hbWUgfHwgJ0FydHdvcmsnfTwvc3Ryb25nPlxuICAgICAgICAgIHtoYXNHcm91cHMgPyA8c3Bhbj5Hcm91cCB7Z3JvdXBJbmRleCArIDF9PC9zcGFuPiA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtZG9uZS1idG4nXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlRG9uZX1cbiAgICAgICAgICBkaXNhYmxlZD17c2F2aW5nfVxuICAgICAgICA+XG4gICAgICAgICAge3NhdmluZyA/IDxDZ1NwaW5uZXIgY2xhc3NOYW1lPSdhbmltYXRlX3NwaW4nIC8+IDogPEZhQ2hlY2sgLz59XG4gICAgICAgICAgRG9uZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICB7aGFzR3JvdXBzICYmIGdyb3VwQ291bnQgPiAxID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcHMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J0dyb3Vwcyc+XG4gICAgICAgICAge0FycmF5LmZyb20oeyBsZW5ndGg6IGdyb3VwQ291bnQgfSwgKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpbmRleCA9PT0gZ3JvdXBJbmRleH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcCR7aW5kZXggPT09IGdyb3VwSW5kZXggPyAnIGlzLWFjdGl2ZScgOiAnJ31gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0R3JvdXBJbmRleChpbmRleCk7XG4gICAgICAgICAgICAgICAgc2V0VGVtcGxhdGVJbmRleCgwKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgR3JvdXAge2luZGV4ICsgMX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuXG4gICAgICB7dGVtcGxhdGVzLmxlbmd0aCA+IDEgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jaGlwcycgcm9sZT0ndGFibGlzdCcgYXJpYS1sYWJlbD0nVGVtcGxhdGVzJz5cbiAgICAgICAgICB7dGVtcGxhdGVzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZCA/PyBpbmRleH1cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICByb2xlPSd0YWInXG4gICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2l0ZW0uaWQgPT09IHRlbXBsYXRlPy5pZH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcCR7aXRlbS5pZCA9PT0gdGVtcGxhdGU/LmlkID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0VGVtcGxhdGVJbmRleChpbmRleCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpdGVtLm5hbWUgfHwgYFRlbXBsYXRlICR7aW5kZXggKyAxfWB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cblxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LW1haW4nPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc2hlZXQtYm9keSc+XG4gICAgICAgICAgPERyYWZ0Q2FudmFzQm91bmRhcnk+XG4gICAgICAgICAgICA8UmVhY3QuU3VzcGVuc2VcbiAgICAgICAgICAgICAgZmFsbGJhY2s9e1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jYW52YXMtZmFsbGJhY2snPkxvYWRpbmcgY2FudmFz4oCmPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPERyYWZ0Q2FudmFzXG4gICAgICAgICAgICAgICAgcmVmPXtjYW52YXNSZWZ9XG4gICAgICAgICAgICAgICAgc3RhdGU9e3N0YXRlfVxuICAgICAgICAgICAgICAgIHRlbXBsYXRlPXt0ZW1wbGF0ZX1cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVNyYz17dGVtcGxhdGVTcmModGVtcGxhdGUsIGFwaVVybCl9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJZD17c2VsZWN0ZWRJZH1cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17c2V0U2VsZWN0ZWRJZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2FudmFzQ2hhbmdlfVxuICAgICAgICAgICAgICAgIG9uRWRpdFRleHQ9eyhpZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgc2V0TGF5ZXJzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZElkKGlkKTtcbiAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdUZXh0SWQoaWQpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgICAgIDwvRHJhZnRDYW52YXNCb3VuZGFyeT5cblxuICAgICAgICAgIHtsYXllcnNPcGVuID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVycyc+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1sYXllcnMtaGVhZCc+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz5MYXllcnM8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17KCkgPT4gc2V0TGF5ZXJzT3BlbihmYWxzZSl9IGFyaWEtbGFiZWw9J0Nsb3NlIGxheWVycyc+XG4gICAgICAgICAgICAgICAgICA8RmFUaW1lcyAvPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAge3N0YXRlLm9iamVjdHMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgICAgIDxwPk5vIG9iamVjdHMgeWV0LiBBZGQgdGV4dCBvciBhbiBpbWFnZS48L3A+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgWy4uLnN0YXRlLm9iamVjdHNdLnJldmVyc2UoKS5tYXAoKG9iaiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAga2V5PXtvYmouaWR9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtbGF5ZXIke29iai5pZCA9PT0gc2VsZWN0ZWRJZCA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZElkKG9iai5pZCk7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZhUGx1cyBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVyLWljb24nIC8+XG4gICAgICAgICAgICAgICAgICAgIHtvYmoudHlwZSA9PT0gJ3RleHQnID8gKG9iai50ZXh0IHx8ICdUZXh0JykgOiBvYmoudHlwZSA9PT0gJ2ltYWdlJyA/ICdJbWFnZScgOiAnQmFzZSBjb2xvdXInfVxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57c3RhdGUub2JqZWN0cy5sZW5ndGggLSBpbmRleH08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge2Vycm9yID8gPHAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1lcnJvcic+e2Vycm9yfTwvcD4gOiBudWxsfVxuXG4gICAgICAgIDxhc2lkZSBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWRvY2snPlxuICAgICAgICAgIHtzZWxlY3RlZCA/IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1pbnNwZWN0b3InPlxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ3RleHQnID8gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC10ZXh0LWlucHV0J1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQudGV4dCB8fCAnJ31cbiAgICAgICAgICAgICAgICAgICAgcm93cz17Mn1cbiAgICAgICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXtlZGl0aW5nVGV4dElkID09PSBzZWxlY3RlZC5pZH1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nRWRpdCB0ZXh0J1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHBhdGNoU2VsZWN0ZWQoeyB0ZXh0OiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1mb250Jz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktc3Itb25seSc+Rm9udDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0ZvbnQnXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkLmZvbnRGYW1pbHkgfHwgREVGQVVMVF9EUkFGVF9GT05UfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGZvbnRGYW1pbHk6IGNzc0ZvbnRGYW1pbHkoc2VsZWN0ZWQuZm9udEZhbWlseSB8fCBERUZBVUxUX0RSQUZUX0ZPTlQpIH19XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZm9udEZhbWlseTogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7RFJBRlRfVEVYVF9GT05UUy5tYXAoKGZvbnQpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtmb250LnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9udC52YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgZm9udEZhbWlseTogY3NzRm9udEZhbWlseShmb250LnZhbHVlKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9udC5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zdGVwcGVyJ1xuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogTWF0aC5tYXgoMTIsIChzZWxlY3RlZC5mb250U2l6ZSB8fCA0OCkgLSA4KSxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J1NtYWxsZXIgdGV4dCdcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQS1cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc3RlcHBlcidcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGF0Y2hTZWxlY3RlZCh7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IE1hdGgubWluKDI0MCwgKHNlbGVjdGVkLmZvbnRTaXplIHx8IDQ4KSArIDgpLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nTGFyZ2VyIHRleHQnXG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEErXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZC5jb2xvdXJGaWVsZElkICE9IG51bGwgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNvbG9yJz5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1zci1vbmx5Jz5Db2xvdXI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPSdjb2xvcidcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXsvXiNbMC05YS1mQS1GXXs2fSQvLnRlc3Qoc2VsZWN0ZWQuZmlsbCB8fCAnJykgPyBzZWxlY3RlZC5maWxsIDogJyMxMTExMTEnfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZmlsbDogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAge3NlbGVjdGVkLnR5cGUgPT09ICdpbWFnZScgPyAoXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4ke3NlbGVjdGVkLmxvY2tBc3BlY3RSYXRpbyA/ICcgaXMtYWN0aXZlJyA6ICcnfWB9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHsgbG9ja0FzcGVjdFJhdGlvOiAhc2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvIH0pfVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gJ1VubG9jayBhc3BlY3QgcmF0aW8nIDogJ0xvY2sgYXNwZWN0IHJhdGlvJ31cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gPEZhTG9jayAvPiA6IDxGYVVubG9jayAvPn1cbiAgICAgICAgICAgICAgICAgIFJhdGlvXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ3JlY3QnID8gKFxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWNvbG9yJz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLXNyLW9ubHknPkZpbGwgY29sb3VyPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2NvbG9yJ1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQuZmlsbCB8fCAnI2NjY2NjYyd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gcGF0Y2hTZWxlY3RlZCh7IGZpbGw6IGUudGFyZ2V0LnZhbHVlIH0pfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHBhdGNoU2VsZWN0ZWQoeyBzY2FsZVg6IChzZWxlY3RlZC5zY2FsZVggfHwgMSkgKiAtMSB9KX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdGbGlwJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgRmxpcFxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG1vdmVMYXllcigxKX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdCcmluZyBmb3J3YXJkJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhQXJyb3dVcCAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG1vdmVMYXllcigtMSl9XG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nU2VuZCBiYWNrd2FyZCdcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGYUFycm93RG93biAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWljb24tYnRuIGlzLWRhbmdlcidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtyZW1vdmVTZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdEZWxldGUnXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RmFUcmFzaCAvPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkgOiBudWxsfVxuXG4gICAgICAgICAgPG5hdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRvb2xiYXInIGFyaWEtbGFiZWw9J0Rlc2lnbiB0b29scyc+XG4gICAgICAgICAgICB7YWxsb3dBZGRpdGlvbmFsT2JqZWN0cyA/IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIGFkZFRleHQoKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhRm9udCAvPlxuICAgICAgICAgICAgICAgIDxzcGFuPlRleHQ8L3NwYW4+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICB7YWxsb3dBZGRpdGlvbmFsT2JqZWN0cyA/IChcbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIHNldEVkaXRpbmdUZXh0SWQobnVsbCk7XG4gICAgICAgICAgICAgICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhSW1hZ2UgLz5cbiAgICAgICAgICAgICAgICA8c3Bhbj5JbWFnZTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKChvcGVuTm93KSA9PiAhb3Blbk5vdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYUxheWVyR3JvdXAgLz5cbiAgICAgICAgICAgICAgPHNwYW4+TGF5ZXJzPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17cmVtb3ZlU2VsZWN0ZWR9IGRpc2FibGVkPXshc2VsZWN0ZWRJZH0+XG4gICAgICAgICAgICAgIDxGYVRyYXNoIC8+XG4gICAgICAgICAgICAgIDxzcGFuPkRlbGV0ZTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgICB0eXBlPSdmaWxlJ1xuICAgICAgICAgICAgYWNjZXB0PSdpbWFnZS8qJ1xuICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1maWxlJ1xuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBlLnRhcmdldC5maWxlcz8uWzBdO1xuICAgICAgICAgICAgICBpZiAoZmlsZSkgYWRkSW1hZ2UoZmlsZSk7XG4gICAgICAgICAgICAgIGUudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFB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