@1money/component-ui 0.0.90-alpha.2 → 0.0.90-alpha.21
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/BaseDialog/BaseDialog.js +23 -20
- package/es/business/Dialog/BaseDialog/interface.d.ts +6 -0
- package/es/business/Dialog/BaseDialog/style/BaseDialog.css +11 -1
- package/es/business/Dialog/Descriptions/Descriptions.js +15 -7
- package/es/business/Dialog/Descriptions/interface.d.ts +14 -0
- package/es/business/Dialog/Descriptions/style/Descriptions.css +1 -1
- package/es/business/Dialog/DetailsDialog/DetailsDialog.js +14 -7
- package/es/business/Dialog/DetailsDialog/interface.d.ts +9 -0
- package/es/business/Dialog/DetailsDialog/style/DetailsDialog.css +4 -2
- package/es/business/Dialog/FormDialog/FormDialog.d.ts +1 -1
- package/es/business/Dialog/FormDialog/FormDialog.js +39 -18
- package/es/business/Dialog/FormDialog/interface.d.ts +12 -1
- package/es/business/Dialog/FormDialog/style/FormDialog.css +5 -0
- package/es/business/Dialog/VerificationDialog/VerificationDialog.js +66 -20
- package/es/business/Dialog/VerificationDialog/interface.d.ts +1 -1
- package/es/business/Dialog/VerificationDialog/style/VerificationDialog.css +1 -3
- package/es/business/Dialog/index.d.ts +1 -0
- package/es/business/Dialog/index.js +1 -1
- package/es/business/Dialog/variants/LoadingDialog.js +94 -67
- package/es/business/Dialog/variants/index.d.ts +1 -1
- package/es/business/FieldList/index.js +8 -1
- package/es/business/FormPage/FormPage.d.ts +1 -1
- package/es/business/FormPage/FormPage.js +12 -7
- package/es/business/FormPage/interface.d.ts +11 -0
- package/es/business/Select/Asset/AssetSelect.js +5 -1
- package/es/business/Select/Country/CountrySelect.js +5 -1
- package/es/business/Select/Currency/CurrencySelect.js +5 -1
- package/es/business/Select/Network/NetworkSelect.js +5 -1
- package/es/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/es/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
- package/es/business/shared/formCore/useRelayedFormRef.js +43 -0
- package/es/components/ActionBar/ActionBar.js +6 -5
- package/es/components/ActionBar/interface.d.ts +9 -0
- package/es/components/Dialog/Dialog.js +4 -3
- package/es/components/Dialog/interface.d.ts +3 -0
- package/es/components/Dialog/style/Dialog.css +3 -0
- package/es/components/Input/Input/Input.css +1 -1
- package/es/components/Input/Input/Input.js +9 -2
- package/es/components/Input/Mask/Mask.js +3 -2
- package/es/components/Input/interface.d.ts +5 -0
- package/es/components/ProForm/ProForm.js +24 -13
- package/es/components/ProForm/core/constants.d.ts +1 -1
- package/es/components/ProForm/core/constants.js +5 -2
- package/es/index.css +1 -1
- package/lib/business/Dialog/BaseDialog/BaseDialog.js +23 -20
- package/lib/business/Dialog/BaseDialog/interface.d.ts +6 -0
- package/lib/business/Dialog/BaseDialog/style/BaseDialog.css +11 -1
- package/lib/business/Dialog/Descriptions/Descriptions.js +15 -7
- package/lib/business/Dialog/Descriptions/interface.d.ts +14 -0
- package/lib/business/Dialog/Descriptions/style/Descriptions.css +1 -1
- package/lib/business/Dialog/DetailsDialog/DetailsDialog.js +14 -7
- package/lib/business/Dialog/DetailsDialog/interface.d.ts +9 -0
- package/lib/business/Dialog/DetailsDialog/style/DetailsDialog.css +4 -2
- package/lib/business/Dialog/FormDialog/FormDialog.d.ts +1 -1
- package/lib/business/Dialog/FormDialog/FormDialog.js +39 -18
- package/lib/business/Dialog/FormDialog/interface.d.ts +12 -1
- package/lib/business/Dialog/FormDialog/style/FormDialog.css +5 -0
- package/lib/business/Dialog/VerificationDialog/VerificationDialog.js +66 -20
- package/lib/business/Dialog/VerificationDialog/interface.d.ts +1 -1
- package/lib/business/Dialog/VerificationDialog/style/VerificationDialog.css +1 -3
- package/lib/business/Dialog/index.d.ts +1 -0
- package/lib/business/Dialog/index.js +1 -1
- package/lib/business/Dialog/variants/LoadingDialog.js +93 -66
- package/lib/business/Dialog/variants/index.d.ts +1 -1
- package/lib/business/FieldList/index.js +8 -1
- package/lib/business/FormPage/FormPage.d.ts +1 -1
- package/lib/business/FormPage/FormPage.js +12 -7
- package/lib/business/FormPage/interface.d.ts +11 -0
- package/lib/business/Select/Asset/AssetSelect.js +5 -1
- package/lib/business/Select/Country/CountrySelect.js +5 -1
- package/lib/business/Select/Currency/CurrencySelect.js +5 -1
- package/lib/business/Select/Network/NetworkSelect.js +5 -1
- package/lib/business/Select/PaymentMethod/PaymentMethodSelect.js +5 -1
- package/lib/business/shared/formCore/useRelayedFormRef.d.ts +16 -0
- package/lib/business/shared/formCore/useRelayedFormRef.js +49 -0
- package/lib/components/ActionBar/ActionBar.js +6 -5
- package/lib/components/ActionBar/interface.d.ts +9 -0
- package/lib/components/Dialog/Dialog.js +4 -3
- package/lib/components/Dialog/interface.d.ts +3 -0
- package/lib/components/Dialog/style/Dialog.css +3 -0
- package/lib/components/Input/Input/Input.css +1 -1
- package/lib/components/Input/Input/Input.js +9 -2
- package/lib/components/Input/Mask/Mask.js +3 -2
- package/lib/components/Input/interface.d.ts +5 -0
- package/lib/components/ProForm/ProForm.js +27 -16
- package/lib/components/ProForm/core/constants.d.ts +1 -1
- package/lib/components/ProForm/core/constants.js +5 -2
- package/lib/index.css +1 -1
- package/package.json +11 -1
- package/scripts/mcp-server/index.generated.json +30 -14
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
color: var(--om-text-neutral-secondary, #9fa3a3);
|
|
66
66
|
font-weight: 400;
|
|
67
67
|
}
|
|
68
|
-
.om-component-ui-input-prefix, .om-component-ui-input-suffix {
|
|
68
|
+
.om-component-ui-input-prefix, .om-component-ui-input-suffix, .om-component-ui-input-count {
|
|
69
69
|
display: inline-flex;
|
|
70
70
|
flex-shrink: 0;
|
|
71
71
|
gap: var(--om-spacing-200, 8px);
|
|
@@ -64,6 +64,9 @@ var InputBase = function InputBase(props) {
|
|
|
64
64
|
allowClear = _inputProps$allowClea === void 0 ? false : _inputProps$allowClea,
|
|
65
65
|
prefix = inputProps.prefix,
|
|
66
66
|
suffix = inputProps.suffix,
|
|
67
|
+
_inputProps$showCount = inputProps.showCount,
|
|
68
|
+
showCount = _inputProps$showCount === void 0 ? false : _inputProps$showCount,
|
|
69
|
+
maxLength = inputProps.maxLength,
|
|
67
70
|
value = inputProps.value,
|
|
68
71
|
_inputProps$defaultVa = inputProps.defaultValue,
|
|
69
72
|
defaultValue = _inputProps$defaultVa === void 0 ? '' : _inputProps$defaultVa,
|
|
@@ -73,7 +76,7 @@ var InputBase = function InputBase(props) {
|
|
|
73
76
|
externalId = inputProps.id,
|
|
74
77
|
_inputProps$readOnly = inputProps.readOnly,
|
|
75
78
|
readOnly = _inputProps$readOnly === void 0 ? false : _inputProps$readOnly,
|
|
76
|
-
rest = __rest(inputProps, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "label", "info", "feedback", "feedbackIcon", "tip", "required", "allowClear", "prefix", "suffix", "value", "defaultValue", "onChange", "onClear", "ref", "id", "readOnly"]);
|
|
79
|
+
rest = __rest(inputProps, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "label", "info", "feedback", "feedbackIcon", "tip", "required", "allowClear", "prefix", "suffix", "showCount", "maxLength", "value", "defaultValue", "onChange", "onClear", "ref", "id", "readOnly"]);
|
|
77
80
|
// Bare-control size default: an explicit `size` wins; inside a FormLayout
|
|
78
81
|
// the variant's controlSize applies; elsewhere 'large'.
|
|
79
82
|
var contextSize = useFormControlSize();
|
|
@@ -133,6 +136,7 @@ var InputBase = function InputBase(props) {
|
|
|
133
136
|
className: classes('prefix'),
|
|
134
137
|
children: prefix
|
|
135
138
|
}), _jsx("input", Object.assign({}, rest, {
|
|
139
|
+
maxLength: maxLength,
|
|
136
140
|
ref: syncRef,
|
|
137
141
|
id: inputId,
|
|
138
142
|
className: classes('field'),
|
|
@@ -156,6 +160,9 @@ var InputBase = function InputBase(props) {
|
|
|
156
160
|
width: 16,
|
|
157
161
|
height: 16
|
|
158
162
|
}
|
|
163
|
+
}), showCount && _jsxs("span", {
|
|
164
|
+
className: classes('count'),
|
|
165
|
+
children: [innerValue.length, maxLength != null ? "/".concat(maxLength) : '']
|
|
159
166
|
}), suffix && _jsx("span", {
|
|
160
167
|
className: classes('suffix'),
|
|
161
168
|
children: suffix
|
|
@@ -175,4 +182,4 @@ export var Input = Object.assign(MemoizedInput, {
|
|
|
175
182
|
Mask: InputMask
|
|
176
183
|
});
|
|
177
184
|
export default Input;
|
|
178
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJjb21wb25lbnRzL0lucHV0L3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlSWQiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwiSWNvbnMiLCJTcGlubmVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiRmllbGRTaGVsbCIsInVzZVN5bmNSZWYiLCJJbnB1dEFtb3VudCIsIklucHV0T1RQIiwiSW5wdXRQYXNzd29yZCIsIklucHV0U2VhcmNoIiwiSW5wdXRUZXh0QXJlYSIsIklucHV0VHJhZGUiLCJJbnB1dE1hc2siLCJJbnB1dEJhc2UiLCJwcm9wcyIsIl9hIiwibWFzayIsInNsb3RDaGFyIiwidW5tYXNrIiwiYXV0b0NsZWFyIiwib25Db21wbGV0ZSIsImlucHV0UHJvcHMiLCJhc3NpZ24iLCJfaW5wdXRQcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJsYWJlbENsYXNzTmFtZSIsIl9pbnB1dFByb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInNpemVQcm9wIiwic2l6ZSIsIl9pbnB1dFByb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9pbnB1dFByb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfaW5wdXRQcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsImxhYmVsIiwiaW5mbyIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwidGlwIiwicmVxdWlyZWQiLCJfaW5wdXRQcm9wcyRhbGxvd0NsZWEiLCJhbGxvd0NsZWFyIiwicHJlZml4Iiwic3VmZml4IiwidmFsdWUiLCJfaW5wdXRQcm9wcyRkZWZhdWx0VmEiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsIm9uQ2xlYXIiLCJyZWYiLCJleHRlcm5hbElkIiwiaWQiLCJfaW5wdXRQcm9wcyRyZWFkT25seSIsInJlYWRPbmx5IiwicmVzdCIsImNvbnRleHRTaXplIiwiYXV0b0lkIiwiaW5wdXRJZCIsImNsYXNzZXMiLCJfdXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5IiwiaW5wdXRSZWYiLCJzeW5jUmVmIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJhcmlhUmVxdWlyZWQiLCJhcmlhSW52YWxpZCIsImhhbmRsZUNoYW5nZSIsImV2ZW50IiwibmV4dFZhbHVlIiwidGFyZ2V0IiwiaGFuZGxlQ29udHJvbENsaWNrIiwiaXNEaXNhYmxlZCIsIkhUTUxJbnB1dEVsZW1lbnQiLCJjdXJyZW50IiwiZm9jdXMiLCJoYW5kbGVDbGVhciIsInNob3dDbGVhckFjdGlvbiIsIm9uQ29udHJvbFdyYXBwZXJDbGljayIsImNoaWxkcmVuIiwidHlwZSIsIm9uQ2xpY2siLCJuYW1lIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsIk1lbW9pemVkSW5wdXQiLCJkaXNwbGF5TmFtZSIsIklucHV0IiwiUGFzc3dvcmQiLCJTZWFyY2giLCJUZXh0QXJlYSIsIk9UUCIsIlRyYWRlIiwiQW1vdW50IiwiTWFzayJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUks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VUFBRUMsS0FBSyxFQUFFLEVBQUU7VUFBRUMsTUFBTSxFQUFFO1FBQUU7TUFBRSxDQUFBLENBQUksRUFDeEQ3QyxNQUFNLElBQUl0RCxJQUFBLENBQUEsTUFBQSxFQUFBO1FBQU1pQyxTQUFTLEVBQUVvQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQUF3QixRQUFBLEVBQUd2QztNQUFNLENBQUEsQ0FBUTtJQUFBLENBQUE7RUFDMUQsQ0FBQSxDQUNLO0FBRWpCLENBQUM7QUFFRCxJQUFNOEMsYUFBYSxnQkFBR2pHLElBQUksQ0FBQ21CLFNBQVMsQ0FBQztBQUNyQzhFLGFBQWEsQ0FBQ0MsV0FBVyxHQUFHLE9BQU87QUFFbkMsT0FBTyxJQUFNQyxLQUFLLEdBQUdoSCxNQUFNLENBQUN5QyxNQUFNLENBQUNxRSxhQUFhLEVBQUU7RUFDaERHLFFBQVEsRUFBRXRGLGFBQWE7RUFDdkJ1RixNQUFNLEVBQUV0RixXQUFXO0VBQ25CdUYsUUFBUSxFQUFFdEYsYUFBYTtFQUN2QnVGLEdBQUcsRUFBRTFGLFFBQVE7RUFDYjJGLEtBQUssRUFBRXZGLFVBQVU7RUFDakJ3RixNQUFNLEVBQUU3RixXQUFXO0VBQ25COEYsSUFBSSxFQUFFeEY7QURyRlIsQ0NzRkMsQ0FBbUI7QUFFcEIsZUFBZWlGLEtBQUsiLCJmaWxlIjoiY29tcG9uZW50cy9JbnB1dC9JbnB1dC9JbnB1dC5qcyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBtZW1vLCB1c2VJZCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUZvcm1Db250cm9sU2l6ZSB9IGZyb20gJy4uLy4uL0Zvcm1MYXlvdXQvY29udGV4dCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uL0ljb25zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9TcGlubmVyJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgRmllbGRTaGVsbCB9IGZyb20gJy4uL0ZpZWxkU2hlbGwnO1xuaW1wb3J0IHsgdXNlU3luY1JlZiB9IGZyb20gJy4uL3VzZVN5bmNSZWYnO1xuaW1wb3J0IElucHV0QW1vdW50IGZyb20gJy4uL0Ftb3VudCc7XG5pbXBvcnQgSW5wdXRPVFAgZnJvbSAnLi4vT1RQJztcbmltcG9ydCBJbnB1dFBhc3N3b3JkIGZyb20gJy4uL1Bhc3N3b3JkJztcbmltcG9ydCBJbnB1dFNlYXJjaCBmcm9tICcuLi9TZWFyY2gnO1xuaW1wb3J0IElucHV0VGV4dEFyZWEgZnJvbSAnLi4vVGV4dEFyZWEnO1xuaW1wb3J0IElucHV0VHJhZGUgZnJvbSAnLi4vVHJhZGUnO1xuaW1wb3J0IElucHV0TWFzayBmcm9tICcuLi9NYXNrJztcbmNvbnN0IElucHV0QmFzZSA9IChwcm9wcykgPT4ge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCB7IG1hc2ssIHNsb3RDaGFyLCB1bm1hc2ssIGF1dG9DbGVhciwgb25Db21wbGV0ZSB9ID0gcHJvcHMsIGlucHV0UHJvcHMgPSBfX3Jlc3QocHJvcHMsIFtcIm1hc2tcIiwgXCJzbG90Q2hhclwiLCBcInVubWFza1wiLCBcImF1dG9DbGVhclwiLCBcIm9uQ29tcGxldGVcIl0pO1xuICAgIC8vIERlbGVnYXRlIHRvIElucHV0TWFzayB3aGVuIG1hc2sgcGF0dGVybiBpcyBwcm92aWRlZFxuICAgIGlmIChtYXNrKSB7XG4gICAgICAgIHJldHVybiAoX2pzeChJbnB1dE1hc2ssIE9iamVjdC5hc3NpZ24oe30sIGlucHV0UHJvcHMsIHsgbWFzazogbWFzaywgc2xvdENoYXI6IHNsb3RDaGFyLCB1bm1hc2s6IHVubWFzaywgYXV0b0NsZWFyOiBhdXRvQ2xlYXIsIG9uQ29tcGxldGU6IG9uQ29tcGxldGUgfSkpKTtcbiAgICB9XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgbGFiZWxDbGFzc05hbWUsIHByZWZpeENscyA9ICdpbnB1dCcsIHNpemU6IHNpemVQcm9wLCBzdGF0dXMgPSAnZGVmYXVsdCcsIGRpc2FibGVkID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHRpcCwgcmVxdWlyZWQsIGFsbG93Q2xlYXIgPSBmYWxzZSwgcHJlZml4LCBzdWZmaXgsIHZhbHVlLCBkZWZhdWx0VmFsdWUgPSAnJywgb25DaGFuZ2UsIG9uQ2xlYXIsIHJlZiwgaWQ6IGV4dGVybmFsSWQsIHJlYWRPbmx5ID0gZmFsc2UgfSA9IGlucHV0UHJvcHMsIHJlc3QgPSBfX3Jlc3QoaW5wdXRQcm9wcywgW1wiY2xhc3NOYW1lXCIsIFwibGFiZWxDbGFzc05hbWVcIiwgXCJwcmVmaXhDbHNcIiwgXCJzaXplXCIsIFwic3RhdHVzXCIsIFwiZGlzYWJsZWRcIiwgXCJsb2FkaW5nXCIsIFwibGFiZWxcIiwgXCJpbmZvXCIsIFwiZmVlZGJhY2tcIiwgXCJmZWVkYmFja0ljb25cIiwgXCJ0aXBcIiwgXCJyZXF1aXJlZFwiLCBcImFsbG93Q2xlYXJcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25DbGVhclwiLCBcInJlZlwiLCBcImlkXCIsIFwicmVhZE9ubHlcIl0pO1xuICAgIC8vIEJhcmUtY29udHJvbCBzaXplIGRlZmF1bHQ6IGFuIGV4cGxpY2l0IGBzaXplYCB3aW5zOyBpbnNpZGUgYSBGb3JtTGF5b3V0XG4gICAgLy8gdGhlIHZhcmlhbnQncyBjb250cm9sU2l6ZSBhcHBsaWVzOyBlbHNld2hlcmUgJ2xhcmdlJy5cbiAgICBjb25zdCBjb250ZXh0U2l6ZSA9IHVzZUZvcm1Db250cm9sU2l6ZSgpO1xuICAgIGNvbnN0IHNpemUgPSAoX2EgPSBzaXplUHJvcCAhPT0gbnVsbCAmJiBzaXplUHJvcCAhPT0gdm9pZCAwID8gc2l6ZVByb3AgOiBjb250ZXh0U2l6ZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2xhcmdlJztcbiAgICBjb25zdCBhdXRvSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGlucHV0SWQgPSBleHRlcm5hbElkICE9PSBudWxsICYmIGV4dGVybmFsSWQgIT09IHZvaWQgMCA/IGV4dGVybmFsSWQgOiBhdXRvSWQ7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMocHJlZml4Q2xzKTtcbiAgICBjb25zdCBbaW5wdXRSZWYsIHN5bmNSZWZdID0gdXNlU3luY1JlZihyZWYpO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShkZWZhdWx0VmFsdWUsIHZhbHVlKTtcbiAgICBjb25zdCBhcmlhUmVxdWlyZWQgPSByZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgY29uc3QgYXJpYUludmFsaWQgPSBzdGF0dXMgPT09ICdlcnJvcicgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShuZXh0VmFsdWUpO1xuICAgICAgICBvbkNoYW5nZSA9PT0gbnVsbCB8fCBvbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DaGFuZ2UobmV4dFZhbHVlLCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ29udHJvbENsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZSkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChpc0Rpc2FibGVkIHx8IHJlYWRPbmx5KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoKTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVDbGVhciA9IHVzZUV2ZW50Q2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIHNldElubmVyVmFsdWUoJycpO1xuICAgICAgICAoX2EgPSBpbnB1dFJlZi5jdXJyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuZm9jdXMoKTtcbiAgICAgICAgb25DbGVhciA9PT0gbnVsbCB8fCBvbkNsZWFyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNsZWFyKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8IGxvYWRpbmc7XG4gICAgY29uc3Qgc2hvd0NsZWFyQWN0aW9uID0gYWxsb3dDbGVhciAmJiAhaXNEaXNhYmxlZCAmJiAhcmVhZE9ubHkgJiYgaW5uZXJWYWx1ZS5sZW5ndGggPiAwO1xuICAgIHJldHVybiAoX2pzeChGaWVsZFNoZWxsLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIHByZWZpeENsczogcHJlZml4Q2xzLCBzaXplOiBzaXplLCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGxvYWRpbmc6IGxvYWRpbmcsIHJlYWRPbmx5OiByZWFkT25seSwgbGFiZWw6IGxhYmVsLCBpbmZvOiBpbmZvLCB0aXA6IHRpcCwgZmVlZGJhY2s6IGZlZWRiYWNrLCBmZWVkYmFja0ljb246IGZlZWRiYWNrSWNvbiwgcmVxdWlyZWQ6IHJlcXVpcmVkLCBpbnB1dElkOiBpbnB1dElkLCBvbkNvbnRyb2xXcmFwcGVyQ2xpY2s6IGhhbmRsZUNvbnRyb2xDbGljaywgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJywgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2NvbnRyb2wtZGlzYWJsZWQnKSkpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc3luY1JlZiwgaWQ6IGlucHV0SWQsIGNsYXNzTmFtZTogY2xhc3NlcygnZmllbGQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgdmFsdWU6IGlubmVyVmFsdWUsIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIFwiYXJpYS1yZXF1aXJlZFwiOiBhcmlhUmVxdWlyZWQsIFwiYXJpYS1pbnZhbGlkXCI6IGFyaWFJbnZhbGlkIH0pKSwgc2hvd0NsZWFyQWN0aW9uICYmIChfanN4KFwiYnV0dG9uXCIsIHsgdHlwZTogXCJidXR0b25cIiwgY2xhc3NOYW1lOiBjbGFzc2VzKCdhY3Rpb24nKSwgXCJhcmlhLWxhYmVsXCI6IFwiY2xlYXIgaW5wdXRcIiwgb25DbGljazogaGFuZGxlQ2xlYXIsIGNoaWxkcmVuOiBfanN4KEljb25zLCB7IG5hbWU6IFwiY3Jvc3NcIiwgc2l6ZTogMTYgfSkgfSkpLCBsb2FkaW5nICYmIF9qc3goU3Bpbm5lciwgeyBzdHlsZTogeyB3aWR0aDogMTYsIGhlaWdodDogMTYgfSB9KSwgc3VmZml4ICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdzdWZmaXgnKSwgY2hpbGRyZW46IHN1ZmZpeCB9KV0gfSkgfSkpO1xufTtcbmNvbnN0IE1lbW9pemVkSW5wdXQgPSBtZW1vKElucHV0QmFzZSk7XG5NZW1vaXplZElucHV0LmRpc3BsYXlOYW1lID0gJ0lucHV0JztcbmV4cG9ydCBjb25zdCBJbnB1dCA9IE9iamVjdC5hc3NpZ24oTWVtb2l6ZWRJbnB1dCwge1xuICAgIFBhc3N3b3JkOiBJbnB1dFBhc3N3b3JkLFxuICAgIFNlYXJjaDogSW5wdXRTZWFyY2gsXG4gICAgVGV4dEFyZWE6IElucHV0VGV4dEFyZWEsXG4gICAgT1RQOiBJbnB1dE9UUCxcbiAgICBUcmFkZTogSW5wdXRUcmFkZSxcbiAgICBBbW91bnQ6IElucHV0QW1vdW50LFxuICAgIE1hc2s6IElucHV0TWFzayxcbn0pO1xuZXhwb3J0IGRlZmF1bHQgSW5wdXQ7IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
185
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJjb21wb25lbnRzL0lucHV0L3NyYy9jb21wb25lbnRzL0lucHV0L0lucHV0L0lucHV0LnRzeCJdLCJuYW1lcyI6WyJfX3Jlc3QiLCJzIiwiZSIsInQiLCJwIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5kZXhPZiIsImdldE93blByb3BlcnR5U3ltYm9scyIsImkiLCJsZW5ndGgiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJtZW1vIiwidXNlSWQiLCJ1c2VGb3JtQ29udHJvbFNpemUiLCJ1c2VDb250cm9sbGVkU3RhdGUiLCJ1c2VFdmVudENhbGxiYWNrIiwiSWNvbnMiLCJTcGlubmVyIiwiZGVmYXVsdCIsImNsYXNzbmFtZXMiLCJqb2luQ2xzIiwiRmllbGRTaGVsbCIsInVzZVN5bmNSZWYiLCJJbnB1dEFtb3VudCIsIklucHV0T1RQIiwiSW5wdXRQYXNzd29yZCIsIklucHV0U2VhcmNoIiwiSW5wdXRUZXh0QXJlYSIsIklucHV0VHJhZGUiLCJJbnB1dE1hc2siLCJJbnB1dEJhc2UiLCJwcm9wcyIsIl9hIiwibWFzayIsInNsb3RDaGFyIiwidW5tYXNrIiwiYXV0b0NsZWFyIiwib25Db21wbGV0ZSIsImlucHV0UHJvcHMiLCJhc3NpZ24iLCJfaW5wdXRQcm9wcyRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJsYWJlbENsYXNzTmFtZSIsIl9pbnB1dFByb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInNpemVQcm9wIiwic2l6ZSIsIl9pbnB1dFByb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9pbnB1dFByb3BzJGRpc2FibGVkIiwiZGlzYWJsZWQiLCJfaW5wdXRQcm9wcyRsb2FkaW5nIiwibG9hZGluZyIsImxhYmVsIiwiaW5mbyIsImZlZWRiYWNrIiwiZmVlZGJhY2tJY29uIiwidGlwIiwicmVxdWlyZWQiLCJfaW5wdXRQcm9wcyRhbGxvd0NsZWEiLCJhbGxvd0NsZWFyIiwicHJlZml4Iiwic3VmZml4IiwiX2lucHV0UHJvcHMkc2hvd0NvdW50Iiwic2hvd0NvdW50IiwibWF4TGVuZ3RoIiwidmFsdWUiLCJfaW5wdXRQcm9wcyRkZWZhdWx0VmEiLCJkZWZhdWx0VmFsdWUiLCJvbkNoYW5nZSIsIm9uQ2xlYXIiLCJyZWYiLCJleHRlcm5hbElkIiwiaWQiLCJfaW5wdXRQcm9wcyRyZWFkT25seSIsInJlYWRPbmx5IiwicmVzdCIsImNvbnRleHRTaXplIiwiYXV0b0lkIiwiaW5wdXRJZCIsImNsYXNzZXMiLCJfdXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5IiwiaW5wdXRSZWYiLCJzeW5jUmVmIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJhcmlhUmVxdWlyZWQiLCJhcmlhSW52YWxpZCIsImhhbmRsZUNoYW5nZSIsImV2ZW50IiwibmV4dFZhbHVlIiwidGFyZ2V0IiwiaGFuZGxlQ29udHJvbENsaWNrIiwiaXNEaXNhYmxlZCIsIkhUTUxJbnB1dEVsZW1lbnQiLCJjdXJyZW50IiwiZm9jdXMiLCJoYW5kbGVDbGVhciIsInNob3dDbGVhckFjdGlvbiIsIm9uQ29udHJvbFdyYXBwZXJDbGljayIsImNoaWxkcmVuIiwidHlwZSIsIm9uQ2xpY2siLCJuYW1lIiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsImNvbmNhdCIsIk1lbW9pemVkSW5wdXQiLCJkaXNwbGF5TmFtZSIsIklucHV0IiwiUGFzc3dvcmQiLCJTZWFyY2giLCJUZXh0QXJlYSIsIk9UUCIsIlRyYWRlIiwiQW1vdW50IiwiTWFzayJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxH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QUFFakcsV0FBVztFQUNuQmtHLElBQUksRUFBRTVGO0FEN0ZSLENDOEZDLENBQW1CO0FBRXBCLGVBQWVxRixLQUFLIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXQvSW5wdXQvSW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19yZXN0ID0gKHRoaXMgJiYgdGhpcy5fX3Jlc3QpIHx8IGZ1bmN0aW9uIChzLCBlKSB7XG4gICAgdmFyIHQgPSB7fTtcbiAgICBmb3IgKHZhciBwIGluIHMpIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocywgcCkgJiYgZS5pbmRleE9mKHApIDwgMClcbiAgICAgICAgdFtwXSA9IHNbcF07XG4gICAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgICBmb3IgKHZhciBpID0gMCwgcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMocyk7IGkgPCBwLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoZS5pbmRleE9mKHBbaV0pIDwgMCAmJiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwocywgcFtpXSkpXG4gICAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICAgIH1cbiAgICByZXR1cm4gdDtcbn07XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbywgdXNlSWQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VGb3JtQ29udHJvbFNpemUgfSBmcm9tICcuLi8uLi9Gb3JtTGF5b3V0L2NvbnRleHQnO1xuaW1wb3J0IHVzZUNvbnRyb2xsZWRTdGF0ZSBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUNvbnRyb2xsZWRTdGF0ZSc7XG5pbXBvcnQgdXNlRXZlbnRDYWxsYmFjayBmcm9tICdAMW1vbmV5L2hvb2tzL3VzZUV2ZW50Q2FsbGJhY2snO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi8uLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEZpZWxkU2hlbGwgfSBmcm9tICcuLi9GaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVN5bmNSZWYgfSBmcm9tICcuLi91c2VTeW5jUmVmJztcbmltcG9ydCBJbnB1dEFtb3VudCBmcm9tICcuLi9BbW91bnQnO1xuaW1wb3J0IElucHV0T1RQIGZyb20gJy4uL09UUCc7XG5pbXBvcnQgSW5wdXRQYXNzd29yZCBmcm9tICcuLi9QYXNzd29yZCc7XG5pbXBvcnQgSW5wdXRTZWFyY2ggZnJvbSAnLi4vU2VhcmNoJztcbmltcG9ydCBJbnB1dFRleHRBcmVhIGZyb20gJy4uL1RleHRBcmVhJztcbmltcG9ydCBJbnB1dFRyYWRlIGZyb20gJy4uL1RyYWRlJztcbmltcG9ydCBJbnB1dE1hc2sgZnJvbSAnLi4vTWFzayc7XG5jb25zdCBJbnB1dEJhc2UgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBtYXNrLCBzbG90Q2hhciwgdW5tYXNrLCBhdXRvQ2xlYXIsIG9uQ29tcGxldGUgfSA9IHByb3BzLCBpbnB1dFByb3BzID0gX19yZXN0KHByb3BzLCBbXCJtYXNrXCIsIFwic2xvdENoYXJcIiwgXCJ1bm1hc2tcIiwgXCJhdXRvQ2xlYXJcIiwgXCJvbkNvbXBsZXRlXCJdKTtcbiAgICAvLyBEZWxlZ2F0ZSB0byBJbnB1dE1hc2sgd2hlbiBtYXNrIHBhdHRlcm4gaXMgcHJvdmlkZWRcbiAgICBpZiAobWFzaykge1xuICAgICAgICByZXR1cm4gKF9qc3goSW5wdXRNYXNrLCBPYmplY3QuYXNzaWduKHt9LCBpbnB1dFByb3BzLCB7IG1hc2s6IG1hc2ssIHNsb3RDaGFyOiBzbG90Q2hhciwgdW5tYXNrOiB1bm1hc2ssIGF1dG9DbGVhcjogYXV0b0NsZWFyLCBvbkNvbXBsZXRlOiBvbkNvbXBsZXRlIH0pKSk7XG4gICAgfVxuICAgIGNvbnN0IHsgY2xhc3NOYW1lID0gJycsIGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHMgPSAnaW5wdXQnLCBzaXplOiBzaXplUHJvcCwgc3RhdHVzID0gJ2RlZmF1bHQnLCBkaXNhYmxlZCA9IGZhbHNlLCBsb2FkaW5nID0gZmFsc2UsIGxhYmVsLCBpbmZvLCBmZWVkYmFjaywgZmVlZGJhY2tJY29uLCB0aXAsIHJlcXVpcmVkLCBhbGxvd0NsZWFyID0gZmFsc2UsIHByZWZpeCwgc3VmZml4LCBzaG93Q291bnQgPSBmYWxzZSwgbWF4TGVuZ3RoLCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIG9uQ2hhbmdlLCBvbkNsZWFyLCByZWYsIGlkOiBleHRlcm5hbElkLCByZWFkT25seSA9IGZhbHNlIH0gPSBpbnB1dFByb3BzLCByZXN0ID0gX19yZXN0KGlucHV0UHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcImRpc2FibGVkXCIsIFwibG9hZGluZ1wiLCBcImxhYmVsXCIsIFwiaW5mb1wiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwidGlwXCIsIFwicmVxdWlyZWRcIiwgXCJhbGxvd0NsZWFyXCIsIFwicHJlZml4XCIsIFwic3VmZml4XCIsIFwic2hvd0NvdW50XCIsIFwibWF4TGVuZ3RoXCIsIFwidmFsdWVcIiwgXCJkZWZhdWx0VmFsdWVcIiwgXCJvbkNoYW5nZVwiLCBcIm9uQ2xlYXJcIiwgXCJyZWZcIiwgXCJpZFwiLCBcInJlYWRPbmx5XCJdKTtcbiAgICAvLyBCYXJlLWNvbnRyb2wgc2l6ZSBkZWZhdWx0OiBhbiBleHBsaWNpdCBgc2l6ZWAgd2luczsgaW5zaWRlIGEgRm9ybUxheW91dFxuICAgIC8vIHRoZSB2YXJpYW50J3MgY29udHJvbFNpemUgYXBwbGllczsgZWxzZXdoZXJlICdsYXJnZScuXG4gICAgY29uc3QgY29udGV4dFNpemUgPSB1c2VGb3JtQ29udHJvbFNpemUoKTtcbiAgICBjb25zdCBzaXplID0gKF9hID0gc2l6ZVByb3AgIT09IG51bGwgJiYgc2l6ZVByb3AgIT09IHZvaWQgMCA/IHNpemVQcm9wIDogY29udGV4dFNpemUpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6ICdsYXJnZSc7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBpbnB1dElkID0gZXh0ZXJuYWxJZCAhPT0gbnVsbCAmJiBleHRlcm5hbElkICE9PSB2b2lkIDAgPyBleHRlcm5hbElkIDogYXV0b0lkO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lucHV0UmVmLCBzeW5jUmVmXSA9IHVzZVN5bmNSZWYocmVmKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlLCB2YWx1ZSk7XG4gICAgY29uc3QgYXJpYVJlcXVpcmVkID0gcmVxdWlyZWQgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGFyaWFJbnZhbGlkID0gc3RhdHVzID09PSAnZXJyb3InID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUNvbnRyb2xDbGljayA9IHVzZUV2ZW50Q2FsbGJhY2soKGUpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaXNEaXNhYmxlZCB8fCByZWFkT25seSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2xlYXIgPSB1c2VFdmVudENhbGxiYWNrKCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgKF9hID0gaW5wdXRSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKCk7XG4gICAgICAgIG9uQ2xlYXIgPT09IG51bGwgfHwgb25DbGVhciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25DbGVhcigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBkaXNhYmxlZCB8fCBsb2FkaW5nO1xuICAgIGNvbnN0IHNob3dDbGVhckFjdGlvbiA9IGFsbG93Q2xlYXIgJiYgIWlzRGlzYWJsZWQgJiYgIXJlYWRPbmx5ICYmIGlubmVyVmFsdWUubGVuZ3RoID4gMDtcbiAgICByZXR1cm4gKF9qc3goRmllbGRTaGVsbCwgeyBjbGFzc05hbWU6IGNsYXNzTmFtZSwgbGFiZWxDbGFzc05hbWU6IGxhYmVsQ2xhc3NOYW1lLCBwcmVmaXhDbHM6IHByZWZpeENscywgc2l6ZTogc2l6ZSwgc3RhdHVzOiBzdGF0dXMsIGRpc2FibGVkOiBpc0Rpc2FibGVkLCBsb2FkaW5nOiBsb2FkaW5nLCByZWFkT25seTogcmVhZE9ubHksIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgdGlwOiB0aXAsIGZlZWRiYWNrOiBmZWVkYmFjaywgZmVlZGJhY2tJY29uOiBmZWVkYmFja0ljb24sIHJlcXVpcmVkOiByZXF1aXJlZCwgaW5wdXRJZDogaW5wdXRJZCwgb25Db250cm9sV3JhcHBlckNsaWNrOiBoYW5kbGVDb250cm9sQ2xpY2ssIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcsIGpvaW5DbHMoaXNEaXNhYmxlZCAmJiBjbGFzc2VzKCdjb250cm9sLWRpc2FibGVkJykpKSwgY2hpbGRyZW46IFtwcmVmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3ByZWZpeCcpLCBjaGlsZHJlbjogcHJlZml4IH0pLCBfanN4KFwiaW5wdXRcIiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzdCwgeyBtYXhMZW5ndGg6IG1heExlbmd0aCwgcmVmOiBzeW5jUmVmLCBpZDogaW5wdXRJZCwgY2xhc3NOYW1lOiBjbGFzc2VzKCdmaWVsZCcpLCBkaXNhYmxlZDogaXNEaXNhYmxlZCwgcmVhZE9ubHk6IHJlYWRPbmx5LCB2YWx1ZTogaW5uZXJWYWx1ZSwgb25DaGFuZ2U6IGhhbmRsZUNoYW5nZSwgXCJhcmlhLXJlcXVpcmVkXCI6IGFyaWFSZXF1aXJlZCwgXCJhcmlhLWludmFsaWRcIjogYXJpYUludmFsaWQgfSkpLCBzaG93Q2xlYXJBY3Rpb24gJiYgKF9qc3goXCJidXR0b25cIiwgeyB0eXBlOiBcImJ1dHRvblwiLCBjbGFzc05hbWU6IGNsYXNzZXMoJ2FjdGlvbicpLCBcImFyaWEtbGFiZWxcIjogXCJjbGVhciBpbnB1dFwiLCBvbkNsaWNrOiBoYW5kbGVDbGVhciwgY2hpbGRyZW46IF9qc3goSWNvbnMsIHsgbmFtZTogXCJjcm9zc1wiLCBzaXplOiAxNiB9KSB9KSksIGxvYWRpbmcgJiYgX2pzeChTcGlubmVyLCB7IHN0eWxlOiB7IHdpZHRoOiAxNiwgaGVpZ2h0OiAxNiB9IH0pLCBzaG93Q291bnQgJiYgKF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY291bnQnKSwgY2hpbGRyZW46IFtpbm5lclZhbHVlLmxlbmd0aCwgbWF4TGVuZ3RoICE9IG51bGwgPyBgLyR7bWF4TGVuZ3RofWAgOiAnJ10gfSkpLCBzdWZmaXggJiYgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ3N1ZmZpeCcpLCBjaGlsZHJlbjogc3VmZml4IH0pXSB9KSB9KSk7XG59O1xuY29uc3QgTWVtb2l6ZWRJbnB1dCA9IG1lbW8oSW5wdXRCYXNlKTtcbk1lbW9pemVkSW5wdXQuZGlzcGxheU5hbWUgPSAnSW5wdXQnO1xuZXhwb3J0IGNvbnN0IElucHV0ID0gT2JqZWN0LmFzc2lnbihNZW1vaXplZElucHV0LCB7XG4gICAgUGFzc3dvcmQ6IElucHV0UGFzc3dvcmQsXG4gICAgU2VhcmNoOiBJbnB1dFNlYXJjaCxcbiAgICBUZXh0QXJlYTogSW5wdXRUZXh0QXJlYSxcbiAgICBPVFA6IElucHV0T1RQLFxuICAgIFRyYWRlOiBJbnB1dFRyYWRlLFxuICAgIEFtb3VudDogSW5wdXRBbW91bnQsXG4gICAgTWFzazogSW5wdXRNYXNrLFxufSk7XG5leHBvcnQgZGVmYXVsdCBJbnB1dDsiLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -113,6 +113,7 @@ export var InputMask = function InputMask(props) {
|
|
|
113
113
|
required = props.required,
|
|
114
114
|
prefix = props.prefix,
|
|
115
115
|
suffix = props.suffix,
|
|
116
|
+
_showCount = props.showCount,
|
|
116
117
|
value = props.value,
|
|
117
118
|
_props$defaultValue = props.defaultValue,
|
|
118
119
|
defaultValue = _props$defaultValue === void 0 ? '' : _props$defaultValue,
|
|
@@ -123,7 +124,7 @@ export var InputMask = function InputMask(props) {
|
|
|
123
124
|
onKeyDown = props.onKeyDown,
|
|
124
125
|
ref = props.ref,
|
|
125
126
|
externalId = props.id,
|
|
126
|
-
rest = __rest(props, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "mask", "slotChar", "unmask", "autoClear", "label", "info", "feedback", "feedbackIcon", "tip", "required", "prefix", "suffix", "value", "defaultValue", "onChange", "onComplete", "onFocus", "onBlur", "onKeyDown", "ref", "id"]);
|
|
127
|
+
rest = __rest(props, ["className", "labelClassName", "prefixCls", "size", "status", "disabled", "loading", "mask", "slotChar", "unmask", "autoClear", "label", "info", "feedback", "feedbackIcon", "tip", "required", "prefix", "suffix", "showCount", "value", "defaultValue", "onChange", "onComplete", "onFocus", "onBlur", "onKeyDown", "ref", "id"]);
|
|
127
128
|
var autoId = useId();
|
|
128
129
|
var inputId = externalId !== null && externalId !== void 0 ? externalId : autoId;
|
|
129
130
|
var classes = classnames(prefixCls);
|
|
@@ -344,4 +345,4 @@ InputMask.displayName = 'InputMask';
|
|
|
344
345
|
var MemoizedInputMask = /*#__PURE__*/memo(InputMask);
|
|
345
346
|
MemoizedInputMask.displayName = 'InputMask';
|
|
346
347
|
export default MemoizedInputMask;
|
|
347
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwiY29tcG9uZW50cy9JbnB1dC9zcmMvY29tcG9uZW50cy9JbnB1dC9NYXNrL01hc2sudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VJZCIsInVzZVJlZiIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJGaWVsZFNoZWxsIiwidXNlU3luY1JlZiIsIk1BU0tfVE9LRU4iLCJpc01hc2tUb2tlbiIsImNoYXIiLCJhcHBseU1hc2siLCJyYXciLCJtYXNrIiwic2xvdENoYXIiLCJyZXN1bHQiLCJyYXdJbmRleCIsIm1hc2tDaGFyIiwicmUiLCJ0ZXN0IiwiZXh0cmFjdFJhdyIsImZvcm1hdHRlZCIsImNvdW50VG9rZW5TbG90cyIsImNvdW50IiwiZmluZE5leHRTbG90IiwiZnJvbUluZGV4IiwiZmluZEZpcnN0U2xvdCIsImlkeCIsIklucHV0TWFzayIsInByb3BzIiwiX2EiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwiX3Byb3BzJHNsb3RDaGFyIiwiX3Byb3BzJHVubWFzayIsInVubWFzayIsIl9wcm9wcyRhdXRvQ2xlYXIiLCJhdXRvQ2xlYXIiLCJsYWJlbCIsImluZm8iLCJmZWVkYmFjayIsImZlZWRiYWNrSWNvbiIsInRpcCIsInJlcXVpcmVkIiwicHJlZml4Iiwic3VmZml4IiwidmFsdWUiLCJfcHJvcHMkZGVmYXVsdFZhbHVlIiwiZGVmYXVsdFZhbHVlIiwib25DaGFuZ2UiLCJvbkNvbXBsZXRlIiwib25Gb2N1cyIsIm9uQmx1ciIsIm9uS2V5RG93biIsInJlZiIsImV4dGVybmFsSWQiLCJpZCIsInJlc3QiLCJhdXRvSWQiLCJpbnB1dElkIiwiY2xhc3NlcyIsIl91c2VTeW5jUmVmIiwiX3VzZVN5bmNSZWYyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbnB1dFJlZiIsInN5bmNSZWYiLCJpc0NvbXBvc2luZyIsInRvdGFsU2xvdHMiLCJmb3JtYXRWYWx1ZSIsInZhbCIsImluaXRpYWxGb3JtYXR0ZWQiLCJjb250cm9sbGVkRm9ybWF0dGVkIiwidW5kZWZpbmVkIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJpc0Rpc2FibGVkIiwiYXJpYVJlcXVpcmVkIiwiYXJpYUludmFsaWQiLCJlbWl0Q2hhbmdlIiwiZXZlbnQiLCJoYW5kbGVDaGFuZ2UiLCJjdXJyZW50IiwiaW5wdXQiLCJ0YXJnZXQiLCJjdXJzb3JQb3MiLCJzZWxlY3Rpb25TdGFydCIsImlucHV0VmFsdWUiLCJzbGljZSIsInJlcGxhY2UiLCJjbGVhblJhdyIsImNoIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwibmV4dFBvcyIsInNldFNlbGVjdGlvblJhbmdlIiwiaGFuZGxlS2V5RG93biIsIl9iIiwiX2MiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInBvcyIsInNlbEVuZCIsInNlbGVjdGlvbkVuZCIsImN1cnJlbnRSYXciLCJuZXdSYXciLCJyYXdJZHgiLCJ0YXJnZXRQb3MiLCJoYW5kbGVGb2N1cyIsImhhbmRsZUJsdXIiLCJlbXB0eSIsImNoaWxkcmVuIiwiYXNzaWduIiwicGxhY2Vob2xkZXIiLCJvbkNvbXBvc2l0aW9uU3RhcnQiLCJvbkNvbXBvc2l0aW9uRW5kIiwiZGlzcGxheU5hbWUiLCJNZW1vaXplZElucHV0TWFzayJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUlBLE1BQU0sR0FBSSxJQUFJLElBQUksSUFBSSxDQUFDQSxNQUFNLElBQUssVUFBVUMsQ0FBQyxFQUFFQyxDQUFDLEVBQUU7RUFDbEQsSUFBSUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztFQUNWLEtBQUssSUFBSUMsQ0FBQyxJQUFJSCxDQUFDLEVBQUUsSUFBSUksTUFBTSxDQUFDQyxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDUCxDQUFDLEVBQUVHLENBQUMsQ0FBQyxJQUFJRixDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUMvRUQsQ0FBQyxDQUFDQyxDQUFDLENBQUMsR0FBR0gsQ0FBQyxDQUFDRyxDQUFDLENBQUM7RUFDZixJQUFJSCxDQUFDLElBQUksSUFBSSxJQUFJLE9BQU9JLE1BQU0sQ0FBQ0sscUJBQXFCLEtBQUssVUFBVSxFQUMvRCxLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVQLENBQUMsR0FBR0MsTUFBTSxDQUFDSyxxQkFBcUIsQ0FBQ1QsQ0FBQyxDQUFDLEVBQUVVLENBQUMsR0FBR1AsQ0FBQyxDQUFDUSxNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BFLElBQUlULENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJTixNQUFNLENBQUNDLFNBQVMsQ0FBQ08sb0JBQW9CLENBQUNMLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEVBQzFFUixDQUFDLENBQUNDLENBQUMsQ0FBQ08sQ0FBQyxDQUFDLENBQUMsR0FBR1YsQ0FBQyxDQUFDRyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDO0VBQ3pCO0VBQ0osT0FBT1IsQ0FBQztBQUNaLENBQUM7QUFDRCxTQUFTVyxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDWDlELFNBQVNDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMzQyxPQUFPQyxrQkFBa0IsTUFBTSxrQ0FBa0M7QUFDakUsT0FBT0MsZ0JBQWdCLE1BQU0sZ0NBQWdDO0FBQzdELFNBQVNDLE9BQU8sSUFBSUMsVUFBVSxFQUFFQyxPQUFPLFFBQVEsMkJBQTJCO0FBQzFFLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBQzFDLFNBQVNDLFVBQVUsUUFBUSxlQUFlO0FBSTFDO0FBQ0EsSUFBTUMsVUFBVSxHQUEyQjtFQUN6QyxHQUFHLEVBQUUsSUFBSTtFQUNULEdBQUcsRUFBRSxVQUFVO0VBQ2YsR0FBRyxFQUFFO0FEVVAsQ0NUQztBQUVELElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxLQUFZO0VBQUEsT0FBY0EsS0FBSSxJQUFJRixVQUFVO0FBQUE7QUFFakU7QUFDQSxJQUFNRyxTQUFTLEdBQUcsU0FBWkEsU0FBU0EsQ0FBSUMsR0FBVyxFQUFFQyxJQUFZLEVBQUVDLFFBQWdCLEVBQVk7RUFDeEUsSUFBSUMsTUFBTSxHQUFHLEVBQUU7RUFDZixJQUFJQyxRQUFRLEdBQUcsQ0FBQztFQUVoQixLQUFLLElBQUl6QixDQUFDLEdBQUcsQ0FBQyxFQUFFQSxDQUFDLEdBQUdzQixJQUFJLENBQUNyQixNQUFNLEVBQUVELENBQUMsRUFBRSxFQUFFO0lBQ3BDLElBQU0wQixRQUFRLEdBQUdKLElBQUksQ0FBQ3RCLENBQUMsQ0FBQztJQUV4QixJQUFJa0IsV0FBVyxDQUFDUSxRQUFRLENBQUMsRUFBRTtNQUN6QixJQUFJRCxRQUFRLEdBQUdKLEdBQUcsQ0FBQ3BCLE1BQU0sRUFBRTtRQUN6QixJQUFNMEIsRUFBRSxHQUFHVixVQUFVLENBQUNTLFFBQVEsQ0FBQztRQUMvQjtRQUNBLE9BQU9ELFFBQVEsR0FBR0osR0FBRyxDQUFDcEIsTUFBTSxJQUFJLENBQUMwQixFQUFFLENBQUNDLElBQUksQ0FBQ1AsR0FBRyxDQUFDSSxRQUFRLENBQUMsQ0FBQyxFQUFFO1VBQ3ZEQSxRQUFRLEVBQUU7UUFDWjtRQUNBLElBQUlBLFFBQVEsR0FBR0osR0FBRyxDQUFDcEIsTUFBTSxFQUFFO1VBQ3pCdUIsTUFBTSxJQUFJSCxHQUFHLENBQUNJLFFBQVEsQ0FBQztVQUN2QkEsUUFBUSxFQUFFO1FBQ1osQ0FBQyxNQUFNO1VBQ0xELE1BQU0sSUFBSUQsUUFBUTtRQUNwQjtNQUNGLENBQUMsTUFBTTtRQUNMQyxNQUFNLElBQUlELFFBQVE7TUFDcEI7SUFDRixDQUFDLE1BQU07TUFDTEMsTUFBTSxJQUFJRSxRQUFRO0lBQ3BCO0VBQ0Y7RUFFQSxPQUFPRixNQUFNO0FBQ2YsQ0FBQztBQUVEO0FBQ0EsSUFBTUssVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLFNBQWlCLEVBQUVSLElBQVksRUFBRUMsUUFBZ0IsRUFBWTtFQUMvRSxJQUFJRixHQUFHLEdBQUcsRUFBRTtFQUNaLEtBQUssSUFBSXJCLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3NCLElBQUksQ0FBQ3JCLE1BQU0sSUFBSUQsQ0FBQyxHQUFHOEIsU0FBUyxDQUFDN0IsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUM1RCxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxJQUFJOEIsU0FBUyxDQUFDOUIsQ0FBQyxDQUFDLEtBQUt1QixRQUFRLEVBQUU7TUFDckRGLEdBQUcsSUFBSVMsU0FBUyxDQUFDOUIsQ0FBQyxDQUFDO0lBQ3JCO0VBQ0Y7RUFDQSxPQUFPcUIsR0FBRztBQUNaLENBQUM7QUFFRDtBQUNBLElBQU1VLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSVQsSUFBWSxFQUFZO0VBQy9DLElBQUlVLEtBQUssR0FBRyxDQUFDO0VBQ2IsS0FBSyxJQUFJaEMsQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHc0IsSUFBSSxDQUFDckIsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwQyxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxFQUFFZ0MsS0FBSyxFQUFFO0VBQ25DO0VBQ0EsT0FBT0EsS0FBSztBQUNkLENBQUM7QUFFRDtBQUNBLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFJWCxJQUFZLEVBQUVRLFNBQWlCLEVBQUVQLFFBQWdCLEVBQUVXLFNBQWlCLEVBQVk7RUFDcEcsS0FBSyxJQUFJbEMsQ0FBQyxHQUFHa0MsU0FBUyxFQUFFbEMsQ0FBQyxHQUFHc0IsSUFBSSxDQUFDckIsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUM1QyxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxLQUFLQSxDQUFDLElBQUk4QixTQUFTLENBQUM3QixNQUFNLElBQUk2QixTQUFTLENBQUM5QixDQUFDLENBQUMsS0FBS3VCLFFBQVEsQ0FBQyxFQUFFO01BQ2hGLE9BQU92QixDQUFDO0lBQ1Y7RUFDRjtFQUNBLE9BQU9rQyxTQUFTO0FBQ2xCLENBQUM7QUFFRDtBQUNBLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSUwsU0FBaUIsRUFBRVAsUUFBZ0IsRUFBWTtFQUNwRSxJQUFNYSxHQUFHLEdBQUdOLFNBQVMsQ0FBQ2hDLE9BQU8sQ0FBQ3lCLFFBQVEsQ0FBQztFQUN2QyxPQUFPYSxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUdOLFNBQVMsQ0FBQzdCLE1BQU0sR0FBR21DLEdBQUc7QUFDNUMsQ0FBQztBQUVELE9BQU8sSUFBTUMsU0FBUyxHQUF1QixTQUFoQ0EsU0FBU0EsQ0FBd0JDLEtBQUssRUFBSTtFREluRCxJQUFJQyxFQUFFO0VDSFIsSUFBQUMsZ0JBQUEsR0E4QklGLEtBQUssQ0E3QlBHLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEVBQUUsR0FBQUEsZ0JBQUE7SUFDZEUsY0FBYyxHQTRCWkosS0FBSyxDQTVCUEksY0FBYztJQUFBQyxnQkFBQSxHQTRCWkwsS0FBSyxDQTNCUE0sU0FBUztJQUFUQSxTQUFTLEdBQUFELGdCQUFBLGNBQUcsT0FBTyxHQUFBQSxnQkFBQTtJQUFBRSxXQUFBLEdBMkJqQlAsS0FBSyxDQTFCUFEsSUFBSTtJQUFKQSxJQUFJLEdBQUFELFdBQUEsY0FBRyxPQUFPLEdBQUFBLFdBQUE7SUFBQUUsYUFBQSxHQTBCWlQsS0FBSyxDQXpCUFUsTUFBTTtJQUFOQSxNQUFNLEdBQUFELGFBQUEsY0FBRyxTQUFTLEdBQUFBLGFBQUE7SUFBQUUsZUFBQSxHQXlCaEJYLEtBQUssQ0F4QlBZLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxlQUFBLGNBQUcsS0FBSyxHQUFBQSxlQUFBO0lBQUFFLGNBQUEsR0F3QmRiLEtBQUssQ0F2QlBjLE9BQU87SUFBUEEsT0FBTyxHQUFBRCxjQUFBLGNBQUcsS0FBSyxHQUFBQSxjQUFBO0lBQ2Y3QixJQUFJLEdBc0JGZ0IsS0FBSyxDQXRCUGhCLElBQUk7SUFBQStCLGVBQUEsR0FzQkZmLEtBQUssQ0FyQlBmLFFBQVE7SUFBUkEsUUFBUSxHQUFBOEIsZUFBQSxjQUFHLEdBQUcsR0FBQUEsZUFBQTtJQUFBQyxhQUFBLEdBcUJaaEIsS0FBSyxDQXBCUGlCLE1BQU07SUFBTkEsTUFBTSxHQUFBRCxhQUFBLGNBQUcsS0FBSyxHQUFBQSxhQUFBO0lBQUFFLGdCQUFBLEdBb0JabEIsS0FBSyxDQW5CUG1CLFNBQVM7SUFBVEEsU0FBUyxHQUFBRCxnQkFBQSxjQUFHLEtBQUssR0FBQUEsZ0JBQUE7SUFDakJFLEtBQUssR0FrQkhwQixLQUFLLENBbEJQb0IsS0FBSztJQUNMQyxJQUFJLEdBaUJGckIsS0FBSyxDQWpCUHFCLElBQUk7SUFDSkMsUUFBUSxHQWdCTnRCLEtBQUssQ0FoQlBzQixRQUFRO0lBQ1JDLFlBQVksR0FlVnZCLEtBQUssQ0FmUHVCLFlBQVk7SUFDWkMsR0FBRyxHQWNEeEIsS0FBSyxDQWRQd0IsR0FBRztJQUNIQyxRQUFRLEdBYU56QixLQUFLLENBYlB5QixRQUFRO0lBQ1JDLE1BQU0sR0FZSjFCLEtBQUssQ0FaUDBCLE1BQU07SUFDTkMsTUFBTSxHQVdKM0IsS0FBSyxDQVhQMkIsTUFBTTtJQUNOQyxLQUFLLEdBVUg1QixLQUFLLENBVlA0QixLQUFLO0lBQUFDLG1CQUFBLEdBVUg3QixLQUFLLENBVFA4QixZQUFZO0lBQVpBLFlBQVksR0FBQUQsbUJBQUEsY0FBRyxFQUFFLEdBQUFBLG1CQUFBO0lBQ2pCRSxRQUFRLEdBUU4vQixLQUFLLENBUlArQixRQUFRO0lBQ1JDLFVBQVUsR0FPUmhDLEtBQUssQ0FQUGdDLFVBQVU7SUFDVkMsT0FBTyxHQU1MakMsS0FBSyxDQU5QaUMsT0FBTztJQUNQQyxNQUFNLEdBS0psQyxLQUFLLENBTFBrQyxNQUFNO0lBQ05DLFNBQVMsR0FJUG5DLEtBQUssQ0FKUG1DLFNBQVM7SUFDVEMsR0FBRyxHQUdEcEMsS0FBSyxDQUhQb0MsR0FBRztJQUNDQyxVQUFVLEdBRVpyQyxLQUFLLENBRlBzQyxFQUFFO0lBQ0NDLElBQUksR0FBQXhGLE1BQUEsQ0FDTGlELEtBQUssRUE5QkgsQ0FBQSxXQUFBLEVBQUEsZ0JBQUEsRUFBQSxXQUFBLEVBQUEsTUFBQSxFQUFBLFFBQUEsRUFBQSxVQUFBLEVBQUEsU0FBQSxFQUFBLE1BQUEsRUFBQSxVQUFBLEVBQUEsUUFBQSxFQUFBLFdBQUEsRUFBQSxPQUFBLEVBQUEsTUFBQSxFQUFBLFVBQUEsRUFBQSxjQUFBLEVBQUEsS0FBQSxFQUFBLFVBQUEsRUFBQSxRQUFBLEVBQUEsUUFBQSxFQUFBLE9BQUEsRUFBQSxjQUFBLEVBQUEsVUFBQSxFQUFBLFlBQUEsRUFBQSxTQUFBLEVBQUEsUUFBQSxFQUFBLFdBQUEsRUFBQSxLQUFBLEVBQUEsSUFBQSxDQThCTCxDQUFRO0VBRVQsSUFBTXdDLE1BQU0sR0FBR3RFLEtBQUssQ0FBQSxDQUFFO0VBQ3RCLElBQU11RSxPQUFPLEdBQUdKLFVBQVUsS0FBQSxJQUFBLElBQVZBLFVBQVUsS0FBQSxLQUFBLENBQUEsR0FBVkEsVUFBVSxHQUFJRyxNQUFNO0VBQ3BDLElBQU1FLE9BQU8sR0FBR25FLFVBQVUsQ0FBQytCLFNBQVMsQ0FBQztFQUNyQyxJQUFBcUMsV0FBQSxHQUE0QmpFLFVBQVUsQ0FBbUIwRCxHQUFHLENBQUM7SUFBQVEsWUFBQSxHQUFBQyxjQUFBLENBQUFGLFdBQUE7SUFBdERHLFFBQVEsR0FBQUYsWUFBQTtJQUFFRyxPQUFPLEdBQUFILFlBQUE7RUFDeEIsSUFBTUksV0FBVyxHQUFHN0UsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUNqQyxJQUFNOEUsVUFBVSxHQUFHeEQsZUFBZSxDQUFDVCxJQUFJLENBQUM7RUFFeEM7RUFDQSxJQUFNa0UsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLEdBQVc7SUFBQSxPQUFLckUsU0FBUyxDQUFDcUUsR0FBRyxFQUFFbkUsSUFBSSxFQUFFQyxRQUFRLENBQUM7RUFBQTtFQUNuRSxJQUFNbUUsZ0JBQWdCLEdBQUd0QixZQUFZLEdBQUdvQixXQUFXLENBQUNwQixZQUFZLENBQUMsR0FBRyxFQUFFO0VBQ3RFLElBQU11QixtQkFBbUIsR0FBR3pCLEtBQUssS0FBSzBCLFNBQVMsR0FBR0osV0FBVyxDQUFDdEIsS0FBSyxDQUFDLEdBQUcwQixTQUFTO0VBRWhGLElBQUFDLG1CQUFBLEdBQW9DbkYsa0JBQWtCLENBQUNnRixnQkFBZ0IsRUFBRUMsbUJBQW1CLENBQUM7SUFBQUcsb0JBQUEsR0FBQVgsY0FBQSxDQUFBVSxtQkFBQTtJQUF0RkUsVUFBVSxHQUFBRCxvQkFBQTtJQUFFRSxhQUFhLEdBQUFGLG9CQUFBO0VBRWhDLElBQU1HLFVBQVUsR0FBRy9DLFFBQVEsSUFBSUUsT0FBTztFQUN0QyxJQUFNOEMsWUFBWSxHQUFHbkMsUUFBUSxHQUFHLE1BQU0sR0FBRyxPQUFPO0VBQ2hELElBQU1vQyxXQUFXLEdBQUduRCxNQUFNLEtBQUssT0FBTyxHQUFHLE1BQU0sR0FBRyxPQUFPO0VBRXpELElBQU1vRCxVQUFVLEdBQUd6RixnQkFBZ0IsQ0FBQyxVQUFDbUIsU0FBaUIsRUFBRXVFLEtBQW9DLEVBQUk7SUFDOUYsSUFBTWhGLEdBQUcsR0FBR1EsVUFBVSxDQUFDQyxTQUFTLEVBQUVSLElBQUksRUFBRUMsUUFBUSxDQUFDO0lBQ2pEOEMsUUFBUSxLQUFBLElBQUEsSUFBUkEsUUFBUSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFSQSxRQUFRLENBQUdkLE1BQU0sR0FBR2xDLEdBQUcsR0FBR1MsU0FBUyxFQUFFdUUsS0FBSyxDQUFDO0lBQzNDLElBQUloRixHQUFHLENBQUNwQixNQUFNLEtBQUtzRixVQUFVLEVBQUU7TUFDN0JqQixVQUFVLEtBQUEsSUFBQSxJQUFWQSxVQUFVLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQVZBLFVBQVUsQ0FBR2YsTUFBTSxHQUFHbEMsR0FBRyxHQUFHUyxTQUFTLENBQUM7SUFDeEM7RUFDRixDQUFDLENBQUM7RUFFRixJQUFNd0UsWUFBWSxHQUFHM0YsZ0JBQWdCLENBQUMsVUFBQzBGLEtBQW9DLEVBQUk7SUQvQnpFLElBQUk5RCxFQUFFO0lDZ0NWLElBQUkrQyxXQUFXLENBQUNpQixPQUFPLEVBQUU7SUFFekIsSUFBTUMsS0FBSyxHQUFHSCxLQUFLLENBQUNJLE1BQU07SUFDMUIsSUFBTUMsU0FBUyxHQUFHLENBQUFuRSxFQUFBLEdBQUFpRSxLQUFLLENBQUNHLGNBQWMsTUFBQSxJQUFBLElBQUFwRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO0lBQzNDLElBQU1xRSxVQUFVLEdBQUdKLEtBQUssQ0FBQ3RDLEtBQUs7SUFFOUI7SUFDQSxJQUFNN0MsR0FBRyxHQUFHUSxVQUFVLENBQUMrRSxVQUFVLEVBQUV0RixJQUFJLEVBQUVDLFFBQVEsQ0FBQyxHQUM5Q3FGLFVBQVUsQ0FBQ0MsS0FBSyxDQUFDSCxTQUFTLEdBQUcsQ0FBQyxHQUFHQSxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRUEsU0FBUyxDQUFDLENBQUNJLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDO0lBRTlGO0lBQ0EsSUFBSUMsUUFBUSxHQUFHLEVBQUU7SUFDakIsS0FBSyxJQUFJL0csQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHNEcsVUFBVSxDQUFDM0csTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtNQUMxQyxJQUFNZ0gsRUFBRSxHQUFHSixVQUFVLENBQUM1RyxDQUFDLENBQUM7TUFDeEIsSUFBSSxZQUFZLENBQUM0QixJQUFJLENBQUNvRixFQUFFLENBQUMsRUFBRUQsUUFBUSxJQUFJQyxFQUFFO0lBQzNDO0lBRUEsSUFBTWxGLFNBQVMsR0FBR1YsU0FBUyxDQUFDMkYsUUFBUSxFQUFFekYsSUFBSSxFQUFFQyxRQUFRLENBQUM7SUFDckR5RSxhQUFhLENBQUNsRSxTQUFTLENBQUM7SUFDeEJzRSxVQUFVLENBQUN0RSxTQUFTLEVBQUV1RSxLQUFLLENBQUM7SUFFNUI7SUFDQVkscUJBQXFCLENBQUMsWUFBSztNQUN6QixJQUFNQyxPQUFPLEdBQUcvRSxhQUFhLENBQUNMLFNBQVMsRUFBRVAsUUFBUSxDQUFDO01BQ2xEaUYsS0FBSyxDQUFDVyxpQkFBaUIsQ0FBQ0QsT0FBTyxFQUFFQSxPQUFPLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsSUFBTUUsYUFBYSxHQUFHekcsZ0JBQWdCLENBQUMsVUFBQzBGLEtBQXNDLEVBQUk7SURsQzVFLElBQUk5RCxFQUFFLEVBQUU4RSxFQUFFLEVBQUVDLEVBQUU7SUNtQ2xCLElBQU1kLEtBQUssR0FBR3BCLFFBQVEsQ0FBQ21CLE9BQU87SUFDOUIsSUFBSSxDQUFDQyxLQUFLLEVBQUU7SUFFWixJQUFJSCxLQUFLLENBQUNrQixHQUFHLEtBQUssV0FBVyxFQUFFO01BQzdCbEIsS0FBSyxDQUFDbUIsY0FBYyxDQUFBLENBQUU7TUFDdEIsSUFBTUMsR0FBRyxHQUFHLENBQUFsRixFQUFBLEdBQUFpRSxLQUFLLENBQUNHLGNBQWMsTUFBQSxJQUFBLElBQUFwRSxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO01BQ3JDLElBQU1tRixNQUFNLEdBQUcsQ0FBQUwsRUFBQSxHQUFBYixLQUFLLENBQUNtQixZQUFZLE1BQUEsSUFBQSxJQUFBTixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsR0FBSSxDQUFDO01BRXRDLElBQUlJLEdBQUcsS0FBSyxDQUFDLElBQUlDLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFFL0IsSUFBTUUsVUFBVSxHQUFHL0YsVUFBVSxDQUFDa0UsVUFBVSxFQUFFekUsSUFBSSxFQUFFQyxRQUFRLENBQUM7TUFFekQsSUFBSWtHLEdBQUcsS0FBS0MsTUFBTSxFQUFFO1FBQ2xCO1FBQ0EsSUFBSUcsTUFBTSxHQUFHLEVBQUU7UUFDZixJQUFJQyxNQUFNLEdBQUcsQ0FBQztRQUNkLEtBQUssSUFBSTlILENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR3NCLElBQUksQ0FBQ3JCLE1BQU0sSUFBSTZILE1BQU0sR0FBR0YsVUFBVSxDQUFDM0gsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtVQUNsRSxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUlBLENBQUMsR0FBR3lILEdBQUcsSUFBSXpILENBQUMsSUFBSTBILE1BQU0sRUFBRTtjQUMxQkcsTUFBTSxJQUFJRCxVQUFVLENBQUNFLE1BQU0sQ0FBQztZQUM5QjtZQUNBQSxNQUFNLEVBQUU7VUFDVjtRQUNGO1FBQ0EsSUFBTWhHLFNBQVMsR0FBR1YsU0FBUyxDQUFDeUcsTUFBTSxFQUFFdkcsSUFBSSxFQUFFQyxRQUFRLENBQUM7UUFDbkR5RSxhQUFhLENBQUNsRSxTQUFTLENBQUM7UUFDeEJzRSxVQUFVLENBQUN0RSxTQUFTLEVBQUU7VUFBRTJFLE1BQU0sRUFBRUQ7UUFBSyxDQUFtQyxDQUFDO1FBQ3pFUyxxQkFBcUIsQ0FBQyxZQUFLO1VBQ3pCLElBQU1DLE9BQU8sR0FBR2pGLFlBQVksQ0FBQ1gsSUFBSSxFQUFFUSxTQUFTLEVBQUVQLFFBQVEsRUFBRWtHLEdBQUcsQ0FBQztVQUM1RGpCLEtBQUssQ0FBQ1csaUJBQWlCLENBQUNELE9BQU8sRUFBRUEsT0FBTyxDQUFDO1FBQzNDLENBQUMsQ0FBQztNQUNKLENBQUMsTUFBTTtRQUNMO1FBQ0EsSUFBSWEsU0FBUyxHQUFHTixHQUFHLEdBQUcsQ0FBQztRQUN2QixPQUFPTSxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUM3RyxXQUFXLENBQUNJLElBQUksQ0FBQ3lHLFNBQVMsQ0FBQyxDQUFDLEVBQUU7VUFDdERBLFNBQVMsRUFBRTtRQUNiO1FBQ0EsSUFBSUEsU0FBUyxHQUFHLENBQUMsRUFBRTtRQUVuQixJQUFJRixPQUFNLEdBQUcsRUFBRTtRQUNmLElBQUlDLE9BQU0sR0FBRyxDQUFDO1FBQ2QsS0FBSyxJQUFJOUgsRUFBQyxHQUFHLENBQUMsRUFBRUEsRUFBQyxHQUFHc0IsSUFBSSxDQUFDckIsTUFBTSxFQUFFRCxFQUFDLEVBQUUsRUFBRTtVQUNwQyxJQUFJa0IsV0FBVyxDQUFDSSxJQUFJLENBQUN0QixFQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hCLElBQUlBLEVBQUMsS0FBSytILFNBQVMsSUFBSUQsT0FBTSxHQUFHRixVQUFVLENBQUMzSCxNQUFNLEVBQUU7Y0FDakQ0SCxPQUFNLElBQUlELFVBQVUsQ0FBQ0UsT0FBTSxDQUFDO1lBQzlCO1lBQ0FBLE9BQU0sRUFBRTtVQUNWO1FBQ0Y7UUFDQSxJQUFNaEcsVUFBUyxHQUFHVixTQUFTLENBQUN5RyxPQUFNLEVBQUV2RyxJQUFJLEVBQUVDLFFBQVEsQ0FBQztRQUNuRHlFLGFBQWEsQ0FBQ2xFLFVBQVMsQ0FBQztRQUN4QnNFLFVBQVUsQ0FBQ3RFLFVBQVMsRUFBRTtVQUFFMkUsTUFBTSxFQUFFRDtRQUFLLENBQW1DLENBQUM7UUFDekVTLHFCQUFxQixDQUFDLFlBQUs7VUFDekJULEtBQUssQ0FBQ1csaUJBQWlCLENBQUNZLFNBQVMsRUFBRUEsU0FBUyxDQUFDO1FBQy9DLENBQUMsQ0FBQztNQUNKO0lBQ0Y7SUFFQSxJQUFJMUIsS0FBSyxDQUFDa0IsR0FBRyxLQUFLLFFBQVEsRUFBRTtNQUMxQmxCLEtBQUssQ0FBQ21CLGNBQWMsQ0FBQSxDQUFFO01BQ3RCLElBQU1DLElBQUcsR0FBRyxDQUFBSCxFQUFBLEdBQUFkLEtBQUssQ0FBQ0csY0FBYyxNQUFBLElBQUEsSUFBQVcsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUksQ0FBQztNQUVyQyxJQUFJUyxVQUFTLEdBQUdOLElBQUc7TUFDbkIsT0FBT00sVUFBUyxHQUFHekcsSUFBSSxDQUFDckIsTUFBTSxJQUFJLENBQUNpQixXQUFXLENBQUNJLElBQUksQ0FBQ3lHLFVBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDL0RBLFVBQVMsRUFBRTtNQUNiO01BQ0EsSUFBSUEsVUFBUyxJQUFJekcsSUFBSSxDQUFDckIsTUFBTSxFQUFFO01BRTlCLElBQU0ySCxXQUFVLEdBQUcvRixVQUFVLENBQUNrRSxVQUFVLEVBQUV6RSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztNQUN6RCxJQUFJc0csUUFBTSxHQUFHLEVBQUU7TUFDZixJQUFJQyxRQUFNLEdBQUcsQ0FBQztNQUNkLEtBQUssSUFBSTlILEdBQUMsR0FBRyxDQUFDLEVBQUVBLEdBQUMsR0FBR3NCLElBQUksQ0FBQ3JCLE1BQU0sRUFBRUQsR0FBQyxFQUFFLEVBQUU7UUFDcEMsSUFBSWtCLFdBQVcsQ0FBQ0ksSUFBSSxDQUFDdEIsR0FBQyxDQUFDLENBQUMsRUFBRTtVQUN4QixJQUFJQSxHQUFDLEtBQUsrSCxVQUFTLElBQUlELFFBQU0sR0FBR0YsV0FBVSxDQUFDM0gsTUFBTSxFQUFFO1lBQ2pENEgsUUFBTSxJQUFJRCxXQUFVLENBQUNFLFFBQU0sQ0FBQztVQUM5QjtVQUNBQSxRQUFNLEVBQUU7UUFDVjtNQUNGO01BQ0EsSUFBTWhHLFdBQVMsR0FBR1YsU0FBUyxDQUFDeUcsUUFBTSxFQUFFdkcsSUFBSSxFQUFFQyxRQUFRLENBQUM7TUFDbkR5RSxhQUFhLENBQUNsRSxXQUFTLENBQUM7TUFDeEJzRSxVQUFVLENBQUN0RSxXQUFTLEVBQUU7UUFBRTJFLE1BQU0sRUFBRUQ7TUFBSyxDQUFtQyxDQUFDO01BQ3pFUyxxQkFBcUIsQ0FBQyxZQUFLO1FBQ3pCVCxLQUFLLENBQUNXLGlCQUFpQixDQUFDTSxJQUFHLEVBQUVBLElBQUcsQ0FBQztNQUNuQyxDQUFDLENBQUM7SUFDSjtJQUVBaEQsU0FBUyxLQUFBLElBQUEsSUFBVEEsU0FBUyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFUQSxTQUFTLENBQUc0QixLQUFLLENBQUM7RUFDcEIsQ0FBQyxDQUFDO0VBRUYsSUFBTTJCLFdBQVcsR0FBR3JILGdCQUFnQixDQUFDLFVBQUMwRixLQUFtQyxFQUFJO0lBQzNFO0lBQ0EsSUFBSSxDQUFDTixVQUFVLElBQUlsRSxVQUFVLENBQUNrRSxVQUFVLEVBQUV6RSxJQUFJLEVBQUVDLFFBQVEsQ0FBQyxDQUFDdEIsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUN0RSxJQUFNNkIsU0FBUyxHQUFHVixTQUFTLENBQUMsRUFBRSxFQUFFRSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztNQUMvQ3lFLGFBQWEsQ0FBQ2xFLFNBQVMsQ0FBQztJQUMxQjtJQUNBbUYscUJBQXFCLENBQUMsWUFBSztNQUN6QixJQUFNVCxLQUFLLEdBQUdwQixRQUFRLENBQUNtQixPQUFPO01BQzlCLElBQUlDLEtBQUssRUFBRTtRQUNULElBQU1pQixHQUFHLEdBQUd0RixhQUFhLENBQUNxRSxLQUFLLENBQUN0QyxLQUFLLEVBQUUzQyxRQUFRLENBQUM7UUFDaERpRixLQUFLLENBQUNXLGlCQUFpQixDQUFDTSxHQUFHLEVBQUVBLEdBQUcsQ0FBQztNQUNuQztJQUNGLENBQUMsQ0FBQztJQUNGbEQsT0FBTyxLQUFBLElBQUEsSUFBUEEsT0FBTyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFQQSxPQUFPLENBQUc4QixLQUFLLENBQUM7RUFDbEIsQ0FBQyxDQUFDO0VBRUYsSUFBTTRCLFVBQVUsR0FBR3RILGdCQUFnQixDQUFDLFVBQUMwRixLQUFtQyxFQUFJO0lBQzFFLElBQU1oRixHQUFHLEdBQUdRLFVBQVUsQ0FBQ2tFLFVBQVUsRUFBRXpFLElBQUksRUFBRUMsUUFBUSxDQUFDO0lBQ2xELElBQUlrQyxTQUFTLElBQUlwQyxHQUFHLENBQUNwQixNQUFNLEdBQUcsQ0FBQyxJQUFJb0IsR0FBRyxDQUFDcEIsTUFBTSxHQUFHc0YsVUFBVSxFQUFFO01BQzFELElBQU0yQyxLQUFLLEdBQUc5RyxTQUFTLENBQUMsRUFBRSxFQUFFRSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztNQUMzQ3lFLGFBQWEsQ0FBQ2tDLEtBQUssQ0FBQztNQUNwQjlCLFVBQVUsQ0FBQzhCLEtBQUssRUFBRTtRQUFFekIsTUFBTSxFQUFFSixLQUFLLENBQUNJO01BQU0sQ0FBbUMsQ0FBQztJQUM5RTtJQUNBO0lBQ0EsSUFBSXBGLEdBQUcsQ0FBQ3BCLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDcEIrRixhQUFhLENBQUMsRUFBRSxDQUFDO0lBQ25CO0lBQ0F4QixNQUFNLEtBQUEsSUFBQSxJQUFOQSxNQUFNLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQU5BLE1BQU0sQ0FBRzZCLEtBQUssQ0FBQztFQUNqQixDQUFDLENBQUM7RUFFRixPQUNFakcsSUFBQSxDQUFDVyxVQUFVLEVBQUE7SUFDVDBCLFNBQVMsRUFBRUEsU0FBUztJQUNwQkMsY0FBYyxFQUFFQSxjQUFjO0lBQzlCRSxTQUFTLEVBQUVBLFNBQVM7SUFDcEJFLElBQUksRUFBRUEsSUFBSTtJQUNWRSxNQUFNLEVBQUVBLE1BQU07SUFDZEUsUUFBUSxFQUFFK0MsVUFBVTtJQUNwQnZDLEtBQUssRUFBRUEsS0FBSztJQUNaQyxJQUFJLEVBQUVBLElBQUk7SUFDVkcsR0FBRyxFQUFFQSxHQUFHO0lBQ1JGLFFBQVEsRUFBRUEsUUFBUTtJQUNsQkMsWUFBWSxFQUFFQSxZQUFZO0lBQzFCRSxRQUFRLEVBQUVBLFFBQVE7SUFDbEJnQixPQUFPLEVBQUVBLE9BQU87SUFBQW9ELFFBQUEsRUFFaEI3SCxLQUFBLENBQUEsS0FBQSxFQUFBO01BQUttQyxTQUFTLEVBQUV1QyxPQUFPLENBQUMsU0FBUyxFQUFFbEUsT0FBTyxDQUFDbUYsVUFBVSxJQUFJakIsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztNQUFBbUQsUUFBQSxFQUFBLENBQ25GbkUsTUFBTSxJQUFJNUQsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNcUMsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBbUQsUUFBQSxFQUFHbkU7TUFBTSxDQUFBLENBQVEsRUFDOUQ1RCxJQUFBLENBQUEsT0FBQSxFQUFBVixNQUFBLENBQUEwSSxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQ012RCxJQUFJLEVBQUE7UUFDUkgsR0FBRyxFQUFFVyxPQUFPO1FBQ1pULEVBQUUsRUFBRUcsT0FBTztRQUNYdEMsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMzQjlCLFFBQVEsRUFBRStDLFVBQVU7UUFDcEIvQixLQUFLLEVBQUU2QixVQUFVO1FBQ2pCc0MsV0FBVyxFQUFFLENBQUE5RixFQUFBLEdBQUFzQyxJQUFJLENBQUN3RCxXQUFXLE1BQUEsSUFBQSxJQUFBOUYsRUFBQSxLQUFBLEtBQUEsQ0FBQSxHQUFBQSxFQUFBLEdBQUluQixTQUFTLENBQUMsRUFBRSxFQUFFRSxJQUFJLEVBQUVDLFFBQVEsQ0FBQztRQUM5RDhDLFFBQVEsRUFBRWlDLFlBQVk7UUFDdEI3QixTQUFTLEVBQUUyQyxhQUFhO1FBQ3hCN0MsT0FBTyxFQUFFeUQsV0FBVztRQUNwQnhELE1BQU0sRUFBRXlELFVBQVU7UUFDbEJLLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUEsRUFBTztVQUFHaEQsV0FBVyxDQUFDaUIsT0FBTyxHQUFHLElBQUk7UUFBRSxDQUFDO1FBQ3pEZ0MsZ0JBQWdCLEVBQUUsU0FBbEJBLGdCQUFnQkEsQ0FBR2hKLENBQUMsRUFBSTtVQUN0QitGLFdBQVcsQ0FBQ2lCLE9BQU8sR0FBRyxLQUFLO1VBQzNCRCxZQUFZLENBQUMvRyxDQUE2QyxDQUFDO1FBQzdELENBQUM7UUFBQSxlQUFBLEVBQ2MyRyxZQUFZO1FBQUEsY0FBQSxFQUNiQztNQUFXLENBQUEsQ0FBQSxDQUN6QixFQUNEbEMsTUFBTSxJQUFJN0QsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNcUMsU0FBUyxFQUFFdUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBbUQsUUFBQSxFQUFHbEU7TUFBTSxDQUFBLENBQVE7SUFBQSxDQUFBO0VBQzFELENBQUEsQ0FDSztBQUVqQixDQUFDO0FBRUQ1QixTQUFTLENBQUNtRyxXQUFXLEdBQUcsV0FBVztBQUVuQyxJQUFNQyxpQkFBaUIsZ0JBQUdsSSxJQUFJLENBQUM4QixTQUFTLENBQUM7QUFDekNvRyxpQkFBaUIsQ0FBQ0QsV0FBVyxHQUFHLFdBQVc7QUFFM0MsZUFBZUMsaUJBQWlCIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUlkLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEZpZWxkU2hlbGwgfSBmcm9tICcuLi9GaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVN5bmNSZWYgfSBmcm9tICcuLi91c2VTeW5jUmVmJztcbi8qKiBNYXNrIHRva2VuIG1hdGNoZXJzOiA5ID0gZGlnaXQsIGEgPSBsZXR0ZXIsICogPSBhbHBoYW51bWVyaWMgKi9cbmNvbnN0IE1BU0tfVE9LRU4gPSB7XG4gICAgJzknOiAvXFxkLyxcbiAgICAnYSc6IC9bYS16QS1aXS8sXG4gICAgJyonOiAvW2EtekEtWjAtOV0vLFxufTtcbmNvbnN0IGlzTWFza1Rva2VuID0gKGNoYXIpID0+IGNoYXIgaW4gTUFTS19UT0tFTjtcbi8qKiBBcHBseSBtYXNrIHRvIHJhdyB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBmb3JtYXR0ZWQgc3RyaW5nICovXG5jb25zdCBhcHBseU1hc2sgPSAocmF3LCBtYXNrLCBzbG90Q2hhcikgPT4ge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgcmF3SW5kZXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBtYXNrQ2hhciA9IG1hc2tbaV07XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrQ2hhcikpIHtcbiAgICAgICAgICAgIGlmIChyYXdJbmRleCA8IHJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZSA9IE1BU0tfVE9LRU5bbWFza0NoYXJdO1xuICAgICAgICAgICAgICAgIC8vIFNraXAgaW52YWxpZCBjaGFyYWN0ZXJzIGluIHJhd1xuICAgICAgICAgICAgICAgIHdoaWxlIChyYXdJbmRleCA8IHJhdy5sZW5ndGggJiYgIXJlLnRlc3QocmF3W3Jhd0luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJhd0luZGV4IDwgcmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcmF3W3Jhd0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzbG90Q2hhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gc2xvdENoYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gbWFza0NoYXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG4vKiogRXh0cmFjdCByYXcgdmFsdWUgKG9ubHkgdXNlci10eXBlZCBjaGFyYWN0ZXJzLCBubyBsaXRlcmFscyBvciBzbG90IGNoYXJzKSAqL1xuY29uc3QgZXh0cmFjdFJhdyA9IChmb3JtYXR0ZWQsIG1hc2ssIHNsb3RDaGFyKSA9PiB7XG4gICAgbGV0IHJhdyA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGggJiYgaSA8IGZvcm1hdHRlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkgJiYgZm9ybWF0dGVkW2ldICE9PSBzbG90Q2hhcikge1xuICAgICAgICAgICAgcmF3ICs9IGZvcm1hdHRlZFtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmF3O1xufTtcbi8qKiBDb3VudCBob3cgbWFueSBtYXNrIHRva2VucyBleGlzdCBpbiB0aGUgbWFzayBwYXR0ZXJuICovXG5jb25zdCBjb3VudFRva2VuU2xvdHMgPSAobWFzaykgPT4ge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSlcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbn07XG4vKiogRmluZCB0aGUgY3Vyc29yIHBvc2l0aW9uIGZvciB0aGUgbmV4dCBhdmFpbGFibGUgbWFzayB0b2tlbiBzbG90ICovXG5jb25zdCBmaW5kTmV4dFNsb3QgPSAobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgZnJvbUluZGV4KSA9PiB7XG4gICAgZm9yIChsZXQgaSA9IGZyb21JbmRleDsgaSA8IG1hc2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pICYmIChpID49IGZvcm1hdHRlZC5sZW5ndGggfHwgZm9ybWF0dGVkW2ldID09PSBzbG90Q2hhcikpIHtcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmcm9tSW5kZXg7XG59O1xuLyoqIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBzbG90IGNoYXIgaW4gZm9ybWF0dGVkIHZhbHVlICovXG5jb25zdCBmaW5kRmlyc3RTbG90ID0gKGZvcm1hdHRlZCwgc2xvdENoYXIpID0+IHtcbiAgICBjb25zdCBpZHggPSBmb3JtYXR0ZWQuaW5kZXhPZihzbG90Q2hhcik7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBmb3JtYXR0ZWQubGVuZ3RoIDogaWR4O1xufTtcbmV4cG9ydCBjb25zdCBJbnB1dE1hc2sgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgbGFiZWxDbGFzc05hbWUsIHByZWZpeENscyA9ICdpbnB1dCcsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIGRpc2FibGVkID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbWFzaywgc2xvdENoYXIgPSAnXycsIHVubWFzayA9IGZhbHNlLCBhdXRvQ2xlYXIgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHRpcCwgcmVxdWlyZWQsIHByZWZpeCwgc3VmZml4LCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIG9uQ2hhbmdlLCBvbkNvbXBsZXRlLCBvbkZvY3VzLCBvbkJsdXIsIG9uS2V5RG93biwgcmVmLCBpZDogZXh0ZXJuYWxJZCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcImRpc2FibGVkXCIsIFwibG9hZGluZ1wiLCBcIm1hc2tcIiwgXCJzbG90Q2hhclwiLCBcInVubWFza1wiLCBcImF1dG9DbGVhclwiLCBcImxhYmVsXCIsIFwiaW5mb1wiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwidGlwXCIsIFwicmVxdWlyZWRcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25Db21wbGV0ZVwiLCBcIm9uRm9jdXNcIiwgXCJvbkJsdXJcIiwgXCJvbktleURvd25cIiwgXCJyZWZcIiwgXCJpZFwiXSk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBpbnB1dElkID0gZXh0ZXJuYWxJZCAhPT0gbnVsbCAmJiBleHRlcm5hbElkICE9PSB2b2lkIDAgPyBleHRlcm5hbElkIDogYXV0b0lkO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lucHV0UmVmLCBzeW5jUmVmXSA9IHVzZVN5bmNSZWYocmVmKTtcbiAgICBjb25zdCBpc0NvbXBvc2luZyA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgdG90YWxTbG90cyA9IGNvdW50VG9rZW5TbG90cyhtYXNrKTtcbiAgICAvLyBJbnRlcm5hbCBzdGF0ZSBhbHdheXMgc3RvcmVzIHRoZSBmb3JtYXR0ZWQgdmFsdWVcbiAgICBjb25zdCBmb3JtYXRWYWx1ZSA9ICh2YWwpID0+IGFwcGx5TWFzayh2YWwsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICBjb25zdCBpbml0aWFsRm9ybWF0dGVkID0gZGVmYXVsdFZhbHVlID8gZm9ybWF0VmFsdWUoZGVmYXVsdFZhbHVlKSA6ICcnO1xuICAgIGNvbnN0IGNvbnRyb2xsZWRGb3JtYXR0ZWQgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gZm9ybWF0VmFsdWUodmFsdWUpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShpbml0aWFsRm9ybWF0dGVkLCBjb250cm9sbGVkRm9ybWF0dGVkKTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gZGlzYWJsZWQgfHwgbG9hZGluZztcbiAgICBjb25zdCBhcmlhUmVxdWlyZWQgPSByZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgY29uc3QgYXJpYUludmFsaWQgPSBzdGF0dXMgPT09ICdlcnJvcicgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChmb3JtYXR0ZWQsIGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHJhdyA9IGV4dHJhY3RSYXcoZm9ybWF0dGVkLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQsIGV2ZW50KTtcbiAgICAgICAgaWYgKHJhdy5sZW5ndGggPT09IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIG9uQ29tcGxldGUgPT09IG51bGwgfHwgb25Db21wbGV0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Db21wbGV0ZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaXNDb21wb3NpbmcuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGNvbnN0IGN1cnNvclBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIC8vIEV4dHJhY3Qgb25seSB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gdGhlIHJhdyBpbnB1dFxuICAgICAgICBjb25zdCByYXcgPSBleHRyYWN0UmF3KGlucHV0VmFsdWUsIG1hc2ssIHNsb3RDaGFyKVxuICAgICAgICAgICAgKyBpbnB1dFZhbHVlLnNsaWNlKGN1cnNvclBvcyA+IDAgPyBjdXJzb3JQb3MgLSAxIDogMCwgY3Vyc29yUG9zKS5yZXBsYWNlKC9bXlxcZGEtekEtWl0vZywgJycpO1xuICAgICAgICAvLyBSZS1leHRyYWN0IGZyb20gdGhlIGZ1bGwgaW5wdXQgdG8gZ2V0IGNsZWFuIHJhd1xuICAgICAgICBsZXQgY2xlYW5SYXcgPSAnJztcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnB1dFZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaCA9IGlucHV0VmFsdWVbaV07XG4gICAgICAgICAgICBpZiAoL1tcXGRhLXpBLVpdLy50ZXN0KGNoKSlcbiAgICAgICAgICAgICAgICBjbGVhblJhdyArPSBjaDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2soY2xlYW5SYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgZXZlbnQpO1xuICAgICAgICAvLyBQb3NpdGlvbiBjdXJzb3IgYWZ0ZXIgdGhlIGxhc3QgZmlsbGVkIHNsb3RcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kRmlyc3RTbG90KGZvcm1hdHRlZCwgc2xvdENoYXIpO1xuICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWlucHV0KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICAgICAgY29uc3Qgc2VsRW5kID0gKF9iID0gaW5wdXQuc2VsZWN0aW9uRW5kKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwO1xuICAgICAgICAgICAgaWYgKHBvcyA9PT0gMCAmJiBzZWxFbmQgPT09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJhdyA9IGV4dHJhY3RSYXcoaW5uZXJWYWx1ZSwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgaWYgKHBvcyAhPT0gc2VsRW5kKSB7XG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0aW9uOiByZW1vdmUgYWxsIHJhdyBjaGFycyBpbiB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aCAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBwb3MgfHwgaSA+PSBzZWxFbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgeyB0YXJnZXQ6IGlucHV0IH0pO1xuICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kTmV4dFNsb3QobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgcG9zKTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5nbGUgYmFja3NwYWNlOiBmaW5kIHByZXYgdG9rZW4gcG9zaXRpb24gYW5kIHJlbW92ZSBpdFxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXRQb3MgPSBwb3MgLSAxO1xuICAgICAgICAgICAgICAgIHdoaWxlICh0YXJnZXRQb3MgPj0gMCAmJiAhaXNNYXNrVG9rZW4obWFza1t0YXJnZXRQb3NdKSkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRQb3MtLTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFBvcyA8IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IHRhcmdldFBvcyAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByYXdJZHgrKztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2sobmV3UmF3LCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgICAgIGVtaXRDaGFuZ2UoZm9ybWF0dGVkLCB7IHRhcmdldDogaW5wdXQgfSk7XG4gICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UodGFyZ2V0UG9zLCB0YXJnZXRQb3MpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdEZWxldGUnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zID0gKF9jID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDA7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0UG9zID0gcG9zO1xuICAgICAgICAgICAgd2hpbGUgKHRhcmdldFBvcyA8IG1hc2subGVuZ3RoICYmICFpc01hc2tUb2tlbihtYXNrW3RhcmdldFBvc10pKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0UG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGFyZ2V0UG9zID49IG1hc2subGVuZ3RoKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSYXcgPSBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGxldCBuZXdSYXcgPSAnJztcbiAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSB0YXJnZXRQb3MgJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIHsgdGFyZ2V0OiBpbnB1dCB9KTtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgb25LZXlEb3duID09PSBudWxsIHx8IG9uS2V5RG93biA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25LZXlEb3duKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIC8vIE9uIGZvY3VzLCBpZiBlbXB0eSBzaG93IHRoZSBtYXNrIHBsYWNlaG9sZGVyXG4gICAgICAgIGlmICghaW5uZXJWYWx1ZSB8fCBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSBmaW5kRmlyc3RTbG90KGlucHV0LnZhbHVlLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgcmF3ID0gZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIGlmIChhdXRvQ2xlYXIgJiYgcmF3Lmxlbmd0aCA+IDAgJiYgcmF3Lmxlbmd0aCA8IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVtcHR5ID0gYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKGVtcHR5KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UoZW1wdHksIHsgdGFyZ2V0OiBldmVudC50YXJnZXQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgY29tcGxldGVseSBlbXB0eSwgY2xlYXIgdGhlIGZvcm1hdHRlZCBtYXNrXG4gICAgICAgIGlmIChyYXcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgfVxuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeChGaWVsZFNoZWxsLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIHByZWZpeENsczogcHJlZml4Q2xzLCBzaXplOiBzaXplLCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgdGlwOiB0aXAsIGZlZWRiYWNrOiBmZWVkYmFjaywgZmVlZGJhY2tJY29uOiBmZWVkYmFja0ljb24sIHJlcXVpcmVkOiByZXF1aXJlZCwgaW5wdXRJZDogaW5wdXRJZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJywgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2NvbnRyb2wtZGlzYWJsZWQnKSkpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc3luY1JlZiwgaWQ6IGlucHV0SWQsIGNsYXNzTmFtZTogY2xhc3NlcygnZmllbGQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIHZhbHVlOiBpbm5lclZhbHVlLCBwbGFjZWhvbGRlcjogKF9hID0gcmVzdC5wbGFjZWhvbGRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhciksIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgb25Gb2N1czogaGFuZGxlRm9jdXMsIG9uQmx1cjogaGFuZGxlQmx1ciwgb25Db21wb3NpdGlvblN0YXJ0OiAoKSA9PiB7IGlzQ29tcG9zaW5nLmN1cnJlbnQgPSB0cnVlOyB9LCBvbkNvbXBvc2l0aW9uRW5kOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNDb21wb3NpbmcuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKGUpO1xuICAgICAgICAgICAgICAgICAgICB9LCBcImFyaWEtcmVxdWlyZWRcIjogYXJpYVJlcXVpcmVkLCBcImFyaWEtaW52YWxpZFwiOiBhcmlhSW52YWxpZCB9KSksIHN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSldIH0pIH0pKTtcbn07XG5JbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmNvbnN0IE1lbW9pemVkSW5wdXRNYXNrID0gbWVtbyhJbnB1dE1hc2spO1xuTWVtb2l6ZWRJbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmV4cG9ydCBkZWZhdWx0IE1lbW9pemVkSW5wdXRNYXNrOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
348
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwiY29tcG9uZW50cy9JbnB1dC9zcmMvY29tcG9uZW50cy9JbnB1dC9NYXNrL01hc2sudHN4Il0sIm5hbWVzIjpbIl9fcmVzdCIsInMiLCJlIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIm1lbW8iLCJ1c2VJZCIsInVzZVJlZiIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJkZWZhdWx0IiwiY2xhc3NuYW1lcyIsImpvaW5DbHMiLCJGaWVsZFNoZWxsIiwidXNlU3luY1JlZiIsIk1BU0tfVE9LRU4iLCJpc01hc2tUb2tlbiIsImNoYXIiLCJhcHBseU1hc2siLCJyYXciLCJtYXNrIiwic2xvdENoYXIiLCJyZXN1bHQiLCJyYXdJbmRleCIsIm1hc2tDaGFyIiwicmUiLCJ0ZXN0IiwiZXh0cmFjdFJhdyIsImZvcm1hdHRlZCIsImNvdW50VG9rZW5TbG90cyIsImNvdW50IiwiZmluZE5leHRTbG90IiwiZnJvbUluZGV4IiwiZmluZEZpcnN0U2xvdCIsImlkeCIsIklucHV0TWFzayIsInByb3BzIiwiX2EiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwibGFiZWxDbGFzc05hbWUiLCJfcHJvcHMkcHJlZml4Q2xzIiwicHJlZml4Q2xzIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiX3Byb3BzJGxvYWRpbmciLCJsb2FkaW5nIiwiX3Byb3BzJHNsb3RDaGFyIiwiX3Byb3BzJHVubWFzayIsInVubWFzayIsIl9wcm9wcyRhdXRvQ2xlYXIiLCJhdXRvQ2xlYXIiLCJsYWJlbCIsImluZm8iLCJmZWVkYmFjayIsImZlZWRiYWNrSWNvbiIsInRpcCIsInJlcXVpcmVkIiwicHJlZml4Iiwic3VmZml4IiwiX3Nob3dDb3VudCIsInNob3dDb3VudCIsInZhbHVlIiwiX3Byb3BzJGRlZmF1bHRWYWx1ZSIsImRlZmF1bHRWYWx1ZSIsIm9uQ2hhbmdlIiwib25Db21wbGV0ZSIsIm9uRm9jdXMiLCJvbkJsdXIiLCJvbktleURvd24iLCJyZWYiLCJleHRlcm5hbElkIiwiaWQiLCJyZXN0IiwiYXV0b0lkIiwiaW5wdXRJZCIsImNsYXNzZXMiLCJfdXNlU3luY1JlZiIsIl91c2VTeW5jUmVmMiIsIl9zbGljZWRUb0FycmF5IiwiaW5wdXRSZWYiLCJzeW5jUmVmIiwiaXNDb21wb3NpbmciLCJ0b3RhbFNsb3RzIiwiZm9ybWF0VmFsdWUiLCJ2YWwiLCJpbml0aWFsRm9ybWF0dGVkIiwiY29udHJvbGxlZEZvcm1hdHRlZCIsInVuZGVmaW5lZCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsImlubmVyVmFsdWUiLCJzZXRJbm5lclZhbHVlIiwiaXNEaXNhYmxlZCIsImFyaWFSZXF1aXJlZCIsImFyaWFJbnZhbGlkIiwiZW1pdENoYW5nZSIsImV2ZW50IiwiaGFuZGxlQ2hhbmdlIiwiY3VycmVudCIsImlucHV0IiwidGFyZ2V0IiwiY3Vyc29yUG9zIiwic2VsZWN0aW9uU3RhcnQiLCJpbnB1dFZhbHVlIiwic2xpY2UiLCJyZXBsYWNlIiwiY2xlYW5SYXciLCJjaCIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIm5leHRQb3MiLCJzZXRTZWxlY3Rpb25SYW5nZSIsImhhbmRsZUtleURvd24iLCJfYiIsIl9jIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJwb3MiLCJzZWxFbmQiLCJzZWxlY3Rpb25FbmQiLCJjdXJyZW50UmF3IiwibmV3UmF3IiwicmF3SWR4IiwidGFyZ2V0UG9zIiwiaGFuZGxlRm9jdXMiLCJoYW5kbGVCbHVyIiwiZW1wdHkiLCJjaGlsZHJlbiIsImFzc2lnbiIsInBsYWNlaG9sZGVyIiwib25Db21wb3NpdGlvblN0YXJ0Iiwib25Db21wb3NpdGlvbkVuZCIsImRpc3BsYXlOYW1lIiwiTWVtb2l6ZWRJbnB1dE1hc2siXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFJQSxNQUFNLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsTUFBTSxJQUFLLFVBQVVDLENBQUMsRUFBRUMsQ0FBQyxFQUFFO0VBQ2xELElBQUlDLENBQUMsR0FBRyxDQUFDLENBQUM7RUFDVixLQUFLLElBQUlDLENBQUMsSUFBSUgsQ0FBQyxFQUFFLElBQUlJLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ1AsQ0FBQyxFQUFFRyxDQUFDLENBQUMsSUFBSUYsQ0FBQyxDQUFDTyxPQUFPLENBQUNMLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFDL0VELENBQUMsQ0FBQ0MsQ0FBQyxDQUFDLEdBQUdILENBQUMsQ0FBQ0csQ0FBQyxDQUFDO0VBQ2YsSUFBSUgsQ0FBQyxJQUFJLElBQUksSUFBSSxPQUFPSSxNQUFNLENBQUNLLHFCQUFxQixLQUFLLFVBQVUsRUFDL0QsS0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxFQUFFUCxDQUFDLEdBQUdDLE1BQU0sQ0FBQ0sscUJBQXFCLENBQUNULENBQUMsQ0FBQyxFQUFFVSxDQUFDLEdBQUdQLENBQUMsQ0FBQ1EsTUFBTSxFQUFFRCxDQUFDLEVBQUUsRUFBRTtJQUNwRSxJQUFJVCxDQUFDLENBQUNPLE9BQU8sQ0FBQ0wsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSU4sTUFBTSxDQUFDQyxTQUFTLENBQUNPLG9CQUFvQixDQUFDTCxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQyxFQUMxRVIsQ0FBQyxDQUFDQyxDQUFDLENBQUNPLENBQUMsQ0FBQyxDQUFDLEdBQUdWLENBQUMsQ0FBQ0csQ0FBQyxDQUFDTyxDQUFDLENBQUMsQ0FBQztFQUN6QjtFQUNK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QUM7UUFBQSxlQUFBLEVBQ2M2RyxZQUFZO1FBQUEsY0FBQSxFQUNiQztNQUFXLENBQUEsQ0FBQSxDQUN6QixFQUNEcEMsTUFBTSxJQUFJN0QsSUFBQSxDQUFBLE1BQUEsRUFBQTtRQUFNcUMsU0FBUyxFQUFFeUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUFBbUQsUUFBQSxFQUFHcEU7TUFBTSxDQUFBLENBQVE7SUFBQSxDQUFBO0VBQzFELENBQUEsQ0FDSztBQUVqQixDQUFDO0FBRUQ1QixTQUFTLENBQUNxRyxXQUFXLEdBQUcsV0FBVztBQUVuQyxJQUFNQyxpQkFBaUIsZ0JBQUdwSSxJQUFJLENBQUM4QixTQUFTLENBQUM7QUFDekNzRyxpQkFBaUIsQ0FBQ0QsV0FBVyxHQUFHLFdBQVc7QUFFM0MsZUFBZUMsaUJBQWlCIiwiZmlsZSI6ImNvbXBvbmVudHMvSW5wdXQvTWFzay9NYXNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IG1lbW8sIHVzZUlkLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlQ29udHJvbGxlZFN0YXRlIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlQ29udHJvbGxlZFN0YXRlJztcbmltcG9ydCB1c2VFdmVudENhbGxiYWNrIGZyb20gJ0AxbW9uZXkvaG9va3MvdXNlRXZlbnRDYWxsYmFjayc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIGNsYXNzbmFtZXMsIGpvaW5DbHMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9jbGFzc25hbWVzJztcbmltcG9ydCB7IEZpZWxkU2hlbGwgfSBmcm9tICcuLi9GaWVsZFNoZWxsJztcbmltcG9ydCB7IHVzZVN5bmNSZWYgfSBmcm9tICcuLi91c2VTeW5jUmVmJztcbi8qKiBNYXNrIHRva2VuIG1hdGNoZXJzOiA5ID0gZGlnaXQsIGEgPSBsZXR0ZXIsICogPSBhbHBoYW51bWVyaWMgKi9cbmNvbnN0IE1BU0tfVE9LRU4gPSB7XG4gICAgJzknOiAvXFxkLyxcbiAgICAnYSc6IC9bYS16QS1aXS8sXG4gICAgJyonOiAvW2EtekEtWjAtOV0vLFxufTtcbmNvbnN0IGlzTWFza1Rva2VuID0gKGNoYXIpID0+IGNoYXIgaW4gTUFTS19UT0tFTjtcbi8qKiBBcHBseSBtYXNrIHRvIHJhdyB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBmb3JtYXR0ZWQgc3RyaW5nICovXG5jb25zdCBhcHBseU1hc2sgPSAocmF3LCBtYXNrLCBzbG90Q2hhcikgPT4ge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBsZXQgcmF3SW5kZXggPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBtYXNrQ2hhciA9IG1hc2tbaV07XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrQ2hhcikpIHtcbiAgICAgICAgICAgIGlmIChyYXdJbmRleCA8IHJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZSA9IE1BU0tfVE9LRU5bbWFza0NoYXJdO1xuICAgICAgICAgICAgICAgIC8vIFNraXAgaW52YWxpZCBjaGFyYWN0ZXJzIGluIHJhd1xuICAgICAgICAgICAgICAgIHdoaWxlIChyYXdJbmRleCA8IHJhdy5sZW5ndGggJiYgIXJlLnRlc3QocmF3W3Jhd0luZGV4XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJhd0luZGV4IDwgcmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQgKz0gcmF3W3Jhd0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgcmF3SW5kZXgrKztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSBzbG90Q2hhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gc2xvdENoYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gbWFza0NoYXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG4vKiogRXh0cmFjdCByYXcgdmFsdWUgKG9ubHkgdXNlci10eXBlZCBjaGFyYWN0ZXJzLCBubyBsaXRlcmFscyBvciBzbG90IGNoYXJzKSAqL1xuY29uc3QgZXh0cmFjdFJhdyA9IChmb3JtYXR0ZWQsIG1hc2ssIHNsb3RDaGFyKSA9PiB7XG4gICAgbGV0IHJhdyA9ICcnO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWFzay5sZW5ndGggJiYgaSA8IGZvcm1hdHRlZC5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaXNNYXNrVG9rZW4obWFza1tpXSkgJiYgZm9ybWF0dGVkW2ldICE9PSBzbG90Q2hhcikge1xuICAgICAgICAgICAgcmF3ICs9IGZvcm1hdHRlZFtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmF3O1xufTtcbi8qKiBDb3VudCBob3cgbWFueSBtYXNrIHRva2VucyBleGlzdCBpbiB0aGUgbWFzayBwYXR0ZXJuICovXG5jb25zdCBjb3VudFRva2VuU2xvdHMgPSAobWFzaykgPT4ge1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSlcbiAgICAgICAgICAgIGNvdW50Kys7XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbn07XG4vKiogRmluZCB0aGUgY3Vyc29yIHBvc2l0aW9uIGZvciB0aGUgbmV4dCBhdmFpbGFibGUgbWFzayB0b2tlbiBzbG90ICovXG5jb25zdCBmaW5kTmV4dFNsb3QgPSAobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgZnJvbUluZGV4KSA9PiB7XG4gICAgZm9yIChsZXQgaSA9IGZyb21JbmRleDsgaSA8IG1hc2subGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pICYmIChpID49IGZvcm1hdHRlZC5sZW5ndGggfHwgZm9ybWF0dGVkW2ldID09PSBzbG90Q2hhcikpIHtcbiAgICAgICAgICAgIHJldHVybiBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmcm9tSW5kZXg7XG59O1xuLyoqIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBzbG90IGNoYXIgaW4gZm9ybWF0dGVkIHZhbHVlICovXG5jb25zdCBmaW5kRmlyc3RTbG90ID0gKGZvcm1hdHRlZCwgc2xvdENoYXIpID0+IHtcbiAgICBjb25zdCBpZHggPSBmb3JtYXR0ZWQuaW5kZXhPZihzbG90Q2hhcik7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBmb3JtYXR0ZWQubGVuZ3RoIDogaWR4O1xufTtcbmV4cG9ydCBjb25zdCBJbnB1dE1hc2sgPSAocHJvcHMpID0+IHtcbiAgICB2YXIgX2E7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgbGFiZWxDbGFzc05hbWUsIHByZWZpeENscyA9ICdpbnB1dCcsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIGRpc2FibGVkID0gZmFsc2UsIGxvYWRpbmcgPSBmYWxzZSwgbWFzaywgc2xvdENoYXIgPSAnXycsIHVubWFzayA9IGZhbHNlLCBhdXRvQ2xlYXIgPSBmYWxzZSwgbGFiZWwsIGluZm8sIGZlZWRiYWNrLCBmZWVkYmFja0ljb24sIHRpcCwgcmVxdWlyZWQsIHByZWZpeCwgc3VmZml4LCBcbiAgICAvLyBBY2NlcHRlZCB2aWEgSW5wdXRCYXNlUHJvcHMgYnV0IG1lYW5pbmdsZXNzIGhlcmUgKHRoZSBtYXNrIHBhdHRlcm5cbiAgICAvLyBhbHJlYWR5IGZpeGVzIHRoZSBsZW5ndGgpOyBkZXN0cnVjdHVyZWQgc28gaXQgbmV2ZXIgbGVha3Mgb250byB0aGVcbiAgICAvLyBET00gaW5wdXQgYXMgYW4gdW5rbm93biBhdHRyaWJ1dGUuXG4gICAgc2hvd0NvdW50OiBfc2hvd0NvdW50LCB2YWx1ZSwgZGVmYXVsdFZhbHVlID0gJycsIG9uQ2hhbmdlLCBvbkNvbXBsZXRlLCBvbkZvY3VzLCBvbkJsdXIsIG9uS2V5RG93biwgcmVmLCBpZDogZXh0ZXJuYWxJZCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcImNsYXNzTmFtZVwiLCBcImxhYmVsQ2xhc3NOYW1lXCIsIFwicHJlZml4Q2xzXCIsIFwic2l6ZVwiLCBcInN0YXR1c1wiLCBcImRpc2FibGVkXCIsIFwibG9hZGluZ1wiLCBcIm1hc2tcIiwgXCJzbG90Q2hhclwiLCBcInVubWFza1wiLCBcImF1dG9DbGVhclwiLCBcImxhYmVsXCIsIFwiaW5mb1wiLCBcImZlZWRiYWNrXCIsIFwiZmVlZGJhY2tJY29uXCIsIFwidGlwXCIsIFwicmVxdWlyZWRcIiwgXCJwcmVmaXhcIiwgXCJzdWZmaXhcIiwgXCJzaG93Q291bnRcIiwgXCJ2YWx1ZVwiLCBcImRlZmF1bHRWYWx1ZVwiLCBcIm9uQ2hhbmdlXCIsIFwib25Db21wbGV0ZVwiLCBcIm9uRm9jdXNcIiwgXCJvbkJsdXJcIiwgXCJvbktleURvd25cIiwgXCJyZWZcIiwgXCJpZFwiXSk7XG4gICAgY29uc3QgYXV0b0lkID0gdXNlSWQoKTtcbiAgICBjb25zdCBpbnB1dElkID0gZXh0ZXJuYWxJZCAhPT0gbnVsbCAmJiBleHRlcm5hbElkICE9PSB2b2lkIDAgPyBleHRlcm5hbElkIDogYXV0b0lkO1xuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc25hbWVzKHByZWZpeENscyk7XG4gICAgY29uc3QgW2lucHV0UmVmLCBzeW5jUmVmXSA9IHVzZVN5bmNSZWYocmVmKTtcbiAgICBjb25zdCBpc0NvbXBvc2luZyA9IHVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgdG90YWxTbG90cyA9IGNvdW50VG9rZW5TbG90cyhtYXNrKTtcbiAgICAvLyBJbnRlcm5hbCBzdGF0ZSBhbHdheXMgc3RvcmVzIHRoZSBmb3JtYXR0ZWQgdmFsdWVcbiAgICBjb25zdCBmb3JtYXRWYWx1ZSA9ICh2YWwpID0+IGFwcGx5TWFzayh2YWwsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICBjb25zdCBpbml0aWFsRm9ybWF0dGVkID0gZGVmYXVsdFZhbHVlID8gZm9ybWF0VmFsdWUoZGVmYXVsdFZhbHVlKSA6ICcnO1xuICAgIGNvbnN0IGNvbnRyb2xsZWRGb3JtYXR0ZWQgPSB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gZm9ybWF0VmFsdWUodmFsdWUpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IFtpbm5lclZhbHVlLCBzZXRJbm5lclZhbHVlXSA9IHVzZUNvbnRyb2xsZWRTdGF0ZShpbml0aWFsRm9ybWF0dGVkLCBjb250cm9sbGVkRm9ybWF0dGVkKTtcbiAgICBjb25zdCBpc0Rpc2FibGVkID0gZGlzYWJsZWQgfHwgbG9hZGluZztcbiAgICBjb25zdCBhcmlhUmVxdWlyZWQgPSByZXF1aXJlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG4gICAgY29uc3QgYXJpYUludmFsaWQgPSBzdGF0dXMgPT09ICdlcnJvcicgPyAndHJ1ZScgOiAnZmFsc2UnO1xuICAgIGNvbnN0IGVtaXRDaGFuZ2UgPSB1c2VFdmVudENhbGxiYWNrKChmb3JtYXR0ZWQsIGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IHJhdyA9IGV4dHJhY3RSYXcoZm9ybWF0dGVkLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIG9uQ2hhbmdlID09PSBudWxsIHx8IG9uQ2hhbmdlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkNoYW5nZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQsIGV2ZW50KTtcbiAgICAgICAgaWYgKHJhdy5sZW5ndGggPT09IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIG9uQ29tcGxldGUgPT09IG51bGwgfHwgb25Db21wbGV0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25Db21wbGV0ZSh1bm1hc2sgPyByYXcgOiBmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoaXNDb21wb3NpbmcuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIGNvbnN0IGN1cnNvclBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICBjb25zdCBpbnB1dFZhbHVlID0gaW5wdXQudmFsdWU7XG4gICAgICAgIC8vIEV4dHJhY3Qgb25seSB2YWxpZCBjaGFyYWN0ZXJzIGZyb20gdGhlIHJhdyBpbnB1dFxuICAgICAgICBjb25zdCByYXcgPSBleHRyYWN0UmF3KGlucHV0VmFsdWUsIG1hc2ssIHNsb3RDaGFyKVxuICAgICAgICAgICAgKyBpbnB1dFZhbHVlLnNsaWNlKGN1cnNvclBvcyA+IDAgPyBjdXJzb3JQb3MgLSAxIDogMCwgY3Vyc29yUG9zKS5yZXBsYWNlKC9bXlxcZGEtekEtWl0vZywgJycpO1xuICAgICAgICAvLyBSZS1leHRyYWN0IGZyb20gdGhlIGZ1bGwgaW5wdXQgdG8gZ2V0IGNsZWFuIHJhd1xuICAgICAgICBsZXQgY2xlYW5SYXcgPSAnJztcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnB1dFZhbHVlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBjaCA9IGlucHV0VmFsdWVbaV07XG4gICAgICAgICAgICBpZiAoL1tcXGRhLXpBLVpdLy50ZXN0KGNoKSlcbiAgICAgICAgICAgICAgICBjbGVhblJhdyArPSBjaDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2soY2xlYW5SYXcsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgZXZlbnQpO1xuICAgICAgICAvLyBQb3NpdGlvbiBjdXJzb3IgYWZ0ZXIgdGhlIGxhc3QgZmlsbGVkIHNsb3RcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kRmlyc3RTbG90KGZvcm1hdHRlZCwgc2xvdENoYXIpO1xuICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgY29uc3QgaW5wdXQgPSBpbnB1dFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAoIWlucHV0KVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQmFja3NwYWNlJykge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IChfYSA9IGlucHV0LnNlbGVjdGlvblN0YXJ0KSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAwO1xuICAgICAgICAgICAgY29uc3Qgc2VsRW5kID0gKF9iID0gaW5wdXQuc2VsZWN0aW9uRW5kKSAhPT0gbnVsbCAmJiBfYiAhPT0gdm9pZCAwID8gX2IgOiAwO1xuICAgICAgICAgICAgaWYgKHBvcyA9PT0gMCAmJiBzZWxFbmQgPT09IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY29uc3QgY3VycmVudFJhdyA9IGV4dHJhY3RSYXcoaW5uZXJWYWx1ZSwgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgaWYgKHBvcyAhPT0gc2VsRW5kKSB7XG4gICAgICAgICAgICAgICAgLy8gU2VsZWN0aW9uOiByZW1vdmUgYWxsIHJhdyBjaGFycyBpbiB0aGUgc2VsZWN0ZWQgcmFuZ2VcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aCAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBwb3MgfHwgaSA+PSBzZWxFbmQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSYXcgKz0gY3VycmVudFJhd1tyYXdJZHhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgICAgIHNldElubmVyVmFsdWUoZm9ybWF0dGVkKTtcbiAgICAgICAgICAgICAgICBlbWl0Q2hhbmdlKGZvcm1hdHRlZCwgeyB0YXJnZXQ6IGlucHV0IH0pO1xuICAgICAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5leHRQb3MgPSBmaW5kTmV4dFNsb3QobWFzaywgZm9ybWF0dGVkLCBzbG90Q2hhciwgcG9zKTtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UobmV4dFBvcywgbmV4dFBvcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5nbGUgYmFja3NwYWNlOiBmaW5kIHByZXYgdG9rZW4gcG9zaXRpb24gYW5kIHJlbW92ZSBpdFxuICAgICAgICAgICAgICAgIGxldCB0YXJnZXRQb3MgPSBwb3MgLSAxO1xuICAgICAgICAgICAgICAgIHdoaWxlICh0YXJnZXRQb3MgPj0gMCAmJiAhaXNNYXNrVG9rZW4obWFza1t0YXJnZXRQb3NdKSkge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRQb3MtLTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRhcmdldFBvcyA8IDApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBsZXQgbmV3UmF3ID0gJyc7XG4gICAgICAgICAgICAgICAgbGV0IHJhd0lkeCA9IDA7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc01hc2tUb2tlbihtYXNrW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGkgIT09IHRhcmdldFBvcyAmJiByYXdJZHggPCBjdXJyZW50UmF3Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByYXdJZHgrKztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBhcHBseU1hc2sobmV3UmF3LCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgICAgIGVtaXRDaGFuZ2UoZm9ybWF0dGVkLCB7IHRhcmdldDogaW5wdXQgfSk7XG4gICAgICAgICAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UodGFyZ2V0UG9zLCB0YXJnZXRQb3MpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdEZWxldGUnKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgY29uc3QgcG9zID0gKF9jID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IDA7XG4gICAgICAgICAgICBsZXQgdGFyZ2V0UG9zID0gcG9zO1xuICAgICAgICAgICAgd2hpbGUgKHRhcmdldFBvcyA8IG1hc2subGVuZ3RoICYmICFpc01hc2tUb2tlbihtYXNrW3RhcmdldFBvc10pKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0UG9zKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGFyZ2V0UG9zID49IG1hc2subGVuZ3RoKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSYXcgPSBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKTtcbiAgICAgICAgICAgIGxldCBuZXdSYXcgPSAnJztcbiAgICAgICAgICAgIGxldCByYXdJZHggPSAwO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXNrLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTWFza1Rva2VuKG1hc2tbaV0pKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpICE9PSB0YXJnZXRQb3MgJiYgcmF3SWR4IDwgY3VycmVudFJhdy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JhdyArPSBjdXJyZW50UmF3W3Jhd0lkeF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmF3SWR4Kys7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gYXBwbHlNYXNrKG5ld1JhdywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICAgICAgZW1pdENoYW5nZShmb3JtYXR0ZWQsIHsgdGFyZ2V0OiBpbnB1dCB9KTtcbiAgICAgICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgb25LZXlEb3duID09PSBudWxsIHx8IG9uS2V5RG93biA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25LZXlEb3duKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVGb2N1cyA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIC8vIE9uIGZvY3VzLCBpZiBlbXB0eSBzaG93IHRoZSBtYXNrIHBsYWNlaG9sZGVyXG4gICAgICAgIGlmICghaW5uZXJWYWx1ZSB8fCBleHRyYWN0UmF3KGlubmVyVmFsdWUsIG1hc2ssIHNsb3RDaGFyKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGFwcGx5TWFzaygnJywgbWFzaywgc2xvdENoYXIpO1xuICAgICAgICAgICAgc2V0SW5uZXJWYWx1ZShmb3JtYXR0ZWQpO1xuICAgICAgICB9XG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGlucHV0UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSBmaW5kRmlyc3RTbG90KGlucHV0LnZhbHVlLCBzbG90Q2hhcik7XG4gICAgICAgICAgICAgICAgaW5wdXQuc2V0U2VsZWN0aW9uUmFuZ2UocG9zLCBwb3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgb25Gb2N1cyA9PT0gbnVsbCB8fCBvbkZvY3VzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkZvY3VzKGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVCbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgcmF3ID0gZXh0cmFjdFJhdyhpbm5lclZhbHVlLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgIGlmIChhdXRvQ2xlYXIgJiYgcmF3Lmxlbmd0aCA+IDAgJiYgcmF3Lmxlbmd0aCA8IHRvdGFsU2xvdHMpIHtcbiAgICAgICAgICAgIGNvbnN0IGVtcHR5ID0gYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhcik7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKGVtcHR5KTtcbiAgICAgICAgICAgIGVtaXRDaGFuZ2UoZW1wdHksIHsgdGFyZ2V0OiBldmVudC50YXJnZXQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgY29tcGxldGVseSBlbXB0eSwgY2xlYXIgdGhlIGZvcm1hdHRlZCBtYXNrXG4gICAgICAgIGlmIChyYXcubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBzZXRJbm5lclZhbHVlKCcnKTtcbiAgICAgICAgfVxuICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgIH0pO1xuICAgIHJldHVybiAoX2pzeChGaWVsZFNoZWxsLCB7IGNsYXNzTmFtZTogY2xhc3NOYW1lLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIHByZWZpeENsczogcHJlZml4Q2xzLCBzaXplOiBzaXplLCBzdGF0dXM6IHN0YXR1cywgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIGxhYmVsOiBsYWJlbCwgaW5mbzogaW5mbywgdGlwOiB0aXAsIGZlZWRiYWNrOiBmZWVkYmFjaywgZmVlZGJhY2tJY29uOiBmZWVkYmFja0ljb24sIHJlcXVpcmVkOiByZXF1aXJlZCwgaW5wdXRJZDogaW5wdXRJZCwgY2hpbGRyZW46IF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250cm9sJywgam9pbkNscyhpc0Rpc2FibGVkICYmIGNsYXNzZXMoJ2NvbnRyb2wtZGlzYWJsZWQnKSkpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJpbnB1dFwiLCBPYmplY3QuYXNzaWduKHt9LCByZXN0LCB7IHJlZjogc3luY1JlZiwgaWQ6IGlucHV0SWQsIGNsYXNzTmFtZTogY2xhc3NlcygnZmllbGQnKSwgZGlzYWJsZWQ6IGlzRGlzYWJsZWQsIHZhbHVlOiBpbm5lclZhbHVlLCBwbGFjZWhvbGRlcjogKF9hID0gcmVzdC5wbGFjZWhvbGRlcikgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogYXBwbHlNYXNrKCcnLCBtYXNrLCBzbG90Q2hhciksIG9uQ2hhbmdlOiBoYW5kbGVDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlS2V5RG93biwgb25Gb2N1czogaGFuZGxlRm9jdXMsIG9uQmx1cjogaGFuZGxlQmx1ciwgb25Db21wb3NpdGlvblN0YXJ0OiAoKSA9PiB7IGlzQ29tcG9zaW5nLmN1cnJlbnQgPSB0cnVlOyB9LCBvbkNvbXBvc2l0aW9uRW5kOiAoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNDb21wb3NpbmcuY3VycmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlKGUpO1xuICAgICAgICAgICAgICAgICAgICB9LCBcImFyaWEtcmVxdWlyZWRcIjogYXJpYVJlcXVpcmVkLCBcImFyaWEtaW52YWxpZFwiOiBhcmlhSW52YWxpZCB9KSksIHN1ZmZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnc3VmZml4JyksIGNoaWxkcmVuOiBzdWZmaXggfSldIH0pIH0pKTtcbn07XG5JbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmNvbnN0IE1lbW9pemVkSW5wdXRNYXNrID0gbWVtbyhJbnB1dE1hc2spO1xuTWVtb2l6ZWRJbnB1dE1hc2suZGlzcGxheU5hbWUgPSAnSW5wdXRNYXNrJztcbmV4cG9ydCBkZWZhdWx0IE1lbW9pemVkSW5wdXRNYXNrOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -19,6 +19,11 @@ export interface InputBaseProps {
|
|
|
19
19
|
suffix?: ReactNode;
|
|
20
20
|
allowClear?: boolean;
|
|
21
21
|
loading?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Render a live character counter in the suffix area — `x/max` when
|
|
24
|
+
* `maxLength` is set, plain `x` otherwise.
|
|
25
|
+
*/
|
|
26
|
+
showCount?: boolean;
|
|
22
27
|
}
|
|
23
28
|
export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size' | 'onChange'>, InputBaseProps {
|
|
24
29
|
ref?: RefObject<HTMLInputElement | null>;
|