@merchi/checkout 1.3.27 → 1.3.29
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.
- package/lib/components/JobInfoContent.js +19 -3
- package/lib/utils.d.ts +2 -1
- package/lib/utils.js +2 -1
- package/package.json +2 -2
|
@@ -13,6 +13,22 @@ import { formatCurrency, currencyTotalCostShowIncTax } from './currency';
|
|
|
13
13
|
import { isInstructionsType, isProductSupplierMOD, isSelectable, FieldType } from '../utils';
|
|
14
14
|
import { estimateAreaCosts, formatAreaSummary, localePrefersImperial } from '../area';
|
|
15
15
|
import { useMerchiCheckboutContext } from './MerchiCheckoutProvider';
|
|
16
|
+
function embroiderySummary(value) {
|
|
17
|
+
if (value == null || value === '') return '';
|
|
18
|
+
try {
|
|
19
|
+
var parsed = JSON.parse(String(value));
|
|
20
|
+
var parts = [];
|
|
21
|
+
if (parsed !== null && parsed !== void 0 && parsed.text) parts.push(String(parsed.text));
|
|
22
|
+
if (parsed !== null && parsed !== void 0 && parsed.widthMm && parsed !== null && parsed !== void 0 && parsed.heightMm) {
|
|
23
|
+
parts.push("".concat(parsed.widthMm, " \xD7 ").concat(parsed.heightMm, " mm"));
|
|
24
|
+
}
|
|
25
|
+
var count = Array.isArray(parsed === null || parsed === void 0 ? void 0 : parsed.colours) ? parsed.colours.length : 0;
|
|
26
|
+
if (count) parts.push(count === 1 ? '1 colour' : "".concat(count, " colours"));
|
|
27
|
+
return parts.join(' · ') || String(value);
|
|
28
|
+
} catch (_unused) {
|
|
29
|
+
return String(value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
16
32
|
import { SummaryAmountRow, SummaryFieldRow } from './CheckoutSummaryFields';
|
|
17
33
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
34
|
function formatCost(product, cost) {
|
|
@@ -82,7 +98,7 @@ function absolutizeFileUrl(raw, urlApi) {
|
|
|
82
98
|
try {
|
|
83
99
|
var base = new URL(urlApi);
|
|
84
100
|
return new URL(url, "".concat(base.origin, "/")).href;
|
|
85
|
-
} catch (
|
|
101
|
+
} catch (_unused2) {
|
|
86
102
|
return url;
|
|
87
103
|
}
|
|
88
104
|
}
|
|
@@ -323,7 +339,7 @@ function VariationInfo(_ref4) {
|
|
|
323
339
|
}) : /*#__PURE__*/_jsx(VariationInfoBody, {
|
|
324
340
|
name: variationField.name,
|
|
325
341
|
type: variationField.fieldType,
|
|
326
|
-
value: fieldType === FieldType.AREA && variation.value ? formatAreaSummary(variation.value, localePrefersImperial() ? 'imperial' : 'metric', variationField.areaUnit || 'mm') || variation.value : variation.value,
|
|
342
|
+
value: fieldType === FieldType.AREA && variation.value ? formatAreaSummary(variation.value, localePrefersImperial() ? 'imperial' : 'metric', variationField.areaUnit || 'mm') || variation.value : fieldType === FieldType.EMBROIDERY ? embroiderySummary(variation.value) : variation.value,
|
|
327
343
|
files: variationFiles,
|
|
328
344
|
product: product,
|
|
329
345
|
urlApi: urlApi,
|
|
@@ -755,4 +771,4 @@ export default function JobInfoContent() {
|
|
|
755
771
|
})]
|
|
756
772
|
});
|
|
757
773
|
}
|
|
758
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImwiLCJpIiwiT2JqZWN0IiwicHVzaCIsIlJlYWN0IiwidXNlU3RhdGUiLCJGYUZpbGVQZGYiLCJGYVJlZ0ltYWdlIiwiZm9ybWF0Q3VycmVuY3kiLCJjdXJyZW5jeVRvdGFsQ29zdFNob3dJbmNUYXgiLCJpc0luc3RydWN0aW9uc1R5cGUiLCJpc1Byb2R1Y3RTdXBwbGllck1PRCIsImlzU2VsZWN0YWJsZSIsIkZpZWxkVHlwZSIsImVzdGltYXRlQXJlYUNvc3RzIiwiZm9ybWF0QXJlYVN1bW1hcnkiLCJsb2NhbGVQcmVmZXJzSW1wZXJpYWwiLCJ1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IiwiU3VtbWFyeUFtb3VudFJvdyIsIlN1bW1hcnlGaWVsZFJvdyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImZvcm1hdENvc3QiLCJwcm9kdWN0IiwiY29zdCIsImN1cnJlbmN5Iiwic2hvd0NvZGVJZk5vU3ltYm9sIiwicGFyc2VDb3N0QW1vdW50IiwiYW1vdW50IiwicGFyc2VGbG9hdCIsIk51bWJlciIsImlzRmluaXRlIiwiZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsIiwib25jZU9mZkNvc3QiLCJ1bml0Q29zdCIsInBhcnRzIiwib25jZU9mZiIsInVuaXQiLCJjb25jYXQiLCJqb2luIiwib3B0aW9uT25jZU9mZiIsIm9wdGlvbiIsInZhcmlhdGlvbkNvc3QiLCJvcHRpb25Vbml0IiwidmFyaWF0aW9uVW5pdENvc3QiLCJwcm9kdWN0U2V0dXBTdWZmaXgiLCJzZXR1cFByaWNlIiwibGFiZWwiLCJzZXR1cFBlckdyb3VwIiwiZm9ybWF0VW5pdFByaWNlV2l0aFNldHVwIiwidW5pdFByaWNlIiwiaXNQZGYiLCJmaWxlIiwibWltZXR5cGUiLCJpc0ltYWdlRmlsZSIsInN0YXJ0c1dpdGgiLCJ0b0xvd2VyQ2FzZSIsImFic29sdXRpemVGaWxlVXJsIiwicmF3IiwidXJsQXBpIiwidXJsIiwidHJpbSIsImJhc2UiLCJVUkwiLCJvcmlnaW4iLCJocmVmIiwiX3VudXNlZCIsInJlc29sdmVGaWxlVXJsIiwidmlld1VybCIsImRvd25sb2FkVXJsIiwib3B0aW9uSW1hZ2VVcmwiLCJfb3B0aW9uJGxpbmtlZEZpbGUiLCJfb3B0aW9uJGxpbmtlZEZpbGUyIiwibGlua2VkRmlsZSIsImZpbmRNYXRjaGluZ09wdGlvbiIsIm9wdGlvbnMiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJmaW5kIiwiU3RyaW5nIiwib3B0aW9uSWQiLCJyZXNvbHZlT3B0aW9uQ29sb3VyIiwiX29wdGlvbiRjb2xvdXIiLCJfZmluZE1hdGNoaW5nT3B0aW9uIiwiX2ZpbmRNYXRjaGluZ09wdGlvbjIiLCJzZWxlY3RhYmxlT3B0aW9ucyIsImZpZWxkT3B0aW9ucyIsImRpcmVjdCIsImNvbG91ciIsImZyb21TZWxlY3RhYmxlIiwicmVzb2x2ZU9wdGlvbkltYWdlVXJsIiwiZm9ybWF0T3B0aW9uQ29zdCIsInNlbGxlclByb2R1Y3RFZGl0YWJsZSIsIm9uY2VPZmZVbml0IiwidG90YWxDb3N0IiwidmFyaWF0aW9uQ29zdERldGFpbCIsInZhcmlhdGlvbiIsIl92YXJpYXRpb24kb25jZU9mZkNvcyIsIl92YXJpYXRpb24kdW5pdENvc3QiLCJfcmVmIiwiX3JlZiRpbmNsdWRlU2VsZWN0ZWRPIiwiaW5jbHVkZVNlbGVjdGVkT3B0aW9uQ29zdHMiLCJfcmVmJGZpZWxkQ29zdHNPbmx5IiwiZmllbGRDb3N0c09ubHkiLCJmaWVsZCIsInZhcmlhdGlvbkZpZWxkIiwiZmllbGRUeXBlIiwiQVJFQSIsImFyZWFDb3N0cyIsInNlbGVjdGVkIiwic2VsZWN0ZWRPcHRpb25zIiwiZmllbGRPbmNlIiwiQ09MT1VSX0VYVFJBQ1QiLCJmaWVsZFVuaXQiLCJyZWR1Y2UiLCJzdW0iLCJWYXJpYXRpb25GaWxlUHJldmlldyIsIl9yZWYyIiwiZmlsZVVybCIsImZpbGVOYW1lIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsImltYWdlRmFpbGVkIiwic2V0SW1hZ2VGYWlsZWQiLCJjbGFzc05hbWUiLCJ0YXJnZXQiLCJyZWwiLCJ0aXRsZSIsImNoaWxkcmVuIiwic3JjIiwiYWx0Iiwib25FcnJvciIsIlZhcmlhdGlvbkluZm9Cb2R5IiwiX3JlZjMiLCJjb3N0RGV0YWlsIiwiZmlsZXMiLCJ0eXBlIiwiaXNDb2xvdXJQaWNrZXIiLCJDT0xPVVJfUElDS0VSIiwiaXNGaWxlVXBsb2FkIiwiRklMRV9VUExPQUQiLCJoYXNGaWxlcyIsIkJvb2xlYW4iLCJkaXNwbGF5VmFsdWUiLCJtYXAiLCJpbmRleCIsImlkIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJWYXJpYXRpb25JbmZvIiwiX3JlZjQiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28iLCJ2YXJpYXRpb25GaWxlcyIsIl92YXJpYXRpb25GaWVsZCRvcHRpbyIsImlzVmFyaWF0aW9uU2VsZWN0YWJsZSIsImlzVHVybmFyb3VuZFRpbWUiLCJUVVJOQVJPVU5EX1RJTUUiLCJpc0NvbG91ckV4dHJhY3QiLCJyZXNvbHZlU2VsZWN0YWJsZVNlbGVjdGVkT3B0aW9ucyIsInVzZVNlbGVjdGFibGVEaXNwbGF5IiwiVmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5IiwiYXJlYVVuaXQiLCJDb2xvdXJTZWxlY3RPcHRpb24iLCJfcmVmNSIsIl9vcHRpb24kdmFsdWUiLCJoZXgiLCJJbWFnZVNlbGVjdE9wdGlvbiIsIl9yZWY2IiwiX29wdGlvbiR2YWx1ZTIiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28yIiwiaW1hZ2VVcmwiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImdldE9wdGlvbklkIiwiX29wdGlvbiRvcHRpb25JZCIsInNwbGl0U2VsZWN0ZWRPcHRpb25JZHMiLCJmaWx0ZXIiLCJzcGxpdCIsInBhcnQiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYiLCJzZWxlY3RlZElkcyIsInBvb2xzIiwicmVzb2x2ZWQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl9sb29wIiwiX2kiLCJfcG9vbHMiLCJwb29sIiwibWF0Y2giLCJlcnIiLCJyZXNvbHZlVHVybmFyb3VuZFNlbGVjdGVkT3B0aW9uIiwidmFsdWVTdHIiLCJfaTIiLCJfcG9vbHMyIiwiYnlWYWx1ZSIsIl9vcHRpb24kdmFsdWUzIiwiZm9ybWF0VHVybmFyb3VuZERlYWRsaW5lIiwidXNlckRlYWRsaW5lIiwic2Vjb25kcyIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJ3ZWVrZGF5IiwieWVhciIsIm1vbnRoIiwiZGF5IiwiVHVybmFyb3VuZE9wdGlvbkxhYmVsIiwiX3JlZjciLCJfb3B0aW9uJHZhbHVlNCIsIl9vcHRpb24kdmFsdWU1IiwiZGF5cyIsInBhcnNlSW50IiwiZGVhZGxpbmUiLCJzaGlwcGluZ1RpbWVJbmNsdWRlZCIsImRlYWRsaW5lTGFiZWwiLCJfcmVmOCIsIl92YXJpYXRpb24kdmFyaWF0aW9uRjIiLCJfcmVmOCRzZWxlY3RhYmxlT3B0aW8iLCJfcmVmOCRmaWVsZE9wdGlvbnMiLCJmaXJzdE9wdGlvbiIsImlzQ29sb3VyU2VsZWN0IiwiQ09MT1VSX1NFTEVDVCIsImlzSW1hZ2VTZWxlY3QiLCJJTUFHRV9TRUxFQ1QiLCJyZW5kZXJPcHRpb25MYWJlbCIsIl9vJHZhbHVlIiwiX28kb3B0aW9uSWQiLCJWYXJpYXRpb25zSW5mbyIsIl9yZWY5IiwicXVhbnRpdHkiLCJfcmVmOSR2YXJpYXRpb25zIiwidmFyaWF0aW9ucyIsInYiLCJkZXNpZ25JbnB1dHNGb3IiLCJpbnB1dHMiLCJncm91cEluZGV4IiwiaW5wdXQiLCJraW5kIiwiRGVzaWduZXJJbnB1dHNJbmZvIiwiX3JlZjAiLCJWYXJpYXRpb25Hcm91cEluZm8iLCJfcmVmMSIsImdyb3VwIiwic2hvd1NldHVwT25Vbml0UHJpY2UiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28zIiwiam9iIiwiaXNSZXNlbGwiLCJleHRyYUlucHV0cyIsImRlc2lnbklucHV0cyIsInZpc2libGVWYXJpYXRpb25zIiwiX3YkdmFyaWF0aW9uRmllbGQiLCJjb3N0TGFiZWwiLCJ1bml0UHJpY2VWYWx1ZSIsImdyb3VwQ29zdCIsIkpvYkluZm9Db250ZW50IiwiX3VzZU1lcmNoaUNoZWNrYm91dENvNCIsIl9qb2IkcXVhbnRpdHkiLCJfam9iJHZhcmlhdGlvbnMiLCJfam9iJHZhcmlhdGlvbnNHcm91cHMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiZXh0cmFKb2JJbnB1dHMiLCJuZWVkc1NoaXBwaW5nIiwiaGFzR3JvdXBzIiwiam9iTGV2ZWxWYXJpYXRpb25zIiwiX3YkdmFyaWF0aW9uRmllbGQyIiwidG90YWxRdWFudGl0eSIsImciLCJoYXNTZXR1cFByaWNlIiwibGFiZWxFeHRyYSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0pvYkluZm9Db250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGYUZpbGVQZGYsIEZhUmVnSW1hZ2UgfSBmcm9tICdyZWFjdC1pY29ucy9mYSc7XG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSwgY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IH0gZnJvbSAnLi9jdXJyZW5jeSc7XG5pbXBvcnQge1xuICBpc0luc3RydWN0aW9uc1R5cGUsXG4gIGlzUHJvZHVjdFN1cHBsaWVyTU9ELFxuICBpc1NlbGVjdGFibGUsXG4gIEZpZWxkVHlwZSxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgZXN0aW1hdGVBcmVhQ29zdHMsXG4gIGZvcm1hdEFyZWFTdW1tYXJ5LFxuICBsb2NhbGVQcmVmZXJzSW1wZXJpYWwsXG59IGZyb20gJy4uL2FyZWEnO1xuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4vTWVyY2hpQ2hlY2tvdXRQcm92aWRlcic7XG5pbXBvcnQge1xuICBTdW1tYXJ5QW1vdW50Um93LFxuICBTdW1tYXJ5RmllbGRSb3csXG59IGZyb20gJy4vQ2hlY2tvdXRTdW1tYXJ5RmllbGRzJztcblxuZnVuY3Rpb24gZm9ybWF0Q29zdChwcm9kdWN0OiBhbnksIGNvc3Q6IG51bWJlcikge1xuICBjb25zdCBjdXJyZW5jeSA9IHByb2R1Y3QuY3VycmVuY3kgPyBwcm9kdWN0LmN1cnJlbmN5IDogJ0FVRCc7XG4gIHJldHVybiBmb3JtYXRDdXJyZW5jeShjb3N0LCB7XG4gICAgY3VycmVuY3ksXG4gICAgc2hvd0NvZGVJZk5vU3ltYm9sOiBmYWxzZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlQ29zdEFtb3VudCh2YWx1ZTogYW55KTogbnVtYmVyIHtcbiAgY29uc3QgYW1vdW50ID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUoYW1vdW50KSAmJiBhbW91bnQgPiAwID8gYW1vdW50IDogMDtcbn1cblxuLyoqIE1hdGNoIHByb2R1Y3QtZm9ybSB3b3JkaW5nOiBcIisgJFggb25jZSBvZmZcIiAvIFwiKyAkWSBwZXIgdW5pdFwiLiAqL1xuZnVuY3Rpb24gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxuICBwcm9kdWN0OiBhbnksXG4gIG9uY2VPZmZDb3N0OiBhbnksXG4gIHVuaXRDb3N0OiBhbnlcbikge1xuICBjb25zdCBjdXJyZW5jeSA9IHByb2R1Y3Q/LmN1cnJlbmN5IHx8ICdBVUQnO1xuICBjb25zdCBwYXJ0czogc3RyaW5nW10gPSBbXTtcbiAgY29uc3Qgb25jZU9mZiA9IHBhcnNlQ29zdEFtb3VudChvbmNlT2ZmQ29zdCk7XG4gIGNvbnN0IHVuaXQgPSBwYXJzZUNvc3RBbW91bnQodW5pdENvc3QpO1xuICBpZiAob25jZU9mZikge1xuICAgIHBhcnRzLnB1c2goXG4gICAgICBgICsgJHtmb3JtYXRDdXJyZW5jeShvbmNlT2ZmLCB7IGN1cnJlbmN5LCBzaG93Q29kZUlmTm9TeW1ib2w6IGZhbHNlIH0pfSBvbmNlIG9mZmBcbiAgICApO1xuICB9XG4gIGlmICh1bml0KSB7XG4gICAgcGFydHMucHVzaChcbiAgICAgIGAgKyAke2Zvcm1hdEN1cnJlbmN5KHVuaXQsIHsgY3VycmVuY3ksIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfSl9IHBlciB1bml0YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHBhcnRzLmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBvcHRpb25PbmNlT2ZmKG9wdGlvbjogYW55KTogbnVtYmVyIHtcbiAgcmV0dXJuIChcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy5vbmNlT2ZmQ29zdCkgfHxcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy52YXJpYXRpb25Db3N0KSB8fFxuICAgIDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gb3B0aW9uVW5pdChvcHRpb246IGFueSk6IG51bWJlciB7XG4gIHJldHVybiAoXG4gICAgcGFyc2VDb3N0QW1vdW50KG9wdGlvbj8udW5pdENvc3QpIHx8XG4gICAgcGFyc2VDb3N0QW1vdW50KG9wdGlvbj8udmFyaWF0aW9uVW5pdENvc3QpIHx8XG4gICAgMFxuICApO1xufVxuXG4vKiogUHJvZHVjdCBzZXR1cCBmZWUgc2hvd24gbmV4dCB0byB1bml0IHByaWNlLCBtYXRjaGluZyBwcm9kdWN0LWZvcm0gd29yZGluZy4gKi9cbmZ1bmN0aW9uIHByb2R1Y3RTZXR1cFN1ZmZpeChwcm9kdWN0OiBhbnkpIHtcbiAgY29uc3Qgc2V0dXBQcmljZSA9IE51bWJlcihwcm9kdWN0Py5zZXR1cFByaWNlKTtcbiAgaWYgKCFzZXR1cFByaWNlKSByZXR1cm4gJyc7XG4gIGNvbnN0IGxhYmVsID0gcHJvZHVjdC5zZXR1cFBlckdyb3VwID8gJ3NldHVwIHBlciBncm91cCcgOiAnc2V0dXAnO1xuICByZXR1cm4gYCArICR7Zm9ybWF0Q29zdChwcm9kdWN0LCBzZXR1cFByaWNlKX0gJHtsYWJlbH1gO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRVbml0UHJpY2VXaXRoU2V0dXAocHJvZHVjdDogYW55KSB7XG4gIHJldHVybiBgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIE51bWJlcihwcm9kdWN0Py51bml0UHJpY2UpIHx8IDApfSR7cHJvZHVjdFNldHVwU3VmZml4KHByb2R1Y3QpfWA7XG59XG5cbmZ1bmN0aW9uIGlzUGRmKGZpbGU6IGFueSkge1xuICBjb25zdCBtaW1ldHlwZSA9IGZpbGU/Lm1pbWV0eXBlIHx8ICcnO1xuICByZXR1cm4gbWltZXR5cGUgPT09ICdhcHBsaWNhdGlvbi9wZGYnIHx8IG1pbWV0eXBlID09PSAnYXBwbGljYXRpb24veC1wZGYnO1xufVxuXG5mdW5jdGlvbiBpc0ltYWdlRmlsZShmaWxlOiBhbnkpIHtcbiAgY29uc3QgbWltZXR5cGUgPSBmaWxlPy5taW1ldHlwZSB8fCAnJztcbiAgaWYgKG1pbWV0eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpKSByZXR1cm4gdHJ1ZTtcbiAgY29uc3QgbmFtZSA9IChmaWxlPy5uYW1lIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gL1xcLihqcGU/Z3xwbmd8Z2lmfHdlYnB8c3ZnfGJtcCkkLy50ZXN0KG5hbWUpO1xufVxuXG5mdW5jdGlvbiBhYnNvbHV0aXplRmlsZVVybChyYXc6IHN0cmluZywgdXJsQXBpPzogc3RyaW5nKSB7XG4gIGNvbnN0IHVybCA9IChyYXcgfHwgJycpLnRyaW0oKTtcbiAgaWYgKCF1cmwgfHwgdXJsID09PSAndW5kZWZpbmVkJyB8fCB1cmwgPT09ICdudWxsJykgcmV0dXJuICcnO1xuICBpZiAoL14oaHR0cHM/OnxibG9iOnxkYXRhOikvaS50ZXN0KHVybCkpIHJldHVybiB1cmw7XG4gIGlmICghdXJsQXBpKSByZXR1cm4gdXJsO1xuICB0cnkge1xuICAgIGNvbnN0IGJhc2UgPSBuZXcgVVJMKHVybEFwaSk7XG4gICAgcmV0dXJuIG5ldyBVUkwodXJsLCBgJHtiYXNlLm9yaWdpbn0vYCkuaHJlZjtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVybDtcbiAgfVxufVxuXG5mdW5jdGlvbiByZXNvbHZlRmlsZVVybChmaWxlOiBhbnksIHVybEFwaT86IHN0cmluZykge1xuICByZXR1cm4gYWJzb2x1dGl6ZUZpbGVVcmwoXG4gICAgZmlsZT8udmlld1VybCB8fCBmaWxlPy5kb3dubG9hZFVybCB8fCAnJyxcbiAgICB1cmxBcGlcbiAgKTtcbn1cblxuZnVuY3Rpb24gb3B0aW9uSW1hZ2VVcmwob3B0aW9uOiBhbnksIHVybEFwaT86IHN0cmluZykge1xuICByZXR1cm4gYWJzb2x1dGl6ZUZpbGVVcmwoXG4gICAgb3B0aW9uPy5saW5rZWRGaWxlPy52aWV3VXJsIHx8IG9wdGlvbj8ubGlua2VkRmlsZT8uZG93bmxvYWRVcmwgfHwgJycsXG4gICAgdXJsQXBpXG4gICk7XG59XG5cbmZ1bmN0aW9uIGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb246IGFueSwgb3B0aW9uczogYW55W10gPSBbXSkge1xuICByZXR1cm4gb3B0aW9ucy5maW5kKChvKSA9PiBTdHJpbmcoby5vcHRpb25JZCkgPT09IFN0cmluZyhvcHRpb24/Lm9wdGlvbklkKSk7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVPcHRpb25Db2xvdXIoXG4gIG9wdGlvbjogYW55LFxuICBzZWxlY3RhYmxlT3B0aW9uczogYW55W10gPSBbXSxcbiAgZmllbGRPcHRpb25zOiBhbnlbXSA9IFtdXG4pIHtcbiAgY29uc3QgZGlyZWN0ID0gb3B0aW9uPy5jb2xvdXI/LnRyaW0oKTtcbiAgaWYgKGRpcmVjdCkgcmV0dXJuIGRpcmVjdDtcbiAgY29uc3QgZnJvbVNlbGVjdGFibGUgPSBmaW5kTWF0Y2hpbmdPcHRpb24ob3B0aW9uLCBzZWxlY3RhYmxlT3B0aW9ucyk/LmNvbG91cj8udHJpbSgpO1xuICBpZiAoZnJvbVNlbGVjdGFibGUpIHJldHVybiBmcm9tU2VsZWN0YWJsZTtcbiAgcmV0dXJuIGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIGZpZWxkT3B0aW9ucyk/LmNvbG91cj8udHJpbSgpIHx8ICcnO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlT3B0aW9uSW1hZ2VVcmwoXG4gIG9wdGlvbjogYW55LFxuICBzZWxlY3RhYmxlT3B0aW9uczogYW55W10gPSBbXSxcbiAgZmllbGRPcHRpb25zOiBhbnlbXSA9IFtdLFxuICB1cmxBcGk/OiBzdHJpbmdcbikge1xuICBjb25zdCBkaXJlY3QgPSBvcHRpb25JbWFnZVVybChvcHRpb24sIHVybEFwaSk7XG4gIGlmIChkaXJlY3QpIHJldHVybiBkaXJlY3Q7XG4gIGNvbnN0IGZyb21TZWxlY3RhYmxlID0gb3B0aW9uSW1hZ2VVcmwoXG4gICAgZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbiwgc2VsZWN0YWJsZU9wdGlvbnMpLFxuICAgIHVybEFwaVxuICApO1xuICBpZiAoZnJvbVNlbGVjdGFibGUpIHJldHVybiBmcm9tU2VsZWN0YWJsZTtcbiAgcmV0dXJuIG9wdGlvbkltYWdlVXJsKGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIGZpZWxkT3B0aW9ucyksIHVybEFwaSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdE9wdGlvbkNvc3QoXG4gIHByb2R1Y3Q6IGFueSxcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZTogYm9vbGVhblxuKSB7XG4gIGlmIChzZWxsZXJQcm9kdWN0RWRpdGFibGUgfHwgIW9wdGlvbikgcmV0dXJuIG51bGw7XG4gIGNvbnN0IG9uY2VPZmZVbml0ID0gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxuICAgIHByb2R1Y3QsXG4gICAgb3B0aW9uT25jZU9mZihvcHRpb24pLFxuICAgIG9wdGlvblVuaXQob3B0aW9uKVxuICApO1xuICBpZiAob25jZU9mZlVuaXQpIHJldHVybiBvbmNlT2ZmVW5pdDtcbiAgaWYgKG9wdGlvbi50b3RhbENvc3QpIHtcbiAgICByZXR1cm4gYCArICR7Zm9ybWF0Q29zdChwcm9kdWN0LCBvcHRpb24udG90YWxDb3N0KX1gO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiB2YXJpYXRpb25Db3N0RGV0YWlsKFxuICBwcm9kdWN0OiBhbnksXG4gIHZhcmlhdGlvbjogYW55LFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW4sXG4gIHtcbiAgICBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0cyA9IHRydWUsXG4gICAgZmllbGRDb3N0c09ubHkgPSBmYWxzZSxcbiAgfToge1xuICAgIGluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzPzogYm9vbGVhbjtcbiAgICBmaWVsZENvc3RzT25seT86IGJvb2xlYW47XG4gIH0gPSB7fVxuKSB7XG4gIGlmIChzZWxsZXJQcm9kdWN0RWRpdGFibGUpIHJldHVybiAnJztcblxuICBjb25zdCBmaWVsZCA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQgfHwge307XG4gIGNvbnN0IGZpZWxkVHlwZSA9IE51bWJlcihmaWVsZC5maWVsZFR5cGUpO1xuXG4gIGlmIChmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5BUkVBKSB7XG4gICAgY29uc3QgYXJlYUNvc3RzID0gZXN0aW1hdGVBcmVhQ29zdHMoZmllbGQsIHZhcmlhdGlvbj8udmFsdWUpO1xuICAgIGlmIChhcmVhQ29zdHMpIHtcbiAgICAgIHJldHVybiBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgICAgIHByb2R1Y3QsXG4gICAgICAgIGFyZWFDb3N0cy5vbmNlT2ZmQ29zdCxcbiAgICAgICAgYXJlYUNvc3RzLnVuaXRDb3N0XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChmaWVsZENvc3RzT25seSkge1xuICAgIHJldHVybiBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgICBwcm9kdWN0LFxuICAgICAgZmllbGQudmFyaWF0aW9uQ29zdCxcbiAgICAgIGZpZWxkLnZhcmlhdGlvblVuaXRDb3N0XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkID0gQXJyYXkuaXNBcnJheSh2YXJpYXRpb24/LnNlbGVjdGVkT3B0aW9ucylcbiAgICA/IHZhcmlhdGlvbi5zZWxlY3RlZE9wdGlvbnNcbiAgICA6IFtdO1xuICBpZiAoaW5jbHVkZVNlbGVjdGVkT3B0aW9uQ29zdHMgJiYgc2VsZWN0ZWQubGVuZ3RoKSB7XG4gICAgY29uc3QgZmllbGRPbmNlID1cbiAgICAgIGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUXG4gICAgICAgID8gcGFyc2VDb3N0QW1vdW50KGZpZWxkLnZhcmlhdGlvbkNvc3QpXG4gICAgICAgIDogMDtcbiAgICBjb25zdCBmaWVsZFVuaXQgPVxuICAgICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1RcbiAgICAgICAgPyBwYXJzZUNvc3RBbW91bnQoZmllbGQudmFyaWF0aW9uVW5pdENvc3QpXG4gICAgICAgIDogMDtcbiAgICByZXR1cm4gZm9ybWF0T25jZU9mZlVuaXRDb3N0RGV0YWlsKFxuICAgICAgcHJvZHVjdCxcbiAgICAgIGZpZWxkT25jZSArXG4gICAgICAgIHNlbGVjdGVkLnJlZHVjZShcbiAgICAgICAgICAoc3VtOiBudW1iZXIsIG9wdGlvbjogYW55KSA9PiBzdW0gKyBvcHRpb25PbmNlT2ZmKG9wdGlvbiksXG4gICAgICAgICAgMFxuICAgICAgICApLFxuICAgICAgZmllbGRVbml0ICtcbiAgICAgICAgc2VsZWN0ZWQucmVkdWNlKFxuICAgICAgICAgIChzdW06IG51bWJlciwgb3B0aW9uOiBhbnkpID0+IHN1bSArIG9wdGlvblVuaXQob3B0aW9uKSxcbiAgICAgICAgICAwXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgb25jZU9mZlVuaXQgPSBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgcHJvZHVjdCxcbiAgICB2YXJpYXRpb24/Lm9uY2VPZmZDb3N0ID8/IGZpZWxkLnZhcmlhdGlvbkNvc3QsXG4gICAgdmFyaWF0aW9uPy51bml0Q29zdCA/PyBmaWVsZC52YXJpYXRpb25Vbml0Q29zdFxuICApO1xuICBpZiAob25jZU9mZlVuaXQpIHJldHVybiBvbmNlT2ZmVW5pdDtcbiAgaWYgKHZhcmlhdGlvbj8uY29zdCkge1xuICAgIHJldHVybiBgICsgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIHZhcmlhdGlvbi5jb3N0KX1gO1xuICB9XG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uRmlsZVByZXZpZXcoe1xuICBmaWxlLFxuICB1cmxBcGksXG59OiB7XG4gIGZpbGU6IGFueTtcbiAgdXJsQXBpPzogc3RyaW5nO1xufSkge1xuICBjb25zdCBmaWxlVXJsID0gcmVzb2x2ZUZpbGVVcmwoZmlsZSwgdXJsQXBpKTtcbiAgY29uc3QgZmlsZU5hbWUgPSBmaWxlPy5uYW1lIHx8ICdGaWxlJztcbiAgY29uc3QgW2ltYWdlRmFpbGVkLCBzZXRJbWFnZUZhaWxlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgaWYgKGlzUGRmKGZpbGUpKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZmlsZS1saW5rJ1xuICAgICAgICBocmVmPXtmaWxlVXJsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgdGFyZ2V0PSdfYmxhbmsnXG4gICAgICAgIHJlbD0nbm9vcGVuZXIgbm9yZWZlcnJlcidcbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxuICAgICAgPlxuICAgICAgICA8RmFGaWxlUGRmIGFyaWEtaGlkZGVuIC8+XG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChpc0ltYWdlRmlsZShmaWxlKSAmJiBmaWxlVXJsICYmICFpbWFnZUZhaWxlZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8aW1nXG4gICAgICAgIGNsYXNzTmFtZT0nbW9kYWwtbWVyY2hpLWNoZWNrb3V0LWpvYi1pbmZvLWNvbnRlbnQtaW1nJ1xuICAgICAgICBzcmM9e2ZpbGVVcmx9XG4gICAgICAgIGFsdD17ZmlsZU5hbWV9XG4gICAgICAgIHRpdGxlPXtmaWxlTmFtZX1cbiAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SW1hZ2VGYWlsZWQodHJ1ZSl9XG4gICAgICAvPlxuICAgICk7XG4gIH1cblxuICBpZiAoaXNJbWFnZUZpbGUoZmlsZSkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLWZhbGxiYWNrJ1xuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XG4gICAgICA+XG4gICAgICAgIDxGYVJlZ0ltYWdlIGFyaWEtaGlkZGVuIC8+XG4gICAgICAgIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChmaWxlVXJsKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhXG4gICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZmlsZS1saW5rJ1xuICAgICAgICBocmVmPXtmaWxlVXJsfVxuICAgICAgICB0YXJnZXQ9J19ibGFuaydcbiAgICAgICAgcmVsPSdub29wZW5lciBub3JlZmVycmVyJ1xuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XG4gICAgICA+XG4gICAgICAgIHtmaWxlTmFtZX1cbiAgICAgIDwvYT5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIDxzcGFuPntmaWxlTmFtZX08L3NwYW4+O1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25JbmZvQm9keSh7XG4gIGNvc3REZXRhaWwsXG4gIG5hbWUsXG4gIHByb2R1Y3QsXG4gIHZhbHVlLFxuICBmaWxlcyxcbiAgdHlwZSxcbiAgdXJsQXBpLFxufTogYW55KSB7XG4gIGNvbnN0IGlzQ29sb3VyUGlja2VyID0gdHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9QSUNLRVI7XG4gIGNvbnN0IGlzRmlsZVVwbG9hZCA9XG4gICAgdHlwZSA9PT0gRmllbGRUeXBlLkZJTEVfVVBMT0FEIHx8IHR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVDtcbiAgY29uc3QgaGFzRmlsZXMgPSBCb29sZWFuKGZpbGVzPy5sZW5ndGgpO1xuICBjb25zdCBkaXNwbGF5VmFsdWUgPSBpc0NvbG91clBpY2tlciB8fCAoaXNGaWxlVXBsb2FkICYmIGhhc0ZpbGVzKSA/IG51bGwgOiB2YWx1ZTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSc+XG4gICAgICAgIHtoYXNGaWxlcyAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtcHJldmlld3MnPlxuICAgICAgICAgICAge2ZpbGVzLm1hcCgoZmlsZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiAoXG4gICAgICAgICAgICAgIDxWYXJpYXRpb25GaWxlUHJldmlld1xuICAgICAgICAgICAgICAgIGtleT17ZmlsZS52aWV3VXJsIHx8IGZpbGUuaWQgfHwgYCR7bmFtZX0tZmlsZS0ke2luZGV4fWB9XG4gICAgICAgICAgICAgICAgZmlsZT17ZmlsZX1cbiAgICAgICAgICAgICAgICB1cmxBcGk9e3VybEFwaX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7aXNDb2xvdXJQaWNrZXIgJiYgdmFsdWUgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1jb2xvdXItdmFsdWUnPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiB2YWx1ZSB9fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbG9yLWluZGljYXRvcidcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8c3Bhbj57dmFsdWV9PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ZGlzcGxheVZhbHVlICYmIGRpc3BsYXlWYWx1ZX1cbiAgICAgICAge2Nvc3REZXRhaWwgfHwgJyd9XG4gICAgICAgIHshaGFzRmlsZXMgJiYgIXZhbHVlICYmICFjb3N0RGV0YWlsICYmICctJ31cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25JbmZvKHsgcHJvZHVjdCwgdmFyaWF0aW9uIH06IGFueSkge1xuICBjb25zdCB7IHVybEFwaSB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCB7IHZhcmlhdGlvbkZpZWxkLCB2YXJpYXRpb25GaWxlcywgc2VsZWN0YWJsZU9wdGlvbnMgfSA9IHZhcmlhdGlvbjtcbiAgY29uc3QgeyBmaWVsZFR5cGUsIHNlbGxlclByb2R1Y3RFZGl0YWJsZSwgb3B0aW9uczogZmllbGRPcHRpb25zID0gW10gfSA9XG4gICAgdmFyaWF0aW9uRmllbGQ7XG4gIGNvbnN0IGlzVmFyaWF0aW9uU2VsZWN0YWJsZSA9IGlzU2VsZWN0YWJsZShmaWVsZFR5cGUpO1xuICBjb25zdCBpc1R1cm5hcm91bmRUaW1lID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuVFVSTkFST1VORF9USU1FO1xuICBjb25zdCBpc0NvbG91ckV4dHJhY3QgPSBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVDtcbiAgY29uc3Qgb3B0aW9ucyA9IHJlc29sdmVTZWxlY3RhYmxlU2VsZWN0ZWRPcHRpb25zKFxuICAgIHZhcmlhdGlvbixcbiAgICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgICBmaWVsZE9wdGlvbnNcbiAgKTtcbiAgY29uc3QgdXNlU2VsZWN0YWJsZURpc3BsYXkgPVxuICAgIGlzVmFyaWF0aW9uU2VsZWN0YWJsZSAmJlxuICAgIChCb29sZWFuKG9wdGlvbnM/Lmxlbmd0aCkgfHwgKGlzVHVybmFyb3VuZFRpbWUgJiYgdmFyaWF0aW9uLnZhbHVlKSk7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbic+XG4gICAgICB7aXNDb2xvdXJFeHRyYWN0ID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxWYXJpYXRpb25JbmZvQm9keVxuICAgICAgICAgICAgbmFtZT17dmFyaWF0aW9uRmllbGQubmFtZX1cbiAgICAgICAgICAgIHR5cGU9e2ZpZWxkVHlwZX1cbiAgICAgICAgICAgIHZhbHVlPXtudWxsfVxuICAgICAgICAgICAgZmlsZXM9e3ZhcmlhdGlvbkZpbGVzfVxuICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgIHVybEFwaT17dXJsQXBpfVxuICAgICAgICAgICAgY29zdERldGFpbD17dmFyaWF0aW9uQ29zdERldGFpbChcbiAgICAgICAgICAgICAgcHJvZHVjdCxcbiAgICAgICAgICAgICAgdmFyaWF0aW9uLFxuICAgICAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG4gICAgICAgICAgICAgIC8vIE9wdGlvbnMgbGlzdCBzaG93cyBlYWNoIGNvbG91ciBjb3N0OyBrZWVwIGZpZWxkIGJhc2UgY29zdCBoZXJlLlxuICAgICAgICAgICAgICBvcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IHsgZmllbGRDb3N0c09ubHk6IHRydWUgfVxuICAgICAgICAgICAgICAgIDogeyBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0czogZmFsc2UgfVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtvcHRpb25zPy5sZW5ndGggPyAoXG4gICAgICAgICAgICA8VmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5XG4gICAgICAgICAgICAgIG5hbWU9e2Ake3ZhcmlhdGlvbkZpZWxkLm5hbWV9IGNvbG91cnNgfVxuICAgICAgICAgICAgICBmaWVsZFR5cGU9e2ZpZWxkVHlwZX1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhcmlhdGlvbi52YWx1ZX1cbiAgICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgICAgc2VsZWN0ZWRPcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgICB2YXJpYXRpb249e3ZhcmlhdGlvbn1cbiAgICAgICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxuICAgICAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlPXtzZWxsZXJQcm9kdWN0RWRpdGFibGV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiB1c2VTZWxlY3RhYmxlRGlzcGxheSA/IChcbiAgICAgICAgPFZhcmlhdGlvbk9wdGlvbnNJbmZvQm9keVxuICAgICAgICAgIG5hbWU9e3ZhcmlhdGlvbkZpZWxkLm5hbWV9XG4gICAgICAgICAgZmllbGRUeXBlPXtmaWVsZFR5cGV9XG4gICAgICAgICAgdmFsdWU9e3ZhcmlhdGlvbi52YWx1ZX1cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIGZpbGVzPXt2YXJpYXRpb25GaWxlc31cbiAgICAgICAgICBzZWxlY3RlZE9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgdmFyaWF0aW9uPXt2YXJpYXRpb259XG4gICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxuICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPFZhcmlhdGlvbkluZm9Cb2R5XG4gICAgICAgICAgbmFtZT17dmFyaWF0aW9uRmllbGQubmFtZX1cbiAgICAgICAgICB0eXBlPXt2YXJpYXRpb25GaWVsZC5maWVsZFR5cGV9XG4gICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQVJFQSAmJiB2YXJpYXRpb24udmFsdWVcbiAgICAgICAgICAgICAgPyBmb3JtYXRBcmVhU3VtbWFyeShcbiAgICAgICAgICAgICAgICAgIHZhcmlhdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgIGxvY2FsZVByZWZlcnNJbXBlcmlhbCgpID8gJ2ltcGVyaWFsJyA6ICdtZXRyaWMnLFxuICAgICAgICAgICAgICAgICAgdmFyaWF0aW9uRmllbGQuYXJlYVVuaXQgfHwgJ21tJ1xuICAgICAgICAgICAgICAgICkgfHwgdmFyaWF0aW9uLnZhbHVlXG4gICAgICAgICAgICAgIDogdmFyaWF0aW9uLnZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICAgIGZpbGVzPXt2YXJpYXRpb25GaWxlc31cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHVybEFwaT17dXJsQXBpfVxuICAgICAgICAgIGNvc3REZXRhaWw9e3ZhcmlhdGlvbkNvc3REZXRhaWwoXG4gICAgICAgICAgICBwcm9kdWN0LFxuICAgICAgICAgICAgdmFyaWF0aW9uLFxuICAgICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxuICAgICAgICAgICAgeyBpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0czogZmFsc2UgfVxuICAgICAgICAgICl9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBDb2xvdXJTZWxlY3RPcHRpb24oe1xuICBvcHRpb24sXG4gIHNlbGVjdGFibGVPcHRpb25zLFxuICBmaWVsZE9wdGlvbnMsXG4gIHByb2R1Y3QsXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZSxcbn06IHtcbiAgb3B0aW9uOiBhbnk7XG4gIHNlbGVjdGFibGVPcHRpb25zPzogYW55W107XG4gIGZpZWxkT3B0aW9ucz86IGFueVtdO1xuICBwcm9kdWN0PzogYW55O1xuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU/OiBib29sZWFuO1xufSkge1xuICBjb25zdCBsYWJlbCA9IG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAnJztcbiAgY29uc3QgaGV4ID0gcmVzb2x2ZU9wdGlvbkNvbG91cihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zLCBmaWVsZE9wdGlvbnMpO1xuICBjb25zdCBjb3N0ID0gZm9ybWF0T3B0aW9uQ29zdChcbiAgICBwcm9kdWN0LFxuICAgIG9wdGlvbixcbiAgICBCb29sZWFuKHNlbGxlclByb2R1Y3RFZGl0YWJsZSlcbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWNvbG91ci1vcHRpb24nPlxuICAgICAge2hleCAmJiAoXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZENvbG9yOiBoZXggfX1cbiAgICAgICAgICBjbGFzc05hbWU9J2NvbG9yLWluZGljYXRvcidcbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICA8c3Bhbj5cbiAgICAgICAge2xhYmVsIHx8IGhleCB8fCAn4oCTJ31cbiAgICAgICAge2Nvc3QgfHwgJyd9XG4gICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5mdW5jdGlvbiBJbWFnZVNlbGVjdE9wdGlvbih7XG4gIG9wdGlvbixcbiAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gIGZpZWxkT3B0aW9ucyxcbiAgcHJvZHVjdCxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxufToge1xuICBvcHRpb246IGFueTtcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcbiAgZmllbGRPcHRpb25zPzogYW55W107XG4gIHByb2R1Y3Q6IGFueTtcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlOiBib29sZWFuO1xufSkge1xuICBjb25zdCB7IHVybEFwaSB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCBpbWFnZVVybCA9IHJlc29sdmVPcHRpb25JbWFnZVVybChcbiAgICBvcHRpb24sXG4gICAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gICAgZmllbGRPcHRpb25zLFxuICAgIHVybEFwaVxuICApO1xuICBjb25zdCBsYWJlbCA9IG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAnJztcbiAgY29uc3QgY29zdCA9IGZvcm1hdE9wdGlvbkNvc3QocHJvZHVjdCwgb3B0aW9uLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpO1xuICBjb25zdCBbaW1hZ2VGYWlsZWQsIHNldEltYWdlRmFpbGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICByZXR1cm4gKFxuICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktaW1hZ2Utc2VsZWN0LW9wdGlvbic+XG4gICAgICB7aW1hZ2VVcmwgJiYgIWltYWdlRmFpbGVkID8gKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgY2xhc3NOYW1lPSdtb2RhbC1tZXJjaGktY2hlY2tvdXQtam9iLWluZm8tY29udGVudC1pbWcnXG4gICAgICAgICAgc3JjPXtpbWFnZVVybH1cbiAgICAgICAgICBhbHQ9e2xhYmVsIHx8ICdTZWxlY3RlZCBvcHRpb24nfVxuICAgICAgICAgIHRpdGxlPXtsYWJlbCB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25FcnJvcj17KCkgPT4gc2V0SW1hZ2VGYWlsZWQodHJ1ZSl9XG4gICAgICAgIC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIDxzcGFuPlxuICAgICAgICB7bGFiZWwgfHwgJ+KAkyd9XG4gICAgICAgIHtjb3N0IHx8ICcnfVxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uSWQob3B0aW9uOiBhbnkpIHtcbiAgcmV0dXJuIG9wdGlvbj8ub3B0aW9uSWQgPz8gb3B0aW9uPy5pZDtcbn1cblxuZnVuY3Rpb24gc3BsaXRTZWxlY3RlZE9wdGlvbklkcyh2YWx1ZTogYW55KTogc3RyaW5nW10ge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubWFwKFN0cmluZykuZmlsdGVyKEJvb2xlYW4pO1xuICB9XG4gIGlmICh2YWx1ZSA9PSBudWxsIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIFtdO1xuICByZXR1cm4gU3RyaW5nKHZhbHVlKVxuICAgIC5zcGxpdCgnLCcpXG4gICAgLm1hcCgocGFydCkgPT4gcGFydC50cmltKCkpXG4gICAgLmZpbHRlcihCb29sZWFuKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVNlbGVjdGFibGVTZWxlY3RlZE9wdGlvbnMoXG4gIHZhcmlhdGlvbjogYW55LFxuICBzZWxlY3RhYmxlT3B0aW9uczogYW55W10gPSBbXSxcbiAgZmllbGRPcHRpb25zOiBhbnlbXSA9IFtdXG4pOiBhbnlbXSB7XG4gIGNvbnN0IGZpZWxkVHlwZSA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZTtcbiAgaWYgKGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUKSB7XG4gICAgcmV0dXJuIHZhcmlhdGlvbj8uc2VsZWN0ZWRPcHRpb25zIHx8IFtdO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWRJZHMgPSBzcGxpdFNlbGVjdGVkT3B0aW9uSWRzKHZhcmlhdGlvbj8udmFsdWUpO1xuICBpZiAoc2VsZWN0ZWRJZHMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHBvb2xzID0gW3NlbGVjdGFibGVPcHRpb25zLCBmaWVsZE9wdGlvbnNdO1xuICAgIGNvbnN0IHJlc29sdmVkOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgaWQgb2Ygc2VsZWN0ZWRJZHMpIHtcbiAgICAgIGZvciAoY29uc3QgcG9vbCBvZiBwb29scykge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHBvb2wuZmluZCgob3B0aW9uOiBhbnkpID0+IFN0cmluZyhnZXRPcHRpb25JZChvcHRpb24pKSA9PT0gaWQpO1xuICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICByZXNvbHZlZC5wdXNoKG1hdGNoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpZiAocmVzb2x2ZWQubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHJlc29sdmVkO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YXJpYXRpb24/LnNlbGVjdGVkT3B0aW9ucyB8fCBbXTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbihcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVTZWxlY3RhYmxlU2VsZWN0ZWRPcHRpb25zKFxuICAgIHZhcmlhdGlvbixcbiAgICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgICBmaWVsZE9wdGlvbnNcbiAgKTtcbiAgaWYgKHJlc29sdmVkLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gcmVzb2x2ZWRbMF07XG4gIH1cblxuICBjb25zdCB2YWx1ZVN0ciA9XG4gICAgdmFyaWF0aW9uPy52YWx1ZSAhPSBudWxsICYmIHZhcmlhdGlvbj8udmFsdWUgIT09ICcnXG4gICAgICA/IFN0cmluZyh2YXJpYXRpb24udmFsdWUpLnRyaW0oKVxuICAgICAgOiAnJztcbiAgaWYgKCF2YWx1ZVN0cikgcmV0dXJuIG51bGw7XG5cbiAgY29uc3QgcG9vbHMgPSBbc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9uc107XG4gIGZvciAoY29uc3QgcG9vbCBvZiBwb29scykge1xuICAgIGNvbnN0IGJ5VmFsdWUgPSBwb29sLmZpbmQoXG4gICAgICAob3B0aW9uOiBhbnkpID0+IFN0cmluZyhvcHRpb24udmFsdWUgPz8gJycpID09PSB2YWx1ZVN0clxuICAgICk7XG4gICAgaWYgKGJ5VmFsdWUpIHJldHVybiBieVZhbHVlO1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRUdXJuYXJvdW5kRGVhZGxpbmUodXNlckRlYWRsaW5lOiBhbnkpIHtcbiAgaWYgKCF1c2VyRGVhZGxpbmUpIHJldHVybiBudWxsO1xuICBjb25zdCBzZWNvbmRzID0gTnVtYmVyKHVzZXJEZWFkbGluZSk7XG4gIGlmICghTnVtYmVyLmlzRmluaXRlKHNlY29uZHMpIHx8IHNlY29uZHMgPD0gMCkgcmV0dXJuIG51bGw7XG4gIHJldHVybiBuZXcgRGF0ZShzZWNvbmRzICogMTAwMCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1BVScsIHtcbiAgICB3ZWVrZGF5OiAnbG9uZycsXG4gICAgeWVhcjogJ251bWVyaWMnLFxuICAgIG1vbnRoOiAnbG9uZycsXG4gICAgZGF5OiAnbnVtZXJpYycsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBUdXJuYXJvdW5kT3B0aW9uTGFiZWwoe1xuICBvcHRpb24sXG4gIHZhcmlhdGlvbkZpZWxkLFxuICBwcm9kdWN0LFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG59OiB7XG4gIG9wdGlvbjogYW55O1xuICB2YXJpYXRpb25GaWVsZDogYW55O1xuICBwcm9kdWN0OiBhbnk7XG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZTogYm9vbGVhbjtcbn0pIHtcbiAgY29uc3QgZGF5cyA9IHBhcnNlSW50KFN0cmluZyhvcHRpb24/LnZhbHVlID8/ICcnKSwgMTApIHx8IDA7XG4gIGNvbnN0IGRlYWRsaW5lID0gZm9ybWF0VHVybmFyb3VuZERlYWRsaW5lKG9wdGlvbj8udXNlckRlYWRsaW5lKTtcbiAgY29uc3Qgc2hpcHBpbmdUaW1lSW5jbHVkZWQgPSBCb29sZWFuKHZhcmlhdGlvbkZpZWxkPy5zaGlwcGluZ1RpbWVJbmNsdWRlZCk7XG4gIGNvbnN0IGRlYWRsaW5lTGFiZWwgPSBzaGlwcGluZ1RpbWVJbmNsdWRlZCA/ICdEZWxpdmVyeSBieScgOiAnUHJvZHVjZWQgYnknO1xuICBjb25zdCBjb3N0ID0gZm9ybWF0T3B0aW9uQ29zdChwcm9kdWN0LCBvcHRpb24sIHNlbGxlclByb2R1Y3RFZGl0YWJsZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXR1cm5hcm91bmQtdmFsdWUnPlxuICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10dXJuYXJvdW5kLWRheXMnPlxuICAgICAgICB7ZGF5cyA+IDBcbiAgICAgICAgICA/IGAke2RheXN9IGJ1c2luZXNzIGRheSR7ZGF5cyAhPT0gMSA/ICdzJyA6ICcnfWBcbiAgICAgICAgICA6IChvcHRpb24/LnZhbHVlPy50cmltKCkgfHwgJ+KAkycpfVxuICAgICAgPC9zcGFuPlxuICAgICAge2RlYWRsaW5lICYmIChcbiAgICAgICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10dXJuYXJvdW5kLWRlYWRsaW5lJz5cbiAgICAgICAgICB7ZGVhZGxpbmVMYWJlbH0ge2RlYWRsaW5lfVxuICAgICAgICA8L3NwYW4+XG4gICAgICApfVxuICAgICAge2Nvc3QgfHwgJyd9XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25PcHRpb25zSW5mb0JvZHkoe1xuICBuYW1lLFxuICBzZWxlY3RlZE9wdGlvbnMsXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZSxcbiAgcHJvZHVjdCxcbiAgZmllbGRUeXBlLFxuICB2YXJpYXRpb24sXG4gIHNlbGVjdGFibGVPcHRpb25zID0gW10sXG4gIGZpZWxkT3B0aW9ucyA9IFtdLFxufTogYW55KSB7XG4gIGNvbnN0IGlzVHVybmFyb3VuZFRpbWUgPSBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5UVVJOQVJPVU5EX1RJTUU7XG4gIGNvbnN0IGZpcnN0T3B0aW9uID0gaXNUdXJuYXJvdW5kVGltZVxuICAgID8gcmVzb2x2ZVR1cm5hcm91bmRTZWxlY3RlZE9wdGlvbihcbiAgICAgICAgeyBzZWxlY3RlZE9wdGlvbnMsIHZhbHVlOiB2YXJpYXRpb24/LnZhbHVlIH0sXG4gICAgICAgIHNlbGVjdGFibGVPcHRpb25zLFxuICAgICAgICBmaWVsZE9wdGlvbnNcbiAgICAgIClcbiAgICA6IHNlbGVjdGVkT3B0aW9uc1swXTtcbiAgY29uc3QgaXNDb2xvdXJTZWxlY3QgPVxuICAgIGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9TRUxFQ1QgfHxcbiAgICBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVDtcbiAgY29uc3QgaXNJbWFnZVNlbGVjdCA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLklNQUdFX1NFTEVDVDtcbiAgY29uc3QgdmFyaWF0aW9uRmllbGQgPSB2YXJpYXRpb24/LnZhcmlhdGlvbkZpZWxkID8/IHt9O1xuXG4gIGZ1bmN0aW9uIHJlbmRlck9wdGlvbkxhYmVsKG86IGFueSkge1xuICAgIGlmIChpc1R1cm5hcm91bmRUaW1lKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8VHVybmFyb3VuZE9wdGlvbkxhYmVsXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHZhcmlhdGlvbkZpZWxkPXt2YXJpYXRpb25GaWVsZH1cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGlzQ29sb3VyU2VsZWN0KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q29sb3VyU2VsZWN0T3B0aW9uXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGlzSW1hZ2VTZWxlY3QpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxJbWFnZVNlbGVjdE9wdGlvblxuICAgICAgICAgIG9wdGlvbj17b31cbiAgICAgICAgICBzZWxlY3RhYmxlT3B0aW9ucz17c2VsZWN0YWJsZU9wdGlvbnN9XG4gICAgICAgICAgZmllbGRPcHRpb25zPXtmaWVsZE9wdGlvbnN9XG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGU9e3NlbGxlclByb2R1Y3RFZGl0YWJsZX1cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7by52YWx1ZT8udHJpbSgpIHx8ICfigJMnfVxuICAgICAgICB7Zm9ybWF0T3B0aW9uQ29zdChwcm9kdWN0LCBvLCBzZWxsZXJQcm9kdWN0RWRpdGFibGUpIHx8ICcnfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMSAmJiAhaXNUdXJuYXJvdW5kVGltZSA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSBsaXN0LXVuc3R5bGVkIG0tMCc+XG4gICAgICAgICAgICB7c2VsZWN0ZWRPcHRpb25zLm1hcCgobzogYW55LCBpOiBudW1iZXIpID0+IChcbiAgICAgICAgICAgICAgPGxpIGtleT17YCR7aX0tb3B0aW9uLWtleS0ke28ub3B0aW9uSWQgPz8gaX1gfT5cbiAgICAgICAgICAgICAgICB7cmVuZGVyT3B0aW9uTGFiZWwobyl9XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiBmaXJzdE9wdGlvbiA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tbGFiZWwnPntuYW1lfTwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tdmFsdWUnPlxuICAgICAgICAgICAge3JlbmRlck9wdGlvbkxhYmVsKGZpcnN0T3B0aW9uKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1sYWJlbCc+e25hbWV9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSc+LTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC8+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbnNJbmZvKHsgcHJvZHVjdCwgcXVhbnRpdHksIHZhcmlhdGlvbnMgPSBbXSB9OiBhbnkpIHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9ucyc+XG4gICAgICB7dmFyaWF0aW9ucy5tYXAoKHY6IGFueSwgaTogbnVtYmVyKSA9PlxuICAgICAgICAhaXNJbnN0cnVjdGlvbnNUeXBlKHYudmFyaWF0aW9uRmllbGQuZmllbGRUeXBlKSA/IChcbiAgICAgICAgICA8VmFyaWF0aW9uSW5mb1xuICAgICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgICAgdmFyaWF0aW9uPXt2fVxuICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogbnVsbFxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gZGVzaWduSW5wdXRzRm9yKGlucHV0czogYW55W10gfCB1bmRlZmluZWQsIGdyb3VwSW5kZXg/OiBudW1iZXIpIHtcbiAgcmV0dXJuIChpbnB1dHMgfHwgW10pLmZpbHRlcigoaW5wdXQpID0+IHtcbiAgICBpZiAoIWlucHV0IHx8IChpbnB1dC5raW5kICE9PSAndGV4dCcgJiYgaW5wdXQua2luZCAhPT0gJ2ZpbGUnKSkgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChncm91cEluZGV4ID09IG51bGwpIHJldHVybiBpbnB1dC5ncm91cEluZGV4ID09IG51bGw7XG4gICAgcmV0dXJuIGlucHV0Lmdyb3VwSW5kZXggPT09IGdyb3VwSW5kZXg7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBEZXNpZ25lcklucHV0c0luZm8oeyBpbnB1dHMgfTogeyBpbnB1dHM6IGFueVtdIH0pIHtcbiAgaWYgKCFpbnB1dHMubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9ucyc+XG4gICAgICB7aW5wdXRzLm1hcCgoaW5wdXQsIGluZGV4KSA9PiAoXG4gICAgICAgIDxTdW1tYXJ5RmllbGRSb3dcbiAgICAgICAgICBrZXk9e2Ake2lucHV0LmtpbmR9LSR7aW5kZXh9YH1cbiAgICAgICAgICBsYWJlbD17XG4gICAgICAgICAgICBpbnB1dC5uYW1lIHx8IChpbnB1dC5raW5kID09PSAnZmlsZScgPyAnQ3VzdG9tIGltYWdlJyA6ICdDdXN0b20gdGV4dCcpXG4gICAgICAgICAgfVxuICAgICAgICAgIHZhbHVlPXtcbiAgICAgICAgICAgIGlucHV0LmtpbmQgPT09ICdmaWxlJ1xuICAgICAgICAgICAgICA/ICdVcGxvYWRlZCdcbiAgICAgICAgICAgICAgOiBTdHJpbmcoaW5wdXQudmFsdWUgfHwgJycpLnRyaW0oKSB8fCAnLSdcbiAgICAgICAgICB9XG4gICAgICAgIC8+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uR3JvdXBJbmZvKHtcbiAgZ3JvdXAsXG4gIGluZGV4LFxuICBwcm9kdWN0LFxuICBzaG93U2V0dXBPblVuaXRQcmljZSxcbn06IGFueSkge1xuICBjb25zdCB7IGpvYiB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCBpc1Jlc2VsbCA9IGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3QpO1xuICBjb25zdCB7IHF1YW50aXR5LCB2YXJpYXRpb25zIH0gPSBncm91cDtcbiAgY29uc3QgZXh0cmFJbnB1dHMgPSBkZXNpZ25JbnB1dHNGb3Ioam9iPy5kZXNpZ25JbnB1dHMsIGluZGV4KTtcbiAgY29uc3QgdmlzaWJsZVZhcmlhdGlvbnMgPSAodmFyaWF0aW9ucyA/PyBbXSkuZmlsdGVyKFxuICAgICh2OiBhbnkpID0+ICFpc0luc3RydWN0aW9uc1R5cGUodj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSlcbiAgKTtcbiAgY29uc3QgY29zdExhYmVsID0gaXNSZXNlbGwgPyAnVW5pdCBDb3N0JyA6ICdHcm91cCBDb3N0JztcbiAgY29uc3QgdW5pdFByaWNlVmFsdWUgPSBzaG93U2V0dXBPblVuaXRQcmljZVxuICAgID8gZm9ybWF0VW5pdFByaWNlV2l0aFNldHVwKHByb2R1Y3QpXG4gICAgOiBmb3JtYXRDb3N0KHByb2R1Y3QsIE51bWJlcihwcm9kdWN0Py51bml0UHJpY2UpIHx8IDApO1xuXG4gIHJldHVybiAoXG4gICAgPHNlY3Rpb24gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1ncm91cCc+XG4gICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cbiAgICAgICAgR3JvdXAge2luZGV4ICsgMX0gSW5mb3JtYXRpb25cbiAgICAgIDwvc3Ryb25nPlxuICAgICAgeyFpc1Jlc2VsbCAmJiBxdWFudGl0eSA+IDAgJiYgKFxuICAgICAgICA8U3VtbWFyeUZpZWxkUm93IGxhYmVsPSdRdWFudGl0eScgdmFsdWU9e3F1YW50aXR5fSAvPlxuICAgICAgKX1cbiAgICAgIDxTdW1tYXJ5RmllbGRSb3cgbGFiZWw9J1VuaXQgUHJpY2UnIHZhbHVlPXt1bml0UHJpY2VWYWx1ZX0gLz5cbiAgICAgIHt2aXNpYmxlVmFyaWF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgPFZhcmlhdGlvbnNJbmZvXG4gICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgIHZhcmlhdGlvbnM9e3ZhcmlhdGlvbnN9XG4gICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICA8RGVzaWduZXJJbnB1dHNJbmZvIGlucHV0cz17ZXh0cmFJbnB1dHN9IC8+XG4gICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZ3JvdXAtY29zdCc+XG4gICAgICAgIHtjb3N0TGFiZWx9OiB7Zm9ybWF0Q29zdChwcm9kdWN0LCBncm91cC5ncm91cENvc3QpfVxuICAgICAgPC9zdHJvbmc+XG4gICAgPC9zZWN0aW9uPlxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKb2JJbmZvQ29udGVudCgpIHtcbiAgY29uc3QgeyBqb2IgfSA9IHVzZU1lcmNoaUNoZWNrYm91dENvbnRleHQoKTtcbiAgY29uc3QgeyBwcm9kdWN0LCBxdWFudGl0eSA9IDAsIHZhcmlhdGlvbnMgPSBbXSwgdmFyaWF0aW9uc0dyb3VwcyA9IFtdIH0gPSBqb2I7XG4gIGNvbnN0IGV4dHJhSm9iSW5wdXRzID0gZGVzaWduSW5wdXRzRm9yKGpvYj8uZGVzaWduSW5wdXRzKTtcbiAgY29uc3QgeyBuZWVkc1NoaXBwaW5nIH0gPSBwcm9kdWN0O1xuICBjb25zdCB0b3RhbENvc3QgPSBjdXJyZW5jeVRvdGFsQ29zdFNob3dJbmNUYXgoam9iKTtcbiAgY29uc3QgaXNSZXNlbGwgPSBpc1Byb2R1Y3RTdXBwbGllck1PRChwcm9kdWN0KTtcbiAgY29uc3QgaGFzR3JvdXBzID0gdmFyaWF0aW9uc0dyb3Vwcy5sZW5ndGggPiAwO1xuICBjb25zdCBqb2JMZXZlbFZhcmlhdGlvbnMgPSAodmFyaWF0aW9ucyA/PyBbXSkuZmlsdGVyKFxuICAgICh2OiBhbnkpID0+ICFpc0luc3RydWN0aW9uc1R5cGUodj8udmFyaWF0aW9uRmllbGQ/LmZpZWxkVHlwZSlcbiAgKTtcbiAgY29uc3QgdG90YWxRdWFudGl0eSA9IGhhc0dyb3Vwc1xuICAgID8gdmFyaWF0aW9uc0dyb3Vwcy5yZWR1Y2UoXG4gICAgICAgIChzdW06IG51bWJlciwgZzogYW55KSA9PiBzdW0gKyAoTnVtYmVyKGcucXVhbnRpdHkpIHx8IDApLFxuICAgICAgICAwXG4gICAgICApXG4gICAgOiBOdW1iZXIocXVhbnRpdHkpIHx8IDA7XG4gIGNvbnN0IHNldHVwUGVyR3JvdXAgPSBCb29sZWFuKHByb2R1Y3Q/LnNldHVwUGVyR3JvdXApO1xuICBjb25zdCBoYXNTZXR1cFByaWNlID0gTnVtYmVyKHByb2R1Y3Q/LnNldHVwUHJpY2UpID4gMDtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtb2RhbC1tZXJjaGktY2hlY2tvdXQtam9iLWluZm8tY29udGVudCBtZXJjaGktY2hlY2tvdXQtc3VtbWFyeSc+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktc2VjdGlvbi10aXRsZSc+e3Byb2R1Y3QubmFtZX08L2Rpdj5cbiAgICAgIHtoYXNHcm91cHMgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZ3JvdXBzJz5cbiAgICAgICAgICB7dmFyaWF0aW9uc0dyb3Vwcy5tYXAoKGc6IGFueSwgaTogbnVtYmVyKSA9PlxuICAgICAgICAgICAgZy5xdWFudGl0eSA/IChcbiAgICAgICAgICAgICAgPFZhcmlhdGlvbkdyb3VwSW5mb1xuICAgICAgICAgICAgICAgIGdyb3VwPXtnfVxuICAgICAgICAgICAgICAgIGtleT17YCR7aX0tam9iLWluZm8tY29udGVudGB9XG4gICAgICAgICAgICAgICAgaW5kZXg9e2l9XG4gICAgICAgICAgICAgICAgcHJvZHVjdD17cHJvZHVjdH1cbiAgICAgICAgICAgICAgICBzaG93U2V0dXBPblVuaXRQcmljZT17c2V0dXBQZXJHcm91cH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgeyFoYXNHcm91cHMgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktc3RhbmRhbG9uZSc+XG4gICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LW9yZGVyLWRldGFpbC10aXRsZSc+XG4gICAgICAgICAgICBPcmRlciBJbmZvcm1hdGlvblxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIHtxdWFudGl0eSA+IDAgJiYgKFxuICAgICAgICAgICAgPFN1bW1hcnlGaWVsZFJvdyBsYWJlbD0nUXVhbnRpdHknIHZhbHVlPXtxdWFudGl0eX0gLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxTdW1tYXJ5RmllbGRSb3dcbiAgICAgICAgICAgIGxhYmVsPSdVbml0IFByaWNlJ1xuICAgICAgICAgICAgdmFsdWU9e2Zvcm1hdFVuaXRQcmljZVdpdGhTZXR1cChwcm9kdWN0KX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHtqb2JMZXZlbFZhcmlhdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8VmFyaWF0aW9uc0luZm9cbiAgICAgICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgICAgICB2YXJpYXRpb25zPXt2YXJpYXRpb25zfVxuICAgICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxEZXNpZ25lcklucHV0c0luZm8gaW5wdXRzPXtleHRyYUpvYklucHV0c30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAge2hhc0dyb3VwcyAmJiAoam9iTGV2ZWxWYXJpYXRpb25zLmxlbmd0aCA+IDAgfHwgZXh0cmFKb2JJbnB1dHMubGVuZ3RoID4gMCkgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktc3RhbmRhbG9uZSc+XG4gICAgICAgICAgPHN0cm9uZyBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LW9yZGVyLWRldGFpbC10aXRsZSc+XG4gICAgICAgICAgICBPcmRlciBJbmZvcm1hdGlvblxuICAgICAgICAgIDwvc3Ryb25nPlxuICAgICAgICAgIHtqb2JMZXZlbFZhcmlhdGlvbnMubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgICA8VmFyaWF0aW9uc0luZm9cbiAgICAgICAgICAgICAgcXVhbnRpdHk9e3F1YW50aXR5fVxuICAgICAgICAgICAgICB2YXJpYXRpb25zPXt2YXJpYXRpb25zfVxuICAgICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxEZXNpZ25lcklucHV0c0luZm8gaW5wdXRzPXtleHRyYUpvYklucHV0c30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgeyFpc1Jlc2VsbCAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbCc+XG4gICAgICAgICAge3RvdGFsUXVhbnRpdHkgPiAwICYmIChcbiAgICAgICAgICAgIDxTdW1tYXJ5QW1vdW50Um93XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdG90YWwtcXVhbnRpdHknXG4gICAgICAgICAgICAgIGxhYmVsPSdUb3RhbCBRdWFudGl0eSdcbiAgICAgICAgICAgICAgYW1vdW50PXt0b3RhbFF1YW50aXR5fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtoYXNHcm91cHMgJiYgaGFzU2V0dXBQcmljZSAmJiAhc2V0dXBQZXJHcm91cCAmJiAoXG4gICAgICAgICAgICA8U3VtbWFyeUFtb3VudFJvd1xuICAgICAgICAgICAgICBsYWJlbD0nU2V0dXAnXG4gICAgICAgICAgICAgIGFtb3VudD17Zm9ybWF0Q29zdChwcm9kdWN0LCBOdW1iZXIocHJvZHVjdC5zZXR1cFByaWNlKSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPFN1bW1hcnlBbW91bnRSb3dcbiAgICAgICAgICAgIGxhYmVsPSdUb3RhbCBPcmRlciBDb3N0J1xuICAgICAgICAgICAgbGFiZWxFeHRyYT17XG4gICAgICAgICAgICAgIG5lZWRzU2hpcHBpbmcgPyAoXG4gICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdG90YWwtbm90ZSc+IGV4IFNoaXBtZW50PC9zbWFsbD5cbiAgICAgICAgICAgICAgKSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYW1vdW50PXt0b3RhbENvc3R9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgeyEhKGlzUmVzZWxsICYmICFoYXNHcm91cHMpICYmIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWItMCc+XG4gICAgICAgICAgICB7aXNSZXNlbGwgPyAnQXBwcm94aW1hdGUgVW5pdCcgOiAnVG90YWwnfSBDb3N0XG4gICAgICAgICAgPC9zdHJvbmc+eycgJ31cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWItMCBkLWJsb2NrJz57dG90YWxDb3N0fTwvc3Ryb25nPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBQUMsU0FBQUEsMkJBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLHlCQUFBQyxNQUFBLElBQUFILENBQUEsQ0FBQUcsTUFBQSxDQUFBQyxRQUFBLEtBQUFKLENBQUEscUJBQUFFLENBQUEsUUFBQUcsS0FBQSxDQUFBQyxPQUFBLENBQUFOLENBQUEsTUFBQUUsQ0FB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
|
|
774
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInIiLCJlIiwidCIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiQXJyYXkiLCJpc0FycmF5IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwibGVuZ3RoIiwiX24iLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJmIiwiVHlwZUVycm9yIiwibyIsImEiLCJ1IiwiY2FsbCIsIm5leHQiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJfYXJyYXlMaWtlVG9BcnJheSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsImwiLCJpIiwiT2JqZWN0IiwicHVzaCIsIlJlYWN0IiwidXNlU3RhdGUiLCJGYUZpbGVQZGYiLCJGYVJlZ0ltYWdlIiwiZm9ybWF0Q3VycmVuY3kiLCJjdXJyZW5jeVRvdGFsQ29zdFNob3dJbmNUYXgiLCJpc0luc3RydWN0aW9uc1R5cGUiLCJpc1Byb2R1Y3RTdXBwbGllck1PRCIsImlzU2VsZWN0YWJsZSIsIkZpZWxkVHlwZSIsImVzdGltYXRlQXJlYUNvc3RzIiwiZm9ybWF0QXJlYVN1bW1hcnkiLCJsb2NhbGVQcmVmZXJzSW1wZXJpYWwiLCJ1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0IiwiZW1icm9pZGVyeVN1bW1hcnkiLCJwYXJzZWQiLCJKU09OIiwicGFyc2UiLCJTdHJpbmciLCJwYXJ0cyIsInRleHQiLCJ3aWR0aE1tIiwiaGVpZ2h0TW0iLCJjb25jYXQiLCJjb3VudCIsImNvbG91cnMiLCJqb2luIiwiX3VudXNlZCIsIlN1bW1hcnlBbW91bnRSb3ciLCJTdW1tYXJ5RmllbGRSb3ciLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJmb3JtYXRDb3N0IiwicHJvZHVjdCIsImNvc3QiLCJjdXJyZW5jeSIsInNob3dDb2RlSWZOb1N5bWJvbCIsInBhcnNlQ29zdEFtb3VudCIsImFtb3VudCIsInBhcnNlRmxvYXQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsImZvcm1hdE9uY2VPZmZVbml0Q29zdERldGFpbCIsIm9uY2VPZmZDb3N0IiwidW5pdENvc3QiLCJvbmNlT2ZmIiwidW5pdCIsIm9wdGlvbk9uY2VPZmYiLCJvcHRpb24iLCJ2YXJpYXRpb25Db3N0Iiwib3B0aW9uVW5pdCIsInZhcmlhdGlvblVuaXRDb3N0IiwicHJvZHVjdFNldHVwU3VmZml4Iiwic2V0dXBQcmljZSIsImxhYmVsIiwic2V0dXBQZXJHcm91cCIsImZvcm1hdFVuaXRQcmljZVdpdGhTZXR1cCIsInVuaXRQcmljZSIsImlzUGRmIiwiZmlsZSIsIm1pbWV0eXBlIiwiaXNJbWFnZUZpbGUiLCJzdGFydHNXaXRoIiwidG9Mb3dlckNhc2UiLCJhYnNvbHV0aXplRmlsZVVybCIsInJhdyIsInVybEFwaSIsInVybCIsInRyaW0iLCJiYXNlIiwiVVJMIiwib3JpZ2luIiwiaHJlZiIsIl91bnVzZWQyIiwicmVzb2x2ZUZpbGVVcmwiLCJ2aWV3VXJsIiwiZG93bmxvYWRVcmwiLCJvcHRpb25JbWFnZVVybCIsIl9vcHRpb24kbGlua2VkRmlsZSIsIl9vcHRpb24kbGlua2VkRmlsZTIiLCJsaW5rZWRGaWxlIiwiZmluZE1hdGNoaW5nT3B0aW9uIiwib3B0aW9ucyIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsImZpbmQiLCJvcHRpb25JZCIsInJlc29sdmVPcHRpb25Db2xvdXIiLCJfb3B0aW9uJGNvbG91ciIsIl9maW5kTWF0Y2hpbmdPcHRpb24iLCJfZmluZE1hdGNoaW5nT3B0aW9uMiIsInNlbGVjdGFibGVPcHRpb25zIiwiZmllbGRPcHRpb25zIiwiZGlyZWN0IiwiY29sb3VyIiwiZnJvbVNlbGVjdGFibGUiLCJyZXNvbHZlT3B0aW9uSW1hZ2VVcmwiLCJmb3JtYXRPcHRpb25Db3N0Iiwic2VsbGVyUHJvZHVjdEVkaXRhYmxlIiwib25jZU9mZlVuaXQiLCJ0b3RhbENvc3QiLCJ2YXJpYXRpb25Db3N0RGV0YWlsIiwidmFyaWF0aW9uIiwiX3ZhcmlhdGlvbiRvbmNlT2ZmQ29zIiwiX3ZhcmlhdGlvbiR1bml0Q29zdCIsIl9yZWYiLCJfcmVmJGluY2x1ZGVTZWxlY3RlZE8iLCJpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0cyIsIl9yZWYkZmllbGRDb3N0c09ubHkiLCJmaWVsZENvc3RzT25seSIsImZpZWxkIiwidmFyaWF0aW9uRmllbGQiLCJmaWVsZFR5cGUiLCJBUkVBIiwiYXJlYUNvc3RzIiwic2VsZWN0ZWQiLCJzZWxlY3RlZE9wdGlvbnMiLCJmaWVsZE9uY2UiLCJDT0xPVVJfRVhUUkFDVCIsImZpZWxkVW5pdCIsInJlZHVjZSIsInN1bSIsIlZhcmlhdGlvbkZpbGVQcmV2aWV3IiwiX3JlZjIiLCJmaWxlVXJsIiwiZmlsZU5hbWUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaW1hZ2VGYWlsZWQiLCJzZXRJbWFnZUZhaWxlZCIsImNsYXNzTmFtZSIsInRhcmdldCIsInJlbCIsInRpdGxlIiwiY2hpbGRyZW4iLCJzcmMiLCJhbHQiLCJvbkVycm9yIiwiVmFyaWF0aW9uSW5mb0JvZHkiLCJfcmVmMyIsImNvc3REZXRhaWwiLCJmaWxlcyIsInR5cGUiLCJpc0NvbG91clBpY2tlciIsIkNPTE9VUl9QSUNLRVIiLCJpc0ZpbGVVcGxvYWQiLCJGSUxFX1VQTE9BRCIsImhhc0ZpbGVzIiwiQm9vbGVhbiIsImRpc3BsYXlWYWx1ZSIsIm1hcCIsImluZGV4IiwiaWQiLCJzdHlsZSIsImJhY2tncm91bmRDb2xvciIsIlZhcmlhdGlvbkluZm8iLCJfcmVmNCIsIl91c2VNZXJjaGlDaGVja2JvdXRDbyIsInZhcmlhdGlvbkZpbGVzIiwiX3ZhcmlhdGlvbkZpZWxkJG9wdGlvIiwiaXNWYXJpYXRpb25TZWxlY3RhYmxlIiwiaXNUdXJuYXJvdW5kVGltZSIsIlRVUk5BUk9VTkRfVElNRSIsImlzQ29sb3VyRXh0cmFjdCIsInJlc29sdmVTZWxlY3RhYmxlU2VsZWN0ZWRPcHRpb25zIiwidXNlU2VsZWN0YWJsZURpc3BsYXkiLCJWYXJpYXRpb25PcHRpb25zSW5mb0JvZHkiLCJhcmVhVW5pdCIsIkVNQlJPSURFUlkiLCJDb2xvdXJTZWxlY3RPcHRpb24iLCJfcmVmNSIsIl9vcHRpb24kdmFsdWUiLCJoZXgiLCJJbWFnZVNlbGVjdE9wdGlvbiIsIl9yZWY2IiwiX29wdGlvbiR2YWx1ZTIiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28yIiwiaW1hZ2VVcmwiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImdldE9wdGlvbklkIiwiX29wdGlvbiRvcHRpb25JZCIsInNwbGl0U2VsZWN0ZWRPcHRpb25JZHMiLCJmaWx0ZXIiLCJzcGxpdCIsInBhcnQiLCJfdmFyaWF0aW9uJHZhcmlhdGlvbkYiLCJzZWxlY3RlZElkcyIsInBvb2xzIiwicmVzb2x2ZWQiLCJfaXRlcmF0b3IiLCJfc3RlcCIsIl9sb29wIiwiX2kiLCJfcG9vbHMiLCJwb29sIiwibWF0Y2giLCJlcnIiLCJyZXNvbHZlVHVybmFyb3VuZFNlbGVjdGVkT3B0aW9uIiwidmFsdWVTdHIiLCJfaTIiLCJfcG9vbHMyIiwiYnlWYWx1ZSIsIl9vcHRpb24kdmFsdWUzIiwiZm9ybWF0VHVybmFyb3VuZERlYWRsaW5lIiwidXNlckRlYWRsaW5lIiwic2Vjb25kcyIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJ3ZWVrZGF5IiwieWVhciIsIm1vbnRoIiwiZGF5IiwiVHVybmFyb3VuZE9wdGlvbkxhYmVsIiwiX3JlZjciLCJfb3B0aW9uJHZhbHVlNCIsIl9vcHRpb24kdmFsdWU1IiwiZGF5cyIsInBhcnNlSW50IiwiZGVhZGxpbmUiLCJzaGlwcGluZ1RpbWVJbmNsdWRlZCIsImRlYWRsaW5lTGFiZWwiLCJfcmVmOCIsIl92YXJpYXRpb24kdmFyaWF0aW9uRjIiLCJfcmVmOCRzZWxlY3RhYmxlT3B0aW8iLCJfcmVmOCRmaWVsZE9wdGlvbnMiLCJmaXJzdE9wdGlvbiIsImlzQ29sb3VyU2VsZWN0IiwiQ09MT1VSX1NFTEVDVCIsImlzSW1hZ2VTZWxlY3QiLCJJTUFHRV9TRUxFQ1QiLCJyZW5kZXJPcHRpb25MYWJlbCIsIl9vJHZhbHVlIiwiX28kb3B0aW9uSWQiLCJWYXJpYXRpb25zSW5mbyIsIl9yZWY5IiwicXVhbnRpdHkiLCJfcmVmOSR2YXJpYXRpb25zIiwidmFyaWF0aW9ucyIsInYiLCJkZXNpZ25JbnB1dHNGb3IiLCJpbnB1dHMiLCJncm91cEluZGV4IiwiaW5wdXQiLCJraW5kIiwiRGVzaWduZXJJbnB1dHNJbmZvIiwiX3JlZjAiLCJWYXJpYXRpb25Hcm91cEluZm8iLCJfcmVmMSIsImdyb3VwIiwic2hvd1NldHVwT25Vbml0UHJpY2UiLCJfdXNlTWVyY2hpQ2hlY2tib3V0Q28zIiwiam9iIiwiaXNSZXNlbGwiLCJleHRyYUlucHV0cyIsImRlc2lnbklucHV0cyIsInZpc2libGVWYXJpYXRpb25zIiwiX3YkdmFyaWF0aW9uRmllbGQiLCJjb3N0TGFiZWwiLCJ1bml0UHJpY2VWYWx1ZSIsImdyb3VwQ29zdCIsIkpvYkluZm9Db250ZW50IiwiX3VzZU1lcmNoaUNoZWNrYm91dENvNCIsIl9qb2IkcXVhbnRpdHkiLCJfam9iJHZhcmlhdGlvbnMiLCJfam9iJHZhcmlhdGlvbnNHcm91cHMiLCJ2YXJpYXRpb25zR3JvdXBzIiwiZXh0cmFKb2JJbnB1dHMiLCJuZWVkc1NoaXBwaW5nIiwiaGFzR3JvdXBzIiwiam9iTGV2ZWxWYXJpYXRpb25zIiwiX3YkdmFyaWF0aW9uRmllbGQyIiwidG90YWxRdWFudGl0eSIsImciLCJoYXNTZXR1cFByaWNlIiwibGFiZWxFeHRyYSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL0pvYkluZm9Db250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGYUZpbGVQZGYsIEZhUmVnSW1hZ2UgfSBmcm9tICdyZWFjdC1pY29ucy9mYSc7XG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSwgY3VycmVuY3lUb3RhbENvc3RTaG93SW5jVGF4IH0gZnJvbSAnLi9jdXJyZW5jeSc7XG5pbXBvcnQge1xuICBpc0luc3RydWN0aW9uc1R5cGUsXG4gIGlzUHJvZHVjdFN1cHBsaWVyTU9ELFxuICBpc1NlbGVjdGFibGUsXG4gIEZpZWxkVHlwZSxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgZXN0aW1hdGVBcmVhQ29zdHMsXG4gIGZvcm1hdEFyZWFTdW1tYXJ5LFxuICBsb2NhbGVQcmVmZXJzSW1wZXJpYWwsXG59IGZyb20gJy4uL2FyZWEnO1xuaW1wb3J0IHsgdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCB9IGZyb20gJy4vTWVyY2hpQ2hlY2tvdXRQcm92aWRlcic7XG5cbmZ1bmN0aW9uIGVtYnJvaWRlcnlTdW1tYXJ5KHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICBpZiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiAnJztcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKFN0cmluZyh2YWx1ZSkpO1xuICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmIChwYXJzZWQ/LnRleHQpIHBhcnRzLnB1c2goU3RyaW5nKHBhcnNlZC50ZXh0KSk7XG4gICAgaWYgKHBhcnNlZD8ud2lkdGhNbSAmJiBwYXJzZWQ/LmhlaWdodE1tKSB7XG4gICAgICBwYXJ0cy5wdXNoKGAke3BhcnNlZC53aWR0aE1tfSDDlyAke3BhcnNlZC5oZWlnaHRNbX0gbW1gKTtcbiAgICB9XG4gICAgY29uc3QgY291bnQgPSBBcnJheS5pc0FycmF5KHBhcnNlZD8uY29sb3VycykgPyBwYXJzZWQuY29sb3Vycy5sZW5ndGggOiAwO1xuICAgIGlmIChjb3VudCkgcGFydHMucHVzaChjb3VudCA9PT0gMSA/ICcxIGNvbG91cicgOiBgJHtjb3VudH0gY29sb3Vyc2ApO1xuICAgIHJldHVybiBwYXJ0cy5qb2luKCcgwrcgJykgfHwgU3RyaW5nKHZhbHVlKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cbn1cbmltcG9ydCB7XG4gIFN1bW1hcnlBbW91bnRSb3csXG4gIFN1bW1hcnlGaWVsZFJvdyxcbn0gZnJvbSAnLi9DaGVja291dFN1bW1hcnlGaWVsZHMnO1xuXG5mdW5jdGlvbiBmb3JtYXRDb3N0KHByb2R1Y3Q6IGFueSwgY29zdDogbnVtYmVyKSB7XG4gIGNvbnN0IGN1cnJlbmN5ID0gcHJvZHVjdC5jdXJyZW5jeSA/IHByb2R1Y3QuY3VycmVuY3kgOiAnQVVEJztcbiAgcmV0dXJuIGZvcm1hdEN1cnJlbmN5KGNvc3QsIHtcbiAgICBjdXJyZW5jeSxcbiAgICBzaG93Q29kZUlmTm9TeW1ib2w6IGZhbHNlLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VDb3N0QW1vdW50KHZhbHVlOiBhbnkpOiBudW1iZXIge1xuICBjb25zdCBhbW91bnQgPSBwYXJzZUZsb2F0KHZhbHVlKTtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShhbW91bnQpICYmIGFtb3VudCA+IDAgPyBhbW91bnQgOiAwO1xufVxuXG4vKiogTWF0Y2ggcHJvZHVjdC1mb3JtIHdvcmRpbmc6IFwiKyAkWCBvbmNlIG9mZlwiIC8gXCIrICRZIHBlciB1bml0XCIuICovXG5mdW5jdGlvbiBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gIHByb2R1Y3Q6IGFueSxcbiAgb25jZU9mZkNvc3Q6IGFueSxcbiAgdW5pdENvc3Q6IGFueVxuKSB7XG4gIGNvbnN0IGN1cnJlbmN5ID0gcHJvZHVjdD8uY3VycmVuY3kgfHwgJ0FVRCc7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBvbmNlT2ZmID0gcGFyc2VDb3N0QW1vdW50KG9uY2VPZmZDb3N0KTtcbiAgY29uc3QgdW5pdCA9IHBhcnNlQ29zdEFtb3VudCh1bml0Q29zdCk7XG4gIGlmIChvbmNlT2ZmKSB7XG4gICAgcGFydHMucHVzaChcbiAgICAgIGAgKyAke2Zvcm1hdEN1cnJlbmN5KG9uY2VPZmYsIHsgY3VycmVuY3ksIHNob3dDb2RlSWZOb1N5bWJvbDogZmFsc2UgfSl9IG9uY2Ugb2ZmYFxuICAgICk7XG4gIH1cbiAgaWYgKHVuaXQpIHtcbiAgICBwYXJ0cy5wdXNoKFxuICAgICAgYCArICR7Zm9ybWF0Q3VycmVuY3kodW5pdCwgeyBjdXJyZW5jeSwgc2hvd0NvZGVJZk5vU3ltYm9sOiBmYWxzZSB9KX0gcGVyIHVuaXRgXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcGFydHMuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIG9wdGlvbk9uY2VPZmYob3B0aW9uOiBhbnkpOiBudW1iZXIge1xuICByZXR1cm4gKFxuICAgIHBhcnNlQ29zdEFtb3VudChvcHRpb24/Lm9uY2VPZmZDb3N0KSB8fFxuICAgIHBhcnNlQ29zdEFtb3VudChvcHRpb24/LnZhcmlhdGlvbkNvc3QpIHx8XG4gICAgMFxuICApO1xufVxuXG5mdW5jdGlvbiBvcHRpb25Vbml0KG9wdGlvbjogYW55KTogbnVtYmVyIHtcbiAgcmV0dXJuIChcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy51bml0Q29zdCkgfHxcbiAgICBwYXJzZUNvc3RBbW91bnQob3B0aW9uPy52YXJpYXRpb25Vbml0Q29zdCkgfHxcbiAgICAwXG4gICk7XG59XG5cbi8qKiBQcm9kdWN0IHNldHVwIGZlZSBzaG93biBuZXh0IHRvIHVuaXQgcHJpY2UsIG1hdGNoaW5nIHByb2R1Y3QtZm9ybSB3b3JkaW5nLiAqL1xuZnVuY3Rpb24gcHJvZHVjdFNldHVwU3VmZml4KHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBzZXR1cFByaWNlID0gTnVtYmVyKHByb2R1Y3Q/LnNldHVwUHJpY2UpO1xuICBpZiAoIXNldHVwUHJpY2UpIHJldHVybiAnJztcbiAgY29uc3QgbGFiZWwgPSBwcm9kdWN0LnNldHVwUGVyR3JvdXAgPyAnc2V0dXAgcGVyIGdyb3VwJyA6ICdzZXR1cCc7XG4gIHJldHVybiBgICsgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIHNldHVwUHJpY2UpfSAke2xhYmVsfWA7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFVuaXRQcmljZVdpdGhTZXR1cChwcm9kdWN0OiBhbnkpIHtcbiAgcmV0dXJuIGAke2Zvcm1hdENvc3QocHJvZHVjdCwgTnVtYmVyKHByb2R1Y3Q/LnVuaXRQcmljZSkgfHwgMCl9JHtwcm9kdWN0U2V0dXBTdWZmaXgocHJvZHVjdCl9YDtcbn1cblxuZnVuY3Rpb24gaXNQZGYoZmlsZTogYW55KSB7XG4gIGNvbnN0IG1pbWV0eXBlID0gZmlsZT8ubWltZXR5cGUgfHwgJyc7XG4gIHJldHVybiBtaW1ldHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3BkZicgfHwgbWltZXR5cGUgPT09ICdhcHBsaWNhdGlvbi94LXBkZic7XG59XG5cbmZ1bmN0aW9uIGlzSW1hZ2VGaWxlKGZpbGU6IGFueSkge1xuICBjb25zdCBtaW1ldHlwZSA9IGZpbGU/Lm1pbWV0eXBlIHx8ICcnO1xuICBpZiAobWltZXR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHJldHVybiB0cnVlO1xuICBjb25zdCBuYW1lID0gKGZpbGU/Lm5hbWUgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiAvXFwuKGpwZT9nfHBuZ3xnaWZ8d2VicHxzdmd8Ym1wKSQvLnRlc3QobmFtZSk7XG59XG5cbmZ1bmN0aW9uIGFic29sdXRpemVGaWxlVXJsKHJhdzogc3RyaW5nLCB1cmxBcGk/OiBzdHJpbmcpIHtcbiAgY29uc3QgdXJsID0gKHJhdyB8fCAnJykudHJpbSgpO1xuICBpZiAoIXVybCB8fCB1cmwgPT09ICd1bmRlZmluZWQnIHx8IHVybCA9PT0gJ251bGwnKSByZXR1cm4gJyc7XG4gIGlmICgvXihodHRwcz86fGJsb2I6fGRhdGE6KS9pLnRlc3QodXJsKSkgcmV0dXJuIHVybDtcbiAgaWYgKCF1cmxBcGkpIHJldHVybiB1cmw7XG4gIHRyeSB7XG4gICAgY29uc3QgYmFzZSA9IG5ldyBVUkwodXJsQXBpKTtcbiAgICByZXR1cm4gbmV3IFVSTCh1cmwsIGAke2Jhc2Uub3JpZ2lufS9gKS5ocmVmO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVGaWxlVXJsKGZpbGU6IGFueSwgdXJsQXBpPzogc3RyaW5nKSB7XG4gIHJldHVybiBhYnNvbHV0aXplRmlsZVVybChcbiAgICBmaWxlPy52aWV3VXJsIHx8IGZpbGU/LmRvd25sb2FkVXJsIHx8ICcnLFxuICAgIHVybEFwaVxuICApO1xufVxuXG5mdW5jdGlvbiBvcHRpb25JbWFnZVVybChvcHRpb246IGFueSwgdXJsQXBpPzogc3RyaW5nKSB7XG4gIHJldHVybiBhYnNvbHV0aXplRmlsZVVybChcbiAgICBvcHRpb24/LmxpbmtlZEZpbGU/LnZpZXdVcmwgfHwgb3B0aW9uPy5saW5rZWRGaWxlPy5kb3dubG9hZFVybCB8fCAnJyxcbiAgICB1cmxBcGlcbiAgKTtcbn1cblxuZnVuY3Rpb24gZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbjogYW55LCBvcHRpb25zOiBhbnlbXSA9IFtdKSB7XG4gIHJldHVybiBvcHRpb25zLmZpbmQoKG8pID0+IFN0cmluZyhvLm9wdGlvbklkKSA9PT0gU3RyaW5nKG9wdGlvbj8ub3B0aW9uSWQpKTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU9wdGlvbkNvbG91cihcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbikge1xuICBjb25zdCBkaXJlY3QgPSBvcHRpb24/LmNvbG91cj8udHJpbSgpO1xuICBpZiAoZGlyZWN0KSByZXR1cm4gZGlyZWN0O1xuICBjb25zdCBmcm9tU2VsZWN0YWJsZSA9IGZpbmRNYXRjaGluZ09wdGlvbihvcHRpb24sIHNlbGVjdGFibGVPcHRpb25zKT8uY29sb3VyPy50cmltKCk7XG4gIGlmIChmcm9tU2VsZWN0YWJsZSkgcmV0dXJuIGZyb21TZWxlY3RhYmxlO1xuICByZXR1cm4gZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbiwgZmllbGRPcHRpb25zKT8uY29sb3VyPy50cmltKCkgfHwgJyc7XG59XG5cbmZ1bmN0aW9uIHJlc29sdmVPcHRpb25JbWFnZVVybChcbiAgb3B0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW10sXG4gIHVybEFwaT86IHN0cmluZ1xuKSB7XG4gIGNvbnN0IGRpcmVjdCA9IG9wdGlvbkltYWdlVXJsKG9wdGlvbiwgdXJsQXBpKTtcbiAgaWYgKGRpcmVjdCkgcmV0dXJuIGRpcmVjdDtcbiAgY29uc3QgZnJvbVNlbGVjdGFibGUgPSBvcHRpb25JbWFnZVVybChcbiAgICBmaW5kTWF0Y2hpbmdPcHRpb24ob3B0aW9uLCBzZWxlY3RhYmxlT3B0aW9ucyksXG4gICAgdXJsQXBpXG4gICk7XG4gIGlmIChmcm9tU2VsZWN0YWJsZSkgcmV0dXJuIGZyb21TZWxlY3RhYmxlO1xuICByZXR1cm4gb3B0aW9uSW1hZ2VVcmwoZmluZE1hdGNoaW5nT3B0aW9uKG9wdGlvbiwgZmllbGRPcHRpb25zKSwgdXJsQXBpKTtcbn1cblxuZnVuY3Rpb24gZm9ybWF0T3B0aW9uQ29zdChcbiAgcHJvZHVjdDogYW55LFxuICBvcHRpb246IGFueSxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlOiBib29sZWFuXG4pIHtcbiAgaWYgKHNlbGxlclByb2R1Y3RFZGl0YWJsZSB8fCAhb3B0aW9uKSByZXR1cm4gbnVsbDtcbiAgY29uc3Qgb25jZU9mZlVuaXQgPSBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgcHJvZHVjdCxcbiAgICBvcHRpb25PbmNlT2ZmKG9wdGlvbiksXG4gICAgb3B0aW9uVW5pdChvcHRpb24pXG4gICk7XG4gIGlmIChvbmNlT2ZmVW5pdCkgcmV0dXJuIG9uY2VPZmZVbml0O1xuICBpZiAob3B0aW9uLnRvdGFsQ29zdCkge1xuICAgIHJldHVybiBgICsgJHtmb3JtYXRDb3N0KHByb2R1Y3QsIG9wdGlvbi50b3RhbENvc3QpfWA7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIHZhcmlhdGlvbkNvc3REZXRhaWwoXG4gIHByb2R1Y3Q6IGFueSxcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZTogYm9vbGVhbixcbiAge1xuICAgIGluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzID0gdHJ1ZSxcbiAgICBmaWVsZENvc3RzT25seSA9IGZhbHNlLFxuICB9OiB7XG4gICAgaW5jbHVkZVNlbGVjdGVkT3B0aW9uQ29zdHM/OiBib29sZWFuO1xuICAgIGZpZWxkQ29zdHNPbmx5PzogYm9vbGVhbjtcbiAgfSA9IHt9XG4pIHtcbiAgaWYgKHNlbGxlclByb2R1Y3RFZGl0YWJsZSkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IGZpZWxkID0gdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZCB8fCB7fTtcbiAgY29uc3QgZmllbGRUeXBlID0gTnVtYmVyKGZpZWxkLmZpZWxkVHlwZSk7XG5cbiAgaWYgKGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkFSRUEpIHtcbiAgICBjb25zdCBhcmVhQ29zdHMgPSBlc3RpbWF0ZUFyZWFDb3N0cyhmaWVsZCwgdmFyaWF0aW9uPy52YWx1ZSk7XG4gICAgaWYgKGFyZWFDb3N0cykge1xuICAgICAgcmV0dXJuIGZvcm1hdE9uY2VPZmZVbml0Q29zdERldGFpbChcbiAgICAgICAgcHJvZHVjdCxcbiAgICAgICAgYXJlYUNvc3RzLm9uY2VPZmZDb3N0LFxuICAgICAgICBhcmVhQ29zdHMudW5pdENvc3RcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGZpZWxkQ29zdHNPbmx5KSB7XG4gICAgcmV0dXJuIGZvcm1hdE9uY2VPZmZVbml0Q29zdERldGFpbChcbiAgICAgIHByb2R1Y3QsXG4gICAgICBmaWVsZC52YXJpYXRpb25Db3N0LFxuICAgICAgZmllbGQudmFyaWF0aW9uVW5pdENvc3RcbiAgICApO1xuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWQgPSBBcnJheS5pc0FycmF5KHZhcmlhdGlvbj8uc2VsZWN0ZWRPcHRpb25zKVxuICAgID8gdmFyaWF0aW9uLnNlbGVjdGVkT3B0aW9uc1xuICAgIDogW107XG4gIGlmIChpbmNsdWRlU2VsZWN0ZWRPcHRpb25Db3N0cyAmJiBzZWxlY3RlZC5sZW5ndGgpIHtcbiAgICBjb25zdCBmaWVsZE9uY2UgPVxuICAgICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1RcbiAgICAgICAgPyBwYXJzZUNvc3RBbW91bnQoZmllbGQudmFyaWF0aW9uQ29zdClcbiAgICAgICAgOiAwO1xuICAgIGNvbnN0IGZpZWxkVW5pdCA9XG4gICAgICBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVFxuICAgICAgICA/IHBhcnNlQ29zdEFtb3VudChmaWVsZC52YXJpYXRpb25Vbml0Q29zdClcbiAgICAgICAgOiAwO1xuICAgIHJldHVybiBmb3JtYXRPbmNlT2ZmVW5pdENvc3REZXRhaWwoXG4gICAgICBwcm9kdWN0LFxuICAgICAgZmllbGRPbmNlICtcbiAgICAgICAgc2VsZWN0ZWQucmVkdWNlKFxuICAgICAgICAgIChzdW06IG51bWJlciwgb3B0aW9uOiBhbnkpID0+IHN1bSArIG9wdGlvbk9uY2VPZmYob3B0aW9uKSxcbiAgICAgICAgICAwXG4gICAgICAgICksXG4gICAgICBmaWVsZFVuaXQgK1xuICAgICAgICBzZWxlY3RlZC5yZWR1Y2UoXG4gICAgICAgICAgKHN1bTogbnVtYmVyLCBvcHRpb246IGFueSkgPT4gc3VtICsgb3B0aW9uVW5pdChvcHRpb24pLFxuICAgICAgICAgIDBcbiAgICAgICAgKVxuICAgICk7XG4gIH1cblxuICBjb25zdCBvbmNlT2ZmVW5pdCA9IGZvcm1hdE9uY2VPZmZVbml0Q29zdERldGFpbChcbiAgICBwcm9kdWN0LFxuICAgIHZhcmlhdGlvbj8ub25jZU9mZkNvc3QgPz8gZmllbGQudmFyaWF0aW9uQ29zdCxcbiAgICB2YXJpYXRpb24/LnVuaXRDb3N0ID8/IGZpZWxkLnZhcmlhdGlvblVuaXRDb3N0XG4gICk7XG4gIGlmIChvbmNlT2ZmVW5pdCkgcmV0dXJuIG9uY2VPZmZVbml0O1xuICBpZiAodmFyaWF0aW9uPy5jb3N0KSB7XG4gICAgcmV0dXJuIGAgKyAke2Zvcm1hdENvc3QocHJvZHVjdCwgdmFyaWF0aW9uLmNvc3QpfWA7XG4gIH1cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25GaWxlUHJldmlldyh7XG4gIGZpbGUsXG4gIHVybEFwaSxcbn06IHtcbiAgZmlsZTogYW55O1xuICB1cmxBcGk/OiBzdHJpbmc7XG59KSB7XG4gIGNvbnN0IGZpbGVVcmwgPSByZXNvbHZlRmlsZVVybChmaWxlLCB1cmxBcGkpO1xuICBjb25zdCBmaWxlTmFtZSA9IGZpbGU/Lm5hbWUgfHwgJ0ZpbGUnO1xuICBjb25zdCBbaW1hZ2VGYWlsZWQsIHNldEltYWdlRmFpbGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBpZiAoaXNQZGYoZmlsZSkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGFcbiAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLWxpbmsnXG4gICAgICAgIGhyZWY9e2ZpbGVVcmwgfHwgdW5kZWZpbmVkfVxuICAgICAgICB0YXJnZXQ9J19ibGFuaydcbiAgICAgICAgcmVsPSdub29wZW5lciBub3JlZmVycmVyJ1xuICAgICAgICB0aXRsZT17ZmlsZU5hbWV9XG4gICAgICA+XG4gICAgICAgIDxGYUZpbGVQZGYgYXJpYS1oaWRkZW4gLz5cbiAgICAgICAgPHNwYW4+e2ZpbGVOYW1lfTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICApO1xuICB9XG5cbiAgaWYgKGlzSW1hZ2VGaWxlKGZpbGUpICYmIGZpbGVVcmwgJiYgIWltYWdlRmFpbGVkKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxpbWdcbiAgICAgICAgY2xhc3NOYW1lPSdtb2RhbC1tZXJjaGktY2hlY2tvdXQtam9iLWluZm8tY29udGVudC1pbWcnXG4gICAgICAgIHNyYz17ZmlsZVVybH1cbiAgICAgICAgYWx0PXtmaWxlTmFtZX1cbiAgICAgICAgdGl0bGU9e2ZpbGVOYW1lfVxuICAgICAgICBvbkVycm9yPXsoKSA9PiBzZXRJbWFnZUZhaWxlZCh0cnVlKX1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChpc0ltYWdlRmlsZShmaWxlKSkge1xuICAgIHJldHVybiAoXG4gICAgICA8c3BhblxuICAgICAgICBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWZpbGUtZmFsbGJhY2snXG4gICAgICAgIHRpdGxlPXtmaWxlTmFtZX1cbiAgICAgID5cbiAgICAgICAgPEZhUmVnSW1hZ2UgYXJpYS1oaWRkZW4gLz5cbiAgICAgICAgPHNwYW4+e2ZpbGVOYW1lfTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICApO1xuICB9XG5cbiAgaWYgKGZpbGVVcmwpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGFcbiAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1maWxlLWxpbmsnXG4gICAgICAgIGhyZWY9e2ZpbGVVcmx9XG4gICAgICAgIHRhcmdldD0nX2JsYW5rJ1xuICAgICAgICByZWw9J25vb3BlbmVyIG5vcmVmZXJyZXInXG4gICAgICAgIHRpdGxlPXtmaWxlTmFtZX1cbiAgICAgID5cbiAgICAgICAge2ZpbGVOYW1lfVxuICAgICAgPC9hPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPHNwYW4+e2ZpbGVOYW1lfTwvc3Bhbj47XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkluZm9Cb2R5KHtcbiAgY29zdERldGFpbCxcbiAgbmFtZSxcbiAgcHJvZHVjdCxcbiAgdmFsdWUsXG4gIGZpbGVzLFxuICB0eXBlLFxuICB1cmxBcGksXG59OiBhbnkpIHtcbiAgY29uc3QgaXNDb2xvdXJQaWNrZXIgPSB0eXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX1BJQ0tFUjtcbiAgY29uc3QgaXNGaWxlVXBsb2FkID1cbiAgICB0eXBlID09PSBGaWVsZFR5cGUuRklMRV9VUExPQUQgfHwgdHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUO1xuICBjb25zdCBoYXNGaWxlcyA9IEJvb2xlYW4oZmlsZXM/Lmxlbmd0aCk7XG4gIGNvbnN0IGRpc3BsYXlWYWx1ZSA9IGlzQ29sb3VyUGlja2VyIHx8IChpc0ZpbGVVcGxvYWQgJiYgaGFzRmlsZXMpID8gbnVsbCA6IHZhbHVlO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1yb3cnPlxuICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1sYWJlbCc+e25hbWV9PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXZhbHVlJz5cbiAgICAgICAge2hhc0ZpbGVzICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktZmlsZS1wcmV2aWV3cyc+XG4gICAgICAgICAgICB7ZmlsZXMubWFwKChmaWxlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IChcbiAgICAgICAgICAgICAgPFZhcmlhdGlvbkZpbGVQcmV2aWV3XG4gICAgICAgICAgICAgICAga2V5PXtmaWxlLnZpZXdVcmwgfHwgZmlsZS5pZCB8fCBgJHtuYW1lfS1maWxlLSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgICBmaWxlPXtmaWxlfVxuICAgICAgICAgICAgICAgIHVybEFwaT17dXJsQXBpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtpc0NvbG91clBpY2tlciAmJiB2YWx1ZSAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWNvbG91ci12YWx1ZSc+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHZhbHVlIH19XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sb3ItaW5kaWNhdG9yJ1xuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxzcGFuPnt2YWx1ZX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtkaXNwbGF5VmFsdWUgJiYgZGlzcGxheVZhbHVlfVxuICAgICAgICB7Y29zdERldGFpbCB8fCAnJ31cbiAgICAgICAgeyFoYXNGaWxlcyAmJiAhdmFsdWUgJiYgIWNvc3REZXRhaWwgJiYgJy0nfVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbkluZm8oeyBwcm9kdWN0LCB2YXJpYXRpb24gfTogYW55KSB7XG4gIGNvbnN0IHsgdXJsQXBpIH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG4gIGNvbnN0IHsgdmFyaWF0aW9uRmllbGQsIHZhcmlhdGlvbkZpbGVzLCBzZWxlY3RhYmxlT3B0aW9ucyB9ID0gdmFyaWF0aW9uO1xuICBjb25zdCB7IGZpZWxkVHlwZSwgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLCBvcHRpb25zOiBmaWVsZE9wdGlvbnMgPSBbXSB9ID1cbiAgICB2YXJpYXRpb25GaWVsZDtcbiAgY29uc3QgaXNWYXJpYXRpb25TZWxlY3RhYmxlID0gaXNTZWxlY3RhYmxlKGZpZWxkVHlwZSk7XG4gIGNvbnN0IGlzVHVybmFyb3VuZFRpbWUgPSBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5UVVJOQVJPVU5EX1RJTUU7XG4gIGNvbnN0IGlzQ29sb3VyRXh0cmFjdCA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUO1xuICBjb25zdCBvcHRpb25zID0gcmVzb2x2ZVNlbGVjdGFibGVTZWxlY3RlZE9wdGlvbnMoXG4gICAgdmFyaWF0aW9uLFxuICAgIHNlbGVjdGFibGVPcHRpb25zLFxuICAgIGZpZWxkT3B0aW9uc1xuICApO1xuICBjb25zdCB1c2VTZWxlY3RhYmxlRGlzcGxheSA9XG4gICAgaXNWYXJpYXRpb25TZWxlY3RhYmxlICYmXG4gICAgKEJvb2xlYW4ob3B0aW9ucz8ubGVuZ3RoKSB8fCAoaXNUdXJuYXJvdW5kVGltZSAmJiB2YXJpYXRpb24udmFsdWUpKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uJz5cbiAgICAgIHtpc0NvbG91ckV4dHJhY3QgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPFZhcmlhdGlvbkluZm9Cb2R5XG4gICAgICAgICAgICBuYW1lPXt2YXJpYXRpb25GaWVsZC5uYW1lfVxuICAgICAgICAgICAgdHlwZT17ZmllbGRUeXBlfVxuICAgICAgICAgICAgdmFsdWU9e251bGx9XG4gICAgICAgICAgICBmaWxlcz17dmFyaWF0aW9uRmlsZXN9XG4gICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgICAgdXJsQXBpPXt1cmxBcGl9XG4gICAgICAgICAgICBjb3N0RGV0YWlsPXt2YXJpYXRpb25Db3N0RGV0YWlsKFxuICAgICAgICAgICAgICBwcm9kdWN0LFxuICAgICAgICAgICAgICB2YXJpYXRpb24sXG4gICAgICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZSxcbiAgICAgICAgICAgICAgLy8gT3B0aW9ucyBsaXN0IHNob3dzIGVhY2ggY29sb3VyIGNvc3Q7IGtlZXAgZmllbGQgYmFzZSBjb3N0IGhlcmUuXG4gICAgICAgICAgICAgIG9wdGlvbnM/Lmxlbmd0aFxuICAgICAgICAgICAgICAgID8geyBmaWVsZENvc3RzT25seTogdHJ1ZSB9XG4gICAgICAgICAgICAgICAgOiB7IGluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzOiBmYWxzZSB9XG4gICAgICAgICAgICApfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge29wdGlvbnM/Lmxlbmd0aCA/IChcbiAgICAgICAgICAgIDxWYXJpYXRpb25PcHRpb25zSW5mb0JvZHlcbiAgICAgICAgICAgICAgbmFtZT17YCR7dmFyaWF0aW9uRmllbGQubmFtZX0gY29sb3Vyc2B9XG4gICAgICAgICAgICAgIGZpZWxkVHlwZT17ZmllbGRUeXBlfVxuICAgICAgICAgICAgICB2YWx1ZT17dmFyaWF0aW9uLnZhbHVlfVxuICAgICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgICAgICBzZWxlY3RlZE9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgICAgIHZhcmlhdGlvbj17dmFyaWF0aW9ufVxuICAgICAgICAgICAgICBzZWxlY3RhYmxlT3B0aW9ucz17c2VsZWN0YWJsZU9wdGlvbnN9XG4gICAgICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxuICAgICAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGU9e3NlbGxlclByb2R1Y3RFZGl0YWJsZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvPlxuICAgICAgKSA6IHVzZVNlbGVjdGFibGVEaXNwbGF5ID8gKFxuICAgICAgICA8VmFyaWF0aW9uT3B0aW9uc0luZm9Cb2R5XG4gICAgICAgICAgbmFtZT17dmFyaWF0aW9uRmllbGQubmFtZX1cbiAgICAgICAgICBmaWVsZFR5cGU9e2ZpZWxkVHlwZX1cbiAgICAgICAgICB2YWx1ZT17dmFyaWF0aW9uLnZhbHVlfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgZmlsZXM9e3ZhcmlhdGlvbkZpbGVzfVxuICAgICAgICAgIHNlbGVjdGVkT3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICB2YXJpYXRpb249e3ZhcmlhdGlvbn1cbiAgICAgICAgICBzZWxlY3RhYmxlT3B0aW9ucz17c2VsZWN0YWJsZU9wdGlvbnN9XG4gICAgICAgICAgZmllbGRPcHRpb25zPXtmaWVsZE9wdGlvbnN9XG4gICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlPXtzZWxsZXJQcm9kdWN0RWRpdGFibGV9XG4gICAgICAgIC8+XG4gICAgICApIDogKFxuICAgICAgICA8VmFyaWF0aW9uSW5mb0JvZHlcbiAgICAgICAgICBuYW1lPXt2YXJpYXRpb25GaWVsZC5uYW1lfVxuICAgICAgICAgIHR5cGU9e3ZhcmlhdGlvbkZpZWxkLmZpZWxkVHlwZX1cbiAgICAgICAgICB2YWx1ZT17XG4gICAgICAgICAgICBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5BUkVBICYmIHZhcmlhdGlvbi52YWx1ZVxuICAgICAgICAgICAgICA/IGZvcm1hdEFyZWFTdW1tYXJ5KFxuICAgICAgICAgICAgICAgICAgdmFyaWF0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgbG9jYWxlUHJlZmVyc0ltcGVyaWFsKCkgPyAnaW1wZXJpYWwnIDogJ21ldHJpYycsXG4gICAgICAgICAgICAgICAgICB2YXJpYXRpb25GaWVsZC5hcmVhVW5pdCB8fCAnbW0nXG4gICAgICAgICAgICAgICAgKSB8fCB2YXJpYXRpb24udmFsdWVcbiAgICAgICAgICAgICAgOiBmaWVsZFR5cGUgPT09IEZpZWxkVHlwZS5FTUJST0lERVJZXG4gICAgICAgICAgICAgICAgPyBlbWJyb2lkZXJ5U3VtbWFyeSh2YXJpYXRpb24udmFsdWUpXG4gICAgICAgICAgICAgICAgOiB2YXJpYXRpb24udmFsdWVcbiAgICAgICAgICB9XG4gICAgICAgICAgZmlsZXM9e3ZhcmlhdGlvbkZpbGVzfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgdXJsQXBpPXt1cmxBcGl9XG4gICAgICAgICAgY29zdERldGFpbD17dmFyaWF0aW9uQ29zdERldGFpbChcbiAgICAgICAgICAgIHByb2R1Y3QsXG4gICAgICAgICAgICB2YXJpYXRpb24sXG4gICAgICAgICAgICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG4gICAgICAgICAgICB7IGluY2x1ZGVTZWxlY3RlZE9wdGlvbkNvc3RzOiBmYWxzZSB9XG4gICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIENvbG91clNlbGVjdE9wdGlvbih7XG4gIG9wdGlvbixcbiAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gIGZpZWxkT3B0aW9ucyxcbiAgcHJvZHVjdCxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxufToge1xuICBvcHRpb246IGFueTtcbiAgc2VsZWN0YWJsZU9wdGlvbnM/OiBhbnlbXTtcbiAgZmllbGRPcHRpb25zPzogYW55W107XG4gIHByb2R1Y3Q/OiBhbnk7XG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZT86IGJvb2xlYW47XG59KSB7XG4gIGNvbnN0IGxhYmVsID0gb3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICcnO1xuICBjb25zdCBoZXggPSByZXNvbHZlT3B0aW9uQ29sb3VyKG9wdGlvbiwgc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9ucyk7XG4gIGNvbnN0IGNvc3QgPSBmb3JtYXRPcHRpb25Db3N0KFxuICAgIHByb2R1Y3QsXG4gICAgb3B0aW9uLFxuICAgIEJvb2xlYW4oc2VsbGVyUHJvZHVjdEVkaXRhYmxlKVxuICApO1xuICByZXR1cm4gKFxuICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktY29sb3VyLW9wdGlvbic+XG4gICAgICB7aGV4ICYmIChcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IGhleCB9fVxuICAgICAgICAgIGNsYXNzTmFtZT0nY29sb3ItaW5kaWNhdG9yJ1xuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIDxzcGFuPlxuICAgICAgICB7bGFiZWwgfHwgaGV4IHx8ICfigJMnfVxuICAgICAgICB7Y29zdCB8fCAnJ31cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEltYWdlU2VsZWN0T3B0aW9uKHtcbiAgb3B0aW9uLFxuICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgZmllbGRPcHRpb25zLFxuICBwcm9kdWN0LFxuICBzZWxsZXJQcm9kdWN0RWRpdGFibGUsXG59OiB7XG4gIG9wdGlvbjogYW55O1xuICBzZWxlY3RhYmxlT3B0aW9ucz86IGFueVtdO1xuICBmaWVsZE9wdGlvbnM/OiBhbnlbXTtcbiAgcHJvZHVjdDogYW55O1xuICBzZWxsZXJQcm9kdWN0RWRpdGFibGU6IGJvb2xlYW47XG59KSB7XG4gIGNvbnN0IHsgdXJsQXBpIH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG4gIGNvbnN0IGltYWdlVXJsID0gcmVzb2x2ZU9wdGlvbkltYWdlVXJsKFxuICAgIG9wdGlvbixcbiAgICBzZWxlY3RhYmxlT3B0aW9ucyxcbiAgICBmaWVsZE9wdGlvbnMsXG4gICAgdXJsQXBpXG4gICk7XG4gIGNvbnN0IGxhYmVsID0gb3B0aW9uPy52YWx1ZT8udHJpbSgpIHx8ICcnO1xuICBjb25zdCBjb3N0ID0gZm9ybWF0T3B0aW9uQ29zdChwcm9kdWN0LCBvcHRpb24sIHNlbGxlclByb2R1Y3RFZGl0YWJsZSk7XG4gIGNvbnN0IFtpbWFnZUZhaWxlZCwgc2V0SW1hZ2VGYWlsZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPHNwYW4gY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1pbWFnZS1zZWxlY3Qtb3B0aW9uJz5cbiAgICAgIHtpbWFnZVVybCAmJiAhaW1hZ2VGYWlsZWQgPyAoXG4gICAgICAgIDxpbWdcbiAgICAgICAgICBjbGFzc05hbWU9J21vZGFsLW1lcmNoaS1jaGVja291dC1qb2ItaW5mby1jb250ZW50LWltZydcbiAgICAgICAgICBzcmM9e2ltYWdlVXJsfVxuICAgICAgICAgIGFsdD17bGFiZWwgfHwgJ1NlbGVjdGVkIG9wdGlvbid9XG4gICAgICAgICAgdGl0bGU9e2xhYmVsIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICBvbkVycm9yPXsoKSA9PiBzZXRJbWFnZUZhaWxlZCh0cnVlKX1cbiAgICAgICAgLz5cbiAgICAgICkgOiBudWxsfVxuICAgICAgPHNwYW4+XG4gICAgICAgIHtsYWJlbCB8fCAn4oCTJ31cbiAgICAgICAge2Nvc3QgfHwgJyd9XG4gICAgICA8L3NwYW4+XG4gICAgPC9zcGFuPlxuICApO1xufVxuXG5mdW5jdGlvbiBnZXRPcHRpb25JZChvcHRpb246IGFueSkge1xuICByZXR1cm4gb3B0aW9uPy5vcHRpb25JZCA/PyBvcHRpb24/LmlkO1xufVxuXG5mdW5jdGlvbiBzcGxpdFNlbGVjdGVkT3B0aW9uSWRzKHZhbHVlOiBhbnkpOiBzdHJpbmdbXSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5tYXAoU3RyaW5nKS5maWx0ZXIoQm9vbGVhbik7XG4gIH1cbiAgaWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT09ICcnKSByZXR1cm4gW107XG4gIHJldHVybiBTdHJpbmcodmFsdWUpXG4gICAgLnNwbGl0KCcsJylcbiAgICAubWFwKChwYXJ0KSA9PiBwYXJ0LnRyaW0oKSlcbiAgICAuZmlsdGVyKEJvb2xlYW4pO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlU2VsZWN0YWJsZVNlbGVjdGVkT3B0aW9ucyhcbiAgdmFyaWF0aW9uOiBhbnksXG4gIHNlbGVjdGFibGVPcHRpb25zOiBhbnlbXSA9IFtdLFxuICBmaWVsZE9wdGlvbnM6IGFueVtdID0gW11cbik6IGFueVtdIHtcbiAgY29uc3QgZmllbGRUeXBlID0gdmFyaWF0aW9uPy52YXJpYXRpb25GaWVsZD8uZmllbGRUeXBlO1xuICBpZiAoZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1QpIHtcbiAgICByZXR1cm4gdmFyaWF0aW9uPy5zZWxlY3RlZE9wdGlvbnMgfHwgW107XG4gIH1cblxuICBjb25zdCBzZWxlY3RlZElkcyA9IHNwbGl0U2VsZWN0ZWRPcHRpb25JZHModmFyaWF0aW9uPy52YWx1ZSk7XG4gIGlmIChzZWxlY3RlZElkcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3QgcG9vbHMgPSBbc2VsZWN0YWJsZU9wdGlvbnMsIGZpZWxkT3B0aW9uc107XG4gICAgY29uc3QgcmVzb2x2ZWQ6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCBpZCBvZiBzZWxlY3RlZElkcykge1xuICAgICAgZm9yIChjb25zdCBwb29sIG9mIHBvb2xzKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gcG9vbC5maW5kKChvcHRpb246IGFueSkgPT4gU3RyaW5nKGdldE9wdGlvbklkKG9wdGlvbikpID09PSBpZCk7XG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgIHJlc29sdmVkLnB1c2gobWF0Y2gpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyZXNvbHZlZC5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhcmlhdGlvbj8uc2VsZWN0ZWRPcHRpb25zIHx8IFtdO1xufVxuXG5mdW5jdGlvbiByZXNvbHZlVHVybmFyb3VuZFNlbGVjdGVkT3B0aW9uKFxuICB2YXJpYXRpb246IGFueSxcbiAgc2VsZWN0YWJsZU9wdGlvbnM6IGFueVtdID0gW10sXG4gIGZpZWxkT3B0aW9uczogYW55W10gPSBbXVxuKSB7XG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZVNlbGVjdGFibGVTZWxlY3RlZE9wdGlvbnMoXG4gICAgdmFyaWF0aW9uLFxuICAgIHNlbGVjdGFibGVPcHRpb25zLFxuICAgIGZpZWxkT3B0aW9uc1xuICApO1xuICBpZiAocmVzb2x2ZWQubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiByZXNvbHZlZFswXTtcbiAgfVxuXG4gIGNvbnN0IHZhbHVlU3RyID1cbiAgICB2YXJpYXRpb24/LnZhbHVlICE9IG51bGwgJiYgdmFyaWF0aW9uPy52YWx1ZSAhPT0gJydcbiAgICAgID8gU3RyaW5nKHZhcmlhdGlvbi52YWx1ZSkudHJpbSgpXG4gICAgICA6ICcnO1xuICBpZiAoIXZhbHVlU3RyKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBwb29scyA9IFtzZWxlY3RhYmxlT3B0aW9ucywgZmllbGRPcHRpb25zXTtcbiAgZm9yIChjb25zdCBwb29sIG9mIHBvb2xzKSB7XG4gICAgY29uc3QgYnlWYWx1ZSA9IHBvb2wuZmluZChcbiAgICAgIChvcHRpb246IGFueSkgPT4gU3RyaW5nKG9wdGlvbi52YWx1ZSA/PyAnJykgPT09IHZhbHVlU3RyXG4gICAgKTtcbiAgICBpZiAoYnlWYWx1ZSkgcmV0dXJuIGJ5VmFsdWU7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFR1cm5hcm91bmREZWFkbGluZSh1c2VyRGVhZGxpbmU6IGFueSkge1xuICBpZiAoIXVzZXJEZWFkbGluZSkgcmV0dXJuIG51bGw7XG4gIGNvbnN0IHNlY29uZHMgPSBOdW1iZXIodXNlckRlYWRsaW5lKTtcbiAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoc2Vjb25kcykgfHwgc2Vjb25kcyA8PSAwKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIG5ldyBEYXRlKHNlY29uZHMgKiAxMDAwKS50b0xvY2FsZURhdGVTdHJpbmcoJ2VuLUFVJywge1xuICAgIHdlZWtkYXk6ICdsb25nJyxcbiAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgbW9udGg6ICdsb25nJyxcbiAgICBkYXk6ICdudW1lcmljJyxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIFR1cm5hcm91bmRPcHRpb25MYWJlbCh7XG4gIG9wdGlvbixcbiAgdmFyaWF0aW9uRmllbGQsXG4gIHByb2R1Y3QsXG4gIHNlbGxlclByb2R1Y3RFZGl0YWJsZSxcbn06IHtcbiAgb3B0aW9uOiBhbnk7XG4gIHZhcmlhdGlvbkZpZWxkOiBhbnk7XG4gIHByb2R1Y3Q6IGFueTtcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlOiBib29sZWFuO1xufSkge1xuICBjb25zdCBkYXlzID0gcGFyc2VJbnQoU3RyaW5nKG9wdGlvbj8udmFsdWUgPz8gJycpLCAxMCkgfHwgMDtcbiAgY29uc3QgZGVhZGxpbmUgPSBmb3JtYXRUdXJuYXJvdW5kRGVhZGxpbmUob3B0aW9uPy51c2VyRGVhZGxpbmUpO1xuICBjb25zdCBzaGlwcGluZ1RpbWVJbmNsdWRlZCA9IEJvb2xlYW4odmFyaWF0aW9uRmllbGQ/LnNoaXBwaW5nVGltZUluY2x1ZGVkKTtcbiAgY29uc3QgZGVhZGxpbmVMYWJlbCA9IHNoaXBwaW5nVGltZUluY2x1ZGVkID8gJ0RlbGl2ZXJ5IGJ5JyA6ICdQcm9kdWNlZCBieSc7XG4gIGNvbnN0IGNvc3QgPSBmb3JtYXRPcHRpb25Db3N0KHByb2R1Y3QsIG9wdGlvbiwgc2VsbGVyUHJvZHVjdEVkaXRhYmxlKTtcblxuICByZXR1cm4gKFxuICAgIDxzcGFuIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdHVybmFyb3VuZC12YWx1ZSc+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXR1cm5hcm91bmQtZGF5cyc+XG4gICAgICAgIHtkYXlzID4gMFxuICAgICAgICAgID8gYCR7ZGF5c30gYnVzaW5lc3MgZGF5JHtkYXlzICE9PSAxID8gJ3MnIDogJyd9YFxuICAgICAgICAgIDogKG9wdGlvbj8udmFsdWU/LnRyaW0oKSB8fCAn4oCTJyl9XG4gICAgICA8L3NwYW4+XG4gICAgICB7ZGVhZGxpbmUgJiYgKFxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXR1cm5hcm91bmQtZGVhZGxpbmUnPlxuICAgICAgICAgIHtkZWFkbGluZUxhYmVsfSB7ZGVhZGxpbmV9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICl9XG4gICAgICB7Y29zdCB8fCAnJ31cbiAgICA8L3NwYW4+XG4gICk7XG59XG5cbmZ1bmN0aW9uIFZhcmlhdGlvbk9wdGlvbnNJbmZvQm9keSh7XG4gIG5hbWUsXG4gIHNlbGVjdGVkT3B0aW9ucyxcbiAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlLFxuICBwcm9kdWN0LFxuICBmaWVsZFR5cGUsXG4gIHZhcmlhdGlvbixcbiAgc2VsZWN0YWJsZU9wdGlvbnMgPSBbXSxcbiAgZmllbGRPcHRpb25zID0gW10sXG59OiBhbnkpIHtcbiAgY29uc3QgaXNUdXJuYXJvdW5kVGltZSA9IGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLlRVUk5BUk9VTkRfVElNRTtcbiAgY29uc3QgZmlyc3RPcHRpb24gPSBpc1R1cm5hcm91bmRUaW1lXG4gICAgPyByZXNvbHZlVHVybmFyb3VuZFNlbGVjdGVkT3B0aW9uKFxuICAgICAgICB7IHNlbGVjdGVkT3B0aW9ucywgdmFsdWU6IHZhcmlhdGlvbj8udmFsdWUgfSxcbiAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnMsXG4gICAgICAgIGZpZWxkT3B0aW9uc1xuICAgICAgKVxuICAgIDogc2VsZWN0ZWRPcHRpb25zWzBdO1xuICBjb25zdCBpc0NvbG91clNlbGVjdCA9XG4gICAgZmllbGRUeXBlID09PSBGaWVsZFR5cGUuQ09MT1VSX1NFTEVDVCB8fFxuICAgIGZpZWxkVHlwZSA9PT0gRmllbGRUeXBlLkNPTE9VUl9FWFRSQUNUO1xuICBjb25zdCBpc0ltYWdlU2VsZWN0ID0gZmllbGRUeXBlID09PSBGaWVsZFR5cGUuSU1BR0VfU0VMRUNUO1xuICBjb25zdCB2YXJpYXRpb25GaWVsZCA9IHZhcmlhdGlvbj8udmFyaWF0aW9uRmllbGQgPz8ge307XG5cbiAgZnVuY3Rpb24gcmVuZGVyT3B0aW9uTGFiZWwobzogYW55KSB7XG4gICAgaWYgKGlzVHVybmFyb3VuZFRpbWUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxUdXJuYXJvdW5kT3B0aW9uTGFiZWxcbiAgICAgICAgICBvcHRpb249e299XG4gICAgICAgICAgdmFyaWF0aW9uRmllbGQ9e3ZhcmlhdGlvbkZpZWxkfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlPXtzZWxsZXJQcm9kdWN0RWRpdGFibGV9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoaXNDb2xvdXJTZWxlY3QpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDb2xvdXJTZWxlY3RPcHRpb25cbiAgICAgICAgICBvcHRpb249e299XG4gICAgICAgICAgc2VsZWN0YWJsZU9wdGlvbnM9e3NlbGVjdGFibGVPcHRpb25zfVxuICAgICAgICAgIGZpZWxkT3B0aW9ucz17ZmllbGRPcHRpb25zfVxuICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgc2VsbGVyUHJvZHVjdEVkaXRhYmxlPXtzZWxsZXJQcm9kdWN0RWRpdGFibGV9XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoaXNJbWFnZVNlbGVjdCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPEltYWdlU2VsZWN0T3B0aW9uXG4gICAgICAgICAgb3B0aW9uPXtvfVxuICAgICAgICAgIHNlbGVjdGFibGVPcHRpb25zPXtzZWxlY3RhYmxlT3B0aW9uc31cbiAgICAgICAgICBmaWVsZE9wdGlvbnM9e2ZpZWxkT3B0aW9uc31cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgIHNlbGxlclByb2R1Y3RFZGl0YWJsZT17c2VsbGVyUHJvZHVjdEVkaXRhYmxlfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHtvLnZhbHVlPy50cmltKCkgfHwgJ+KAkyd9XG4gICAgICAgIHtmb3JtYXRPcHRpb25Db3N0KHByb2R1Y3QsIG8sIHNlbGxlclByb2R1Y3RFZGl0YWJsZSkgfHwgJyd9XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge3NlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAxICYmICFpc1R1cm5hcm91bmRUaW1lID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1sYWJlbCc+e25hbWV9PC9kaXY+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXZhbHVlIGxpc3QtdW5zdHlsZWQgbS0wJz5cbiAgICAgICAgICAgIHtzZWxlY3RlZE9wdGlvbnMubWFwKChvOiBhbnksIGk6IG51bWJlcikgPT4gKFxuICAgICAgICAgICAgICA8bGkga2V5PXtgJHtpfS1vcHRpb24ta2V5LSR7by5vcHRpb25JZCA/PyBpfWB9PlxuICAgICAgICAgICAgICAgIHtyZW5kZXJPcHRpb25MYWJlbChvKX1cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKSA6IGZpcnN0T3B0aW9uID8gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXJvdyc+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi1sYWJlbCc+e25hbWV9PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXZhcmlhdGlvbi12YWx1ZSc+XG4gICAgICAgICAgICB7cmVuZGVyT3B0aW9uTGFiZWwoZmlyc3RPcHRpb24pfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICkgOiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb24tcm93Jz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLWxhYmVsJz57bmFtZX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktdmFyaWF0aW9uLXZhbHVlJz4tPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8Lz5cbiAgKTtcbn1cblxuZnVuY3Rpb24gVmFyaWF0aW9uc0luZm8oeyBwcm9kdWN0LCBxdWFudGl0eSwgdmFyaWF0aW9ucyA9IFtdIH06IGFueSkge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb25zJz5cbiAgICAgIHt2YXJpYXRpb25zLm1hcCgodjogYW55LCBpOiBudW1iZXIpID0+XG4gICAgICAgICFpc0luc3RydWN0aW9uc1R5cGUodi52YXJpYXRpb25GaWVsZC5maWVsZFR5cGUpID8gKFxuICAgICAgICAgIDxWYXJpYXRpb25JbmZvXG4gICAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XG4gICAgICAgICAgICB2YXJpYXRpb249e3Z9XG4gICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsXG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBkZXNpZ25JbnB1dHNGb3IoaW5wdXRzOiBhbnlbXSB8IHVuZGVmaW5lZCwgZ3JvdXBJbmRleD86IG51bWJlcikge1xuICByZXR1cm4gKGlucHV0cyB8fCBbXSkuZmlsdGVyKChpbnB1dCkgPT4ge1xuICAgIGlmICghaW5wdXQgfHwgKGlucHV0LmtpbmQgIT09ICd0ZXh0JyAmJiBpbnB1dC5raW5kICE9PSAnZmlsZScpKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKGdyb3VwSW5kZXggPT0gbnVsbCkgcmV0dXJuIGlucHV0Lmdyb3VwSW5kZXggPT0gbnVsbDtcbiAgICByZXR1cm4gaW5wdXQuZ3JvdXBJbmRleCA9PT0gZ3JvdXBJbmRleDtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIERlc2lnbmVySW5wdXRzSW5mbyh7IGlucHV0cyB9OiB7IGlucHV0czogYW55W10gfSkge1xuICBpZiAoIWlucHV0cy5sZW5ndGgpIHJldHVybiBudWxsO1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS12YXJpYXRpb25zJz5cbiAgICAgIHtpbnB1dHMubWFwKChpbnB1dCwgaW5kZXgpID0+IChcbiAgICAgICAgPFN1bW1hcnlGaWVsZFJvd1xuICAgICAgICAgIGtleT17YCR7aW5wdXQua2luZH0tJHtpbmRleH1gfVxuICAgICAgICAgIGxhYmVsPXtcbiAgICAgICAgICAgIGlucHV0Lm5hbWUgfHwgKGlucHV0LmtpbmQgPT09ICdmaWxlJyA/ICdDdXN0b20gaW1hZ2UnIDogJ0N1c3RvbSB0ZXh0JylcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFsdWU9e1xuICAgICAgICAgICAgaW5wdXQua2luZCA9PT0gJ2ZpbGUnXG4gICAgICAgICAgICAgID8gJ1VwbG9hZGVkJ1xuICAgICAgICAgICAgICA6IFN0cmluZyhpbnB1dC52YWx1ZSB8fCAnJykudHJpbSgpIHx8ICctJ1xuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICApO1xufVxuXG5mdW5jdGlvbiBWYXJpYXRpb25Hcm91cEluZm8oe1xuICBncm91cCxcbiAgaW5kZXgsXG4gIHByb2R1Y3QsXG4gIHNob3dTZXR1cE9uVW5pdFByaWNlLFxufTogYW55KSB7XG4gIGNvbnN0IHsgam9iIH0gPSB1c2VNZXJjaGlDaGVja2JvdXRDb250ZXh0KCk7XG4gIGNvbnN0IGlzUmVzZWxsID0gaXNQcm9kdWN0U3VwcGxpZXJNT0QocHJvZHVjdCk7XG4gIGNvbnN0IHsgcXVhbnRpdHksIHZhcmlhdGlvbnMgfSA9IGdyb3VwO1xuICBjb25zdCBleHRyYUlucHV0cyA9IGRlc2lnbklucHV0c0Zvcihqb2I/LmRlc2lnbklucHV0cywgaW5kZXgpO1xuICBjb25zdCB2aXNpYmxlVmFyaWF0aW9ucyA9ICh2YXJpYXRpb25zID8/IFtdKS5maWx0ZXIoXG4gICAgKHY6IGFueSkgPT4gIWlzSW5zdHJ1Y3Rpb25zVHlwZSh2Py52YXJpYXRpb25GaWVsZD8uZmllbGRUeXBlKVxuICApO1xuICBjb25zdCBjb3N0TGFiZWwgPSBpc1Jlc2VsbCA/ICdVbml0IENvc3QnIDogJ0dyb3VwIENvc3QnO1xuICBjb25zdCB1bml0UHJpY2VWYWx1ZSA9IHNob3dTZXR1cE9uVW5pdFByaWNlXG4gICAgPyBmb3JtYXRVbml0UHJpY2VXaXRoU2V0dXAocHJvZHVjdClcbiAgICA6IGZvcm1hdENvc3QocHJvZHVjdCwgTnVtYmVyKHByb2R1Y3Q/LnVuaXRQcmljZSkgfHwgMCk7XG5cbiAgcmV0dXJuIChcbiAgICA8c2VjdGlvbiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LWdyb3VwJz5cbiAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1vcmRlci1kZXRhaWwtdGl0bGUnPlxuICAgICAgICBHcm91cCB7aW5kZXggKyAxfSBJbmZvcm1hdGlvblxuICAgICAgPC9zdHJvbmc+XG4gICAgICB7IWlzUmVzZWxsICYmIHF1YW50aXR5ID4gMCAmJiAoXG4gICAgICAgIDxTdW1tYXJ5RmllbGRSb3cgbGFiZWw9J1F1YW50aXR5JyB2YWx1ZT17cXVhbnRpdHl9IC8+XG4gICAgICApfVxuICAgICAgPFN1bW1hcnlGaWVsZFJvdyBsYWJlbD0nVW5pdCBQcmljZScgdmFsdWU9e3VuaXRQcmljZVZhbHVlfSAvPlxuICAgICAge3Zpc2libGVWYXJpYXRpb25zLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICA8VmFyaWF0aW9uc0luZm9cbiAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XG4gICAgICAgICAgdmFyaWF0aW9ucz17dmFyaWF0aW9uc31cbiAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIDxEZXNpZ25lcklucHV0c0luZm8gaW5wdXRzPXtleHRyYUlucHV0c30gLz5cbiAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1ncm91cC1jb3N0Jz5cbiAgICAgICAge2Nvc3RMYWJlbH06IHtmb3JtYXRDb3N0KHByb2R1Y3QsIGdyb3VwLmdyb3VwQ29zdCl9XG4gICAgICA8L3N0cm9uZz5cbiAgICA8L3NlY3Rpb24+XG4gICk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEpvYkluZm9Db250ZW50KCkge1xuICBjb25zdCB7IGpvYiB9ID0gdXNlTWVyY2hpQ2hlY2tib3V0Q29udGV4dCgpO1xuICBjb25zdCB7IHByb2R1Y3QsIHF1YW50aXR5ID0gMCwgdmFyaWF0aW9ucyA9IFtdLCB2YXJpYXRpb25zR3JvdXBzID0gW10gfSA9IGpvYjtcbiAgY29uc3QgZXh0cmFKb2JJbnB1dHMgPSBkZXNpZ25JbnB1dHNGb3Ioam9iPy5kZXNpZ25JbnB1dHMpO1xuICBjb25zdCB7IG5lZWRzU2hpcHBpbmcgfSA9IHByb2R1Y3Q7XG4gIGNvbnN0IHRvdGFsQ29zdCA9IGN1cnJlbmN5VG90YWxDb3N0U2hvd0luY1RheChqb2IpO1xuICBjb25zdCBpc1Jlc2VsbCA9IGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3QpO1xuICBjb25zdCBoYXNHcm91cHMgPSB2YXJpYXRpb25zR3JvdXBzLmxlbmd0aCA+IDA7XG4gIGNvbnN0IGpvYkxldmVsVmFyaWF0aW9ucyA9ICh2YXJpYXRpb25zID8/IFtdKS5maWx0ZXIoXG4gICAgKHY6IGFueSkgPT4gIWlzSW5zdHJ1Y3Rpb25zVHlwZSh2Py52YXJpYXRpb25GaWVsZD8uZmllbGRUeXBlKVxuICApO1xuICBjb25zdCB0b3RhbFF1YW50aXR5ID0gaGFzR3JvdXBzXG4gICAgPyB2YXJpYXRpb25zR3JvdXBzLnJlZHVjZShcbiAgICAgICAgKHN1bTogbnVtYmVyLCBnOiBhbnkpID0+IHN1bSArIChOdW1iZXIoZy5xdWFudGl0eSkgfHwgMCksXG4gICAgICAgIDBcbiAgICAgIClcbiAgICA6IE51bWJlcihxdWFudGl0eSkgfHwgMDtcbiAgY29uc3Qgc2V0dXBQZXJHcm91cCA9IEJvb2xlYW4ocHJvZHVjdD8uc2V0dXBQZXJHcm91cCk7XG4gIGNvbnN0IGhhc1NldHVwUHJpY2UgPSBOdW1iZXIocHJvZHVjdD8uc2V0dXBQcmljZSkgPiAwO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9J21vZGFsLW1lcmNoaS1jaGVja291dC1qb2ItaW5mby1jb250ZW50IG1lcmNoaS1jaGVja291dC1zdW1tYXJ5Jz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1zZWN0aW9uLXRpdGxlJz57cHJvZHVjdC5uYW1lfTwvZGl2PlxuICAgICAge2hhc0dyb3VwcyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1ncm91cHMnPlxuICAgICAgICAgIHt2YXJpYXRpb25zR3JvdXBzLm1hcCgoZzogYW55LCBpOiBudW1iZXIpID0+XG4gICAgICAgICAgICBnLnF1YW50aXR5ID8gKFxuICAgICAgICAgICAgICA8VmFyaWF0aW9uR3JvdXBJbmZvXG4gICAgICAgICAgICAgICAgZ3JvdXA9e2d9XG4gICAgICAgICAgICAgICAga2V5PXtgJHtpfS1qb2ItaW5mby1jb250ZW50YH1cbiAgICAgICAgICAgICAgICBpbmRleD17aX1cbiAgICAgICAgICAgICAgICBwcm9kdWN0PXtwcm9kdWN0fVxuICAgICAgICAgICAgICAgIHNob3dTZXR1cE9uVW5pdFByaWNlPXtzZXR1cFBlckdyb3VwfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7IWhhc0dyb3VwcyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1zdGFuZGFsb25lJz5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cbiAgICAgICAgICAgIE9yZGVyIEluZm9ybWF0aW9uXG4gICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAge3F1YW50aXR5ID4gMCAmJiAoXG4gICAgICAgICAgICA8U3VtbWFyeUZpZWxkUm93IGxhYmVsPSdRdWFudGl0eScgdmFsdWU9e3F1YW50aXR5fSAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPFN1bW1hcnlGaWVsZFJvd1xuICAgICAgICAgICAgbGFiZWw9J1VuaXQgUHJpY2UnXG4gICAgICAgICAgICB2YWx1ZT17Zm9ybWF0VW5pdFByaWNlV2l0aFNldHVwKHByb2R1Y3QpfVxuICAgICAgICAgIC8+XG4gICAgICAgICAge2pvYkxldmVsVmFyaWF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgIDxWYXJpYXRpb25zSW5mb1xuICAgICAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XG4gICAgICAgICAgICAgIHZhcmlhdGlvbnM9e3ZhcmlhdGlvbnN9XG4gICAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPERlc2lnbmVySW5wdXRzSW5mbyBpbnB1dHM9e2V4dHJhSm9iSW5wdXRzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7aGFzR3JvdXBzICYmIChqb2JMZXZlbFZhcmlhdGlvbnMubGVuZ3RoID4gMCB8fCBleHRyYUpvYklucHV0cy5sZW5ndGggPiAwKSAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS1zdGFuZGFsb25lJz5cbiAgICAgICAgICA8c3Ryb25nIGNsYXNzTmFtZT0nbWVyY2hpLWNoZWNrb3V0LXN1bW1hcnktb3JkZXItZGV0YWlsLXRpdGxlJz5cbiAgICAgICAgICAgIE9yZGVyIEluZm9ybWF0aW9uXG4gICAgICAgICAgPC9zdHJvbmc+XG4gICAgICAgICAge2pvYkxldmVsVmFyaWF0aW9ucy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgIDxWYXJpYXRpb25zSW5mb1xuICAgICAgICAgICAgICBxdWFudGl0eT17cXVhbnRpdHl9XG4gICAgICAgICAgICAgIHZhcmlhdGlvbnM9e3ZhcmlhdGlvbnN9XG4gICAgICAgICAgICAgIHByb2R1Y3Q9e3Byb2R1Y3R9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPERlc2lnbmVySW5wdXRzSW5mbyBpbnB1dHM9e2V4dHJhSm9iSW5wdXRzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7IWlzUmVzZWxsICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J21lcmNoaS1jaGVja291dC1zdW1tYXJ5LXRvdGFsJz5cbiAgICAgICAgICB7dG90YWxRdWFudGl0eSA+IDAgJiYgKFxuICAgICAgICAgICAgPFN1bW1hcnlBbW91bnRSb3dcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbC1xdWFudGl0eSdcbiAgICAgICAgICAgICAgbGFiZWw9J1RvdGFsIFF1YW50aXR5J1xuICAgICAgICAgICAgICBhbW91bnQ9e3RvdGFsUXVhbnRpdHl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2hhc0dyb3VwcyAmJiBoYXNTZXR1cFByaWNlICYmICFzZXR1cFBlckdyb3VwICYmIChcbiAgICAgICAgICAgIDxTdW1tYXJ5QW1vdW50Um93XG4gICAgICAgICAgICAgIGxhYmVsPSdTZXR1cCdcbiAgICAgICAgICAgICAgYW1vdW50PXtmb3JtYXRDb3N0KHByb2R1Y3QsIE51bWJlcihwcm9kdWN0LnNldHVwUHJpY2UpKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8U3VtbWFyeUFtb3VudFJvd1xuICAgICAgICAgICAgbGFiZWw9J1RvdGFsIE9yZGVyIENvc3QnXG4gICAgICAgICAgICBsYWJlbEV4dHJhPXtcbiAgICAgICAgICAgICAgbmVlZHNTaGlwcGluZyA/IChcbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3NOYW1lPSdtZXJjaGktY2hlY2tvdXQtc3VtbWFyeS10b3RhbC1ub3RlJz4gZXggU2hpcG1lbnQ8L3NtYWxsPlxuICAgICAgICAgICAgICApIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhbW91bnQ9e3RvdGFsQ29zdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7ISEoaXNSZXNlbGwgJiYgIWhhc0dyb3VwcykgJiYgKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtYi0wJz5cbiAgICAgICAgICAgIHtpc1Jlc2VsbCA/ICdBcHByb3hpbWF0ZSBVbml0JyA6ICdUb3RhbCd9IENvc3RcbiAgICAgICAgICA8L3N0cm9uZz57JyAnfVxuICAgICAgICAgIDxzdHJvbmcgY2xhc3NOYW1lPSdtYi0wIGQtYmxvY2snPnt0b3RhbENvc3R9PC9zdHJvbmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTs7QUFBQyxTQUFBQSwyQkFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEseUJBQUFDLE1BQUEsSUFBQUgsQ0FBQSxDQUFBRyxNQUFBLENBQUFDLFFBQUEsS0FBQUosQ0FBQSxxQkFBQUUsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQU4sQ0FBQSxNQUFBRSxDQUFBLEdBQUFLLDJCQUFBLENBQUFQLENBQUEsTUFBQUMsQ0FBQSxJQUFBRCxDQUFBLHVCQUFBQSxDQUFBLENB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
|
package/lib/utils.d.ts
CHANGED
|
@@ -32,7 +32,8 @@ export declare enum FieldType {
|
|
|
32
32
|
COLOUR_SELECT = 11,
|
|
33
33
|
TURNAROUND_TIME = 12,
|
|
34
34
|
COLOUR_EXTRACT = 13,
|
|
35
|
-
AREA = 14
|
|
35
|
+
AREA = 14,
|
|
36
|
+
EMBROIDERY = 16
|
|
36
37
|
}
|
|
37
38
|
export declare function isSelectable(fieldType: number): boolean;
|
|
38
39
|
export declare function isInstructionsType(fieldType: number): boolean;
|
package/lib/utils.js
CHANGED
|
@@ -436,6 +436,7 @@ export var FieldType = /*#__PURE__*/function (FieldType) {
|
|
|
436
436
|
FieldType[FieldType["TURNAROUND_TIME"] = 12] = "TURNAROUND_TIME";
|
|
437
437
|
FieldType[FieldType["COLOUR_EXTRACT"] = 13] = "COLOUR_EXTRACT";
|
|
438
438
|
FieldType[FieldType["AREA"] = 14] = "AREA";
|
|
439
|
+
FieldType[FieldType["EMBROIDERY"] = 16] = "EMBROIDERY";
|
|
439
440
|
return FieldType;
|
|
440
441
|
}({});
|
|
441
442
|
export function isSelectable(fieldType) {
|
|
@@ -557,4 +558,4 @@ export function redirectOnSuccess(url, redirectWithValue, value) {
|
|
|
557
558
|
var extras = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
558
559
|
window.location.href = buildSuccessRedirectUrl(url, redirectWithValue, value, extras);
|
|
559
560
|
}
|
|
560
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9kdWN0VHlwZSIsIlJvbGUiLCJpc29Db3VudHJpZXMiLCJBRiIsIkFYIiwiQUwiLCJEWiIsIkFTIiwiQUQiLCJBTyIsIkFJIiwiQVEiLCJBRyIsIkFSIiwiQU0iLCJBVyIsIkFVIiwiQVQiLCJBWiIsIkJTIiwiQkgiLCJCRCIsIkJCIiwiQlkiLCJCRSIsIkJaIiwiQkoiLCJCTSIsIkJUIiwiQk8iLCJCQSIsIkJXIiwiQlYiLCJCUiIsIklPIiwiQk4iLCJCRyIsIkJGIiwiQkkiLCJLSCIsIkNNIiwiQ0EiLCJDViIsIktZIiwiQ0YiLCJURCIsIkNMIiwiQ04iLCJDWCIsIkNDIiwiQ08iLCJLTSIsIkNHIiwiQ0QiLCJDSyIsIkNSIiwiQ0kiLCJIUiIsIkNVIiwiQ1kiLCJDWiIsIkRLIiwiREoiLCJETSIsIkRPIiwiRUMiLCJFRyIsIlNWIiwiR1EiLCJFUiIsIkVFIiwiRVQiLCJGSyIsIkZPIiwiRkoiLCJGSSIsIkZSIiwiR0YiLCJQRiIsIlRGIiwiR0EiLCJHTSIsIkdFIiwiREUiLCJHSCIsIkdJIiwiR1IiLCJHTCIsIkdEIiwiR1AiLCJHVSIsIkdUIiwiR0ciLCJHTiIsIkdXIiwiR1kiLCJIVCIsIkhNIiwiVkEiLCJITiIsIkhLIiwiSFUiLCJJUyIsIklOIiwiSUQiLCJJUiIsIklRIiwiSUUiLCJJTSIsIklMIiwiSVQiLCJKTSIsIkpQIiwiSkUiLCJKTyIsIktaIiwiS0UiLCJLSSIsIktSIiwiS1ciLCJLRyIsIkxBIiwiTFYiLCJMQiIsIkxTIiwiTFIiLCJMWSIsIkxJIiwiTFQiLCJMVSIsIk1PIiwiTUsiLCJNRyIsIk1XIiwiTVkiLCJNViIsIk1MIiwiTVQiLCJNSCIsIk1RIiwiTVIiLCJNVSIsIllUIiwiTVgiLCJGTSIsIk1EIiwiTUMiLCJNTiIsIk1FIiwiTVMiLCJNQSIsIk1aIiwiTU0iLCJOQSIsIk5SIiwiTlAiLCJOTCIsIkFOIiwiTkMiLCJOWiIsIk5JIiwiTkUiLCJORyIsIk5VIiwiTkYiLCJNUCIsIk5PIiwiT00iLCJQSyIsIlBXIiwiUFMiLCJQQSIsIlBHIiwiUFkiLCJQRSIsIlBIIiwiUE4iLCJQTCIsIlBUIiwiUFIiLCJRQSIsIlJFIiwiUk8iLCJSVSIsIlJXIiwiQkwiLCJTSCIsIktOIiwiTEMiLCJNRiIsIlBNIiwiVkMiLCJXUyIsIlNNIiwiU1QiLCJTQSIsIlNOIiwiUlMiLCJTQyIsIlNMIiwiU0ciLCJTSyIsIlNJIiwiU0IiLCJTTyIsIlpBIiwiR1MiLCJFUyIsIkxLIiwiU0QiLCJTUiIsIlNKIiwiU1oiLCJTRSIsIkNIIiwiU1kiLCJUVyIsIlRKIiwiVFoiLCJUSCIsIlRMIiwiVEciLCJUSyIsIlRPIiwiVFQiLCJUTiIsIlRSIiwiVE0iLCJUQyIsIlRWIiwiVUciLCJVQSIsIkFFIiwiR0IiLCJVUyIsIlVNIiwiVVkiLCJVWiIsIlZVIiwiVkUiLCJWTiIsIlZHIiwiVkkiLCJXRiIsIkVIIiwiWUUiLCJaTSIsIlpXIiwidXNlckRvbWFpbnNCeVJvbGVzIiwidXNlciIsInJvbGVzIiwiZUQiLCJlbnJvbGxlZERvbWFpbnMiLCJkb21haW5zIiwiaSIsImxlbmd0aCIsImUiLCJpbmNsdWRlcyIsInJvbGUiLCJwdXNoIiwiZG9tYWluIiwidXNlckFkbWluRG9tYWlucyIsIkFETUlOIiwiTUFOQUdFUiIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwicHJvZHVjdCIsInByb2R1Y3RUeXBlIiwiU3RyaW5nIiwiU1VQUExJRVJfTU9EIiwiU1VQUExJRVJfUkVTRUxMX01PRCIsImlzVXNlclJlZ2lzdGVyZWQiLCJpZCIsInVuZGVmaW5lZCIsImlzUmVnaXN0ZXJlZEFuZEhhc1N0b3JlIiwiaGFzU3RvcmUiLCJzdXBwb3J0ZWROdW1iZXJzIiwicGhvbmVPcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbHVlIiwibGFiZWwiLCJhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZCIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMiIsImNvdW50cnkiLCJlc3RhYmxpc2htZW50IiwiZmxvb3IiLCJsb2NhbGl0eSIsInBvc3RhbF9jb2RlIiwicHJlbWlzZSIsInJvb20iLCJyb3V0ZSIsInN0cmVldF9udW1iZXIiLCJzdWJsb2NhbGl0eSIsInN1YnByZW1pc2UiLCJnb29nbGVQbGFjZXNSZXN1bHRBc05ld0FkZHJlc3MiLCJwbGFjZURldGFpbHMiLCJhZGRyZXNzQ29tcG9uZW50cyIsIm5hbWUiLCJhZGRyZXNzIiwiY2l0eSIsImxpbmVPbmUiLCJsaW5lVHdvIiwicG9zdGNvZGUiLCJzdGF0ZSIsImFkZHJDb21wb25lbnQiLCJhZGRyVHlwZXMiLCJ0eXBlcyIsImFkZHJUeXBlIiwiY29tcG9uZW50U2V0dGluZyIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJ0eXBlIiwiZXJyIiwiZiIsImFkZHJlc3NWYWwiLCJvbGRMaW5lT25lIiwiY29uY2F0IiwidHJpbSIsIm9sZENpdHkiLCJmb3JtYXR0ZWRBZGRyZXNzIiwicGFydHMiLCJzcGxpdCIsImFkZHJlc3NJbk9uZUxpbmUiLCJhIiwibDEiLCJsMiIsImMiLCJwIiwiY291bnRyeUZ1bGwiLCJGaWVsZFR5cGUiLCJpc1NlbGVjdGFibGUiLCJmaWVsZFR5cGUiLCJTRUxFQ1QiLCJDSEVDS0JPWCIsIlJBRElPIiwiSU1BR0VfU0VMRUNUIiwiQ09MT1VSX1NFTEVDVCIsIlRVUk5BUk9VTkRfVElNRSIsIkNPTE9VUl9FWFRSQUNUIiwiaXNJbnN0cnVjdGlvbnNUeXBlIiwiRklFTERfSU5TVFJVQ1RJT05TIiwiY291bnRyeURlZmF1bHREaWN0IiwiY3VycmVuY3kiLCJzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHMiLCJzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHNXaXRoRGVmYXVsdCIsImNvdW50cnlDb2RlIiwiZGVmYXVsdENvdW50cnlWYWx1ZXMiLCJpc0ZpbGVSZWYiLCJjbGVhbkNsaWVudEZpbGVzIiwiY2xpZW50RmlsZXMiLCJhcmd1bWVudHMiLCJjbGllbnRGaWxlIiwiZmlsZSIsImZpbHRlciIsImFwcGVuZENsaWVudFRvT3duRHJhZnQiLCJqb2IiLCJvd25EcmFmdHMiLCJkZXNpZ25lciIsImNsaWVudCIsIm5vcm1hbGl6ZVJlZGlyZWN0QmFzZVVybCIsInVybCIsImNsZWFuIiwicmVwbGFjZSIsInRlc3QiLCJkZWNvZGVkIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiX3VudXNlZCIsImdldENsaWVudEVtYWlsIiwiX2NsaWVudCRlbWFpbEFkZHJlc3NlIiwiZW1haWwiLCJlbWFpbEFkZHJlc3NlcyIsImVtYWlsQWRkcmVzcyIsImJ1aWxkU3VjY2Vzc1JlZGlyZWN0VXJsIiwicmVkaXJlY3RXaXRoVmFsdWUiLCJleHRyYXMiLCJiYXNlIiwidGFyZ2V0IiwiVVJMIiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwic2VhcmNoUGFyYW1zIiwic2V0IiwiaW52b2ljZUlkIiwic3RhcnRzV2l0aCIsImhvc3QiLCJwYXRobmFtZSIsInNlYXJjaCIsImhhc2giLCJ0b1N0cmluZyIsInJlZGlyZWN0T25TdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3RUeXBlLCBSb2xlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBpc29Db3VudHJpZXM6IGFueSA9IHtcbiAgQUY6IFwiQWZnaGFuaXN0YW5cIixcbiAgQVg6IFwiQWxhbmQgSXNsYW5kc1wiLFxuICBBTDogXCJBbGJhbmlhXCIsXG4gIERaOiBcIkFsZ2VyaWFcIixcbiAgQVM6IFwiQW1lcmljYW4gU2Ftb2FcIixcbiAgQUQ6IFwiQW5kb3JyYVwiLFxuICBBTzogXCJBbmdvbGFcIixcbiAgQUk6IFwiQW5ndWlsbGFcIixcbiAgQVE6IFwiQW50YXJjdGljYVwiLFxuICBBRzogXCJBbnRpZ3VhIEFuZCBCYXJidWRhXCIsXG4gIEFSOiBcIkFyZ2VudGluYVwiLFxuICBBTTogXCJBcm1lbmlhXCIsXG4gIEFXOiBcIkFydWJhXCIsXG4gIEFVOiBcIkF1c3RyYWxpYVwiLFxuICBBVDogXCJBdXN0cmlhXCIsXG4gIEFaOiBcIkF6ZXJiYWlqYW5cIixcbiAgQlM6IFwiQmFoYW1hc1wiLFxuICBCSDogXCJCYWhyYWluXCIsXG4gIEJEOiBcIkJhbmdsYWRlc2hcIixcbiAgQkI6IFwiQmFyYmFkb3NcIixcbiAgQlk6IFwiQmVsYXJ1c1wiLFxuICBCRTogXCJCZWxnaXVtXCIsXG4gIEJaOiBcIkJlbGl6ZVwiLFxuICBCSjogXCJCZW5pblwiLFxuICBCTTogXCJCZXJtdWRhXCIsXG4gIEJUOiBcIkJodXRhblwiLFxuICBCTzogXCJCb2xpdmlhXCIsXG4gIEJBOiBcIkJvc25pYSBBbmQgSGVyemVnb3ZpbmFcIixcbiAgQlc6IFwiQm90c3dhbmFcIixcbiAgQlY6IFwiQm91dmV0IElzbGFuZFwiLFxuICBCUjogXCJCcmF6aWxcIixcbiAgSU86IFwiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5XCIsXG4gIEJOOiBcIkJydW5laSBEYXJ1c3NhbGFtXCIsXG4gIEJHOiBcIkJ1bGdhcmlhXCIsXG4gIEJGOiBcIkJ1cmtpbmEgRmFzb1wiLFxuICBCSTogXCJCdXJ1bmRpXCIsXG4gIEtIOiBcIkNhbWJvZGlhXCIsXG4gIENNOiBcIkNhbWVyb29uXCIsXG4gIENBOiBcIkNhbmFkYVwiLFxuICBDVjogXCJDYXBlIFZlcmRlXCIsXG4gIEtZOiBcIkNheW1hbiBJc2xhbmRzXCIsXG4gIENGOiBcIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpY1wiLFxuICBURDogXCJDaGFkXCIsXG4gIENMOiBcIkNoaWxlXCIsXG4gIENOOiBcIkNoaW5hXCIsXG4gIENYOiBcIkNocmlzdG1hcyBJc2xhbmRcIixcbiAgQ0M6IFwiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHNcIixcbiAgQ086IFwiQ29sb21iaWFcIixcbiAgS006IFwiQ29tb3Jvc1wiLFxuICBDRzogXCJDb25nb1wiLFxuICBDRDogXCJDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpY1wiLFxuICBDSzogXCJDb29rIElzbGFuZHNcIixcbiAgQ1I6IFwiQ29zdGEgUmljYVwiLFxuICBDSTogXCJDb3RlIEQnSXZvaXJlXCIsXG4gIEhSOiBcIkNyb2F0aWFcIixcbiAgQ1U6IFwiQ3ViYVwiLFxuICBDWTogXCJDeXBydXNcIixcbiAgQ1o6IFwiQ3plY2ggUmVwdWJsaWNcIixcbiAgREs6IFwiRGVubWFya1wiLFxuICBESjogXCJEamlib3V0aVwiLFxuICBETTogXCJEb21pbmljYVwiLFxuICBETzogXCJEb21pbmljYW4gUmVwdWJsaWNcIixcbiAgRUM6IFwiRWN1YWRvclwiLFxuICBFRzogXCJFZ3lwdFwiLFxuICBTVjogXCJFbCBTYWx2YWRvclwiLFxuICBHUTogXCJFcXVhdG9yaWFsIEd1aW5lYVwiLFxuICBFUjogXCJFcml0cmVhXCIsXG4gIEVFOiBcIkVzdG9uaWFcIixcbiAgRVQ6IFwiRXRoaW9waWFcIixcbiAgRks6IFwiRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpXCIsXG4gIEZPOiBcIkZhcm9lIElzbGFuZHNcIixcbiAgRko6IFwiRmlqaVwiLFxuICBGSTogXCJGaW5sYW5kXCIsXG4gIEZSOiBcIkZyYW5jZVwiLFxuICBHRjogXCJGcmVuY2ggR3VpYW5hXCIsXG4gIFBGOiBcIkZyZW5jaCBQb2x5bmVzaWFcIixcbiAgVEY6IFwiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzXCIsXG4gIEdBOiBcIkdhYm9uXCIsXG4gIEdNOiBcIkdhbWJpYVwiLFxuICBHRTogXCJHZW9yZ2lhXCIsXG4gIERFOiBcIkdlcm1hbnlcIixcbiAgR0g6IFwiR2hhbmFcIixcbiAgR0k6IFwiR2licmFsdGFyXCIsXG4gIEdSOiBcIkdyZWVjZVwiLFxuICBHTDogXCJHcmVlbmxhbmRcIixcbiAgR0Q6IFwiR3JlbmFkYVwiLFxuICBHUDogXCJHdWFkZWxvdXBlXCIsXG4gIEdVOiBcIkd1YW1cIixcbiAgR1Q6IFwiR3VhdGVtYWxhXCIsXG4gIEdHOiBcIkd1ZXJuc2V5XCIsXG4gIEdOOiBcIkd1aW5lYVwiLFxuICBHVzogXCJHdWluZWEtQmlzc2F1XCIsXG4gIEdZOiBcIkd1eWFuYVwiLFxuICBIVDogXCJIYWl0aVwiLFxuICBITTogXCJIZWFyZCBJc2xhbmQgJiBNY2RvbmFsZCBJc2xhbmRzXCIsXG4gIFZBOiBcIkhvbHkgU2VlIChWYXRpY2FuIENpdHkgU3RhdGUpXCIsXG4gIEhOOiBcIkhvbmR1cmFzXCIsXG4gIEhLOiBcIkhvbmcgS29uZ1wiLFxuICBIVTogXCJIdW5nYXJ5XCIsXG4gIElTOiBcIkljZWxhbmRcIixcbiAgSU46IFwiSW5kaWFcIixcbiAgSUQ6IFwiSW5kb25lc2lhXCIsXG4gIElSOiBcIklyYW4sIElzbGFtaWMgUmVwdWJsaWMgT2ZcIixcbiAgSVE6IFwiSXJhcVwiLFxuICBJRTogXCJJcmVsYW5kXCIsXG4gIElNOiBcIklzbGUgT2YgTWFuXCIsXG4gIElMOiBcIklzcmFlbFwiLFxuICBJVDogXCJJdGFseVwiLFxuICBKTTogXCJKYW1haWNhXCIsXG4gIEpQOiBcIkphcGFuXCIsXG4gIEpFOiBcIkplcnNleVwiLFxuICBKTzogXCJKb3JkYW5cIixcbiAgS1o6IFwiS2F6YWtoc3RhblwiLFxuICBLRTogXCJLZW55YVwiLFxuICBLSTogXCJLaXJpYmF0aVwiLFxuICBLUjogXCJLb3JlYVwiLFxuICBLVzogXCJLdXdhaXRcIixcbiAgS0c6IFwiS3lyZ3l6c3RhblwiLFxuICBMQTogXCJMYW8gUGVvcGxlJ3MgRGVtb2NyYXRpYyBSZXB1YmxpY1wiLFxuICBMVjogXCJMYXR2aWFcIixcbiAgTEI6IFwiTGViYW5vblwiLFxuICBMUzogXCJMZXNvdGhvXCIsXG4gIExSOiBcIkxpYmVyaWFcIixcbiAgTFk6IFwiTGlieWFuIEFyYWIgSmFtYWhpcml5YVwiLFxuICBMSTogXCJMaWVjaHRlbnN0ZWluXCIsXG4gIExUOiBcIkxpdGh1YW5pYVwiLFxuICBMVTogXCJMdXhlbWJvdXJnXCIsXG4gIE1POiBcIk1hY2FvXCIsXG4gIE1LOiBcIk1hY2Vkb25pYVwiLFxuICBNRzogXCJNYWRhZ2FzY2FyXCIsXG4gIE1XOiBcIk1hbGF3aVwiLFxuICBNWTogXCJNYWxheXNpYVwiLFxuICBNVjogXCJNYWxkaXZlc1wiLFxuICBNTDogXCJNYWxpXCIsXG4gIE1UOiBcIk1hbHRhXCIsXG4gIE1IOiBcIk1hcnNoYWxsIElzbGFuZHNcIixcbiAgTVE6IFwiTWFydGluaXF1ZVwiLFxuICBNUjogXCJNYXVyaXRhbmlhXCIsXG4gIE1VOiBcIk1hdXJpdGl1c1wiLFxuICBZVDogXCJNYXlvdHRlXCIsXG4gIE1YOiBcIk1leGljb1wiLFxuICBGTTogXCJNaWNyb25lc2lhLCBGZWRlcmF0ZWQgU3RhdGVzIE9mXCIsXG4gIE1EOiBcIk1vbGRvdmFcIixcbiAgTUM6IFwiTW9uYWNvXCIsXG4gIE1OOiBcIk1vbmdvbGlhXCIsXG4gIE1FOiBcIk1vbnRlbmVncm9cIixcbiAgTVM6IFwiTW9udHNlcnJhdFwiLFxuICBNQTogXCJNb3JvY2NvXCIsXG4gIE1aOiBcIk1vemFtYmlxdWVcIixcbiAgTU06IFwiTXlhbm1hclwiLFxuICBOQTogXCJOYW1pYmlhXCIsXG4gIE5SOiBcIk5hdXJ1XCIsXG4gIE5QOiBcIk5lcGFsXCIsXG4gIE5MOiBcIk5ldGhlcmxhbmRzXCIsXG4gIEFOOiBcIk5ldGhlcmxhbmRzIEFudGlsbGVzXCIsXG4gIE5DOiBcIk5ldyBDYWxlZG9uaWFcIixcbiAgTlo6IFwiTmV3IFplYWxhbmRcIixcbiAgTkk6IFwiTmljYXJhZ3VhXCIsXG4gIE5FOiBcIk5pZ2VyXCIsXG4gIE5HOiBcIk5pZ2VyaWFcIixcbiAgTlU6IFwiTml1ZVwiLFxuICBORjogXCJOb3Jmb2xrIElzbGFuZFwiLFxuICBNUDogXCJOb3J0aGVybiBNYXJpYW5hIElzbGFuZHNcIixcbiAgTk86IFwiTm9yd2F5XCIsXG4gIE9NOiBcIk9tYW5cIixcbiAgUEs6IFwiUGFraXN0YW5cIixcbiAgUFc6IFwiUGFsYXVcIixcbiAgUFM6IFwiUGFsZXN0aW5pYW4gVGVycml0b3J5LCBPY2N1cGllZFwiLFxuICBQQTogXCJQYW5hbWFcIixcbiAgUEc6IFwiUGFwdWEgTmV3IEd1aW5lYVwiLFxuICBQWTogXCJQYXJhZ3VheVwiLFxuICBQRTogXCJQZXJ1XCIsXG4gIFBIOiBcIlBoaWxpcHBpbmVzXCIsXG4gIFBOOiBcIlBpdGNhaXJuXCIsXG4gIFBMOiBcIlBvbGFuZFwiLFxuICBQVDogXCJQb3J0dWdhbFwiLFxuICBQUjogXCJQdWVydG8gUmljb1wiLFxuICBRQTogXCJRYXRhclwiLFxuICBSRTogXCJSZXVuaW9uXCIsXG4gIFJPOiBcIlJvbWFuaWFcIixcbiAgUlU6IFwiUnVzc2lhbiBGZWRlcmF0aW9uXCIsXG4gIFJXOiBcIlJ3YW5kYVwiLFxuICBCTDogXCJTYWludCBCYXJ0aGVsZW15XCIsXG4gIFNIOiBcIlNhaW50IEhlbGVuYVwiLFxuICBLTjogXCJTYWludCBLaXR0cyBBbmQgTmV2aXNcIixcbiAgTEM6IFwiU2FpbnQgTHVjaWFcIixcbiAgTUY6IFwiU2FpbnQgTWFydGluXCIsXG4gIFBNOiBcIlNhaW50IFBpZXJyZSBBbmQgTWlxdWVsb25cIixcbiAgVkM6IFwiU2FpbnQgVmluY2VudCBBbmQgR3JlbmFkaW5lc1wiLFxuICBXUzogXCJTYW1vYVwiLFxuICBTTTogXCJTYW4gTWFyaW5vXCIsXG4gIFNUOiBcIlNhbyBUb21lIEFuZCBQcmluY2lwZVwiLFxuICBTQTogXCJTYXVkaSBBcmFiaWFcIixcbiAgU046IFwiU2VuZWdhbFwiLFxuICBSUzogXCJTZXJiaWFcIixcbiAgU0M6IFwiU2V5Y2hlbGxlc1wiLFxuICBTTDogXCJTaWVycmEgTGVvbmVcIixcbiAgU0c6IFwiU2luZ2Fwb3JlXCIsXG4gIFNLOiBcIlNsb3Zha2lhXCIsXG4gIFNJOiBcIlNsb3ZlbmlhXCIsXG4gIFNCOiBcIlNvbG9tb24gSXNsYW5kc1wiLFxuICBTTzogXCJTb21hbGlhXCIsXG4gIFpBOiBcIlNvdXRoIEFmcmljYVwiLFxuICBHUzogXCJTb3V0aCBHZW9yZ2lhIEFuZCBTYW5kd2ljaCBJc2wuXCIsXG4gIEVTOiBcIlNwYWluXCIsXG4gIExLOiBcIlNyaSBMYW5rYVwiLFxuICBTRDogXCJTdWRhblwiLFxuICBTUjogXCJTdXJpbmFtZVwiLFxuICBTSjogXCJTdmFsYmFyZCBBbmQgSmFuIE1heWVuXCIsXG4gIFNaOiBcIlN3YXppbGFuZFwiLFxuICBTRTogXCJTd2VkZW5cIixcbiAgQ0g6IFwiU3dpdHplcmxhbmRcIixcbiAgU1k6IFwiU3lyaWFuIEFyYWIgUmVwdWJsaWNcIixcbiAgVFc6IFwiVGFpd2FuXCIsXG4gIFRKOiBcIlRhamlraXN0YW5cIixcbiAgVFo6IFwiVGFuemFuaWFcIixcbiAgVEg6IFwiVGhhaWxhbmRcIixcbiAgVEw6IFwiVGltb3ItTGVzdGVcIixcbiAgVEc6IFwiVG9nb1wiLFxuICBUSzogXCJUb2tlbGF1XCIsXG4gIFRPOiBcIlRvbmdhXCIsXG4gIFRUOiBcIlRyaW5pZGFkIEFuZCBUb2JhZ29cIixcbiAgVE46IFwiVHVuaXNpYVwiLFxuICBUUjogXCJUdXJrZXlcIixcbiAgVE06IFwiVHVya21lbmlzdGFuXCIsXG4gIFRDOiBcIlR1cmtzIEFuZCBDYWljb3MgSXNsYW5kc1wiLFxuICBUVjogXCJUdXZhbHVcIixcbiAgVUc6IFwiVWdhbmRhXCIsXG4gIFVBOiBcIlVrcmFpbmVcIixcbiAgQUU6IFwiVW5pdGVkIEFyYWIgRW1pcmF0ZXNcIixcbiAgR0I6IFwiVW5pdGVkIEtpbmdkb21cIixcbiAgVVM6IFwiVW5pdGVkIFN0YXRlc1wiLFxuICBVTTogXCJVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHNcIixcbiAgVVk6IFwiVXJ1Z3VheVwiLFxuICBVWjogXCJVemJla2lzdGFuXCIsXG4gIFZVOiBcIlZhbnVhdHVcIixcbiAgVkU6IFwiVmVuZXp1ZWxhXCIsXG4gIFZOOiBcIlZpZXQgTmFtXCIsXG4gIFZHOiBcIlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoXCIsXG4gIFZJOiBcIlZpcmdpbiBJc2xhbmRzLCBVLlMuXCIsXG4gIFdGOiBcIldhbGxpcyBBbmQgRnV0dW5hXCIsXG4gIEVIOiBcIldlc3Rlcm4gU2FoYXJhXCIsXG4gIFlFOiBcIlllbWVuXCIsXG4gIFpNOiBcIlphbWJpYVwiLFxuICBaVzogXCJaaW1iYWJ3ZVwiXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlckRvbWFpbnNCeVJvbGVzKHVzZXI6IGFueSwgcm9sZXM6IEFycmF5PG51bWJlcj4pIHtcbiAgY29uc3QgZUQgPSB1c2VyICYmIHVzZXIuZW5yb2xsZWREb21haW5zID8gdXNlci5lbnJvbGxlZERvbWFpbnMgOiBbXTtcbiAgY29uc3QgZG9tYWluczogYW55W10gPSBbXTtcbiAgbGV0IGkgPSAwO1xuICBmb3IgKGk7IGkgPCBlRC5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGUgPSBlRFtpXTtcbiAgICBpZiAocm9sZXMuaW5jbHVkZXMoZS5yb2xlKSkge1xuICAgICAgZG9tYWlucy5wdXNoKChlIGFzIGFueSkuZG9tYWluKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRvbWFpbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VyQWRtaW5Eb21haW5zKHVzZXI6IGFueSkge1xuICByZXR1cm4gdXNlckRvbWFpbnNCeVJvbGVzKHVzZXIsIFtSb2xlLkFETUlOLCBSb2xlLk1BTkFHRVJdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZVxuICByZXR1cm4gcHJvZHVjdCAmJiBbXG4gICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX01PRCksXG4gICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpXG4gIF0uaW5jbHVkZXMoU3RyaW5nKHByb2R1Y3RUeXBlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VzZXJSZWdpc3RlcmVkKHVzZXI6IGFueSkge1xuICBjb25zdCBpZCA9IHVzZXIgPyB1c2VyLmlkIDogbnVsbDtcbiAgcmV0dXJuIGlkICE9PSB1bmRlZmluZWQgJiYgaWQgIT09IG51bGwgJiYgaWQgPiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWdpc3RlcmVkQW5kSGFzU3RvcmUodXNlcjogYW55KSB7XG4gIGNvbnN0IGlkID0gdXNlciA/IHVzZXIuaWQgOiBudWxsO1xuICByZXR1cm4gaWQgIT09IHVuZGVmaW5lZCAmJiBpZCAhPT0gbnVsbCAmJiBpZCA+IDAgJiYgdXNlci5oYXNTdG9yZTtcbn1cblxuY29uc3Qgc3VwcG9ydGVkTnVtYmVyczogYW55ID0ge1xuICBBVTogJ0F1c3RyYWxpYSAoKzYxKScsXG4gIEFFOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMgKCs5NzEpJyxcbiAgQkg6ICdCYWhyYWluICgrOTczKScsXG4gIENOOiAnQ2hpbmEgKCs4NiknLFxuICBESzogJ0Rlbm1hcmsgKCs0NSknLFxuICBFUzogJ1NwYWluICgrMzQpJyxcbiAgRlI6ICdGcmFuY2UgKCszMyknLFxuICBHQjogJ1VuaXRlZCBLaW5nZG9tICgrNDQpJyxcbiAgSEs6ICdIb25nIEtvbmcgKCs4NTIpJyxcbiAgSUQ6ICdJbmRvbmVzaWEgKCs2MiknLFxuICBJTjogJ0luZGlhICgrOTEpJyxcbiAgSVQ6ICdJdGFseSAoKzM5KScsXG4gIEtSOiAnU291dGggS29yZWEgKCs4MiknLFxuICBOQzogJ05ldyBDYWxlZG9uaWEgKCs2ODcpJyxcbiAgTlo6ICdOZXcgWmVhbGFuZCAoKzY0KScsXG4gIE9NOiAnT21hbiAoKzk2OCknLFxuICBQSDogJ1BoaWxpcHBpbmVzICgrNjMpJyxcbiAgUFQ6ICdQb3J0dWdhbCAoKzM1MSknLFxuICBRQTogJ1FhdGFyICgrOTc0KScsXG4gIFNFOiAnU3dlZGVuICgrNDYpJyxcbiAgU0c6ICdTaW5nYXBvcmUgKCs2NSknLFxuICBUSDogJ1RoYWlsYW5kICgrNjYpJyxcbiAgVVM6ICdVbml0ZWQgU3RhdGVzICgrMSknLFxuICBaQTogJ1NvdXRoIEFmcmljYSAoKzI3KScsXG59O1xuXG5leHBvcnQgY29uc3QgcGhvbmVPcHRpb25zID0gT2JqZWN0LmtleXMoc3VwcG9ydGVkTnVtYmVycykubWFwKChrZXkpID0+ICh7XG4gIHZhbHVlOiBrZXksXG4gIGxhYmVsOiBzdXBwb3J0ZWROdW1iZXJzW2tleV0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZDogYW55ID0ge1xuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzE6ICdzaG9ydE5hbWUnLFxuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzI6ICdzaG9ydE5hbWUnLFxuICBjb3VudHJ5OiAnc2hvcnROYW1lJyxcbiAgZXN0YWJsaXNobWVudDogJ2xvbmdOYW1lJyxcbiAgZmxvb3I6ICdzaG9ydE5hbWUnLFxuICBsb2NhbGl0eTogJ2xvbmdOYW1lJyxcbiAgcG9zdGFsX2NvZGU6ICdzaG9ydE5hbWUnLFxuICBwcmVtaXNlOiAnc2hvcnROYW1lJyxcbiAgcm9vbTogJ2xvbmdOYW1lJyxcbiAgcm91dGU6ICdzaG9ydE5hbWUnLFxuICBzdHJlZXRfbnVtYmVyOiAnc2hvcnROYW1lJyxcbiAgc3VibG9jYWxpdHk6ICdsb25nTmFtZScsXG4gIHN1YnByZW1pc2U6ICdzaG9ydE5hbWUnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdvb2dsZVBsYWNlc1Jlc3VsdEFzTmV3QWRkcmVzcyhwbGFjZURldGFpbHM6IGFueSkge1xuICBjb25zdCBhZGRyZXNzQ29tcG9uZW50cyA9IHBsYWNlRGV0YWlscz8uYWRkcmVzc0NvbXBvbmVudHMgfHwgW107XG4gIGNvbnN0IG5hbWUgPSBwbGFjZURldGFpbHM/Lm5hbWUgfHwgJyc7XG4gIGNvbnN0IGFkZHJlc3MgPSB7XG4gICAgY2l0eTogJycsXG4gICAgY291bnRyeTogJycsXG4gICAgbGluZU9uZTogbmFtZSA/IG5hbWUgOiAnJyxcbiAgICBsaW5lVHdvOiAnJyxcbiAgICBwb3N0Y29kZTogJycsXG4gICAgc3RhdGU6ICcnLFxuICB9O1xuXG4gIGlmIChhZGRyZXNzQ29tcG9uZW50cyAmJiBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgYWRkckNvbXBvbmVudCA9IGFkZHJlc3NDb21wb25lbnRzW2ldO1xuICAgICAgY29uc3QgYWRkclR5cGVzID0gYWRkckNvbXBvbmVudC50eXBlcztcbiAgICAgIFxuICAgICAgLy8gRmluZCB0aGUgZmlyc3QgcmVsZXZhbnQgdHlwZSB0aGF0IHdlIGhhdmUgYSBzZXR0aW5nIGZvclxuICAgICAgbGV0IGFkZHJUeXBlID0gbnVsbDtcbiAgICAgIGxldCBjb21wb25lbnRTZXR0aW5nID0gbnVsbDtcbiAgICAgIFxuICAgICAgZm9yIChjb25zdCB0eXBlIG9mIGFkZHJUeXBlcykge1xuICAgICAgICBpZiAoYWRkcmVzc0NvbXBvbmVudHNTZXR0aW5nc0JhY2tlbmRbdHlwZV0pIHtcbiAgICAgICAgICBhZGRyVHlwZSA9IHR5cGU7XG4gICAgICAgICAgY29tcG9uZW50U2V0dGluZyA9IGFkZHJlc3NDb21wb25lbnRzU2V0dGluZ3NCYWNrZW5kW3R5cGVdO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjb21wb25lbnRTZXR0aW5nICYmIGFkZHJUeXBlKSB7XG4gICAgICAgIGNvbnN0IGFkZHJlc3NWYWwgPSBhZGRyQ29tcG9uZW50W2NvbXBvbmVudFNldHRpbmddO1xuICAgICAgICBzd2l0Y2ggKGFkZHJUeXBlKSB7XG4gICAgICAgICAgY2FzZSAnZXN0YWJsaXNobWVudCc6XG4gICAgICAgICAgY2FzZSAncm9vbSc6XG4gICAgICAgICAgY2FzZSAnZmxvb3InOlxuICAgICAgICAgIGNhc2UgJ3N0cmVldF9udW1iZXInOlxuICAgICAgICAgIGNhc2UgJ3ByZW1pc2UnOlxuICAgICAgICAgIGNhc2UgJ3N1YnByZW1pc2UnOlxuICAgICAgICAgIGNhc2UgJ3JvdXRlJzpcbiAgICAgICAgICAgIGNvbnN0IG9sZExpbmVPbmUgPSBhZGRyZXNzLmxpbmVPbmU7XG4gICAgICAgICAgICBhZGRyZXNzLmxpbmVPbmUgPSBvbGRMaW5lT25lLmluY2x1ZGVzKGFkZHJlc3NWYWwpID9cbiAgICAgICAgICAgICAgb2xkTGluZU9uZSA6IGAke29sZExpbmVPbmV9ICR7YWRkcmVzc1ZhbH1gLnRyaW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2xvY2FsaXR5JzpcbiAgICAgICAgICBjYXNlICdzdWJsb2NhbGl0eSc6XG4gICAgICAgICAgICBjb25zdCBvbGRDaXR5ID0gYWRkcmVzcy5jaXR5ID8gYCR7YWRkcmVzcy5jaXR5fSBgIDogJyc7XG4gICAgICAgICAgICBhZGRyZXNzLmNpdHkgPSAob2xkQ2l0eSArIGFkZHJlc3NWYWwpLnRyaW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSc6XG5cbiAgICAgICAgICAgIGFkZHJlc3Muc3RhdGUgPSBhZGRyZXNzVmFsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8yJzpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvdW50cnknOlxuXG4gICAgICAgICAgICBhZGRyZXNzLmNvdW50cnkgPSBhZGRyZXNzVmFsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAncG9zdGFsX2NvZGUnOlxuICAgICAgICAgICAgYWRkcmVzcy5wb3N0Y29kZSA9IGFkZHJlc3NWYWw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhbiB1cCBsaW5lIG9uZSBpZiBpdCdzIGVtcHR5IGFuZCB3ZSBoYXZlIGEgZm9ybWF0dGVkIGFkZHJlc3NcbiAgICBpZiAoIWFkZHJlc3MubGluZU9uZS50cmltKCkgJiYgcGxhY2VEZXRhaWxzPy5mb3JtYXR0ZWRBZGRyZXNzKSB7XG4gICAgICAvLyBUcnkgdG8gZXh0cmFjdCBzdHJlZXQgYWRkcmVzcyBmcm9tIGZvcm1hdHRlZCBhZGRyZXNzXG4gICAgICBjb25zdCBwYXJ0cyA9IHBsYWNlRGV0YWlscy5mb3JtYXR0ZWRBZGRyZXNzLnNwbGl0KCcsJyk7XG4gICAgICBpZiAocGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgICBhZGRyZXNzLmxpbmVPbmUgPSBwYXJ0c1swXS50cmltKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZHJlc3NJbk9uZUxpbmUoYWRkcmVzczogYW55KSB7XG4gIGNvbnN0IGEgPSBhZGRyZXNzID8gYWRkcmVzcyA6IHt9O1xuICBjb25zdCB7XG4gICAgY2l0eSxcbiAgICBjb3VudHJ5LFxuICAgIGxpbmVPbmUsXG4gICAgbGluZVR3byxcbiAgICBwb3N0Y29kZSxcbiAgICBzdGF0ZVxuICB9ID0gYTtcbiAgY29uc3QgbDEgPSBsaW5lT25lID8gYCR7bGluZU9uZX0gYCA6ICcnO1xuICBjb25zdCBsMiA9IGxpbmVUd28gPyBgJHtsaW5lVHdvfSBgIDogJyc7XG4gIGNvbnN0IGMgPSBjaXR5ID8gYCR7Y2l0eX0gYCA6ICcnO1xuICBjb25zdCBzID0gc3RhdGUgPyBgJHtzdGF0ZX0gYCA6ICcnO1xuICBjb25zdCBwID0gcG9zdGNvZGUgPyBgJHtwb3N0Y29kZX0gYCA6ICcnO1xuICBjb25zdCBjb3VudHJ5RnVsbCA9IGNvdW50cnkgPyBpc29Db3VudHJpZXNbY291bnRyeV0gOiAnJztcbiAgcmV0dXJuIGwxICsgbDIgKyBjICsgcyArIHAgKyBjb3VudHJ5RnVsbDtcbn1cblxuZXhwb3J0IGVudW0gRmllbGRUeXBlIHtcbiAgVEVYVF9JTlBVVCA9IDEsXG4gIFNFTEVDVCA9IDIsXG4gIEZJTEVfVVBMT0FEID0gMyxcbiAgVEVYVF9BUkVBID0gNCxcbiAgTlVNQkVSX0lOUFVUID0gNSxcbiAgQ0hFQ0tCT1ggPSA2LFxuICBSQURJTyA9IDcsXG4gIEZJRUxEX0lOU1RSVUNUSU9OUyA9IDgsXG4gIElNQUdFX1NFTEVDVCA9IDksXG4gIENPTE9VUl9QSUNLRVIgPSAxMCxcbiAgQ09MT1VSX1NFTEVDVCA9IDExLFxuICBUVVJOQVJPVU5EX1RJTUUgPSAxMixcbiAgQ09MT1VSX0VYVFJBQ1QgPSAxMyxcbiAgQVJFQSA9IDE0LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTZWxlY3RhYmxlKGZpZWxkVHlwZTogbnVtYmVyKSB7XG4gIHJldHVybiBbXG4gICAgRmllbGRUeXBlLlNFTEVDVCxcbiAgICBGaWVsZFR5cGUuQ0hFQ0tCT1gsXG4gICAgRmllbGRUeXBlLlJBRElPLFxuICAgIEZpZWxkVHlwZS5JTUFHRV9TRUxFQ1QsXG4gICAgRmllbGRUeXBlLkNPTE9VUl9TRUxFQ1QsXG4gICAgRmllbGRUeXBlLlRVUk5BUk9VTkRfVElNRSxcbiAgICBGaWVsZFR5cGUuQ09MT1VSX0VYVFJBQ1QsXG4gIF0uaW5jbHVkZXMoZmllbGRUeXBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5zdHJ1Y3Rpb25zVHlwZShmaWVsZFR5cGU6IG51bWJlcikge1xuICByZXR1cm4gU3RyaW5nKEZpZWxkVHlwZS5GSUVMRF9JTlNUUlVDVElPTlMpID09PSBTdHJpbmcoZmllbGRUeXBlKTtcbn1cblxuZXhwb3J0IGNvbnN0IGNvdW50cnlEZWZhdWx0RGljdCA9IChjdXJyZW5jeTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiB7Y3VycmVuY3k6IGN1cnJlbmN5fTtcbn07XG4gIFxuZXhwb3J0IGNvbnN0IHN1cHBvcnRlZENvdW50cnlEZWZhdWx0czogYW55ID0ge1xuICBBRTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgQVU6IGNvdW50cnlEZWZhdWx0RGljdCgnQVVEJyksXG4gIEJIOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBDSDogY291bnRyeURlZmF1bHREaWN0KCdDTlknKSxcbiAgREs6IGNvdW50cnlEZWZhdWx0RGljdCgnRVVSJyksXG4gIEVTOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0VVUicpLFxuICBGUjogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcbiAgR0I6IGNvdW50cnlEZWZhdWx0RGljdCgnR0JQJyksXG4gIEhLOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0hLRCcpLFxuICBJRDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgSU46IGNvdW50cnlEZWZhdWx0RGljdCgnSU5SJyksXG4gIElUOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0VVUicpLFxuICBLUjogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgTkM6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIE5aOiBjb3VudHJ5RGVmYXVsdERpY3QoJ05aRCcpLFxuICBPTTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgUEg6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIFBUOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0VVUicpLFxuICBRQTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgU0U6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIFNHOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1NHRCcpLFxuICBUSDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgVVM6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIFpBOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxufTtcbiAgXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkQ291bnRyeURlZmF1bHRzV2l0aERlZmF1bHQgPSAoY291bnRyeUNvZGU6IGFueSkgPT4ge1xuICBjb25zdCBkZWZhdWx0Q291bnRyeVZhbHVlcyA9IHN1cHBvcnRlZENvdW50cnlEZWZhdWx0c1tjb3VudHJ5Q29kZV07XG4gIHJldHVybiBkZWZhdWx0Q291bnRyeVZhbHVlcyA/IGRlZmF1bHRDb3VudHJ5VmFsdWVzIDogc3VwcG9ydGVkQ291bnRyeURlZmF1bHRzLkFVO1xufTtcblxuaW50ZXJmYWNlIENsaWVudEZpbGVBbmRPYmplY3RJZCB7XG4gIGZpbGU/OiBhbnk7XG4gIG9iamVjdElkPzogc3RyaW5nO1xuICBpZD86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZnVuY3Rpb24gaXNGaWxlUmVmKHZhbHVlOiBhbnkpIHtcbiAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgdmFsdWUuaWQgIT0gbnVsbCAmJiB2YWx1ZS5pZCAhPT0gJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkNsaWVudEZpbGVzKGNsaWVudEZpbGVzOiBDbGllbnRGaWxlQW5kT2JqZWN0SWRbXSA9IFtdKSB7XG4gIHJldHVybiBjbGllbnRGaWxlc1xuICAgIC5tYXAoKGNsaWVudEZpbGU6IENsaWVudEZpbGVBbmRPYmplY3RJZCkgPT4ge1xuICAgICAgaWYgKCFjbGllbnRGaWxlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgaWYgKGlzRmlsZVJlZihjbGllbnRGaWxlLmZpbGUpKSByZXR1cm4gY2xpZW50RmlsZS5maWxlO1xuICAgICAgaWYgKGlzRmlsZVJlZihjbGllbnRGaWxlKSkgcmV0dXJuIHsgaWQ6IGNsaWVudEZpbGUuaWQgfTtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSlcbiAgICAuZmlsdGVyKChmaWxlKSA9PiBmaWxlICE9IG51bGwpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kQ2xpZW50VG9Pd25EcmFmdChqb2I6IGFueSkge1xuICBjb25zdCB7IG93bkRyYWZ0cyB9ID0gam9iO1xuICBpZiAoam9iLm93bkRyYWZ0cyAmJiBqb2Iub3duRHJhZnRzLmxlbmd0aCkge1xuICAgIGpvYi5vd25EcmFmdHNbMF0uZGVzaWduZXIgPSBqb2IuY2xpZW50O1xuICB9XG4gIHJldHVybiBqb2I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VjY2Vzc1JlZGlyZWN0RXh0cmFzIHtcbiAgLyoqIEludm9pY2UgaWQgZm9yIHBhaWQgY2hlY2tvdXQsIG9yIGpvYiBpZCBmb3IgcXVvdGUgcmVxdWVzdHMuICovXG4gIGludm9pY2VJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGw7XG4gIGVtYWlsPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBEZWNvZGUvbm9ybWFsaXplIGEgcmVkaXJlY3QgYmFzZSBVUkwgZnJvbSBlbWJlZCBzY3JpcHQgcGFyYW1zLlxuICogSGFuZGxlcyBwZXJjZW50LWVuY29kaW5nLCBsZWdhY3kgJTI3IHdyYXBwZXJzLCBhbmQgdHJhaWxpbmcganVuay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVJlZGlyZWN0QmFzZVVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGxldCBjbGVhbiA9IFN0cmluZyh1cmwgfHwgJycpXG4gICAgLnRyaW0oKVxuICAgIC5yZXBsYWNlKC8lMjcvZywgJycpXG4gICAgLnJlcGxhY2UoLyU5MS9nLCAnJylcbiAgICAucmVwbGFjZSgvJTkyL2csICcnKVxuICAgIC5yZXBsYWNlKC8lOTMvZywgJycpXG4gICAgLnJlcGxhY2UoLyU5NC9nLCAnJylcbiAgICAucmVwbGFjZSgvXlsnXCJdK3xbJ1wiXSskL2csICcnKTtcblxuICAvLyBGdWxseSBkZWNvZGUgc28gZW5jb2RlZCBhYnNvbHV0ZSBVUkxzIGFyZSBub3QgdHJlYXRlZCBhcyByZWxhdGl2ZSBwYXRocy5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCAyOyBpKyspIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCEvJVswLTlBLUZhLWZdezJ9Ly50ZXN0KGNsZWFuKSkgYnJlYWs7XG4gICAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KGNsZWFuKTtcbiAgICAgIGlmIChkZWNvZGVkID09PSBjbGVhbikgYnJlYWs7XG4gICAgICBjbGVhbiA9IGRlY29kZWQ7XG4gICAgfSBjYXRjaCB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDbGllbnRFbWFpbChjbGllbnQ6IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGVtYWlsID0gY2xpZW50Py5lbWFpbEFkZHJlc3Nlcz8uWzBdPy5lbWFpbEFkZHJlc3M7XG4gIHJldHVybiB0eXBlb2YgZW1haWwgPT09ICdzdHJpbmcnICYmIGVtYWlsLnRyaW0oKSA/IGVtYWlsLnRyaW0oKSA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgcG9zdC1jaGVja291dC9xdW90ZSByZWRpcmVjdCBVUkwgd2l0aCBwcm9wZXIgcXVlcnkgc2VwYXJhdG9ycy5cbiAqIEFsd2F5cyBzYWZlIHdoZW4gdGhlIGJhc2UgVVJMIG9taXRzIGEgdHJhaWxpbmcgXCI/XCIgLyBcIiZcIi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU3VjY2Vzc1JlZGlyZWN0VXJsKFxuICB1cmw6IHN0cmluZyxcbiAgcmVkaXJlY3RXaXRoVmFsdWU/OiBib29sZWFuLFxuICB2YWx1ZT86IGFueSxcbiAgZXh0cmFzOiBTdWNjZXNzUmVkaXJlY3RFeHRyYXMgPSB7fSxcbik6IHN0cmluZyB7XG4gIGNvbnN0IGJhc2UgPSBub3JtYWxpemVSZWRpcmVjdEJhc2VVcmwodXJsKTtcbiAgaWYgKCFiYXNlKSByZXR1cm4gYmFzZTtcblxuICBjb25zdCB0YXJnZXQgPSBuZXcgVVJMKFxuICAgIGJhc2UsXG4gICAgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cubG9jYXRpb24uaHJlZiA6ICdodHRwczovL3BsYWNlaG9sZGVyLmludmFsaWQvJyxcbiAgKTtcblxuICBpZiAoXG4gICAgcmVkaXJlY3RXaXRoVmFsdWUgJiZcbiAgICB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB2YWx1ZSAhPT0gJydcbiAgKSB7XG4gICAgdGFyZ2V0LnNlYXJjaFBhcmFtcy5zZXQoJ21lcmNoaVZhbHVlJywgU3RyaW5nKHZhbHVlKSk7XG4gIH1cblxuICBpZiAoZXh0cmFzLmludm9pY2VJZCAhPT0gdW5kZWZpbmVkICYmIGV4dHJhcy5pbnZvaWNlSWQgIT09IG51bGwgJiYgZXh0cmFzLmludm9pY2VJZCAhPT0gJycpIHtcbiAgICB0YXJnZXQuc2VhcmNoUGFyYW1zLnNldCgnaW52b2ljZUlkJywgU3RyaW5nKGV4dHJhcy5pbnZvaWNlSWQpKTtcbiAgfVxuXG4gIGlmIChleHRyYXMuZW1haWwpIHtcbiAgICB0YXJnZXQuc2VhcmNoUGFyYW1zLnNldCgnZW1haWwnLCBTdHJpbmcoZXh0cmFzLmVtYWlsKSk7XG4gIH1cblxuICAvLyBQcmVzZXJ2ZSBwcm90b2NvbC1yZWxhdGl2ZSByZWRpcmVjdCB0YXJnZXRzICgvL2V4YW1wbGUuY29tLy4uLikuXG4gIGlmIChiYXNlLnN0YXJ0c1dpdGgoJy8vJykpIHtcbiAgICByZXR1cm4gYC8vJHt0YXJnZXQuaG9zdH0ke3RhcmdldC5wYXRobmFtZX0ke3RhcmdldC5zZWFyY2h9JHt0YXJnZXQuaGFzaH1gO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldC50b1N0cmluZygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkaXJlY3RPblN1Y2Nlc3MoXG4gIHVybDogc3RyaW5nLFxuICByZWRpcmVjdFdpdGhWYWx1ZT86IGJvb2xlYW4sXG4gIHZhbHVlPzogYW55LFxuICBleHRyYXM6IFN1Y2Nlc3NSZWRpcmVjdEV4dHJhcyA9IHt9LFxuKSB7XG4gIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYnVpbGRTdWNjZXNzUmVkaXJlY3RVcmwoXG4gICAgdXJsLFxuICAgIHJlZGlyZWN0V2l0aFZhbHVlLFxuICAgIHZhbHVlLFxuICAgIGV4dHJhcyxcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsV0FBVyxFQUFFQyxJQUFJLFFBQVEsU0FBUztBQUUzQyxPQUFPLElBQU1DLFlBQWlCLEdBQUc7RUFDL0JDLEVBQUUsRUFBRSxhQUFhO0VBQ2pCQyxFQUFFLEVBQUUs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
|
|
561
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9kdWN0VHlwZSIsIlJvbGUiLCJpc29Db3VudHJpZXMiLCJBRiIsIkFYIiwiQUwiLCJEWiIsIkFTIiwiQUQiLCJBTyIsIkFJIiwiQVEiLCJBRyIsIkFSIiwiQU0iLCJBVyIsIkFVIiwiQVQiLCJBWiIsIkJTIiwiQkgiLCJCRCIsIkJCIiwiQlkiLCJCRSIsIkJaIiwiQkoiLCJCTSIsIkJUIiwiQk8iLCJCQSIsIkJXIiwiQlYiLCJCUiIsIklPIiwiQk4iLCJCRyIsIkJGIiwiQkkiLCJLSCIsIkNNIiwiQ0EiLCJDViIsIktZIiwiQ0YiLCJURCIsIkNMIiwiQ04iLCJDWCIsIkNDIiwiQ08iLCJLTSIsIkNHIiwiQ0QiLCJDSyIsIkNSIiwiQ0kiLCJIUiIsIkNVIiwiQ1kiLCJDWiIsIkRLIiwiREoiLCJETSIsIkRPIiwiRUMiLCJFRyIsIlNWIiwiR1EiLCJFUiIsIkVFIiwiRVQiLCJGSyIsIkZPIiwiRkoiLCJGSSIsIkZSIiwiR0YiLCJQRiIsIlRGIiwiR0EiLCJHTSIsIkdFIiwiREUiLCJHSCIsIkdJIiwiR1IiLCJHTCIsIkdEIiwiR1AiLCJHVSIsIkdUIiwiR0ciLCJHTiIsIkdXIiwiR1kiLCJIVCIsIkhNIiwiVkEiLCJITiIsIkhLIiwiSFUiLCJJUyIsIklOIiwiSUQiLCJJUiIsIklRIiwiSUUiLCJJTSIsIklMIiwiSVQiLCJKTSIsIkpQIiwiSkUiLCJKTyIsIktaIiwiS0UiLCJLSSIsIktSIiwiS1ciLCJLRyIsIkxBIiwiTFYiLCJMQiIsIkxTIiwiTFIiLCJMWSIsIkxJIiwiTFQiLCJMVSIsIk1PIiwiTUsiLCJNRyIsIk1XIiwiTVkiLCJNViIsIk1MIiwiTVQiLCJNSCIsIk1RIiwiTVIiLCJNVSIsIllUIiwiTVgiLCJGTSIsIk1EIiwiTUMiLCJNTiIsIk1FIiwiTVMiLCJNQSIsIk1aIiwiTU0iLCJOQSIsIk5SIiwiTlAiLCJOTCIsIkFOIiwiTkMiLCJOWiIsIk5JIiwiTkUiLCJORyIsIk5VIiwiTkYiLCJNUCIsIk5PIiwiT00iLCJQSyIsIlBXIiwiUFMiLCJQQSIsIlBHIiwiUFkiLCJQRSIsIlBIIiwiUE4iLCJQTCIsIlBUIiwiUFIiLCJRQSIsIlJFIiwiUk8iLCJSVSIsIlJXIiwiQkwiLCJTSCIsIktOIiwiTEMiLCJNRiIsIlBNIiwiVkMiLCJXUyIsIlNNIiwiU1QiLCJTQSIsIlNOIiwiUlMiLCJTQyIsIlNMIiwiU0ciLCJTSyIsIlNJIiwiU0IiLCJTTyIsIlpBIiwiR1MiLCJFUyIsIkxLIiwiU0QiLCJTUiIsIlNKIiwiU1oiLCJTRSIsIkNIIiwiU1kiLCJUVyIsIlRKIiwiVFoiLCJUSCIsIlRMIiwiVEciLCJUSyIsIlRPIiwiVFQiLCJUTiIsIlRSIiwiVE0iLCJUQyIsIlRWIiwiVUciLCJVQSIsIkFFIiwiR0IiLCJVUyIsIlVNIiwiVVkiLCJVWiIsIlZVIiwiVkUiLCJWTiIsIlZHIiwiVkkiLCJXRiIsIkVIIiwiWUUiLCJaTSIsIlpXIiwidXNlckRvbWFpbnNCeVJvbGVzIiwidXNlciIsInJvbGVzIiwiZUQiLCJlbnJvbGxlZERvbWFpbnMiLCJkb21haW5zIiwiaSIsImxlbmd0aCIsImUiLCJpbmNsdWRlcyIsInJvbGUiLCJwdXNoIiwiZG9tYWluIiwidXNlckFkbWluRG9tYWlucyIsIkFETUlOIiwiTUFOQUdFUiIsImlzUHJvZHVjdFN1cHBsaWVyTU9EIiwicHJvZHVjdCIsInByb2R1Y3RUeXBlIiwiU3RyaW5nIiwiU1VQUExJRVJfTU9EIiwiU1VQUExJRVJfUkVTRUxMX01PRCIsImlzVXNlclJlZ2lzdGVyZWQiLCJpZCIsInVuZGVmaW5lZCIsImlzUmVnaXN0ZXJlZEFuZEhhc1N0b3JlIiwiaGFzU3RvcmUiLCJzdXBwb3J0ZWROdW1iZXJzIiwicGhvbmVPcHRpb25zIiwiT2JqZWN0Iiwia2V5cyIsIm1hcCIsImtleSIsInZhbHVlIiwibGFiZWwiLCJhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZCIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSIsImFkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMiIsImNvdW50cnkiLCJlc3RhYmxpc2htZW50IiwiZmxvb3IiLCJsb2NhbGl0eSIsInBvc3RhbF9jb2RlIiwicHJlbWlzZSIsInJvb20iLCJyb3V0ZSIsInN0cmVldF9udW1iZXIiLCJzdWJsb2NhbGl0eSIsInN1YnByZW1pc2UiLCJnb29nbGVQbGFjZXNSZXN1bHRBc05ld0FkZHJlc3MiLCJwbGFjZURldGFpbHMiLCJhZGRyZXNzQ29tcG9uZW50cyIsIm5hbWUiLCJhZGRyZXNzIiwiY2l0eSIsImxpbmVPbmUiLCJsaW5lVHdvIiwicG9zdGNvZGUiLCJzdGF0ZSIsImFkZHJDb21wb25lbnQiLCJhZGRyVHlwZXMiLCJ0eXBlcyIsImFkZHJUeXBlIiwiY29tcG9uZW50U2V0dGluZyIsIl9pdGVyYXRvciIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiX3N0ZXAiLCJzIiwibiIsImRvbmUiLCJ0eXBlIiwiZXJyIiwiZiIsImFkZHJlc3NWYWwiLCJvbGRMaW5lT25lIiwiY29uY2F0IiwidHJpbSIsIm9sZENpdHkiLCJmb3JtYXR0ZWRBZGRyZXNzIiwicGFydHMiLCJzcGxpdCIsImFkZHJlc3NJbk9uZUxpbmUiLCJhIiwibDEiLCJsMiIsImMiLCJwIiwiY291bnRyeUZ1bGwiLCJGaWVsZFR5cGUiLCJpc1NlbGVjdGFibGUiLCJmaWVsZFR5cGUiLCJTRUxFQ1QiLCJDSEVDS0JPWCIsIlJBRElPIiwiSU1BR0VfU0VMRUNUIiwiQ09MT1VSX1NFTEVDVCIsIlRVUk5BUk9VTkRfVElNRSIsIkNPTE9VUl9FWFRSQUNUIiwiaXNJbnN0cnVjdGlvbnNUeXBlIiwiRklFTERfSU5TVFJVQ1RJT05TIiwiY291bnRyeURlZmF1bHREaWN0IiwiY3VycmVuY3kiLCJzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHMiLCJzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHNXaXRoRGVmYXVsdCIsImNvdW50cnlDb2RlIiwiZGVmYXVsdENvdW50cnlWYWx1ZXMiLCJpc0ZpbGVSZWYiLCJjbGVhbkNsaWVudEZpbGVzIiwiY2xpZW50RmlsZXMiLCJhcmd1bWVudHMiLCJjbGllbnRGaWxlIiwiZmlsZSIsImZpbHRlciIsImFwcGVuZENsaWVudFRvT3duRHJhZnQiLCJqb2IiLCJvd25EcmFmdHMiLCJkZXNpZ25lciIsImNsaWVudCIsIm5vcm1hbGl6ZVJlZGlyZWN0QmFzZVVybCIsInVybCIsImNsZWFuIiwicmVwbGFjZSIsInRlc3QiLCJkZWNvZGVkIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiX3VudXNlZCIsImdldENsaWVudEVtYWlsIiwiX2NsaWVudCRlbWFpbEFkZHJlc3NlIiwiZW1haWwiLCJlbWFpbEFkZHJlc3NlcyIsImVtYWlsQWRkcmVzcyIsImJ1aWxkU3VjY2Vzc1JlZGlyZWN0VXJsIiwicmVkaXJlY3RXaXRoVmFsdWUiLCJleHRyYXMiLCJiYXNlIiwidGFyZ2V0IiwiVVJMIiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwic2VhcmNoUGFyYW1zIiwic2V0IiwiaW52b2ljZUlkIiwic3RhcnRzV2l0aCIsImhvc3QiLCJwYXRobmFtZSIsInNlYXJjaCIsImhhc2giLCJ0b1N0cmluZyIsInJlZGlyZWN0T25TdWNjZXNzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3V0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2R1Y3RUeXBlLCBSb2xlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBpc29Db3VudHJpZXM6IGFueSA9IHtcbiAgQUY6IFwiQWZnaGFuaXN0YW5cIixcbiAgQVg6IFwiQWxhbmQgSXNsYW5kc1wiLFxuICBBTDogXCJBbGJhbmlhXCIsXG4gIERaOiBcIkFsZ2VyaWFcIixcbiAgQVM6IFwiQW1lcmljYW4gU2Ftb2FcIixcbiAgQUQ6IFwiQW5kb3JyYVwiLFxuICBBTzogXCJBbmdvbGFcIixcbiAgQUk6IFwiQW5ndWlsbGFcIixcbiAgQVE6IFwiQW50YXJjdGljYVwiLFxuICBBRzogXCJBbnRpZ3VhIEFuZCBCYXJidWRhXCIsXG4gIEFSOiBcIkFyZ2VudGluYVwiLFxuICBBTTogXCJBcm1lbmlhXCIsXG4gIEFXOiBcIkFydWJhXCIsXG4gIEFVOiBcIkF1c3RyYWxpYVwiLFxuICBBVDogXCJBdXN0cmlhXCIsXG4gIEFaOiBcIkF6ZXJiYWlqYW5cIixcbiAgQlM6IFwiQmFoYW1hc1wiLFxuICBCSDogXCJCYWhyYWluXCIsXG4gIEJEOiBcIkJhbmdsYWRlc2hcIixcbiAgQkI6IFwiQmFyYmFkb3NcIixcbiAgQlk6IFwiQmVsYXJ1c1wiLFxuICBCRTogXCJCZWxnaXVtXCIsXG4gIEJaOiBcIkJlbGl6ZVwiLFxuICBCSjogXCJCZW5pblwiLFxuICBCTTogXCJCZXJtdWRhXCIsXG4gIEJUOiBcIkJodXRhblwiLFxuICBCTzogXCJCb2xpdmlhXCIsXG4gIEJBOiBcIkJvc25pYSBBbmQgSGVyemVnb3ZpbmFcIixcbiAgQlc6IFwiQm90c3dhbmFcIixcbiAgQlY6IFwiQm91dmV0IElzbGFuZFwiLFxuICBCUjogXCJCcmF6aWxcIixcbiAgSU86IFwiQnJpdGlzaCBJbmRpYW4gT2NlYW4gVGVycml0b3J5XCIsXG4gIEJOOiBcIkJydW5laSBEYXJ1c3NhbGFtXCIsXG4gIEJHOiBcIkJ1bGdhcmlhXCIsXG4gIEJGOiBcIkJ1cmtpbmEgRmFzb1wiLFxuICBCSTogXCJCdXJ1bmRpXCIsXG4gIEtIOiBcIkNhbWJvZGlhXCIsXG4gIENNOiBcIkNhbWVyb29uXCIsXG4gIENBOiBcIkNhbmFkYVwiLFxuICBDVjogXCJDYXBlIFZlcmRlXCIsXG4gIEtZOiBcIkNheW1hbiBJc2xhbmRzXCIsXG4gIENGOiBcIkNlbnRyYWwgQWZyaWNhbiBSZXB1YmxpY1wiLFxuICBURDogXCJDaGFkXCIsXG4gIENMOiBcIkNoaWxlXCIsXG4gIENOOiBcIkNoaW5hXCIsXG4gIENYOiBcIkNocmlzdG1hcyBJc2xhbmRcIixcbiAgQ0M6IFwiQ29jb3MgKEtlZWxpbmcpIElzbGFuZHNcIixcbiAgQ086IFwiQ29sb21iaWFcIixcbiAgS006IFwiQ29tb3Jvc1wiLFxuICBDRzogXCJDb25nb1wiLFxuICBDRDogXCJDb25nbywgRGVtb2NyYXRpYyBSZXB1YmxpY1wiLFxuICBDSzogXCJDb29rIElzbGFuZHNcIixcbiAgQ1I6IFwiQ29zdGEgUmljYVwiLFxuICBDSTogXCJDb3RlIEQnSXZvaXJlXCIsXG4gIEhSOiBcIkNyb2F0aWFcIixcbiAgQ1U6IFwiQ3ViYVwiLFxuICBDWTogXCJDeXBydXNcIixcbiAgQ1o6IFwiQ3plY2ggUmVwdWJsaWNcIixcbiAgREs6IFwiRGVubWFya1wiLFxuICBESjogXCJEamlib3V0aVwiLFxuICBETTogXCJEb21pbmljYVwiLFxuICBETzogXCJEb21pbmljYW4gUmVwdWJsaWNcIixcbiAgRUM6IFwiRWN1YWRvclwiLFxuICBFRzogXCJFZ3lwdFwiLFxuICBTVjogXCJFbCBTYWx2YWRvclwiLFxuICBHUTogXCJFcXVhdG9yaWFsIEd1aW5lYVwiLFxuICBFUjogXCJFcml0cmVhXCIsXG4gIEVFOiBcIkVzdG9uaWFcIixcbiAgRVQ6IFwiRXRoaW9waWFcIixcbiAgRks6IFwiRmFsa2xhbmQgSXNsYW5kcyAoTWFsdmluYXMpXCIsXG4gIEZPOiBcIkZhcm9lIElzbGFuZHNcIixcbiAgRko6IFwiRmlqaVwiLFxuICBGSTogXCJGaW5sYW5kXCIsXG4gIEZSOiBcIkZyYW5jZVwiLFxuICBHRjogXCJGcmVuY2ggR3VpYW5hXCIsXG4gIFBGOiBcIkZyZW5jaCBQb2x5bmVzaWFcIixcbiAgVEY6IFwiRnJlbmNoIFNvdXRoZXJuIFRlcnJpdG9yaWVzXCIsXG4gIEdBOiBcIkdhYm9uXCIsXG4gIEdNOiBcIkdhbWJpYVwiLFxuICBHRTogXCJHZW9yZ2lhXCIsXG4gIERFOiBcIkdlcm1hbnlcIixcbiAgR0g6IFwiR2hhbmFcIixcbiAgR0k6IFwiR2licmFsdGFyXCIsXG4gIEdSOiBcIkdyZWVjZVwiLFxuICBHTDogXCJHcmVlbmxhbmRcIixcbiAgR0Q6IFwiR3JlbmFkYVwiLFxuICBHUDogXCJHdWFkZWxvdXBlXCIsXG4gIEdVOiBcIkd1YW1cIixcbiAgR1Q6IFwiR3VhdGVtYWxhXCIsXG4gIEdHOiBcIkd1ZXJuc2V5XCIsXG4gIEdOOiBcIkd1aW5lYVwiLFxuICBHVzogXCJHdWluZWEtQmlzc2F1XCIsXG4gIEdZOiBcIkd1eWFuYVwiLFxuICBIVDogXCJIYWl0aVwiLFxuICBITTogXCJIZWFyZCBJc2xhbmQgJiBNY2RvbmFsZCBJc2xhbmRzXCIsXG4gIFZBOiBcIkhvbHkgU2VlIChWYXRpY2FuIENpdHkgU3RhdGUpXCIsXG4gIEhOOiBcIkhvbmR1cmFzXCIsXG4gIEhLOiBcIkhvbmcgS29uZ1wiLFxuICBIVTogXCJIdW5nYXJ5XCIsXG4gIElTOiBcIkljZWxhbmRcIixcbiAgSU46IFwiSW5kaWFcIixcbiAgSUQ6IFwiSW5kb25lc2lhXCIsXG4gIElSOiBcIklyYW4sIElzbGFtaWMgUmVwdWJsaWMgT2ZcIixcbiAgSVE6IFwiSXJhcVwiLFxuICBJRTogXCJJcmVsYW5kXCIsXG4gIElNOiBcIklzbGUgT2YgTWFuXCIsXG4gIElMOiBcIklzcmFlbFwiLFxuICBJVDogXCJJdGFseVwiLFxuICBKTTogXCJKYW1haWNhXCIsXG4gIEpQOiBcIkphcGFuXCIsXG4gIEpFOiBcIkplcnNleVwiLFxuICBKTzogXCJKb3JkYW5cIixcbiAgS1o6IFwiS2F6YWtoc3RhblwiLFxuICBLRTogXCJLZW55YVwiLFxuICBLSTogXCJLaXJpYmF0aVwiLFxuICBLUjogXCJLb3JlYVwiLFxuICBLVzogXCJLdXdhaXRcIixcbiAgS0c6IFwiS3lyZ3l6c3RhblwiLFxuICBMQTogXCJMYW8gUGVvcGxlJ3MgRGVtb2NyYXRpYyBSZXB1YmxpY1wiLFxuICBMVjogXCJMYXR2aWFcIixcbiAgTEI6IFwiTGViYW5vblwiLFxuICBMUzogXCJMZXNvdGhvXCIsXG4gIExSOiBcIkxpYmVyaWFcIixcbiAgTFk6IFwiTGlieWFuIEFyYWIgSmFtYWhpcml5YVwiLFxuICBMSTogXCJMaWVjaHRlbnN0ZWluXCIsXG4gIExUOiBcIkxpdGh1YW5pYVwiLFxuICBMVTogXCJMdXhlbWJvdXJnXCIsXG4gIE1POiBcIk1hY2FvXCIsXG4gIE1LOiBcIk1hY2Vkb25pYVwiLFxuICBNRzogXCJNYWRhZ2FzY2FyXCIsXG4gIE1XOiBcIk1hbGF3aVwiLFxuICBNWTogXCJNYWxheXNpYVwiLFxuICBNVjogXCJNYWxkaXZlc1wiLFxuICBNTDogXCJNYWxpXCIsXG4gIE1UOiBcIk1hbHRhXCIsXG4gIE1IOiBcIk1hcnNoYWxsIElzbGFuZHNcIixcbiAgTVE6IFwiTWFydGluaXF1ZVwiLFxuICBNUjogXCJNYXVyaXRhbmlhXCIsXG4gIE1VOiBcIk1hdXJpdGl1c1wiLFxuICBZVDogXCJNYXlvdHRlXCIsXG4gIE1YOiBcIk1leGljb1wiLFxuICBGTTogXCJNaWNyb25lc2lhLCBGZWRlcmF0ZWQgU3RhdGVzIE9mXCIsXG4gIE1EOiBcIk1vbGRvdmFcIixcbiAgTUM6IFwiTW9uYWNvXCIsXG4gIE1OOiBcIk1vbmdvbGlhXCIsXG4gIE1FOiBcIk1vbnRlbmVncm9cIixcbiAgTVM6IFwiTW9udHNlcnJhdFwiLFxuICBNQTogXCJNb3JvY2NvXCIsXG4gIE1aOiBcIk1vemFtYmlxdWVcIixcbiAgTU06IFwiTXlhbm1hclwiLFxuICBOQTogXCJOYW1pYmlhXCIsXG4gIE5SOiBcIk5hdXJ1XCIsXG4gIE5QOiBcIk5lcGFsXCIsXG4gIE5MOiBcIk5ldGhlcmxhbmRzXCIsXG4gIEFOOiBcIk5ldGhlcmxhbmRzIEFudGlsbGVzXCIsXG4gIE5DOiBcIk5ldyBDYWxlZG9uaWFcIixcbiAgTlo6IFwiTmV3IFplYWxhbmRcIixcbiAgTkk6IFwiTmljYXJhZ3VhXCIsXG4gIE5FOiBcIk5pZ2VyXCIsXG4gIE5HOiBcIk5pZ2VyaWFcIixcbiAgTlU6IFwiTml1ZVwiLFxuICBORjogXCJOb3Jmb2xrIElzbGFuZFwiLFxuICBNUDogXCJOb3J0aGVybiBNYXJpYW5hIElzbGFuZHNcIixcbiAgTk86IFwiTm9yd2F5XCIsXG4gIE9NOiBcIk9tYW5cIixcbiAgUEs6IFwiUGFraXN0YW5cIixcbiAgUFc6IFwiUGFsYXVcIixcbiAgUFM6IFwiUGFsZXN0aW5pYW4gVGVycml0b3J5LCBPY2N1cGllZFwiLFxuICBQQTogXCJQYW5hbWFcIixcbiAgUEc6IFwiUGFwdWEgTmV3IEd1aW5lYVwiLFxuICBQWTogXCJQYXJhZ3VheVwiLFxuICBQRTogXCJQZXJ1XCIsXG4gIFBIOiBcIlBoaWxpcHBpbmVzXCIsXG4gIFBOOiBcIlBpdGNhaXJuXCIsXG4gIFBMOiBcIlBvbGFuZFwiLFxuICBQVDogXCJQb3J0dWdhbFwiLFxuICBQUjogXCJQdWVydG8gUmljb1wiLFxuICBRQTogXCJRYXRhclwiLFxuICBSRTogXCJSZXVuaW9uXCIsXG4gIFJPOiBcIlJvbWFuaWFcIixcbiAgUlU6IFwiUnVzc2lhbiBGZWRlcmF0aW9uXCIsXG4gIFJXOiBcIlJ3YW5kYVwiLFxuICBCTDogXCJTYWludCBCYXJ0aGVsZW15XCIsXG4gIFNIOiBcIlNhaW50IEhlbGVuYVwiLFxuICBLTjogXCJTYWludCBLaXR0cyBBbmQgTmV2aXNcIixcbiAgTEM6IFwiU2FpbnQgTHVjaWFcIixcbiAgTUY6IFwiU2FpbnQgTWFydGluXCIsXG4gIFBNOiBcIlNhaW50IFBpZXJyZSBBbmQgTWlxdWVsb25cIixcbiAgVkM6IFwiU2FpbnQgVmluY2VudCBBbmQgR3JlbmFkaW5lc1wiLFxuICBXUzogXCJTYW1vYVwiLFxuICBTTTogXCJTYW4gTWFyaW5vXCIsXG4gIFNUOiBcIlNhbyBUb21lIEFuZCBQcmluY2lwZVwiLFxuICBTQTogXCJTYXVkaSBBcmFiaWFcIixcbiAgU046IFwiU2VuZWdhbFwiLFxuICBSUzogXCJTZXJiaWFcIixcbiAgU0M6IFwiU2V5Y2hlbGxlc1wiLFxuICBTTDogXCJTaWVycmEgTGVvbmVcIixcbiAgU0c6IFwiU2luZ2Fwb3JlXCIsXG4gIFNLOiBcIlNsb3Zha2lhXCIsXG4gIFNJOiBcIlNsb3ZlbmlhXCIsXG4gIFNCOiBcIlNvbG9tb24gSXNsYW5kc1wiLFxuICBTTzogXCJTb21hbGlhXCIsXG4gIFpBOiBcIlNvdXRoIEFmcmljYVwiLFxuICBHUzogXCJTb3V0aCBHZW9yZ2lhIEFuZCBTYW5kd2ljaCBJc2wuXCIsXG4gIEVTOiBcIlNwYWluXCIsXG4gIExLOiBcIlNyaSBMYW5rYVwiLFxuICBTRDogXCJTdWRhblwiLFxuICBTUjogXCJTdXJpbmFtZVwiLFxuICBTSjogXCJTdmFsYmFyZCBBbmQgSmFuIE1heWVuXCIsXG4gIFNaOiBcIlN3YXppbGFuZFwiLFxuICBTRTogXCJTd2VkZW5cIixcbiAgQ0g6IFwiU3dpdHplcmxhbmRcIixcbiAgU1k6IFwiU3lyaWFuIEFyYWIgUmVwdWJsaWNcIixcbiAgVFc6IFwiVGFpd2FuXCIsXG4gIFRKOiBcIlRhamlraXN0YW5cIixcbiAgVFo6IFwiVGFuemFuaWFcIixcbiAgVEg6IFwiVGhhaWxhbmRcIixcbiAgVEw6IFwiVGltb3ItTGVzdGVcIixcbiAgVEc6IFwiVG9nb1wiLFxuICBUSzogXCJUb2tlbGF1XCIsXG4gIFRPOiBcIlRvbmdhXCIsXG4gIFRUOiBcIlRyaW5pZGFkIEFuZCBUb2JhZ29cIixcbiAgVE46IFwiVHVuaXNpYVwiLFxuICBUUjogXCJUdXJrZXlcIixcbiAgVE06IFwiVHVya21lbmlzdGFuXCIsXG4gIFRDOiBcIlR1cmtzIEFuZCBDYWljb3MgSXNsYW5kc1wiLFxuICBUVjogXCJUdXZhbHVcIixcbiAgVUc6IFwiVWdhbmRhXCIsXG4gIFVBOiBcIlVrcmFpbmVcIixcbiAgQUU6IFwiVW5pdGVkIEFyYWIgRW1pcmF0ZXNcIixcbiAgR0I6IFwiVW5pdGVkIEtpbmdkb21cIixcbiAgVVM6IFwiVW5pdGVkIFN0YXRlc1wiLFxuICBVTTogXCJVbml0ZWQgU3RhdGVzIE91dGx5aW5nIElzbGFuZHNcIixcbiAgVVk6IFwiVXJ1Z3VheVwiLFxuICBVWjogXCJVemJla2lzdGFuXCIsXG4gIFZVOiBcIlZhbnVhdHVcIixcbiAgVkU6IFwiVmVuZXp1ZWxhXCIsXG4gIFZOOiBcIlZpZXQgTmFtXCIsXG4gIFZHOiBcIlZpcmdpbiBJc2xhbmRzLCBCcml0aXNoXCIsXG4gIFZJOiBcIlZpcmdpbiBJc2xhbmRzLCBVLlMuXCIsXG4gIFdGOiBcIldhbGxpcyBBbmQgRnV0dW5hXCIsXG4gIEVIOiBcIldlc3Rlcm4gU2FoYXJhXCIsXG4gIFlFOiBcIlllbWVuXCIsXG4gIFpNOiBcIlphbWJpYVwiLFxuICBaVzogXCJaaW1iYWJ3ZVwiXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlckRvbWFpbnNCeVJvbGVzKHVzZXI6IGFueSwgcm9sZXM6IEFycmF5PG51bWJlcj4pIHtcbiAgY29uc3QgZUQgPSB1c2VyICYmIHVzZXIuZW5yb2xsZWREb21haW5zID8gdXNlci5lbnJvbGxlZERvbWFpbnMgOiBbXTtcbiAgY29uc3QgZG9tYWluczogYW55W10gPSBbXTtcbiAgbGV0IGkgPSAwO1xuICBmb3IgKGk7IGkgPCBlRC5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGUgPSBlRFtpXTtcbiAgICBpZiAocm9sZXMuaW5jbHVkZXMoZS5yb2xlKSkge1xuICAgICAgZG9tYWlucy5wdXNoKChlIGFzIGFueSkuZG9tYWluKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRvbWFpbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VyQWRtaW5Eb21haW5zKHVzZXI6IGFueSkge1xuICByZXR1cm4gdXNlckRvbWFpbnNCeVJvbGVzKHVzZXIsIFtSb2xlLkFETUlOLCBSb2xlLk1BTkFHRVJdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvZHVjdFN1cHBsaWVyTU9EKHByb2R1Y3Q6IGFueSkge1xuICBjb25zdCBwcm9kdWN0VHlwZSA9IHByb2R1Y3QgJiYgcHJvZHVjdC5wcm9kdWN0VHlwZVxuICByZXR1cm4gcHJvZHVjdCAmJiBbXG4gICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX01PRCksXG4gICAgU3RyaW5nKFByb2R1Y3RUeXBlLlNVUFBMSUVSX1JFU0VMTF9NT0QpXG4gIF0uaW5jbHVkZXMoU3RyaW5nKHByb2R1Y3RUeXBlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VzZXJSZWdpc3RlcmVkKHVzZXI6IGFueSkge1xuICBjb25zdCBpZCA9IHVzZXIgPyB1c2VyLmlkIDogbnVsbDtcbiAgcmV0dXJuIGlkICE9PSB1bmRlZmluZWQgJiYgaWQgIT09IG51bGwgJiYgaWQgPiAwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWdpc3RlcmVkQW5kSGFzU3RvcmUodXNlcjogYW55KSB7XG4gIGNvbnN0IGlkID0gdXNlciA/IHVzZXIuaWQgOiBudWxsO1xuICByZXR1cm4gaWQgIT09IHVuZGVmaW5lZCAmJiBpZCAhPT0gbnVsbCAmJiBpZCA+IDAgJiYgdXNlci5oYXNTdG9yZTtcbn1cblxuY29uc3Qgc3VwcG9ydGVkTnVtYmVyczogYW55ID0ge1xuICBBVTogJ0F1c3RyYWxpYSAoKzYxKScsXG4gIEFFOiAnVW5pdGVkIEFyYWIgRW1pcmF0ZXMgKCs5NzEpJyxcbiAgQkg6ICdCYWhyYWluICgrOTczKScsXG4gIENOOiAnQ2hpbmEgKCs4NiknLFxuICBESzogJ0Rlbm1hcmsgKCs0NSknLFxuICBFUzogJ1NwYWluICgrMzQpJyxcbiAgRlI6ICdGcmFuY2UgKCszMyknLFxuICBHQjogJ1VuaXRlZCBLaW5nZG9tICgrNDQpJyxcbiAgSEs6ICdIb25nIEtvbmcgKCs4NTIpJyxcbiAgSUQ6ICdJbmRvbmVzaWEgKCs2MiknLFxuICBJTjogJ0luZGlhICgrOTEpJyxcbiAgSVQ6ICdJdGFseSAoKzM5KScsXG4gIEtSOiAnU291dGggS29yZWEgKCs4MiknLFxuICBOQzogJ05ldyBDYWxlZG9uaWEgKCs2ODcpJyxcbiAgTlo6ICdOZXcgWmVhbGFuZCAoKzY0KScsXG4gIE9NOiAnT21hbiAoKzk2OCknLFxuICBQSDogJ1BoaWxpcHBpbmVzICgrNjMpJyxcbiAgUFQ6ICdQb3J0dWdhbCAoKzM1MSknLFxuICBRQTogJ1FhdGFyICgrOTc0KScsXG4gIFNFOiAnU3dlZGVuICgrNDYpJyxcbiAgU0c6ICdTaW5nYXBvcmUgKCs2NSknLFxuICBUSDogJ1RoYWlsYW5kICgrNjYpJyxcbiAgVVM6ICdVbml0ZWQgU3RhdGVzICgrMSknLFxuICBaQTogJ1NvdXRoIEFmcmljYSAoKzI3KScsXG59O1xuXG5leHBvcnQgY29uc3QgcGhvbmVPcHRpb25zID0gT2JqZWN0LmtleXMoc3VwcG9ydGVkTnVtYmVycykubWFwKChrZXkpID0+ICh7XG4gIHZhbHVlOiBrZXksXG4gIGxhYmVsOiBzdXBwb3J0ZWROdW1iZXJzW2tleV0sXG59KSk7XG5cbmV4cG9ydCBjb25zdCBhZGRyZXNzQ29tcG9uZW50c1NldHRpbmdzQmFja2VuZDogYW55ID0ge1xuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzE6ICdzaG9ydE5hbWUnLFxuICBhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzI6ICdzaG9ydE5hbWUnLFxuICBjb3VudHJ5OiAnc2hvcnROYW1lJyxcbiAgZXN0YWJsaXNobWVudDogJ2xvbmdOYW1lJyxcbiAgZmxvb3I6ICdzaG9ydE5hbWUnLFxuICBsb2NhbGl0eTogJ2xvbmdOYW1lJyxcbiAgcG9zdGFsX2NvZGU6ICdzaG9ydE5hbWUnLFxuICBwcmVtaXNlOiAnc2hvcnROYW1lJyxcbiAgcm9vbTogJ2xvbmdOYW1lJyxcbiAgcm91dGU6ICdzaG9ydE5hbWUnLFxuICBzdHJlZXRfbnVtYmVyOiAnc2hvcnROYW1lJyxcbiAgc3VibG9jYWxpdHk6ICdsb25nTmFtZScsXG4gIHN1YnByZW1pc2U6ICdzaG9ydE5hbWUnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdvb2dsZVBsYWNlc1Jlc3VsdEFzTmV3QWRkcmVzcyhwbGFjZURldGFpbHM6IGFueSkge1xuICBjb25zdCBhZGRyZXNzQ29tcG9uZW50cyA9IHBsYWNlRGV0YWlscz8uYWRkcmVzc0NvbXBvbmVudHMgfHwgW107XG4gIGNvbnN0IG5hbWUgPSBwbGFjZURldGFpbHM/Lm5hbWUgfHwgJyc7XG4gIGNvbnN0IGFkZHJlc3MgPSB7XG4gICAgY2l0eTogJycsXG4gICAgY291bnRyeTogJycsXG4gICAgbGluZU9uZTogbmFtZSA/IG5hbWUgOiAnJyxcbiAgICBsaW5lVHdvOiAnJyxcbiAgICBwb3N0Y29kZTogJycsXG4gICAgc3RhdGU6ICcnLFxuICB9O1xuXG4gIGlmIChhZGRyZXNzQ29tcG9uZW50cyAmJiBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGggPiAwKSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhZGRyZXNzQ29tcG9uZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgYWRkckNvbXBvbmVudCA9IGFkZHJlc3NDb21wb25lbnRzW2ldO1xuICAgICAgY29uc3QgYWRkclR5cGVzID0gYWRkckNvbXBvbmVudC50eXBlcztcbiAgICAgIFxuICAgICAgLy8gRmluZCB0aGUgZmlyc3QgcmVsZXZhbnQgdHlwZSB0aGF0IHdlIGhhdmUgYSBzZXR0aW5nIGZvclxuICAgICAgbGV0IGFkZHJUeXBlID0gbnVsbDtcbiAgICAgIGxldCBjb21wb25lbnRTZXR0aW5nID0gbnVsbDtcbiAgICAgIFxuICAgICAgZm9yIChjb25zdCB0eXBlIG9mIGFkZHJUeXBlcykge1xuICAgICAgICBpZiAoYWRkcmVzc0NvbXBvbmVudHNTZXR0aW5nc0JhY2tlbmRbdHlwZV0pIHtcbiAgICAgICAgICBhZGRyVHlwZSA9IHR5cGU7XG4gICAgICAgICAgY29tcG9uZW50U2V0dGluZyA9IGFkZHJlc3NDb21wb25lbnRzU2V0dGluZ3NCYWNrZW5kW3R5cGVdO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChjb21wb25lbnRTZXR0aW5nICYmIGFkZHJUeXBlKSB7XG4gICAgICAgIGNvbnN0IGFkZHJlc3NWYWwgPSBhZGRyQ29tcG9uZW50W2NvbXBvbmVudFNldHRpbmddO1xuICAgICAgICBzd2l0Y2ggKGFkZHJUeXBlKSB7XG4gICAgICAgICAgY2FzZSAnZXN0YWJsaXNobWVudCc6XG4gICAgICAgICAgY2FzZSAncm9vbSc6XG4gICAgICAgICAgY2FzZSAnZmxvb3InOlxuICAgICAgICAgIGNhc2UgJ3N0cmVldF9udW1iZXInOlxuICAgICAgICAgIGNhc2UgJ3ByZW1pc2UnOlxuICAgICAgICAgIGNhc2UgJ3N1YnByZW1pc2UnOlxuICAgICAgICAgIGNhc2UgJ3JvdXRlJzpcbiAgICAgICAgICAgIGNvbnN0IG9sZExpbmVPbmUgPSBhZGRyZXNzLmxpbmVPbmU7XG4gICAgICAgICAgICBhZGRyZXNzLmxpbmVPbmUgPSBvbGRMaW5lT25lLmluY2x1ZGVzKGFkZHJlc3NWYWwpID9cbiAgICAgICAgICAgICAgb2xkTGluZU9uZSA6IGAke29sZExpbmVPbmV9ICR7YWRkcmVzc1ZhbH1gLnRyaW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2xvY2FsaXR5JzpcbiAgICAgICAgICBjYXNlICdzdWJsb2NhbGl0eSc6XG4gICAgICAgICAgICBjb25zdCBvbGRDaXR5ID0gYWRkcmVzcy5jaXR5ID8gYCR7YWRkcmVzcy5jaXR5fSBgIDogJyc7XG4gICAgICAgICAgICBhZGRyZXNzLmNpdHkgPSAob2xkQ2l0eSArIGFkZHJlc3NWYWwpLnRyaW0oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMSc6XG5cbiAgICAgICAgICAgIGFkZHJlc3Muc3RhdGUgPSBhZGRyZXNzVmFsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8yJzpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2NvdW50cnknOlxuXG4gICAgICAgICAgICBhZGRyZXNzLmNvdW50cnkgPSBhZGRyZXNzVmFsO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAncG9zdGFsX2NvZGUnOlxuICAgICAgICAgICAgYWRkcmVzcy5wb3N0Y29kZSA9IGFkZHJlc3NWYWw7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhbiB1cCBsaW5lIG9uZSBpZiBpdCdzIGVtcHR5IGFuZCB3ZSBoYXZlIGEgZm9ybWF0dGVkIGFkZHJlc3NcbiAgICBpZiAoIWFkZHJlc3MubGluZU9uZS50cmltKCkgJiYgcGxhY2VEZXRhaWxzPy5mb3JtYXR0ZWRBZGRyZXNzKSB7XG4gICAgICAvLyBUcnkgdG8gZXh0cmFjdCBzdHJlZXQgYWRkcmVzcyBmcm9tIGZvcm1hdHRlZCBhZGRyZXNzXG4gICAgICBjb25zdCBwYXJ0cyA9IHBsYWNlRGV0YWlscy5mb3JtYXR0ZWRBZGRyZXNzLnNwbGl0KCcsJyk7XG4gICAgICBpZiAocGFydHMubGVuZ3RoID4gMCkge1xuICAgICAgICBhZGRyZXNzLmxpbmVPbmUgPSBwYXJ0c1swXS50cmltKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFkZHJlc3M7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZHJlc3NJbk9uZUxpbmUoYWRkcmVzczogYW55KSB7XG4gIGNvbnN0IGEgPSBhZGRyZXNzID8gYWRkcmVzcyA6IHt9O1xuICBjb25zdCB7XG4gICAgY2l0eSxcbiAgICBjb3VudHJ5LFxuICAgIGxpbmVPbmUsXG4gICAgbGluZVR3byxcbiAgICBwb3N0Y29kZSxcbiAgICBzdGF0ZVxuICB9ID0gYTtcbiAgY29uc3QgbDEgPSBsaW5lT25lID8gYCR7bGluZU9uZX0gYCA6ICcnO1xuICBjb25zdCBsMiA9IGxpbmVUd28gPyBgJHtsaW5lVHdvfSBgIDogJyc7XG4gIGNvbnN0IGMgPSBjaXR5ID8gYCR7Y2l0eX0gYCA6ICcnO1xuICBjb25zdCBzID0gc3RhdGUgPyBgJHtzdGF0ZX0gYCA6ICcnO1xuICBjb25zdCBwID0gcG9zdGNvZGUgPyBgJHtwb3N0Y29kZX0gYCA6ICcnO1xuICBjb25zdCBjb3VudHJ5RnVsbCA9IGNvdW50cnkgPyBpc29Db3VudHJpZXNbY291bnRyeV0gOiAnJztcbiAgcmV0dXJuIGwxICsgbDIgKyBjICsgcyArIHAgKyBjb3VudHJ5RnVsbDtcbn1cblxuZXhwb3J0IGVudW0gRmllbGRUeXBlIHtcbiAgVEVYVF9JTlBVVCA9IDEsXG4gIFNFTEVDVCA9IDIsXG4gIEZJTEVfVVBMT0FEID0gMyxcbiAgVEVYVF9BUkVBID0gNCxcbiAgTlVNQkVSX0lOUFVUID0gNSxcbiAgQ0hFQ0tCT1ggPSA2LFxuICBSQURJTyA9IDcsXG4gIEZJRUxEX0lOU1RSVUNUSU9OUyA9IDgsXG4gIElNQUdFX1NFTEVDVCA9IDksXG4gIENPTE9VUl9QSUNLRVIgPSAxMCxcbiAgQ09MT1VSX1NFTEVDVCA9IDExLFxuICBUVVJOQVJPVU5EX1RJTUUgPSAxMixcbiAgQ09MT1VSX0VYVFJBQ1QgPSAxMyxcbiAgQVJFQSA9IDE0LFxuICBFTUJST0lERVJZID0gMTYsXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NlbGVjdGFibGUoZmllbGRUeXBlOiBudW1iZXIpIHtcbiAgcmV0dXJuIFtcbiAgICBGaWVsZFR5cGUuU0VMRUNULFxuICAgIEZpZWxkVHlwZS5DSEVDS0JPWCxcbiAgICBGaWVsZFR5cGUuUkFESU8sXG4gICAgRmllbGRUeXBlLklNQUdFX1NFTEVDVCxcbiAgICBGaWVsZFR5cGUuQ09MT1VSX1NFTEVDVCxcbiAgICBGaWVsZFR5cGUuVFVSTkFST1VORF9USU1FLFxuICAgIEZpZWxkVHlwZS5DT0xPVVJfRVhUUkFDVCxcbiAgXS5pbmNsdWRlcyhmaWVsZFR5cGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJbnN0cnVjdGlvbnNUeXBlKGZpZWxkVHlwZTogbnVtYmVyKSB7XG4gIHJldHVybiBTdHJpbmcoRmllbGRUeXBlLkZJRUxEX0lOU1RSVUNUSU9OUykgPT09IFN0cmluZyhmaWVsZFR5cGUpO1xufVxuXG5leHBvcnQgY29uc3QgY291bnRyeURlZmF1bHREaWN0ID0gKGN1cnJlbmN5OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIHtjdXJyZW5jeTogY3VycmVuY3l9O1xufTtcbiAgXG5leHBvcnQgY29uc3Qgc3VwcG9ydGVkQ291bnRyeURlZmF1bHRzOiBhbnkgPSB7XG4gIEFFOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBBVTogY291bnRyeURlZmF1bHREaWN0KCdBVUQnKSxcbiAgQkg6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG4gIENIOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0NOWScpLFxuICBESzogY291bnRyeURlZmF1bHREaWN0KCdFVVInKSxcbiAgRVM6IGNvdW50cnlEZWZhdWx0RGljdCgnRVVSJyksXG4gIEZSOiBjb3VudHJ5RGVmYXVsdERpY3QoJ0VVUicpLFxuICBHQjogY291bnRyeURlZmF1bHREaWN0KCdHQlAnKSxcbiAgSEs6IGNvdW50cnlEZWZhdWx0RGljdCgnSEtEJyksXG4gIElEOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBJTjogY291bnRyeURlZmF1bHREaWN0KCdJTlInKSxcbiAgSVQ6IGNvdW50cnlEZWZhdWx0RGljdCgnRVVSJyksXG4gIEtSOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBOQzogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgTlo6IGNvdW50cnlEZWZhdWx0RGljdCgnTlpEJyksXG4gIE9NOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBQSDogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgUFQ6IGNvdW50cnlEZWZhdWx0RGljdCgnRVVSJyksXG4gIFFBOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBTRTogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgU0c6IGNvdW50cnlEZWZhdWx0RGljdCgnU0dEJyksXG4gIFRIOiBjb3VudHJ5RGVmYXVsdERpY3QoJ1VTRCcpLFxuICBVUzogY291bnRyeURlZmF1bHREaWN0KCdVU0QnKSxcbiAgWkE6IGNvdW50cnlEZWZhdWx0RGljdCgnVVNEJyksXG59O1xuICBcbmV4cG9ydCBjb25zdCBzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHNXaXRoRGVmYXVsdCA9IChjb3VudHJ5Q29kZTogYW55KSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRDb3VudHJ5VmFsdWVzID0gc3VwcG9ydGVkQ291bnRyeURlZmF1bHRzW2NvdW50cnlDb2RlXTtcbiAgcmV0dXJuIGRlZmF1bHRDb3VudHJ5VmFsdWVzID8gZGVmYXVsdENvdW50cnlWYWx1ZXMgOiBzdXBwb3J0ZWRDb3VudHJ5RGVmYXVsdHMuQVU7XG59O1xuXG5pbnRlcmZhY2UgQ2xpZW50RmlsZUFuZE9iamVjdElkIHtcbiAgZmlsZT86IGFueTtcbiAgb2JqZWN0SWQ/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5mdW5jdGlvbiBpc0ZpbGVSZWYodmFsdWU6IGFueSkge1xuICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS5pZCAhPSBudWxsICYmIHZhbHVlLmlkICE9PSAnJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuQ2xpZW50RmlsZXMoY2xpZW50RmlsZXM6IENsaWVudEZpbGVBbmRPYmplY3RJZFtdID0gW10pIHtcbiAgcmV0dXJuIGNsaWVudEZpbGVzXG4gICAgLm1hcCgoY2xpZW50RmlsZTogQ2xpZW50RmlsZUFuZE9iamVjdElkKSA9PiB7XG4gICAgICBpZiAoIWNsaWVudEZpbGUpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICBpZiAoaXNGaWxlUmVmKGNsaWVudEZpbGUuZmlsZSkpIHJldHVybiBjbGllbnRGaWxlLmZpbGU7XG4gICAgICBpZiAoaXNGaWxlUmVmKGNsaWVudEZpbGUpKSByZXR1cm4geyBpZDogY2xpZW50RmlsZS5pZCB9O1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9KVxuICAgIC5maWx0ZXIoKGZpbGUpID0+IGZpbGUgIT0gbnVsbCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRDbGllbnRUb093bkRyYWZ0KGpvYjogYW55KSB7XG4gIGNvbnN0IHsgb3duRHJhZnRzIH0gPSBqb2I7XG4gIGlmIChqb2Iub3duRHJhZnRzICYmIGpvYi5vd25EcmFmdHMubGVuZ3RoKSB7XG4gICAgam9iLm93bkRyYWZ0c1swXS5kZXNpZ25lciA9IGpvYi5jbGllbnQ7XG4gIH1cbiAgcmV0dXJuIGpvYjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdWNjZXNzUmVkaXJlY3RFeHRyYXMge1xuICAvKiogSW52b2ljZSBpZCBmb3IgcGFpZCBjaGVja291dCwgb3Igam9iIGlkIGZvciBxdW90ZSByZXF1ZXN0cy4gKi9cbiAgaW52b2ljZUlkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgZW1haWw/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKipcbiAqIERlY29kZS9ub3JtYWxpemUgYSByZWRpcmVjdCBiYXNlIFVSTCBmcm9tIGVtYmVkIHNjcmlwdCBwYXJhbXMuXG4gKiBIYW5kbGVzIHBlcmNlbnQtZW5jb2RpbmcsIGxlZ2FjeSAlMjcgd3JhcHBlcnMsIGFuZCB0cmFpbGluZyBqdW5rLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplUmVkaXJlY3RCYXNlVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IGNsZWFuID0gU3RyaW5nKHVybCB8fCAnJylcbiAgICAudHJpbSgpXG4gICAgLnJlcGxhY2UoLyUyNy9nLCAnJylcbiAgICAucmVwbGFjZSgvJTkxL2csICcnKVxuICAgIC5yZXBsYWNlKC8lOTIvZywgJycpXG4gICAgLnJlcGxhY2UoLyU5My9nLCAnJylcbiAgICAucmVwbGFjZSgvJTk0L2csICcnKVxuICAgIC5yZXBsYWNlKC9eWydcIl0rfFsnXCJdKyQvZywgJycpO1xuXG4gIC8vIEZ1bGx5IGRlY29kZSBzbyBlbmNvZGVkIGFic29sdXRlIFVSTHMgYXJlIG5vdCB0cmVhdGVkIGFzIHJlbGF0aXZlIHBhdGhzLlxuICBmb3IgKGxldCBpID0gMDsgaSA8IDI7IGkrKykge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIS8lWzAtOUEtRmEtZl17Mn0vLnRlc3QoY2xlYW4pKSBicmVhaztcbiAgICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQoY2xlYW4pO1xuICAgICAgaWYgKGRlY29kZWQgPT09IGNsZWFuKSBicmVhaztcbiAgICAgIGNsZWFuID0gZGVjb2RlZDtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjbGVhbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENsaWVudEVtYWlsKGNsaWVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZW1haWwgPSBjbGllbnQ/LmVtYWlsQWRkcmVzc2VzPy5bMF0/LmVtYWlsQWRkcmVzcztcbiAgcmV0dXJuIHR5cGVvZiBlbWFpbCA9PT0gJ3N0cmluZycgJiYgZW1haWwudHJpbSgpID8gZW1haWwudHJpbSgpIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBwb3N0LWNoZWNrb3V0L3F1b3RlIHJlZGlyZWN0IFVSTCB3aXRoIHByb3BlciBxdWVyeSBzZXBhcmF0b3JzLlxuICogQWx3YXlzIHNhZmUgd2hlbiB0aGUgYmFzZSBVUkwgb21pdHMgYSB0cmFpbGluZyBcIj9cIiAvIFwiJlwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRTdWNjZXNzUmVkaXJlY3RVcmwoXG4gIHVybDogc3RyaW5nLFxuICByZWRpcmVjdFdpdGhWYWx1ZT86IGJvb2xlYW4sXG4gIHZhbHVlPzogYW55LFxuICBleHRyYXM6IFN1Y2Nlc3NSZWRpcmVjdEV4dHJhcyA9IHt9LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgYmFzZSA9IG5vcm1hbGl6ZVJlZGlyZWN0QmFzZVVybCh1cmwpO1xuICBpZiAoIWJhc2UpIHJldHVybiBiYXNlO1xuXG4gIGNvbnN0IHRhcmdldCA9IG5ldyBVUkwoXG4gICAgYmFzZSxcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJ2h0dHBzOi8vcGxhY2Vob2xkZXIuaW52YWxpZC8nLFxuICApO1xuXG4gIGlmIChcbiAgICByZWRpcmVjdFdpdGhWYWx1ZSAmJlxuICAgIHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgIHZhbHVlICE9PSAnJ1xuICApIHtcbiAgICB0YXJnZXQuc2VhcmNoUGFyYW1zLnNldCgnbWVyY2hpVmFsdWUnLCBTdHJpbmcodmFsdWUpKTtcbiAgfVxuXG4gIGlmIChleHRyYXMuaW52b2ljZUlkICE9PSB1bmRlZmluZWQgJiYgZXh0cmFzLmludm9pY2VJZCAhPT0gbnVsbCAmJiBleHRyYXMuaW52b2ljZUlkICE9PSAnJykge1xuICAgIHRhcmdldC5zZWFyY2hQYXJhbXMuc2V0KCdpbnZvaWNlSWQnLCBTdHJpbmcoZXh0cmFzLmludm9pY2VJZCkpO1xuICB9XG5cbiAgaWYgKGV4dHJhcy5lbWFpbCkge1xuICAgIHRhcmdldC5zZWFyY2hQYXJhbXMuc2V0KCdlbWFpbCcsIFN0cmluZyhleHRyYXMuZW1haWwpKTtcbiAgfVxuXG4gIC8vIFByZXNlcnZlIHByb3RvY29sLXJlbGF0aXZlIHJlZGlyZWN0IHRhcmdldHMgKC8vZXhhbXBsZS5jb20vLi4uKS5cbiAgaWYgKGJhc2Uuc3RhcnRzV2l0aCgnLy8nKSkge1xuICAgIHJldHVybiBgLy8ke3RhcmdldC5ob3N0fSR7dGFyZ2V0LnBhdGhuYW1lfSR7dGFyZ2V0LnNlYXJjaH0ke3RhcmdldC5oYXNofWA7XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0LnRvU3RyaW5nKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWRpcmVjdE9uU3VjY2VzcyhcbiAgdXJsOiBzdHJpbmcsXG4gIHJlZGlyZWN0V2l0aFZhbHVlPzogYm9vbGVhbixcbiAgdmFsdWU/OiBhbnksXG4gIGV4dHJhczogU3VjY2Vzc1JlZGlyZWN0RXh0cmFzID0ge30sXG4pIHtcbiAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBidWlsZFN1Y2Nlc3NSZWRpcmVjdFVybChcbiAgICB1cmwsXG4gICAgcmVkaXJlY3RXaXRoVmFsdWUsXG4gICAgdmFsdWUsXG4gICAgZXh0cmFzLFxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQSxTQUFTQSxXQUFXLEVBQUVDLElBQUksUUFBUSxTQUFTO0FBRTNDLE9BQU8sSUFBTUMsWUFBaUIsR0FBRztFQUMvQkMsRUFBRSxFQUFFLGFB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@merchi/checkout",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.29",
|
|
4
4
|
"description": "Merchi's custom checkout step form",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
"js-cookie": "^3.0.5",
|
|
80
80
|
"lodash": "^4.17.21",
|
|
81
81
|
"@merchi/invoice": "^1.3.6",
|
|
82
|
-
"@merchi/sdk": "^1.42.
|
|
82
|
+
"@merchi/sdk": "^1.42.16",
|
|
83
83
|
"react": "^18.0.0 || ^19.0.0",
|
|
84
84
|
"react-addons-css-transition-group": "^15.6.2",
|
|
85
85
|
"react-country-region-selector": "^3.6.1",
|