@merchi/product-form 1.19.33 → 1.19.35

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.
@@ -15,8 +15,10 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
15
15
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
16
16
  import * as React from 'react';
17
17
  import DynamicVariationInput from './DynamicVariationInput';
18
- import { useFieldArray } from 'react-hook-form';
18
+ import { useFieldArray, useWatch } from 'react-hook-form';
19
19
  import { useMerchiFormContext } from '../context/MerchiProductFormProvider';
20
+ import { productHasGroups } from '../utils/products';
21
+ import { displayQuantity, groupIndexFromVariationName, withQuantityAdjustedDisplayCosts } from '../utils/quantityAdjustedCosts';
20
22
  import { shouldHideSingleOptionSelection } from '../utils/singleOptionVariation';
21
23
  import { clampVariationColumns, variationLayoutSpan } from '../utils/variationLayout';
22
24
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -77,6 +79,7 @@ function Variations(_ref) {
77
79
  var _useMerchiFormContext = useMerchiFormContext(),
78
80
  control = _useMerchiFormContext.control,
79
81
  hookForm = _useMerchiFormContext.hookForm,
82
+ pricingRules = _useMerchiFormContext.pricingRules,
80
83
  product = _useMerchiFormContext.product;
81
84
  var watch = hookForm.watch;
82
85
  var _useFieldArray = useFieldArray({
@@ -85,6 +88,25 @@ function Variations(_ref) {
85
88
  name: name
86
89
  }),
87
90
  fields = _useFieldArray.fields;
91
+ var groupIndex = groupIndexFromVariationName(name);
92
+ var hasGroups = productHasGroups(product);
93
+ var watchedQuantity = useWatch({
94
+ control: control,
95
+ name: groupIndex != null ? "variationsGroups.".concat(groupIndex, ".quantity") : 'quantity',
96
+ disabled: groupIndex == null && hasGroups
97
+ });
98
+ var watchedGroups = useWatch({
99
+ control: control,
100
+ name: 'variationsGroups',
101
+ disabled: groupIndex != null || !hasGroups
102
+ });
103
+ var quantity = displayQuantity({
104
+ groupIndex: groupIndex,
105
+ groupQuantity: watchedQuantity,
106
+ groups: watchedGroups,
107
+ jobQuantity: watchedQuantity,
108
+ hasGroups: hasGroups
109
+ });
88
110
  var currentVariations = watch(name) || [];
89
111
  // Group fields can be gated by independent options (and vice versa is rare).
90
112
  // Mirror the server: group selected_options = group.variations + job.variations.
@@ -119,8 +141,9 @@ function Variations(_ref) {
119
141
  if (!isDynamicVariationVisible(variation, selectedOptionIds)) {
120
142
  return null;
121
143
  }
122
- var hideSelection = shouldHideSingleOptionSelection(variation);
123
- var span = variationLayoutSpan(layoutSpanForVariation(variation, product), columnCount);
144
+ var pricedVariation = withQuantityAdjustedDisplayCosts(variation, pricingRules, quantity);
145
+ var hideSelection = shouldHideSingleOptionSelection(pricedVariation);
146
+ var span = variationLayoutSpan(layoutSpanForVariation(pricedVariation, product), columnCount);
124
147
  return /*#__PURE__*/_jsx("fieldset", {
125
148
  className: hideSelection ? undefined : containerClass,
126
149
  name: "".concat(name, "[").concat(index, "]"),
@@ -132,11 +155,11 @@ function Variations(_ref) {
132
155
  disabled: disabled,
133
156
  index: index,
134
157
  name: name,
135
- variation: variation
158
+ variation: pricedVariation
136
159
  })
137
160
  }, fieldItem[keyName]);
138
161
  })
139
162
  });
140
163
  }
141
164
  export default Variations;
