@1money/component-ui 0.0.69 → 0.0.71
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/Dialog/VerificationDialog/hooks/useOtpVerification.js +3 -2
- package/es/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +2 -2
- package/es/business/Select/Network/NetworkSelect.js +2 -2
- package/es/components/Accordion/Accordion.js +3 -2
- package/es/components/Calendar/Calendar.js +3 -2
- package/es/components/Carousel/Carousel.js +3 -2
- package/es/components/Checkbox/BaseCheckbox.js +3 -2
- package/es/components/Checkbox/Checkbox.js +2 -2
- package/es/components/Checkbox/CheckboxGroup.js +3 -2
- package/es/components/CoachMark/CoachMark.js +3 -2
- package/es/components/Copy/Copy.js +2 -2
- package/es/components/Dialog/Dialog.js +2 -2
- package/es/components/Drawer/Drawer.js +2 -2
- package/es/components/Icons/Wrapper.js +6 -4
- package/es/components/Icons/constants.d.ts +11 -0
- package/es/components/Icons/constants.js +32 -0
- package/es/components/Icons/index.d.ts +2 -0
- package/es/components/Icons/index.js +2 -1
- package/es/components/Icons/interface.d.ts +8 -1
- package/es/components/Input/Amount/Amount.js +2 -2
- package/es/components/Input/Input/Input.js +3 -2
- package/es/components/Input/Mask/Mask.js +3 -2
- package/es/components/Input/OTP/OTP.js +3 -2
- package/es/components/Input/Password/Password.js +3 -2
- package/es/components/Input/Search/Search.js +3 -2
- package/es/components/Input/TextArea/TextArea.js +3 -2
- package/es/components/Input/Trade/Trade.js +2 -2
- package/es/components/Input/useAmountInput.js +4 -2
- package/es/components/Input/useSyncRef.js +2 -2
- package/es/components/Navigation/Nav.js +2 -2
- package/es/components/Navigation/Navigation.js +5 -2
- package/es/components/Pagination/Pagination.js +2 -2
- package/es/components/Pagination/usePagination.js +3 -2
- package/es/components/Popconfirm/Popconfirm.js +2 -2
- package/es/components/Portal/Portal.js +2 -2
- package/es/components/ProForm/ProForm.js +6 -3
- package/es/components/ProForm/ProFormGroup.js +2 -2
- package/es/components/ProForm/ProFormList.js +3 -2
- package/es/components/ProForm/Submitter.js +2 -2
- package/es/components/ProForm/core/constants.d.ts +6 -0
- package/es/components/ProForm/core/constants.js +7 -1
- package/es/components/ProForm/core/hooks/useForm.js +25 -195
- package/es/components/ProForm/core/hooks/useFormCore.js +14 -142
- package/es/components/ProForm/core/pathUtils.d.ts +6 -0
- package/es/components/ProForm/core/pathUtils.js +59 -0
- package/es/components/ProForm/core/runRules.d.ts +13 -0
- package/es/components/ProForm/core/runRules.js +186 -0
- package/es/components/ProForm/core/useFormItem.js +10 -28
- package/es/components/ProForm/fields/createProFormField.js +43 -57
- package/es/components/ProForm/hooks/useFieldRequest.js +7 -5
- package/es/components/ProForm/layouts/QueryFilter.js +3 -2
- package/es/components/ProForm/layouts/useOverlayForm.js +23 -21
- package/es/components/ProForm/utils.d.ts +2 -2
- package/es/components/ProForm/utils.js +5 -51
- package/es/components/ProTable/ProTable.js +3 -2
- package/es/components/ProTable/core/useAwaitableReload.js +3 -2
- package/es/components/ProTable/useFetchData.js +4 -2
- package/es/components/Radio/Radio.js +3 -2
- package/es/components/Radio/RadioGroup.js +3 -2
- package/es/components/ResizeObserver/useResizeObserver.js +2 -2
- package/es/components/Segment/Segment.js +4 -2
- package/es/components/Select/Select.js +3 -2
- package/es/components/Select/SelectCustom.js +2 -2
- package/es/components/Select/useSelectShell.js +3 -2
- package/es/components/Slider/Slider.js +3 -2
- package/es/components/Switch/Switch.js +3 -2
- package/es/components/Table/Table.js +14 -28
- package/es/components/Table/VirtualTable.js +18 -28
- package/es/components/Table/core/columnUtil.d.ts +9 -0
- package/es/components/Table/core/columnUtil.js +34 -0
- package/es/components/Table/core/useTableColumns.d.ts +4 -13
- package/es/components/Table/core/useTableColumns.js +55 -24
- package/es/components/Table/core/useTableDataPipeline.d.ts +11 -16
- package/es/components/Table/core/useTableDataPipeline.js +66 -73
- package/es/components/Table/core/useTableExpand.js +3 -2
- package/es/components/Table/core/useTableSelection.js +7 -4
- package/es/components/Table/core/useTableSetup.js +4 -2
- package/es/components/Table/features/ExpandTrigger.d.ts +9 -3
- package/es/components/Table/features/ExpandTrigger.js +14 -8
- package/es/components/Table/features/FilterTrigger.js +21 -17
- package/es/components/Table/features/SelectionColumn.d.ts +11 -6
- package/es/components/Table/features/SelectionColumn.js +12 -5
- package/es/components/Table/features/SortTrigger.d.ts +4 -2
- package/es/components/Table/features/SortTrigger.js +8 -3
- package/es/components/Table/internal/kernel/Body/MeasureCell.js +2 -2
- package/es/components/Table/internal/kernel/Cell/index.js +2 -2
- package/es/components/Table/internal/kernel/Table.js +3 -3
- package/es/components/Table/internal/kernel/VirtualTable/index.js +2 -2
- package/es/components/Table/internal/kernel/hooks/useRowInfo.js +2 -2
- package/es/components/Table/internal/kernel/selector-context/context.js +3 -3
- package/es/components/Table/renderers/HeaderCell.js +3 -2
- package/es/components/Table/renderers/TableShell.d.ts +13 -0
- package/es/components/Table/renderers/TableShell.js +25 -0
- package/es/components/Table/style/Table.css +3 -0
- package/es/components/Tabs/Tabs.js +4 -2
- package/es/components/Tooltip/Tooltip.js +3 -2
- package/es/components/Tour/Tour.js +3 -2
- package/es/components/Trigger/Trigger.js +3 -2
- package/es/components/Typography/Typography.js +2 -2
- package/es/components/Typography/useTypographyEnhancements.js +3 -2
- package/es/components/Upload/Upload.js +2 -2
- package/es/components/Upload/UploadFileBar.js +2 -2
- package/es/components/VirtualList/VirtualList.js +3 -2
- package/es/components/VirtualList/hooks/useMobileTouchMove.js +2 -2
- package/es/components/VirtualList/hooks/useScrollTo.js +2 -2
- package/es/index.css +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/lib/business/Dialog/VerificationDialog/hooks/useOtpVerification.js +9 -8
- package/lib/business/Dialog/VerificationDialog/hooks/useResendCountdown.js +3 -3
- package/lib/business/Select/Network/NetworkSelect.js +3 -3
- package/lib/components/Accordion/Accordion.js +5 -4
- package/lib/components/Calendar/Calendar.js +6 -5
- package/lib/components/Carousel/Carousel.js +5 -4
- package/lib/components/Checkbox/BaseCheckbox.js +5 -4
- package/lib/components/Checkbox/Checkbox.js +3 -3
- package/lib/components/Checkbox/CheckboxGroup.js +7 -6
- package/lib/components/CoachMark/CoachMark.js +7 -6
- package/lib/components/Copy/Copy.js +3 -3
- package/lib/components/Dialog/Dialog.js +6 -6
- package/lib/components/Drawer/Drawer.js +10 -10
- package/lib/components/Icons/Wrapper.js +6 -4
- package/lib/components/Icons/constants.d.ts +11 -0
- package/lib/components/Icons/constants.js +38 -0
- package/lib/components/Icons/index.d.ts +2 -0
- package/lib/components/Icons/index.js +10 -2
- package/lib/components/Icons/interface.d.ts +8 -1
- package/lib/components/Input/Amount/Amount.js +6 -5
- package/lib/components/Input/Input/Input.js +7 -6
- package/lib/components/Input/Mask/Mask.js +9 -8
- package/lib/components/Input/OTP/OTP.js +9 -8
- package/lib/components/Input/Password/Password.js +6 -5
- package/lib/components/Input/Search/Search.js +8 -7
- package/lib/components/Input/TextArea/TextArea.js +5 -4
- package/lib/components/Input/Trade/Trade.js +5 -4
- package/lib/components/Input/useAmountInput.js +13 -11
- package/lib/components/Input/useSyncRef.js +4 -3
- package/lib/components/Navigation/Nav.js +3 -3
- package/lib/components/Navigation/Navigation.js +10 -7
- package/lib/components/Pagination/Pagination.js +4 -3
- package/lib/components/Pagination/usePagination.js +7 -6
- package/lib/components/Popconfirm/Popconfirm.js +3 -3
- package/lib/components/Portal/Portal.js +4 -4
- package/lib/components/ProForm/ProForm.js +14 -11
- package/lib/components/ProForm/ProFormGroup.js +3 -3
- package/lib/components/ProForm/ProFormList.js +10 -9
- package/lib/components/ProForm/Submitter.js +4 -4
- package/lib/components/ProForm/core/constants.d.ts +6 -0
- package/lib/components/ProForm/core/constants.js +8 -2
- package/lib/components/ProForm/core/hooks/useForm.js +36 -206
- package/lib/components/ProForm/core/hooks/useFormCore.js +32 -160
- package/lib/components/ProForm/core/pathUtils.d.ts +6 -0
- package/lib/components/ProForm/core/pathUtils.js +68 -0
- package/lib/components/ProForm/core/runRules.d.ts +13 -0
- package/lib/components/ProForm/core/runRules.js +194 -0
- package/lib/components/ProForm/core/useFormItem.js +15 -33
- package/lib/components/ProForm/fields/createProFormField.js +42 -56
- package/lib/components/ProForm/hooks/useFieldRequest.js +9 -7
- package/lib/components/ProForm/layouts/QueryFilter.js +8 -7
- package/lib/components/ProForm/layouts/useOverlayForm.js +27 -27
- package/lib/components/ProForm/utils.d.ts +2 -2
- package/lib/components/ProForm/utils.js +20 -55
- package/lib/components/ProTable/ProTable.js +10 -9
- package/lib/components/ProTable/core/useAwaitableReload.js +6 -5
- package/lib/components/ProTable/useFetchData.js +15 -13
- package/lib/components/Radio/Radio.js +6 -5
- package/lib/components/Radio/RadioGroup.js +5 -4
- package/lib/components/ResizeObserver/useResizeObserver.js +4 -3
- package/lib/components/Segment/Segment.js +7 -5
- package/lib/components/Select/Select.js +23 -22
- package/lib/components/Select/SelectCustom.js +8 -8
- package/lib/components/Select/useSelectShell.js +5 -4
- package/lib/components/Slider/Slider.js +6 -5
- package/lib/components/Switch/Switch.js +5 -4
- package/lib/components/Table/Table.js +13 -27
- package/lib/components/Table/VirtualTable.js +17 -27
- package/lib/components/Table/core/columnUtil.d.ts +9 -0
- package/lib/components/Table/core/columnUtil.js +42 -0
- package/lib/components/Table/core/useTableColumns.d.ts +4 -13
- package/lib/components/Table/core/useTableColumns.js +57 -26
- package/lib/components/Table/core/useTableDataPipeline.d.ts +11 -16
- package/lib/components/Table/core/useTableDataPipeline.js +73 -80
- package/lib/components/Table/core/useTableExpand.js +6 -5
- package/lib/components/Table/core/useTableSelection.js +13 -10
- package/lib/components/Table/core/useTableSetup.js +8 -5
- package/lib/components/Table/features/ExpandTrigger.d.ts +9 -3
- package/lib/components/Table/features/ExpandTrigger.js +14 -8
- package/lib/components/Table/features/FilterTrigger.js +21 -17
- package/lib/components/Table/features/SelectionColumn.d.ts +11 -6
- package/lib/components/Table/features/SelectionColumn.js +12 -5
- package/lib/components/Table/features/SortTrigger.d.ts +4 -2
- package/lib/components/Table/features/SortTrigger.js +8 -3
- package/lib/components/Table/internal/kernel/Body/MeasureCell.js +3 -3
- package/lib/components/Table/internal/kernel/Cell/index.js +4 -4
- package/lib/components/Table/internal/kernel/Table.js +7 -6
- package/lib/components/Table/internal/kernel/VirtualTable/index.js +4 -4
- package/lib/components/Table/internal/kernel/hooks/useRowInfo.js +3 -3
- package/lib/components/Table/internal/kernel/selector-context/context.js +6 -5
- package/lib/components/Table/renderers/HeaderCell.js +3 -2
- package/lib/components/Table/renderers/TableShell.d.ts +13 -0
- package/lib/components/Table/renderers/TableShell.js +31 -0
- package/lib/components/Table/style/Table.css +3 -0
- package/lib/components/Tabs/Tabs.js +7 -5
- package/lib/components/Tooltip/Tooltip.js +5 -4
- package/lib/components/Tour/Tour.js +7 -6
- package/lib/components/Trigger/Trigger.js +5 -4
- package/lib/components/Typography/Typography.js +5 -4
- package/lib/components/Typography/useTypographyEnhancements.js +8 -7
- package/lib/components/Upload/Upload.js +5 -4
- package/lib/components/Upload/UploadFileBar.js +4 -3
- package/lib/components/VirtualList/VirtualList.js +8 -7
- package/lib/components/VirtualList/hooks/useMobileTouchMove.js +4 -3
- package/lib/components/VirtualList/hooks/useScrollTo.js +3 -3
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +2 -2
- package/scripts/mcp-server/examples.generated.json +12 -6
- package/scripts/mcp-server/index.generated.json +45 -3
|
@@ -10,7 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
var _react = require("react");
|
|
12
12
|
var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
|
|
13
|
-
var
|
|
13
|
+
var _useMemoizedFn = _interopRequireDefault(require("@1money/hooks/useMemoizedFn"));
|
|
14
14
|
var _Icons = require("../Icons");
|
|
15
15
|
var _Typography = require("../Typography");
|
|
16
16
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
@@ -134,7 +134,7 @@ var _NavChildItem = function NavChildItem(_ref2) {
|
|
|
134
134
|
var visibleChildren = children === null || children === void 0 ? void 0 : children.filter(function (child) {
|
|
135
135
|
return !child.hidden;
|
|
136
136
|
});
|
|
137
|
-
var handleClick = (0,
|
|
137
|
+
var handleClick = (0, _useMemoizedFn["default"])(function (e) {
|
|
138
138
|
if (disabled) return;
|
|
139
139
|
if (hasChildren) {
|
|
140
140
|
var next = !open;
|
|
@@ -207,4 +207,4 @@ var _NavChildItem = function NavChildItem(_ref2) {
|
|
|
207
207
|
});
|
|
208
208
|
};
|
|
209
209
|
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(Nav);
|
|
210
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTmF2aWdhdGlvbi9OYXYuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL05hdmlnYXRpb24vTmF2LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2hvb2tzIiwiX0ljb25zIiwiX1R5cG9ncmFwaHkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIkdST1VQX0lDT05fU0laRSIsIkNIRVZST05fU0laRSIsImlzSWNvbk5hbWUiLCJpY29uIiwiTmF2IiwiZXhwb3J0cyIsInByb3BzIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRib2R5Q2xzIiwiYm9keUNscyIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJpdGVtcyIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImlzR3JvdXBJdGVtIiwiaXRlbSIsImNoaWxkcmVuIiwiX2pzeCIsImFzc2lnbiIsImZpbHRlciIsImhpZGRlbiIsIm1hcCIsImluZGV4IiwiX2EiLCJfanN4cyIsIk5hdkdyb3VwIiwiTmF2Q2hpbGRJdGVtIiwiZGVwdGgiLCJrZXkiLCJfcmVmIiwibGFiZWwiLCJyZW5kZXJJY29uIiwiZ3JvdXBJY29uIiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsIlR5cG9ncmFwaHkiLCJUaXRsZSIsInN0cm9uZyIsImFzIiwiY2hpbGQiLCJfcmVmMiIsImFjdGl2ZSIsImRpc2FibGVkIiwib25DbGljayIsImRlZmF1bHRPcGVuIiwib25PcGVuQ2hhbmdlIiwibGluayIsInN1ZmZpeCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm9wZW4iLCJzZXRPcGVuIiwiaGFzQ2hpbGRyZW4iLCJ2aXNpYmxlQ2hpbGRyZW4iLCJoYW5kbGVDbGljayIsInVzZU1lbW9pemVkRm4iLCJuZXh0Iiwid3JhcFdpdGhMaW5rIiwiY29udGVudCIsIml0ZW1MaW5rIiwiaHJlZiIsImlzVmFsaWRFbGVtZW50IiwiY2xvbmVFbGVtZW50IiwiZGVwdGhTdHlsZSIsIml0ZW1Db250ZW50Iiwiam9pbkNscyIsInN0eWxlIiwidHlwZSIsIl9kZWZhdWx0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQTJDLFNBQUFPLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTCx3QkFBQUssQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENB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QUFDUyxhQUFZLEVBQUE7WUFFWFgsSUFBSSxFQUFFeUIsS0FBSztZQUNYL0IsU0FBUyxFQUFFQSxTQUFTO1lBQ3BCa0IsS0FBSyxFQUFFQSxLQUFLLEdBQUc7VUFBQyxDQUFBLEVBSFgsQ0FBQUosRUFBQSxHQUFBaUIsS0FBSyxDQUFDWixHQUFHLE1BQUEsSUFBQSxJQUFBTCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSUQsS0FBSyxDQUl2QjtRRGhHSSxDQ2lHUDtNQUFDLENBQUE7SUFDRSxDQUFBLENBRVQ7RUFBQSxDQUFBLENBQ0c7QUFFVixDQUFDO0FBQUMsSUFBQWlELFFBQUEsR0FBQXJFLE9BQUEsMkJBRWEsSUFBQXNFLFdBQUksRUFBQ3ZFLEdBQUcsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL05hdmlnYXRpb24vTmF2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVN0YXRlLCBjbG9uZUVsZW1lbnQsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgeyB1c2VNZW1vaXplZEZuIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmNvbnN0IEdST1VQX0lDT05fU0laRSA9IDIwO1xuY29uc3QgQ0hFVlJPTl9TSVpFID0gMjA7XG5jb25zdCBpc0ljb25OYW1lID0gKGljb24pID0+IHR5cGVvZiBpY29uID09PSAnc3RyaW5nJztcbmV4cG9ydCBjb25zdCBOYXYgPSBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgYm9keUNscyA9ICcnLCBwcmVmaXhDbHMgPSAnbmF2JywgaXRlbXMgfSA9IHByb3BzLCByZXN0ID0gX19yZXN0KHByb3BzLCBbXCJjbGFzc05hbWVcIiwgXCJib2R5Q2xzXCIsIFwicHJlZml4Q2xzXCIsIFwiaXRlbXNcIl0pO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgaXNHcm91cEl0ZW0gPSAoaXRlbSkgPT4gISEoaXRlbS5jaGlsZHJlbiAmJiBpdGVtLmNoaWxkcmVuLmxlbmd0aCA+IDApO1xuICAgIHJldHVybiAoX2pzeChcIm5hdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgY2xhc3NOYW1lKSB9LCByZXN0LCB7IGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50JywgYm9keUNscyksIGNoaWxkcmVuOiBpdGVtc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoaXRlbSA9PiAhaXRlbS5oaWRkZW4pXG4gICAgICAgICAgICAgICAgLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNoaWxkcmVuOiBbaW5kZXggPiAwICYmIGlzR3JvdXBJdGVtKGl0ZW0pICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdkaXZpZGVyJykgfSkpLCBpc0dyb3VwSXRlbShpdGVtKSA/IChfanN4KE5hdkdyb3VwLCB7IGl0ZW06IGl0ZW0sIHByZWZpeENsczogcHJlZml4Q2xzIH0pKSA6IChfanN4KE5hdkNoaWxkSXRlbSwgeyBpdGVtOiBpdGVtLCBwcmVmaXhDbHM6IHByZWZpeENscywgZGVwdGg6IDAgfSkpXSB9LCAoX2EgPSBpdGVtLmtleSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXgpKTtcbiAgICAgICAgICAgIH0pIH0pIH0pKSk7XG59O1xuY29uc3QgTmF2R3JvdXAgPSAoeyBpdGVtLCBwcmVmaXhDbHMgfSkgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWwsIGljb24sIGNoaWxkcmVuIH0gPSBpdGVtO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgcmVuZGVySWNvbiA9IChncm91cEljb24pID0+IHtcbiAgICAgICAgaWYgKCFncm91cEljb24pXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKGlzSWNvbk5hbWUoZ3JvdXBJY29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIF9qc3goSWNvbnMsIHsgbmFtZTogZ3JvdXBJY29uLCBzaXplOiBHUk9VUF9JQ09OX1NJWkUgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGdyb3VwSWNvbjtcbiAgICB9O1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwJyksIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtaGVhZGVyJyksIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtaGVhZGVyLWNvbnRlbnQnKSwgY2hpbGRyZW46IFtpY29uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtaGVhZGVyLWljb24nKSwgY2hpbGRyZW46IHJlbmRlckljb24oaWNvbikgfSkpLCBfanN4KFR5cG9ncmFwaHkuVGl0bGUsIHsgc2l6ZTogXCJzbVwiLCBzdHJvbmc6IHRydWUsIGFzOiBcImRpdlwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwLWhlYWRlci1sYWJlbCcpLCBjaGlsZHJlbjogbGFiZWwgfSldIH0pIH0pLCBjaGlsZHJlbiA9PT0gbnVsbCB8fCBjaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICFjaGlsZC5oaWRkZW4pLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChOYXZDaGlsZEl0ZW0sIHsgaXRlbTogY2hpbGQsIHByZWZpeENsczogcHJlZml4Q2xzLCBkZXB0aDogMSB9LCAoX2EgPSBjaGlsZC5rZXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGluZGV4KSk7XG4gICAgICAgICAgICB9KV0gfSkpO1xufTtcbmNvbnN0IE5hdkNoaWxkSXRlbSA9ICh7IGl0ZW0sIHByZWZpeENscywgZGVwdGggfSkgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWwsIGFjdGl2ZSwgZGlzYWJsZWQsIG9uQ2xpY2ssIGNoaWxkcmVuLCBkZWZhdWx0T3Blbiwgb25PcGVuQ2hhbmdlLCBsaW5rLCBzdWZmaXggfSA9IGl0ZW07XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbb3Blbiwgc2V0T3Blbl0gPSB1c2VTdGF0ZShkZWZhdWx0T3BlbiAhPT0gbnVsbCAmJiBkZWZhdWx0T3BlbiAhPT0gdm9pZCAwID8gZGVmYXVsdE9wZW4gOiBmYWxzZSk7XG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPSBjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGggPiAwO1xuICAgIGNvbnN0IHZpc2libGVDaGlsZHJlbiA9IGNoaWxkcmVuID09PSBudWxsIHx8IGNoaWxkcmVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIWNoaWxkLmhpZGRlbik7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VNZW1vaXplZEZuKChlKSA9PiB7XG4gICAgICAgIGlmIChkaXNhYmxlZClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gIW9wZW47XG4gICAgICAgICAgICBzZXRPcGVuKG5leHQpO1xuICAgICAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHQpO1xuICAgICAgICB9XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhlKTtcbiAgICB9KTtcbiAgICBjb25zdCB3cmFwV2l0aExpbmsgPSAoY29udGVudCwgaXRlbUxpbmspID0+IHtcbiAgICAgICAgaWYgKCFpdGVtTGluaylcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1MaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIF9qc3goXCJhXCIsIHsgaHJlZjogaXRlbUxpbmssIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1saW5rJyksIGNoaWxkcmVuOiBjb250ZW50IH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChpdGVtTGluaykpIHtcbiAgICAgICAgICAgIHJldHVybiBjbG9uZUVsZW1lbnQoaXRlbUxpbmssIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogY29udGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH07XG4gICAgY29uc3QgZGVwdGhTdHlsZSA9IHsgJy0tb20tbmF2LWluZGVudCc6IGRlcHRoIH07XG4gICAgY29uc3QgaXRlbUNvbnRlbnQgPSAoX2pzeHMoXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0nLCBqb2luQ2xzKGhhc0NoaWxkcmVuICYmIGNsYXNzZXMoJ2l0ZW0tZXhwYW5kYWJsZScpLCBhY3RpdmUgJiYgY2xhc3NlcygnaXRlbS1hY3RpdmUnKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygnaXRlbS1kaXNhYmxlZCcpKSksIHN0eWxlOiBkZXB0aFN0eWxlLCBcImRhdGEtZGVwdGhcIjogZGVwdGgsIG9uQ2xpY2s6IGhhbmRsZUNsaWNrLCBkaXNhYmxlZDogZGlzYWJsZWQsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tY29udGVudCcpLCBjaGlsZHJlbjogW19qc3goVHlwb2dyYXBoeS5UaXRsZSwgeyBzaXplOiBcInNtXCIsIGFzOiBcImRpdlwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSldIH0pLCBoYXNDaGlsZHJlbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tYXJyb3cnLCBqb2luQ2xzKG9wZW4gJiYgY2xhc3NlcygnaXRlbS1hcnJvdy1vcGVuJykpKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGV2cm9uRG93blwiLCBzaXplOiBDSEVWUk9OX1NJWkUgfSkgfSkpXSB9KSk7XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS13cmFwcGVyJyksIGNoaWxkcmVuOiBbbGluayAmJiAhaGFzQ2hpbGRyZW4gPyB3cmFwV2l0aExpbmsoaXRlbUNvbnRlbnQsIGxpbmspIDogaXRlbUNvbnRlbnQsIGhhc0NoaWxkcmVuICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWJtZW51Jywgam9pbkNscyhvcGVuICYmIGNsYXNzZXMoJ3N1Ym1lbnUtb3BlbicpKSksIGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWJtZW51LWlubmVyJyksIGNoaWxkcmVuOiB2aXNpYmxlQ2hpbGRyZW4gPT09IG51bGwgfHwgdmlzaWJsZUNoaWxkcmVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiB2aXNpYmxlQ2hpbGRyZW4ubWFwKChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChOYXZDaGlsZEl0ZW0sIHsgaXRlbTogY2hpbGQsIHByZWZpeENsczogcHJlZml4Q2xzLCBkZXB0aDogZGVwdGggKyAxIH0sIChfYSA9IGNoaWxkLmtleSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXgpKTtcbiAgICAgICAgICAgICAgICAgICAgfSkgfSkgfSkpXSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhOYXYpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTmF2aWdhdGlvbi9OYXYuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL05hdmlnYXRpb24vTmF2LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3VzZU1lbW9pemVkRm4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0ljb25zIiwiX1R5cG9ncmFwaHkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIkdST1VQX0lDT05fU0laRSIsIkNIRVZST05fU0laRSIsImlzSWNvbk5hbWUiLCJpY29uIiwiTmF2IiwiZXhwb3J0cyIsInByb3BzIiwiX3Byb3BzJGNsYXNzTmFtZSIsImNsYXNzTmFtZSIsIl9wcm9wcyRib2R5Q2xzIiwiYm9keUNscyIsIl9wcm9wcyRwcmVmaXhDbHMiLCJwcmVmaXhDbHMiLCJpdGVtcyIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImlzR3JvdXBJdGVtIiwiaXRlbSIsImNoaWxkcmVuIiwiX2pzeCIsImFzc2lnbiIsImZpbHRlciIsImhpZGRlbiIsIm1hcCIsImluZGV4IiwiX2EiLCJfanN4cyIsIk5hdkdyb3VwIiwiTmF2Q2hpbGRJdGVtIiwiZGVwdGgiLCJrZXkiLCJfcmVmIiwibGFiZWwiLCJyZW5kZXJJY29uIiwiZ3JvdXBJY29uIiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsIlR5cG9ncmFwaHkiLCJUaXRsZSIsInN0cm9uZyIsImFzIiwiY2hpbGQiLCJfcmVmMiIsImFjdGl2ZSIsImRpc2FibGVkIiwib25DbGljayIsImRlZmF1bHRPcGVuIiwib25PcGVuQ2hhbmdlIiwibGluayIsInN1ZmZpeCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm9wZW4iLCJzZXRPcGVuIiwiaGFzQ2hpbGRyZW4iLCJ2aXNpYmxlQ2hpbGRyZW4iLCJoYW5kbGVDbGljayIsInVzZU1lbW9pemVkRm4iLCJuZXh0Iiwid3JhcFdpdGhMaW5rIiwiY29udGVudCIsIml0ZW1MaW5rIiwiaHJlZiIsImlzVmFsaWRFbGVtZW50IiwiY2xvbmVFbGVtZW50IiwiZGVwdGhTdHlsZSIsIml0ZW1Db250ZW50Iiwiam9pbkNscyIsInN0eWxlIiwidHlwZSIsIl9kZWZhdWx0IiwibWVtbyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBV0EsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDWEEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksY0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQTJDLFNBQUFRLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBTix3QkFBQU0sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FB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STtVRDVGM0IsSUFBSUMsRUFBRTtVQzRGc0IsT0FDdEMsSUFBQU4sZUFBQSxFQUFDUyxhQUFZLEVBQUE7WUFFWFgsSUFBSSxFQUFFeUIsS0FBSztZQUNYL0IsU0FBUyxFQUFFQSxTQUFTO1lBQ3BCa0IsS0FBSyxFQUFFQSxLQUFLLEdBQUc7VUFBQyxDQUFBLEVBSFgsQ0FBQUosRUFBQSxHQUFBaUIsS0FBSyxDQUFDWixHQUFHLE1BQUEsSUFBQSxJQUFBTCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSUQsS0FBSyxDQUl2QjtRRGhHSSxDQ2lHUDtNQUFDLENBQUE7SUFDRSxDQUFBLENBRVQ7RUFBQSxDQUFBLENBQ0c7QUFFVixDQUFDO0FBQUMsSUFBQWlELFFBQUEsR0FBQXJFLE9BQUEsMkJBRWEsSUFBQXNFLFdBQUksRUFBQ3ZFLEdBQUcsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL05hdmlnYXRpb24vTmF2LmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZVN0YXRlLCBjbG9uZUVsZW1lbnQsIGlzVmFsaWRFbGVtZW50IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBjbGFzc25hbWVzLCBqb2luQ2xzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZU1lbW9pemVkRm4nO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5jb25zdCBHUk9VUF9JQ09OX1NJWkUgPSAyMDtcbmNvbnN0IENIRVZST05fU0laRSA9IDIwO1xuY29uc3QgaXNJY29uTmFtZSA9IChpY29uKSA9PiB0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZyc7XG5leHBvcnQgY29uc3QgTmF2ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIGJvZHlDbHMgPSAnJywgcHJlZml4Q2xzID0gJ25hdicsIGl0ZW1zIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwiYm9keUNsc1wiLCBcInByZWZpeENsc1wiLCBcIml0ZW1zXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGlzR3JvdXBJdGVtID0gKGl0ZW0pID0+ICEhKGl0ZW0uY2hpbGRyZW4gJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGggPiAwKTtcbiAgICByZXR1cm4gKF9qc3goXCJuYXZcIiwgT2JqZWN0LmFzc2lnbih7IGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGNsYXNzTmFtZSkgfSwgcmVzdCwgeyBjaGlsZHJlbjogX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcsIGJvZHlDbHMpLCBjaGlsZHJlbjogaXRlbXNcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZGVuKVxuICAgICAgICAgICAgICAgIC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjaGlsZHJlbjogW2luZGV4ID4gMCAmJiBpc0dyb3VwSXRlbShpdGVtKSAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZGl2aWRlcicpIH0pKSwgaXNHcm91cEl0ZW0oaXRlbSkgPyAoX2pzeChOYXZHcm91cCwgeyBpdGVtOiBpdGVtLCBwcmVmaXhDbHM6IHByZWZpeENscyB9KSkgOiAoX2pzeChOYXZDaGlsZEl0ZW0sIHsgaXRlbTogaXRlbSwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIGRlcHRoOiAwIH0pKV0gfSwgKF9hID0gaXRlbS5rZXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGluZGV4KSk7XG4gICAgICAgICAgICB9KSB9KSB9KSkpO1xufTtcbmNvbnN0IE5hdkdyb3VwID0gKHsgaXRlbSwgcHJlZml4Q2xzIH0pID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBpY29uLCBjaGlsZHJlbiB9ID0gaXRlbTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IHJlbmRlckljb24gPSAoZ3JvdXBJY29uKSA9PiB7XG4gICAgICAgIGlmICghZ3JvdXBJY29uKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmIChpc0ljb25OYW1lKGdyb3VwSWNvbikpIHtcbiAgICAgICAgICAgIHJldHVybiBfanN4KEljb25zLCB7IG5hbWU6IGdyb3VwSWNvbiwgc2l6ZTogR1JPVVBfSUNPTl9TSVpFIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBncm91cEljb247XG4gICAgfTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cCcpLCBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwLWhlYWRlcicpLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwLWhlYWRlci1jb250ZW50JyksIGNoaWxkcmVuOiBbaWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2dyb3VwLWhlYWRlci1pY29uJyksIGNoaWxkcmVuOiByZW5kZXJJY29uKGljb24pIH0pKSwgX2pzeChUeXBvZ3JhcGh5LlRpdGxlLCB7IHNpemU6IFwic21cIiwgc3Ryb25nOiB0cnVlLCBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdncm91cC1oZWFkZXItbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pXSB9KSB9KSwgY2hpbGRyZW4gPT09IG51bGwgfHwgY2hpbGRyZW4gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiAhY2hpbGQuaGlkZGVuKS5tYXAoKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goTmF2Q2hpbGRJdGVtLCB7IGl0ZW06IGNoaWxkLCBwcmVmaXhDbHM6IHByZWZpeENscywgZGVwdGg6IDEgfSwgKF9hID0gY2hpbGQua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgfSldIH0pKTtcbn07XG5jb25zdCBOYXZDaGlsZEl0ZW0gPSAoeyBpdGVtLCBwcmVmaXhDbHMsIGRlcHRoIH0pID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBhY3RpdmUsIGRpc2FibGVkLCBvbkNsaWNrLCBjaGlsZHJlbiwgZGVmYXVsdE9wZW4sIG9uT3BlbkNoYW5nZSwgbGluaywgc3VmZml4IH0gPSBpdGVtO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4gIT09IG51bGwgJiYgZGVmYXVsdE9wZW4gIT09IHZvaWQgMCA/IGRlZmF1bHRPcGVuIDogZmFsc2UpO1xuICAgIGNvbnN0IGhhc0NoaWxkcmVuID0gY2hpbGRyZW4gJiYgY2hpbGRyZW4ubGVuZ3RoID4gMDtcbiAgICBjb25zdCB2aXNpYmxlQ2hpbGRyZW4gPSBjaGlsZHJlbiA9PT0gbnVsbCB8fCBjaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2hpbGRyZW4uZmlsdGVyKGNoaWxkID0+ICFjaGlsZC5oaWRkZW4pO1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlTWVtb2l6ZWRGbigoZSkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChoYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9ICFvcGVuO1xuICAgICAgICAgICAgc2V0T3BlbihuZXh0KTtcbiAgICAgICAgICAgIG9uT3BlbkNoYW5nZSA9PT0gbnVsbCB8fCBvbk9wZW5DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT3BlbkNoYW5nZShuZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBvbkNsaWNrID09PSBudWxsIHx8IG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2xpY2soZSk7XG4gICAgfSk7XG4gICAgY29uc3Qgd3JhcFdpdGhMaW5rID0gKGNvbnRlbnQsIGl0ZW1MaW5rKSA9PiB7XG4gICAgICAgIGlmICghaXRlbUxpbmspXG4gICAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtTGluayA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHJldHVybiBfanN4KFwiYVwiLCB7IGhyZWY6IGl0ZW1MaW5rLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tbGluaycpLCBjaGlsZHJlbjogY29udGVudCB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoaXRlbUxpbmspKSB7XG4gICAgICAgICAgICByZXR1cm4gY2xvbmVFbGVtZW50KGl0ZW1MaW5rLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICB9O1xuICAgIGNvbnN0IGRlcHRoU3R5bGUgPSB7ICctLW9tLW5hdi1pbmRlbnQnOiBkZXB0aCB9O1xuICAgIGNvbnN0IGl0ZW1Db250ZW50ID0gKF9qc3hzKFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtJywgam9pbkNscyhoYXNDaGlsZHJlbiAmJiBjbGFzc2VzKCdpdGVtLWV4cGFuZGFibGUnKSwgYWN0aXZlICYmIGNsYXNzZXMoJ2l0ZW0tYWN0aXZlJyksIGRpc2FibGVkICYmIGNsYXNzZXMoJ2l0ZW0tZGlzYWJsZWQnKSkpLCBzdHlsZTogZGVwdGhTdHlsZSwgXCJkYXRhLWRlcHRoXCI6IGRlcHRoLCBvbkNsaWNrOiBoYW5kbGVDbGljaywgZGlzYWJsZWQ6IGRpc2FibGVkLCB0eXBlOiBcImJ1dHRvblwiLCBjaGlsZHJlbjogW19qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWNvbnRlbnQnKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHkuVGl0bGUsIHsgc2l6ZTogXCJzbVwiLCBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBsYWJlbCB9KSwgc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLXN1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pXSB9KSwgaGFzQ2hpbGRyZW4gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWFycm93Jywgam9pbkNscyhvcGVuICYmIGNsYXNzZXMoJ2l0ZW0tYXJyb3ctb3BlbicpKSksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IFwiY2hldnJvbkRvd25cIiwgc2l6ZTogQ0hFVlJPTl9TSVpFIH0pIH0pKV0gfSkpO1xuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0td3JhcHBlcicpLCBjaGlsZHJlbjogW2xpbmsgJiYgIWhhc0NoaWxkcmVuID8gd3JhcFdpdGhMaW5rKGl0ZW1Db250ZW50LCBsaW5rKSA6IGl0ZW1Db250ZW50LCBoYXNDaGlsZHJlbiAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VibWVudScsIGpvaW5DbHMob3BlbiAmJiBjbGFzc2VzKCdzdWJtZW51LW9wZW4nKSkpLCBjaGlsZHJlbjogX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VibWVudS1pbm5lcicpLCBjaGlsZHJlbjogdmlzaWJsZUNoaWxkcmVuID09PSBudWxsIHx8IHZpc2libGVDaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmlzaWJsZUNoaWxkcmVuLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goTmF2Q2hpbGRJdGVtLCB7IGl0ZW06IGNoaWxkLCBwcmVmaXhDbHM6IHByZWZpeENscywgZGVwdGg6IGRlcHRoICsgMSB9LCAoX2EgPSBjaGlsZC5rZXkpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IGluZGV4KSk7XG4gICAgICAgICAgICAgICAgICAgIH0pIH0pIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oTmF2KTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -10,7 +10,10 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
11
|
var _react = require("react");
|
|
12
12
|
var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
|
|
13
|
-
var
|
|
13
|
+
var _useControlledState3 = _interopRequireDefault(require("@1money/hooks/useControlledState"));
|
|
14
|
+
var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
15
|
+
var _useMemoizedFn = _interopRequireDefault(require("@1money/hooks/useMemoizedFn"));
|
|
16
|
+
var _useLatest = _interopRequireDefault(require("@1money/hooks/useLatest"));
|
|
14
17
|
var _Icons = require("../Icons");
|
|
15
18
|
var _Typography = require("../Typography");
|
|
16
19
|
var _Trigger = require("../Trigger");
|
|
@@ -50,12 +53,12 @@ var Navigation = exports.Navigation = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
50
53
|
children = props.children,
|
|
51
54
|
rest = __rest(props, ["className", "prefixCls", "items", "collapsed", "defaultCollapsed", "collapsible", "onCollapse", "onLogoClick", "header", "selector", "children"]);
|
|
52
55
|
var classes = (0, _classnames["default"])(prefixCls);
|
|
53
|
-
var _useControlledState = (0,
|
|
56
|
+
var _useControlledState = (0, _useControlledState3["default"])(defaultCollapsed, controlledCollapsed),
|
|
54
57
|
_useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
|
|
55
58
|
collapsed = _useControlledState2[0],
|
|
56
59
|
setCollapsed = _useControlledState2[1];
|
|
57
|
-
var collapsedRef = (0,
|
|
58
|
-
var handleCollapse = (0,
|
|
60
|
+
var collapsedRef = (0, _useLatest["default"])(collapsed);
|
|
61
|
+
var handleCollapse = (0, _useEventCallback["default"])(function (value) {
|
|
59
62
|
setCollapsed(value);
|
|
60
63
|
onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(value);
|
|
61
64
|
});
|
|
@@ -67,7 +70,7 @@ var Navigation = exports.Navigation = /*#__PURE__*/(0, _react.forwardRef)(functi
|
|
|
67
70
|
collapse: handleCollapse
|
|
68
71
|
};
|
|
69
72
|
}, [handleCollapse]);
|
|
70
|
-
var handleToggleCollapse = (0,
|
|
73
|
+
var handleToggleCollapse = (0, _useEventCallback["default"])(function () {
|
|
71
74
|
handleCollapse(!collapsed);
|
|
72
75
|
});
|
|
73
76
|
return (0, _jsxRuntime.jsxs)("nav", Object.assign({
|
|
@@ -131,7 +134,7 @@ var NavigationMenuItem = function NavigationMenuItem(_ref) {
|
|
|
131
134
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
132
135
|
open = _useState2[0],
|
|
133
136
|
setOpen = _useState2[1];
|
|
134
|
-
var handleClick = (0,
|
|
137
|
+
var handleClick = (0, _useMemoizedFn["default"])(function (e) {
|
|
135
138
|
if (disabled) return;
|
|
136
139
|
if (children === null || children === void 0 ? void 0 : children.length) {
|
|
137
140
|
var next = !open;
|
|
@@ -306,4 +309,4 @@ var NavigationMenuItem = function NavigationMenuItem(_ref) {
|
|
|
306
309
|
});
|
|
307
310
|
};
|
|
308
311
|
var _default = exports["default"] = /*#__PURE__*/(0, _react.memo)(Navigation);
|
|
309
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTmF2aWdhdGlvbi9OYXZpZ2F0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL05hdmlnYXRpb24udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfaG9va3MiLCJfSWNvbnMiLCJfVHlwb2dyYXBoeSIsIl9UcmlnZ2VyIiwiX05hdmlnYXRpb25Mb2dvIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9fcmVzdCIsInMiLCJwIiwicHJvdG90eXBlIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiSUNPTl9TSVpFIiwiQ0hFVlJPTl9TSVpFIiwiQ09MTEFQU0VfSUNPTl9TSVpFIiwiaXNJY29uTmFtZSIsImljb24iLCJOYXZpZ2F0aW9uIiwiZXhwb3J0cyIsImZvcndhcmRSZWYiLCJwcm9wcyIsInJlZiIsIl9wcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiaXRlbXMiLCJjb250cm9sbGVkQ29sbGFwc2VkIiwiY29sbGFwc2VkIiwiX3Byb3BzJGRlZmF1bHRDb2xsYXBzIiwiZGVmYXVsdENvbGxhcHNlZCIsIl9wcm9wcyRjb2xsYXBzaWJsZSIsImNvbGxhcHNpYmxlIiwib25Db2xsYXBzZSIsIm9uTG9nb0NsaWNrIiwiaGVhZGVyIiwic2VsZWN0b3IiLCJjaGlsZHJlbiIsInJlc3QiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldENvbGxhcHNlZCIsImNvbGxhcHNlZFJlZiIsInVzZUxhdGVzdCIsImhhbmRsZUNvbGxhcHNlIiwidXNlRXZlbnRDYWxsYmFjayIsInZhbHVlIiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInRvZ2dsZSIsImN1cnJlbnQiLCJjb2xsYXBzZSIsImhhbmRsZVRvZ2dsZUNvbGxhcHNlIiwiX2pzeHMiLCJhc3NpZ24iLCJqb2luQ2xzIiwiX2pzeCIsInVuZGVmaW5lZCIsIk5hdmlnYXRpb25Mb2dvIiwib25DbGljayIsImZpbHRlciIsIml0ZW0iLCJoaWRkZW4iLCJtYXAiLCJpbmRleCIsIl9hIiwiTmF2aWdhdGlvbk1lbnVJdGVtIiwia2V5IiwidHlwZSIsIkljb25zIiwibmFtZSIsInNpemUiLCJkaXNwbGF5TmFtZSIsIl9yZWYiLCJsYWJlbCIsInN1ZmZpeCIsImxpbmsiLCJhY3RpdmUiLCJkaXNhYmxlZCIsImRlZmF1bHRPcGVuIiwib25PcGVuQ2hhbmdlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwib3BlbiIsInNldE9wZW4iLCJoYW5kbGVDbGljayIsInVzZU1lbW9pemVkRm4iLCJuZXh0IiwiaGFzQ2hpbGRyZW4iLCJ2aXNpYmxlQ2hpbGRyZW4iLCJjaGlsZCIsImNoaWxkQWN0aXZlIiwic29tZSIsInJlbmRlckljb24iLCJpdGVtSWNvbiIsIndyYXBXaXRoTGluayIsImNvbnRlbnQiLCJpdGVtTGluayIsImhyZWYiLCJpc1ZhbGlkRWxlbWVudCIsImNsb25lRWxlbWVudCIsImNvbGxhcHNlZENvbnRlbnQiLCJUeXBvZ3JhcGh5IiwiTGFiZWwiLCJhcyIsIlRyaWdnZXIiLCJ0cmlnZ2VyIiwicGxhY2VtZW50Iiwib2Zmc2V0Iiwib3ZlcmxheUNsYXNzTmFtZSIsIl9yZWYyIiwiY2xvc2UiLCJfYiIsImNoaWxkQ29udGVudCIsIlRpdGxlIiwiaXRlbUNvbnRlbnQiLCJfZGVmYXVsdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVdBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ1hBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQVQsT0FBQTtBQUlBQSxPQUFBO0FBQWlCLFNBQUFVLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUix3QkFBQVEsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxD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RXZCLEtBQUssQ0FBQ2YsSUFBSSxDQUFDLEdBQUdzQyxZQUFZO1FBQzNFLENBQUM7TUFBQyxDQUFBO0lBQ0ksQ0FBQSxDQUVUO0VBQUEsQ0FBQSxDQUNHO0FBRVYsQ0FBQztBQUFDLElBQUFHLFFBQUEsR0FBQXRHLE9BQUEsMkJBRWEsSUFBQXVHLFdBQUksRUFBQ3hHLFVBQVUsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL05hdmlnYXRpb24vTmF2aWdhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VTdGF0ZSwgZm9yd2FyZFJlZiwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgY2xvbmVFbGVtZW50LCBpc1ZhbGlkRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgdXNlQ29udHJvbGxlZFN0YXRlLCB1c2VFdmVudENhbGxiYWNrLCB1c2VNZW1vaXplZEZuLCB1c2VMYXRlc3QgfSBmcm9tICdAMW1vbmV5L2hvb2tzJztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeSB9IGZyb20gJy4uL1R5cG9ncmFwaHknO1xuaW1wb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4uL1RyaWdnZXInO1xuaW1wb3J0IE5hdmlnYXRpb25Mb2dvIGZyb20gJy4vTmF2aWdhdGlvbkxvZ28nO1xuaW1wb3J0ICcuL3N0eWxlJztcbmNvbnN0IElDT05fU0laRSA9IDE2O1xuY29uc3QgQ0hFVlJPTl9TSVpFID0gMTY7XG5jb25zdCBDT0xMQVBTRV9JQ09OX1NJWkUgPSAxNjtcbmNvbnN0IGlzSWNvbk5hbWUgPSAoaWNvbikgPT4gdHlwZW9mIGljb24gPT09ICdzdHJpbmcnO1xuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb24gPSBmb3J3YXJkUmVmKChwcm9wcywgcmVmKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ25hdmlnYXRpb24nLCBpdGVtcywgY29sbGFwc2VkOiBjb250cm9sbGVkQ29sbGFwc2VkLCBkZWZhdWx0Q29sbGFwc2VkID0gZmFsc2UsIGNvbGxhcHNpYmxlID0gZmFsc2UsIG9uQ29sbGFwc2UsIG9uTG9nb0NsaWNrLCBoZWFkZXIsIHNlbGVjdG9yLCBjaGlsZHJlbiB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcIml0ZW1zXCIsIFwiY29sbGFwc2VkXCIsIFwiZGVmYXVsdENvbGxhcHNlZFwiLCBcImNvbGxhcHNpYmxlXCIsIFwib25Db2xsYXBzZVwiLCBcIm9uTG9nb0NsaWNrXCIsIFwiaGVhZGVyXCIsIFwic2VsZWN0b3JcIiwgXCJjaGlsZHJlblwiXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbY29sbGFwc2VkLCBzZXRDb2xsYXBzZWRdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRDb2xsYXBzZWQsIGNvbnRyb2xsZWRDb2xsYXBzZWQpO1xuICAgIGNvbnN0IGNvbGxhcHNlZFJlZiA9IHVzZUxhdGVzdChjb2xsYXBzZWQpO1xuICAgIGNvbnN0IGhhbmRsZUNvbGxhcHNlID0gdXNlRXZlbnRDYWxsYmFjaygodmFsdWUpID0+IHtcbiAgICAgICAgc2V0Q29sbGFwc2VkKHZhbHVlKTtcbiAgICAgICAgb25Db2xsYXBzZSA9PT0gbnVsbCB8fCBvbkNvbGxhcHNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNvbGxhcHNlKHZhbHVlKTtcbiAgICB9KTtcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgdG9nZ2xlOiAoKSA9PiBoYW5kbGVDb2xsYXBzZSghY29sbGFwc2VkUmVmLmN1cnJlbnQpLFxuICAgICAgICBjb2xsYXBzZTogaGFuZGxlQ29sbGFwc2UsXG4gICAgfSksIFtoYW5kbGVDb2xsYXBzZV0pO1xuICAgIGNvbnN0IGhhbmRsZVRvZ2dsZUNvbGxhcHNlID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGhhbmRsZUNvbGxhcHNlKCFjb2xsYXBzZWQpO1xuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeHMoXCJuYXZcIiwgT2JqZWN0LmFzc2lnbih7IGNsYXNzTmFtZTogY2xhc3Nlcyh2b2lkIDAsIGpvaW5DbHMoY29sbGFwc2VkICYmIGNsYXNzZXMoJ2NvbGxhcHNlZCcpLCBjbGFzc05hbWUpKSB9LCByZXN0LCB7IGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaGVhZGVyJyksIGNoaWxkcmVuOiBoZWFkZXIgIT09IHVuZGVmaW5lZCA/IGhlYWRlciA6IChfanN4KE5hdmlnYXRpb25Mb2dvLCB7IGNvbGxhcHNlZDogY29sbGFwc2VkLCBvbkNsaWNrOiBvbkxvZ29DbGljayB9KSkgfSksIHNlbGVjdG9yICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3NlbGVjdG9yJyksIGNoaWxkcmVuOiBzZWxlY3RvciB9KSwgX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ25hdicpLCBjaGlsZHJlbjogW19qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ21lbnUnKSwgY2hpbGRyZW46IGl0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLmhpZGRlbikubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKF9qc3goTmF2aWdhdGlvbk1lbnVJdGVtLCB7IGl0ZW06IGl0ZW0sIHByZWZpeENsczogcHJlZml4Q2xzLCBjb2xsYXBzZWQ6IGNvbGxhcHNlZCB9LCAoX2EgPSBpdGVtLmtleSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pIH0pLCBjb2xsYXBzaWJsZSAmJiAoX2pzeChcImJ1dHRvblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2UtdG9nZ2xlJyksIG9uQ2xpY2s6IGhhbmRsZVRvZ2dsZUNvbGxhcHNlLCB0eXBlOiBcImJ1dHRvblwiLCBjaGlsZHJlbjogX2pzeChJY29ucywgeyBuYW1lOiBjb2xsYXBzZWQgPyAnZXh0ZW5kJyA6ICdjb2xsYXBzZScsIHNpemU6IENPTExBUFNFX0lDT05fU0laRSB9KSB9KSldIH0pLCBjaGlsZHJlbiAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzZXR0aW5ncycpLCBjaGlsZHJlbjogY2hpbGRyZW4gfSldIH0pKSk7XG59KTtcbk5hdmlnYXRpb24uZGlzcGxheU5hbWUgPSAnTmF2aWdhdGlvbic7XG5jb25zdCBOYXZpZ2F0aW9uTWVudUl0ZW0gPSAoeyBpdGVtLCBwcmVmaXhDbHMsIGNvbGxhcHNlZCB9KSA9PiB7XG4gICAgY29uc3QgeyBsYWJlbCwgaWNvbiwgc3VmZml4LCBsaW5rLCBhY3RpdmUsIGRpc2FibGVkLCBvbkNsaWNrLCBjaGlsZHJlbiwgZGVmYXVsdE9wZW4sIG9uT3BlbkNoYW5nZSB9ID0gaXRlbTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IHVzZVN0YXRlKGRlZmF1bHRPcGVuICE9PSBudWxsICYmIGRlZmF1bHRPcGVuICE9PSB2b2lkIDAgPyBkZWZhdWx0T3BlbiA6IGZhbHNlKTtcbiAgICBjb25zdCBoYW5kbGVDbGljayA9IHVzZU1lbW9pemVkRm4oKGUpID0+IHtcbiAgICAgICAgaWYgKGRpc2FibGVkKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoY2hpbGRyZW4gPT09IG51bGwgfHwgY2hpbGRyZW4gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9ICFvcGVuO1xuICAgICAgICAgICAgc2V0T3BlbihuZXh0KTtcbiAgICAgICAgICAgIG9uT3BlbkNoYW5nZSA9PT0gbnVsbCB8fCBvbk9wZW5DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT3BlbkNoYW5nZShuZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBvbkNsaWNrID09PSBudWxsIHx8IG9uQ2xpY2sgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2xpY2soZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFzQ2hpbGRyZW4gPSBjaGlsZHJlbiAmJiBjaGlsZHJlbi5sZW5ndGggPiAwO1xuICAgIGNvbnN0IHZpc2libGVDaGlsZHJlbiA9IGNoaWxkcmVuID09PSBudWxsIHx8IGNoaWxkcmVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjaGlsZHJlbi5maWx0ZXIoY2hpbGQgPT4gIWNoaWxkLmhpZGRlbik7XG4gICAgY29uc3QgY2hpbGRBY3RpdmUgPSBoYXNDaGlsZHJlbiAmJiBjaGlsZHJlbi5zb21lKGNoaWxkID0+IGNoaWxkLmFjdGl2ZSk7XG4gICAgY29uc3QgcmVuZGVySWNvbiA9IChpdGVtSWNvbikgPT4ge1xuICAgICAgICBpZiAoIWl0ZW1JY29uKVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmIChpc0ljb25OYW1lKGl0ZW1JY29uKSkge1xuICAgICAgICAgICAgcmV0dXJuIF9qc3goSWNvbnMsIHsgbmFtZTogaXRlbUljb24sIHNpemU6IElDT05fU0laRSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbUljb247XG4gICAgfTtcbiAgICBjb25zdCB3cmFwV2l0aExpbmsgPSAoY29udGVudCwgaXRlbUxpbmspID0+IHtcbiAgICAgICAgaWYgKCFpdGVtTGluaylcbiAgICAgICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1MaW5rID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIF9qc3goXCJhXCIsIHsgaHJlZjogaXRlbUxpbmssIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1saW5rJyksIGNoaWxkcmVuOiBjb250ZW50IH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChpdGVtTGluaykpIHtcbiAgICAgICAgICAgIHJldHVybiBjbG9uZUVsZW1lbnQoaXRlbUxpbmssIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogY29udGVudCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH07XG4gICAgaWYgKGNvbGxhcHNlZCkge1xuICAgICAgICBjb25zdCBjb2xsYXBzZWRDb250ZW50ID0gKF9qc3hzKFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtaXRlbScsIGpvaW5DbHMoKGFjdGl2ZSB8fCBjaGlsZEFjdGl2ZSkgJiYgY2xhc3NlcygnY29sbGFwc2VkLWl0ZW0tYWN0aXZlJyksIGRpc2FibGVkICYmIGNsYXNzZXMoJ2NvbGxhcHNlZC1pdGVtLWRpc2FibGVkJykpKSwgb25DbGljazogaGFzQ2hpbGRyZW4gPyB1bmRlZmluZWQgOiBoYW5kbGVDbGljaywgZGlzYWJsZWQ6IGRpc2FibGVkLCB0eXBlOiBcImJ1dHRvblwiLCBjaGlsZHJlbjogW2ljb24gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtaXRlbS1pY29uJyksIGNoaWxkcmVuOiByZW5kZXJJY29uKGljb24pIH0pKSwgX2pzeChUeXBvZ3JhcGh5LkxhYmVsLCB7IHNpemU6IFwieHNcIiwgYXM6IFwic3BhblwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1pdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBsYWJlbCB9KV0gfSkpO1xuICAgICAgICBpZiAoaGFzQ2hpbGRyZW4gJiYgKHZpc2libGVDaGlsZHJlbiA9PT0gbnVsbCB8fCB2aXNpYmxlQ2hpbGRyZW4gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZpc2libGVDaGlsZHJlbi5sZW5ndGgpKSB7XG4gICAgICAgICAgICByZXR1cm4gKF9qc3goVHJpZ2dlciwgeyB0cmlnZ2VyOiBcImNsaWNrXCIsIHBsYWNlbWVudDogXCJyaWdodC1zdGFydFwiLCBvZmZzZXQ6IDEwLCBvdmVybGF5Q2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudS1wYW5lbCcpLCBjb250ZW50OiAoeyBjbG9zZSB9KSA9PiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUnKSwgY2hpbGRyZW46IHZpc2libGVDaGlsZHJlbi5tYXAoKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkQ29udGVudCA9IChfanN4cyhcImJ1dHRvblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUtaXRlbScsIGpvaW5DbHMoY2hpbGQuYWN0aXZlICYmIGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51LWl0ZW0tYWN0aXZlJyksIGNoaWxkLmRpc2FibGVkICYmIGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51LWl0ZW0tZGlzYWJsZWQnKSkpLCBvbkNsaWNrOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2hpbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IGNoaWxkLm9uQ2xpY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGNoaWxkLCBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkaXNhYmxlZDogY2hpbGQuZGlzYWJsZWQsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBbY2hpbGQuaWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0taWNvbicpLCBjaGlsZHJlbjogcmVuZGVySWNvbihjaGlsZC5pY29uKSB9KSksIF9qc3goVHlwb2dyYXBoeS5UaXRsZSwgeyBzaXplOiBcInNtXCIsIGFzOiBcImRpdlwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tbGFiZWwnKSwgY2hpbGRyZW46IGNoaWxkLmxhYmVsIH0pLCBjaGlsZC5zdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tc3VmZml4JyksIGNoaWxkcmVuOiBjaGlsZC5zdWZmaXggfSldIH0sIChfYSA9IGNoaWxkLmtleSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjaGlsZHJlbjogW2luZGV4ID4gMCAmJiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudS1kaXZpZGVyJykgfSksIGNoaWxkLmxpbmsgPyB3cmFwV2l0aExpbmsoY2hpbGRDb250ZW50LCBjaGlsZC5saW5rKSA6IGNoaWxkQ29udGVudF0gfSwgKF9iID0gY2hpbGQua2V5KSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICB9KSB9KSksIGNoaWxkcmVuOiBjb2xsYXBzZWRDb250ZW50IH0pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluayA/IHdyYXBXaXRoTGluayhjb2xsYXBzZWRDb250ZW50LCBsaW5rKSA6IGNvbGxhcHNlZENvbnRlbnQ7XG4gICAgfVxuICAgIHJldHVybiAoX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0td3JhcHBlcicpLCBjaGlsZHJlbjogWygoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbUNvbnRlbnQgPSAoX2pzeHMoXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0nLCBqb2luQ2xzKGhhc0NoaWxkcmVuICYmIGNsYXNzZXMoJ2l0ZW0tZXhwYW5kYWJsZScpLCBhY3RpdmUgJiYgY2xhc3NlcygnaXRlbS1hY3RpdmUnKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygnaXRlbS1kaXNhYmxlZCcpKSksIG9uQ2xpY2s6IGhhbmRsZUNsaWNrLCBkaXNhYmxlZDogZGlzYWJsZWQsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBbX2pzeHMoXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tY29udGVudCcpLCBjaGlsZHJlbjogW2ljb24gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWljb24nKSwgY2hpbGRyZW46IHJlbmRlckljb24oaWNvbikgfSkpLCBfanN4KFR5cG9ncmFwaHkuVGl0bGUsIHsgc2l6ZTogXCJzbVwiLCBhczogXCJkaXZcIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxhYmVsJyksIGNoaWxkcmVuOiBsYWJlbCB9KSwgc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLXN1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pXSB9KSwgaGFzQ2hpbGRyZW4gJiYgKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWFycm93Jywgam9pbkNscyhvcGVuICYmIGNsYXNzZXMoJ2l0ZW0tYXJyb3ctb3BlbicpKSksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IFwiY2hldnJvbkRvd25cIiwgc2l6ZTogQ0hFVlJPTl9TSVpFIH0pIH0pKV0gfSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBsaW5rICYmICFoYXNDaGlsZHJlbiA/IHdyYXBXaXRoTGluayhpdGVtQ29udGVudCwgbGluaykgOiBpdGVtQ29udGVudDtcbiAgICAgICAgICAgIH0pKCksIGhhc0NoaWxkcmVuICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWJtZW51Jywgam9pbkNscyhvcGVuICYmIGNsYXNzZXMoJ3N1Ym1lbnUtb3BlbicpKSksIGNoaWxkcmVuOiBfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWJtZW51LWlubmVyJyksIGNoaWxkcmVuOiB2aXNpYmxlQ2hpbGRyZW4gPT09IG51bGwgfHwgdmlzaWJsZUNoaWxkcmVuID09PSB2b2lkIDAgPyB2b2lkIDAgOiB2aXNpYmxlQ2hpbGRyZW4ubWFwKChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkQ29udGVudCA9IChfanN4KFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWJtZW51LWl0ZW0nLCBqb2luQ2xzKGNoaWxkLmFjdGl2ZSAmJiBjbGFzc2VzKCdzdWJtZW51LWl0ZW0tYWN0aXZlJyksIGNoaWxkLmRpc2FibGVkICYmIGNsYXNzZXMoJ3N1Ym1lbnUtaXRlbS1kaXNhYmxlZCcpKSksIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5kaXNhYmxlZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChfYSA9IGNoaWxkLm9uQ2xpY2spID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKGNoaWxkLCBlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCBkaXNhYmxlZDogY2hpbGQuZGlzYWJsZWQsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1jb250ZW50JyksIGNoaWxkcmVuOiBbY2hpbGQuaWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0taWNvbicpLCBjaGlsZHJlbjogcmVuZGVySWNvbihjaGlsZC5pY29uKSB9KSksIF9qc3goVHlwb2dyYXBoeS5UaXRsZSwgeyBzaXplOiBcInNtXCIsIGFzOiBcImRpdlwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tbGFiZWwnKSwgY2hpbGRyZW46IGNoaWxkLmxhYmVsIH0pLCBjaGlsZC5zdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tc3VmZml4JyksIGNoaWxkcmVuOiBjaGlsZC5zdWZmaXggfSldIH0pIH0sIChfYSA9IGNoaWxkLmtleSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogaW5kZXgpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC5saW5rID8gd3JhcFdpdGhMaW5rKGNoaWxkQ29udGVudCwgY2hpbGQubGluaykgOiBjaGlsZENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH0pIH0pIH0pKV0gfSkpO1xufTtcbmV4cG9ydCBkZWZhdWx0IG1lbW8oTmF2aWdhdGlvbik7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
312
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvTmF2aWdhdGlvbi9OYXZpZ2F0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9OYXZpZ2F0aW9uL05hdmlnYXRpb24udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9jbGFzc25hbWVzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfdXNlRXZlbnRDYWxsYmFjayIsIl91c2VNZW1vaXplZEZuIiwiX3VzZUxhdGVzdCIsIl9JY29ucyIsIl9UeXBvZ3JhcGh5IiwiX1RyaWdnZXIiLCJfTmF2aWdhdGlvbkxvZ28iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsIklDT05fU0laRSIsIkNIRVZST05fU0laRSIsIkNPTExBUFNFX0lDT05fU0laRSIsImlzSWNvbk5hbWUiLCJpY29uIiwiTmF2aWdhdGlvbiIsImV4cG9ydHMiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIml0ZW1zIiwiY29udHJvbGxlZENvbGxhcHNlZCIsImNvbGxhcHNlZCIsIl9wcm9wcyRkZWZhdWx0Q29sbGFwcyIsImRlZmF1bHRDb2xsYXBzZWQiLCJfcHJvcHMkY29sbGFwc2libGUiLCJjb2xsYXBzaWJsZSIsIm9uQ29sbGFwc2UiLCJvbkxvZ29DbGljayIsImhlYWRlciIsInNlbGVjdG9yIiwiY2hpbGRyZW4iLCJyZXN0IiwiY2xhc3NlcyIsImNsYXNzbmFtZXMiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJzZXRDb2xsYXBzZWQiLCJjb2xsYXBzZWRSZWYiLCJ1c2VMYXRlc3QiLCJoYW5kbGVDb2xsYXBzZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJ2YWx1ZSIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ0b2dnbGUiLCJjdXJyZW50IiwiY29sbGFwc2UiLCJoYW5kbGVUb2dnbGVDb2xsYXBzZSIsIl9qc3hzIiwiYXNzaWduIiwiam9pbkNscyIsIl9qc3giLCJ1bmRlZmluZWQiLCJOYXZpZ2F0aW9uTG9nbyIsIm9uQ2xpY2siLCJmaWx0ZXIiLCJpdGVtIiwiaGlkZGVuIiwibWFwIiwiaW5kZXgiLCJfYSIsIk5hdmlnYXRpb25NZW51SXRlbSIsImtleSIsInR5cGUiLCJJY29ucyIsIm5hbWUiLCJzaXplIiwiZGlzcGxheU5hbWUiLCJfcmVmIiwibGFiZWwiLCJzdWZmaXgiLCJsaW5rIiwiYWN0aXZlIiwiZGlzYWJsZWQiLCJkZWZhdWx0T3BlbiIsIm9uT3BlbkNoYW5nZSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm9wZW4iLCJzZXRPcGVuIiwiaGFuZGxlQ2xpY2siLCJ1c2VNZW1vaXplZEZuIiwibmV4dCIsImhhc0NoaWxkcmVuIiwidmlzaWJsZUNoaWxkcmVuIiwiY2hpbGQiLCJjaGlsZEFjdGl2ZSIsInNvbWUiLCJyZW5kZXJJY29uIiwiaXRlbUljb24iLCJ3cmFwV2l0aExpbmsiLCJjb250ZW50IiwiaXRlbUxpbmsiLCJocmVmIiwiaXNWYWxpZEVsZW1lbnQiLCJjbG9uZUVsZW1lbnQiLCJjb2xsYXBzZWRDb250ZW50IiwiVHlwb2dyYXBoeSIsIkxhYmVsIiwiYXMiLCJUcmlnZ2VyIiwidHJpZ2dlciIsInBsYWNlbWVudCIsIm9mZnNldCIsIm92ZXJsYXlDbGFzc05hbWUiLCJfcmVmMiIsImNsb3NlIiwiX2IiLCJjaGlsZENvbnRlbnQiLCJUaXRsZSIsIml0ZW1Db250ZW50IiwiX2RlZmF1bHQiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQU0saUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFPLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFRLFVBQUEsR0FBQUgsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFTLE1BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLFdBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFFBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLGVBQUEsR0FBQVAsc0JBQUEsQ0FBQUwsT0FBQTtBQUlBQSxPQUFBO0FBQWlCLFNBQUFhLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBWCx3QkFBQVcsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxD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QU0sQ0FBQSxDQUFRO1lBQUEsQ0FBQTtVQUMzRSxDQUFBLEVBeEJELENBQUFWLEVBQUEsR0FBQTBCLEtBQUssQ0FBQ3hCLEdBQUcsTUFBQSxJQUFBLElBQUFGLEVBQUEsS0FBQSxLQUFBLENBQUEsR0FBQUEsRUFBQSxHQUFJRCxLQUFLLENBMEIxQjtVQUVELE9BQU8yQixLQUFLLENBQUNmLElBQUksR0FBR29CLFlBQVksQ0FBQ2tCLFlBQVksRUFBRXZCLEtBQUssQ0FBQ2YsSUFBSSxDQUFDLEdBQUdzQyxZQUFZO1FBQzNFLENBQUM7TUFBQyxDQUFBO0lBQ0ksQ0FBQSxDQUVUO0VBQUEsQ0FBQSxDQUNHO0FBRVYsQ0FBQztBQUFDLElBQUFHLFFBQUEsR0FBQXRHLE9BQUEsMkJBRWEsSUFBQXVHLFdBQUksRUFBQ3hHLFVBQVUsQ0FBQyIsImZpbGUiOiJjb21wb25lbnRzL05hdmlnYXRpb24vTmF2aWdhdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VTdGF0ZSwgZm9yd2FyZFJlZiwgdXNlSW1wZXJhdGl2ZUhhbmRsZSwgY2xvbmVFbGVtZW50LCBpc1ZhbGlkRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHVzZU1lbW9pemVkRm4gZnJvbSAnQDFtb25leS9ob29rcy91c2VNZW1vaXplZEZuJztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnQDFtb25leS9ob29rcy91c2VMYXRlc3QnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBUcmlnZ2VyIH0gZnJvbSAnLi4vVHJpZ2dlcic7XG5pbXBvcnQgTmF2aWdhdGlvbkxvZ28gZnJvbSAnLi9OYXZpZ2F0aW9uTG9nbyc7XG5pbXBvcnQgJy4vc3R5bGUnO1xuY29uc3QgSUNPTl9TSVpFID0gMTY7XG5jb25zdCBDSEVWUk9OX1NJWkUgPSAxNjtcbmNvbnN0IENPTExBUFNFX0lDT05fU0laRSA9IDE2O1xuY29uc3QgaXNJY29uTmFtZSA9IChpY29uKSA9PiB0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZyc7XG5leHBvcnQgY29uc3QgTmF2aWdhdGlvbiA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSAnbmF2aWdhdGlvbicsIGl0ZW1zLCBjb2xsYXBzZWQ6IGNvbnRyb2xsZWRDb2xsYXBzZWQsIGRlZmF1bHRDb2xsYXBzZWQgPSBmYWxzZSwgY29sbGFwc2libGUgPSBmYWxzZSwgb25Db2xsYXBzZSwgb25Mb2dvQ2xpY2ssIGhlYWRlciwgc2VsZWN0b3IsIGNoaWxkcmVuIH0gPSBwcm9wcywgcmVzdCA9IF9fcmVzdChwcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwiaXRlbXNcIiwgXCJjb2xsYXBzZWRcIiwgXCJkZWZhdWx0Q29sbGFwc2VkXCIsIFwiY29sbGFwc2libGVcIiwgXCJvbkNvbGxhcHNlXCIsIFwib25Mb2dvQ2xpY2tcIiwgXCJoZWFkZXJcIiwgXCJzZWxlY3RvclwiLCBcImNoaWxkcmVuXCJdKTtcbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IFtjb2xsYXBzZWQsIHNldENvbGxhcHNlZF0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdENvbGxhcHNlZCwgY29udHJvbGxlZENvbGxhcHNlZCk7XG4gICAgY29uc3QgY29sbGFwc2VkUmVmID0gdXNlTGF0ZXN0KGNvbGxhcHNlZCk7XG4gICAgY29uc3QgaGFuZGxlQ29sbGFwc2UgPSB1c2VFdmVudENhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgICAgICBzZXRDb2xsYXBzZWQodmFsdWUpO1xuICAgICAgICBvbkNvbGxhcHNlID09PSBudWxsIHx8IG9uQ29sbGFwc2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ29sbGFwc2UodmFsdWUpO1xuICAgIH0pO1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICB0b2dnbGU6ICgpID0+IGhhbmRsZUNvbGxhcHNlKCFjb2xsYXBzZWRSZWYuY3VycmVudCksXG4gICAgICAgIGNvbGxhcHNlOiBoYW5kbGVDb2xsYXBzZSxcbiAgICB9KSwgW2hhbmRsZUNvbGxhcHNlXSk7XG4gICAgY29uc3QgaGFuZGxlVG9nZ2xlQ29sbGFwc2UgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgaGFuZGxlQ29sbGFwc2UoIWNvbGxhcHNlZCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChfanN4cyhcIm5hdlwiLCBPYmplY3QuYXNzaWduKHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZvaWQgMCwgam9pbkNscyhjb2xsYXBzZWQgJiYgY2xhc3NlcygnY29sbGFwc2VkJyksIGNsYXNzTmFtZSkpIH0sIHJlc3QsIHsgY2hpbGRyZW46IFtfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdoZWFkZXInKSwgY2hpbGRyZW46IGhlYWRlciAhPT0gdW5kZWZpbmVkID8gaGVhZGVyIDogKF9qc3goTmF2aWdhdGlvbkxvZ28sIHsgY29sbGFwc2VkOiBjb2xsYXBzZWQsIG9uQ2xpY2s6IG9uTG9nb0NsaWNrIH0pKSB9KSwgc2VsZWN0b3IgJiYgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc2VsZWN0b3InKSwgY2hpbGRyZW46IHNlbGVjdG9yIH0pLCBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbmF2JyksIGNoaWxkcmVuOiBbX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbWVudScpLCBjaGlsZHJlbjogaXRlbXMuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uaGlkZGVuKS5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChOYXZpZ2F0aW9uTWVudUl0ZW0sIHsgaXRlbTogaXRlbSwgcHJlZml4Q2xzOiBwcmVmaXhDbHMsIGNvbGxhcHNlZDogY29sbGFwc2VkIH0sIChfYSA9IGl0ZW0ua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkgfSksIGNvbGxhcHNpYmxlICYmIChfanN4KFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZS10b2dnbGUnKSwgb25DbGljazogaGFuZGxlVG9nZ2xlQ29sbGFwc2UsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGNvbGxhcHNlZCA/ICdleHRlbmQnIDogJ2NvbGxhcHNlJywgc2l6ZTogQ09MTEFQU0VfSUNPTl9TSVpFIH0pIH0pKV0gfSksIGNoaWxkcmVuICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3NldHRpbmdzJyksIGNoaWxkcmVuOiBjaGlsZHJlbiB9KV0gfSkpKTtcbn0pO1xuTmF2aWdhdGlvbi5kaXNwbGF5TmFtZSA9ICdOYXZpZ2F0aW9uJztcbmNvbnN0IE5hdmlnYXRpb25NZW51SXRlbSA9ICh7IGl0ZW0sIHByZWZpeENscywgY29sbGFwc2VkIH0pID0+IHtcbiAgICBjb25zdCB7IGxhYmVsLCBpY29uLCBzdWZmaXgsIGxpbmssIGFjdGl2ZSwgZGlzYWJsZWQsIG9uQ2xpY2ssIGNoaWxkcmVuLCBkZWZhdWx0T3Blbiwgb25PcGVuQ2hhbmdlIH0gPSBpdGVtO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gdXNlU3RhdGUoZGVmYXVsdE9wZW4gIT09IG51bGwgJiYgZGVmYXVsdE9wZW4gIT09IHZvaWQgMCA/IGRlZmF1bHRPcGVuIDogZmFsc2UpO1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlTWVtb2l6ZWRGbigoZSkgPT4ge1xuICAgICAgICBpZiAoZGlzYWJsZWQpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGlmIChjaGlsZHJlbiA9PT0gbnVsbCB8fCBjaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0ID0gIW9wZW47XG4gICAgICAgICAgICBzZXRPcGVuKG5leHQpO1xuICAgICAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHQpO1xuICAgICAgICB9XG4gICAgICAgIG9uQ2xpY2sgPT09IG51bGwgfHwgb25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGljayhlKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9IGNoaWxkcmVuICYmIGNoaWxkcmVuLmxlbmd0aCA+IDA7XG4gICAgY29uc3QgdmlzaWJsZUNoaWxkcmVuID0gY2hpbGRyZW4gPT09IG51bGwgfHwgY2hpbGRyZW4gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNoaWxkcmVuLmZpbHRlcihjaGlsZCA9PiAhY2hpbGQuaGlkZGVuKTtcbiAgICBjb25zdCBjaGlsZEFjdGl2ZSA9IGhhc0NoaWxkcmVuICYmIGNoaWxkcmVuLnNvbWUoY2hpbGQgPT4gY2hpbGQuYWN0aXZlKTtcbiAgICBjb25zdCByZW5kZXJJY29uID0gKGl0ZW1JY29uKSA9PiB7XG4gICAgICAgIGlmICghaXRlbUljb24pXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgaWYgKGlzSWNvbk5hbWUoaXRlbUljb24pKSB7XG4gICAgICAgICAgICByZXR1cm4gX2pzeChJY29ucywgeyBuYW1lOiBpdGVtSWNvbiwgc2l6ZTogSUNPTl9TSVpFIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpdGVtSWNvbjtcbiAgICB9O1xuICAgIGNvbnN0IHdyYXBXaXRoTGluayA9IChjb250ZW50LCBpdGVtTGluaykgPT4ge1xuICAgICAgICBpZiAoIWl0ZW1MaW5rKVxuICAgICAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbUxpbmsgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gX2pzeChcImFcIiwgeyBocmVmOiBpdGVtTGluaywgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWxpbmsnKSwgY2hpbGRyZW46IGNvbnRlbnQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzVmFsaWRFbGVtZW50KGl0ZW1MaW5rKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNsb25lRWxlbWVudChpdGVtTGluaywge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjb250ZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfTtcbiAgICBpZiAoY29sbGFwc2VkKSB7XG4gICAgICAgIGNvbnN0IGNvbGxhcHNlZENvbnRlbnQgPSAoX2pzeHMoXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1pdGVtJywgam9pbkNscygoYWN0aXZlIHx8IGNoaWxkQWN0aXZlKSAmJiBjbGFzc2VzKCdjb2xsYXBzZWQtaXRlbS1hY3RpdmUnKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygnY29sbGFwc2VkLWl0ZW0tZGlzYWJsZWQnKSkpLCBvbkNsaWNrOiBoYXNDaGlsZHJlbiA/IHVuZGVmaW5lZCA6IGhhbmRsZUNsaWNrLCBkaXNhYmxlZDogZGlzYWJsZWQsIHR5cGU6IFwiYnV0dG9uXCIsIGNoaWxkcmVuOiBbaWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1pdGVtLWljb24nKSwgY2hpbGRyZW46IHJlbmRlckljb24oaWNvbikgfSkpLCBfanN4KFR5cG9ncmFwaHkuTGFiZWwsIHsgc2l6ZTogXCJ4c1wiLCBhczogXCJzcGFuXCIsIGNsYXNzTmFtZTogY2xhc3NlcygnY29sbGFwc2VkLWl0ZW0tbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pXSB9KSk7XG4gICAgICAgIGlmIChoYXNDaGlsZHJlbiAmJiAodmlzaWJsZUNoaWxkcmVuID09PSBudWxsIHx8IHZpc2libGVDaGlsZHJlbiA9PT0gdm9pZCAwID8gdm9pZCAwIDogdmlzaWJsZUNoaWxkcmVuLmxlbmd0aCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoX2pzeChUcmlnZ2VyLCB7IHRyaWdnZXI6IFwiY2xpY2tcIiwgcGxhY2VtZW50OiBcInJpZ2h0LXN0YXJ0XCIsIG9mZnNldDogMTAsIG92ZXJsYXlDbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51LXBhbmVsJyksIGNvbnRlbnQ6ICh7IGNsb3NlIH0pID0+IChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudScpLCBjaGlsZHJlbjogdmlzaWJsZUNoaWxkcmVuLm1hcCgoY2hpbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRDb250ZW50ID0gKF9qc3hzKFwiYnV0dG9uXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xsYXBzZWQtc3VibWVudS1pdGVtJywgam9pbkNscyhjaGlsZC5hY3RpdmUgJiYgY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUtaXRlbS1hY3RpdmUnKSwgY2hpbGQuZGlzYWJsZWQgJiYgY2xhc3NlcygnY29sbGFwc2VkLXN1Ym1lbnUtaXRlbS1kaXNhYmxlZCcpKSksIG9uQ2xpY2s6IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gY2hpbGQub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoY2hpbGQsIGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGRpc2FibGVkOiBjaGlsZC5kaXNhYmxlZCwgdHlwZTogXCJidXR0b25cIiwgY2hpbGRyZW46IFtjaGlsZC5pY29uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1pY29uJyksIGNoaWxkcmVuOiByZW5kZXJJY29uKGNoaWxkLmljb24pIH0pKSwgX2pzeChUeXBvZ3JhcGh5LlRpdGxlLCB7IHNpemU6IFwic21cIiwgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogY2hpbGQubGFiZWwgfSksIGNoaWxkLnN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1zdWZmaXgnKSwgY2hpbGRyZW46IGNoaWxkLnN1ZmZpeCB9KV0gfSwgKF9hID0gY2hpbGQua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNoaWxkcmVuOiBbaW5kZXggPiAwICYmIF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2NvbGxhcHNlZC1zdWJtZW51LWRpdmlkZXInKSB9KSwgY2hpbGQubGluayA/IHdyYXBXaXRoTGluayhjaGlsZENvbnRlbnQsIGNoaWxkLmxpbmspIDogY2hpbGRDb250ZW50XSB9LCAoX2IgPSBjaGlsZC5rZXkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGluZGV4KSk7XG4gICAgICAgICAgICAgICAgICAgIH0pIH0pKSwgY2hpbGRyZW46IGNvbGxhcHNlZENvbnRlbnQgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5rID8gd3JhcFdpdGhMaW5rKGNvbGxhcHNlZENvbnRlbnQsIGxpbmspIDogY29sbGFwc2VkQ29udGVudDtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS13cmFwcGVyJyksIGNoaWxkcmVuOiBbKCgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtQ29udGVudCA9IChfanN4cyhcImJ1dHRvblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbScsIGpvaW5DbHMoaGFzQ2hpbGRyZW4gJiYgY2xhc3NlcygnaXRlbS1leHBhbmRhYmxlJyksIGFjdGl2ZSAmJiBjbGFzc2VzKCdpdGVtLWFjdGl2ZScpLCBkaXNhYmxlZCAmJiBjbGFzc2VzKCdpdGVtLWRpc2FibGVkJykpKSwgb25DbGljazogaGFuZGxlQ2xpY2ssIGRpc2FibGVkOiBkaXNhYmxlZCwgdHlwZTogXCJidXR0b25cIiwgY2hpbGRyZW46IFtfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1jb250ZW50JyksIGNoaWxkcmVuOiBbaWNvbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0taWNvbicpLCBjaGlsZHJlbjogcmVuZGVySWNvbihpY29uKSB9KSksIF9qc3goVHlwb2dyYXBoeS5UaXRsZSwgeyBzaXplOiBcInNtXCIsIGFzOiBcImRpdlwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tbGFiZWwnKSwgY2hpbGRyZW46IGxhYmVsIH0pLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSldIH0pLCBoYXNDaGlsZHJlbiAmJiAoX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2l0ZW0tYXJyb3cnLCBqb2luQ2xzKG9wZW4gJiYgY2xhc3NlcygnaXRlbS1hcnJvdy1vcGVuJykpKSwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGV2cm9uRG93blwiLCBzaXplOiBDSEVWUk9OX1NJWkUgfSkgfSkpXSB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpbmsgJiYgIWhhc0NoaWxkcmVuID8gd3JhcFdpdGhMaW5rKGl0ZW1Db250ZW50LCBsaW5rKSA6IGl0ZW1Db250ZW50O1xuICAgICAgICAgICAgfSkoKSwgaGFzQ2hpbGRyZW4gJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1Ym1lbnUnLCBqb2luQ2xzKG9wZW4gJiYgY2xhc3Nlcygnc3VibWVudS1vcGVuJykpKSwgY2hpbGRyZW46IF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1Ym1lbnUtaW5uZXInKSwgY2hpbGRyZW46IHZpc2libGVDaGlsZHJlbiA9PT0gbnVsbCB8fCB2aXNpYmxlQ2hpbGRyZW4gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHZpc2libGVDaGlsZHJlbi5tYXAoKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hpbGRDb250ZW50ID0gKF9qc3goXCJidXR0b25cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1Ym1lbnUtaXRlbScsIGpvaW5DbHMoY2hpbGQuYWN0aXZlICYmIGNsYXNzZXMoJ3N1Ym1lbnUtaXRlbS1hY3RpdmUnKSwgY2hpbGQuZGlzYWJsZWQgJiYgY2xhc3Nlcygnc3VibWVudS1pdGVtLWRpc2FibGVkJykpKSwgb25DbGljazogKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLmRpc2FibGVkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKF9hID0gY2hpbGQub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoY2hpbGQsIGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGRpc2FibGVkOiBjaGlsZC5kaXNhYmxlZCwgdHlwZTogXCJidXR0b25cIiwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdpdGVtLWNvbnRlbnQnKSwgY2hpbGRyZW46IFtjaGlsZC5pY29uICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1pY29uJyksIGNoaWxkcmVuOiByZW5kZXJJY29uKGNoaWxkLmljb24pIH0pKSwgX2pzeChUeXBvZ3JhcGh5LlRpdGxlLCB7IHNpemU6IFwic21cIiwgYXM6IFwiZGl2XCIsIGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1sYWJlbCcpLCBjaGlsZHJlbjogY2hpbGQubGFiZWwgfSksIGNoaWxkLnN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnaXRlbS1zdWZmaXgnKSwgY2hpbGRyZW46IGNoaWxkLnN1ZmZpeCB9KV0gfSkgfSwgKF9hID0gY2hpbGQua2V5KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBpbmRleCkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLmxpbmsgPyB3cmFwV2l0aExpbmsoY2hpbGRDb250ZW50LCBjaGlsZC5saW5rKSA6IGNoaWxkQ29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfSkgfSkgfSkpXSB9KSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhOYXZpZ2F0aW9uKTsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
@@ -7,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
8
|
exports["default"] = exports.Pagination = void 0;
|
|
8
9
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var
|
|
11
|
+
var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
11
12
|
var _Icons = require("../Icons");
|
|
12
13
|
var _Typography = require("../Typography");
|
|
13
14
|
var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
|
|
@@ -68,7 +69,7 @@ var PaginationBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
68
69
|
items = _usePagination.items,
|
|
69
70
|
goTo = _usePagination.goTo,
|
|
70
71
|
resolvedTotal = _usePagination.total;
|
|
71
|
-
var handleListClick = (0,
|
|
72
|
+
var handleListClick = (0, _useEventCallback["default"])(function (e) {
|
|
72
73
|
var button = e.target.closest('button[data-page]');
|
|
73
74
|
var page = Number(button === null || button === void 0 ? void 0 : button.dataset.page);
|
|
74
75
|
if (page && !Number.isNaN(page)) {
|
|
@@ -142,4 +143,4 @@ var PaginationBase = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
|
142
143
|
PaginationBase.displayName = _constants.PAGINATION_COMPONENT_NAME;
|
|
143
144
|
var Pagination = exports.Pagination = /*#__PURE__*/(0, _react.memo)(PaginationBase);
|
|
144
145
|
var _default = exports["default"] = Pagination;
|
|
145
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUGFnaW5hdGlvbi9QYWdpbmF0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9QYWdpbmF0aW9uL1BhZ2luYXRpb24udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2hvb2tzIiwiX0ljb25zIiwiX1R5cG9ncmFwaHkiLCJfY2xhc3NuYW1lcyIsIl91c2VQYWdpbmF0aW9uMiIsIl9jb25zdGFudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImdldEJ1dHRvbkFyaWFMYWJlbCIsIml0ZW0iLCJ0eXBlIiwiUEFHSU5BVElPTl9JVEVNX1RZUEUiLCJwYWdlIiwiY3VycmVudCIsImNvbmNhdCIsInByZXZpb3VzIiwiZ2V0SXRlbVRleHRDb2xvciIsImRpc2FibGVkIiwiUEFHSU5BVElPTl9URVhUX0NPTE9SIiwiUGFnaW5hdGlvbkJhc2UiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIlBBR0lOQVRJT05fREVGQVVMVF9QUkVGSVgiLCJ0b3RhbCIsInBhZ2VTaXplIiwiX3Byb3BzJGRlZmF1bHRDdXJyZW50IiwiZGVmYXVsdEN1cnJlbnQiLCJQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCIsImJvdW5kYXJ5Q291bnQiLCJtaWRkbGVQYWdlQ291bnQiLCJvbkNoYW5nZSIsIl9wcm9wcyRhcmlhTGFiZWwiLCJhcmlhTGFiZWwiLCJQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FIiwicmVzdCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiX3VzZVBhZ2luYXRpb24iLCJ1c2VQYWdpbmF0aW9uIiwiaXRlbXMiLCJnb1RvIiwicmVzb2x2ZWRUb3RhbCIsImhhbmRsZUxpc3RDbGljayIsInVzZUV2ZW50Q2FsbGJhY2siLCJidXR0b24iLCJ0YXJnZXQiLCJjbG9zZXN0IiwiTnVtYmVyIiwiZGF0YXNldCIsImlzTmFOIiwiX2pzeCIsImFzc2lnbiIsInVuZGVmaW5lZCIsImNoaWxkcmVuIiwiUEFHSU5BVElPTl9TTE9UIiwibGlzdCIsIm9uQ2xpY2siLCJtYXAiLCJlbGxpcHNpcyIsIml0ZW1FbGxpcHNpcyIsIlR5cG9ncmFwaHlCb2R5Iiwic2l6ZSIsIlBBR0lOQVRJT05fVEVYVF9TSVpFIiwic3Ryb25nIiwiY29sb3IiLCJQQUdJTkFUSU9OX0VMTElQU0lTX1RFWFQiLCJrZXkiLCJpc1BhZ2UiLCJpc0NvbnRyb2wiLCJpc1ByZXZpb3VzIiwiaXNEaXNhYmxlZCIsImljb25OYW1lIiwiUEFHSU5BVElPTl9DT05UUk9MX0lDT04iLCJfanN4cyIsImpvaW5DbHMiLCJidXR0b25QYWdlIiwiYnV0dG9uQ29udHJvbCIsImJ1dHRvbkN1cnJlbnQiLCJidXR0b25EaXNhYmxlZCIsImljb24iLCJJY29ucyIsIm5hbWUiLCJQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9TSVpFIiwiUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IiLCJQQUdJTkFUSU9OX0NPTlRST0xfVEVYVCIsImRpc3BsYXlOYW1lIiwiUGFnaW5hdGlvbiIsImV4cG9ydHMiLCJtZW1vIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFXQSxJQUFBQSxXQUFBLEdBQUFDLE9BQUE7QUNYQSxJ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LENBQUNoRixJQUFJLENBQUNDLElBQTRDO1lBQUMsQ0FBQSxDQUNqRixFQUNoQitELFNBQVMsSUFBSSxDQUFDQyxVQUFVLElBQ3ZCLElBQUFuQixlQUFBLEVBQUEsTUFBQSxFQUFBO2NBQU0vQixTQUFTLEVBQUVnQixPQUFPLENBQUNtQiwwQkFBZSxDQUFDeUIsSUFBSSxDQUFDO2NBQUExQixRQUFBLEVBQzVDLElBQUFILGVBQUEsRUFBQzhCLFlBQUssRUFBQTtnQkFDSkMsSUFBSSxFQUFFVixRQUFTO2dCQUNmVixJQUFJLEVBQUVxQix1Q0FBNEI7Z0JBQ2xDbEIsS0FBSyxFQUFFbUI7Y0FBNkIsQ0FBQTtZQUNwQyxDQUFBLENBRUw7VUFBQSxDQUFBO1FBQ00sQ0FBQSxFQXJDRi9FLElBQUksQ0FBQzhELEdBQUcsQ0FzQ1o7TUFFVCxDQUFDO0lBQUMsQ0FBQTtFQUNDLENBQUEsQ0FBQSxDQUNEO0FBRVYsQ0FBQyxDQUFDO0FBRUZwRCxjQUFjLENBQUN1RSxXQUFXLEdBQUdwRCxvQ0FBeUI7QUFFL0MsSUFBTXFELFVBQVUsR0FBQUMsT0FBQSxDQUFBRCxVQUFBLGdCQUFHLElBQUFFLFdBQUksRUFBQzFFLGNBQWMsQ0FBQztBQUFDLElBQUEyRSxRQUFBLEdBQUFGLE9BQUEsY0FFaENELFVBQVUiLCJmaWxlIjoiY29tcG9uZW50cy9QYWdpbmF0aW9uL1BhZ2luYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIG1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VFdmVudENhbGxiYWNrIH0gZnJvbSAnQDFtb25leS9ob29rcyc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5pbXBvcnQgeyB1c2VQYWdpbmF0aW9uIH0gZnJvbSAnLi91c2VQYWdpbmF0aW9uJztcbmltcG9ydCB7IFBBR0lOQVRJT05fQ09NUE9ORU5UX05BTUUsIFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OLCBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9DT0xPUiwgUEFHSU5BVElPTl9DT05UUk9MX0lDT05fU0laRSwgUEFHSU5BVElPTl9DT05UUk9MX1RFWFQsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCBQQUdJTkFUSU9OX0RFRkFVTFRfUFJFRklYLCBQQUdJTkFUSU9OX0VMTElQU0lTX1RFWFQsIFBBR0lOQVRJT05fSVRFTV9UWVBFLCBQQUdJTkFUSU9OX1NMT1QsIFBBR0lOQVRJT05fVEVYVF9DT0xPUiwgUEFHSU5BVElPTl9URVhUX1NJWkUsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuY29uc3QgZ2V0QnV0dG9uQXJpYUxhYmVsID0gKGl0ZW0pID0+IHtcbiAgICBpZiAoaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wYWdlKSB7XG4gICAgICAgIHJldHVybiBpdGVtLmN1cnJlbnQgPyBgUGFnZSAke2l0ZW0ucGFnZX0sIGN1cnJlbnQgcGFnZWAgOiBgR28gdG8gcGFnZSAke2l0ZW0ucGFnZX1gO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wcmV2aW91cyA/ICdQcmV2aW91cyBwYWdlJyA6ICdOZXh0IHBhZ2UnO1xufTtcbmNvbnN0IGdldEl0ZW1UZXh0Q29sb3IgPSAoaXRlbSkgPT4ge1xuICAgIGlmIChpdGVtLnR5cGUgIT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2UgJiYgaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gUEFHSU5BVElPTl9URVhUX0NPTE9SLmRpc2FibGVkO1xuICAgIH1cbiAgICBpZiAoaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wYWdlICYmIGl0ZW0uY3VycmVudCkge1xuICAgICAgICByZXR1cm4gUEFHSU5BVElPTl9URVhUX0NPTE9SLmN1cnJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuZGVmYXVsdDtcbn07XG5jb25zdCBQYWdpbmF0aW9uQmFzZSA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSBQQUdJTkFUSU9OX0RFRkFVTFRfUFJFRklYLCB0b3RhbCwgcGFnZVNpemUsIGN1cnJlbnQsIGRlZmF1bHRDdXJyZW50ID0gUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIGJvdW5kYXJ5Q291bnQsIG1pZGRsZVBhZ2VDb3VudCwgb25DaGFuZ2UsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsID0gUEFHSU5BVElPTl9DT01QT05FTlRfTkFNRSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcInRvdGFsXCIsIFwicGFnZVNpemVcIiwgXCJjdXJyZW50XCIsIFwiZGVmYXVsdEN1cnJlbnRcIiwgXCJib3VuZGFyeUNvdW50XCIsIFwibWlkZGxlUGFnZUNvdW50XCIsIFwib25DaGFuZ2VcIiwgJ2FyaWEtbGFiZWwnXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCB7IGl0ZW1zLCBnb1RvLCB0b3RhbDogcmVzb2x2ZWRUb3RhbCB9ID0gdXNlUGFnaW5hdGlvbih7XG4gICAgICAgIHRvdGFsLFxuICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgY3VycmVudCxcbiAgICAgICAgZGVmYXVsdEN1cnJlbnQsXG4gICAgICAgIGJvdW5kYXJ5Q291bnQsXG4gICAgICAgIG1pZGRsZVBhZ2VDb3VudCxcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlTGlzdENsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICBjb25zdCBidXR0b24gPSBlLnRhcmdldC5jbG9zZXN0KCdidXR0b25bZGF0YS1wYWdlXScpO1xuICAgICAgICBjb25zdCBwYWdlID0gTnVtYmVyKGJ1dHRvbiA9PT0gbnVsbCB8fCBidXR0b24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGJ1dHRvbi5kYXRhc2V0LnBhZ2UpO1xuICAgICAgICBpZiAocGFnZSAmJiAhTnVtYmVyLmlzTmFOKHBhZ2UpKSB7XG4gICAgICAgICAgICBnb1RvKHBhZ2UpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHJlc29sdmVkVG90YWwgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiAoX2pzeChcIm5hdlwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogcmVmLCBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLCBjbGFzc05hbWU6IGNsYXNzZXModW5kZWZpbmVkLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5saXN0KSwgb25DbGljazogaGFuZGxlTGlzdENsaWNrLCBjaGlsZHJlbjogaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLmVsbGlwc2lzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImxpXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtLCBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtRWxsaXBzaXMpKSwgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIiwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5lbGxpcHNpcyksIHNpemU6IFBBR0lOQVRJT05fVEVYVF9TSVpFLCBzdHJvbmc6IHRydWUsIGNvbG9yOiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuZGVmYXVsdCwgY2hpbGRyZW46IFBBR0lOQVRJT05fRUxMSVBTSVNfVEVYVCB9KSB9LCBpdGVtLmtleSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBpc1BhZ2UgPSBpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNDb250cm9sID0gIWlzUGFnZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ByZXZpb3VzID0gaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wcmV2aW91cztcbiAgICAgICAgICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gaXNDb250cm9sICYmIGl0ZW0uZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbk5hbWUgPSBpc0NvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgPyBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTltpdGVtLnR5cGVdXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImxpXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtKSwgY2hpbGRyZW46IF9qc3hzKFwiYnV0dG9uXCIsIHsgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b24sIGpvaW5DbHMoaXNQYWdlID8gY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuYnV0dG9uUGFnZSkgOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25Db250cm9sKSwgaXNQYWdlICYmIGl0ZW0uY3VycmVudCAmJiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25DdXJyZW50KSwgaXNEaXNhYmxlZCAmJiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25EaXNhYmxlZCkpKSwgXCJhcmlhLWxhYmVsXCI6IGdldEJ1dHRvbkFyaWFMYWJlbChpdGVtKSwgXCJhcmlhLWN1cnJlbnRcIjogaXNQYWdlICYmIGl0ZW0uY3VycmVudCA/ICdwYWdlJyA6IHVuZGVmaW5lZCwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfHwgdW5kZWZpbmVkLCBcImRhdGEtcGFnZVwiOiBpc0Rpc2FibGVkID8gdW5kZWZpbmVkIDogaXRlbS5wYWdlLCBjaGlsZHJlbjogW2lzQ29udHJvbCAmJiBpc1ByZXZpb3VzICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuaWNvbiksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGljb25OYW1lLCBzaXplOiBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9TSVpFLCBjb2xvcjogUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IgfSkgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IFBBR0lOQVRJT05fVEVYVF9TSVpFLCBzdHJvbmc6IHRydWUsIGNvbG9yOiBnZXRJdGVtVGV4dENvbG9yKGl0ZW0pLCBjaGlsZHJlbjogaXNQYWdlID8gaXRlbS5wYWdlIDogUEFHSU5BVElPTl9DT05UUk9MX1RFWFRbaXRlbS50eXBlXSB9KSwgaXNDb250cm9sICYmICFpc1ByZXZpb3VzICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuaWNvbiksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGljb25OYW1lLCBzaXplOiBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9TSVpFLCBjb2xvcjogUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IgfSkgfSkpXSB9KSB9LCBpdGVtLmtleSkpO1xuICAgICAgICAgICAgfSkgfSkgfSkpKTtcbn0pO1xuUGFnaW5hdGlvbkJhc2UuZGlzcGxheU5hbWUgPSBQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FO1xuZXhwb3J0IGNvbnN0IFBhZ2luYXRpb24gPSBtZW1vKFBhZ2luYXRpb25CYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFBhZ2luYXRpb247IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
146
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUGFnaW5hdGlvbi9QYWdpbmF0aW9uLmpzIiwiY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9QYWdpbmF0aW9uL1BhZ2luYXRpb24udHN4Il0sIm5hbWVzIjpbIl9qc3hSdW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3VzZUV2ZW50Q2FsbGJhY2siLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0ljb25zIiwiX1R5cG9ncmFwaHkiLCJfY2xhc3NuYW1lcyIsIl91c2VQYWdpbmF0aW9uMiIsIl9jb25zdGFudHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfX3Jlc3QiLCJzIiwicCIsInByb3RvdHlwZSIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImdldEJ1dHRvbkFyaWFMYWJlbCIsIml0ZW0iLCJ0eXBlIiwiUEFHSU5BVElPTl9JVEVNX1RZUEUiLCJwYWdlIiwiY3VycmVudCIsImNvbmNhdCIsInByZXZpb3VzIiwiZ2V0SXRlbVRleHRDb2xvciIsImRpc2FibGVkIiwiUEFHSU5BVElPTl9URVhUX0NPTE9SIiwiUGFnaW5hdGlvbkJhc2UiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsIlBBR0lOQVRJT05fREVGQVVMVF9QUkVGSVgiLCJ0b3RhbCIsInBhZ2VTaXplIiwiX3Byb3BzJGRlZmF1bHRDdXJyZW50IiwiZGVmYXVsdEN1cnJlbnQiLCJQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCIsImJvdW5kYXJ5Q291bnQiLCJtaWRkbGVQYWdlQ291bnQiLCJvbkNoYW5nZSIsIl9wcm9wcyRhcmlhTGFiZWwiLCJhcmlhTGFiZWwiLCJQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FIiwicmVzdCIsImNsYXNzZXMiLCJjbGFzc25hbWVzIiwiX3VzZVBhZ2luYXRpb24iLCJ1c2VQYWdpbmF0aW9uIiwiaXRlbXMiLCJnb1RvIiwicmVzb2x2ZWRUb3RhbCIsImhhbmRsZUxpc3RDbGljayIsInVzZUV2ZW50Q2FsbGJhY2siLCJidXR0b24iLCJ0YXJnZXQiLCJjbG9zZXN0IiwiTnVtYmVyIiwiZGF0YXNldCIsImlzTmFOIiwiX2pzeCIsImFzc2lnbiIsInVuZGVmaW5lZCIsImNoaWxkcmVuIiwiUEFHSU5BVElPTl9TTE9UIiwibGlzdCIsIm9uQ2xpY2siLCJtYXAiLCJlbGxpcHNpcyIsIml0ZW1FbGxpcHNpcyIsIlR5cG9ncmFwaHlCb2R5Iiwic2l6ZSIsIlBBR0lOQVRJT05fVEVYVF9TSVpFIiwic3Ryb25nIiwiY29sb3IiLCJQQUdJTkFUSU9OX0VMTElQU0lTX1RFWFQiLCJrZXkiLCJpc1BhZ2UiLCJpc0NvbnRyb2wiLCJpc1ByZXZpb3VzIiwiaXNEaXNhYmxlZCIsImljb25OYW1lIiwiUEFHSU5BVElPTl9DT05UUk9MX0lDT04iLCJfanN4cyIsImpvaW5DbHMiLCJidXR0b25QYWdlIiwiYnV0dG9uQ29udHJvbCIsImJ1dHRvbkN1cnJlbnQiLCJidXR0b25EaXNhYmxlZCIsImljb24iLCJJY29ucyIsIm5hbWUiLCJQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9TSVpFIiwiUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IiLCJQQUdJTkFUSU9OX0NPTlRST0xfVEVYVCIsImRpc3BsYXlOYW1lIiwiUGFnaW5hdGlvbiIsImV4cG9ydHMiLCJtZW1vIiwiX2RlZmF1bHQiXSwibWFwcGluZ3MiOiI7Ozs7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QSxFQUM3RWMsTUFBTSxHQUFHL0QsSUFBSSxDQUFDRyxJQUFJLEdBQUc2RSxrQ0FBdUIsQ0FBQ2hGLElBQUksQ0FBQ0MsSUFBNEM7WUFBQyxDQUFBLENBQ2pGLEVBQ2hCK0QsU0FBUyxJQUFJLENBQUNDLFVBQVUsSUFDdkIsSUFBQW5CLGVBQUEsRUFBQSxNQUFBLEVBQUE7Y0FBTS9CLFNBQVMsRUFBRWdCLE9BQU8sQ0FBQ21CLDBCQUFlLENBQUN5QixJQUFJLENBQUM7Y0FBQTFCLFFBQUEsRUFDNUMsSUFBQUgsZUFBQSxFQUFDOEIsWUFBSyxFQUFBO2dCQUNKQyxJQUFJLEVBQUVWLFFBQVM7Z0JBQ2ZWLElBQUksRUFBRXFCLHVDQUE0QjtnQkFDbENsQixLQUFLLEVBQUVtQjtjQUE2QixDQUFBO1lBQ3BDLENBQUEsQ0FFTDtVQUFBLENBQUE7UUFDTSxDQUFBLEVBckNGL0UsSUFBSSxDQUFDOEQsR0FBRyxDQXNDWjtNQUVULENBQUM7SUFBQyxDQUFBO0VBQ0MsQ0FBQSxDQUFBLENBQ0Q7QUFFVixDQUFDLENBQUM7QUFFRnBELGNBQWMsQ0FBQ3VFLFdBQVcsR0FBR3BELG9DQUF5QjtBQUUvQyxJQUFNcUQsVUFBVSxHQUFBQyxPQUFBLENBQUFELFVBQUEsZ0JBQUcsSUFBQUUsV0FBSSxFQUFDMUUsY0FBYyxDQUFDO0FBQUMsSUFBQTJFLFFBQUEsR0FBQUYsT0FBQSxjQUVoQ0QsVUFBVSIsImZpbGUiOiJjb21wb25lbnRzL1BhZ2luYXRpb24vUGFnaW5hdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgUmVhY3QsIHsgZm9yd2FyZFJlZiwgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uL0ljb25zJztcbmltcG9ydCB7IFR5cG9ncmFwaHlCb2R5IH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5pbXBvcnQgeyB1c2VQYWdpbmF0aW9uIH0gZnJvbSAnLi91c2VQYWdpbmF0aW9uJztcbmltcG9ydCB7IFBBR0lOQVRJT05fQ09NUE9ORU5UX05BTUUsIFBBR0lOQVRJT05fQ09OVFJPTF9JQ09OLCBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9DT0xPUiwgUEFHSU5BVElPTl9DT05UUk9MX0lDT05fU0laRSwgUEFHSU5BVElPTl9DT05UUk9MX1RFWFQsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCBQQUdJTkFUSU9OX0RFRkFVTFRfUFJFRklYLCBQQUdJTkFUSU9OX0VMTElQU0lTX1RFWFQsIFBBR0lOQVRJT05fSVRFTV9UWVBFLCBQQUdJTkFUSU9OX1NMT1QsIFBBR0lOQVRJT05fVEVYVF9DT0xPUiwgUEFHSU5BVElPTl9URVhUX1NJWkUsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuY29uc3QgZ2V0QnV0dG9uQXJpYUxhYmVsID0gKGl0ZW0pID0+IHtcbiAgICBpZiAoaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wYWdlKSB7XG4gICAgICAgIHJldHVybiBpdGVtLmN1cnJlbnQgPyBgUGFnZSAke2l0ZW0ucGFnZX0sIGN1cnJlbnQgcGFnZWAgOiBgR28gdG8gcGFnZSAke2l0ZW0ucGFnZX1gO1xuICAgIH1cbiAgICByZXR1cm4gaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wcmV2aW91cyA/ICdQcmV2aW91cyBwYWdlJyA6ICdOZXh0IHBhZ2UnO1xufTtcbmNvbnN0IGdldEl0ZW1UZXh0Q29sb3IgPSAoaXRlbSkgPT4ge1xuICAgIGlmIChpdGVtLnR5cGUgIT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2UgJiYgaXRlbS5kaXNhYmxlZCkge1xuICAgICAgICByZXR1cm4gUEFHSU5BVElPTl9URVhUX0NPTE9SLmRpc2FibGVkO1xuICAgIH1cbiAgICBpZiAoaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wYWdlICYmIGl0ZW0uY3VycmVudCkge1xuICAgICAgICByZXR1cm4gUEFHSU5BVElPTl9URVhUX0NPTE9SLmN1cnJlbnQ7XG4gICAgfVxuICAgIHJldHVybiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuZGVmYXVsdDtcbn07XG5jb25zdCBQYWdpbmF0aW9uQmFzZSA9IGZvcndhcmRSZWYoKHByb3BzLCByZWYpID0+IHtcbiAgICBjb25zdCB7IGNsYXNzTmFtZSA9ICcnLCBwcmVmaXhDbHMgPSBQQUdJTkFUSU9OX0RFRkFVTFRfUFJFRklYLCB0b3RhbCwgcGFnZVNpemUsIGN1cnJlbnQsIGRlZmF1bHRDdXJyZW50ID0gUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIGJvdW5kYXJ5Q291bnQsIG1pZGRsZVBhZ2VDb3VudCwgb25DaGFuZ2UsICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsID0gUEFHSU5BVElPTl9DT01QT05FTlRfTkFNRSB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcInByZWZpeENsc1wiLCBcInRvdGFsXCIsIFwicGFnZVNpemVcIiwgXCJjdXJyZW50XCIsIFwiZGVmYXVsdEN1cnJlbnRcIiwgXCJib3VuZGFyeUNvdW50XCIsIFwibWlkZGxlUGFnZUNvdW50XCIsIFwib25DaGFuZ2VcIiwgJ2FyaWEtbGFiZWwnXSk7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCB7IGl0ZW1zLCBnb1RvLCB0b3RhbDogcmVzb2x2ZWRUb3RhbCB9ID0gdXNlUGFnaW5hdGlvbih7XG4gICAgICAgIHRvdGFsLFxuICAgICAgICBwYWdlU2l6ZSxcbiAgICAgICAgY3VycmVudCxcbiAgICAgICAgZGVmYXVsdEN1cnJlbnQsXG4gICAgICAgIGJvdW5kYXJ5Q291bnQsXG4gICAgICAgIG1pZGRsZVBhZ2VDb3VudCxcbiAgICAgICAgb25DaGFuZ2UsXG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlTGlzdENsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICBjb25zdCBidXR0b24gPSBlLnRhcmdldC5jbG9zZXN0KCdidXR0b25bZGF0YS1wYWdlXScpO1xuICAgICAgICBjb25zdCBwYWdlID0gTnVtYmVyKGJ1dHRvbiA9PT0gbnVsbCB8fCBidXR0b24gPT09IHZvaWQgMCA/IHZvaWQgMCA6IGJ1dHRvbi5kYXRhc2V0LnBhZ2UpO1xuICAgICAgICBpZiAocGFnZSAmJiAhTnVtYmVyLmlzTmFOKHBhZ2UpKSB7XG4gICAgICAgICAgICBnb1RvKHBhZ2UpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgaWYgKHJlc29sdmVkVG90YWwgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiAoX2pzeChcIm5hdlwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogcmVmLCBcImFyaWEtbGFiZWxcIjogYXJpYUxhYmVsLCBjbGFzc05hbWU6IGNsYXNzZXModW5kZWZpbmVkLCBjbGFzc05hbWUpLCBjaGlsZHJlbjogX2pzeChcInVsXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5saXN0KSwgb25DbGljazogaGFuZGxlTGlzdENsaWNrLCBjaGlsZHJlbjogaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLmVsbGlwc2lzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImxpXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtLCBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtRWxsaXBzaXMpKSwgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIiwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5lbGxpcHNpcyksIHNpemU6IFBBR0lOQVRJT05fVEVYVF9TSVpFLCBzdHJvbmc6IHRydWUsIGNvbG9yOiBQQUdJTkFUSU9OX1RFWFRfQ09MT1IuZGVmYXVsdCwgY2hpbGRyZW46IFBBR0lOQVRJT05fRUxMSVBTSVNfVEVYVCB9KSB9LCBpdGVtLmtleSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBpc1BhZ2UgPSBpdGVtLnR5cGUgPT09IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2U7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNDb250cm9sID0gIWlzUGFnZTtcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ByZXZpb3VzID0gaXRlbS50eXBlID09PSBQQUdJTkFUSU9OX0lURU1fVFlQRS5wcmV2aW91cztcbiAgICAgICAgICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gaXNDb250cm9sICYmIGl0ZW0uZGlzYWJsZWQ7XG4gICAgICAgICAgICAgICAgY29uc3QgaWNvbk5hbWUgPSBpc0NvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgPyBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTltpdGVtLnR5cGVdXG4gICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIHJldHVybiAoX2pzeChcImxpXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5pdGVtKSwgY2hpbGRyZW46IF9qc3hzKFwiYnV0dG9uXCIsIHsgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b24sIGpvaW5DbHMoaXNQYWdlID8gY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuYnV0dG9uUGFnZSkgOiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25Db250cm9sKSwgaXNQYWdlICYmIGl0ZW0uY3VycmVudCAmJiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25DdXJyZW50KSwgaXNEaXNhYmxlZCAmJiBjbGFzc2VzKFBBR0lOQVRJT05fU0xPVC5idXR0b25EaXNhYmxlZCkpKSwgXCJhcmlhLWxhYmVsXCI6IGdldEJ1dHRvbkFyaWFMYWJlbChpdGVtKSwgXCJhcmlhLWN1cnJlbnRcIjogaXNQYWdlICYmIGl0ZW0uY3VycmVudCA/ICdwYWdlJyA6IHVuZGVmaW5lZCwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQgfHwgdW5kZWZpbmVkLCBcImRhdGEtcGFnZVwiOiBpc0Rpc2FibGVkID8gdW5kZWZpbmVkIDogaXRlbS5wYWdlLCBjaGlsZHJlbjogW2lzQ29udHJvbCAmJiBpc1ByZXZpb3VzICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuaWNvbiksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGljb25OYW1lLCBzaXplOiBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9TSVpFLCBjb2xvcjogUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IgfSkgfSkpLCBfanN4KFR5cG9ncmFwaHlCb2R5LCB7IHNpemU6IFBBR0lOQVRJT05fVEVYVF9TSVpFLCBzdHJvbmc6IHRydWUsIGNvbG9yOiBnZXRJdGVtVGV4dENvbG9yKGl0ZW0pLCBjaGlsZHJlbjogaXNQYWdlID8gaXRlbS5wYWdlIDogUEFHSU5BVElPTl9DT05UUk9MX1RFWFRbaXRlbS50eXBlXSB9KSwgaXNDb250cm9sICYmICFpc1ByZXZpb3VzICYmIChfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcyhQQUdJTkFUSU9OX1NMT1QuaWNvbiksIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IGljb25OYW1lLCBzaXplOiBQQUdJTkFUSU9OX0NPTlRST0xfSUNPTl9TSVpFLCBjb2xvcjogUEFHSU5BVElPTl9DT05UUk9MX0lDT05fQ09MT1IgfSkgfSkpXSB9KSB9LCBpdGVtLmtleSkpO1xuICAgICAgICAgICAgfSkgfSkgfSkpKTtcbn0pO1xuUGFnaW5hdGlvbkJhc2UuZGlzcGxheU5hbWUgPSBQQUdJTkFUSU9OX0NPTVBPTkVOVF9OQU1FO1xuZXhwb3J0IGNvbnN0IFBhZ2luYXRpb24gPSBtZW1vKFBhZ2luYXRpb25CYXNlKTtcbmV4cG9ydCBkZWZhdWx0IFBhZ2luYXRpb247IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -8,7 +8,8 @@ exports.usePagination = exports["default"] = void 0;
|
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _react = require("react");
|
|
11
|
-
var
|
|
11
|
+
var _useControlledState3 = _interopRequireDefault(require("@1money/hooks/useControlledState"));
|
|
12
|
+
var _useEventCallback = _interopRequireDefault(require("@1money/hooks/useEventCallback"));
|
|
12
13
|
var _constants = require("./constants");
|
|
13
14
|
var toInteger = function toInteger(value, fallback) {
|
|
14
15
|
var parsed = Number(value);
|
|
@@ -113,12 +114,12 @@ var usePagination = exports.usePagination = function usePagination(options) {
|
|
|
113
114
|
var resolvedMiddlePageCount = normalizeMiddlePageCount(middlePageCount);
|
|
114
115
|
var totalPages = getTotalPages(resolvedTotal, resolvedPageSize);
|
|
115
116
|
var controlledCurrent = current === undefined ? undefined : clamp(toInteger(current, _constants.PAGINATION_DEFAULT_CURRENT), _constants.PAGINATION_DEFAULT_CURRENT, totalPages);
|
|
116
|
-
var _useControlledState = (0,
|
|
117
|
+
var _useControlledState = (0, _useControlledState3["default"])(clamp(toInteger(defaultCurrent, _constants.PAGINATION_DEFAULT_CURRENT), _constants.PAGINATION_DEFAULT_CURRENT, totalPages), controlledCurrent),
|
|
117
118
|
_useControlledState2 = (0, _slicedToArray2["default"])(_useControlledState, 2),
|
|
118
119
|
innerCurrent = _useControlledState2[0],
|
|
119
120
|
setInnerCurrent = _useControlledState2[1];
|
|
120
121
|
var resolvedCurrent = clamp(toInteger(innerCurrent, _constants.PAGINATION_DEFAULT_CURRENT), _constants.PAGINATION_DEFAULT_CURRENT, totalPages);
|
|
121
|
-
var goTo = (0,
|
|
122
|
+
var goTo = (0, _useEventCallback["default"])(function (page) {
|
|
122
123
|
var nextPage = clamp(toInteger(page, resolvedCurrent), _constants.PAGINATION_DEFAULT_CURRENT, totalPages);
|
|
123
124
|
if (nextPage === resolvedCurrent) {
|
|
124
125
|
return;
|
|
@@ -126,10 +127,10 @@ var usePagination = exports.usePagination = function usePagination(options) {
|
|
|
126
127
|
setInnerCurrent(nextPage);
|
|
127
128
|
onChange === null || onChange === void 0 ? void 0 : onChange(nextPage, resolvedPageSize);
|
|
128
129
|
});
|
|
129
|
-
var previous = (0,
|
|
130
|
+
var previous = (0, _useEventCallback["default"])(function () {
|
|
130
131
|
goTo(resolvedCurrent - 1);
|
|
131
132
|
});
|
|
132
|
-
var next = (0,
|
|
133
|
+
var next = (0, _useEventCallback["default"])(function () {
|
|
133
134
|
goTo(resolvedCurrent + 1);
|
|
134
135
|
});
|
|
135
136
|
var items = (0, _react.useMemo)(function () {
|
|
@@ -149,4 +150,4 @@ var usePagination = exports.usePagination = function usePagination(options) {
|
|
|
149
150
|
};
|
|
150
151
|
};
|
|
151
152
|
var _default = exports["default"] = usePagination;
|
|
152
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbi91c2VQYWdpbmF0aW9uLnRzIiwiY29tcG9uZW50cy9QYWdpbmF0aW9uL3VzZVBhZ2luYXRpb24uanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl9ob29rcyIsIl9jb25zdGFudHMiLCJ0b0ludGVnZXIiLCJ2YWx1ZSIsImZhbGxiYWNrIiwicGFyc2VkIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJNYXRoIiwidHJ1bmMiLCJjbGFtcCIsIm1pbiIsIm1heCIsIm5vcm1hbGl6ZVRvdGFsIiwidG90YWwiLCJQQUdJTkFUSU9OX0RFRkFVTFRfVE9UQUwiLCJub3JtYWxpemVQYWdlU2l6ZSIsInBhZ2VTaXplIiwiUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQiLCJQQUdJTkFUSU9OX0RFRkFVTFRfUEFHRV9TSVpFIiwibm9ybWFsaXplQm91bmRhcnlDb3VudCIsImJvdW5kYXJ5Q291bnQiLCJQQUdJTkFUSU9OX0RFRkFVTFRfQk9VTkRBUllfQ09VTlQiLCJub3JtYWxpemVNaWRkbGVQYWdlQ291bnQiLCJtaWRkbGVQYWdlQ291bnQiLCJQQUdJTkFUSU9OX0RFRkFVTFRfTUlERExFX1BBR0VfQ09VTlQiLCJnZXRUb3RhbFBhZ2VzIiwiY2VpbCIsImdldFZpc2libGVQYWdlcyIsImN1cnJlbnQiLCJ0b3RhbFBhZ2VzIiwicGFnZXMiLCJTZXQiLCJtYXhXaW5kb3dTdGFydCIsIndpbmRvd1N0YXJ0IiwiZmxvb3IiLCJ3aW5kb3dFbmQiLCJwYWdlIiwiYWRkIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsImZpbHRlciIsInNvcnQiLCJsZWZ0IiwicmlnaHQiLCJjcmVhdGVQYWdlSXRlbSIsImtleSIsImNvbmNhdCIsIlBBR0lOQVRJT05fS0VZX1BSRUZJWCIsInR5cGUiLCJQQUdJTkFUSU9OX0lURU1fVFlQRSIsImNyZWF0ZUNvbnRyb2xJdGVtIiwiZGlzYWJsZWQiLCJjcmVhdGVFbGxpcHNpc0l0ZW0iLCJwb3NpdGlvbiIsImVsbGlwc2lzIiwiYnVpbGRQYWdlSXRlbXMiLCJ2aXNpYmxlUGFnZXMiLCJpdGVtcyIsInByZXZpb3VzUGFnZSIsImVsbGlwc2lzQ291bnQiLCJmb3JFYWNoIiwiZ2FwIiwiUEFHSU5BVElPTl9HQVBfRklMTF9USFJFU0hPTEQiLCJwdXNoIiwiUEFHSU5BVElPTl9FTExJUFNJU19QT1NJVElPTiIsInN0YXJ0IiwiZW5kIiwiYnVpbGRQYWdpbmF0aW9uSXRlbXMiLCJwcmV2aW91cyIsIm5leHQiLCJ1c2VQYWdpbmF0aW9uIiwiZXhwb3J0cyIsIm9wdGlvbnMiLCJfb3B0aW9ucyRkZWZhdWx0Q3VycmUiLCJkZWZhdWx0Q3VycmVudCIsIm9uQ2hhbmdlIiwicmVzb2x2ZWRUb3RhbCIsInJlc29sdmVkUGFnZVNpemUiLCJyZXNvbHZlZEJvdW5kYXJ5Q291bnQiLCJyZXNvbHZlZE1pZGRsZVBhZ2VDb3VudCIsImNvbnRyb2xsZWRDdXJyZW50IiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5uZXJDdXJyZW50Iiwic2V0SW5uZXJDdXJyZW50IiwicmVzb2x2ZWRDdXJyZW50IiwiZ29UbyIsInVzZUV2ZW50Q2FsbGJhY2siLCJuZXh0UGFnZSIsInVzZU1lbW8iLCJjYW5QcmV2aW91cyIsImNhbk5leHQiLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBb0JBLElBQU1HLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFJQyxLQUF5QixFQUFFQyxRQUFnQixFQUFJO0VBQ2hFLElBQU1DLE1BQU0sR0FBR0MsTUFBTSxDQUFDSCxLQUFLLENBQUM7RUFDNUIsT0FBT0csTUFBTSxDQUFDQyxRQUFRLENB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UkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUdnQixRQUFRLEVBQUVkLGdCQUFnQixDQUFDO0VBQ3hDLENBQUMsQ0FBQztFQUVGLElBQU1ULFFBQVEsR0FBRyxJQUFBc0IsdUJBQWdCLEVBQUMsWUFBSztJQUNyQ0QsSUFBSSxDQUFDRCxlQUFlLEdBQUcsQ0FBQyxDQUFDO0VBQzNCLENBQUMsQ0FBQztFQUVGLElBQU1uQixJQUFJLEdBQUcsSUFBQXFCLHVCQUFnQixFQUFDLFlBQUs7SUFDakNELElBQUksQ0FBQ0QsZUFBZSxHQUFHLENBQUMsQ0FBQztFQUMzQixDQUFDLENBQUM7RUFFRixJQUFNL0IsS0FBSyxHQUFHLElBQUFtQyxjQUFPLEVBQ25CO0lBQUEsT0FBTXpCLG9CQUFvQixDQUN4QnFCLGVBQWUsRUFDZjFELFVBQVUsRUFDVmdELHFCQUFxQixFQUNyQkMsdUJBQXVCLENBQ3hCO0VBQUEsR0FDRCxDQUFDUyxlQUFlLEVBQUUxRCxVQUFVLEVBQUVnRCxxQkFBcUIsRUFBRUMsdUJBQXVCLENBQUMsQ0FDOUU7RUFFRCxPQUFPO0lBQ0xsRCxPQUFPLEVBQUUyRCxlQUFlO0lBQ3hCdkUsUUFBUSxFQUFFNEQsZ0JBQWdCO0lBQzFCL0QsS0FBSyxFQUFFOEQsYUFBYTtJQUNwQjlDLFVBQVUsRUFBVkEsVUFBVTtJQUNWK0QsV0FBVyxFQUFFTCxlQUFlLEdBQUd0RSxxQ0FBMEI7SUFDekQ0RSxPQUFPLEVBQUVOLGVBQWUsR0FBRzFELFVBQVU7SUFDckMyQixLQUFLLEVBQUxBLEtBQUs7SUFDTGdDLElBQUksRUFBSkEsSUFBSTtJQUNKckIsUUFBUSxFQUFSQSxRQUFRO0lBQ1JDLElBQUksRUFBSkE7RUMzSEEsQ0Q0SEQ7QUFDSCxDQUFDO0FBQUMsSUFBQTBCLFFBQUEsR0FBQXhCLE9BQUEsY0FFYUQsYUFBYSIsImZpbGUiOiJjb21wb25lbnRzL1BhZ2luYXRpb24vdXNlUGFnaW5hdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgUEFHSU5BVElPTl9ERUZBVUxUX0JPVU5EQVJZX0NPVU5ULCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgUEFHSU5BVElPTl9ERUZBVUxUX01JRERMRV9QQUdFX0NPVU5ULCBQQUdJTkFUSU9OX0RFRkFVTFRfUEFHRV9TSVpFLCBQQUdJTkFUSU9OX0RFRkFVTFRfVE9UQUwsIFBBR0lOQVRJT05fRUxMSVBTSVNfUE9TSVRJT04sIFBBR0lOQVRJT05fR0FQX0ZJTExfVEhSRVNIT0xELCBQQUdJTkFUSU9OX0lURU1fVFlQRSwgUEFHSU5BVElPTl9LRVlfUFJFRklYLCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmNvbnN0IHRvSW50ZWdlciA9ICh2YWx1ZSwgZmFsbGJhY2spID0+IHtcbiAgICBjb25zdCBwYXJzZWQgPSBOdW1iZXIodmFsdWUpO1xuICAgIHJldHVybiBOdW1iZXIuaXNGaW5pdGUocGFyc2VkKSA/IE1hdGgudHJ1bmMocGFyc2VkKSA6IGZhbGxiYWNrO1xufTtcbmNvbnN0IGNsYW1wID0gKHZhbHVlLCBtaW4sIG1heCkgPT4gTWF0aC5taW4oTWF0aC5tYXgodmFsdWUsIG1pbiksIG1heCk7XG5jb25zdCBub3JtYWxpemVUb3RhbCA9ICh0b3RhbCkgPT4gTWF0aC5tYXgoUEFHSU5BVElPTl9ERUZBVUxUX1RPVEFMLCB0b0ludGVnZXIodG90YWwsIFBBR0lOQVRJT05fREVGQVVMVF9UT1RBTCkpO1xuY29uc3Qgbm9ybWFsaXplUGFnZVNpemUgPSAocGFnZVNpemUpID0+IE1hdGgubWF4KFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCB0b0ludGVnZXIocGFnZVNpemUsIFBBR0lOQVRJT05fREVGQVVMVF9QQUdFX1NJWkUpKTtcbmNvbnN0IG5vcm1hbGl6ZUJvdW5kYXJ5Q291bnQgPSAoYm91bmRhcnlDb3VudCkgPT4gTWF0aC5tYXgoUEFHSU5BVElPTl9ERUZBVUxUX1RPVEFMLCB0b0ludGVnZXIoYm91bmRhcnlDb3VudCwgUEFHSU5BVElPTl9ERUZBVUxUX0JPVU5EQVJZX0NPVU5UKSk7XG5jb25zdCBub3JtYWxpemVNaWRkbGVQYWdlQ291bnQgPSAobWlkZGxlUGFnZUNvdW50KSA9PiBNYXRoLm1heChQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgdG9JbnRlZ2VyKG1pZGRsZVBhZ2VDb3VudCwgUEFHSU5BVElPTl9ERUZBVUxUX01JRERMRV9QQUdFX0NPVU5UKSk7XG5jb25zdCBnZXRUb3RhbFBhZ2VzID0gKHRvdGFsLCBwYWdlU2l6ZSkgPT4gTWF0aC5tYXgoUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIE1hdGguY2VpbCh0b3RhbCAvIHBhZ2VTaXplKSk7XG5jb25zdCBnZXRWaXNpYmxlUGFnZXMgPSAoY3VycmVudCwgdG90YWxQYWdlcywgYm91bmRhcnlDb3VudCwgbWlkZGxlUGFnZUNvdW50KSA9PiB7XG4gICAgY29uc3QgcGFnZXMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgbWF4V2luZG93U3RhcnQgPSBNYXRoLm1heChQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgdG90YWxQYWdlcyAtIG1pZGRsZVBhZ2VDb3VudCArIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UKTtcbiAgICBjb25zdCB3aW5kb3dTdGFydCA9IGNsYW1wKGN1cnJlbnQgLSBNYXRoLmZsb29yKChtaWRkbGVQYWdlQ291bnQgLSBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCkgLyAyKSwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIG1heFdpbmRvd1N0YXJ0KTtcbiAgICBjb25zdCB3aW5kb3dFbmQgPSBNYXRoLm1pbih3aW5kb3dTdGFydCArIG1pZGRsZVBhZ2VDb3VudCAtIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCB0b3RhbFBhZ2VzKTtcbiAgICBmb3IgKGxldCBwYWdlID0gUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQ7IHBhZ2UgPD0gTWF0aC5taW4oYm91bmRhcnlDb3VudCwgdG90YWxQYWdlcyk7IHBhZ2UgKz0gMSkge1xuICAgICAgICBwYWdlcy5hZGQocGFnZSk7XG4gICAgfVxuICAgIGZvciAobGV0IHBhZ2UgPSBNYXRoLm1heCh0b3RhbFBhZ2VzIC0gYm91bmRhcnlDb3VudCArIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCk7IHBhZ2UgPD0gdG90YWxQYWdlczsgcGFnZSArPSAxKSB7XG4gICAgICAgIHBhZ2VzLmFkZChwYWdlKTtcbiAgICB9XG4gICAgZm9yIChsZXQgcGFnZSA9IHdpbmRvd1N0YXJ0OyBwYWdlIDw9IHdpbmRvd0VuZDsgcGFnZSArPSAxKSB7XG4gICAgICAgIHBhZ2VzLmFkZChwYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIFsuLi5wYWdlc11cbiAgICAgICAgLmZpbHRlcihwYWdlID0+IHBhZ2UgPj0gUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQgJiYgcGFnZSA8PSB0b3RhbFBhZ2VzKVxuICAgICAgICAuc29ydCgobGVmdCwgcmlnaHQpID0+IGxlZnQgLSByaWdodCk7XG59O1xuY29uc3QgY3JlYXRlUGFnZUl0ZW0gPSAocGFnZSwgY3VycmVudCkgPT4gKHtcbiAgICBrZXk6IGAke1BBR0lOQVRJT05fS0VZX1BSRUZJWC5wYWdlfS0ke3BhZ2V9YCxcbiAgICB0eXBlOiBQQUdJTkFUSU9OX0lURU1fVFlQRS5wYWdlLFxuICAgIHBhZ2UsXG4gICAgY3VycmVudDogcGFnZSA9PT0gY3VycmVudCxcbn0pO1xuY29uc3QgY3JlYXRlQ29udHJvbEl0ZW0gPSAodHlwZSwgcGFnZSwgZGlzYWJsZWQpID0+ICh7XG4gICAga2V5OiB0eXBlLFxuICAgIHR5cGUsXG4gICAgcGFnZSxcbiAgICBkaXNhYmxlZCxcbn0pO1xuY29uc3QgY3JlYXRlRWxsaXBzaXNJdGVtID0gKHBvc2l0aW9uKSA9PiAoe1xuICAgIGtleTogYCR7UEFHSU5BVElPTl9LRVlfUFJFRklYLmVsbGlwc2lzfS0ke3Bvc2l0aW9ufWAsXG4gICAgdHlwZTogUEFHSU5BVElPTl9JVEVNX1RZUEUuZWxsaXBzaXMsXG4gICAgcG9zaXRpb24sXG59KTtcbmNvbnN0IGJ1aWxkUGFnZUl0ZW1zID0gKGN1cnJlbnQsIHRvdGFsUGFnZXMsIGJvdW5kYXJ5Q291bnQsIG1pZGRsZVBhZ2VDb3VudCkgPT4ge1xuICAgIGNvbnN0IHZpc2libGVQYWdlcyA9IGdldFZpc2libGVQYWdlcyhjdXJyZW50LCB0b3RhbFBhZ2VzLCBib3VuZGFyeUNvdW50LCBtaWRkbGVQYWdlQ291bnQpO1xuICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgbGV0IHByZXZpb3VzUGFnZSA9IDA7XG4gICAgbGV0IGVsbGlwc2lzQ291bnQgPSAwO1xuICAgIHZpc2libGVQYWdlcy5mb3JFYWNoKHBhZ2UgPT4ge1xuICAgICAgICBpZiAocHJldmlvdXNQYWdlID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZ2FwID0gcGFnZSAtIHByZXZpb3VzUGFnZTtcbiAgICAgICAgICAgIGlmIChnYXAgPT09IFBBR0lOQVRJT05fR0FQX0ZJTExfVEhSRVNIT0xEKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaChjcmVhdGVQYWdlSXRlbShwcmV2aW91c1BhZ2UgKyAxLCBjdXJyZW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChnYXAgPiBQQUdJTkFUSU9OX0dBUF9GSUxMX1RIUkVTSE9MRCkge1xuICAgICAgICAgICAgICAgIGVsbGlwc2lzQ291bnQgKz0gMTtcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKGNyZWF0ZUVsbGlwc2lzSXRlbShlbGxpcHNpc0NvdW50ID09PSAxXG4gICAgICAgICAgICAgICAgICAgID8gUEFHSU5BVElPTl9FTExJUFNJU19QT1NJVElPTi5zdGFydFxuICAgICAgICAgICAgICAgICAgICA6IFBBR0lOQVRJT05fRUxMSVBTSVNfUE9TSVRJT04uZW5kKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXRlbXMucHVzaChjcmVhdGVQYWdlSXRlbShwYWdlLCBjdXJyZW50KSk7XG4gICAgICAgIHByZXZpb3VzUGFnZSA9IHBhZ2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIGl0ZW1zO1xufTtcbmNvbnN0IGJ1aWxkUGFnaW5hdGlvbkl0ZW1zID0gKGN1cnJlbnQsIHRvdGFsUGFnZXMsIGJvdW5kYXJ5Q291bnQsIG1pZGRsZVBhZ2VDb3VudCkgPT4gW1xuICAgIGNyZWF0ZUNvbnRyb2xJdGVtKFBBR0lOQVRJT05fSVRFTV9UWVBFLnByZXZpb3VzLCBjbGFtcChjdXJyZW50IC0gMSwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIHRvdGFsUGFnZXMpLCBjdXJyZW50IDw9IFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UKSxcbiAgICAuLi5idWlsZFBhZ2VJdGVtcyhjdXJyZW50LCB0b3RhbFBhZ2VzLCBib3VuZGFyeUNvdW50LCBtaWRkbGVQYWdlQ291bnQpLFxuICAgIGNyZWF0ZUNvbnRyb2xJdGVtKFBBR0lOQVRJT05fSVRFTV9UWVBFLm5leHQsIGNsYW1wKGN1cnJlbnQgKyAxLCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgdG90YWxQYWdlcyksIGN1cnJlbnQgPj0gdG90YWxQYWdlcyksXG5dO1xuZXhwb3J0IGNvbnN0IHVzZVBhZ2luYXRpb24gPSAob3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IHsgdG90YWwsIHBhZ2VTaXplLCBjdXJyZW50LCBkZWZhdWx0Q3VycmVudCA9IFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCBib3VuZGFyeUNvdW50LCBtaWRkbGVQYWdlQ291bnQsIG9uQ2hhbmdlLCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCByZXNvbHZlZFRvdGFsID0gbm9ybWFsaXplVG90YWwodG90YWwpO1xuICAgIGNvbnN0IHJlc29sdmVkUGFnZVNpemUgPSBub3JtYWxpemVQYWdlU2l6ZShwYWdlU2l6ZSk7XG4gICAgY29uc3QgcmVzb2x2ZWRCb3VuZGFyeUNvdW50ID0gbm9ybWFsaXplQm91bmRhcnlDb3VudChib3VuZGFyeUNvdW50KTtcbiAgICBjb25zdCByZXNvbHZlZE1pZGRsZVBhZ2VDb3VudCA9IG5vcm1hbGl6ZU1pZGRsZVBhZ2VDb3VudChtaWRkbGVQYWdlQ291bnQpO1xuICAgIGNvbnN0IHRvdGFsUGFnZXMgPSBnZXRUb3RhbFBhZ2VzKHJlc29sdmVkVG90YWwsIHJlc29sdmVkUGFnZVNpemUpO1xuICAgIGNvbnN0IGNvbnRyb2xsZWRDdXJyZW50ID0gY3VycmVudCA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgIDogY2xhbXAodG9JbnRlZ2VyKGN1cnJlbnQsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UKSwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIHRvdGFsUGFnZXMpO1xuICAgIGNvbnN0IFtpbm5lckN1cnJlbnQsIHNldElubmVyQ3VycmVudF0gPSB1c2VDb250cm9sbGVkU3RhdGUoY2xhbXAodG9JbnRlZ2VyKGRlZmF1bHRDdXJyZW50LCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCksIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCB0b3RhbFBhZ2VzKSwgY29udHJvbGxlZEN1cnJlbnQpO1xuICAgIGNvbnN0IHJlc29sdmVkQ3VycmVudCA9IGNsYW1wKHRvSW50ZWdlcihpbm5lckN1cnJlbnQsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UKSwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIHRvdGFsUGFnZXMpO1xuICAgIGNvbnN0IGdvVG8gPSB1c2VFdmVudENhbGxiYWNrKChwYWdlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRQYWdlID0gY2xhbXAodG9JbnRlZ2VyKHBhZ2UsIHJlc29sdmVkQ3VycmVudCksIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCB0b3RhbFBhZ2VzKTtcbiAgICAgICAgaWYgKG5leHRQYWdlID09PSByZXNvbHZlZEN1cnJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRJbm5lckN1cnJlbnQobmV4dFBhZ2UpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFBhZ2UsIHJlc29sdmVkUGFnZVNpemUpO1xuICAgIH0pO1xuICAgIGNvbnN0IHByZXZpb3VzID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGdvVG8ocmVzb2x2ZWRDdXJyZW50IC0gMSk7XG4gICAgfSk7XG4gICAgY29uc3QgbmV4dCA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBnb1RvKHJlc29sdmVkQ3VycmVudCArIDEpO1xuICAgIH0pO1xuICAgIGNvbnN0IGl0ZW1zID0gdXNlTWVtbygoKSA9PiBidWlsZFBhZ2luYXRpb25JdGVtcyhyZXNvbHZlZEN1cnJlbnQsIHRvdGFsUGFnZXMsIHJlc29sdmVkQm91bmRhcnlDb3VudCwgcmVzb2x2ZWRNaWRkbGVQYWdlQ291bnQpLCBbcmVzb2x2ZWRDdXJyZW50LCB0b3RhbFBhZ2VzLCByZXNvbHZlZEJvdW5kYXJ5Q291bnQsIHJlc29sdmVkTWlkZGxlUGFnZUNvdW50XSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgY3VycmVudDogcmVzb2x2ZWRDdXJyZW50LFxuICAgICAgICBwYWdlU2l6ZTogcmVzb2x2ZWRQYWdlU2l6ZSxcbiAgICAgICAgdG90YWw6IHJlc29sdmVkVG90YWwsXG4gICAgICAgIHRvdGFsUGFnZXMsXG4gICAgICAgIGNhblByZXZpb3VzOiByZXNvbHZlZEN1cnJlbnQgPiBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCxcbiAgICAgICAgY2FuTmV4dDogcmVzb2x2ZWRDdXJyZW50IDwgdG90YWxQYWdlcyxcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIGdvVG8sXG4gICAgICAgIHByZXZpb3VzLFxuICAgICAgICBuZXh0LFxuICAgIH07XG59O1xuZXhwb3J0IGRlZmF1bHQgdXNlUGFnaW5hdGlvbjsiXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUGFnaW5hdGlvbi91c2VQYWdpbmF0aW9uLnRzIiwiY29tcG9uZW50cy9QYWdpbmF0aW9uL3VzZVBhZ2luYXRpb24uanMiXSwibmFtZXMiOlsiX3JlYWN0IiwicmVxdWlyZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl91c2VFdmVudENhbGxiYWNrIiwiX2NvbnN0YW50cyIsInRvSW50ZWdlciIsInZhbHVlIiwiZmFsbGJhY2siLCJwYXJzZWQiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsIk1hdGgiLCJ0cnVuYyIsImNsYW1wIiwibWluIiwibWF4Iiwibm9ybWFsaXplVG90YWwiLCJ0b3RhbCIsIlBBR0lOQVRJT05fREVGQVVMVF9UT1RBTCIsIm5vcm1hbGl6ZVBhZ2VTaXplIiwicGFnZVNpemUiLCJQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCIsIlBBR0lOQVRJT05fREVGQVVMVF9QQUdFX1NJWkUiLCJub3JtYWxpemVCb3VuZGFyeUNvdW50IiwiYm91bmRhcnlDb3VudCIsIlBBR0lOQVRJT05fREVGQVVMVF9CT1VOREFSWV9DT1VOVCIsIm5vcm1hbGl6ZU1pZGRsZVBhZ2VDb3VudCIsIm1pZGRsZVBhZ2VDb3VudCIsIlBBR0lOQVRJT05fREVGQVVMVF9NSURETEVfUEFHRV9DT1VOVCIsImdldFRvdGFsUGFnZXMiLCJjZWlsIiwiZ2V0VmlzaWJsZVBhZ2VzIiwiY3VycmVudCIsInRvdGFsUGFnZXMiLCJwYWdlcyIsIlNldCIsIm1heFdpbmRvd1N0YXJ0Iiwid2luZG93U3RhcnQiLCJmbG9vciIsIndpbmRvd0VuZCIsInBhZ2UiLCJhZGQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZmlsdGVyIiwic29ydCIsImxlZnQiLCJyaWdodCIsImNyZWF0ZVBhZ2VJdGVtIiwia2V5IiwiY29uY2F0IiwiUEFHSU5BVElPTl9LRVlfUFJFRklYIiwidHlwZSIsIlBBR0lOQVRJT05fSVRFTV9UWVBFIiwiY3JlYXRlQ29udHJvbEl0ZW0iLCJkaXNhYmxlZCIsImNyZWF0ZUVsbGlwc2lzSXRlbSIsInBvc2l0aW9uIiwiZWxsaXBzaXMiLCJidWlsZFBhZ2VJdGVtcyIsInZpc2libGVQYWdlcyIsIml0ZW1zIiwicHJldmlvdXNQYWdlIiwiZWxsaXBzaXNDb3VudCIsImZvckVhY2giLCJnYXAiLCJQQUdJTkFUSU9OX0dBUF9GSUxMX1RIUkVTSE9MRCIsInB1c2giLCJQQUdJTkFUSU9OX0VMTElQU0lTX1BPU0lUSU9OIiwic3RhcnQiLCJlbmQiLCJidWlsZFBhZ2luYXRpb25JdGVtcyIsInByZXZpb3VzIiwibmV4dCIsInVzZVBhZ2luYXRpb24iLCJleHBvcnRzIiwib3B0aW9ucyIsIl9vcHRpb25zJGRlZmF1bHRDdXJyZSIsImRlZmF1bHRDdXJyZW50Iiwib25DaGFuZ2UiLCJyZXNvbHZlZFRvdGFsIiwicmVzb2x2ZWRQYWdlU2l6ZSIsInJlc29sdmVkQm91bmRhcnlDb3VudCIsInJlc29sdmVkTWlkZGxlUGFnZUNvdW50IiwiY29udHJvbGxlZEN1cnJlbnQiLCJ1bmRlZmluZWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlIiwidXNlQ29udHJvbGxlZFN0YXRlIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpbm5lckN1cnJlbnQiLCJzZXRJbm5lckN1cnJlbnQiLCJyZXNvbHZlZEN1cnJlbnQiLCJnb1RvIiwidXNlRXZlbnRDYWxsYmFjayIsIm5leHRQYWdlIiwidXNlTWVtbyIsImNhblByZXZpb3VzIiwiY2FuTmV4dCIsIl9kZWZhdWx0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxvQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUosT0FBQTtBQW9CQSxJQUFNSyxTQUFTLEdBQUcsU0FB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QUFBLEdBQUF4QixPQUFBLGNBRWFELGFBQWEiLCJmaWxlIjoiY29tcG9uZW50cy9QYWdpbmF0aW9uL3VzZVBhZ2luYXRpb24uanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBQQUdJTkFUSU9OX0RFRkFVTFRfQk9VTkRBUllfQ09VTlQsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCBQQUdJTkFUSU9OX0RFRkFVTFRfTUlERExFX1BBR0VfQ09VTlQsIFBBR0lOQVRJT05fREVGQVVMVF9QQUdFX1NJWkUsIFBBR0lOQVRJT05fREVGQVVMVF9UT1RBTCwgUEFHSU5BVElPTl9FTExJUFNJU19QT1NJVElPTiwgUEFHSU5BVElPTl9HQVBfRklMTF9USFJFU0hPTEQsIFBBR0lOQVRJT05fSVRFTV9UWVBFLCBQQUdJTkFUSU9OX0tFWV9QUkVGSVgsIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuY29uc3QgdG9JbnRlZ2VyID0gKHZhbHVlLCBmYWxsYmFjaykgPT4ge1xuICAgIGNvbnN0IHBhcnNlZCA9IE51bWJlcih2YWx1ZSk7XG4gICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShwYXJzZWQpID8gTWF0aC50cnVuYyhwYXJzZWQpIDogZmFsbGJhY2s7XG59O1xuY29uc3QgY2xhbXAgPSAodmFsdWUsIG1pbiwgbWF4KSA9PiBNYXRoLm1pbihNYXRoLm1heCh2YWx1ZSwgbWluKSwgbWF4KTtcbmNvbnN0IG5vcm1hbGl6ZVRvdGFsID0gKHRvdGFsKSA9PiBNYXRoLm1heChQQUdJTkFUSU9OX0RFRkFVTFRfVE9UQUwsIHRvSW50ZWdlcih0b3RhbCwgUEFHSU5BVElPTl9ERUZBVUxUX1RPVEFMKSk7XG5jb25zdCBub3JtYWxpemVQYWdlU2l6ZSA9IChwYWdlU2l6ZSkgPT4gTWF0aC5tYXgoUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIHRvSW50ZWdlcihwYWdlU2l6ZSwgUEFHSU5BVElPTl9ERUZBVUxUX1BBR0VfU0laRSkpO1xuY29uc3Qgbm9ybWFsaXplQm91bmRhcnlDb3VudCA9IChib3VuZGFyeUNvdW50KSA9PiBNYXRoLm1heChQQUdJTkFUSU9OX0RFRkFVTFRfVE9UQUwsIHRvSW50ZWdlcihib3VuZGFyeUNvdW50LCBQQUdJTkFUSU9OX0RFRkFVTFRfQk9VTkRBUllfQ09VTlQpKTtcbmNvbnN0IG5vcm1hbGl6ZU1pZGRsZVBhZ2VDb3VudCA9IChtaWRkbGVQYWdlQ291bnQpID0+IE1hdGgubWF4KFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCB0b0ludGVnZXIobWlkZGxlUGFnZUNvdW50LCBQQUdJTkFUSU9OX0RFRkFVTFRfTUlERExFX1BBR0VfQ09VTlQpKTtcbmNvbnN0IGdldFRvdGFsUGFnZXMgPSAodG90YWwsIHBhZ2VTaXplKSA9PiBNYXRoLm1heChQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgTWF0aC5jZWlsKHRvdGFsIC8gcGFnZVNpemUpKTtcbmNvbnN0IGdldFZpc2libGVQYWdlcyA9IChjdXJyZW50LCB0b3RhbFBhZ2VzLCBib3VuZGFyeUNvdW50LCBtaWRkbGVQYWdlQ291bnQpID0+IHtcbiAgICBjb25zdCBwYWdlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBtYXhXaW5kb3dTdGFydCA9IE1hdGgubWF4KFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCB0b3RhbFBhZ2VzIC0gbWlkZGxlUGFnZUNvdW50ICsgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQpO1xuICAgIGNvbnN0IHdpbmRvd1N0YXJ0ID0gY2xhbXAoY3VycmVudCAtIE1hdGguZmxvb3IoKG1pZGRsZVBhZ2VDb3VudCAtIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UKSAvIDIpLCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgbWF4V2luZG93U3RhcnQpO1xuICAgIGNvbnN0IHdpbmRvd0VuZCA9IE1hdGgubWluKHdpbmRvd1N0YXJ0ICsgbWlkZGxlUGFnZUNvdW50IC0gUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIHRvdGFsUGFnZXMpO1xuICAgIGZvciAobGV0IHBhZ2UgPSBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVDsgcGFnZSA8PSBNYXRoLm1pbihib3VuZGFyeUNvdW50LCB0b3RhbFBhZ2VzKTsgcGFnZSArPSAxKSB7XG4gICAgICAgIHBhZ2VzLmFkZChwYWdlKTtcbiAgICB9XG4gICAgZm9yIChsZXQgcGFnZSA9IE1hdGgubWF4KHRvdGFsUGFnZXMgLSBib3VuZGFyeUNvdW50ICsgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UKTsgcGFnZSA8PSB0b3RhbFBhZ2VzOyBwYWdlICs9IDEpIHtcbiAgICAgICAgcGFnZXMuYWRkKHBhZ2UpO1xuICAgIH1cbiAgICBmb3IgKGxldCBwYWdlID0gd2luZG93U3RhcnQ7IHBhZ2UgPD0gd2luZG93RW5kOyBwYWdlICs9IDEpIHtcbiAgICAgICAgcGFnZXMuYWRkKHBhZ2UpO1xuICAgIH1cbiAgICByZXR1cm4gWy4uLnBhZ2VzXVxuICAgICAgICAuZmlsdGVyKHBhZ2UgPT4gcGFnZSA+PSBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCAmJiBwYWdlIDw9IHRvdGFsUGFnZXMpXG4gICAgICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gbGVmdCAtIHJpZ2h0KTtcbn07XG5jb25zdCBjcmVhdGVQYWdlSXRlbSA9IChwYWdlLCBjdXJyZW50KSA9PiAoe1xuICAgIGtleTogYCR7UEFHSU5BVElPTl9LRVlfUFJFRklYLnBhZ2V9LSR7cGFnZX1gLFxuICAgIHR5cGU6IFBBR0lOQVRJT05fSVRFTV9UWVBFLnBhZ2UsXG4gICAgcGFnZSxcbiAgICBjdXJyZW50OiBwYWdlID09PSBjdXJyZW50LFxufSk7XG5jb25zdCBjcmVhdGVDb250cm9sSXRlbSA9ICh0eXBlLCBwYWdlLCBkaXNhYmxlZCkgPT4gKHtcbiAgICBrZXk6IHR5cGUsXG4gICAgdHlwZSxcbiAgICBwYWdlLFxuICAgIGRpc2FibGVkLFxufSk7XG5jb25zdCBjcmVhdGVFbGxpcHNpc0l0ZW0gPSAocG9zaXRpb24pID0+ICh7XG4gICAga2V5OiBgJHtQQUdJTkFUSU9OX0tFWV9QUkVGSVguZWxsaXBzaXN9LSR7cG9zaXRpb259YCxcbiAgICB0eXBlOiBQQUdJTkFUSU9OX0lURU1fVFlQRS5lbGxpcHNpcyxcbiAgICBwb3NpdGlvbixcbn0pO1xuY29uc3QgYnVpbGRQYWdlSXRlbXMgPSAoY3VycmVudCwgdG90YWxQYWdlcywgYm91bmRhcnlDb3VudCwgbWlkZGxlUGFnZUNvdW50KSA9PiB7XG4gICAgY29uc3QgdmlzaWJsZVBhZ2VzID0gZ2V0VmlzaWJsZVBhZ2VzKGN1cnJlbnQsIHRvdGFsUGFnZXMsIGJvdW5kYXJ5Q291bnQsIG1pZGRsZVBhZ2VDb3VudCk7XG4gICAgY29uc3QgaXRlbXMgPSBbXTtcbiAgICBsZXQgcHJldmlvdXNQYWdlID0gMDtcbiAgICBsZXQgZWxsaXBzaXNDb3VudCA9IDA7XG4gICAgdmlzaWJsZVBhZ2VzLmZvckVhY2gocGFnZSA9PiB7XG4gICAgICAgIGlmIChwcmV2aW91c1BhZ2UgPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBnYXAgPSBwYWdlIC0gcHJldmlvdXNQYWdlO1xuICAgICAgICAgICAgaWYgKGdhcCA9PT0gUEFHSU5BVElPTl9HQVBfRklMTF9USFJFU0hPTEQpIHtcbiAgICAgICAgICAgICAgICBpdGVtcy5wdXNoKGNyZWF0ZVBhZ2VJdGVtKHByZXZpb3VzUGFnZSArIDEsIGN1cnJlbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGdhcCA+IFBBR0lOQVRJT05fR0FQX0ZJTExfVEhSRVNIT0xEKSB7XG4gICAgICAgICAgICAgICAgZWxsaXBzaXNDb3VudCArPSAxO1xuICAgICAgICAgICAgICAgIGl0ZW1zLnB1c2goY3JlYXRlRWxsaXBzaXNJdGVtKGVsbGlwc2lzQ291bnQgPT09IDFcbiAgICAgICAgICAgICAgICAgICAgPyBQQUdJTkFUSU9OX0VMTElQU0lTX1BPU0lUSU9OLnN0YXJ0XG4gICAgICAgICAgICAgICAgICAgIDogUEFHSU5BVElPTl9FTExJUFNJU19QT1NJVElPTi5lbmQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpdGVtcy5wdXNoKGNyZWF0ZVBhZ2VJdGVtKHBhZ2UsIGN1cnJlbnQpKTtcbiAgICAgICAgcHJldmlvdXNQYWdlID0gcGFnZTtcbiAgICB9KTtcbiAgICByZXR1cm4gaXRlbXM7XG59O1xuY29uc3QgYnVpbGRQYWdpbmF0aW9uSXRlbXMgPSAoY3VycmVudCwgdG90YWxQYWdlcywgYm91bmRhcnlDb3VudCwgbWlkZGxlUGFnZUNvdW50KSA9PiBbXG4gICAgY3JlYXRlQ29udHJvbEl0ZW0oUEFHSU5BVElPTl9JVEVNX1RZUEUucHJldmlvdXMsIGNsYW1wKGN1cnJlbnQgLSAxLCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgdG90YWxQYWdlcyksIGN1cnJlbnQgPD0gUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQpLFxuICAgIC4uLmJ1aWxkUGFnZUl0ZW1zKGN1cnJlbnQsIHRvdGFsUGFnZXMsIGJvdW5kYXJ5Q291bnQsIG1pZGRsZVBhZ2VDb3VudCksXG4gICAgY3JlYXRlQ29udHJvbEl0ZW0oUEFHSU5BVElPTl9JVEVNX1RZUEUubmV4dCwgY2xhbXAoY3VycmVudCArIDEsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULCB0b3RhbFBhZ2VzKSwgY3VycmVudCA+PSB0b3RhbFBhZ2VzKSxcbl07XG5leHBvcnQgY29uc3QgdXNlUGFnaW5hdGlvbiA9IChvcHRpb25zKSA9PiB7XG4gICAgY29uc3QgeyB0b3RhbCwgcGFnZVNpemUsIGN1cnJlbnQsIGRlZmF1bHRDdXJyZW50ID0gUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIGJvdW5kYXJ5Q291bnQsIG1pZGRsZVBhZ2VDb3VudCwgb25DaGFuZ2UsIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHJlc29sdmVkVG90YWwgPSBub3JtYWxpemVUb3RhbCh0b3RhbCk7XG4gICAgY29uc3QgcmVzb2x2ZWRQYWdlU2l6ZSA9IG5vcm1hbGl6ZVBhZ2VTaXplKHBhZ2VTaXplKTtcbiAgICBjb25zdCByZXNvbHZlZEJvdW5kYXJ5Q291bnQgPSBub3JtYWxpemVCb3VuZGFyeUNvdW50KGJvdW5kYXJ5Q291bnQpO1xuICAgIGNvbnN0IHJlc29sdmVkTWlkZGxlUGFnZUNvdW50ID0gbm9ybWFsaXplTWlkZGxlUGFnZUNvdW50KG1pZGRsZVBhZ2VDb3VudCk7XG4gICAgY29uc3QgdG90YWxQYWdlcyA9IGdldFRvdGFsUGFnZXMocmVzb2x2ZWRUb3RhbCwgcmVzb2x2ZWRQYWdlU2l6ZSk7XG4gICAgY29uc3QgY29udHJvbGxlZEN1cnJlbnQgPSBjdXJyZW50ID09PSB1bmRlZmluZWRcbiAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgOiBjbGFtcCh0b0ludGVnZXIoY3VycmVudCwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQpLCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgdG90YWxQYWdlcyk7XG4gICAgY29uc3QgW2lubmVyQ3VycmVudCwgc2V0SW5uZXJDdXJyZW50XSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShjbGFtcCh0b0ludGVnZXIoZGVmYXVsdEN1cnJlbnQsIFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5UKSwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIHRvdGFsUGFnZXMpLCBjb250cm9sbGVkQ3VycmVudCk7XG4gICAgY29uc3QgcmVzb2x2ZWRDdXJyZW50ID0gY2xhbXAodG9JbnRlZ2VyKGlubmVyQ3VycmVudCwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQpLCBQQUdJTkFUSU9OX0RFRkFVTFRfQ1VSUkVOVCwgdG90YWxQYWdlcyk7XG4gICAgY29uc3QgZ29UbyA9IHVzZUV2ZW50Q2FsbGJhY2soKHBhZ2UpID0+IHtcbiAgICAgICAgY29uc3QgbmV4dFBhZ2UgPSBjbGFtcCh0b0ludGVnZXIocGFnZSwgcmVzb2x2ZWRDdXJyZW50KSwgUEFHSU5BVElPTl9ERUZBVUxUX0NVUlJFTlQsIHRvdGFsUGFnZXMpO1xuICAgICAgICBpZiAobmV4dFBhZ2UgPT09IHJlc29sdmVkQ3VycmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldElubmVyQ3VycmVudChuZXh0UGFnZSk7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZShuZXh0UGFnZSwgcmVzb2x2ZWRQYWdlU2l6ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgcHJldmlvdXMgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgZ29UbyhyZXNvbHZlZEN1cnJlbnQgLSAxKTtcbiAgICB9KTtcbiAgICBjb25zdCBuZXh0ID0gdXNlRXZlbnRDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIGdvVG8ocmVzb2x2ZWRDdXJyZW50ICsgMSk7XG4gICAgfSk7XG4gICAgY29uc3QgaXRlbXMgPSB1c2VNZW1vKCgpID0+IGJ1aWxkUGFnaW5hdGlvbkl0ZW1zKHJlc29sdmVkQ3VycmVudCwgdG90YWxQYWdlcywgcmVzb2x2ZWRCb3VuZGFyeUNvdW50LCByZXNvbHZlZE1pZGRsZVBhZ2VDb3VudCksIFtyZXNvbHZlZEN1cnJlbnQsIHRvdGFsUGFnZXMsIHJlc29sdmVkQm91bmRhcnlDb3VudCwgcmVzb2x2ZWRNaWRkbGVQYWdlQ291bnRdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBjdXJyZW50OiByZXNvbHZlZEN1cnJlbnQsXG4gICAgICAgIHBhZ2VTaXplOiByZXNvbHZlZFBhZ2VTaXplLFxuICAgICAgICB0b3RhbDogcmVzb2x2ZWRUb3RhbCxcbiAgICAgICAgdG90YWxQYWdlcyxcbiAgICAgICAgY2FuUHJldmlvdXM6IHJlc29sdmVkQ3VycmVudCA+IFBBR0lOQVRJT05fREVGQVVMVF9DVVJSRU5ULFxuICAgICAgICBjYW5OZXh0OiByZXNvbHZlZEN1cnJlbnQgPCB0b3RhbFBhZ2VzLFxuICAgICAgICBpdGVtcyxcbiAgICAgICAgZ29UbyxcbiAgICAgICAgcHJldmlvdXMsXG4gICAgICAgIG5leHQsXG4gICAgfTtcbn07XG5leHBvcnQgZGVmYXVsdCB1c2VQYWdpbmF0aW9uOyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|