@1money/component-ui 0.0.79 → 0.0.81
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/es/business/Filter/Account/Account.js +72 -210
- package/es/business/Filter/Account/interface.d.ts +3 -2
- package/es/business/Filter/Account/style/Account.css +2 -42
- package/es/business/Filter/Account/style/css.js +3 -1
- package/es/business/Filter/Account/style/index.d.ts +2 -0
- package/es/business/Filter/Account/style/index.js +3 -1
- package/es/business/Filter/Asset/Asset.js +67 -210
- package/es/business/Filter/Asset/interface.d.ts +3 -2
- package/es/business/Filter/Asset/style/Asset.css +3 -44
- package/es/business/Filter/Asset/style/css.js +2 -1
- package/es/business/Filter/Asset/style/index.d.ts +1 -0
- package/es/business/Filter/Asset/style/index.js +2 -1
- package/es/business/Filter/DateRange/DateRange.js +12 -8
- package/es/business/Filter/DateRange/interface.d.ts +0 -5
- package/es/business/Filter/DateRange/style/DateRange.css +10 -5
- package/es/business/Filter/Option/Option.js +51 -194
- package/es/business/Filter/Option/interface.d.ts +3 -2
- package/es/business/Filter/Option/style/Option.css +1 -63
- package/es/business/Filter/Option/style/css.js +2 -1
- package/es/business/Filter/Option/style/index.d.ts +1 -0
- package/es/business/Filter/Option/style/index.js +2 -1
- package/es/components/Filter/Filter.d.ts +2 -0
- package/es/components/Filter/Filter.js +266 -0
- package/es/components/Filter/index.d.ts +4 -0
- package/es/components/Filter/index.js +5 -0
- package/es/components/Filter/interface.d.ts +67 -0
- package/es/components/Filter/interface.js +2 -0
- package/es/components/Filter/style/Filter.css +95 -0
- package/es/components/Filter/style/css.js +8 -0
- package/es/components/Filter/style/index.d.ts +7 -0
- package/es/components/Filter/style/index.js +8 -0
- package/es/components/Input/Amount/Amount.js +7 -4
- package/es/components/Input/Input/Input.css +13 -0
- package/es/components/Input/Search/Search.js +3 -2
- package/es/components/Input/constants.d.ts +1 -1
- package/es/components/Input/constants.js +4 -3
- package/es/components/Pagination/constants.js +3 -2
- package/es/components/Pagination/style/Pagination.css +10 -8
- package/es/components/Select/Select.js +2 -2
- package/es/components/Select/SelectCustom.js +2 -2
- package/es/components/Select/SelectSearchControl.js +2 -2
- package/es/components/Select/constants.js +3 -2
- package/es/components/Select/interface.d.ts +1 -1
- package/es/components/Select/interface.js +2 -2
- package/es/components/Select/style/Select.css +13 -6
- package/es/components/Select/utils.js +8 -3
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/lib/business/Filter/Account/Account.js +70 -209
- package/lib/business/Filter/Account/interface.d.ts +3 -2
- package/lib/business/Filter/Account/style/Account.css +2 -42
- package/lib/business/Filter/Account/style/css.js +3 -1
- package/lib/business/Filter/Account/style/index.d.ts +2 -0
- package/lib/business/Filter/Account/style/index.js +3 -1
- package/lib/business/Filter/Asset/Asset.js +65 -209
- package/lib/business/Filter/Asset/interface.d.ts +3 -2
- package/lib/business/Filter/Asset/style/Asset.css +3 -44
- package/lib/business/Filter/Asset/style/css.js +2 -1
- package/lib/business/Filter/Asset/style/index.d.ts +1 -0
- package/lib/business/Filter/Asset/style/index.js +2 -1
- package/lib/business/Filter/DateRange/DateRange.js +12 -8
- package/lib/business/Filter/DateRange/interface.d.ts +0 -5
- package/lib/business/Filter/DateRange/style/DateRange.css +10 -5
- package/lib/business/Filter/Option/Option.js +49 -193
- package/lib/business/Filter/Option/interface.d.ts +3 -2
- package/lib/business/Filter/Option/style/Option.css +1 -63
- package/lib/business/Filter/Option/style/css.js +2 -1
- package/lib/business/Filter/Option/style/index.d.ts +1 -0
- package/lib/business/Filter/Option/style/index.js +2 -1
- package/lib/components/Filter/Filter.d.ts +2 -0
- package/lib/components/Filter/Filter.js +273 -0
- package/lib/components/Filter/index.d.ts +4 -0
- package/lib/components/Filter/index.js +30 -0
- package/lib/components/Filter/interface.d.ts +67 -0
- package/lib/components/Filter/interface.js +6 -0
- package/lib/components/Filter/style/Filter.css +95 -0
- package/lib/components/Filter/style/css.js +10 -0
- package/lib/components/Filter/style/index.d.ts +7 -0
- package/lib/components/Filter/style/index.js +10 -0
- package/lib/components/Input/Amount/Amount.js +7 -4
- package/lib/components/Input/Input/Input.css +13 -0
- package/lib/components/Input/Search/Search.js +3 -2
- package/lib/components/Input/constants.d.ts +1 -1
- package/lib/components/Input/constants.js +4 -3
- package/lib/components/Pagination/constants.js +3 -2
- package/lib/components/Pagination/style/Pagination.css +10 -8
- package/lib/components/Select/Select.js +2 -2
- package/lib/components/Select/SelectCustom.js +2 -2
- package/lib/components/Select/SelectSearchControl.js +2 -2
- package/lib/components/Select/constants.js +3 -2
- package/lib/components/Select/interface.d.ts +1 -1
- package/lib/components/Select/interface.js +2 -2
- package/lib/components/Select/style/Select.css +13 -6
- package/lib/components/Select/utils.js +8 -3
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -1
- package/package.json +6 -1
- package/scripts/mcp-server/examples.generated.json +42 -24
- package/scripts/mcp-server/index.generated.json +72 -4
|
@@ -130,8 +130,6 @@ var getDateFromOption = function getDateFromOption(option, range) {
|
|
|
130
130
|
var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
131
131
|
var ref = _a.ref,
|
|
132
132
|
className = _a.className,
|
|
133
|
-
_a$size = _a.size,
|
|
134
|
-
size = _a$size === void 0 ? 'small' : _a$size,
|
|
135
133
|
label = _a.label,
|
|
136
134
|
_a$placeholder = _a.placeholder,
|
|
137
135
|
placeholder = _a$placeholder === void 0 ? 'Date' : _a$placeholder,
|
|
@@ -141,7 +139,7 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
141
139
|
defaultSelectAll = _a$defaultSelectAll === void 0 ? false : _a$defaultSelectAll,
|
|
142
140
|
onApply = _a.onApply,
|
|
143
141
|
onReset = _a.onReset,
|
|
144
|
-
rest = __rest(_a, ["ref", "className", "
|
|
142
|
+
rest = __rest(_a, ["ref", "className", "label", "placeholder", "allTransactionsLabel", "defaultSelectAll", "onApply", "onReset"]);
|
|
145
143
|
var initialOption = defaultSelectAll ? OPTION_ALL : null;
|
|
146
144
|
var initialText = defaultSelectAll ? allTransactionsLabel : '';
|
|
147
145
|
var _useState = (0, _react.useState)(false),
|
|
@@ -287,12 +285,13 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
287
285
|
className: "".concat(WRAP_CLS, "__list"),
|
|
288
286
|
children: _interface.DATE_RANGE_OPTIONS.map(function (option) {
|
|
289
287
|
return (0, _jsxRuntime.jsxs)("li", {
|
|
290
|
-
className: (0, _classnames.joinCls)("".concat(WRAP_CLS, "__item"), option === OPTION_CUSTOM && "".concat(WRAP_CLS, "__item--custom")),
|
|
288
|
+
className: (0, _classnames.joinCls)("".concat(WRAP_CLS, "__item"), option === OPTION_CUSTOM && "".concat(WRAP_CLS, "__item--custom"), selectedOption === option && "".concat(WRAP_CLS, "__item--selected")),
|
|
291
289
|
onClick: function onClick() {
|
|
292
290
|
return handleItemClick(option);
|
|
293
291
|
},
|
|
294
292
|
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
295
|
-
size: '
|
|
293
|
+
size: 'sm',
|
|
294
|
+
strong: true,
|
|
296
295
|
children: getDisplayLabel(option)
|
|
297
296
|
}), option === OPTION_CUSTOM ? (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
298
297
|
name: 'chevronRight',
|
|
@@ -377,7 +376,9 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
377
376
|
});
|
|
378
377
|
};
|
|
379
378
|
return (0, _jsxRuntime.jsx)(_Select.Select.Custom, Object.assign({}, rest, {
|
|
380
|
-
|
|
379
|
+
// Fixed 32px "Extra Small" trigger via the native Select `extra-small`
|
|
380
|
+
// size; locked here rather than exposed as a prop.
|
|
381
|
+
size: 'extra-small',
|
|
381
382
|
animation: false,
|
|
382
383
|
label: label,
|
|
383
384
|
placeholder: placeholder,
|
|
@@ -389,7 +390,10 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
389
390
|
selectedTemplate: selectedText ? (0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
390
391
|
size: 'md',
|
|
391
392
|
className: "".concat(WRAP_CLS, "__value"),
|
|
392
|
-
children:
|
|
393
|
+
children: (0, _jsxRuntime.jsx)("span", {
|
|
394
|
+
className: "".concat(WRAP_CLS, "__value-label"),
|
|
395
|
+
children: selectedText
|
|
396
|
+
})
|
|
393
397
|
}) : null,
|
|
394
398
|
children: function children() {
|
|
395
399
|
return showCustomRange ? renderCustomRange() : renderPresetList();
|
|
@@ -397,4 +401,4 @@ var DateRangeFilterBase = function DateRangeFilterBase(_a) {
|
|
|
397
401
|
}));
|
|
398
402
|
};
|
|
399
403
|
var DateRangeFilter = exports.DateRangeFilter = /*#__PURE__*/(0, _react.memo)(DateRangeFilterBase);
|
|
400
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9DYWxlbmRhciIsIl9GbGV4IiwiX0ljb25zIiwiX1JhZGlvIiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJmYWNlIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIkNBTEVOREFSX1BBTkVMX0NMUyIsIlNFTEVDVF9QQU5FTF9DTFMiLCJQQU5FTF9XSURUSF9QUkVTRVQiLCJQQU5FTF9XSURUSF9DVVNUT00iLCJDQUxFTkRBUl9NT05USFMiLCJDSEVWUk9OX1NJWkUiLCJCQUNLX0lDT05fU0laRSIsIlJFU0VUX0xBQkVMIiwiQVBQTFlfTEFCRUwiLCJDVVNUT01fUkFOR0VfVElUTEUiLCJSQU5HRV9TRVBBUkFUT1IiLCJGVUxMX1dJRFRIX1NUWUxFIiwiZmxleCIsIl9EQVRFX1JBTkdFX09QVElPTlMiLCJfc2xpY2VkVG9BcnJheTIiLCJEQVRFX1JBTkdFX09QVElPTlMiLCJPUFRJT05fQUxMIiwiT1BUSU9OX0xBU1RfMzBfREFZUyIsIk9QVElPTl9ZRUFSX1RPX0RBVEUiLCJPUFRJT05fTEFTVF8xMl9NT05USFMiLCJPUFRJT05fQ1VTVE9NIiwiTEFTVF8zMF9EQVlTX0NPVU5UIiwiTEFTVF8xMl9NT05USFNfQ09VTlQiLCJZRUFSX1NUQVJUX01PTlRIIiwiRklSU1RfREFZX09GX01PTlRIIiwiREFZX1NUQVJUX1RJTUUiLCJEQVlfRU5EX1RJTUUiLCJEQVRFX0ZPUk1BVF9MT0NBTEUiLCJEQVRFX0ZPUk1BVF9PUFRJT05TIiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiZGF0ZUZvcm1hdHRlciIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsIkVNUFRZX1JBTkdFIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInN0YXJ0T2ZEYXkiLCJkYXRlIiwicmVzdWx0IiwiRGF0ZSIsInNldEhvdXJzIiwiYXBwbHkiLCJlbmRPZkRheSIsImZvcm1hdERhdGUiLCJmb3JtYXQiLCJmb3JtYXRSYW5nZSIsInN0YXJ0IiwiZW5kIiwiY29uY2F0IiwiZ2V0RGF0ZUZyb21PcHRpb24iLCJvcHRpb24iLCJyYW5nZSIsInRvZGF5Iiwic2V0RGF0ZSIsImdldERhdGUiLCJnZXRGdWxsWWVhciIsInNldE1vbnRoIiwiZ2V0TW9udGgiLCJBTExfVFJBTlNBQ1RJT05TX1ZBTFVFIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwiX2Ekc2l6ZSIsInNpemUiLCJsYWJlbCIsIl9hJHBsYWNlaG9sZGVyIiwicGxhY2Vob2xkZXIiLCJfYSRhbGxUcmFuc2FjdGlvbnNMYWIiLCJhbGxUcmFuc2FjdGlvbnNMYWJlbCIsIl9hJGRlZmF1bHRTZWxlY3RBbGwiLCJkZWZhdWx0U2VsZWN0QWxsIiwib25BcHBseSIsIm9uUmVzZXQiLCJyZXN0IiwiaW5pdGlhbE9wdGlvbiIsImluaXRpYWxUZXh0IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwib3BlbiIsInNldE9wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNlbGVjdGVkT3B0aW9uIiwic2V0U2VsZWN0ZWRPcHRpb24iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImxhc3RTZWxlY3RlZE9wdGlvbiIsInNldExhc3RTZWxlY3RlZE9wdGlvbiIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwic2VsZWN0ZWRSYW5nZSIsInNldFNlbGVjdGVkUmFuZ2UiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJhcHBsaWVkUmFuZ2UiLCJzZXRBcHBsaWVkUmFuZ2UiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2VsZWN0ZWRUZXh0Iiwic2V0U2VsZWN0ZWRUZXh0IiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInNob3dDdXN0b21SYW5nZSIsInNldFNob3dDdXN0b21SYW5nZSIsIl91c2VTdGF0ZTE1IiwidW5kZWZpbmVkIiwiX3VzZVN0YXRlMTYiLCJtb250aFZpZXciLCJzZXRNb250aFZpZXciLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwiY2xlYXIiLCJyZXNldCIsImdldERpc3BsYXlMYWJlbCIsInVzZUNhbGxiYWNrIiwiaGFuZGxlSXRlbUNsaWNrIiwiaGFuZGxlRGF0ZVNlbGVjdCIsImV2ZW50IiwidmFsdWUiLCJBcnJheSIsImlzQXJyYXkiLCJfdmFsdWUiLCJhcHBseVByZXNldCIsImFwcGx5Q3VzdG9tIiwicmVzZXRTZWxlY3Rpb24iLCJoYW5kbGVPcGVuQ2hhbmdlIiwibmV4dE9wZW4iLCJjYWxlbmRhclZhbHVlIiwicmVuZGVyUHJlc2V0TGlzdCIsIl9qc3hzIiwiX0ZyYWdtZW50IiwiY2hpbGRyZW4iLCJfanN4IiwibWFwIiwiam9pbkNscyIsIm9uQ2xpY2siLCJUeXBvZ3JhcGh5Qm9keSIsIkljb25zIiwibmFtZSIsIlJhZGlvIiwiY2hlY2tlZCIsIkZsZXgiLCJnYXAiLCJCdXR0b24iLCJjb2xvciIsInN0eWxlIiwiZGlzYWJsZWQiLCJyZW5kZXJDdXN0b21SYW5nZSIsImFsaWduIiwid3JhcHBlckNscyIsIlR5cG9ncmFwaHlMYWJlbCIsIkNhbGVuZGFyIiwicGFuZWxDbGFzc05hbWUiLCJzZWxlY3Rpb25Nb2RlIiwicmVhZE9ubHlJbnB1dCIsImhpZGVPblJhbmdlU2VsZWN0aW9uIiwibnVtYmVyT2ZNb250aHMiLCJ2aWV3RGF0ZSIsIm9uVmlld0RhdGVDaGFuZ2UiLCJvbkNoYW5nZSIsIlNlbGVjdCIsIkN1c3RvbSIsImFzc2lnbiIsImFuaW1hdGlvbiIsInBhbmVsV2lkdGgiLCJvbk9wZW5DaGFuZ2UiLCJzZWxlY3RlZFRlbXBsYXRlIiwiRGF0ZVJhbmdlRmlsdGVyIiwiZXhwb3J0cyIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBVCxPQUFBO0FBQ0EsSUFBQVUsVUFBQSxHQUFBVixPQUFBO0FEVEEsSUFBSVcsTUFBTSxHQUFJLFVBQVEsU0FBS0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENB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SUFBQXlFLG1CQUFPLEVBQUMxSSxRQUFRLEVBQUVpRSxTQUFTLENBQUM7SUFDdkMyRixjQUFjLEVBQUUxSixnQkFBZ0I7SUFDaENzSyxVQUFVLEVBQUU3RCxlQUFlLEdBQUd2RyxrQkFBa0IsR0FBR0Qsa0JBQWtCO0lBQ3JFZ0YsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZzRixZQUFZLEVBQUV4QyxnQkFBZ0I7SUFDOUJ5QyxnQkFBZ0IsRUFDZG5FLFlBQVksR0FDVixJQUFBaUMsZUFBQSxFQUFDSSwwQkFBYyxFQUFBO01BQUN6RSxJQUFJLEVBQUMsSUFBSTtNQUFDRixTQUFTLEtBQUFkLE1BQUEsQ0FBS25ELFFBQVEsWUFBUztNQUFBdUksUUFBQSxFQUN0RGhDO0lBQVksQ0FBQSxDQUNFLEdBQ2YsSUFBSTtJQUFBZ0MsUUFBQSxFQUdULFNBSFNBLFFBQUFBLENBQUE7TUFBQSxPQUdGNUIsZUFBZSxHQUFHNEMsaUJBQWlCLENBQUEsQ0FBRSxHQUFHbkIsZ0JBQWdCLENBQUEsQ0FBRTtJQUFBO0VBQUMsQ0FBQSxDQUFBLENBQ3JEO0FBRXBCLENBQUM7QUFFTSxJQUFNdUMsZUFBZSxHQUFBQyxPQUFBLENBQUFELGVBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDL0csbUJBQW1CLENBQUMiLCJmaWxlIjoiYnVzaW5lc3MvRmlsdGVyL0RhdGVSYW5nZS9EYXRlUmFuZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cywgRnJhZ21lbnQgYXMgX0ZyYWdtZW50IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VDYWxsYmFjaywgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCdXR0b24gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvQ2FsZW5kYXInO1xuaW1wb3J0IHsgRmxleCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvRmxleCc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvSWNvbnMnO1xuaW1wb3J0IHsgUmFkaW8gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1JhZGlvJztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvU2VsZWN0JztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5LCBUeXBvZ3JhcGh5TGFiZWwgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQUxMX1RSQU5TQUNUSU9OU19WQUxVRSwgREFURV9SQU5HRV9PUFRJT05TLCB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmNvbnN0IFdSQVBfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyJztcbi8vIFRoZSBjYWxlbmRhciBvdmVybGF5IGlzIHBvcnRhbGVkIHRvIDxib2R5Piwgb3V0c2lkZSBXUkFQX0NMUyDigJQgdGhpcyBpcyBhXG4vLyBzdGFuZGFsb25lIHRvcC1sZXZlbCBob29rIHNvIGl0cyBTQ1NTIGNhbiBsaWZ0IGl0IGFib3ZlIHRoZSBob3N0XG4vLyBTZWxlY3QuQ3VzdG9tIHBhbmVsICh6LWluZGV4IDE1MDApLlxuY29uc3QgQ0FMRU5EQVJfUEFORUxfQ0xTID0gJ29tLWRhdGUtcmFuZ2UtZmlsdGVyLWNhbGVuZGFyLXBhbmVsJztcbi8vIFRoZSBTZWxlY3QuQ3VzdG9tIHBhbmVsIGlzIHBvcnRhbGVkIHRvIDxib2R5PiB0b28g4oCUIHRvcC1sZXZlbCBob29rIGZvclxuLy8gc2NvcGluZyBwYW5lbC1ib2R5IG92ZXJyaWRlcyB3aXRob3V0IGxlYWtpbmcgaW50byBvdGhlciBTZWxlY3QgcGFuZWxzLlxuY29uc3QgU0VMRUNUX1BBTkVMX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlci1wYW5lbCc7XG5jb25zdCBQQU5FTF9XSURUSF9QUkVTRVQgPSAyNDA7XG5jb25zdCBQQU5FTF9XSURUSF9DVVNUT00gPSAzMjA7XG5jb25zdCBDQUxFTkRBUl9NT05USFMgPSAyO1xuY29uc3QgQ0hFVlJPTl9TSVpFID0gMTY7XG5jb25zdCBCQUNLX0lDT05fU0laRSA9IDI0O1xuY29uc3QgUkVTRVRfTEFCRUwgPSAnUmVzZXQnO1xuY29uc3QgQVBQTFlfTEFCRUwgPSAnQXBwbHknO1xuY29uc3QgQ1VTVE9NX1JBTkdFX1RJVExFID0gJ0N1c3RvbSBkYXRlIHJhbmdlJztcbmNvbnN0IFJBTkdFX1NFUEFSQVRPUiA9ICcgLSAnO1xuY29uc3QgRlVMTF9XSURUSF9TVFlMRSA9IHsgZmxleDogMSB9O1xuY29uc3QgW09QVElPTl9BTEwsIE9QVElPTl9MQVNUXzMwX0RBWVMsIE9QVElPTl9ZRUFSX1RPX0RBVEUsIE9QVElPTl9MQVNUXzEyX01PTlRIUywgT1BUSU9OX0NVU1RPTSxdID0gREFURV9SQU5HRV9PUFRJT05TO1xuY29uc3QgTEFTVF8zMF9EQVlTX0NPVU5UID0gMzA7XG5jb25zdCBMQVNUXzEyX01PTlRIU19DT1VOVCA9IDEyO1xuY29uc3QgWUVBUl9TVEFSVF9NT05USCA9IDA7IC8vIEphbnVhcnkgKHplcm8tYmFzZWQgbW9udGggaW5kZXgpXG5jb25zdCBGSVJTVF9EQVlfT0ZfTU9OVEggPSAxO1xuLy8gRGF5LWJvdW5kYXJ5IHRpbWVzIHNvIGFuIGFwcGxpZWQgcmFuZ2UgY292ZXJzIHdob2xlIGRheXMgaW5jbHVzaXZlbHk6XG4vLyB0aGUgc3RhcnQgZGF5IGZyb20gMDA6MDA6MDAuMDAwIGFuZCB0aGUgZW5kIGRheSB0aHJvdWdoIDIzOjU5OjU5Ljk5OS5cbmNvbnN0IERBWV9TVEFSVF9USU1FID0gWzAsIDAsIDAsIDBdOyAvLyBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zXVxuY29uc3QgREFZX0VORF9USU1FID0gWzIzLCA1OSwgNTksIDk5OV07IC8vIFtob3VycywgbWludXRlcywgc2Vjb25kcywgbXNdXG5jb25zdCBEQVRFX0ZPUk1BVF9MT0NBTEUgPSAnZW4tVVMnO1xuY29uc3QgREFURV9GT1JNQVRfT1BUSU9OUyA9IHtcbiAgICBtb250aDogJzItZGlnaXQnLFxuICAgIGRheTogJzItZGlnaXQnLFxuICAgIHllYXI6ICdudW1lcmljJyxcbn07XG5jb25zdCBkYXRlRm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoREFURV9GT1JNQVRfTE9DQUxFLCBEQVRFX0ZPUk1BVF9PUFRJT05TKTtcbmNvbnN0IEVNUFRZX1JBTkdFID0geyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwgfTtcbmNvbnN0IHN0YXJ0T2ZEYXkgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIHJlc3VsdC5zZXRIb3VycyguLi5EQVlfU1RBUlRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBlbmRPZkRheSA9IChkYXRlKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgcmVzdWx0LnNldEhvdXJzKC4uLkRBWV9FTkRfVElNRSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG5jb25zdCBmb3JtYXREYXRlID0gKGRhdGUpID0+IGRhdGVGb3JtYXR0ZXIuZm9ybWF0KGRhdGUpO1xuY29uc3QgZm9ybWF0UmFuZ2UgPSAoc3RhcnQsIGVuZCkgPT4gYCR7Zm9ybWF0RGF0ZShzdGFydCl9JHtSQU5HRV9TRVBBUkFUT1J9JHtmb3JtYXREYXRlKGVuZCl9YDtcbmNvbnN0IGdldERhdGVGcm9tT3B0aW9uID0gKG9wdGlvbiwgcmFuZ2UpID0+IHtcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgc3dpdGNoIChvcHRpb24pIHtcbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8zMF9EQVlTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgc3RhcnREYXRlLnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpIC0gTEFTVF8zMF9EQVlTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9ZRUFSX1RPX0RBVEU6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksIFlFQVJfU1RBUlRfTU9OVEgsIEZJUlNUX0RBWV9PRl9NT05USCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fTEFTVF8xMl9NT05USFM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgICBzdGFydERhdGUuc2V0TW9udGgodG9kYXkuZ2V0TW9udGgoKSAtIExBU1RfMTJfTU9OVEhTX0NPVU5UKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheSh0b2RheSkgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIE9QVElPTl9DVVNUT006XG4gICAgICAgICAgICBpZiAocmFuZ2Uuc3RhcnREYXRlICYmIHJhbmdlLmVuZERhdGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkocmFuZ2Uuc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkocmFuZ2UuZW5kRGF0ZSkgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIEFMTF9UUkFOU0FDVElPTlNfVkFMVUU7XG4gICAgfVxufTtcbmNvbnN0IERhdGVSYW5nZUZpbHRlckJhc2UgPSAoX2EpID0+IHtcbiAgICB2YXIgeyByZWYsIGNsYXNzTmFtZSwgc2l6ZSA9ICdzbWFsbCcsIGxhYmVsLCBwbGFjZWhvbGRlciA9ICdEYXRlJywgYWxsVHJhbnNhY3Rpb25zTGFiZWwgPSAnQWxsIHRyYW5zYWN0aW9ucycsIGRlZmF1bHRTZWxlY3RBbGwgPSBmYWxzZSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcInNpemVcIiwgXCJsYWJlbFwiLCBcInBsYWNlaG9sZGVyXCIsIFwiYWxsVHJhbnNhY3Rpb25zTGFiZWxcIiwgXCJkZWZhdWx0U2VsZWN0QWxsXCIsIFwib25BcHBseVwiLCBcIm9uUmVzZXRcIl0pO1xuICAgIGNvbnN0IGluaXRpYWxPcHRpb24gPSBkZWZhdWx0U2VsZWN0QWxsID8gT1BUSU9OX0FMTCA6IG51bGw7XG4gICAgY29uc3QgaW5pdGlhbFRleHQgPSBkZWZhdWx0U2VsZWN0QWxsID8gYWxsVHJhbnNhY3Rpb25zTGFiZWwgOiAnJztcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW3NlbGVjdGVkT3B0aW9uLCBzZXRTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBzZXRMYXN0U2VsZWN0ZWRPcHRpb25dID0gdXNlU3RhdGUoaW5pdGlhbE9wdGlvbik7XG4gICAgY29uc3QgW3NlbGVjdGVkUmFuZ2UsIHNldFNlbGVjdGVkUmFuZ2VdID0gdXNlU3RhdGUoRU1QVFlfUkFOR0UpO1xuICAgIGNvbnN0IFthcHBsaWVkUmFuZ2UsIHNldEFwcGxpZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW3NlbGVjdGVkVGV4dCwgc2V0U2VsZWN0ZWRUZXh0XSA9IHVzZVN0YXRlKGluaXRpYWxUZXh0KTtcbiAgICBjb25zdCBbc2hvd0N1c3RvbVJhbmdlLCBzZXRTaG93Q3VzdG9tUmFuZ2VdID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFttb250aFZpZXcsIHNldE1vbnRoVmlld10gPSB1c2VTdGF0ZSh1bmRlZmluZWQpO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBjbGVhcjogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24obnVsbCk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoJycpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICB9LFxuICAgICAgICByZXNldDogKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFRleHQoaW5pdGlhbFRleHQpO1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgfSksIFtpbml0aWFsT3B0aW9uLCBpbml0aWFsVGV4dCwgb25SZXNldF0pO1xuICAgIGNvbnN0IGdldERpc3BsYXlMYWJlbCA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IChvcHRpb24gPT09IE9QVElPTl9BTEwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6IG9wdGlvbiksIFthbGxUcmFuc2FjdGlvbnNMYWJlbF0pO1xuICAgIGNvbnN0IGhhbmRsZUl0ZW1DbGljayA9IHVzZUNhbGxiYWNrKChvcHRpb24pID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlRGF0ZVNlbGVjdCA9IHVzZUNhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnZhbHVlO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB2YWx1ZTtcbiAgICAgICAgaWYgKHN0YXJ0ICYmIGVuZCkge1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHN0YXJ0KTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBlbmQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoeyBzdGFydERhdGU6IHN0YXJ0LCBlbmREYXRlOiBudWxsIH0pO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGFwcGx5UHJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIXNlbGVjdGVkT3B0aW9uKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBvbkFwcGx5KGdldERhdGVGcm9tT3B0aW9uKHNlbGVjdGVkT3B0aW9uLCBzZWxlY3RlZFJhbmdlKSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChnZXREaXNwbGF5TGFiZWwoc2VsZWN0ZWRPcHRpb24pKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKHNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBzZXRPcGVuKGZhbHNlKTtcbiAgICB9LCBbc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UsIG9uQXBwbHksIGdldERpc3BsYXlMYWJlbF0pO1xuICAgIGNvbnN0IGFwcGx5Q3VzdG9tID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHN0YXJ0RGF0ZSwgZW5kRGF0ZSB9ID0gc2VsZWN0ZWRSYW5nZTtcbiAgICAgICAgaWYgKCFzdGFydERhdGUgfHwgIWVuZERhdGUpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoeyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkoZW5kRGF0ZSkgfSk7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChmb3JtYXRSYW5nZShzdGFydERhdGUsIGVuZERhdGUpKTtcbiAgICAgICAgc2V0TGFzdFNlbGVjdGVkT3B0aW9uKE9QVElPTl9DVVNUT00pO1xuICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKHsgc3RhcnREYXRlLCBlbmREYXRlIH0pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZFJhbmdlLCBvbkFwcGx5XSk7XG4gICAgY29uc3QgcmVzZXRTZWxlY3Rpb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGluaXRpYWxPcHRpb24pO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICBzZXRNb250aFZpZXcodW5kZWZpbmVkKTtcbiAgICAgICAgb25SZXNldCA9PT0gbnVsbCB8fCBvblJlc2V0ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvblJlc2V0KCk7XG4gICAgfSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgaGFuZGxlT3BlbkNoYW5nZSA9IHVzZUNhbGxiYWNrKChuZXh0T3BlbikgPT4ge1xuICAgICAgICBzZXRPcGVuKG5leHRPcGVuKTtcbiAgICAgICAgaWYgKG5leHRPcGVuKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyBPbiBjbG9zZSB3aXRob3V0IEFwcGx5LCBzbmFwIHRoZSBwYW5lbCBiYWNrIHRvIHRoZSBsYXN0IGNvbW1pdHRlZCBzdGF0ZVxuICAgICAgICAvLyBzbyBhbiBhYmFuZG9uZWQgZWRpdCBkb2Vzbid0IGxpbmdlci5cbiAgICAgICAgaWYgKGxhc3RTZWxlY3RlZE9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSkge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKHRydWUpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShhcHBsaWVkUmFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKGxhc3RTZWxlY3RlZE9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9LCBbbGFzdFNlbGVjdGVkT3B0aW9uLCBhcHBsaWVkUmFuZ2VdKTtcbiAgICBjb25zdCBjYWxlbmRhclZhbHVlID0gc2VsZWN0ZWRSYW5nZS5zdGFydERhdGVcbiAgICAgICAgPyBzZWxlY3RlZFJhbmdlLmVuZERhdGVcbiAgICAgICAgICAgID8gW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlLCBzZWxlY3RlZFJhbmdlLmVuZERhdGVdXG4gICAgICAgICAgICA6IFtzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZV1cbiAgICAgICAgOiBudWxsO1xuICAgIGNvbnN0IHJlbmRlclByZXNldExpc3QgPSAoKSA9PiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX2xpc3RgLCBjaGlsZHJlbjogREFURV9SQU5HRV9PUFRJT05TLm1hcCgob3B0aW9uKSA9PiAoX2pzeHMoXCJsaVwiLCB7IGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2l0ZW1gLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1jdXN0b21gKSwgb25DbGljazogKCkgPT4gaGFuZGxlSXRlbUNsaWNrKG9wdGlvbiksIGNoaWxkcmVuOiBbX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBjaGlsZHJlbjogZ2V0RGlzcGxheUxhYmVsKG9wdGlvbikgfSksIG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSA/IChfanN4KEljb25zLCB7IG5hbWU6ICdjaGV2cm9uUmlnaHQnLCBzaXplOiBDSEVWUk9OX1NJWkUgfSkpIDogKF9qc3goUmFkaW8sIHsgc2l6ZTogJ3NtYWxsJywgY2hlY2tlZDogc2VsZWN0ZWRPcHRpb24gPT09IG9wdGlvbiB9KSldIH0sIG9wdGlvbikpKSB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19mb290ZXJgLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZE9wdGlvbiwgb25DbGljazogYXBwbHlQcmVzZXQsIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSldIH0pKTtcbiAgICBjb25zdCByZW5kZXJDdXN0b21SYW5nZSA9ICgpID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b21gLCBjaGlsZHJlbjogW19qc3hzKEZsZXgsIHsgYWxpZ246ICdjZW50ZXInLCBnYXA6IDgsIGNsYXNzTmFtZTogYCR7V1JBUF9DTFN9X19jdXN0b20taGVhZGVyYCwgY2hpbGRyZW46IFtfanN4KEljb25zLCB7IG5hbWU6ICdhcnJvd0xlZnQnLCBzaXplOiBCQUNLX0lDT05fU0laRSwgd3JhcHBlckNsczogYCR7V1JBUF9DTFN9X19iYWNrLWljb25gLCBvbkNsaWNrOiAoKSA9PiBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpIH0pLCBfanN4KFR5cG9ncmFwaHlMYWJlbCwgeyBzaXplOiAnbGcnLCBjaGlsZHJlbjogQ1VTVE9NX1JBTkdFX1RJVExFIH0pXSB9KSwgX2pzeChDYWxlbmRhciwgeyB3cmFwcGVyQ2xzOiBgJHtXUkFQX0NMU31fX2NhbGVuZGFyYCwgcGFuZWxDbGFzc05hbWU6IENBTEVOREFSX1BBTkVMX0NMUywgc2l6ZTogJ3NtYWxsJywgc2VsZWN0aW9uTW9kZTogJ3JhbmdlJywgcGxhY2Vob2xkZXI6ICdNTS9ERC9ZWVlZIC0gTU0vREQvWVlZWScsIHJlYWRPbmx5SW5wdXQ6IHRydWUsIGhpZGVPblJhbmdlU2VsZWN0aW9uOiB0cnVlLCBudW1iZXJPZk1vbnRoczogQ0FMRU5EQVJfTU9OVEhTLCB2YWx1ZTogY2FsZW5kYXJWYWx1ZSwgdmlld0RhdGU6IG1vbnRoVmlldywgb25WaWV3RGF0ZUNoYW5nZTogKGV2ZW50KSA9PiBzZXRNb250aFZpZXcoZXZlbnQudmFsdWUpLCBvbkNoYW5nZTogaGFuZGxlRGF0ZVNlbGVjdCB9KSwgX2pzeHMoRmxleCwgeyBnYXA6IDgsIGNsYXNzTmFtZTogam9pbkNscyhgJHtXUkFQX0NMU31fX2Zvb3RlcmAsIGAke1dSQVBfQ0xTfV9fZm9vdGVyLS1ib3JkZXJlZGApLCBjaGlsZHJlbjogW19qc3goQnV0dG9uLCB7IGNvbG9yOiAnZ3JleScsIHNpemU6ICdzbWFsbCcsIHN0eWxlOiBGVUxMX1dJRFRIX1NUWUxFLCBvbkNsaWNrOiByZXNldFNlbGVjdGlvbiwgY2hpbGRyZW46IFJFU0VUX0xBQkVMIH0pLCBfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ3ByaW1hcnknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgZGlzYWJsZWQ6ICFzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZSB8fCAhc2VsZWN0ZWRSYW5nZS5lbmREYXRlLCBvbkNsaWNrOiBhcHBseUN1c3RvbSwgY2hpbGRyZW46IEFQUExZX0xBQkVMIH0pXSB9KV0gfSkpO1xuICAgIHJldHVybiAoX2pzeChTZWxlY3QuQ3VzdG9tLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHNpemU6IHNpemUsIGFuaW1hdGlvbjogZmFsc2UsIGxhYmVsOiBsYWJlbCwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCBjbGFzc05hbWU6IGpvaW5DbHMoV1JBUF9DTFMsIGNsYXNzTmFtZSksIHBhbmVsQ2xhc3NOYW1lOiBTRUxFQ1RfUEFORUxfQ0xTLCBwYW5lbFdpZHRoOiBzaG93Q3VzdG9tUmFuZ2UgPyBQQU5FTF9XSURUSF9DVVNUT00gOiBQQU5FTF9XSURUSF9QUkVTRVQsIG9wZW46IG9wZW4sIG9uT3BlbkNoYW5nZTogaGFuZGxlT3BlbkNoYW5nZSwgc2VsZWN0ZWRUZW1wbGF0ZTogc2VsZWN0ZWRUZXh0ID8gKF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogJ21kJywgY2xhc3NOYW1lOiBgJHtXUkFQX0NMU31fX3ZhbHVlYCwgY2hpbGRyZW46IHNlbGVjdGVkVGV4dCB9KSkgOiBudWxsLCBjaGlsZHJlbjogKCkgPT4gKHNob3dDdXN0b21SYW5nZSA/IHJlbmRlckN1c3RvbVJhbmdlKCkgOiByZW5kZXJQcmVzZXRMaXN0KCkpIH0pKSk7XG59O1xuZXhwb3J0IGNvbnN0IERhdGVSYW5nZUZpbHRlciA9IG1lbW8oRGF0ZVJhbmdlRmlsdGVyQmFzZSk7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
404
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwiYnVzaW5lc3MvRmlsdGVyL3NyYy9idXNpbmVzcy9GaWx0ZXIvRGF0ZVJhbmdlL0RhdGVSYW5nZS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX0J1dHRvbiIsIl9DYWxlbmRhciIsIl9GbGV4IiwiX0ljb25zIiwiX1JhZGlvIiwiX1NlbGVjdCIsIl9UeXBvZ3JhcGh5IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJmYWNlIiwiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJXUkFQX0NMUyIsIkNBTEVOREFSX1BBTkVMX0NMUyIsIlNFTEVDVF9QQU5FTF9DTFMiLCJQQU5FTF9XSURUSF9QUkVTRVQiLCJQQU5FTF9XSURUSF9DVVNUT00iLCJDQUxFTkRBUl9NT05USFMiLCJDSEVWUk9OX1NJWkUiLCJCQUNLX0lDT05fU0laRSIsIlJFU0VUX0xBQkVMIiwiQVBQTFlfTEFCRUwiLCJDVVNUT01fUkFOR0VfVElUTEUiLCJSQU5HRV9TRVBBUkFUT1IiLCJGVUxMX1dJRFRIX1NUWUxFIiwiZmxleCIsIl9EQVRFX1JBTkdFX09QVElPTlMiLCJfc2xpY2VkVG9BcnJheTIiLCJEQVRFX1JBTkdFX09QVElPTlMiLCJPUFRJT05fQUxMIiwiT1BUSU9OX0xBU1RfMzBfREFZUyIsIk9QVElPTl9ZRUFSX1RPX0RBVEUiLCJPUFRJT05fTEFTVF8xMl9NT05USFMiLCJPUFRJT05fQ1VTVE9NIiwiTEFTVF8zMF9EQVlTX0NPVU5UIiwiTEFTVF8xMl9NT05USFNfQ09VTlQiLCJZRUFSX1NUQVJUX01PTlRIIiwiRklSU1RfREFZX09GX01PTlRIIiwiREFZX1NUQVJUX1RJTUUiLCJEQVlfRU5EX1RJTUUiLCJEQVRFX0ZPUk1BVF9MT0NBTEUiLCJEQVRFX0ZPUk1BVF9PUFRJT05TIiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiZGF0ZUZvcm1hdHRlciIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsIkVNUFRZX1JBTkdFIiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsInN0YXJ0T2ZEYXkiLCJkYXRlIiwicmVzdWx0IiwiRGF0ZSIsInNldEhvdXJzIiwiYXBwbHkiLCJlbmRPZkRheSIsImZvcm1hdERhdGUiLCJmb3JtYXQiLCJmb3JtYXRSYW5nZSIsInN0YXJ0IiwiZW5kIiwiY29uY2F0IiwiZ2V0RGF0ZUZyb21PcHRpb24iLCJvcHRpb24iLCJyYW5nZSIsInRvZGF5Iiwic2V0RGF0ZSIsImdldERhdGUiLCJnZXRGdWxsWWVhciIsInNldE1vbnRoIiwiZ2V0TW9udGgiLCJBTExfVFJBTlNBQ1RJT05TX1ZBTFVFIiwiRGF0ZVJhbmdlRmlsdGVyQmFzZSIsIl9hIiwicmVmIiwiY2xhc3NOYW1lIiwibGFiZWwiLCJfYSRwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyIiwiX2EkYWxsVHJhbnNhY3Rpb25zTGFiIiwiYWxsVHJhbnNhY3Rpb25zTGFiZWwiLCJfYSRkZWZhdWx0U2VsZWN0QWxsIiwiZGVmYXVsdFNlbGVjdEFsbCIsIm9uQXBwbHkiLCJvblJlc2V0IiwicmVzdCIsImluaXRpYWxPcHRpb24iLCJpbml0aWFsVGV4dCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9wZW4iLCJzZXRPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJzZWxlY3RlZE9wdGlvbiIsInNldFNlbGVjdGVkT3B0aW9uIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsYXN0U2VsZWN0ZWRPcHRpb24iLCJzZXRMYXN0U2VsZWN0ZWRPcHRpb24iLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkUmFuZ2UiLCJzZXRTZWxlY3RlZFJhbmdlIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwiYXBwbGllZFJhbmdlIiwic2V0QXBwbGllZFJhbmdlIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNlbGVjdGVkVGV4dCIsInNldFNlbGVjdGVkVGV4dCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzaG93Q3VzdG9tUmFuZ2UiLCJzZXRTaG93Q3VzdG9tUmFuZ2UiLCJfdXNlU3RhdGUxNSIsInVuZGVmaW5lZCIsIl91c2VTdGF0ZTE2IiwibW9udGhWaWV3Iiwic2V0TW9udGhWaWV3IiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsImNsZWFyIiwicmVzZXQiLCJnZXREaXNwbGF5TGFiZWwiLCJ1c2VDYWxsYmFjayIsImhhbmRsZUl0ZW1DbGljayIsImhhbmRsZURhdGVTZWxlY3QiLCJldmVudCIsInZhbHVlIiwiQXJyYXkiLCJpc0FycmF5IiwiX3ZhbHVlIiwiYXBwbHlQcmVzZXQiLCJhcHBseUN1c3RvbSIsInJlc2V0U2VsZWN0aW9uIiwiaGFuZGxlT3BlbkNoYW5nZSIsIm5leHRPcGVuIiwiY2FsZW5kYXJWYWx1ZSIsInJlbmRlclByZXNldExpc3QiLCJfanN4cyIsIl9GcmFnbWVudCIsImNoaWxkcmVuIiwiX2pzeCIsIm1hcCIsImpvaW5DbHMiLCJvbkNsaWNrIiwiVHlwb2dyYXBoeUJvZHkiLCJzaXplIiwic3Ryb25nIiwiSWNvbnMiLCJuYW1lIiwiUmFkaW8iLCJjaGVja2VkIiwiRmxleCIsImdhcCIsIkJ1dHRvbiIsImNvbG9yIiwic3R5bGUiLCJkaXNhYmxlZCIsInJlbmRlckN1c3RvbVJhbmdlIiwiYWxpZ24iLCJ3cmFwcGVyQ2xzIiwiVHlwb2dyYXBoeUxhYmVsIiwiQ2FsZW5kYXIiLCJwYW5lbENsYXNzTmFtZSIsInNlbGVjdGlvbk1vZGUiLCJyZWFkT25seUlucHV0IiwiaGlkZU9uUmFuZ2VTZWxlY3Rpb24iLCJudW1iZXJPZk1vbnRocyIsInZpZXdEYXRlIiwib25WaWV3RGF0ZUNoYW5nZSIsIm9uQ2hhbmdlIiwiU2VsZWN0IiwiQ3VzdG9tIiwiYXNzaWduIiwiYW5pbWF0aW9uIiwicGFuZWxXaWR0aCIsIm9uT3BlbkNoYW5nZSIsInNlbGVjdGVkVGVtcGxhdGUiLCJEYXRlUmFuZ2VGaWx0ZXIiLCJleHBvcnRzIiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxPQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxXQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxVQUFBLEdBQUFWLE9BQUE7QURUQSxJQUFJVyxNQUFNLEdBQUksVUFBUSxTQUFLQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBR1YsQ0FBQyxDQUFDRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDO0VBQ3pCO0VBQ0osT0FBT1IsQ0FBQztBQUNaLENBQUM7QUNXRCxJQUFNVyxRQUFRLEdBQUcsc0JBQXNCO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBLElBQU1DLGtCQUFrQixHQUFHLHFDQUFxQztBQUNoRTtBQUNBO0FBQ0EsSUFBTUMsZ0JBQWdCLEdBQUcsNEJBQTRCO0FBQ3JELElBQU1DLGtCQUFrQixHQUFHLEdBQUc7QUFDOUIsSUFBTUMsa0JBQWtCLEdBQUcsR0FBRztBQUM5QixJQUFNQyxlQUFlLEdBQUcsQ0FBQztBQUN6QixJQUFNQyxZQUFZLEdBQUcsRUFBRTtBQUN2QixJQUFNQyxjQUFjLEdBQUcsRUFBRTtBQUN6QixJQUFNQyxXQUFXLEdBQUcsT0FBTztBQUMzQixJQUFNQyxXQUFXLEdBQUcsT0FBTztBQUMzQixJQUFNQyxrQkFBa0IsR0FBRyxtQkFBbUI7QUFDOUMsSUFBTUMsZUFBZSxHQUFHLEtBQUs7QUFDN0IsSUFBTUMsZ0JBQWdCLEdBQUc7RUFBRUMsSUFBSSxFQUFFO0FBQUMsQ0FBVztBQUU3QyxJQUFBQyxtQkFBQSxPQUFBQyxlQUFBLGFBTUlDLDZCQUFrQjtFQUxwQkMsVUFBVSxHQUFBSCxtQkFBQTtFQUNWSSxtQkFBbUIsR0FBQUosbUJBQUE7RUFDbkJLLG1CQUFtQixHQUFBTCxtQkFBQTtFQUNuQk0scUJBQXFCLEdBQUFOLG1CQUFBO0VBQ3JCTyxhQUFhLEdBQUFQLG1CQUFBO0FBR2YsSUFBTVEsa0JBQWtCLEdBQUcsRUFBRTtBQUM3QixJQUFNQyxvQkFBb0IsR0FBRyxFQUFFO0FBQy9CLElBQU1DLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQzVCLElBQU1DLGtCQUFrQixHQUFHLENBQUM7QUFFNUI7QUFDQTtBQUNBLElBQU1DLGNBQWMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBVSxDQUFDLENBQUM7QUFDOUMsSUFBTUMsWUFBWSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFVLENBQUMsQ0FBQztBQUVqRCxJQUFNQyxrQkFBa0IsR0FBRyxPQUFPO0FBQ2xDLElBQU1DLG1CQUFtQixHQUErQjtFQUN0REMsS0FBSyxFQUFFLFNBQVM7RUFDaEJDLEdBQUcsRUFBRSxTQUFTO0VBQ2RDLElBQUksRUFBRTtBRFJSLENDU0M7QUFDRCxJQUFNQyxhQUFhLEdBQUcsSUFBSUMsSUFBSSxDQUFDQyxjQUFjLENBQUNQLGtCQUFrQixFQUFFQyxtQkFBbUIsQ0FBQztBQVN0RixJQUFNTyxXQUFXLEdBQWlCO0VBQUVDLFNBQVMsRUFBRSxJQUFJO0VBQUVDLE9BQU8sRUFBRTtBQUFJLENBQUU7QUFFcEUsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLElBQVUsRUFBSTtFQUNoQyxJQUFNQyxNQUFNLEdBQUcsSUFBSUMsSUFBSSxDQUFDRixJQUFJLENBQUM7RUFDN0JDLE1BQU0sQ0FBQ0UsUUFBUSxDQUFBQyxLQUFBLENBQWZILE1BQU0sRUFBYWYsY0FBYyxDQUFDO0VBQ2xDLE9BQU9lLE1BQU07QUFDZixDQUFDO0FBRUQsSUFBTUksUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUlMLElBQVUsRUFBSTtFQUM5QixJQUFNQyxNQUFNLEdBQUcsSUFBSUMsSUFBSSxDQUFDRixJQUFJLENBQUM7RUFDN0JDLE1BQU0sQ0FBQ0UsUUFBUSxDQUFBQyxLQUFBLENBQWZILE1BQU0sRUFBYWQsWUFBWSxDQUFDO0VBQ2hDLE9BQU9jLE1BQU07QUFDZixDQUFDO0FBRUQsSUFBTUssVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlOLElBQVU7RUFBQSxPQUFLUCxhQUFhLENBQUNjLE1BQU0sQ0FBQ1AsSUFBSSxDQUFDO0FBQUE7QUFFN0QsSUFBTVEsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLEtBQVcsRUFBRUMsR0FBUztFQUFBLFVBQUFDLE1BQUEsQ0FDdENMLFVBQVUsQ0FBQ0csS0FBSyxDQUFDLEVBQUFFLE1BQUEsQ0FBR3hDLGVBQWUsRUFBQXdDLE1BQUEsQ0FBR0wsVUFBVSxDQUFDSSxHQUFHLENBQUM7QUFBQSxDQUFFO0FBRTVELElBQU1FLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQ3JCQyxNQUF1QixFQUN2QkMsS0FBbUIsRUFDSTtFQUN2QixJQUFNQyxLQUFLLEdBQUcsSUFBSWIsSUFBSSxDQUFBLENBQUU7RUFDeEIsUUFBUVcsTUFBTTtJQUNaLEtBQUtuQyxtQkFBbUI7TUFBRTtRQUN4QixJQUFNbUIsU0FBUyxHQUFHLElBQUlLLElBQUksQ0FBQSxDQUFFO1FBQzVCTCxTQUFTLENBQUNtQixPQUFPLENBQUNELEtBQUssQ0FBQ0UsT0FBTyxDQUFBLENBQUUsR0FBR25DLGtCQUFrQixDQUFDO1FBQ3ZELE9BQU87VUFBRWUsU0FBUyxFQUFFRSxVQUFVLENBQUNGLFNBQVMsQ0FBQztVQUFFQyxPQUFPLEVBQUVPLFFBQVEsQ0FBQ1UsS0FBSztRQUFDLENBQUU7TUFDdkU7SUFDQSxLQUFLcEMsbUJBQW1CO01BQUU7UUFDeEIsSUFBTWtCLFVBQVMsR0FBRyxJQUFJSyxJQUFJLENBQUNhLEtBQUssQ0FBQ0csV0FBVyxDQUFBLENBQUUsRUFBRWxDLGdCQUFnQixFQUFFQyxrQkFBa0IsQ0FBQztRQUNyRixPQUFPO1VBQUVZLFNBQVMsRUFBRUUsVUFBVSxDQUFDRixVQUFTLENBQUM7VUFBRUMsT0FBTyxFQUFFTyxRQUFRLENBQUNVLEtBQUs7UUFBQyxDQUFFO01BQ3ZFO0lBQ0EsS0FBS25DLHFCQUFxQjtNQUFFO1FBQzFCLElBQU1pQixXQUFTLEdBQUcsSUFBSUssSUFBSSxDQUFBLENBQUU7UUFDNUJMLFdBQVMsQ0FBQ3NCLFFBQVEsQ0FBQ0osS0FBSyxDQUFDSyxRQUFRLENBQUEsQ0FBRSxHQUFHckMsb0JBQW9CLENBQUM7UUFDM0QsT0FBTztVQUFFYyxTQUFTLEVBQUVFLFVBQVUsQ0FBQ0YsV0FBUyxDQUFDO1VBQUVDLE9BQU8sRUFBRU8sUUFBUSxDQUFDVSxLQUFLO1FBQUMsQ0FBRTtNQUN2RTtJQUNBLEtBQUtsQyxhQUFhO01BQ2hCLElBQUlpQyxLQUFLLENBQUNqQixTQUFTLElBQUlpQixLQUFLLENBQUNoQixPQUFPLEVBQUU7UUFDcEMsT0FBTztVQUFFRCxTQUFTLEVBQUVFLFVBQVUsQ0FBQ2UsS0FBSyxDQUFDakIsU0FBUyxDQUFDO1VBQUVDLE9BQU8sRUFBRU8sUUFBUSxDQUFDUyxLQUFLLENBQUNoQixPQUFPO1FBQUMsQ0FBRTtNQUNyRjtNQUNBLE9BQU91QixpQ0FBc0I7SUFDL0I7TUFDRSxPQUFPQSxpQ0FBc0I7RUFDakM7QUFDRixDQUFDO0FBRUQsSUFBTUMsbUJBQW1CLEdBQTZCLFNBQWhEQSxtQkFBbUJBLENBQThCQyxFQVV0RCxFQUFJO0VEcENELElDMkJGQyxHQUFHLEdBT0lELEVBRVIsQ0FUQ0MsR0FBRztJQUNIQyxTQUFTLEdBTUZGLEVBRVIsQ0FSQ0UsU0FBUztJQUNUQyxLQUFLLEdBS0VILEVBRVIsQ0FQQ0csS0FBSztJQUFBQyxjQUFBLEdBS0VKLEVBRVIsQ0FOQ0ssV0FBVztJQUFYQSxXQUFXLEdBQUFELGNBQUEsY0FBRyxNQUFNLEdBQUFBLGNBQUE7SUFBQUUscUJBQUEsR0FJYk4sRUFFUixDQUxDTyxvQkFBb0I7SUFBcEJBLG9CQUFvQixHQUFBRCxxQkFBQSxjQUFHLGtCQUFrQixHQUFBQSxxQkFBQTtJQUFBRSxtQkFBQSxHQUdsQ1IsRUFFUixDQUpDUyxnQkFBZ0I7SUFBaEJBLGdCQUFnQixHQUFBRCxtQkFBQSxjQUFHLEtBQUssR0FBQUEsbUJBQUE7SUFDeEJFLE9BQU8sR0FDQVYsRUFFUixDQUhDVSxPQUFPO0lBQ1BDLE9BQU8sR0FBQVgsRUFFUixDQUZDVyxPQUFPO0lBQ0pDLElBQUksR0FBQXpGLE1BQUEsQ0FBQTZFLEVBQUEsRUFUOEMsQ0FBQSxLQUFBLEVBQUEsV0FBQSxFQUFBLE9BQUEsRUFBQSxhQUFBLEVBQUEsc0JBQUEsRUFBQSxrQkFBQSxFQUFBLFNBQUEsRUFBQSxTQUFBLENBVXRELENBRFE7RUFFUCxJQUFNYSxhQUFhLEdBQUdKLGdCQUFnQixHQUFHdkQsVUFBVSxHQUFHLElBQUk7RUFDMUQsSUFBTTRELFdBQVcsR0FBR0wsZ0JBQWdCLEdBQUdGLG9CQUFvQixHQUFHLEVBQUU7RUFFaEUsSUFBQVEsU0FBQSxHQUF3QixJQUFBQyxlQUFRLEVBQUMsS0FBSyxDQUFDO0lBQUFDLFVBQUEsT0FBQWpFLGVBQUEsYUFBQStELFNBQUE7SUFBaENHLElBQUksR0FBQUQsVUFBQTtJQUFFRSxPQUFPLEdBQUFGLFVBQUE7RUFDcEIsSUFBQUcsVUFBQSxHQUE0QyxJQUFBSixlQUFRLEVBQXlCSCxhQUFhLENBQUM7SUFBQVEsVUFBQSxPQUFBckUsZUFBQSxhQUFBb0UsVUFBQTtJQUFwRkUsY0FBYyxHQUFBRCxVQUFBO0lBQUVFLGlCQUFpQixHQUFBRixVQUFBO0VBQ3hDLElBQUFHLFVBQUEsR0FBb0QsSUFBQVIsZUFBUSxFQUF5QkgsYUFBYSxDQUFDO0lBQUFZLFVBQUEsT0FBQXpFLGVBQUEsYUFBQXdFLFVBQUE7SUFBNUZFLGtCQUFrQixHQUFBRCxVQUFBO0lBQUVFLHFCQUFxQixHQUFBRixVQUFBO0VBQ2hELElBQUFHLFVBQUEsR0FBMEMsSUFBQVosZUFBUSxFQUFlM0MsV0FBVyxDQUFDO0lBQUF3RCxVQUFBLE9BQUE3RSxlQUFBLGFBQUE0RSxVQUFBO0lBQXRFRSxhQUFhLEdBQUFELFVBQUE7SUFBRUUsZ0JBQWdCLEdBQUFGLFVBQUE7RUFDdEMsSUFBQUcsVUFBQSxHQUF3QyxJQUFBaEIsZUFBUSxFQUFlM0MsV0FBVyxDQUFDO0lBQUE0RCxXQUFBLE9BQUFqRixlQUFBLGFBQUFnRixVQUFBO0lBQXBFRSxZQUFZLEdBQUFELFdBQUE7SUFBRUUsZUFBZSxHQUFBRixXQUFBO0VBQ3BDLElBQUFHLFdBQUEsR0FBd0MsSUFBQXBCLGVBQVEsRUFBU0YsV0FBVyxDQUFDO0lBQUF1QixXQUFBLE9BQUFyRixlQUFBLGFBQUFvRixXQUFBO0lBQTlERSxZQUFZLEdBQUFELFdBQUE7SUFBRUUsZUFBZSxHQUFBRixXQUFBO0VBQ3BDLElBQUFHLFdBQUEsR0FBOEMsSUFBQXhCLGVBQVEsRUFBQyxLQUFLLENBQUM7SUFBQXlCLFdBQUEsT0FBQXpGLGVBQUEsYUFBQXdGLFdBQUE7SUFBdERFLGVBQWUsR0FBQUQsV0FBQTtJQUFFRSxrQkFBa0IsR0FBQUYsV0FBQTtFQUMxQyxJQUFBRyxXQUFBLEdBQWtDLElBQUE1QixlQUFRLEVBQW1CNkIsU0FBUyxDQUFDO0lBQUFDLFdBQUEsT0FBQTlGLGVBQUEsYUFBQTRGLFdBQUE7SUFBaEVHLFNBQVMsR0FBQUQsV0FBQTtJQUFFRSxZQUFZLEdBQUFGLFdBQUE7RUFFOUIsSUFBQUcsMEJBQW1CLEVBQ2pCaEQsR0FBRyxFQUNIO0lBQUEsT0FBTztNQUNMaUQsS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUEsRUFBTztRQUNWM0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1FBQ3ZCSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7UUFDM0JJLGdCQUFnQixDQUFDMUQsV0FBVyxDQUFDO1FBQzdCOEQsZUFBZSxDQUFDOUQsV0FBVyxDQUFDO1FBQzVCa0UsZUFBZSxDQUFDLEVBQUUsQ0FBQztRQUNuQkksa0JBQWtCLENBQUMsS0FBSyxDQUFDO1FBQ3pCSyxZQUFZLENBQUNILFNBQVMsQ0FBQztNQUN6QixDQUFDO01BQ0RNLEtBQUssRUFBRSxTQUFQQSxLQUFLQSxDQUFBLEVBQU87UUFDVjVCLGlCQUFpQixDQUFDVixhQUFhLENBQUM7UUFDaENjLHFCQUFxQixDQUFDZCxhQUFhLENBQUM7UUFDcENrQixnQkFBZ0IsQ0FBQzFELFdBQVcsQ0FBQztRQUM3QjhELGVBQWUsQ0FBQzlELFdBQVcsQ0FBQztRQUM1QmtFLGVBQWUsQ0FBQ3pCLFdBQVcsQ0FBQztRQUM1QjZCLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUN6QkssWUFBWSxDQUFDSCxTQUFTLENBQUM7UUFDdkJsQyxPQUFPLEtBQUEsSUFBQSxJQUFQQSxPQUFPLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVBBLE9BQU8sQ0FBQSxDQUFJO01BQ2I7SUR2Q0YsQ0N3Q0M7RUFBQSxDQUFDLEVBQ0YsQ0FBQ0UsYUFBYSxFQUFFQyxXQUFXLEVBQUVILE9BQU8sQ0FBQyxDQUN0QztFQUVELElBQU15QyxlQUFlLEdBQUcsSUFBQUMsa0JBQVcsRUFDakMsVUFBQy9ELE1BQXVCO0lBQUEsT0FBTUEsTUFBTSxLQUFLcEMsVUFBVSxHQUFHcUQsb0JBQW9CLEdBQUdqQixNQUFNO0VBQUEsQ0FBQyxFQUNwRixDQUFDaUIsb0JBQW9CLENBQUMsQ0FDdkI7RUFFRCxJQUFNK0MsZUFBZSxHQUFHLElBQUFELGtCQUFXLEVBQUMsVUFBQy9ELE1BQXVCLEVBQUk7SUFDOUQsSUFBSUEsTUFBTSxLQUFLaEMsYUFBYSxFQUFFO01BQzVCcUYsa0JBQWtCLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUMsTUFBTTtNQUNMQSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7TUFDekJwQixpQkFBaUIsQ0FBQ2pDLE1BQU0sQ0FBQztJQUMzQjtFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNaUUsZ0JBQWdCLEdBQUcsSUFBQUYsa0JBQVcsRUFBQyxVQUFDRyxLQUEwQixFQUFJO0lBQ2xFLElBQU1DLEtBQUssR0FBR0QsS0FBSyxDQUFDQyxLQUFLO0lBQ3pCLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNGLEtBQUssQ0FBQyxFQUFFO0lBQzNCLElBQUFHLE1BQUEsT0FBQTVHLGVBQUEsYUFBcUJ5RyxLQUFLO01BQW5CdkUsS0FBSyxHQUFBMEUsTUFBQTtNQUFFekUsR0FBRyxHQUFBeUUsTUFBQTtJQUNqQixJQUFJMUUsS0FBSyxJQUFJQyxHQUFHLEVBQUU7TUFDaEI2RCxZQUFZLENBQUM5RCxLQUFLLENBQUM7TUFDbkI2QyxnQkFBZ0IsQ0FBQztRQUFFekQsU0FBUyxFQUFFWSxLQUFLO1FBQUVYLE9BQU8sRUFBRVk7TUFBRyxDQUFFLENBQUM7SUFDdEQsQ0FBQyxNQUFNLElBQUlELEtBQUssRUFBRTtNQUNoQjZDLGdCQUFnQixDQUFDO1FBQUV6RCxTQUFTLEVBQUVZLEtBQUs7UUFBRVgsT0FBTyxFQUFFO01BQUksQ0FBRSxDQUFDO0lBQ3ZEO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1zRixXQUFXLEdBQUcsSUFBQVIsa0JBQVcsRUFBQyxZQUFLO0lBQ25DLElBQUksQ0FBQy9CLGNBQWMsRUFBRTtJQUNyQlosT0FBTyxDQUFDckIsaUJBQWlCLENBQUNpQyxjQUFjLEVBQUVRLGFBQWEsQ0FBQyxDQUFDO0lBQ3pEUyxlQUFlLENBQUNhLGVBQWUsQ0FBQzlCLGNBQWMsQ0FBQyxDQUFDO0lBQ2hESyxxQkFBcUIsQ0FBQ0wsY0FBYyxDQUFDO0lBQ3JDcUIsa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQ3pCWixnQkFBZ0IsQ0FBQzFELFdBQVcsQ0FBQztJQUM3QjhELGVBQWUsQ0FBQzlELFdBQVcsQ0FBQztJQUM1QjJFLFlBQVksQ0FBQ0gsU0FBUyxDQUFDO0lBQ3ZCMUIsT0FBTyxDQUFDLEtBQUssQ0FBQztFQUNoQixDQUFDLEVBQUUsQ0FBQ0csY0FBYyxFQUFFUSxhQUFhLEVBQUVwQixPQUFPLEVBQUUwQyxlQUFlLENBQUMsQ0FBQztFQUU3RCxJQUFNVSxXQUFXLEdBQUcsSUFBQVQsa0JBQVcsRUFBQyxZQUFLO0lBQ25DLElBQVEvRSxTQUFTLEdBQWN3RCxhQUFhLENBQXBDeEQsU0FBUztNQUFFQyxPQUFPLEdBQUt1RCxhQUFhLENBQXpCdkQsT0FBTztJQUMxQixJQUFJLENBQUNELFNBQVMsSUFBSSxDQUFDQyxPQUFPLEVBQUU7SUFDNUJtQyxPQUFPLENBQUM7TUFBRXBDLFNBQVMsRUFBRUUsVUFBVSxDQUFDRixTQUFTLENBQUM7TUFBRUMsT0FBTyxFQUFFTyxRQUFRLENBQUNQLE9BQU87SUFBQyxDQUFFLENBQUM7SUFDekVnRSxlQUFlLENBQUN0RCxXQUFXLENBQUNYLFNBQVMsRUFBRUMsT0FBTyxDQUFDLENBQUM7SUFDaERvRCxxQkFBcUIsQ0FBQ3JFLGFBQWEsQ0FBQztJQUNwQ2lFLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUN2QlksZUFBZSxDQUFDO01BQUU3RCxTQUFTLEVBQVRBLFNBQVM7TUFBRUMsT0FBTyxFQUFQQTtJQUFPLENBQUUsQ0FBQztJQUN2Q29FLGtCQUFrQixDQUFDLElBQUksQ0FBQztJQUN4QnhCLE9BQU8sQ0FBQyxLQUFLLENBQUM7RUFDaEIsQ0FBQyxFQUFFLENBQUNXLGFBQWEsRUFBRXBCLE9BQU8sQ0FBQyxDQUFDO0VBRTVCLElBQU1xRCxjQUFjLEdBQUcsSUFBQVYsa0JBQVcsRUFBQyxZQUFLO0lBQ3RDOUIsaUJBQWlCLENBQUNWLGFBQWEsQ0FBQztJQUNoQ2MscUJBQXFCLENBQUNkLGFBQWEsQ0FBQztJQUNwQzBCLGVBQWUsQ0FBQ3pCLFdBQVcsQ0FBQztJQUM1QmlCLGdCQUFnQixDQUFDMUQsV0FBVyxDQUFDO0lBQzdCOEQsZUFBZSxDQUFDOUQsV0FBVyxDQUFDO0lBQzVCMkUsWUFBWSxDQUFDSCxTQUFTLENBQUM7SUFDdkJsQyxPQUFPLEtBQUEsSUFBQSxJQUFQQSxPQUFPLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVBBLE9BQU8sQ0FBQSxDQUFJO0VBQ2IsQ0FBQyxFQUFFLENBQUNFLGFBQWEsRUFBRUMsV0FBVyxFQUFFSCxPQUFPLENBQUMsQ0FBQztFQUV6QyxJQUFNcUQsZ0JBQWdCLEdBQUcsSUFBQVgsa0JBQVcsRUFDbEMsVUFBQ1ksUUFBaUIsRUFBSTtJQUNwQjlDLE9BQU8sQ0FBQzhDLFFBQVEsQ0FBQztJQUNqQixJQUFJQSxRQUFRLEVBQUU7SUFDZDtJQUNBO0lBQ0EsSUFBSXZDLGtCQUFrQixLQUFLcEUsYUFBYSxFQUFFO01BQ3hDcUYsa0JBQWtCLENBQUMsSUFBSSxDQUFDO01BQ3hCWixnQkFBZ0IsQ0FBQ0csWUFBWSxDQUFDO0lBQ2hDLENBQUMsTUFBTTtNQUNMUyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7TUFDekJwQixpQkFBaUIsQ0FBQ0csa0JBQWtCLENBQUM7SUFDdkM7RUFDRixDQUFDLEVBQ0QsQ0FBQ0Esa0JBQWtCLEVBQUVRLFlBQVksQ0FBQyxDQUNuQztFQUVELElBQU1nQyxhQUFhLEdBQUdwQyxhQUFhLENBQUN4RCxTQUFTLEdBQ3pDd0QsYUFBYSxDQUFDdkQsT0FBTyxHQUNuQixDQUFDdUQsYUFBYSxDQUFDeEQsU0FBUyxFQUFFd0QsYUFBYSxDQUFDdkQsT0FBTyxDQUFDLEdBQ2hELENBQUN1RCxhQUFhLENBQUN4RCxTQUFTLENBQUMsR0FDM0IsSUFBSTtFQUVSLElBQU02RixnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUFBO0lBQUEsT0FDcEIsSUFBQUMsZ0JBQUEsRUFBQUMsb0JBQUEsRUFBQTtNQUFBQyxRQUFBLEVBQUEsQ0FDRSxJQUFBQyxlQUFBLEVBQUEsSUFBQSxFQUFBO1FBQUlyRSxTQUFTLEtBQUFkLE1BQUEsQ0FBS25ELFFBQVEsV0FBUTtRQUFBcUksUUFBQSxFQUMvQnJILDZCQUFrQixDQUFDdUgsR0FBRyxDQUFDLFVBQUNsRixNQUFNO1VBQUEsT0FDN0IsSUFBQThFLGdCQUFBLEVBQUEsSUFBQSxFQUFBO1lBRUVsRSxTQUFTLEVBQUUsSUFBQXVFLG1CQUFPLEtBQUFyRixNQUFBLENBQ2JuRCxRQUFRLGFBQ1hxRCxNQUFNLEtBQUtoQyxhQUFhLE9BQUE4QixNQUFBLENBQU9uRCxRQUFRLG1CQUFnQixFQUN2RHFGLGNBQWMsS0FBS2hDLE1BQU0sT0FBQUYsTUFBQSxDQUFPbkQsUUFBUSxxQkFBa0IsQ0FDM0Q7WUFDRHlJLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO2NBQUEsT0FBUXBCLGVBQWUsQ0FBQ2hFLE1BQU0sQ0FBQztZQUFBO1lBQUFnRixRQUFBLEVBQUEsQ0FFdEMsSUFBQUMsZUFBQSxFQUFDSSwwQkFBYyxFQUFBO2NBQUNDLElBQUksRUFBQyxJQUFJO2NBQUNDLE1BQU0sRUFBQSxJQUFBO2NBQUFQLFFBQUEsRUFBRWxCLGVBQWUsQ0FBQzlELE1BQU07WUFBQyxDQUFBLENBQWtCLEVBQzFFQSxNQUFNLEtBQUtoQyxhQUFhLEdBQ3ZCLElBQUFpSCxlQUFBLEVBQUNPLFlBQUssRUFBQTtjQUFDQyxJQUFJLEVBQUMsY0FBYztjQUFDSCxJQUFJLEVBQUVySTtZQUFZLENBQUEsQ0FBSSxHQUVqRCxJQUFBZ0ksZUFBQSxFQUFDUyxZQUFLLEVBQUE7Y0FBQ0osSUFBSSxFQUFDLE9BQU87Y0FBQ0ssT0FBTyxFQUFFM0QsY0FBYyxLQUFLaEM7WUFBTSxDQUFBLENBQ3ZEO1VBQUEsQ0FBQSxFQWJJQSxNQUFNLENBY1I7UUFBQSxDQUNOO01BQUMsQ0FBQSxDQUNDLEVBQ0wsSUFBQThFLGdCQUFBLEVBQUNjLFVBQUksRUFBQTtRQUFDQyxHQUFHLEVBQUUsQ0FBQztRQUFFakYsU0FBUyxLQUFBZCxNQUFBLENBQUtuRCxRQUFRLGFBQVU7UUFBQXFJLFFBQUEsRUFBQSxDQUM1QyxJQUFBQyxlQUFBLEVBQUNhLGNBQU0sRUFBQTtVQUFDQyxLQUFLLEVBQUMsTUFBTTtVQUFDVCxJQUFJLEVBQUMsT0FBTztVQUFDVSxLQUFLLEVBQUV6SSxnQkFBZ0I7VUFBRTZILE9BQU8sRUFBRVgsY0FBYztVQUFBTyxRQUFBLEVBQy9FN0g7UUFBVyxDQUFBLENBQ0wsRUFDVCxJQUFBOEgsZUFBQSxFQUFDYSxjQUFNLEVBQUE7VUFDTEMsS0FBSyxFQUFDLFNBQVM7VUFDZlQsSUFBSSxFQUFDLE9BQU87VUFDWlUsS0FBSyxFQUFFekksZ0JBQWdCO1VBQ3ZCMEksUUFBUSxFQUFFLENBQUNqRSxjQUFjO1VBQ3pCb0QsT0FBTyxFQUFFYixXQUFXO1VBQUFTLFFBQUEsRUFFbkI1SDtRQUFXLENBQUEsQ0FDTDtNQUFBLENBQUEsQ0FDSjtJQUFBLENBQUEsQ0FDTjtFQUFBLENBQ0o7RUFFRCxJQUFNOEksaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQTtJQUFBLE9BQ3JCLElBQUFwQixnQkFBQSxFQUFBLEtBQUEsRUFBQTtNQUFLbEUsU0FBUyxLQUFBZCxNQUFBLENBQUtuRCxRQUFRLGFBQVU7TUFBQXFJLFFBQUEsRUFBQSxDQUNuQyxJQUFBRixnQkFBQSxFQUFDYyxVQUFJLEVBQUE7UUFBQ08sS0FBSyxFQUFDLFFBQVE7UUFBQ04sR0FBRyxFQUFFLENBQUM7UUFBRWpGLFNBQVMsS0FBQWQsTUFBQSxDQUFLbkQsUUFBUSxvQkFBaUI7UUFBQXFJLFFBQUEsRUFBQSxDQUNsRSxJQUFBQyxlQUFBLEVBQUNPLFlBQUssRUFBQTtVQUNKQyxJQUFJLEVBQUMsV0FBVztVQUNoQkgsSUFBSSxFQUFFcEksY0FBYztVQUNwQmtKLFVBQVUsS0FBQXRHLE1BQUEsQ0FBS25ELFFBQVEsZ0JBQWE7VUFDcEN5SSxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtZQUFBLE9BQVEvQixrQkFBa0IsQ0FBQyxLQUFLLENBQUM7VUFBQTtRQUFBLENBQUEsQ0FDeEMsRUFDRixJQUFBNEIsZUFBQSxFQUFDb0IsMkJBQWUsRUFBQTtVQUFDZixJQUFJLEVBQUMsSUFBSTtVQUFBTixRQUFBLEVBQUUzSDtRQUFrQixDQUFBLENBQW1CO01BQUEsQ0FBQSxDQUM1RCxFQUNQLElBQUE0SCxlQUFBLEVBQUNxQixrQkFBUSxFQUFBO1FBQ1BGLFVBQVUsS0FBQXRHLE1BQUEsQ0FBS25ELFFBQVEsZUFBWTtRQUNuQzRKLGNBQWMsRUFBRTNKLGtCQUFrQjtRQUNsQzBJLElBQUksRUFBQyxPQUFPO1FBQ1prQixhQUFhLEVBQUMsT0FBTztRQUNyQnpGLFdBQVcsRUFBQyx5QkFBeUI7UUFDckMwRixhQUFhLEVBQUEsSUFBQTtRQUNiQyxvQkFBb0IsRUFBQSxJQUFBO1FBQ3BCQyxjQUFjLEVBQUUzSixlQUFlO1FBQy9CbUgsS0FBSyxFQUFFUyxhQUFhO1FBQ3BCZ0MsUUFBUSxFQUFFbkQsU0FBUztRQUNuQm9ELGdCQUFnQixFQUFFLFNBQWxCQSxnQkFBZ0JBLENBQUczQyxLQUFLO1VBQUEsT0FBS1IsWUFBWSxDQUFDUSxLQUFLLENBQUNDLEtBQUssQ0FBQztRQUFBO1FBQ3REMkMsUUFBUSxFQUFFN0M7TUFBZ0IsQ0FBQSxDQUMxQixFQUNGLElBQUFhLGdCQUFBLEVBQUNjLFVBQUksRUFBQTtRQUFDQyxHQUFHLEVBQUUsQ0FBQztRQUFFakYsU0FBUyxFQUFFLElBQUF1RSxtQkFBTyxLQUFBckYsTUFBQSxDQUFJbkQsUUFBUSxrQkFBQW1ELE1BQUEsQ0FBZW5ELFFBQVEsdUJBQW9CLENBQUM7UUFBQXFJLFFBQUEsRUFBQSxDQUN0RixJQUFBQyxlQUFBLEVBQUNhLGNBQU0sRUFBQTtVQUFDQyxLQUFLLEVBQUMsTUFBTTtVQUFDVCxJQUFJLEVBQUMsT0FBTztVQUFDVSxLQUFLLEVBQUV6SSxnQkFBZ0I7VUFBRTZILE9BQU8sRUFBRVgsY0FBYztVQUFBTyxRQUFBLEVBQy9FN0g7UUFBVyxDQUFBLENBQ0wsRUFDVCxJQUFBOEgsZUFBQSxFQUFDYSxjQUFNLEVBQUE7VUFDTEMsS0FBSyxFQUFDLFNBQVM7VUFDZlQsSUFBSSxFQUFDLE9BQU87VUFDWlUsS0FBSyxFQUFFekksZ0JBQWdCO1VBQ3ZCMEksUUFBUSxFQUFFLENBQUN6RCxhQUFhLENBQUN4RCxTQUFTLElBQUksQ0FBQ3dELGFBQWEsQ0FBQ3ZELE9BQU87VUFDNURtRyxPQUFPLEVBQUVaLFdBQVc7VUFBQVEsUUFBQSxFQUVuQjVIO1FBQVcsQ0FBQSxDQUNMO01BQUEsQ0FBQSxDQUNKO0lBQUEsQ0FBQSxDQUNIO0VBQUEsQ0FDUDtFQUVELE9BQ0UsSUFBQTZILGVBQUEsRUFBQzhCLGNBQU0sQ0FBQ0MsTUFBTSxFQUFBOUssTUFBQSxDQUFBK0ssTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUNSM0YsSUFBSSxFQUFBO0lBQ1I7SUFDQTtJQUNBZ0UsSUFBSSxFQUFDLGFBQWE7SUFDbEI0QixTQUFTLEVBQUUsS0FBSztJQUNoQnJHLEtBQUssRUFBRUEsS0FBSztJQUNaRSxXQUFXLEVBQUVBLFdBQVc7SUFDeEJILFNBQVMsRUFBRSxJQUFBdUUsbUJBQU8sRUFBQ3hJLFFBQVEsRUFBRWlFLFNBQVMsQ0FBQztJQUN2QzJGLGNBQWMsRUFBRTFKLGdCQUFnQjtJQUNoQ3NLLFVBQVUsRUFBRS9ELGVBQWUsR0FBR3JHLGtCQUFrQixHQUFHRCxrQkFBa0I7SUFDckU4RSxJQUFJLEVBQUVBLElBQUk7SUFDVndGLFlBQVksRUFBRTFDLGdCQUFnQjtJQUM5QjJDLGdCQUFnQixFQUNkckUsWUFBWSxHQUNWLElBQUFpQyxlQUFBLEVBQUNJLDBCQUFjLEVBQUE7TUFBQ0MsSUFBSSxFQUFDLElBQUk7TUFBQzFFLFNBQVMsS0FBQWQsTUFBQSxDQUFLbkQsUUFBUSxZQUFTO01BQUFxSSxRQUFBLEVBQ3ZELElBQUFDLGVBQUEsRUFBQSxNQUFBLEVBQUE7UUFBTXJFLFNBQVMsS0FBQWQsTUFBQSxDQUFLbkQsUUFBUSxrQkFBZTtRQUFBcUksUUFBQSxFQUFHaEM7TUFBWSxDQUFBO0lBQVEsQ0FBQSxDQUNuRCxHQUNmLElBQUk7SUFBQWdDLFFBQUEsRUFHVCxTQUhTQSxRQUFBQSxDQUFBO01BQUEsT0FHRjVCLGVBQWUsR0FBRzhDLGlCQUFpQixDQUFBLENBQUUsR0FBR3JCLGdCQUFnQixDQUFBLENBQUU7SUFBQTtFQUFDLENBQUEsQ0FBQSxDQUNyRDtBQUVwQixDQUFDO0FBRU0sSUFBTXlDLGVBQWUsR0FBQUMsT0FBQSxDQUFBRCxlQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQy9HLG1CQUFtQixDQUFDIiwiZmlsZSI6ImJ1c2luZXNzL0ZpbHRlci9EYXRlUmFuZ2UvRGF0ZVJhbmdlLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZUltcGVyYXRpdmVIYW5kbGUsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b24nO1xuaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0NhbGVuZGFyJztcbmltcG9ydCB7IEZsZXggfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ZsZXgnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL0ljb25zJztcbmltcG9ydCB7IFJhZGlvIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9SYWRpbyc7XG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL1NlbGVjdCc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEFMTF9UUkFOU0FDVElPTlNfVkFMVUUsIERBVEVfUkFOR0VfT1BUSU9OUywgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5jb25zdCBXUkFQX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlcic7XG4vLyBUaGUgY2FsZW5kYXIgb3ZlcmxheSBpcyBwb3J0YWxlZCB0byA8Ym9keT4sIG91dHNpZGUgV1JBUF9DTFMg4oCUIHRoaXMgaXMgYVxuLy8gc3RhbmRhbG9uZSB0b3AtbGV2ZWwgaG9vayBzbyBpdHMgU0NTUyBjYW4gbGlmdCBpdCBhYm92ZSB0aGUgaG9zdFxuLy8gU2VsZWN0LkN1c3RvbSBwYW5lbCAoei1pbmRleCAxNTAwKS5cbmNvbnN0IENBTEVOREFSX1BBTkVMX0NMUyA9ICdvbS1kYXRlLXJhbmdlLWZpbHRlci1jYWxlbmRhci1wYW5lbCc7XG4vLyBUaGUgU2VsZWN0LkN1c3RvbSBwYW5lbCBpcyBwb3J0YWxlZCB0byA8Ym9keT4gdG9vIOKAlCB0b3AtbGV2ZWwgaG9vayBmb3Jcbi8vIHNjb3BpbmcgcGFuZWwtYm9keSBvdmVycmlkZXMgd2l0aG91dCBsZWFraW5nIGludG8gb3RoZXIgU2VsZWN0IHBhbmVscy5cbmNvbnN0IFNFTEVDVF9QQU5FTF9DTFMgPSAnb20tZGF0ZS1yYW5nZS1maWx0ZXItcGFuZWwnO1xuY29uc3QgUEFORUxfV0lEVEhfUFJFU0VUID0gMjQwO1xuY29uc3QgUEFORUxfV0lEVEhfQ1VTVE9NID0gMzIwO1xuY29uc3QgQ0FMRU5EQVJfTU9OVEhTID0gMjtcbmNvbnN0IENIRVZST05fU0laRSA9IDE2O1xuY29uc3QgQkFDS19JQ09OX1NJWkUgPSAyNDtcbmNvbnN0IFJFU0VUX0xBQkVMID0gJ1Jlc2V0JztcbmNvbnN0IEFQUExZX0xBQkVMID0gJ0FwcGx5JztcbmNvbnN0IENVU1RPTV9SQU5HRV9USVRMRSA9ICdDdXN0b20gZGF0ZSByYW5nZSc7XG5jb25zdCBSQU5HRV9TRVBBUkFUT1IgPSAnIC0gJztcbmNvbnN0IEZVTExfV0lEVEhfU1RZTEUgPSB7IGZsZXg6IDEgfTtcbmNvbnN0IFtPUFRJT05fQUxMLCBPUFRJT05fTEFTVF8zMF9EQVlTLCBPUFRJT05fWUVBUl9UT19EQVRFLCBPUFRJT05fTEFTVF8xMl9NT05USFMsIE9QVElPTl9DVVNUT00sXSA9IERBVEVfUkFOR0VfT1BUSU9OUztcbmNvbnN0IExBU1RfMzBfREFZU19DT1VOVCA9IDMwO1xuY29uc3QgTEFTVF8xMl9NT05USFNfQ09VTlQgPSAxMjtcbmNvbnN0IFlFQVJfU1RBUlRfTU9OVEggPSAwOyAvLyBKYW51YXJ5ICh6ZXJvLWJhc2VkIG1vbnRoIGluZGV4KVxuY29uc3QgRklSU1RfREFZX09GX01PTlRIID0gMTtcbi8vIERheS1ib3VuZGFyeSB0aW1lcyBzbyBhbiBhcHBsaWVkIHJhbmdlIGNvdmVycyB3aG9sZSBkYXlzIGluY2x1c2l2ZWx5OlxuLy8gdGhlIHN0YXJ0IGRheSBmcm9tIDAwOjAwOjAwLjAwMCBhbmQgdGhlIGVuZCBkYXkgdGhyb3VnaCAyMzo1OTo1OS45OTkuXG5jb25zdCBEQVlfU1RBUlRfVElNRSA9IFswLCAwLCAwLCAwXTsgLy8gW2hvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCBtc11cbmNvbnN0IERBWV9FTkRfVElNRSA9IFsyMywgNTksIDU5LCA5OTldOyAvLyBbaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG1zXVxuY29uc3QgREFURV9GT1JNQVRfTE9DQUxFID0gJ2VuLVVTJztcbmNvbnN0IERBVEVfRk9STUFUX09QVElPTlMgPSB7XG4gICAgbW9udGg6ICcyLWRpZ2l0JyxcbiAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICB5ZWFyOiAnbnVtZXJpYycsXG59O1xuY29uc3QgZGF0ZUZvcm1hdHRlciA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KERBVEVfRk9STUFUX0xPQ0FMRSwgREFURV9GT1JNQVRfT1BUSU9OUyk7XG5jb25zdCBFTVBUWV9SQU5HRSA9IHsgc3RhcnREYXRlOiBudWxsLCBlbmREYXRlOiBudWxsIH07XG5jb25zdCBzdGFydE9mRGF5ID0gKGRhdGUpID0+IHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgICByZXN1bHQuc2V0SG91cnMoLi4uREFZX1NUQVJUX1RJTUUpO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuY29uc3QgZW5kT2ZEYXkgPSAoZGF0ZSkgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIHJlc3VsdC5zZXRIb3VycyguLi5EQVlfRU5EX1RJTUUpO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuY29uc3QgZm9ybWF0RGF0ZSA9IChkYXRlKSA9PiBkYXRlRm9ybWF0dGVyLmZvcm1hdChkYXRlKTtcbmNvbnN0IGZvcm1hdFJhbmdlID0gKHN0YXJ0LCBlbmQpID0+IGAke2Zvcm1hdERhdGUoc3RhcnQpfSR7UkFOR0VfU0VQQVJBVE9SfSR7Zm9ybWF0RGF0ZShlbmQpfWA7XG5jb25zdCBnZXREYXRlRnJvbU9wdGlvbiA9IChvcHRpb24sIHJhbmdlKSA9PiB7XG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgIHN3aXRjaCAob3B0aW9uKSB7XG4gICAgICAgIGNhc2UgT1BUSU9OX0xBU1RfMzBfREFZUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICAgIHN0YXJ0RGF0ZS5zZXREYXRlKHRvZGF5LmdldERhdGUoKSAtIExBU1RfMzBfREFZU19DT1VOVCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fWUVBUl9UT19EQVRFOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLCBZRUFSX1NUQVJUX01PTlRILCBGSVJTVF9EQVlfT0ZfTU9OVEgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHRvZGF5KSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgT1BUSU9OX0xBU1RfMTJfTU9OVEhTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgICAgc3RhcnREYXRlLnNldE1vbnRoKHRvZGF5LmdldE1vbnRoKCkgLSBMQVNUXzEyX01PTlRIU19DT1VOVCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydERhdGU6IHN0YXJ0T2ZEYXkoc3RhcnREYXRlKSwgZW5kRGF0ZTogZW5kT2ZEYXkodG9kYXkpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBPUFRJT05fQ1VTVE9NOlxuICAgICAgICAgICAgaWYgKHJhbmdlLnN0YXJ0RGF0ZSAmJiByYW5nZS5lbmREYXRlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnREYXRlOiBzdGFydE9mRGF5KHJhbmdlLnN0YXJ0RGF0ZSksIGVuZERhdGU6IGVuZE9mRGF5KHJhbmdlLmVuZERhdGUpIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gQUxMX1RSQU5TQUNUSU9OU19WQUxVRTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBBTExfVFJBTlNBQ1RJT05TX1ZBTFVFO1xuICAgIH1cbn07XG5jb25zdCBEYXRlUmFuZ2VGaWx0ZXJCYXNlID0gKF9hKSA9PiB7XG4gICAgdmFyIHsgcmVmLCBjbGFzc05hbWUsIGxhYmVsLCBwbGFjZWhvbGRlciA9ICdEYXRlJywgYWxsVHJhbnNhY3Rpb25zTGFiZWwgPSAnQWxsIHRyYW5zYWN0aW9ucycsIGRlZmF1bHRTZWxlY3RBbGwgPSBmYWxzZSwgb25BcHBseSwgb25SZXNldCB9ID0gX2EsIHJlc3QgPSBfX3Jlc3QoX2EsIFtcInJlZlwiLCBcImNsYXNzTmFtZVwiLCBcImxhYmVsXCIsIFwicGxhY2Vob2xkZXJcIiwgXCJhbGxUcmFuc2FjdGlvbnNMYWJlbFwiLCBcImRlZmF1bHRTZWxlY3RBbGxcIiwgXCJvbkFwcGx5XCIsIFwib25SZXNldFwiXSk7XG4gICAgY29uc3QgaW5pdGlhbE9wdGlvbiA9IGRlZmF1bHRTZWxlY3RBbGwgPyBPUFRJT05fQUxMIDogbnVsbDtcbiAgICBjb25zdCBpbml0aWFsVGV4dCA9IGRlZmF1bHRTZWxlY3RBbGwgPyBhbGxUcmFuc2FjdGlvbnNMYWJlbCA6ICcnO1xuICAgIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRPcHRpb24sIHNldFNlbGVjdGVkT3B0aW9uXSA9IHVzZVN0YXRlKGluaXRpYWxPcHRpb24pO1xuICAgIGNvbnN0IFtsYXN0U2VsZWN0ZWRPcHRpb24sIHNldExhc3RTZWxlY3RlZE9wdGlvbl0gPSB1c2VTdGF0ZShpbml0aWFsT3B0aW9uKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRSYW5nZSwgc2V0U2VsZWN0ZWRSYW5nZV0gPSB1c2VTdGF0ZShFTVBUWV9SQU5HRSk7XG4gICAgY29uc3QgW2FwcGxpZWRSYW5nZSwgc2V0QXBwbGllZFJhbmdlXSA9IHVzZVN0YXRlKEVNUFRZX1JBTkdFKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRUZXh0LCBzZXRTZWxlY3RlZFRleHRdID0gdXNlU3RhdGUoaW5pdGlhbFRleHQpO1xuICAgIGNvbnN0IFtzaG93Q3VzdG9tUmFuZ2UsIHNldFNob3dDdXN0b21SYW5nZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW21vbnRoVmlldywgc2V0TW9udGhWaWV3XSA9IHVzZVN0YXRlKHVuZGVmaW5lZCk7XG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsICgpID0+ICh7XG4gICAgICAgIGNsZWFyOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihudWxsKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkVGV4dCgnJyk7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgIH0sXG4gICAgICAgIHJlc2V0OiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkUmFuZ2UoRU1QVFlfUkFOR0UpO1xuICAgICAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgICAgIHNldFNlbGVjdGVkVGV4dChpbml0aWFsVGV4dCk7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICAgICAgfSxcbiAgICB9KSwgW2luaXRpYWxPcHRpb24sIGluaXRpYWxUZXh0LCBvblJlc2V0XSk7XG4gICAgY29uc3QgZ2V0RGlzcGxheUxhYmVsID0gdXNlQ2FsbGJhY2soKG9wdGlvbikgPT4gKG9wdGlvbiA9PT0gT1BUSU9OX0FMTCA/IGFsbFRyYW5zYWN0aW9uc0xhYmVsIDogb3B0aW9uKSwgW2FsbFRyYW5zYWN0aW9uc0xhYmVsXSk7XG4gICAgY29uc3QgaGFuZGxlSXRlbUNsaWNrID0gdXNlQ2FsbGJhY2soKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAob3B0aW9uID09PSBPUFRJT05fQ1VTVE9NKSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24ob3B0aW9uKTtcbiAgICAgICAgfVxuICAgIH0sIFtdKTtcbiAgICBjb25zdCBoYW5kbGVEYXRlU2VsZWN0ID0gdXNlQ2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZXZlbnQudmFsdWU7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHZhbHVlO1xuICAgICAgICBpZiAoc3RhcnQgJiYgZW5kKSB7XG4gICAgICAgICAgICBzZXRNb250aFZpZXcoc3RhcnQpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZSh7IHN0YXJ0RGF0ZTogc3RhcnQsIGVuZERhdGU6IGVuZCB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChzdGFydCkge1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZSh7IHN0YXJ0RGF0ZTogc3RhcnQsIGVuZERhdGU6IG51bGwgfSk7XG4gICAgICAgIH1cbiAgICB9LCBbXSk7XG4gICAgY29uc3QgYXBwbHlQcmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGlmICghc2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIG9uQXBwbHkoZ2V0RGF0ZUZyb21PcHRpb24oc2VsZWN0ZWRPcHRpb24sIHNlbGVjdGVkUmFuZ2UpKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGdldERpc3BsYXlMYWJlbChzZWxlY3RlZE9wdGlvbikpO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oc2VsZWN0ZWRPcHRpb24pO1xuICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0QXBwbGllZFJhbmdlKEVNUFRZX1JBTkdFKTtcbiAgICAgICAgc2V0TW9udGhWaWV3KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldE9wZW4oZmFsc2UpO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbiwgc2VsZWN0ZWRSYW5nZSwgb25BcHBseSwgZ2V0RGlzcGxheUxhYmVsXSk7XG4gICAgY29uc3QgYXBwbHlDdXN0b20gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnREYXRlLCBlbmREYXRlIH0gPSBzZWxlY3RlZFJhbmdlO1xuICAgICAgICBpZiAoIXN0YXJ0RGF0ZSB8fCAhZW5kRGF0ZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgb25BcHBseSh7IHN0YXJ0RGF0ZTogc3RhcnRPZkRheShzdGFydERhdGUpLCBlbmREYXRlOiBlbmRPZkRheShlbmREYXRlKSB9KTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGZvcm1hdFJhbmdlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSkpO1xuICAgICAgICBzZXRMYXN0U2VsZWN0ZWRPcHRpb24oT1BUSU9OX0NVU1RPTSk7XG4gICAgICAgIHNldFNlbGVjdGVkT3B0aW9uKG51bGwpO1xuICAgICAgICBzZXRBcHBsaWVkUmFuZ2UoeyBzdGFydERhdGUsIGVuZERhdGUgfSk7XG4gICAgICAgIHNldFNob3dDdXN0b21SYW5nZSh0cnVlKTtcbiAgICAgICAgc2V0T3BlbihmYWxzZSk7XG4gICAgfSwgW3NlbGVjdGVkUmFuZ2UsIG9uQXBwbHldKTtcbiAgICBjb25zdCByZXNldFNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24oaW5pdGlhbE9wdGlvbik7XG4gICAgICAgIHNldExhc3RTZWxlY3RlZE9wdGlvbihpbml0aWFsT3B0aW9uKTtcbiAgICAgICAgc2V0U2VsZWN0ZWRUZXh0KGluaXRpYWxUZXh0KTtcbiAgICAgICAgc2V0U2VsZWN0ZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldEFwcGxpZWRSYW5nZShFTVBUWV9SQU5HRSk7XG4gICAgICAgIHNldE1vbnRoVmlldyh1bmRlZmluZWQpO1xuICAgICAgICBvblJlc2V0ID09PSBudWxsIHx8IG9uUmVzZXQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uUmVzZXQoKTtcbiAgICB9LCBbaW5pdGlhbE9wdGlvbiwgaW5pdGlhbFRleHQsIG9uUmVzZXRdKTtcbiAgICBjb25zdCBoYW5kbGVPcGVuQ2hhbmdlID0gdXNlQ2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIHNldE9wZW4obmV4dE9wZW4pO1xuICAgICAgICBpZiAobmV4dE9wZW4pXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIE9uIGNsb3NlIHdpdGhvdXQgQXBwbHksIHNuYXAgdGhlIHBhbmVsIGJhY2sgdG8gdGhlIGxhc3QgY29tbWl0dGVkIHN0YXRlXG4gICAgICAgIC8vIHNvIGFuIGFiYW5kb25lZCBlZGl0IGRvZXNuJ3QgbGluZ2VyLlxuICAgICAgICBpZiAobGFzdFNlbGVjdGVkT3B0aW9uID09PSBPUFRJT05fQ1VTVE9NKSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICBzZXRTZWxlY3RlZFJhbmdlKGFwcGxpZWRSYW5nZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzZXRTaG93Q3VzdG9tUmFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgc2V0U2VsZWN0ZWRPcHRpb24obGFzdFNlbGVjdGVkT3B0aW9uKTtcbiAgICAgICAgfVxuICAgIH0sIFtsYXN0U2VsZWN0ZWRPcHRpb24sIGFwcGxpZWRSYW5nZV0pO1xuICAgIGNvbnN0IGNhbGVuZGFyVmFsdWUgPSBzZWxlY3RlZFJhbmdlLnN0YXJ0RGF0ZVxuICAgICAgICA/IHNlbGVjdGVkUmFuZ2UuZW5kRGF0ZVxuICAgICAgICAgICAgPyBbc2VsZWN0ZWRSYW5nZS5zdGFydERhdGUsIHNlbGVjdGVkUmFuZ2UuZW5kRGF0ZV1cbiAgICAgICAgICAgIDogW3NlbGVjdGVkUmFuZ2Uuc3RhcnREYXRlXVxuICAgICAgICA6IG51bGw7XG4gICAgY29uc3QgcmVuZGVyUHJlc2V0TGlzdCA9ICgpID0+IChfanN4cyhfRnJhZ21lbnQsIHsgY2hpbGRyZW46IFtfanN4KFwidWxcIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fbGlzdGAsIGNoaWxkcmVuOiBEQVRFX1JBTkdFX09QVElPTlMubWFwKChvcHRpb24pID0+IChfanN4cyhcImxpXCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKGAke1dSQVBfQ0xTfV9faXRlbWAsIG9wdGlvbiA9PT0gT1BUSU9OX0NVU1RPTSAmJiBgJHtXUkFQX0NMU31fX2l0ZW0tLWN1c3RvbWAsIHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24gJiYgYCR7V1JBUF9DTFN9X19pdGVtLS1zZWxlY3RlZGApLCBvbkNsaWNrOiAoKSA9PiBoYW5kbGVJdGVtQ2xpY2sob3B0aW9uKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6ICdzbScsIHN0cm9uZzogdHJ1ZSwgY2hpbGRyZW46IGdldERpc3BsYXlMYWJlbChvcHRpb24pIH0pLCBvcHRpb24gPT09IE9QVElPTl9DVVNUT00gPyAoX2pzeChJY29ucywgeyBuYW1lOiAnY2hldnJvblJpZ2h0Jywgc2l6ZTogQ0hFVlJPTl9TSVpFIH0pKSA6IChfanN4KFJhZGlvLCB7IHNpemU6ICdzbWFsbCcsIGNoZWNrZWQ6IHNlbGVjdGVkT3B0aW9uID09PSBvcHRpb24gfSkpXSB9LCBvcHRpb24pKSkgfSksIF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fZm9vdGVyYCwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogcmVzZXRTZWxlY3Rpb24sIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIGRpc2FibGVkOiAhc2VsZWN0ZWRPcHRpb24sIG9uQ2xpY2s6IGFwcGx5UHJlc2V0LCBjaGlsZHJlbjogQVBQTFlfTEFCRUwgfSldIH0pXSB9KSk7XG4gICAgY29uc3QgcmVuZGVyQ3VzdG9tUmFuZ2UgPSAoKSA9PiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fY3VzdG9tYCwgY2hpbGRyZW46IFtfanN4cyhGbGV4LCB7IGFsaWduOiAnY2VudGVyJywgZ2FwOiA4LCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fY3VzdG9tLWhlYWRlcmAsIGNoaWxkcmVuOiBbX2pzeChJY29ucywgeyBuYW1lOiAnYXJyb3dMZWZ0Jywgc2l6ZTogQkFDS19JQ09OX1NJWkUsIHdyYXBwZXJDbHM6IGAke1dSQVBfQ0xTfV9fYmFjay1pY29uYCwgb25DbGljazogKCkgPT4gc2V0U2hvd0N1c3RvbVJhbmdlKGZhbHNlKSB9KSwgX2pzeChUeXBvZ3JhcGh5TGFiZWwsIHsgc2l6ZTogJ2xnJywgY2hpbGRyZW46IENVU1RPTV9SQU5HRV9USVRMRSB9KV0gfSksIF9qc3goQ2FsZW5kYXIsIHsgd3JhcHBlckNsczogYCR7V1JBUF9DTFN9X19jYWxlbmRhcmAsIHBhbmVsQ2xhc3NOYW1lOiBDQUxFTkRBUl9QQU5FTF9DTFMsIHNpemU6ICdzbWFsbCcsIHNlbGVjdGlvbk1vZGU6ICdyYW5nZScsIHBsYWNlaG9sZGVyOiAnTU0vREQvWVlZWSAtIE1NL0REL1lZWVknLCByZWFkT25seUlucHV0OiB0cnVlLCBoaWRlT25SYW5nZVNlbGVjdGlvbjogdHJ1ZSwgbnVtYmVyT2ZNb250aHM6IENBTEVOREFSX01PTlRIUywgdmFsdWU6IGNhbGVuZGFyVmFsdWUsIHZpZXdEYXRlOiBtb250aFZpZXcsIG9uVmlld0RhdGVDaGFuZ2U6IChldmVudCkgPT4gc2V0TW9udGhWaWV3KGV2ZW50LnZhbHVlKSwgb25DaGFuZ2U6IGhhbmRsZURhdGVTZWxlY3QgfSksIF9qc3hzKEZsZXgsIHsgZ2FwOiA4LCBjbGFzc05hbWU6IGpvaW5DbHMoYCR7V1JBUF9DTFN9X19mb290ZXJgLCBgJHtXUkFQX0NMU31fX2Zvb3Rlci0tYm9yZGVyZWRgKSwgY2hpbGRyZW46IFtfanN4KEJ1dHRvbiwgeyBjb2xvcjogJ2dyZXknLCBzaXplOiAnc21hbGwnLCBzdHlsZTogRlVMTF9XSURUSF9TVFlMRSwgb25DbGljazogcmVzZXRTZWxlY3Rpb24sIGNoaWxkcmVuOiBSRVNFVF9MQUJFTCB9KSwgX2pzeChCdXR0b24sIHsgY29sb3I6ICdwcmltYXJ5Jywgc2l6ZTogJ3NtYWxsJywgc3R5bGU6IEZVTExfV0lEVEhfU1RZTEUsIGRpc2FibGVkOiAhc2VsZWN0ZWRSYW5nZS5zdGFydERhdGUgfHwgIXNlbGVjdGVkUmFuZ2UuZW5kRGF0ZSwgb25DbGljazogYXBwbHlDdXN0b20sIGNoaWxkcmVuOiBBUFBMWV9MQUJFTCB9KV0gfSldIH0pKTtcbiAgICByZXR1cm4gKF9qc3goU2VsZWN0LkN1c3RvbSwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBcbiAgICAgICAgLy8gRml4ZWQgMzJweCBcIkV4dHJhIFNtYWxsXCIgdHJpZ2dlciB2aWEgdGhlIG5hdGl2ZSBTZWxlY3QgYGV4dHJhLXNtYWxsYFxuICAgICAgICAvLyBzaXplOyBsb2NrZWQgaGVyZSByYXRoZXIgdGhhbiBleHBvc2VkIGFzIGEgcHJvcC5cbiAgICAgICAgc2l6ZTogJ2V4dHJhLXNtYWxsJywgYW5pbWF0aW9uOiBmYWxzZSwgbGFiZWw6IGxhYmVsLCBwbGFjZWhvbGRlcjogcGxhY2Vob2xkZXIsIGNsYXNzTmFtZTogam9pbkNscyhXUkFQX0NMUywgY2xhc3NOYW1lKSwgcGFuZWxDbGFzc05hbWU6IFNFTEVDVF9QQU5FTF9DTFMsIHBhbmVsV2lkdGg6IHNob3dDdXN0b21SYW5nZSA/IFBBTkVMX1dJRFRIX0NVU1RPTSA6IFBBTkVMX1dJRFRIX1BSRVNFVCwgb3Blbjogb3Blbiwgb25PcGVuQ2hhbmdlOiBoYW5kbGVPcGVuQ2hhbmdlLCBzZWxlY3RlZFRlbXBsYXRlOiBzZWxlY3RlZFRleHQgPyAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBzaXplOiAnbWQnLCBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWVgLCBjaGlsZHJlbjogX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGAke1dSQVBfQ0xTfV9fdmFsdWUtbGFiZWxgLCBjaGlsZHJlbjogc2VsZWN0ZWRUZXh0IH0pIH0pKSA6IG51bGwsIGNoaWxkcmVuOiAoKSA9PiAoc2hvd0N1c3RvbVJhbmdlID8gcmVuZGVyQ3VzdG9tUmFuZ2UoKSA6IHJlbmRlclByZXNldExpc3QoKSkgfSkpKTtcbn07XG5leHBvcnQgY29uc3QgRGF0ZVJhbmdlRmlsdGVyID0gbWVtbyhEYXRlUmFuZ2VGaWx0ZXJCYXNlKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -27,11 +27,6 @@ export interface DateRangeFilterHandler {
|
|
|
27
27
|
}
|
|
28
28
|
export interface DateRangeFilterProps extends Omit<SelectCustomProps, 'ref' | 'size' | 'placeholder' | 'children' | 'selectedTemplate' | 'open' | 'defaultOpen' | 'onOpenChange' | 'panelWidth' | 'role' | 'arrow'> {
|
|
29
29
|
ref?: RefObject<DateRangeFilterHandler | null>;
|
|
30
|
-
/**
|
|
31
|
-
* Trigger size. Mirrors the host filter row sizing.
|
|
32
|
-
* @default 'small'
|
|
33
|
-
*/
|
|
34
|
-
size?: 'small' | 'large';
|
|
35
30
|
/** Optional field label rendered above the trigger. */
|
|
36
31
|
label?: ReactNode;
|
|
37
32
|
/**
|
|
@@ -26,12 +26,17 @@
|
|
|
26
26
|
width: 100%;
|
|
27
27
|
overflow: hidden;
|
|
28
28
|
line-height: 18px;
|
|
29
|
+
}
|
|
30
|
+
.om-date-range-filter__value-label {
|
|
31
|
+
min-width: 0;
|
|
32
|
+
overflow: hidden;
|
|
29
33
|
white-space: nowrap;
|
|
30
34
|
text-overflow: ellipsis;
|
|
31
35
|
}
|
|
32
36
|
.om-date-range-filter__list {
|
|
33
37
|
display: flex;
|
|
34
38
|
flex-direction: column;
|
|
39
|
+
gap: var(--om-spacing-100, 4px);
|
|
35
40
|
margin: 0;
|
|
36
41
|
padding: 0;
|
|
37
42
|
list-style: none;
|
|
@@ -41,13 +46,13 @@
|
|
|
41
46
|
align-items: center;
|
|
42
47
|
justify-content: space-between;
|
|
43
48
|
width: 100%;
|
|
44
|
-
height:
|
|
45
|
-
padding: var(--om-spacing-
|
|
49
|
+
height: 34px;
|
|
50
|
+
padding: 6px var(--om-spacing-300, 12px);
|
|
46
51
|
cursor: pointer;
|
|
47
52
|
}
|
|
48
|
-
.om-date-range-filter__item:hover {
|
|
53
|
+
.om-date-range-filter__item:hover, .om-date-range-filter__item--selected {
|
|
49
54
|
background: var(--om-bg-default-secondary, #f8f8f8);
|
|
50
|
-
border-radius: var(--om-radius-
|
|
55
|
+
border-radius: var(--om-radius-200, 8px);
|
|
51
56
|
}
|
|
52
57
|
.om-date-range-filter__item--custom {
|
|
53
58
|
border-top: 1px solid var(--om-border-neutral, #e3e4e4);
|
|
@@ -70,7 +75,7 @@
|
|
|
70
75
|
width: 100%;
|
|
71
76
|
}
|
|
72
77
|
.om-date-range-filter__footer {
|
|
73
|
-
padding: var(--om-spacing-
|
|
78
|
+
padding: var(--om-spacing-200, 8px) 0;
|
|
74
79
|
}
|
|
75
80
|
.om-date-range-filter__footer--bordered {
|
|
76
81
|
border-top: 1px solid var(--om-border-neutral, #e3e4e4);
|