142
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwiZiIsImEiLCJ1IiwibmV4dCIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwidGVzdCIsIlJlYWN0IiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwidXNlRmllbGRBcnJheSIsInVzZU1lcmNoaUZvcm1Db250ZXh0Iiwic2hvdWxkSGlkZVNpbmdsZU9wdGlvblNlbGVjdGlvbiIsImNsYW1wVmFyaWF0aW9uQ29sdW1ucyIsInZhcmlhdGlvbkxheW91dFNwYW4iLCJqc3giLCJfanN4IiwiZ2V0U2VsZWN0ZWRPcHRpb25JZHMiLCJ2YXJpYXRpb25zIiwiaWRzIiwiU2V0IiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJ2YXJpYXRpb24iLCJzcGxpdCIsImlkIiwicGFyc2VkIiwicGFyc2VJbnQiLCJ0cmltIiwiaXNOYU4iLCJhZGQiLCJlcnIiLCJhc0xheW91dFNwYW4iLCJ1bmRlZmluZWQiLCJpc0Zpbml0ZSIsImxheW91dFNwYW5Gb3JWYXJpYXRpb24iLCJwcm9kdWN0IiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GMiIsImRpcmVjdCIsInZhcmlhdGlvbkZpZWxkIiwibGF5b3V0U3BhbiIsImZpZWxkcyIsImNvbmNhdCIsImluZGVwZW5kZW50VmFyaWF0aW9uRmllbGRzIiwiZ3JvdXBWYXJpYXRpb25GaWVsZHMiLCJmaWVsZCIsImZpbmQiLCJpdGVtIiwiaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSIsInNlbGVjdGVkT3B0aW9uSWRzIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GMyIsInNlbGVjdGVkQnkiLCJzb21lIiwib3B0IiwiaGFzIiwiVmFyaWF0aW9ucyIsIl9yZWYiLCJjb250YWluZXJDbGFzcyIsImNvbHVtbnMiLCJkaXNhYmxlZCIsIl9yZWYkbmFtZSIsIl9yZWYka2V5TmFtZSIsImtleU5hbWUiLCJfdXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjb250cm9sIiwiaG9va0Zvcm0iLCJ3YXRjaCIsIl91c2VGaWVsZEFycmF5IiwiY3VycmVudFZhcmlhdGlvbnMiLCJpbmRlcGVuZGVudFZhcmlhdGlvbnMiLCJjb2x1bW5Db3VudCIsImluZGVwZW5kZW50VmFyaWF0aW9uQ29sdW1ucyIsImdyb3VwVmFyaWF0aW9uQ29sdW1ucyIsImdyaWRTdHlsZSIsImRpc3BsYXkiLCJjbGFzc05hbWUiLCJzdHlsZSIsImNoaWxkcmVuIiwibWFwIiwiZmllbGRJdGVtIiwiaW5kZXgiLCJfY3VycmVudCR2YWx1ZSIsIl9jdXJyZW50JHZhcmlhdGlvbkZpbCIsIl9jdXJyZW50JG9uY2VPZmZDb3N0IiwiX2N1cnJlbnQkdW5pdENvc3QiLCJfY3VycmVudCRjb3N0IiwiX2N1cnJlbnQkc2VsZWN0YWJsZU9wIiwiX2ZpZWxkSXRlbSR2YXJpYXRpb25GIiwiY3VycmVudCIsInZhcmlhdGlvbkZpbGVzIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsImNvc3QiLCJzZWxlY3RhYmxlT3B0aW9ucyIsImhpZGVTZWxlY3Rpb24iLCJzcGFuIiwiaGlkZGVuIiwiZ3JpZENvbHVtbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBEeW5hbWljVmFyaWF0aW9uSW5wdXQgZnJvbSAnLi9EeW5hbWljVmFyaWF0aW9uSW5wdXQnO1xuaW1wb3J0IHsgdXNlRmllbGRBcnJheSB9IGZyb20gJ3JlYWN0LWhvb2stZm9ybSc7XG5pbXBvcnQgeyB1c2VNZXJjaGlGb3JtQ29udGV4dCB9IGZyb20gJy4uL2NvbnRleHQvTWVyY2hpUHJvZHVjdEZvcm1Qcm92aWRlcic7XG5pbXBvcnQgeyBzaG91bGRIaWRlU2luZ2xlT3B0aW9uU2VsZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvc2luZ2xlT3B0aW9uVmFyaWF0aW9uJztcbmltcG9ydCB7XG4gIGNsYW1wVmFyaWF0aW9uQ29sdW1ucyxcbiAgdmFyaWF0aW9uTGF5b3V0U3Bhbixcbn0gZnJvbSAnLi4vdXRpbHMvdmFyaWF0aW9uTGF5b3V0JztcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgY29udGFpbmVyQ2xhc3M/OiBzdHJpbmc7XG4gIGNvbHVtbnM/OiBudW1iZXI7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbiAga2V5TmFtZT86IHN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0U2VsZWN0ZWRPcHRpb25JZHModmFyaWF0aW9uczogYW55W10pOiBTZXQ8bnVtYmVyPiB7XG4gIGNvbnN0IGlkcyA9IG5ldyBTZXQ8bnVtYmVyPigpO1xuICBmb3IgKGNvbnN0IHZhcmlhdGlvbiBvZiB2YXJpYXRpb25zKSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gdmFyaWF0aW9uO1xuICAgIGlmICghdmFsdWUpIGNvbnRpbnVlO1xuICAgIFN0cmluZyh2YWx1ZSkuc3BsaXQoJywnKS5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBwYXJzZUludChpZC50cmltKCksIDEwKTtcbiAgICAgIGlmICghaXNOYU4ocGFyc2VkKSkgaWRzLmFkZChwYXJzZWQpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBpZHM7XG59XG5cbmZ1bmN0aW9uIGFzTGF5b3V0U3Bhbih2YWx1ZTogdW5rbm93bik6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IHBhcnNlZCA9IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyB2YWx1ZSA6IE51bWJlcih2YWx1ZSk7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUocGFyc2VkKSA/IHBhcnNlZCA6IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gbGF5b3V0U3BhbkZvclZhcmlhdGlvbihcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHByb2R1Y3Q6IGFueSxcbik6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICBjb25zdCBkaXJlY3QgPSBhc0xheW91dFNwYW4odmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8ubGF5b3V0U3Bhbik7XG4gIGlmIChkaXJlY3QgIT0gbnVsbCkgcmV0dXJuIGRpcmVjdDtcbiAgY29uc3QgaWQgPSBOdW1iZXIodmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uaWQpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShpZCkpIHJldHVybiBkaXJlY3Q7XG4gIGNvbnN0IGZpZWxkcyA9IFtcbiAgICAuLi4ocHJvZHVjdD8uaW5kZXBlbmRlbnRWYXJpYXRpb25GaWVsZHMgfHwgW10pLFxuICAgIC4uLihwcm9kdWN0Py5ncm91cFZhcmlhdGlvbkZpZWxkcyB8fCBbXSksXG4gIF07XG4gIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoKGl0ZW06IGFueSkgPT4gTnVtYmVyKGl0ZW0/LmlkKSA9PT0gaWQpO1xuICByZXR1cm4gYXNMYXlvdXRTcGFuKGZpZWxkPy5sYXlvdXRTcGFuKTtcbn1cblxuZnVuY3Rpb24gaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZShcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGVkT3B0aW9uSWRzOiBTZXQ8bnVtYmVyPixcbik6IGJvb2xlYW4ge1xuICBjb25zdCBzZWxlY3RlZEJ5OiBhbnlbXSA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LnNlbGVjdGVkQnk7XG4gIGlmICghc2VsZWN0ZWRCeSB8fCBzZWxlY3RlZEJ5Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7XG4gIHJldHVybiBzZWxlY3RlZEJ5LnNvbWUoKG9wdDogYW55KSA9PiBvcHQuaWQgJiYgc2VsZWN0ZWRPcHRpb25JZHMuaGFzKG9wdC5pZCkpO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25zKHtcbiAgY29udGFpbmVyQ2xhc3MsXG4gIGNvbHVtbnMsXG4gIGRpc2FibGVkLFxuICBuYW1lID0gJ3ZhcmlhdGlvbnMnLFxuICBrZXlOYW1lID0gJ3ZhcmlhdGlvbkFycmF5RmllbGRJZCcsXG59OiBQcm9wcykge1xuICBjb25zdCB7IGNvbnRyb2wsIGhvb2tGb3JtLCBwcm9kdWN0IH0gPSB1c2VNZXJjaGlGb3JtQ29udGV4dCgpO1xuICBjb25zdCB7IHdhdGNoIH0gPSBob29rRm9ybTtcbiAgY29uc3QgeyBmaWVsZHMgfSA9IHVzZUZpZWxkQXJyYXkoeyBjb250cm9sLCBrZXlOYW1lLCBuYW1lIH0pO1xuICBjb25zdCBjdXJyZW50VmFyaWF0aW9uczogYW55W10gPSB3YXRjaChuYW1lKSB8fCBbXTtcbiAgLy8gR3JvdXAgZmllbGRzIGNhbiBiZSBnYXRlZCBieSBpbmRlcGVuZGVudCBvcHRpb25zIChhbmQgdmljZSB2ZXJzYSBpcyByYXJlKS5cbiAgLy8gTWlycm9yIHRoZSBzZXJ2ZXI6IGdyb3VwIHNlbGVjdGVkX29wdGlvbnMgPSBncm91cC52YXJpYXRpb25zICsgam9iLnZhcmlhdGlvbnMuXG4gIGNvbnN0IGluZGVwZW5kZW50VmFyaWF0aW9uczogYW55W10gPVxuICAgIG5hbWUgPT09ICd2YXJpYXRpb25zJyA/IFtdIDogd2F0Y2goJ3ZhcmlhdGlvbnMnKSB8fCBbXTtcbiAgY29uc3Qgc2VsZWN0ZWRPcHRpb25JZHMgPSBnZXRTZWxlY3RlZE9wdGlvbklkcyhbXG4gICAgLi4uaW5kZXBlbmRlbnRWYXJpYXRpb25zLFxuICAgIC4uLmN1cnJlbnRWYXJpYXRpb25zLFxuICBdKTtcbiAgY29uc3QgY29sdW1uQ291bnQgPSBjbGFtcFZhcmlhdGlvbkNvbHVtbnMoXG4gICAgY29sdW1ucyA/P1xuICAgICAgKG5hbWUgPT09ICd2YXJpYXRpb25zJ1xuICAgICAgICA/IHByb2R1Y3Q/LmluZGVwZW5kZW50VmFyaWF0aW9uQ29sdW1uc1xuICAgICAgICA6IHByb2R1Y3Q/Lmdyb3VwVmFyaWF0aW9uQ29sdW1ucyksXG4gICk7XG4gIGlmICghZmllbGRzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gIC8vIE9uZSBjb2x1bW4ga2VlcHMgdGhlIGZpZWxkcyBpbiB0aGUgcGFyZW50IHN0YWNrLiBBIGdyaWQgd3JhcHBlciB3b3VsZFxuICAvLyBzdGlsbCB0YWtlIGEgZmxleCBzbG90IHdoZW4gZXZlcnkgZmllbGQgaXMgaGlkZGVuLlxuICBjb25zdCBncmlkU3R5bGU6IFJlYWN0LkNTU1Byb3BlcnRpZXMgPSBjb2x1bW5Db3VudCA+IDFcbiAgICA/IHsgWyctLW1lcmNoaS12YXJpYXRpb24tY29sdW1ucycgYXMgc3RyaW5nXTogU3RyaW5nKGNvbHVtbkNvdW50KSB9XG4gICAgOiB7IGRpc3BsYXk6ICdjb250ZW50cycgfTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9XCJtZXJjaGktZW1iZWQtZm9ybV92YXJpYXRpb24tZ3JpZFwiXG4gICAgICBzdHlsZT17Z3JpZFN0eWxlfVxuICAgID5cbiAgICAgIHtmaWVsZHMubWFwKChmaWVsZEl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gY3VycmVudFZhcmlhdGlvbnNbaW5kZXhdO1xuICAgICAgICAvLyBGaWVsZC1hcnJheSBpdGVtcyBhcmUgdGhlIHNvdXJjZSBvZiB0cnV0aCBmb3IgdmFyaWF0aW9uRmllbGQgL1xuICAgICAgICAvLyBzZWxlY3RhYmxlT3B0aW9ucy4gV2F0Y2hlZCB2YWx1ZXMgY2FuIG9taXQgdGhvc2UgYWZ0ZXIgYSB2YWx1ZS1vbmx5XG4gICAgICAgIC8vIHVwZGF0ZTsgbmV2ZXIgbGV0IHRoYXQgc3RyaXAgbWV0YWRhdGEgb3IgdGhlIGlucHV0IHRyZWUgY3Jhc2hlcyBhbmRcbiAgICAgICAgLy8gdGhlIGZvcm0gY29sbGFwc2VzLlxuICAgICAgICBjb25zdCB2YXJpYXRpb24gPSB7XG4gICAgICAgICAgLi4uZmllbGRJdGVtLFxuICAgICAgICAgIHZhbHVlOiBjdXJyZW50Py52YWx1ZSA/PyBmaWVsZEl0ZW0udmFsdWUsXG4gICAgICAgICAgdmFyaWF0aW9uRmlsZXM6IGN1cnJlbnQ/LnZhcmlhdGlvbkZpbGVzID8/IGZpZWxkSXRlbS52YXJpYXRpb25GaWxlcyxcbiAgICAgICAgICBvbmNlT2ZmQ29zdDogY3VycmVudD8ub25jZU9mZkNvc3QgPz8gZmllbGRJdGVtLm9uY2VPZmZDb3N0LFxuICAgICAgICAgIHVuaXRDb3N0OiBjdXJyZW50Py51bml0Q29zdCA/PyBmaWVsZEl0ZW0udW5pdENvc3QsXG4gICAgICAgICAgY29zdDogY3VycmVudD8uY29zdCA/PyBmaWVsZEl0ZW0uY29zdCxcbiAgICAgICAgICBzZWxlY3RhYmxlT3B0aW9uczpcbiAgICAgICAgICAgIGN1cnJlbnQ/LnNlbGVjdGFibGVPcHRpb25zID8/IGZpZWxkSXRlbS5zZWxlY3RhYmxlT3B0aW9ucyxcbiAgICAgICAgICB2YXJpYXRpb25GaWVsZDogZmllbGRJdGVtLnZhcmlhdGlvbkZpZWxkID8/IGN1cnJlbnQ/LnZhcmlhdGlvbkZpZWxkLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoIWlzRHluYW1pY1ZhcmlhdGlvblZpc2libGUodmFyaWF0aW9uLCBzZWxlY3RlZE9wdGlvbklkcykpIHtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBoaWRlU2VsZWN0aW9uID0gc2hvdWxkSGlkZVNpbmdsZU9wdGlvblNlbGVjdGlvbih2YXJpYXRpb24pO1xuICAgICAgICBjb25zdCBzcGFuID0gdmFyaWF0aW9uTGF5b3V0U3BhbihcbiAgICAgICAgICBsYXlvdXRTcGFuRm9yVmFyaWF0aW9uKHZhcmlhdGlvbiwgcHJvZHVjdCksXG4gICAgICAgICAgY29sdW1uQ291bnQsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGZpZWxkc2V0XG4gICAgICAgICAgICBjbGFzc05hbWU9e2hpZGVTZWxlY3Rpb24gPyB1bmRlZmluZWQgOiBjb250YWluZXJDbGFzc31cbiAgICAgICAgICAgIGtleT17ZmllbGRJdGVtW2tleU5hbWVdfVxuICAgICAgICAgICAgbmFtZT17YCR7bmFtZX1bJHtpbmRleH1dYH1cbiAgICAgICAgICAgIGhpZGRlbj17aGlkZVNlbGVjdGlvbn1cbiAgICAgICAgICAgIHN0eWxlPXtoaWRlU2VsZWN0aW9uID8gdW5kZWZpbmVkIDogeyBncmlkQ29sdW1uOiBgc3BhbiAke3NwYW59YCB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxEeW5hbWljVmFyaWF0aW9uSW5wdXRcbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2ZpZWxkc2V0PlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFZhcmlhdGlvbnM7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsUUFBQUMsQ0FBQSxzQ0FBQUQsT0FBQSx3QkFBQUUsTUFBQSx1QkFBQUEsTUFBQSxDQUFBQyxRQUFBLGFBQUFGLENBQUEsa0JBQUFBLENBQUEsZ0JBQUFBLENBQUEsV0FBQUEsQ0FBQSx5QkFBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFHLFdBQUEsS0FBQUYsTUFBQSxJQUFBRCxDQUFBLEtBQUFDLE1BQUEsQ0FBQUcsU0FBQSxxQkFBQUosQ0FBQSxLQUFBRCxPQUFBLENBQUFDLENBQUE7QUFBQSxTQUFBSyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFYLENBQUEsR0FBQVMsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQVAsQ0FBQSxHQUFBQSxDQUFBLENBQUFZLE1BQUEsV0FBQUwsQ0FBQSxXQUFBRSxNQUFBLENBQUFJLHdCQUFBLENBQUFQLENBQUEsRUFBQUMsQ0FBQSxFQUFBTyxVQUFBLE9BQUFOLENBQUEsQ0FBQU8sSUFBQSxDQUFBQyxLQUFBLENBQUFSLENBQUEsRUFBQVIsQ0FBQSxZQUFBUSxDQUFBO0FBQUEsU0FBQVMsY0FBQVgsQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVcsU0FBQSxDQUFBQyxNQUFBLEVBQUFaLENBQUEsVUFBQUMsQ0FBQSxXQUFBVSxTQUFBLENBQUFYLENBQUEsSUFBQVcsU0FBQSxDQUFBWCxDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQVksT0FBQSxXQUFBYixDQUFBLElBQUFjLGVBQUEsQ0FBQWYsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFhLHlCQUFBLEdBQUFiLE1BQUEsQ0FBQWMsZ0JBQUEsQ0FBQWpCLENBQUEsRUFBQUcsTUFBQSxDQUFBYSx5QkFBQSxDQUFBZCxDQUFBLEtBQUFILE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLEdBQUFZLE9BQUEsV0FBQWIsQ0FBQSxJQUFBRSxNQUFBLENBQUFlLGNBQUEsQ0FBQWxCLENBQUEsRUFBQUMsQ0FBQSxFQUFBRSxNQUFBLENBQUFJLHdCQUFBLENBQUFMLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUQsQ0FBQTtBQUFBLFNBQUFlLGdCQUFBZixDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxZQUFBRCxDQUFBLEdBQUFrQixjQUFBLENBQUFsQixDQUFBLE1BQUFELENBQUEsR0FBQUcsTUFBQSxDQUFBZSxjQUFBLENBQUFsQixDQUFBLEVBQUFDLENBQUEsSUFBQW1CLEtBQUEsRUFBQWxCLENBQUEsRUFBQU0sVUFBQSxNQUFBYSxZQUFBLE1BQUFDLFFBQUEsVUFBQXRCLENBQUEsQ0FBQUMsQ0FBQSxJQUFBQyxDQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBbUIsZUFBQWpCLENBQUEsUUFBQXFCLENBQUEsR0FBQUMsWUFBQSxDQUFBdEIsQ0FBQSxnQ0FBQVQsT0FBQSxDQUFBOEIsQ0FBQSxJQUFBQSxDQUFBLEdBQUFBLENBQUE7QUFBQSxTQUFBQyxhQUFBdEIsQ0FBQSxFQUFBRCxDQUFBLG9CQUFBUixPQUFBLENBQUFTLENBQUEsTUFBQUEsQ0FBQSxTQUFBQSxDQUFBLE1BQUFGLENBQUEsR0FBQUUsQ0FBQSxDQUFBUCxNQUFBLENBQUE4QixXQUFBLGtCQUFBekIsQ0FBQSxRQUFBdUIsQ0FBQSxHQUFBdkIsQ0FBQSxDQUFBMEIsSUFBQSxDQUFBeEIsQ0FBQSxFQUFBRCxDQUFBLGdDQUFBUixPQUFBLENBQUE4QixDQUFBLFVBQUFBLENBQUEsWUFBQUksU0FBQSx5RUFBQTFCLENBQUEsR0FBQTJCLE1BQUEsR0FBQUMsTUFBQSxFQUFBM0IsQ0FBQTtBQUFBLFNBQUE0QixtQkFBQTdCLENBQUEsV0FBQThCLGtCQUFBLENBQUE5QixDQUFBLEtBQUErQixnQkFBQSxDQUFBL0IsQ0FBQSxLQUFBZ0MsMkJBQUEsQ0FBQWhDLENBQUEsS0FBQWlDLGtCQUFBO0FBQUEsU0FBQUEsbUJBQUEsY0FBQVAsU0FBQTtBQUFBLFNBQUFLLGlCQUFBL0IsQ0FBQSw4QkFBQU4sTUFBQSxZQUFBTSxDQUFBLENBQUFOLE1BQUEsQ0FBQUMsUUFBQSxhQUFBSyxDQUFBLHVCQUFBa0MsS0FBQSxDQUFBQyxJQUFBLENBQUFuQyxDQUFBO0FBQUEsU0FBQThCLG1CQUFBOUIsQ0FBQSxRQUFBa0MsS0FBQSxDQUFBRSxPQUFBLENBQUFwQyxDQUFBLFVBQUFxQyxpQkFBQSxDQUFBckMsQ0FBQTtBQUFBLFNBQUFzQywyQkFBQXRDLENBQUEsRUFBQUQsQ0FBQSxRQUFBRSxDQUFBLHlCQUFBUCxNQUFBLElBQUFNLENBQUEsQ0FBQU4sTUFBQSxDQUFBQyxRQUFBLEtBQUFLLENBQUEscUJBQUFDLENBQUEsUUFBQWlDLEtBQUEsQ0FBQUUsT0FBQSxDQUFBcEMsQ0FBQSxNQUFBQyxDQUFBLEdBQUErQiwyQkFBQSxDQUFBaEMsQ0FBQSxNQUFBRCxDQUFBLElBQUFDLENBQUEsdUJBQUFBLENBQUEsQ0FBQVksTUFBQSxJQUFBWCxDQUFBLEtBQUFELENBQUEsR0FBQUMsQ0FBQSxPQUFBc0MsRUFBQSxNQUFBQyxDQUFBLFlBQUFBLEVBQUEsZUFBQUMsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsV0FBQUEsRUFBQSxXQUFBSCxFQUFBLElBQUF2QyxDQUFBLENBQUFZLE1BQUEsS0FBQStCLElBQUEsV0FBQUEsSUFBQSxNQUFBeEIsS0FBQSxFQUFBbkIsQ0FBQSxDQUFBdUMsRUFBQSxVQUFBeEMsQ0FBQSxXQUFBQSxFQUFBQyxDQUFBLFVBQUFBLENBQUEsS0FBQTRDLENBQUEsRUFBQUosQ0FBQSxnQkFBQWQsU0FBQSxpSkFBQWpDLENBQUEsRUFBQW9ELENBQUEsT0FBQUMsQ0FBQSxnQkFBQUwsQ0FBQSxXQUFBQSxFQUFBLElBQUF4QyxDQUFBLEdBQUFBLENBQUEsQ0FBQXdCLElBQUEsQ0FBQXpCLENBQUEsTUFBQTBDLENBQUEsV0FBQUEsRUFBQSxRQUFBMUMsQ0FBQSxHQUFBQyxDQUFBLENBQUE4QyxJQUFBLFdBQUFGLENBQUEsR0FBQTdDLENBQUEsQ0FBQTJDLElBQUEsRUFBQTNDLENBQUEsS0FBQUQsQ0FBQSxXQUFBQSxFQUFBQyxDQUFBLElBQUE4QyxDQUFBLE9BQUFyRCxDQUFBLEdBQUFPLENBQUEsS0FBQTRDLENBQUEsV0FBQUEsRUFBQSxVQUFBQyxDQUFBLFlBQUE1QyxDQUFBLGNBQUFBLENBQUEsOEJBQUE2QyxDQUFBLFFBQUFyRCxDQUFBO0FBQUEsU0FBQXVDLDRCQUFBaEMsQ0FBQSxFQUFBNkMsQ0FBQSxRQUFBN0MsQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBcUMsaUJBQUEsQ0FBQXJDLENBQUEsRUFBQTZDLENBQUEsT0FBQTVDLENBQUEsTUFBQStDLFFBQUEsQ0FBQXZCLElBQUEsQ0FBQXpCLENBQUEsRUFBQWlELEtBQUEsNkJBQUFoRCxDQUFBLElBQUFELENBQUEsQ0FBQUosV0FBQSxLQUFBSyxDQUFBLEdBQUFELENBQUEsQ0FBQUosV0FBQSxDQUFBc0QsSUFBQSxhQUFBakQsQ0FBQSxjQUFBQSxDQUFBLEdBQUFpQyxLQUFBLENBQUFDLElBQUEsQ0FBQW5DLENBQUEsb0JBQUFDLENBQUEsK0NBQUFrRCxJQUFBLENBQUFsRCxDQUFBLElBQUFvQyxpQkFBQSxDQUFBckMsQ0FBQSxFQUFBNkMsQ0FBQTtBQUFBLFNBQUFSLGtCQUFBckMsQ0FBQSxFQUFBNkMsQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQTdDLENBQUEsQ0FBQVksTUFBQSxNQUFBaUMsQ0FBQSxHQUFBN0MsQ0FBQSxDQUFBWSxNQUFBLFlBQUFiLENBQUEsTUFBQTJDLENBQUEsR0FBQVIsS0FBQSxDQUFBVyxDQUFBLEdBQUE5QyxDQUFBLEdBQUE4QyxDQUFBLEVBQUE5QyxDQUFBLElBQUEyQyxDQUFBLENBQUEzQyxDQUFBLElBQUFDLENBQUEsQ0FBQUQsQ0FBQSxVQUFBMkMsQ0FBQTtBQUNiLE9BQU8sS0FBS1UsS0FBSyxNQUFNLE9BQU87QUFDOUIsT0FBT0MscUJBQXFCLE1BQU0seUJBQXlCO0FBQzNELFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0Msb0JBQW9CLFFBQVEsc0NBQXNDO0FBQzNFLFNBQVNDLCtCQUErQixRQUFRLGdDQUFnQztBQUNoRixTQUNFQyxxQkFBcUIsRUFDckJDLG1CQUFtQixRQUNkLDBCQUEwQjtBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVVsQyxTQUFTQyxvQkFBb0JBLENBQUNDLFVBQWlCLEVBQWU7RUFDNUQsSUFBTUMsR0FBRyxHQUFHLElBQUlDLEdBQUcsQ0FBUyxDQUFDO0VBQUMsSUFBQUMsU0FBQSxHQUFBM0IsMEJBQUEsQ0FDTndCLFVBQVU7SUFBQUksS0FBQTtFQUFBO0lBQWxDLEtBQUFELFNBQUEsQ0FBQXhCLENBQUEsTUFBQXlCLEtBQUEsR0FBQUQsU0FBQSxDQUFBdkIsQ0FBQSxJQUFBQyxJQUFBLEdBQW9DO01BQUEsSUFBekJ3QixTQUFTLEdBQUFELEtBQUEsQ0FBQS9DLEtBQUE7TUFDbEIsSUFBUUEsS0FBSyxHQUFLZ0QsU0FBUyxDQUFuQmhELEtBQUs7TUFDYixJQUFJLENBQUNBLEtBQUssRUFBRTtNQUNaUSxNQUFNLENBQUNSLEtBQUssQ0FBQyxDQUFDaUQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDdkQsT0FBTyxDQUFDLFVBQUN3RCxFQUFVLEVBQUs7UUFDL0MsSUFBTUMsTUFBTSxHQUFHQyxRQUFRLENBQUNGLEVBQUUsQ0FBQ0csSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDQyxLQUFLLENBQUNILE1BQU0sQ0FBQyxFQUFFUCxHQUFHLENBQUNXLEdBQUcsQ0FBQ0osTUFBTSxDQUFDO01BQ3JDLENBQUMsQ0FBQztJQUNKO0VBQUMsU0FBQUssR0FBQTtJQUFBVixTQUFBLENBQUFsRSxDQUFBLENBQUE0RSxHQUFBO0VBQUE7SUFBQVYsU0FBQSxDQUFBckIsQ0FBQTtFQUFBO0VBQ0QsT0FBT21CLEdBQUc7QUFDWjtBQUVBLFNBQVNhLFlBQVlBLENBQUN6RCxLQUFjLEVBQTZCO0VBQy9ELElBQUlBLEtBQUssSUFBSSxJQUFJLElBQUlBLEtBQUssS0FBSyxFQUFFLEVBQUUsT0FBTzBELFNBQVM7RUFDbkQsSUFBTVAsTUFBTSxHQUFHLE9BQU9uRCxLQUFLLEtBQUssUUFBUSxHQUFHQSxLQUFLLEdBQUdTLE1BQU0sQ0FBQ1QsS0FBSyxDQUFDO0VBQ2hFLE9BQU9TLE1BQU0sQ0FBQ2tELFFBQVEsQ0FBQ1IsTUFBTSxDQUFDLEdBQUdBLE1BQU0sR0FBR08sU0FBUztBQUNyRDtBQUVBLFNBQVNFLHNCQUFzQkEsQ0FDN0JaLFNBQWMsRUFDZGEsT0FBWSxFQUNlO0VBQUEsSUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7RUFDM0IsSUFBTUMsTUFBTSxHQUFHUCxZQUFZLENBQUNULFNBQVMsYUFBVEEsU0FBUyxnQkFBQWMscUJBQUEsR0FBVGQsU0FBUyxDQUFFaUIsY0FBYyxjQUFBSCxxQkFBQSx1QkFBekJBLHFCQUFBLENBQTJCSSxVQUFVLENBQUM7RUFDbEUsSUFBSUYsTUFBTSxJQUFJLElBQUksRUFBRSxPQUFPQSxNQUFNO0VBQ2pDLElBQU1kLEVBQUUsR0FBR3pDLE1BQU0sQ0FBQ3VDLFNBQVMsYUFBVEEsU0FBUyxnQkFBQWUsc0JBQUEsR0FBVGYsU0FBUyxDQUFFaUIsY0FBYyxjQUFBRixzQkFBQSx1QkFBekJBLHNCQUFBLENBQTJCYixFQUFFLENBQUM7RUFDaEQsSUFBSSxDQUFDekMsTUFBTSxDQUFDa0QsUUFBUSxDQUFDVCxFQUFFLENBQUMsRUFBRSxPQUFPYyxNQUFNO0VBQ3ZDLElBQU1HLE1BQU0sTUFBQUMsTUFBQSxDQUFBMUQsa0JBQUEsQ0FDTixDQUFBbUQsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVRLDBCQUEwQixLQUFJLEVBQUUsR0FBQTNELGtCQUFBLENBQ3pDLENBQUFtRCxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRVMsb0JBQW9CLEtBQUksRUFBRSxFQUN4QztFQUNELElBQU1DLEtBQUssR0FBR0osTUFBTSxDQUFDSyxJQUFJLENBQUMsVUFBQ0MsSUFBUztJQUFBLE9BQUtoRSxNQUFNLENBQUNnRSxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRXZCLEVBQUUsQ0FBQyxLQUFLQSxFQUFFO0VBQUEsRUFBQztFQUNqRSxPQUFPTyxZQUFZLENBQUNjLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFTCxVQUFVLENBQUM7QUFDeEM7QUFFQSxTQUFTUSx5QkFBeUJBLENBQ2hDMUIsU0FBYyxFQUNkMkIsaUJBQThCLEVBQ3JCO0VBQUEsSUFBQUMsc0JBQUE7RUFDVCxJQUFNQyxVQUFpQixHQUFHN0IsU0FBUyxhQUFUQSxTQUFTLGdCQUFBNEIsc0JBQUEsR0FBVDVCLFNBQVMsQ0FBRWlCLGNBQWMsY0FBQVcsc0JBQUEsdUJBQXpCQSxzQkFBQSxDQUEyQkMsVUFBVTtFQUMvRCxJQUFJLENBQUNBLFVBQVUsSUFBSUEsVUFBVSxDQUFDcEYsTUFBTSxLQUFLLENBQUMsRUFBRSxPQUFPLElBQUk7RUFDdkQsT0FBT29GLFVBQVUsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLEdBQVE7SUFBQSxPQUFLQSxHQUFHLENBQUM3QixFQUFFLElBQUl5QixpQkFBaUIsQ0FBQ0ssR0FBRyxDQUFDRCxHQUFHLENBQUM3QixFQUFFLENBQUM7RUFBQSxFQUFDO0FBQy9FO0FBRUEsU0FBUytCLFVBQVVBLENBQUFDLElBQUEsRUFNVDtFQUFBLElBTFJDLGNBQWMsR0FBQUQsSUFBQSxDQUFkQyxjQUFjO0lBQ2RDLE9BQU8sR0FBQUYsSUFBQSxDQUFQRSxPQUFPO0lBQ1BDLFFBQVEsR0FBQUgsSUFBQSxDQUFSRyxRQUFRO0lBQUFDLFNBQUEsR0FBQUosSUFBQSxDQUNSbkQsSUFBSTtJQUFKQSxJQUFJLEdBQUF1RCxTQUFBLGNBQUcsWUFBWSxHQUFBQSxTQUFBO0lBQUFDLFlBQUEsR0FBQUwsSUFBQSxDQUNuQk0sT0FBTztJQUFQQSxPQUFPLEdBQUFELFlBQUEsY0FBRyx1QkFBdUIsR0FBQUEsWUFBQTtFQUVqQyxJQUFBRSxxQkFBQSxHQUF1Q3JELG9CQUFvQixDQUFDLENBQUM7SUFBckRzRCxPQUFPLEdBQUFELHFCQUFBLENBQVBDLE9BQU87SUFBRUMsUUFBUSxHQUFBRixxQkFBQSxDQUFSRSxRQUFRO0lBQUU5QixPQUFPLEdBQUE0QixxQkFBQSxDQUFQNUIsT0FBTztFQUNsQyxJQUFRK0IsS0FBSyxHQUFLRCxRQUFRLENBQWxCQyxLQUFLO0VBQ2IsSUFBQUMsY0FBQSxHQUFtQjFELGFBQWEsQ0FBQztNQUFFdUQsT0FBTyxFQUFQQSxPQUFPO01BQUVGLE9BQU8sRUFBUEEsT0FBTztNQUFFekQsSUFBSSxFQUFKQTtJQUFLLENBQUMsQ0FBQztJQUFwRG9DLE1BQU0sR0FBQTBCLGNBQUEsQ0FBTjFCLE1BQU07RUFDZCxJQUFNMkIsaUJBQXdCLEdBQUdGLEtBQUssQ0FBQzdELElBQUksQ0FBQyxJQUFJLEVBQUU7RUFDbEQ7RUFDQTtFQUNBLElBQU1nRSxxQkFBNEIsR0FDaENoRSxJQUFJLEtBQUssWUFBWSxHQUFHLEVBQUUsR0FBRzZELEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0VBQ3hELElBQU1qQixpQkFBaUIsR0FBR2pDLG9CQUFvQixJQUFBMEIsTUFBQSxDQUFBMUQsa0JBQUEsQ0FDekNxRixxQkFBcUIsR0FBQXJGLGtCQUFBLENBQ3JCb0YsaUJBQWlCLEVBQ3JCLENBQUM7RUFDRixJQUFNRSxXQUFXLEdBQUcxRCxxQkFBcUIsQ0FDdkM4QyxPQUFPLGFBQVBBLE9BQU8sY0FBUEEsT0FBTyxHQUNKckQsSUFBSSxLQUFLLFlBQVksR0FDbEI4QixPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRW9DLDJCQUEyQixHQUNwQ3BDLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFcUMscUJBQ2pCLENBQUM7RUFDRCxJQUFJLENBQUMvQixNQUFNLENBQUMxRSxNQUFNLEVBQUUsT0FBTyxJQUFJO0VBQy9CO0VBQ0E7RUFDQSxJQUFNMEcsU0FBOEIsR0FBR0gsV0FBVyxHQUFHLENBQUMsR0FBQXJHLGVBQUEsS0FDL0MsNEJBQTRCLEVBQWFhLE1BQU0sQ0FBQ3dGLFdBQVcsQ0FBQyxJQUMvRDtJQUFFSSxPQUFPLEVBQUU7RUFBVyxDQUFDO0VBQzNCLG9CQUNFM0QsSUFBQTtJQUNFNEQsU0FBUyxFQUFDLGtDQUFrQztJQUM1Q0MsS0FBSyxFQUFFSCxTQUFVO0lBQUFJLFFBQUEsRUFFaEJwQyxNQUFNLENBQUNxQyxHQUFHLENBQUMsVUFBQ0MsU0FBYyxFQUFFQyxLQUFhLEVBQUs7TUFBQSxJQUFBQyxjQUFBLEVBQUFDLHFCQUFBLEVBQUFDLG9CQUFBLEVBQUFDLGlCQUFBLEVBQUFDLGFBQUEsRUFBQUMscUJBQUEsRUFBQUMscUJBQUE7TUFDN0MsSUFBTUMsT0FBTyxHQUFHcEIsaUJBQWlCLENBQUNZLEtBQUssQ0FBQztNQUN4QztNQUNBO01BQ0E7TUFDQTtNQUNBLElBQU0xRCxTQUFTLEdBQUF6RCxhQUFBLENBQUFBLGFBQUEsS0FDVmtILFNBQVM7UUFDWnpHLEtBQUssR0FBQTJHLGNBQUEsR0FBRU8sT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVsSCxLQUFLLGNBQUEyRyxjQUFBLGNBQUFBLGNBQUEsR0FBSUYsU0FBUyxDQUFDekcsS0FBSztRQUN4Q21ILGNBQWMsR0FBQVAscUJBQUEsR0FBRU0sT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVDLGNBQWMsY0FBQVAscUJBQUEsY0FBQUEscUJBQUEsR0FBSUgsU0FBUyxDQUFDVSxjQUFjO1FBQ25FQyxXQUFXLEdBQUFQLG9CQUFBLEdBQUVLLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFRSxXQUFXLGNBQUFQLG9CQUFBLGNBQUFBLG9CQUFBLEdBQUlKLFNBQVMsQ0FBQ1csV0FBVztRQUMxREMsUUFBUSxHQUFBUCxpQkFBQSxHQUFFSSxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRUcsUUFBUSxjQUFBUCxpQkFBQSxjQUFBQSxpQkFBQSxHQUFJTCxTQUFTLENBQUNZLFFBQVE7UUFDakRDLElBQUksR0FBQVAsYUFBQSxHQUFFRyxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRUksSUFBSSxjQUFBUCxhQUFBLGNBQUFBLGFBQUEsR0FBSU4sU0FBUyxDQUFDYSxJQUFJO1FBQ3JDQyxpQkFBaUIsR0FBQVAscUJBQUEsR0FDZkUsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVLLGlCQUFpQixjQUFBUCxxQkFBQSxjQUFBQSxxQkFBQSxHQUFJUCxTQUFTLENBQUNjLGlCQUFpQjtRQUMzRHRELGNBQWMsR0FBQWdELHFCQUFBLEdBQUVSLFNBQVMsQ0FBQ3hDLGNBQWMsY0FBQWdELHFCQUFBLGNBQUFBLHFCQUFBLEdBQUlDLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFakQ7TUFBYyxFQUNwRTtNQUNELElBQUksQ0FBQ1MseUJBQXlCLENBQUMxQixTQUFTLEVBQUUyQixpQkFBaUIsQ0FBQyxFQUFFO1FBQzVELE9BQU8sSUFBSTtNQUNiO01BQ0EsSUFBTTZDLGFBQWEsR0FBR25GLCtCQUErQixDQUFDVyxTQUFTLENBQUM7TUFDaEUsSUFBTXlFLElBQUksR0FBR2xGLG1CQUFtQixDQUM5QnFCLHNCQUFzQixDQUFDWixTQUFTLEVBQUVhLE9BQU8sQ0FBQyxFQUMxQ21DLFdBQ0YsQ0FBQztNQUNELG9CQUNFdkQsSUFBQTtRQUNFNEQsU0FBUyxFQUFFbUIsYUFBYSxHQUFHOUQsU0FBUyxHQUFHeUIsY0FBZTtRQUV0RHBELElBQUksS0FBQXFDLE1BQUEsQ0FBS3JDLElBQUksT0FBQXFDLE1BQUEsQ0FBSXNDLEtBQUssTUFBSTtRQUMxQmdCLE1BQU0sRUFBRUYsYUFBYztRQUN0QmxCLEtBQUssRUFBRWtCLGFBQWEsR0FBRzlELFNBQVMsR0FBRztVQUFFaUUsVUFBVSxVQUFBdkQsTUFBQSxDQUFVcUQsSUFBSTtRQUFHLENBQUU7UUFBQWxCLFFBQUEsZUFFbEU5RCxJQUFBLENBQUNQLHFCQUFxQjtVQUNwQm1ELFFBQVEsRUFBRUEsUUFBUztVQUNuQnFCLEtBQUssRUFBRUEsS0FBTTtVQUNiM0UsSUFBSSxFQUFFQSxJQUFLO1VBQ1hpQixTQUFTLEVBQUVBO1FBQVUsQ0FDdEI7TUFBQyxHQVZHeUQsU0FBUyxDQUFDakIsT0FBTyxDQVdkLENBQUM7SUFFZixDQUFDO0VBQUMsQ0FDQyxDQUFDO0FBRVY7QUFFQSxlQUFlUCxVQUFVIiwiaWdub3JlTGlzdCI6W119
165
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJfdG9Qcm9wZXJ0eUtleSIsInZhbHVlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJpIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiU3RyaW5nIiwiTnVtYmVyIiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiX2FycmF5V2l0aG91dEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVNwcmVhZCIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwiZiIsImEiLCJ1IiwibmV4dCIsInRvU3RyaW5nIiwic2xpY2UiLCJuYW1lIiwidGVzdCIsIlJlYWN0IiwiRHluYW1pY1ZhcmlhdGlvbklucHV0IiwidXNlRmllbGRBcnJheSIsInVzZVdhdGNoIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJwcm9kdWN0SGFzR3JvdXBzIiwiZGlzcGxheVF1YW50aXR5IiwiZ3JvdXBJbmRleEZyb21WYXJpYXRpb25OYW1lIiwid2l0aFF1YW50aXR5QWRqdXN0ZWREaXNwbGF5Q29zdHMiLCJzaG91bGRIaWRlU2luZ2xlT3B0aW9uU2VsZWN0aW9uIiwiY2xhbXBWYXJpYXRpb25Db2x1bW5zIiwidmFyaWF0aW9uTGF5b3V0U3BhbiIsImpzeCIsIl9qc3giLCJnZXRTZWxlY3RlZE9wdGlvbklkcyIsInZhcmlhdGlvbnMiLCJpZHMiLCJTZXQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsInZhcmlhdGlvbiIsInNwbGl0IiwiaWQiLCJwYXJzZWQiLCJwYXJzZUludCIsInRyaW0iLCJpc05hTiIsImFkZCIsImVyciIsImFzTGF5b3V0U3BhbiIsInVuZGVmaW5lZCIsImlzRmluaXRlIiwibGF5b3V0U3BhbkZvclZhcmlhdGlvbiIsInByb2R1Y3QiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYyIiwiZGlyZWN0IiwidmFyaWF0aW9uRmllbGQiLCJsYXlvdXRTcGFuIiwiZmllbGRzIiwiY29uY2F0IiwiaW5kZXBlbmRlbnRWYXJpYXRpb25GaWVsZHMiLCJncm91cFZhcmlhdGlvbkZpZWxkcyIsImZpZWxkIiwiZmluZCIsIml0ZW0iLCJpc0R5bmFtaWNWYXJpYXRpb25WaXNpYmxlIiwic2VsZWN0ZWRPcHRpb25JZHMiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYzIiwic2VsZWN0ZWRCeSIsInNvbWUiLCJvcHQiLCJoYXMiLCJWYXJpYXRpb25zIiwiX3JlZiIsImNvbnRhaW5lckNsYXNzIiwiY29sdW1ucyIsImRpc2FibGVkIiwiX3JlZiRuYW1lIiwiX3JlZiRrZXlOYW1lIiwia2V5TmFtZSIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNvbnRyb2wiLCJob29rRm9ybSIsInByaWNpbmdSdWxlcyIsIndhdGNoIiwiX3VzZUZpZWxkQXJyYXkiLCJncm91cEluZGV4IiwiaGFzR3JvdXBzIiwid2F0Y2hlZFF1YW50aXR5Iiwid2F0Y2hlZEdyb3VwcyIsInF1YW50aXR5IiwiZ3JvdXBRdWFudGl0eSIsImdyb3VwcyIsImpvYlF1YW50aXR5IiwiY3VycmVudFZhcmlhdGlvbnMiLCJpbmRlcGVuZGVudFZhcmlhdGlvbnMiLCJjb2x1bW5Db3VudCIsImluZGVwZW5kZW50VmFyaWF0aW9uQ29sdW1ucyIsImdyb3VwVmFyaWF0aW9uQ29sdW1ucyIsImdyaWRTdHlsZSIsImRpc3BsYXkiLCJjbGFzc05hbWUiLCJzdHlsZSIsImNoaWxkcmVuIiwibWFwIiwiZmllbGRJdGVtIiwiaW5kZXgiLCJfY3VycmVudCR2YWx1ZSIsIl9jdXJyZW50JHZhcmlhdGlvbkZpbCIsIl9jdXJyZW50JG9uY2VPZmZDb3N0IiwiX2N1cnJlbnQkdW5pdENvc3QiLCJfY3VycmVudCRjb3N0IiwiX2N1cnJlbnQkc2VsZWN0YWJsZU9wIiwiX2ZpZWxkSXRlbSR2YXJpYXRpb25GIiwiY3VycmVudCIsInZhcmlhdGlvbkZpbGVzIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsImNvc3QiLCJzZWxlY3RhYmxlT3B0aW9ucyIsInByaWNlZFZhcmlhdGlvbiIsImhpZGVTZWxlY3Rpb24iLCJzcGFuIiwiaGlkZGVuIiwiZ3JpZENvbHVtbiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL1ZhcmlhdGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50JztcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBEeW5hbWljVmFyaWF0aW9uSW5wdXQgZnJvbSAnLi9EeW5hbWljVmFyaWF0aW9uSW5wdXQnO1xuaW1wb3J0IHsgdXNlRmllbGRBcnJheSwgdXNlV2F0Y2ggfSBmcm9tICdyZWFjdC1ob29rLWZvcm0nO1xuaW1wb3J0IHsgdXNlTWVyY2hpRm9ybUNvbnRleHQgfSBmcm9tICcuLi9jb250ZXh0L01lcmNoaVByb2R1Y3RGb3JtUHJvdmlkZXInO1xuaW1wb3J0IHsgcHJvZHVjdEhhc0dyb3VwcyB9IGZyb20gJy4uL3V0aWxzL3Byb2R1Y3RzJztcbmltcG9ydCB7XG4gIGRpc3BsYXlRdWFudGl0eSxcbiAgZ3JvdXBJbmRleEZyb21WYXJpYXRpb25OYW1lLFxuICB3aXRoUXVhbnRpdHlBZGp1c3RlZERpc3BsYXlDb3N0cyxcbn0gZnJvbSAnLi4vdXRpbHMvcXVhbnRpdHlBZGp1c3RlZENvc3RzJztcbmltcG9ydCB7IHNob3VsZEhpZGVTaW5nbGVPcHRpb25TZWxlY3Rpb24gfSBmcm9tICcuLi91dGlscy9zaW5nbGVPcHRpb25WYXJpYXRpb24nO1xuaW1wb3J0IHtcbiAgY2xhbXBWYXJpYXRpb25Db2x1bW5zLFxuICB2YXJpYXRpb25MYXlvdXRTcGFuLFxufSBmcm9tICcuLi91dGlscy92YXJpYXRpb25MYXlvdXQnO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICBjb250YWluZXJDbGFzcz86IHN0cmluZztcbiAgY29sdW1ucz86IG51bWJlcjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBuYW1lPzogc3RyaW5nO1xuICBrZXlOYW1lPzogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRTZWxlY3RlZE9wdGlvbklkcyh2YXJpYXRpb25zOiBhbnlbXSk6IFNldDxudW1iZXI+IHtcbiAgY29uc3QgaWRzID0gbmV3IFNldDxudW1iZXI+KCk7XG4gIGZvciAoY29uc3QgdmFyaWF0aW9uIG9mIHZhcmlhdGlvbnMpIHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSB2YXJpYXRpb247XG4gICAgaWYgKCF2YWx1ZSkgY29udGludWU7XG4gICAgU3RyaW5nKHZhbHVlKS5zcGxpdCgnLCcpLmZvckVhY2goKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KGlkLnRyaW0oKSwgMTApO1xuICAgICAgaWYgKCFpc05hTihwYXJzZWQpKSBpZHMuYWRkKHBhcnNlZCk7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGlkcztcbn1cblxuZnVuY3Rpb24gYXNMYXlvdXRTcGFuKHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgcGFyc2VkID0gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogTnVtYmVyKHZhbHVlKTtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShwYXJzZWQpID8gcGFyc2VkIDogdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBsYXlvdXRTcGFuRm9yVmFyaWF0aW9uKFxuICB2YXJpYXRpb246IGFueSxcbiAgcHJvZHVjdDogYW55LFxuKTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGRpcmVjdCA9IGFzTGF5b3V0U3Bhbih2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkPy5sYXlvdXRTcGFuKTtcbiAgaWYgKGRpcmVjdCAhPSBudWxsKSByZXR1cm4gZGlyZWN0O1xuICBjb25zdCBpZCA9IE51bWJlcih2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkPy5pZCk7XG4gIGlmICghTnVtYmVyLmlzRmluaXRlKGlkKSkgcmV0dXJuIGRpcmVjdDtcbiAgY29uc3QgZmllbGRzID0gW1xuICAgIC4uLihwcm9kdWN0Py5pbmRlcGVuZGVudFZhcmlhdGlvbkZpZWxkcyB8fCBbXSksXG4gICAgLi4uKHByb2R1Y3Q/Lmdyb3VwVmFyaWF0aW9uRmllbGRzIHx8IFtdKSxcbiAgXTtcbiAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoaXRlbTogYW55KSA9PiBOdW1iZXIoaXRlbT8uaWQpID09PSBpZCk7XG4gIHJldHVybiBhc0xheW91dFNwYW4oZmllbGQ/LmxheW91dFNwYW4pO1xufVxuXG5mdW5jdGlvbiBpc0R5bmFtaWNWYXJpYXRpb25WaXNpYmxlKFxuICB2YXJpYXRpb246IGFueSxcbiAgc2VsZWN0ZWRPcHRpb25JZHM6IFNldDxudW1iZXI+LFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHNlbGVjdGVkQnk6IGFueVtdID0gdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uc2VsZWN0ZWRCeTtcbiAgaWYgKCFzZWxlY3RlZEJ5IHx8IHNlbGVjdGVkQnkubGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZTtcbiAgcmV0dXJuIHNlbGVjdGVkQnkuc29tZSgob3B0OiBhbnkpID0+IG9wdC5pZCAmJiBzZWxlY3RlZE9wdGlvbklkcy5oYXMob3B0LmlkKSk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbnMoe1xuICBjb250YWluZXJDbGFzcyxcbiAgY29sdW1ucyxcbiAgZGlzYWJsZWQsXG4gIG5hbWUgPSAndmFyaWF0aW9ucycsXG4gIGtleU5hbWUgPSAndmFyaWF0aW9uQXJyYXlGaWVsZElkJyxcbn06IFByb3BzKSB7XG4gIGNvbnN0IHsgY29udHJvbCwgaG9va0Zvcm0sIHByaWNpbmdSdWxlcywgcHJvZHVjdCB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgeyB3YXRjaCB9ID0gaG9va0Zvcm07XG4gIGNvbnN0IHsgZmllbGRzIH0gPSB1c2VGaWVsZEFycmF5KHsgY29udHJvbCwga2V5TmFtZSwgbmFtZSB9KTtcbiAgY29uc3QgZ3JvdXBJbmRleCA9IGdyb3VwSW5kZXhGcm9tVmFyaWF0aW9uTmFtZShuYW1lKTtcbiAgY29uc3QgaGFzR3JvdXBzID0gcHJvZHVjdEhhc0dyb3Vwcyhwcm9kdWN0KTtcbiAgY29uc3Qgd2F0Y2hlZFF1YW50aXR5ID0gdXNlV2F0Y2goe1xuICAgIGNvbnRyb2wsXG4gICAgbmFtZTpcbiAgICAgIGdyb3VwSW5kZXggIT0gbnVsbFxuICAgICAgICA/IGB2YXJpYXRpb25zR3JvdXBzLiR7Z3JvdXBJbmRleH0ucXVhbnRpdHlgXG4gICAgICAgIDogJ3F1YW50aXR5JyxcbiAgICBkaXNhYmxlZDogZ3JvdXBJbmRleCA9PSBudWxsICYmIGhhc0dyb3VwcyxcbiAgfSk7XG4gIGNvbnN0IHdhdGNoZWRHcm91cHMgPSB1c2VXYXRjaCh7XG4gICAgY29udHJvbCxcbiAgICBuYW1lOiAndmFyaWF0aW9uc0dyb3VwcycsXG4gICAgZGlzYWJsZWQ6IGdyb3VwSW5kZXggIT0gbnVsbCB8fCAhaGFzR3JvdXBzLFxuICB9KTtcbiAgY29uc3QgcXVhbnRpdHkgPSBkaXNwbGF5UXVhbnRpdHkoe1xuICAgIGdyb3VwSW5kZXgsXG4gICAgZ3JvdXBRdWFudGl0eTogd2F0Y2hlZFF1YW50aXR5LFxuICAgIGdyb3Vwczogd2F0Y2hlZEdyb3VwcyxcbiAgICBqb2JRdWFudGl0eTogd2F0Y2hlZFF1YW50aXR5LFxuICAgIGhhc0dyb3VwcyxcbiAgfSk7XG4gIGNvbnN0IGN1cnJlbnRWYXJpYXRpb25zOiBhbnlbXSA9IHdhdGNoKG5hbWUpIHx8IFtdO1xuICAvLyBHcm91cCBmaWVsZHMgY2FuIGJlIGdhdGVkIGJ5IGluZGVwZW5kZW50IG9wdGlvbnMgKGFuZCB2aWNlIHZlcnNhIGlzIHJhcmUpLlxuICAvLyBNaXJyb3IgdGhlIHNlcnZlcjogZ3JvdXAgc2VsZWN0ZWRfb3B0aW9ucyA9IGdyb3VwLnZhcmlhdGlvbnMgKyBqb2IudmFyaWF0aW9ucy5cbiAgY29uc3QgaW5kZXBlbmRlbnRWYXJpYXRpb25zOiBhbnlbXSA9XG4gICAgbmFtZSA9PT0gJ3ZhcmlhdGlvbnMnID8gW10gOiB3YXRjaCgndmFyaWF0aW9ucycpIHx8IFtdO1xuICBjb25zdCBzZWxlY3RlZE9wdGlvbklkcyA9IGdldFNlbGVjdGVkT3B0aW9uSWRzKFtcbiAgICAuLi5pbmRlcGVuZGVudFZhcmlhdGlvbnMsXG4gICAgLi4uY3VycmVudFZhcmlhdGlvbnMsXG4gIF0pO1xuICBjb25zdCBjb2x1bW5Db3VudCA9IGNsYW1wVmFyaWF0aW9uQ29sdW1ucyhcbiAgICBjb2x1bW5zID8/XG4gICAgICAobmFtZSA9PT0gJ3ZhcmlhdGlvbnMnXG4gICAgICAgID8gcHJvZHVjdD8uaW5kZXBlbmRlbnRWYXJpYXRpb25Db2x1bW5zXG4gICAgICAgIDogcHJvZHVjdD8uZ3JvdXBWYXJpYXRpb25Db2x1bW5zKSxcbiAgKTtcbiAgaWYgKCFmaWVsZHMubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgLy8gT25lIGNvbHVtbiBrZWVwcyB0aGUgZmllbGRzIGluIHRoZSBwYXJlbnQgc3RhY2suIEEgZ3JpZCB3cmFwcGVyIHdvdWxkXG4gIC8vIHN0aWxsIHRha2UgYSBmbGV4IHNsb3Qgd2hlbiBldmVyeSBmaWVsZCBpcyBoaWRkZW4uXG4gIGNvbnN0IGdyaWRTdHlsZTogUmVhY3QuQ1NTUHJvcGVydGllcyA9IGNvbHVtbkNvdW50ID4gMVxuICAgID8geyBbJy0tbWVyY2hpLXZhcmlhdGlvbi1jb2x1bW5zJyBhcyBzdHJpbmddOiBTdHJpbmcoY29sdW1uQ291bnQpIH1cbiAgICA6IHsgZGlzcGxheTogJ2NvbnRlbnRzJyB9O1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT1cIm1lcmNoaS1lbWJlZC1mb3JtX3ZhcmlhdGlvbi1ncmlkXCJcbiAgICAgIHN0eWxlPXtncmlkU3R5bGV9XG4gICAgPlxuICAgICAge2ZpZWxkcy5tYXAoKGZpZWxkSXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnQgPSBjdXJyZW50VmFyaWF0aW9uc1tpbmRleF07XG4gICAgICAgIC8vIEZpZWxkLWFycmF5IGl0ZW1zIGFyZSB0aGUgc291cmNlIG9mIHRydXRoIGZvciB2YXJpYXRpb25GaWVsZCAvXG4gICAgICAgIC8vIHNlbGVjdGFibGVPcHRpb25zLiBXYXRjaGVkIHZhbHVlcyBjYW4gb21pdCB0aG9zZSBhZnRlciBhIHZhbHVlLW9ubHlcbiAgICAgICAgLy8gdXBkYXRlOyBuZXZlciBsZXQgdGhhdCBzdHJpcCBtZXRhZGF0YSBvciB0aGUgaW5wdXQgdHJlZSBjcmFzaGVzIGFuZFxuICAgICAgICAvLyB0aGUgZm9ybSBjb2xsYXBzZXMuXG4gICAgICAgIGNvbnN0IHZhcmlhdGlvbiA9IHtcbiAgICAgICAgICAuLi5maWVsZEl0ZW0sXG4gICAgICAgICAgdmFsdWU6IGN1cnJlbnQ/LnZhbHVlID8/IGZpZWxkSXRlbS52YWx1ZSxcbiAgICAgICAgICB2YXJpYXRpb25GaWxlczogY3VycmVudD8udmFyaWF0aW9uRmlsZXMgPz8gZmllbGRJdGVtLnZhcmlhdGlvbkZpbGVzLFxuICAgICAgICAgIG9uY2VPZmZDb3N0OiBjdXJyZW50Py5vbmNlT2ZmQ29zdCA/PyBmaWVsZEl0ZW0ub25jZU9mZkNvc3QsXG4gICAgICAgICAgdW5pdENvc3Q6IGN1cnJlbnQ/LnVuaXRDb3N0ID8/IGZpZWxkSXRlbS51bml0Q29zdCxcbiAgICAgICAgICBjb3N0OiBjdXJyZW50Py5jb3N0ID8/IGZpZWxkSXRlbS5jb3N0LFxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zOlxuICAgICAgICAgICAgY3VycmVudD8uc2VsZWN0YWJsZU9wdGlvbnMgPz8gZmllbGRJdGVtLnNlbGVjdGFibGVPcHRpb25zLFxuICAgICAgICAgIHZhcmlhdGlvbkZpZWxkOiBmaWVsZEl0ZW0udmFyaWF0aW9uRmllbGQgPz8gY3VycmVudD8udmFyaWF0aW9uRmllbGQsXG4gICAgICAgIH07XG4gICAgICAgIGlmICghaXNEeW5hbWljVmFyaWF0aW9uVmlzaWJsZSh2YXJpYXRpb24sIHNlbGVjdGVkT3B0aW9uSWRzKSkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHByaWNlZFZhcmlhdGlvbiA9IHdpdGhRdWFudGl0eUFkanVzdGVkRGlzcGxheUNvc3RzKFxuICAgICAgICAgIHZhcmlhdGlvbixcbiAgICAgICAgICBwcmljaW5nUnVsZXMsXG4gICAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgaGlkZVNlbGVjdGlvbiA9IHNob3VsZEhpZGVTaW5nbGVPcHRpb25TZWxlY3Rpb24ocHJpY2VkVmFyaWF0aW9uKTtcbiAgICAgICAgY29uc3Qgc3BhbiA9IHZhcmlhdGlvbkxheW91dFNwYW4oXG4gICAgICAgICAgbGF5b3V0U3BhbkZvclZhcmlhdGlvbihwcmljZWRWYXJpYXRpb24sIHByb2R1Y3QpLFxuICAgICAgICAgIGNvbHVtbkNvdW50LFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxmaWVsZHNldFxuICAgICAgICAgICAgY2xhc3NOYW1lPXtoaWRlU2VsZWN0aW9uID8gdW5kZWZpbmVkIDogY29udGFpbmVyQ2xhc3N9XG4gICAgICAgICAgICBrZXk9e2ZpZWxkSXRlbVtrZXlOYW1lXX1cbiAgICAgICAgICAgIG5hbWU9e2Ake25hbWV9WyR7aW5kZXh9XWB9XG4gICAgICAgICAgICBoaWRkZW49e2hpZGVTZWxlY3Rpb259XG4gICAgICAgICAgICBzdHlsZT17aGlkZVNlbGVjdGlvbiA/IHVuZGVmaW5lZCA6IHsgZ3JpZENvbHVtbjogYHNwYW4gJHtzcGFufWAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8RHluYW1pY1ZhcmlhdGlvbklucHV0XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgICB2YXJpYXRpb249e3ByaWNlZFZhcmlhdGlvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9maWVsZHNldD5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBWYXJpYXRpb25zO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxZQUFZOztBQUFDLFNBQUFBLFFBQUFDLENBQUEsc0NBQUFELE9BQUEsd0JBQUFFLE1BQUEsdUJBQUFBLE1BQUEsQ0FBQUMsUUFBQSxhQUFBRixDQUFBLGtCQUFBQSxDQUFBLGdCQUFBQSxDQUFBLFdBQUFBLENBQUEseUJBQUFDLE1BQUEsSUFBQUQsQ0FBQSxDQUFBRyxXQUFBLEtBQUFGLE1BQUEsSUFBQUQsQ0FBQSxLQUFBQyxNQUFBLENBQUFHLFNBQUEscUJBQUFKLENBQUEsS0FBQUQsT0FBQSxDQUFBQyxDQUFBO0FBQUEsU0FBQUssUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBWCxD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
@@ -39,6 +39,7 @@ import { useMerchiFormContext } from '../../context/MerchiProductFormProvider';
39
39
  import { createObjectId, designGroupCount, detachField, fitTextBox, productHasVariationGroups, seedOrSyncCanvas, templatesForGroup, variationsForGroup } from '../../utils/draftTemplates';
40
40
  import { loadDrafts, pruneDrafts, saveDrafts, savedPreview, upsertGroupTemplateDraft } from '../../utils/draftStorage';
41
41
  import { exportDraftPngs, templateImageSources } from '../../utils/draftExport';
42
+ import { productAllowsAdditionalDesignObjects } from '../../utils/designerInputs';
42
43
  import { DEFAULT_DRAFT_FONT, DRAFT_TEXT_FONTS, cssFontFamily, ensureDraftFonts } from '../../utils/draftFonts';
43
44
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
44
45
  var DraftCanvas = /*#__PURE__*/React.lazy(function () {
@@ -105,6 +106,7 @@ export default function DraftDesignerSheet(_ref) {
105
106
  hookForm = _useMerchiFormContext.hookForm,
106
107
  product = _useMerchiFormContext.product;
107
108
  var formValues = hookForm.watch();
109
+ var allowAdditionalObjects = productAllowsAdditionalDesignObjects(product);
108
110
  var hasGroups = productHasVariationGroups(product);
109
111
  var groupCount = designGroupCount(product, formValues);
110
112
  var _useState = useState(initialGroupIndex),
@@ -627,7 +629,7 @@ export default function DraftDesignerSheet(_ref) {
627
629
  }) : null, /*#__PURE__*/_jsxs("nav", {
628
630
  className: "merchi-product-draft-toolbar",
629
631
  "aria-label": "Design tools",
630
- children: [/*#__PURE__*/_jsxs("button", {
632
+ children: [allowAdditionalObjects ? /*#__PURE__*/_jsxs("button", {
631
633
  type: "button",
632
634
  onClick: function onClick() {
633
635
  setLayersOpen(false);
@@ -636,7 +638,7 @@ export default function DraftDesignerSheet(_ref) {
636
638
  children: [/*#__PURE__*/_jsx(FaFont, {}), /*#__PURE__*/_jsx("span", {
637
639
  children: "Text"
638
640
  })]
639
- }), /*#__PURE__*/_jsxs("button", {
641
+ }) : null, allowAdditionalObjects ? /*#__PURE__*/_jsxs("button", {
640
642
  type: "button",
641
643
  onClick: function onClick() {
642
644
  var _fileInputRef$current;
@@ -647,7 +649,7 @@ export default function DraftDesignerSheet(_ref) {
647
649
  children: [/*#__PURE__*/_jsx(FaImage, {}), /*#__PURE__*/_jsx("span", {
648
650
  children: "Image"
649
651
  })]
650
- }), /*#__PURE__*/_jsxs("button", {
652
+ }) : null, /*#__PURE__*/_jsxs("button", {
651
653
  type: "button",
652
654
  onClick: function onClick() {
653
655
  setEditingTextId(null);
@@ -682,4 +684,4 @@ export default function DraftDesignerSheet(_ref) {
682
684
  })]
683
685
  }), document.body);
684
686
  }
685
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZW9mIiwibyIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiY29uc3RydWN0b3IiLCJwcm90b3R5cGUiLCJfcmVnZW5lcmF0b3IiLCJlIiwidCIsInIiLCJuIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFzeW5jR2VuZXJhdG9yU3RlcCIsIlByb21pc2UiLCJyZXNvbHZlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfbmV4dCIsIl90aHJvdyIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJBcnJheSIsImZyb20iLCJpc0FycmF5IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsInRlc3QiLCJuZXh0IiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnRpZXMiLCJrZXkiLCJfY3JlYXRlQ2xhc3MiLCJfdG9QcmltaXRpdmUiLCJ0b1ByaW1pdGl2ZSIsIlN0cmluZyIsIk51bWJlciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiX2Fzc2VydFRoaXNJbml0aWFsaXplZCIsIlJlZmVyZW5jZUVycm9yIiwiQm9vbGVhbiIsInZhbHVlT2YiLCJfaW5oZXJpdHMiLCJfc2V0UHJvdG90eXBlT2YiLCJSZWFjdCIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImNyZWF0ZVBvcnRhbCIsIkZhQXJyb3dEb3duIiwiRmFBcnJvd1VwIiwiRmFDaGVjayIsIkZhRm9udCIsIkZhSW1hZ2UiLCJGYUxheWVyR3JvdXAiLCJGYUxvY2siLCJGYVBsdXMiLCJGYVVubG9jayIsIkZhVGltZXMiLCJGYVRyYXNoIiwiQ2dTcGlubmVyIiwidXNlTWVyY2hpRm9ybUNvbnRleHQiLCJjcmVhdGVPYmplY3RJZCIsImRlc2lnbkdyb3VwQ291bnQiLCJkZXRhY2hGaWVsZCIsImZpdFRleHRCb3giLCJwcm9kdWN0SGFzVmFyaWF0aW9uR3JvdXBzIiwic2VlZE9yU3luY0NhbnZhcyIsInRlbXBsYXRlc0Zvckdyb3VwIiwidmFyaWF0aW9uc0Zvckdyb3VwIiwibG9hZERyYWZ0cyIsInBydW5lRHJhZnRzIiwic2F2ZURyYWZ0cyIsInNhdmVkUHJldmlldyIsInVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdCIsImV4cG9ydERyYWZ0UG5ncyIsInRlbXBsYXRlSW1hZ2VTb3VyY2VzIiwiREVGQVVMVF9EUkFGVF9GT05UIiwiRFJBRlRfVEVYVF9GT05UUyIsImNzc0ZvbnRGYW1pbHkiLCJlbnN1cmVEcmFmdEZvbnRzIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiRHJhZnRDYW52YXMiLCJsYXp5IiwiRHJhZnRDYW52YXNCb3VuZGFyeSIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwic3RhdGUiLCJlcnJvciIsInJlbmRlciIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiQ29tcG9uZW50Iiwic3RvcEJ1YmJsZSIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwidGVtcGxhdGVTcmMiLCJ0ZW1wbGF0ZSIsImFwaVVybCIsInJlYWRGaWxlQXNEYXRhVXJsIiwiZmlsZSIsInJlamVjdCIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJvbmxvYWQiLCJyZXN1bHQiLCJvbmVycm9yIiwicmVhZEFzRGF0YVVSTCIsIkRyYWZ0RGVzaWduZXJTaGVldCIsIl9yZWYiLCJvcGVuIiwiX3JlZiRpbml0aWFsR3JvdXBJbmRlIiwiaW5pdGlhbEdyb3VwSW5kZXgiLCJvbkNsb3NlIiwib25TYXZlZCIsIl91c2VNZXJjaGlGb3JtQ29udGV4dCIsImNsYXNzTmFtZURyYWZ0U2hlZXQiLCJob29rRm9ybSIsInByb2R1Y3QiLCJmb3JtVmFsdWVzIiwid2F0Y2giLCJoYXNHcm91cHMiLCJncm91cENvdW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImdyb3VwSW5kZXgiLCJzZXRHcm91cEluZGV4IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJ0ZW1wbGF0ZUluZGV4Iiwic2V0VGVtcGxhdGVJbmRleCIsIl91c2VTdGF0ZTUiLCJ3aWR0aCIsImhlaWdodCIsIm9iamVjdHMiLCJfdXNlU3RhdGU2Iiwic2V0U3RhdGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkSWQiLCJzZXRTZWxlY3RlZElkIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJlZGl0aW5nVGV4dElkIiwic2V0RWRpdGluZ1RleHRJZCIsIl91c2VTdGF0ZTEiLCJfdXNlU3RhdGUxMCIsImxheWVyc09wZW4iLCJzZXRMYXllcnNPcGVuIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNhdmluZyIsInNldFNhdmluZyIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXRFcnJvciIsImZpbGVJbnB1dFJlZiIsImNhbnZhc1JlZiIsInRlbXBsYXRlcyIsIl9mb3JtVmFsdWVzJHZhcmlhdGlvbiIsInZhcmlhdGlvbnMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiTWF0aCIsIm1pbiIsInZhcmlhdGlvblN5bmNLZXkiLCJKU09OIiwic3RyaW5naWZ5IiwibWFwIiwidmFyaWF0aW9uIiwiX3ZhcmlhdGlvbiR2YXJpYXRpb25GIiwiaWQiLCJ2YXJpYXRpb25GaWVsZCIsImZpbGVzIiwidmFyaWF0aW9uRmlsZXMiLCJ2aWV3VXJsIiwiZHJhZnRzIiwic2F2ZWQiLCJjYW52YXNKc29uIiwiY3VycmVudCIsInNhbWUiLCJldmVyeSIsIm9iaiIsImluZGV4Iiwib3RoZXIiLCJ0ZXh0Iiwic3JjIiwiZmlsbCIsIm1lcmNoaUZpZWxkSWQiLCJzZWxlY3RlZCIsImZpbmQiLCJwYXRjaFNlbGVjdGVkIiwicGF0Y2giLCJ0eXBlIiwiYWRkVGV4dCIsImRyYWZ0ZWQiLCJ4Iiwicm90YXRpb24iLCJzY2FsZVgiLCJzY2FsZVkiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJhbGlnbiIsImNvbmNhdCIsImFkZEltYWdlIiwiX3giLCJfYWRkSW1hZ2UiLCJfY2FsbGVlIiwiX2NvbnRleHQiLCJsb2NrQXNwZWN0UmF0aW8iLCJyZW1vdmVTZWxlY3RlZCIsIm1vdmVMYXllciIsImRpcmVjdGlvbiIsImZpbmRJbmRleCIsIm5leHRJbmRleCIsIl9vYmplY3RzJHNwbGljZSIsInNwbGljZSIsIl9vYmplY3RzJHNwbGljZTIiLCJpdGVtIiwiaGFuZGxlRG9uZSIsIl9oYW5kbGVEb25lIiwiX2NhbGxlZTIiLCJwbmdzIiwiX3QiLCJfdDIiLCJfY29udGV4dDIiLCJleHBvcnRQbmdzIiwiZ2V0VmFsdWVzIiwidGVtcGxhdGVJZCIsImRvY3VtZW50Iiwicm9sZSIsIm9uTW91c2VEb3duIiwib25DbGljayIsImRpc2FibGVkIiwiXyIsIl9pdGVtJGlkIiwiU3VzcGVuc2UiLCJmYWxsYmFjayIsInJlZiIsIm9uU2VsZWN0Iiwib25DaGFuZ2UiLCJvbkVkaXRUZXh0IiwicmV2ZXJzZSIsInJvd3MiLCJhdXRvRm9jdXMiLCJ0YXJnZXQiLCJzdHlsZSIsImZvbnQiLCJsYWJlbCIsIm1heCIsImNvbG91ckZpZWxkSWQiLCJfZmlsZUlucHV0UmVmJGN1cnJlbnQiLCJjbGljayIsIm9wZW5Ob3ciLCJhY2NlcHQiLCJfZSR0YXJnZXQkZmlsZXMiLCJib2R5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZHJhZnRzL0RyYWZ0RGVzaWduZXJTaGVldC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7XG4gIEZhQXJyb3dEb3duLFxuICBGYUFycm93VXAsXG4gIEZhQ2hlY2ssXG4gIEZhRm9udCxcbiAgRmFJbWFnZSxcbiAgRmFMYXllckdyb3VwLFxuICBGYUxvY2ssXG4gIEZhUGx1cyxcbiAgRmFVbmxvY2ssXG4gIEZhVGltZXMsXG4gIEZhVHJhc2gsXG59IGZyb20gJ3JlYWN0LWljb25zL2ZhJztcbmltcG9ydCB7IENnU3Bpbm5lciB9IGZyb20gJ3JlYWN0LWljb25zL2NnJztcbmltcG9ydCB7IHVzZU1lcmNoaUZvcm1Db250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC9NZXJjaGlQcm9kdWN0Rm9ybVByb3ZpZGVyJztcbmltcG9ydCB7XG4gIGNyZWF0ZU9iamVjdElkLFxuICBkZXNpZ25Hcm91cENvdW50LFxuICBkZXRhY2hGaWVsZCxcbiAgZml0VGV4dEJveCxcbiAgcHJvZHVjdEhhc1ZhcmlhdGlvbkdyb3VwcyxcbiAgc2VlZE9yU3luY0NhbnZhcyxcbiAgdGVtcGxhdGVzRm9yR3JvdXAsXG4gIHZhcmlhdGlvbnNGb3JHcm91cCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvZHJhZnRUZW1wbGF0ZXMnO1xuaW1wb3J0IHtcbiAgbG9hZERyYWZ0cyxcbiAgcHJ1bmVEcmFmdHMsXG4gIHNhdmVEcmFmdHMsXG4gIHNhdmVkUHJldmlldyxcbiAgdXBzZXJ0R3JvdXBUZW1wbGF0ZURyYWZ0LFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdFN0b3JhZ2UnO1xuaW1wb3J0IHsgZXhwb3J0RHJhZnRQbmdzLCB0ZW1wbGF0ZUltYWdlU291cmNlcyB9IGZyb20gJy4uLy4uL3V0aWxzL2RyYWZ0RXhwb3J0JztcbmltcG9ydCB7XG4gIERyYWZ0Q2FudmFzSGFuZGxlLFxuICBEcmFmdENhbnZhc09iamVjdCxcbiAgRHJhZnRDYW52YXNTdGF0ZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvdHlwZXMnO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9EUkFGVF9GT05ULFxuICBEUkFGVF9URVhUX0ZPTlRTLFxuICBjc3NGb250RmFtaWx5LFxuICBlbnN1cmVEcmFmdEZvbnRzLFxufSBmcm9tICcuLi8uLi91dGlscy9kcmFmdEZvbnRzJztcblxuY29uc3QgRHJhZnRDYW52YXMgPSBSZWFjdC5sYXp5KCgpID0+IGltcG9ydCgnLi9EcmFmdENhbnZhcycpKTtcblxuY2xhc3MgRHJhZnRDYW52YXNCb3VuZGFyeSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxcbiAgeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0sXG4gIHsgZXJyb3I6IHN0cmluZyB8IG51bGwgfVxuPiB7XG4gIGNvbnN0cnVjdG9yKHByb3BzOiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLnN0YXRlID0geyBlcnJvcjogbnVsbCB9O1xuICB9XG5cbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcjogdW5rbm93bikge1xuICAgIHJldHVybiB7XG4gICAgICBlcnJvcjogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnQ2FudmFzIGZhaWxlZCB0byBsb2FkJyxcbiAgICB9O1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLmVycm9yKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2FudmFzLWZhbGxiYWNrJz5cbiAgICAgICAgICB7dGhpcy5zdGF0ZS5lcnJvcn1cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wQnViYmxlKGV2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudCkge1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaW5pdGlhbEdyb3VwSW5kZXg/OiBudW1iZXI7XG4gIG9uQ2xvc2U6ICgpID0+IHZvaWQ7XG4gIG9uU2F2ZWQ6ICgpID0+IHZvaWQ7XG59XG5cbmZ1bmN0aW9uIHRlbXBsYXRlU3JjKHRlbXBsYXRlOiBhbnksIGFwaVVybD86IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHRlbXBsYXRlSW1hZ2VTb3VyY2VzKHRlbXBsYXRlLCBhcGlVcmwpO1xufVxuXG5mdW5jdGlvbiByZWFkRmlsZUFzRGF0YVVybChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKFN0cmluZyhyZWFkZXIucmVzdWx0IHx8ICcnKSk7XG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVhZGVyLmVycm9yKTtcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERyYWZ0RGVzaWduZXJTaGVldCh7XG4gIG9wZW4sXG4gIGluaXRpYWxHcm91cEluZGV4ID0gMCxcbiAgb25DbG9zZSxcbiAgb25TYXZlZCxcbn06IFByb3BzKSB7XG4gIGNvbnN0IHtcbiAgICBhcGlVcmwsXG4gICAgY2xhc3NOYW1lRHJhZnRTaGVldCxcbiAgICBob29rRm9ybSxcbiAgICBwcm9kdWN0LFxuICB9ID0gdXNlTWVyY2hpRm9ybUNvbnRleHQoKTtcbiAgY29uc3QgZm9ybVZhbHVlcyA9IGhvb2tGb3JtLndhdGNoKCk7XG4gIGNvbnN0IGhhc0dyb3VwcyA9IHByb2R1Y3RIYXNWYXJpYXRpb25Hcm91cHMocHJvZHVjdCk7XG4gIGNvbnN0IGdyb3VwQ291bnQgPSBkZXNpZ25Hcm91cENvdW50KHByb2R1Y3QsIGZvcm1WYWx1ZXMpO1xuICBjb25zdCBbZ3JvdXBJbmRleCwgc2V0R3JvdXBJbmRleF0gPSB1c2VTdGF0ZShpbml0aWFsR3JvdXBJbmRleCk7XG4gIGNvbnN0IFt0ZW1wbGF0ZUluZGV4LCBzZXRUZW1wbGF0ZUluZGV4XSA9IHVzZVN0YXRlKDApO1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlXSA9IHVzZVN0YXRlPERyYWZ0Q2FudmFzU3RhdGU+KHtcbiAgICB3aWR0aDogMTAwMCxcbiAgICBoZWlnaHQ6IDEwMDAsXG4gICAgb2JqZWN0czogW10sXG4gIH0pO1xuICBjb25zdCBbc2VsZWN0ZWRJZCwgc2V0U2VsZWN0ZWRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2VkaXRpbmdUZXh0SWQsIHNldEVkaXRpbmdUZXh0SWRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsYXllcnNPcGVuLCBzZXRMYXllcnNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NhdmluZywgc2V0U2F2aW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZmlsZUlucHV0UmVmID0gdXNlUmVmPEhUTUxJbnB1dEVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjYW52YXNSZWYgPSB1c2VSZWY8RHJhZnRDYW52YXNIYW5kbGU+KG51bGwpO1xuXG4gIGNvbnN0IHRlbXBsYXRlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gdGVtcGxhdGVzRm9yR3JvdXAoXG4gICAgICBwcm9kdWN0LFxuICAgICAgZm9ybVZhbHVlcz8udmFyaWF0aW9ucyB8fCBbXSxcbiAgICAgIGZvcm1WYWx1ZXM/LnZhcmlhdGlvbnNHcm91cHM/Lltncm91cEluZGV4XT8udmFyaWF0aW9ucyB8fCBbXSxcbiAgICApLFxuICAgIFtwcm9kdWN0LCBmb3JtVmFsdWVzLCBncm91cEluZGV4XSxcbiAgKTtcbiAgY29uc3QgdGVtcGxhdGUgPSB0ZW1wbGF0ZXNbTWF0aC5taW4odGVtcGxhdGVJbmRleCwgdGVtcGxhdGVzLmxlbmd0aCAtIDEpXSB8fCB0ZW1wbGF0ZXNbMF07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob3Blbikgc2V0R3JvdXBJbmRleChpbml0aWFsR3JvdXBJbmRleCk7XG4gIH0sIFtvcGVuLCBpbml0aWFsR3JvdXBJbmRleF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4pIGVuc3VyZURyYWZ0Rm9udHMoKTtcbiAgfSwgW29wZW5dKTtcblxuICBjb25zdCB2YXJpYXRpb25TeW5jS2V5ID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgdmFyaWF0aW9uc0Zvckdyb3VwKGZvcm1WYWx1ZXMsIGdyb3VwSW5kZXgpLm1hcCgodmFyaWF0aW9uOiBhbnkpID0+ICh7XG4gICAgICBpZDogdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uaWQsXG4gICAgICB2YWx1ZTogdmFyaWF0aW9uPy52YWx1ZSxcbiAgICAgIGZpbGVzOiAodmFyaWF0aW9uPy52YXJpYXRpb25GaWxlcyB8fCBbXSkubWFwKFxuICAgICAgICAoZmlsZTogYW55KSA9PiBmaWxlPy52aWV3VXJsIHx8IGZpbGU/LmlkXG4gICAgICApLFxuICAgIH0pKVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFvcGVuIHx8ICF0ZW1wbGF0ZSkgcmV0dXJuO1xuICAgIGNvbnN0IGRyYWZ0cyA9IGxvYWREcmFmdHMocHJvZHVjdC5pZCk7XG4gICAgY29uc3Qgc2F2ZWQgPSBzYXZlZFByZXZpZXcoZHJhZnRzLCBncm91cEluZGV4LCB0ZW1wbGF0ZS5pZCk7XG4gICAgY29uc3QgdmFyaWF0aW9ucyA9IHZhcmlhdGlvbnNGb3JHcm91cChmb3JtVmFsdWVzLCBncm91cEluZGV4KTtcbiAgICBzZXRTdGF0ZShzZWVkT3JTeW5jQ2FudmFzKHNhdmVkPy5jYW52YXNKc29uIHx8IG51bGwsIHRlbXBsYXRlLCB2YXJpYXRpb25zKSk7XG4gICAgc2V0U2VsZWN0ZWRJZChudWxsKTtcbiAgICBzZXRFZGl0aW5nVGV4dElkKG51bGwpO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIC8vIFJlbG9hZCB0aGUgc2F2ZWQgY2FudmFzIHdoZW4gc3dpdGNoaW5nIGdyb3VwL3RlbXBsYXRlLCBub3Qgb24gZXZlcnkga2V5c3Ryb2tlLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW29wZW4sIGdyb3VwSW5kZXgsIHRlbXBsYXRlPy5pZCwgcHJvZHVjdD8uaWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghb3BlbiB8fCAhdGVtcGxhdGUpIHJldHVybjtcbiAgICBjb25zdCB2YXJpYXRpb25zID0gdmFyaWF0aW9uc0Zvckdyb3VwKGZvcm1WYWx1ZXMsIGdyb3VwSW5kZXgpO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiB7XG4gICAgICBjb25zdCBuZXh0ID0gc2VlZE9yU3luY0NhbnZhcyhjdXJyZW50LCB0ZW1wbGF0ZSwgdmFyaWF0aW9ucyk7XG4gICAgICBjb25zdCBzYW1lID0gY3VycmVudC53aWR0aCA9PT0gbmV4dC53aWR0aFxuICAgICAgICAmJiBjdXJyZW50LmhlaWdodCA9PT0gbmV4dC5oZWlnaHRcbiAgICAgICAgJiYgY3VycmVudC5vYmplY3RzLmxlbmd0aCA9PT0gbmV4dC5vYmplY3RzLmxlbmd0aFxuICAgICAgICAmJiBjdXJyZW50Lm9iamVjdHMuZXZlcnkoKG9iaiwgaW5kZXgpID0+IHtcbiAgICAgICAgICBjb25zdCBvdGhlciA9IG5leHQub2JqZWN0c1tpbmRleF07XG4gICAgICAgICAgcmV0dXJuIG9iai5pZCA9PT0gb3RoZXIuaWRcbiAgICAgICAgICAgICYmIG9iai50ZXh0ID09PSBvdGhlci50ZXh0XG4gICAgICAgICAgICAmJiBvYmouc3JjID09PSBvdGhlci5zcmNcbiAgICAgICAgICAgICYmIG9iai5maWxsID09PSBvdGhlci5maWxsXG4gICAgICAgICAgICAmJiBvYmoubWVyY2hpRmllbGRJZCA9PT0gb3RoZXIubWVyY2hpRmllbGRJZDtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gc2FtZSA/IGN1cnJlbnQgOiBuZXh0O1xuICAgIH0pO1xuICB9LCBbb3BlbiwgdmFyaWF0aW9uU3luY0tleSwgdGVtcGxhdGU/LmlkLCBncm91cEluZGV4XSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWQgPSBzdGF0ZS5vYmplY3RzLmZpbmQoKG9iaikgPT4gb2JqLmlkID09PSBzZWxlY3RlZElkKSB8fCBudWxsO1xuXG4gIGZ1bmN0aW9uIHBhdGNoU2VsZWN0ZWQocGF0Y2g6IFBhcnRpYWw8RHJhZnRDYW52YXNPYmplY3Q+KSB7XG4gICAgaWYgKCFzZWxlY3RlZElkKSByZXR1cm47XG4gICAgc2V0U3RhdGUoKGN1cnJlbnQpID0+ICh7XG4gICAgICAuLi5jdXJyZW50LFxuICAgICAgb2JqZWN0czogY3VycmVudC5vYmplY3RzLm1hcCgob2JqKSA9PiB7XG4gICAgICAgIGlmIChvYmouaWQgIT09IHNlbGVjdGVkSWQpIHJldHVybiBvYmo7XG4gICAgICAgIGNvbnN0IG5leHQgPSB7IC4uLm9iaiwgLi4ucGF0Y2ggfTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG5leHQudHlwZSA9PT0gJ3RleHQnXG4gICAgICAgICAgJiYgKCd0ZXh0JyBpbiBwYXRjaCB8fCAnZm9udFNpemUnIGluIHBhdGNoIHx8ICdmb250RmFtaWx5JyBpbiBwYXRjaClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHsgLi4ubmV4dCwgLi4uZml0VGV4dEJveChuZXh0KSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgfSksXG4gICAgfSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gYWRkVGV4dCgpIHtcbiAgICBjb25zdCBpZCA9IGNyZWF0ZU9iamVjdElkKCk7XG4gICAgY29uc3QgZHJhZnRlZDogRHJhZnRDYW52YXNPYmplY3QgPSB7XG4gICAgICBpZCxcbiAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIHg6IHN0YXRlLndpZHRoICogMC41LFxuICAgICAgeTogc3RhdGUuaGVpZ2h0ICogMC4zNSxcbiAgICAgIHdpZHRoOiAxLFxuICAgICAgaGVpZ2h0OiAxLFxuICAgICAgcm90YXRpb246IDAsXG4gICAgICBzY2FsZVg6IDEsXG4gICAgICBzY2FsZVk6IDEsXG4gICAgICB0ZXh0OiAnWW91ciB0ZXh0JyxcbiAgICAgIGZvbnRTaXplOiA1NixcbiAgICAgIGZvbnRGYW1pbHk6IERFRkFVTFRfRFJBRlRfRk9OVCxcbiAgICAgIGZpbGw6ICcjMTExMTExJyxcbiAgICAgIGFsaWduOiAnbGVmdCcsXG4gICAgfTtcbiAgICBjb25zdCBvYmogPSB7IC4uLmRyYWZ0ZWQsIC4uLmZpdFRleHRCb3goZHJhZnRlZCkgfTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gKHsgLi4uY3VycmVudCwgb2JqZWN0czogWy4uLmN1cnJlbnQub2JqZWN0cywgb2JqXSB9KSk7XG4gICAgc2V0U2VsZWN0ZWRJZChpZCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChpZCk7XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBhZGRJbWFnZShmaWxlOiBGaWxlKSB7XG4gICAgY29uc3Qgc3JjID0gYXdhaXQgcmVhZEZpbGVBc0RhdGFVcmwoZmlsZSk7XG4gICAgY29uc3QgaWQgPSBjcmVhdGVPYmplY3RJZCgpO1xuICAgIGNvbnN0IG9iajogRHJhZnRDYW52YXNPYmplY3QgPSB7XG4gICAgICBpZCxcbiAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICB4OiBzdGF0ZS53aWR0aCAqIDAuMixcbiAgICAgIHk6IHN0YXRlLmhlaWdodCAqIDAuMixcbiAgICAgIHdpZHRoOiBzdGF0ZS53aWR0aCAqIDAuNixcbiAgICAgIGhlaWdodDogc3RhdGUuaGVpZ2h0ICogMC42LFxuICAgICAgcm90YXRpb246IDAsXG4gICAgICBzY2FsZVg6IDEsXG4gICAgICBzY2FsZVk6IDEsXG4gICAgICBzcmMsXG4gICAgICBsb2NrQXNwZWN0UmF0aW86IHRydWUsXG4gICAgfTtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gKHsgLi4uY3VycmVudCwgb2JqZWN0czogWy4uLmN1cnJlbnQub2JqZWN0cywgb2JqXSB9KSk7XG4gICAgc2V0U2VsZWN0ZWRJZChpZCk7XG4gIH1cblxuICBmdW5jdGlvbiByZW1vdmVTZWxlY3RlZCgpIHtcbiAgICBpZiAoIXNlbGVjdGVkSWQpIHJldHVybjtcbiAgICBzZXRTdGF0ZSgoY3VycmVudCkgPT4gZGV0YWNoRmllbGQoY3VycmVudCwgc2VsZWN0ZWRJZCkpO1xuICAgIHNldFNlbGVjdGVkSWQobnVsbCk7XG4gICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1vdmVMYXllcihkaXJlY3Rpb246IDEgfCAtMSkge1xuICAgIGlmICghc2VsZWN0ZWRJZCkgcmV0dXJuO1xuICAgIHNldFN0YXRlKChjdXJyZW50KSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGN1cnJlbnQub2JqZWN0cy5maW5kSW5kZXgoKG9iaikgPT4gb2JqLmlkID09PSBzZWxlY3RlZElkKTtcbiAgICAgIGNvbnN0IG5leHRJbmRleCA9IGluZGV4ICsgZGlyZWN0aW9uO1xuICAgICAgaWYgKGluZGV4IDwgMCB8fCBuZXh0SW5kZXggPCAwIHx8IG5leHRJbmRleCA+PSBjdXJyZW50Lm9iamVjdHMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfVxuICAgICAgY29uc3Qgb2JqZWN0cyA9IFsuLi5jdXJyZW50Lm9iamVjdHNdO1xuICAgICAgY29uc3QgW2l0ZW1dID0gb2JqZWN0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgb2JqZWN0cy5zcGxpY2UobmV4dEluZGV4LCAwLCBpdGVtKTtcbiAgICAgIHJldHVybiB7IC4uLmN1cnJlbnQsIG9iamVjdHMgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZURvbmUoKSB7XG4gICAgaWYgKCF0ZW1wbGF0ZSB8fCAhcHJvZHVjdD8uaWQpIHJldHVybjtcbiAgICBzZXRTYXZpbmcodHJ1ZSk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBuZ3MgPSBjYW52YXNSZWYuY3VycmVudFxuICAgICAgICA/IGF3YWl0IGNhbnZhc1JlZi5jdXJyZW50LmV4cG9ydFBuZ3MoKVxuICAgICAgICA6IGF3YWl0IGV4cG9ydERyYWZ0UG5ncyhcbiAgICAgICAgICBzdGF0ZSxcbiAgICAgICAgICB0ZW1wbGF0ZUltYWdlU291cmNlcyh0ZW1wbGF0ZSwgYXBpVXJsKSxcbiAgICAgICAgICBhcGlVcmwsXG4gICAgICAgICk7XG4gICAgICBjb25zdCBkcmFmdHMgPSBwcnVuZURyYWZ0cyhcbiAgICAgICAgbG9hZERyYWZ0cyhwcm9kdWN0LmlkKSxcbiAgICAgICAgZGVzaWduR3JvdXBDb3VudChwcm9kdWN0LCBob29rRm9ybS5nZXRWYWx1ZXMoKSksXG4gICAgICApO1xuICAgICAgY29uc3QgbmV4dCA9IHVwc2VydEdyb3VwVGVtcGxhdGVEcmFmdChkcmFmdHMsIHByb2R1Y3QuaWQsIGdyb3VwSW5kZXgsIHtcbiAgICAgICAgdGVtcGxhdGVJZDogdGVtcGxhdGUuaWQsXG4gICAgICAgIGNhbnZhc0pzb246IHN0YXRlLFxuICAgICAgICAuLi5wbmdzLFxuICAgICAgfSk7XG4gICAgICBzYXZlRHJhZnRzKHByb2R1Y3QuaWQsIG5leHQpO1xuICAgICAgb25TYXZlZCgpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBzZXRFcnJvcihlcnI/Lm1lc3NhZ2UgfHwgJ0NvdWxkIG5vdCBzYXZlIGRyYWZ0Jyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldFNhdmluZyhmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFvcGVuIHx8IHR5cGVvZiBkb2N1bWVudCA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsO1xuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtgJHtjbGFzc05hbWVEcmFmdFNoZWV0IHx8ICcnfSBtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldGB9XG4gICAgICByb2xlPSdkaWFsb2cnXG4gICAgICBhcmlhLW1vZGFsPSd0cnVlJ1xuICAgICAgYXJpYS1sYWJlbD0nRGVzaWduIGFydHdvcmsnXG4gICAgICBvbk1vdXNlRG93bj17c3RvcEJ1YmJsZX1cbiAgICAgIG9uQ2xpY2s9e3N0b3BCdWJibGV9XG4gICAgPlxuICAgICAgPGhlYWRlciBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXNoZWV0LWhlYWRlcic+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1pY29uLWJ0bidcbiAgICAgICAgICBvbkNsaWNrPXtvbkNsb3NlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9J0Nsb3NlIGRlc2lnbmVyJ1xuICAgICAgICA+XG4gICAgICAgICAgPEZhVGltZXMgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zaGVldC10aXRsZSc+XG4gICAgICAgICAgPHN0cm9uZz57dGVtcGxhdGU/Lm5hbWUgfHwgJ0FydHdvcmsnfTwvc3Ryb25nPlxuICAgICAgICAgIHtoYXNHcm91cHMgPyA8c3Bhbj5Hcm91cCB7Z3JvdXBJbmRleCArIDF9PC9zcGFuPiA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtZG9uZS1idG4nXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlRG9uZX1cbiAgICAgICAgICBkaXNhYmxlZD17c2F2aW5nfVxuICAgICAgICA+XG4gICAgICAgICAge3NhdmluZyA/IDxDZ1NwaW5uZXIgY2xhc3NOYW1lPSdhbmltYXRlX3NwaW4nIC8+IDogPEZhQ2hlY2sgLz59XG4gICAgICAgICAgRG9uZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvaGVhZGVyPlxuXG4gICAgICB7aGFzR3JvdXBzICYmIGdyb3VwQ291bnQgPiAxID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcHMnIHJvbGU9J3RhYmxpc3QnIGFyaWEtbGFiZWw9J0dyb3Vwcyc+XG4gICAgICAgICAge0FycmF5LmZyb20oeyBsZW5ndGg6IGdyb3VwQ291bnQgfSwgKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgcm9sZT0ndGFiJ1xuICAgICAgICAgICAgICBhcmlhLXNlbGVjdGVkPXtpbmRleCA9PT0gZ3JvdXBJbmRleH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcCR7aW5kZXggPT09IGdyb3VwSW5kZXggPyAnIGlzLWFjdGl2ZScgOiAnJ31gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0R3JvdXBJbmRleChpbmRleCk7XG4gICAgICAgICAgICAgICAgc2V0VGVtcGxhdGVJbmRleCgwKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgR3JvdXAge2luZGV4ICsgMX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBudWxsfVxuXG4gICAgICB7dGVtcGxhdGVzLmxlbmd0aCA+IDEgPyAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jaGlwcycgcm9sZT0ndGFibGlzdCcgYXJpYS1sYWJlbD0nVGVtcGxhdGVzJz5cbiAgICAgICAgICB7dGVtcGxhdGVzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiAoXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGtleT17aXRlbS5pZCA/PyBpbmRleH1cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICByb2xlPSd0YWInXG4gICAgICAgICAgICAgIGFyaWEtc2VsZWN0ZWQ9e2l0ZW0uaWQgPT09IHRlbXBsYXRlPy5pZH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgbWVyY2hpLXByb2R1Y3QtZHJhZnQtY2hpcCR7aXRlbS5pZCA9PT0gdGVtcGxhdGU/LmlkID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0VGVtcGxhdGVJbmRleChpbmRleCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpdGVtLm5hbWUgfHwgYFRlbXBsYXRlICR7aW5kZXggKyAxfWB9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogbnVsbH1cblxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LW1haW4nPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtc2hlZXQtYm9keSc+XG4gICAgICAgICAgPERyYWZ0Q2FudmFzQm91bmRhcnk+XG4gICAgICAgICAgICA8UmVhY3QuU3VzcGVuc2VcbiAgICAgICAgICAgICAgZmFsbGJhY2s9e1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1jYW52YXMtZmFsbGJhY2snPkxvYWRpbmcgY2FudmFz4oCmPC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPERyYWZ0Q2FudmFzXG4gICAgICAgICAgICAgICAgcmVmPXtjYW52YXNSZWZ9XG4gICAgICAgICAgICAgICAgc3RhdGU9e3N0YXRlfVxuICAgICAgICAgICAgICAgIHRlbXBsYXRlPXt0ZW1wbGF0ZX1cbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVNyYz17dGVtcGxhdGVTcmModGVtcGxhdGUsIGFwaVVybCl9XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRJZD17c2VsZWN0ZWRJZH1cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17c2V0U2VsZWN0ZWRJZH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17c2V0U3RhdGV9XG4gICAgICAgICAgICAgICAgb25FZGl0VGV4dD17KGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkSWQoaWQpO1xuICAgICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChpZCk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvUmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPC9EcmFmdENhbnZhc0JvdW5kYXJ5PlxuXG4gICAgICAgICAge2xheWVyc09wZW4gPyAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtbGF5ZXJzJz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWxheWVycy1oZWFkJz5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPkxheWVyczwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0nYnV0dG9uJyBvbkNsaWNrPXsoKSA9PiBzZXRMYXllcnNPcGVuKGZhbHNlKX0gYXJpYS1sYWJlbD0nQ2xvc2UgbGF5ZXJzJz5cbiAgICAgICAgICAgICAgICAgIDxGYVRpbWVzIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICB7c3RhdGUub2JqZWN0cy5sZW5ndGggPT09IDAgPyAoXG4gICAgICAgICAgICAgICAgPHA+Tm8gb2JqZWN0cyB5ZXQuIEFkZCB0ZXh0IG9yIGFuIGltYWdlLjwvcD5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICBbLi4uc3RhdGUub2JqZWN0c10ucmV2ZXJzZSgpLm1hcCgob2JqLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBrZXk9e29iai5pZH1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BtZXJjaGktcHJvZHVjdC1kcmFmdC1sYXllciR7b2JqLmlkID09PSBzZWxlY3RlZElkID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkSWQob2JqLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRFZGl0aW5nVGV4dElkKG51bGwpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RmFQbHVzIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtbGF5ZXItaWNvbicgLz5cbiAgICAgICAgICAgICAgICAgICAge29iai50eXBlID09PSAndGV4dCcgPyAob2JqLnRleHQgfHwgJ1RleHQnKSA6IG9iai50eXBlID09PSAnaW1hZ2UnID8gJ0ltYWdlJyA6ICdCYXNlIGNvbG91cid9XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntzdGF0ZS5vYmplY3RzLmxlbmd0aCAtIGluZGV4fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICB7ZXJyb3IgPyA8cCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWVycm9yJz57ZXJyb3J9PC9wPiA6IG51bGx9XG5cbiAgICAgICAgPGFzaWRlIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtZG9jayc+XG4gICAgICAgICAge3NlbGVjdGVkID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWluc3BlY3Rvcic+XG4gICAgICAgICAgICAgIHtzZWxlY3RlZC50eXBlID09PSAndGV4dCcgPyAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXRleHQtaW5wdXQnXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZC50ZXh0IHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICByb3dzPXsyfVxuICAgICAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e2VkaXRpbmdUZXh0SWQgPT09IHNlbGVjdGVkLmlkfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdFZGl0IHRleHQnXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gcGF0Y2hTZWxlY3RlZCh7IHRleHQ6IGUudGFyZ2V0LnZhbHVlIH0pfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LWZvbnQnPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1zci1vbmx5Jz5Gb250PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nRm9udCdcbiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17c2VsZWN0ZWQuZm9udEZhbWlseSB8fCBERUZBVUxUX0RSQUZUX0ZPTlR9XG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3sgZm9udEZhbWlseTogY3NzRm9udEZhbWlseShzZWxlY3RlZC5mb250RmFtaWx5IHx8IERFRkFVTFRfRFJBRlRfRk9OVCkgfX1cbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHBhdGNoU2VsZWN0ZWQoeyBmb250RmFtaWx5OiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHtEUkFGVF9URVhUX0ZPTlRTLm1hcCgoZm9udCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ZvbnQudmFsdWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb250LnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBmb250RmFtaWx5OiBjc3NGb250RmFtaWx5KGZvbnQudmFsdWUpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtmb250LmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1wcm9kdWN0LWRyYWZ0LXN0ZXBwZXInXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHBhdGNoU2VsZWN0ZWQoe1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBNYXRoLm1heCgxMiwgKHNlbGVjdGVkLmZvbnRTaXplIHx8IDQ4KSAtIDgpLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0nU21hbGxlciB0ZXh0J1xuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBBLVxuICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9J2J1dHRvbidcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1zdGVwcGVyJ1xuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwYXRjaFNlbGVjdGVkKHtcbiAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogTWF0aC5taW4oMjQwLCAoc2VsZWN0ZWQuZm9udFNpemUgfHwgNDgpICsgOCksXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdMYXJnZXIgdGV4dCdcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQStcbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAge3NlbGVjdGVkLmNvbG91ckZpZWxkSWQgIT0gbnVsbCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY29sb3InPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLXNyLW9ubHknPkNvbG91cjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9J2NvbG9yJ1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9ey9eI1swLTlhLWZBLUZdezZ9JC8udGVzdChzZWxlY3RlZC5maWxsIHx8ICcnKSA/IHNlbGVjdGVkLmZpbGwgOiAnIzExMTExMSd9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHBhdGNoU2VsZWN0ZWQoeyBmaWxsOiBlLnRhcmdldC52YWx1ZSB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICB7c2VsZWN0ZWQudHlwZSA9PT0gJ2ltYWdlJyA/IChcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICB0eXBlPSdidXR0b24nXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BtZXJjaGktcHJvZHVjdC1kcmFmdC1pY29uLWJ0biR7c2VsZWN0ZWQubG9ja0FzcGVjdFJhdGlvID8gJyBpcy1hY3RpdmUnIDogJyd9YH1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHBhdGNoU2VsZWN0ZWQoeyBsb2NrQXNwZWN0UmF0aW86ICFzZWxlY3RlZC5sb2NrQXNwZWN0UmF0aW8gfSl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtzZWxlY3RlZC5sb2NrQXNwZWN0UmF0aW8gPyAnVW5sb2NrIGFzcGVjdCByYXRpbycgOiAnTG9jayBhc3BlY3QgcmF0aW8nfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZC5sb2NrQXNwZWN0UmF0aW8gPyA8RmFMb2NrIC8+IDogPEZhVW5sb2NrIC8+fVxuICAgICAgICAgICAgICAgICAgUmF0aW9cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgIHtzZWxlY3RlZC50eXBlID09PSAncmVjdCcgPyAoXG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtY29sb3InPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktc3Itb25seSc+RmlsbCBjb2xvdXI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT0nY29sb3InXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZC5maWxsIHx8ICcjY2NjY2NjJ31cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBwYXRjaFNlbGVjdGVkKHsgZmlsbDogZS50YXJnZXQudmFsdWUgfSl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcGF0Y2hTZWxlY3RlZCh7IHNjYWxlWDogKHNlbGVjdGVkLnNjYWxlWCB8fCAxKSAqIC0xIH0pfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0ZsaXAnXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBGbGlwXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbW92ZUxheWVyKDEpfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0JyaW5nIGZvcndhcmQnXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RmFBcnJvd1VwIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4nXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbW92ZUxheWVyKC0xKX1cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSdTZW5kIGJhY2t3YXJkJ1xuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEZhQXJyb3dEb3duIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtaWNvbi1idG4gaXMtZGFuZ2VyJ1xuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3JlbW92ZVNlbGVjdGVkfVxuICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9J0RlbGV0ZSdcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGYVRyYXNoIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICA8bmF2IGNsYXNzTmFtZT0nbWVyY2hpLXByb2R1Y3QtZHJhZnQtdG9vbGJhcicgYXJpYS1sYWJlbD0nRGVzaWduIHRvb2xzJz5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0TGF5ZXJzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgYWRkVGV4dCgpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RmFGb250IC8+XG4gICAgICAgICAgICAgIDxzcGFuPlRleHQ8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0TGF5ZXJzT3BlbihmYWxzZSk7XG4gICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZhSW1hZ2UgLz5cbiAgICAgICAgICAgICAgPHNwYW4+SW1hZ2U8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdHlwZT0nYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RWRpdGluZ1RleHRJZChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRMYXllcnNPcGVuKChvcGVuTm93KSA9PiAhb3Blbk5vdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGYUxheWVyR3JvdXAgLz5cbiAgICAgICAgICAgICAgPHNwYW4+TGF5ZXJzPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9J2J1dHRvbicgb25DbGljaz17cmVtb3ZlU2VsZWN0ZWR9IGRpc2FibGVkPXshc2VsZWN0ZWRJZH0+XG4gICAgICAgICAgICAgIDxGYVRyYXNoIC8+XG4gICAgICAgICAgICAgIDxzcGFuPkRlbGV0ZTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgcmVmPXtmaWxlSW5wdXRSZWZ9XG4gICAgICAgICAgICB0eXBlPSdmaWxlJ1xuICAgICAgICAgICAgYWNjZXB0PSdpbWFnZS8qJ1xuICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktcHJvZHVjdC1kcmFmdC1maWxlJ1xuICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBlLnRhcmdldC5maWxlcz8uWzBdO1xuICAgICAgICAgICAgICBpZiAoZmlsZSkgYWRkSW1hZ2UoZmlsZSk7XG4gICAgICAgICAgICAgIGUudGFyZ2V0LnZhbHVlID0gJyc7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSxRQUFBQyxDQUFBLHNDQUFBRCxPQUFBLHdCQUFBRSxNQUFBLHVCQUFBQSxNQUFBLENBQUFDLFFBQUEsYUFBQUYsQ0FBQSxrQkFBQUEsQ0FBQSxnQkFBQUEsQ0FBQSxXQUFBQSxDQUFBLHlCQUFBQyxNQUFBLElBQUFELENBQUEsQ0FBQUcsV0FBQSxLQUFBRixNQUFBLElBQUFELENBQUEsS0FBQUMsTUFBQSxDQUFBRyxTQUFBLHFCQUFBSixDQUFBLEtBQUFELE9BQUEsQ0FBQUMsQ0FBQTtBQUFBLFNBQUFLLGFBQUEsSUFDYix1S0FBQUMsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsd0JBQUFQLE1BQUEsR0FBQUEsTUFBQSxPQUFBUSxDQUFBLEdBQUFELENBQUEsQ0FBQU4sUUFBQSxrQkFBQUYsQ0FBQSxHQUFBUSxDQUFBLENBQUFFLFdBQUEsOEJBQUFDLEVBQUFILENBQUEsRUFBQUMsQ0FBQSxFQUFBVCxDQUFBLEVBQUFXLENBQUEsUUFBQUMsQ0FBQSxHQUFBSCxDQUFBLElBQUFBLENBQUEsQ0FBQUwsU0FBQSxZQUFBUyxTQUFBLEdBQUFKLENBQUEs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
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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
@@ -453,7 +453,7 @@
453
453
  background: #f2f4fb;
454
454
  border-top: 1px solid white;
455
455
  border-left: 1px solid white;
456
- margin: 0.25rem 0rem 0.5rem;
456
+ margin: 0;
457
457
  }
458
458
  .merchi-embed-form {
459
459
  /* product groups */
@@ -1740,5 +1740,14 @@
1740
1740
  flex: 1 1 calc(50% - 0.4rem);
1741
1741
  }
1742
1742
  }
1743
+ .animate_spin {
1744
+ animation: merchi-product-form-spin 0.8s linear infinite;
1745
+ }
1746
+
1747
+ @keyframes merchi-product-form-spin {
1748
+ to {
1749
+ transform: rotate(360deg);
1750
+ }
1751
+ }
1743
1752
 
1744
1753
  /*# sourceMappingURL=globals.css.map */