nsc-react-component 1.3.11 → 1.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/form/Form.d.ts +2 -5
- package/lib/form/Form.js +23 -7
- package/lib/select/index.d.ts +3 -0
- package/lib/select/index.js +41 -12
- package/package.json +5 -3
package/lib/form/Form.d.ts
CHANGED
|
@@ -16,10 +16,7 @@ declare class NscForm extends PureComponent<IFormProps> {
|
|
|
16
16
|
formDrawerProps: {};
|
|
17
17
|
};
|
|
18
18
|
constructor(props: any);
|
|
19
|
-
static getDerivedStateFromProps(nextProps: any, prevState: any):
|
|
20
|
-
formVisible: any;
|
|
21
|
-
formDrawerProps: any;
|
|
22
|
-
};
|
|
19
|
+
static getDerivedStateFromProps(nextProps: any, prevState: any): any;
|
|
23
20
|
getFieldError(name: any): string[];
|
|
24
21
|
getFieldInstance(name: any): any;
|
|
25
22
|
getFieldsError(): import("rc-field-form/es/interface").FieldError[];
|
|
@@ -36,7 +33,7 @@ declare class NscForm extends PureComponent<IFormProps> {
|
|
|
36
33
|
onSubmit(url?: string, options?: any, callback?: (res?: any) => void, msg?: boolean): void;
|
|
37
34
|
validateFields(name: any): Promise<any>;
|
|
38
35
|
hideForm(): void;
|
|
39
|
-
showForm(): void;
|
|
36
|
+
showForm(value?: any): void;
|
|
40
37
|
cloneElement(item: any, index?: number): string | React.DetailedReactHTMLElement<{
|
|
41
38
|
key: number;
|
|
42
39
|
children: any;
|
package/lib/form/Form.js
CHANGED
|
@@ -231,10 +231,14 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
231
231
|
}
|
|
232
232
|
}, {
|
|
233
233
|
key: "showForm",
|
|
234
|
-
value: function showForm() {
|
|
234
|
+
value: function showForm(value) {
|
|
235
235
|
this.setState({
|
|
236
236
|
formVisible: true
|
|
237
237
|
});
|
|
238
|
+
|
|
239
|
+
if (value) {
|
|
240
|
+
this.setFieldsValue(value);
|
|
241
|
+
}
|
|
238
242
|
}
|
|
239
243
|
}, {
|
|
240
244
|
key: "cloneElement",
|
|
@@ -285,18 +289,22 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
285
289
|
newModalProps = _objectSpread({
|
|
286
290
|
centered: true
|
|
287
291
|
}, newModalProps);
|
|
288
|
-
return /*#__PURE__*/React.createElement(_Modal, _extends({
|
|
292
|
+
return /*#__PURE__*/React.createElement(_Modal, _extends({
|
|
293
|
+
onCancel: this.hideForm.bind(this)
|
|
294
|
+
}, newModalProps, {
|
|
289
295
|
visible: formVisible
|
|
290
296
|
}), /*#__PURE__*/React.createElement(_Form, _extends({
|
|
291
297
|
ref: this.formRef
|
|
292
298
|
}, layout, props), newChildren));
|
|
293
299
|
} else if (showModel && showModel == "drawer") {
|
|
294
300
|
var newDrawerProps = omit(drawerProps, ["visible"]);
|
|
295
|
-
return /*#__PURE__*/React.createElement(_Drawer, _extends({
|
|
301
|
+
return /*#__PURE__*/React.createElement(_Drawer, _extends({
|
|
302
|
+
onClose: this.hideForm.bind(this)
|
|
303
|
+
}, newDrawerProps, {
|
|
296
304
|
visible: formVisible
|
|
297
305
|
}), /*#__PURE__*/React.createElement(_Form, _extends({
|
|
298
306
|
ref: this.formRef
|
|
299
|
-
}, props), newChildren));
|
|
307
|
+
}, layout, props), newChildren));
|
|
300
308
|
} else {
|
|
301
309
|
return /*#__PURE__*/React.createElement(_Form, _extends({
|
|
302
310
|
ref: this.formRef
|
|
@@ -329,17 +337,25 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
329
337
|
if (showModel == "modal") {
|
|
330
338
|
if (JSON.stringify(formModalProps) !== JSON.stringify(modalProps)) {
|
|
331
339
|
var newState = {
|
|
332
|
-
formVisible: modalProps.visible,
|
|
333
340
|
formDrawerProps: modalProps
|
|
334
341
|
};
|
|
342
|
+
|
|
343
|
+
if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== null || (modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== undefined) {
|
|
344
|
+
newState.formVisibale = modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible;
|
|
345
|
+
}
|
|
346
|
+
|
|
335
347
|
return newState;
|
|
336
348
|
}
|
|
337
349
|
} else if (showModel == "drawer") {
|
|
338
350
|
if (JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)) {
|
|
339
351
|
var _newState = {
|
|
340
|
-
formVisible: drawerProps.visible,
|
|
341
352
|
formDrawerProps: drawerProps
|
|
342
353
|
};
|
|
354
|
+
|
|
355
|
+
if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null || (drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== undefined) {
|
|
356
|
+
_newState.formVisibale = drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible;
|
|
357
|
+
}
|
|
358
|
+
|
|
343
359
|
return _newState;
|
|
344
360
|
}
|
|
345
361
|
}
|
|
@@ -352,4 +368,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
352
368
|
}(PureComponent);
|
|
353
369
|
|
|
354
370
|
export default NscForm;
|
|
355
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwic2V0U3RhdGUiLCJpdGVtIiwiaW5kZXgiLCJfdGhpcyIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsImUiLCJuZXdDaGlsZHJlbiIsInNob3dNb2RlbCIsImRyYXdlclByb3BzIiwibW9kYWxQcm9wcyIsInN0YXRlIiwibGF5b3V0IiwibGFiZWxDb2wiLCJzcGFuIiwid3JhcHBlckNvbCIsIm5ld01vZGFsUHJvcHMiLCJjZW50ZXJlZCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwibmV3U3RhdGUiLCJ2aXNpYmxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFVTUMsTzs7Ozs7QUFRSixtQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNEVBUFRMLEtBQUssQ0FBQ00sU0FBTixFQU9TOztBQUFBLDZEQU5YO0FBQ05DLE1BQUFBLFdBQVcsRUFBRSxLQURQO0FBRU5DLE1BQUFBLGNBQWMsRUFBRSxFQUZWO0FBR05DLE1BQUFBLGVBQWUsRUFBRTtBQUhYLEtBTVc7O0FBQUE7QUFFbEI7Ozs7V0F5QkQ7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUNsQixhQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBYixDQUFxQkMsYUFBckIsQ0FBbUNILElBQW5DLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQ3JCLGFBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFiLENBQXFCRSxnQkFBckIsQ0FBc0NKLElBQXRDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFDZixhQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBYixDQUFxQkcsY0FBckIsRUFBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQjtBQUNmLGFBQU8sS0FBS0osT0FBTCxDQUFhQyxPQUFiLENBQXFCSSxjQUFyQixFQUFQ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QUFTLElBQUksUUFBakIsRUFBMkI7QUFDaEMsWUFBSWMsSUFBSSxDQUFDQyxTQUFMLENBQWV6RSxlQUFmLE1BQW9Dd0UsSUFBSSxDQUFDQyxTQUFMLENBQWVkLFdBQWYsQ0FBeEMsRUFBcUU7QUFDbkUsY0FBSWUsU0FBUSxHQUFHO0FBQ2I1RSxZQUFBQSxXQUFXLEVBQUU2RCxXQUFXLENBQUNnQixPQURaO0FBRWIzRSxZQUFBQSxlQUFlLEVBQUUyRDtBQUZKLFdBQWY7QUFJQSxpQkFBT2UsU0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUFqQ21CbEYsYTs7QUE4T3RCLGVBQWVHLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm0sXHJcbiAgRm9ybVByb3BzLFxyXG4gIE1vZGFsLFxyXG4gIERyYXdlcixcclxuICBNb2RhbFByb3BzLFxyXG4gIERyYXdlclByb3BzLFxyXG4gIG1lc3NhZ2UsXHJcbn0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuXHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHM7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtVmlzaWJsZTogbW9kYWxQcm9wcy52aXNpYmxlLFxyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtVmlzaWJsZTogZHJhd2VyUHJvcHMudmlzaWJsZSxcclxuICAgICAgICAgIGZvcm1EcmF3ZXJQcm9wczogZHJhd2VyUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTplJnor6/kv6Hmga9cclxuICBnZXRGaWVsZEVycm9yKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZEVycm9yKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlrp7kvotcclxuICBnZXRGaWVsZEluc3RhbmNlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTlgLxcclxuICBnZXRGaWVsZFZhbHVlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZFZhbHVlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkc1RvdWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZHNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeWvueW6lOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRUb3VjaGVkKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkVG91Y2hlZChuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm5q2j5Zyo5qCh6aqMXHJcbiAgaXNGaWVsZFZhbGlkYXRpbmcobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRWYWxpZGF0aW5nKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ph43nva7kuIDnu4TlrZfmrrXliLBcclxuICByZXNldEZpZWxkcygpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50LnNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHMoZmlsZHMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50LnNldEZpZWxkcyhmaWxkcyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZvcm1WaXNpYmxlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3QgeyBzaG93TW9kZWwsIGRyYXdlclByb3BzLCBtb2RhbFByb3BzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtVmlzaWJsZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGxheW91dCA9IHtcclxuICAgICAgbGFiZWxDb2w6IHsgc3BhbjogNCB9LFxyXG4gICAgICB3cmFwcGVyQ29sOiB7IHNwYW46IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgY2VudGVyZWQ6IHRydWUsIC4uLm5ld01vZGFsUHJvcHMgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWwgey4uLm5ld01vZGFsUHJvcHN9IHZpc2libGU9e2Zvcm1WaXNpYmxlfT5cclxuICAgICAgICAgIDxGb3JtIHJlZj17dGhpcy5mb3JtUmVmfSB7Li4ubGF5b3V0fSB7Li4ucHJvcHN9PlxyXG4gICAgICAgICAgICB7bmV3Q2hpbGRyZW59XHJcbiAgICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQoZHJhd2VyUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxEcmF3ZXIgey4uLm5ld0RyYXdlclByb3BzfSB2aXNpYmxlPXtmb3JtVmlzaWJsZX0+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
|
|
371
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsIl90aGlzIiwia2V5IiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJDaGlsZHJlbiIsIm1hcCIsImNoaWxkIiwiY2xvbmVFbGVtZW50IiwiZSIsIm5ld0NoaWxkcmVuIiwic2hvd01vZGVsIiwiZHJhd2VyUHJvcHMiLCJtb2RhbFByb3BzIiwic3RhdGUiLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwibmV3TW9kYWxQcm9wcyIsImNlbnRlcmVkIiwiaGlkZUZvcm0iLCJiaW5kIiwibmV3RHJhd2VyUHJvcHMiLCJyZW5kZXJQYW5lbCIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiLCJmb3JtVmlzaWJhbGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBV0EsU0FBU0MsT0FBVCxRQUF3Qix1QkFBeEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCOztJQVVNQyxPOzs7OztBQVFKLG1CQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw0RUFQVEwsS0FBSyxDQUFDTSxTQUFOLEVBT1M7O0FBQUEsNkRBTlg7QUFDTkMsTUFBQUEsV0FBVyxFQUFFLEtBRFA7QUFFTkMsTUFBQUEsY0FBYyxFQUFFLEVBRlY7QUFHTkMsTUFBQUEsZUFBZSxFQUFFO0FBSFgsS0FNVzs7QUFBQTtBQUVsQjs7OztXQWlDRDtBQUNBLDJCQUFjQyxJQUFkLEVBQW9CO0FBQ2xCLGFBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFiLENBQXFCQyxhQUFyQixDQUFtQ0gsSUFBbkMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQkEsSUFBakIsRUFBdUI7QUFDckIsYUFBTyxLQUFLQyxPQUFMLENBQWFDLE9BQWIsQ0FBcUJFLGdCQUFyQixDQUFzQ0osSUFBdEMsQ0FBUDtBQUNELEssQ0FFRDs7OztXQUNBLDBCQUFpQjtBQUNmLGFBQU8sS0FBS0MsT0FBTCxDQUFhQyxPQUFiLENBQXFCRyxjQUFyQixFQUFQO0FBQ0QsSyxDQUVEOzs7O1dBQ0EsMEJB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QUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBekNtQnJGLGE7O0FBaVF0QixlQUFlRyxPQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjrooajljZXnu4Tku7ZcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA5IDA5OjE4OjM0XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNToyMzo1NFxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHtcclxuICBGb3JtLFxyXG4gIEZvcm1Qcm9wcyxcclxuICBNb2RhbCxcclxuICBEcmF3ZXIsXHJcbiAgTW9kYWxQcm9wcyxcclxuICBEcmF3ZXJQcm9wcyxcclxuICBtZXNzYWdlLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IEZvcm1JbnN0YW5jZSB9IGZyb20gXCJhbnRkL2xpYi9mb3JtXCI7XHJcbmltcG9ydCB7IHJlcXVlc3QgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcblxyXG5pbnRlcmZhY2UgSUZvcm1Qcm9wcyBleHRlbmRzIEZvcm1Qcm9wcyB7XHJcbiAgc2hvd01vZGVsPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIjtcclxuICBtb2RhbFByb3BzPzogTW9kYWxQcm9wcztcclxuICBkcmF3ZXJQcm9wcz86IERyYXdlclByb3BzO1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxufVxyXG5cclxuY2xhc3MgTnNjRm9ybSBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUZvcm1Qcm9wcz4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8Rm9ybUluc3RhbmNlPigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgZm9ybU1vZGFsUHJvcHM6IHt9LFxyXG4gICAgZm9ybURyYXdlclByb3BzOiB7fSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShmb3JtTW9kYWxQcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzPy52aXNpYmxlICE9PSBudWxsIHx8IG1vZGFsUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2liYWxlID0gbW9kYWxQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IGRyYXdlclByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSBudWxsIHx8XHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJhbGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOmUmeivr+S/oeaBr1xyXG4gIGdldEZpZWxkRXJyb3IobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkSW5zdGFuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOmUmeivr+S/oeaBr++8jOi/lOWbnuS4uuaVsOe7hOW9ouW8j1xyXG4gIGdldEZpZWxkc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc0Vycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOWAvO+8jOS8muaMieeFp+WvueW6lOe7k+aehOi/lOWbnlxyXG4gIGdldEZpZWxkc1ZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzVmFsdWUodmFsdWVzKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50LnN1Ym1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zPzogYW55LFxyXG4gICAgY2FsbGJhY2s/OiAocmVzPzogYW55KSA9PiB2b2lkLFxyXG4gICAgbXNnPzogYm9vbGVhblxyXG4gICkge1xyXG4gICAgY29uc3QgeyB1cmw6IHByb3BzVXJsLCBlbmNyeXB0RmllbGRzOiBlbmNyeXB0UHJvcHBzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXVybCAmJiAhcHJvcHNVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwi5rKh5pyJ5LiK5Lyg55qEdXJsIVwiKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgbWV0aG9kID0gXCJwb3N0XCIgfSA9IG9wdGlvbnM7XHJcbiAgICBsZXQgcmVxdWVzdFVybCA9IHVybCA/IHVybCA6IHByb3BzVXJsO1xyXG4gICAgbGV0IHJlcXVlc3REYXRhID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQuZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRQcm9wcHM7XHJcbiAgICBsZXQgcmVxdWVzdFBhcmFtID0geyBtZXRob2Q6IG1ldGhvZCwgZGF0YTogcmVxdWVzdERhdGEgfSBhcyB7IGRhdGE6IGFueSB9O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlbmNyeXB0RmllbGRzLCAuLi5wYXJhbXMgfSA9IG9wdGlvbnM7XHJcbiAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMgfTtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICBkZWxldGUgcmVxdWVzdFBhcmFtLmRhdGE7XHJcbiAgICAgICAgaWYgKG1ldGhvZC50b0xvd2VyQ2FzZSgpID09IFwiZ2V0XCIpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIHBhcmFtczogZGF0YSB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBkYXRhOiBkYXRhIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChlbmNyeXB0RmllbGRzKSB7XHJcbiAgICAgICAgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0RmllbGRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdChyZXF1ZXN0VXJsLCB7XHJcbiAgICAgIC4uLnJlcXVlc3RQYXJhbSxcclxuICAgICAgZW5jcnlwdEZpZWxkczogcmVxdWVzdEVuY3J5cHQsXHJcbiAgICB9KVxyXG4gICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICBpZiAobXNnKSB7XHJcbiAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuaPkOS6pOaIkOWKn1wiKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmj5DkuqTlpLHotKVcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlcyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRmllbGRzKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC52YWxpZGF0ZUZpZWxkcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnkpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0RmllbGRzVmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBkcmF3ZXJQcm9wcywgbW9kYWxQcm9wcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybVZpc2libGUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBsYXlvdXQgPSB7XHJcbiAgICAgIGxhYmVsQ29sOiB7IHNwYW46IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiAyMCB9LFxyXG4gICAgfTtcclxuICAgIGlmIChzaG93TW9kZWwgJiYgc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICBsZXQgbmV3TW9kYWxQcm9wcyA9IG9taXQobW9kYWxQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIG5ld01vZGFsUHJvcHMgPSB7IGNlbnRlcmVkOiB0cnVlLCAuLi5uZXdNb2RhbFByb3BzIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICBvbkNhbmNlbD17dGhpcy5oaWRlRm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
|
package/lib/select/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ interface ISelectProps extends SelectProps<any> {
|
|
|
10
10
|
showGroup?: boolean;
|
|
11
11
|
addData?: Array<Object>;
|
|
12
12
|
deleteData?: Array<String>;
|
|
13
|
+
valueBreak?: string;
|
|
13
14
|
[proName: string]: any;
|
|
14
15
|
}
|
|
15
16
|
export default class NSCSelect extends PureComponent<ISelectProps> {
|
|
@@ -24,6 +25,7 @@ export default class NSCSelect extends PureComponent<ISelectProps> {
|
|
|
24
25
|
};
|
|
25
26
|
store: any;
|
|
26
27
|
constructor(props: any);
|
|
28
|
+
resetData(): void;
|
|
27
29
|
getData(): any[];
|
|
28
30
|
getValue(): any;
|
|
29
31
|
setValue(value: any): void;
|
|
@@ -33,6 +35,7 @@ export default class NSCSelect extends PureComponent<ISelectProps> {
|
|
|
33
35
|
renderOption(optionData: any): any;
|
|
34
36
|
renderChildren(): JSX.Element;
|
|
35
37
|
onChange(value: any, options: any): void;
|
|
38
|
+
onDropdownVisibleChange(open: any): void;
|
|
36
39
|
render(): JSX.Element;
|
|
37
40
|
}
|
|
38
41
|
export {};
|
package/lib/select/index.js
CHANGED
|
@@ -192,6 +192,24 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
_createClass(NSCSelect, [{
|
|
195
|
+
key: "resetData",
|
|
196
|
+
value: function resetData() {
|
|
197
|
+
var children = this.props.children;
|
|
198
|
+
var _this$state = this.state,
|
|
199
|
+
allDataSource = _this$state.allDataSource,
|
|
200
|
+
allChildren = _this$state.allChildren;
|
|
201
|
+
|
|
202
|
+
if (children) {
|
|
203
|
+
this.setState({
|
|
204
|
+
children: allChildren
|
|
205
|
+
});
|
|
206
|
+
} else {
|
|
207
|
+
this.setState({
|
|
208
|
+
dataSource: allDataSource
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}, {
|
|
195
213
|
key: "getData",
|
|
196
214
|
value: function getData() {
|
|
197
215
|
return this.state.allDataSource;
|
|
@@ -235,9 +253,9 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
235
253
|
data = _this$props2.data,
|
|
236
254
|
options = _this$props2.options,
|
|
237
255
|
children = _this$props2.children;
|
|
238
|
-
var _this$
|
|
239
|
-
allDataSource = _this$
|
|
240
|
-
allChildren = _this$
|
|
256
|
+
var _this$state2 = this.state,
|
|
257
|
+
allDataSource = _this$state2.allDataSource,
|
|
258
|
+
allChildren = _this$state2.allChildren;
|
|
241
259
|
|
|
242
260
|
if (!children && (data || options)) {
|
|
243
261
|
var newData = data ? data : options;
|
|
@@ -269,9 +287,9 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
269
287
|
}, {
|
|
270
288
|
key: "onSearch",
|
|
271
289
|
value: function onSearch(value) {
|
|
272
|
-
var _this$
|
|
273
|
-
allDataSource = _this$
|
|
274
|
-
allChildren = _this$
|
|
290
|
+
var _this$state3 = this.state,
|
|
291
|
+
allDataSource = _this$state3.allDataSource,
|
|
292
|
+
allChildren = _this$state3.allChildren;
|
|
275
293
|
var _this$props3 = this.props,
|
|
276
294
|
_this$props3$labelFie = _this$props3.labelField,
|
|
277
295
|
labelField = _this$props3$labelFie === void 0 ? "label" : _this$props3$labelFie,
|
|
@@ -388,9 +406,9 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
388
406
|
|
|
389
407
|
var _this$props$showGroup = this.props.showGroup,
|
|
390
408
|
showGroup = _this$props$showGroup === void 0 ? true : _this$props$showGroup;
|
|
391
|
-
var _this$
|
|
392
|
-
dataSource = _this$
|
|
393
|
-
children = _this$
|
|
409
|
+
var _this$state4 = this.state,
|
|
410
|
+
dataSource = _this$state4.dataSource,
|
|
411
|
+
children = _this$state4.children;
|
|
394
412
|
|
|
395
413
|
if (children) {
|
|
396
414
|
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
@@ -429,6 +447,15 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
429
447
|
onChange(value, options);
|
|
430
448
|
}
|
|
431
449
|
}
|
|
450
|
+
}, {
|
|
451
|
+
key: "onDropdownVisibleChange",
|
|
452
|
+
value: function onDropdownVisibleChange(open) {
|
|
453
|
+
console.log("open", open);
|
|
454
|
+
|
|
455
|
+
if (!open) {
|
|
456
|
+
this.resetData();
|
|
457
|
+
}
|
|
458
|
+
}
|
|
432
459
|
}, {
|
|
433
460
|
key: "render",
|
|
434
461
|
value: function render() {
|
|
@@ -462,13 +489,15 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
462
489
|
}, /*#__PURE__*/React.createElement(_Select, _extends({
|
|
463
490
|
value: this.state.selectValue,
|
|
464
491
|
onChange: this.onChange.bind(this),
|
|
465
|
-
onSearch: this.onSearch.bind(this)
|
|
492
|
+
onSearch: this.onSearch.bind(this),
|
|
493
|
+
onDropdownVisibleChange: this.onDropdownVisibleChange.bind(this)
|
|
466
494
|
}, props, params), this.renderChildren()));
|
|
467
495
|
} else {
|
|
468
496
|
return /*#__PURE__*/React.createElement(_Select, _extends({
|
|
469
497
|
value: this.state.selectValue,
|
|
470
498
|
onSearch: this.onSearch.bind(this),
|
|
471
|
-
onChange: this.onChange.bind(this)
|
|
499
|
+
onChange: this.onChange.bind(this),
|
|
500
|
+
onDropdownVisibleChange: this.onDropdownVisibleChange.bind(this)
|
|
472
501
|
}, props, params), this.renderChildren());
|
|
473
502
|
}
|
|
474
503
|
}
|
|
@@ -482,4 +511,4 @@ _defineProperty(NSCSelect, "Option", Option);
|
|
|
482
511
|
_defineProperty(NSCSelect, "OptGroup", OptGroup);
|
|
483
512
|
|
|
484
513
|
export { NSCSelect as default };
|
|
485
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwidmlld1VybCIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwidmFsdWVGaWVsZHMiLCJzcGxpdCIsIm1hcCIsIml0ZW0iLCJpIiwidmFsdWUiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInN0YXRlIiwibmV3UHJvcHMiLCJuZXdTdGF0ZSIsIlNuYXBzaG90IiwiSlNPTiIsInN0cmluZ2lmeSIsIkFycmF5IiwiaXNBcnJheSIsInN0YXRlQ2hpbGRyZW5Qcm9wcyIsInMiLCJwdXNoIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJsYWJlbEZpZWxkIiwiZmlsdGVyT3B0aW9uIiwib25TZWFyY2giLCJyZXN1bHQiLCJmb3JFYWNoIiwibGFiZWwiLCJsYWJlbEZpZWxkcyIsImwiLCJmbGFnIiwibWF0Y2giLCJjaGlsZCIsIm9wdGlvbkRhdGEiLCJrZXkiLCJpZCIsImRpc2FibGVkIiwic2hvd0dyb3VwIiwib3B0R3JvdXBEYXRhIiwiZ3JvdXBOYW1lIiwib3B0aW9uIiwicmVuZGVyT3B0aW9uIiwib3B0R3JvdXAiLCJPYmplY3QiLCJrZXlzIiwib25DaGFuZ2UiLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImNsYXNzTmFtZSIsImJpbmQiLCJyZW5kZXJDaGlsZHJlbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFFQSxPQUFPQyxLQUFQLE1BQWtDLGFBQWxDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5CO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFFQSxPQUFPQyxXQUFQLE1BQXdCLGNBQXhCO0FBQ0EsSUFBUUMsTUFBUixXQUFRQSxNQUFSO0FBQUEsSUFBZ0JDLFFBQWhCLFdBQWdCQSxRQUFoQjs7SUFhcUJDLFM7Ozs7O0FBV25CLHFCQUFZQyxLQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxLQUFOOztBQURpQiw2REFSWDtBQUNOQyxNQUFBQSxVQUFVLEVBQUUsRUFETjtBQUVOQyxNQUFBQSxXQUFXLEVBQUUsSUFGUDtBQUdOQyxNQUFBQSxhQUFhLEVBQUUsRUFIVDtBQUlOQyxNQUFBQSxRQUFRLEVBQUUsSUFKSjtBQUtOQyxNQUFBQSxXQUFXLEVBQUU7QUFMUCxLQVFXOztBQUFBLDZEQURYLEVBQ1c7O0FBRWpCLFFBQ0VDLElBREYsR0FRSU4sS0FSSixDQUNFTSxJQURGO0FBQUEsdUJBUUlOLEtBUkosQ0FFRU8sS0FGRjtB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LEVBQUUsS0FBS2lGLFFBQUwsQ0FBY1EsSUFBZCxDQUFtQixJQUFuQixDQUZaO0FBR0UsVUFBQSxRQUFRLEVBQUUsS0FBSzdCLFFBQUwsQ0FBYzZCLElBQWQsQ0FBbUIsSUFBbkI7QUFIWixXQUlNM0YsS0FKTixFQUtNcUYsTUFMTixHQU9HLEtBQUtPLGNBQUwsRUFQSCxDQURGLENBREY7QUFhRCxPQWRELE1BY087QUFDTCw0QkFDRTtBQUNFLFVBQUEsS0FBSyxFQUFFLEtBQUs3QyxLQUFMLENBQVc3QyxXQURwQjtBQUVFLFVBQUEsUUFBUSxFQUFFLEtBQUs0RCxRQUFMLENBQWM2QixJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxVQUFBLFFBQVEsRUFBRSxLQUFLUixRQUFMLENBQWNRLElBQWQsQ0FBbUIsSUFBbkI7QUFIWixXQUlNM0YsS0FKTixFQUtNcUYsTUFMTixHQU9HLEtBQUtPLGNBQUwsRUFQSCxDQURGO0FBV0Q7QUFDRjs7OztFQXRWb0N0RyxhOztnQkFBbEJTLFMsWUFDSEYsTTs7Z0JBREdFLFMsY0FFREQsUTs7U0FGQ0MsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBzaG93R3JvdXA/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWIhue7hFxyXG4gIGFkZERhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5LuO5aKe5Yqg6aKd5aSW55qE5pWw5o2uXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PFN0cmluZz47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzliKDpmaTku47mlbDmja7lupPkuK3ojrflj5bliLDnmoTmjIflrprmlbDmja5cclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgc2VsZWN0VmFsdWU6IG51bGwsXHJcbiAgICBhbGxEYXRhU291cmNlOiBbXSxcclxuICAgIGNoaWxkcmVuOiBudWxsLFxyXG4gICAgYWxsQ2hpbGRyZW46IG51bGwsXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgICB2YWx1ZUZpZWxkID0gXCJ2YWx1ZVwiLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBsZXQgeyB2aWV3VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICBuZXdEYXRhLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChkZWxldGVEYXRhLmluZGV4T2YodmFsdWUpID4gLTEpIHtcclxuICAgICAgICAgICAgbmV3RGF0YS5zcGxpY2UoaSwgMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICB9O1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvblNlYXJjaCh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbGFiZWxGaWVsZCA9IFwibGFiZWxcIixcclxuICAgICAgZmlsdGVyT3B0aW9uID0gdHJ1ZSxcclxuICAgICAgb25TZWFyY2gsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPSBpdGVtW3ZhbHVlRmllbGRdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZCA/IChpdGVtLmlkICE9PSBcInVuZGVmaW5lZFwiID8gaXRlbS5pZCA6IHZhbHVlKSA6IHZhbHVlO1xyXG4gICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICBsYWJlbD17bGFiZWx9XHJcbiAgICAgICAgICBkaXNhYmxlZD17aXRlbS5kaXNhYmxlZCA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7bGFiZWx9XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHNob3dHcm91cCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UsIGNoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSA9IHRydWUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
514
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwidmlld1VybCIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwidmFsdWVGaWVsZHMiLCJzcGxpdCIsIm1hcCIsIml0ZW0iLCJpIiwidmFsdWUiLCJ2IiwiaW5kZXgiLCJpbmRleE9mIiwic3BsaWNlIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInN0YXRlIiwibmV3UHJvcHMiLCJuZXdTdGF0ZSIsIlNuYXBzaG90IiwiSlNPTiIsInN0cmluZ2lmeSIsIkFycmF5IiwiaXNBcnJheSIsInN0YXRlQ2hpbGRyZW5Qcm9wcyIsInMiLCJwdXNoIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJsYWJlbEZpZWxkIiwiZmlsdGVyT3B0aW9uIiwib25TZWFyY2giLCJyZXN1bHQiLCJmb3JFYWNoIiwibGFiZWwiLCJsYWJlbEZpZWxkcyIsImwiLCJmbGFnIiwibWF0Y2giLCJjaGlsZCIsIm9wdGlvbkRhdGEiLCJrZXkiLCJpZCIsImRpc2FibGVkIiwic2hvd0dyb3VwIiwib3B0R3JvdXBEYXRhIiwiZ3JvdXBOYW1lIiwib3B0aW9uIiwicmVuZGVyT3B0aW9uIiwib3B0R3JvdXAiLCJPYmplY3QiLCJrZXlzIiwib25DaGFuZ2UiLCJvcGVuIiwiY29uc29sZSIsImxvZyIsInJlc2V0RGF0YSIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsInNob3dTZWFyY2giLCJvcHRpb25GaWx0ZXJQcm9wIiwicGxhY2Vob2xkZXIiLCJhbGxvd0NsZWFyIiwiY2xhc3NOYW1lIiwiYmluZCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmVuZGVyQ2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBRUEsT0FBT0MsV0FBUCxNQUF3QixjQUF4QjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBY3FCQyxTOzs7OztBQVduQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBUlg7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsV0FBVyxFQUFFLElBRlA7QUFHTkMsTUFBQUEsYUFBYSxFQUFFLEVBSFQ7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLElBSko7QUFLTkMsTUFBQUEsV0FBVyxFQUFFO0FBTFAsS0FRVzs7QUFBQSw2REFEWCxFQUNXOztBQUVqQixR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LENBQW1CLElBQW5CLENBSFo7QUFJRSxVQUFBLHVCQUF1QixFQUFFLEtBQUtDLHVCQUFMLENBQTZCRCxJQUE3QixDQUFrQyxJQUFsQztBQUozQixXQUtNL0YsS0FMTixFQU1NeUYsTUFOTixHQVFHLEtBQUtRLGNBQUwsRUFSSCxDQURGO0FBWUQ7QUFDRjs7OztFQTFXb0MzRyxhOztnQkFBbEJTLFMsWUFDSEYsTTs7Z0JBREdFLFMsY0FFREQsUTs7U0FGQ0MsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFNlbGVjdCwgU2VsZWN0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgU3RvcmUsIHsgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBQaW55aW5NYXRjaCBmcm9tIFwicGlueWluLW1hdGNoXCI7XHJcbmNvbnN0IHsgT3B0aW9uLCBPcHRHcm91cCB9ID0gU2VsZWN0O1xyXG5cclxuaW50ZXJmYWNlIElTZWxlY3RQcm9wcyBleHRlbmRzIFNlbGVjdFByb3BzPGFueT4ge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBkYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/pu5jorqTmlbDmja5cclxuICBsYWJlbEZpZWxkPzogc3RyaW5nO1xyXG4gIHZhbHVlRmllbGQ/OiBzdHJpbmc7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBzaG93R3JvdXA/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWIhue7hFxyXG4gIGFkZERhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5LuO5aKe5Yqg6aKd5aSW55qE5pWw5o2uXHJcbiAgZGVsZXRlRGF0YT86IEFycmF5PFN0cmluZz47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzliKDpmaTku47mlbDmja7lupPkuK3ojrflj5bliLDnmoTmjIflrprmlbDmja5cclxuICB2YWx1ZUJyZWFrPzogc3RyaW5nOyAvL+WkmuS4qnZhbHVl5L2/55So55qE5YiG6ZqU56ymXHJcbiAgW3Byb05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOU0NTZWxlY3QgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElTZWxlY3RQcm9wcz4ge1xyXG4gIHN0YXRpYyBPcHRpb24gPSBPcHRpb247XHJcbiAgc3RhdGljIE9wdEdyb3VwID0gT3B0R3JvdXA7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIHNlbGVjdFZhbHVlOiBudWxsLFxyXG4gICAgYWxsRGF0YVNvdXJjZTogW10sXHJcbiAgICBjaGlsZHJlbjogbnVsbCxcclxuICAgIGFsbENoaWxkcmVuOiBudWxsLFxyXG4gIH07XHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBhZGREYXRhID0gW10sXHJcbiAgICAgIGRlbGV0ZURhdGEgPSBbXSxcclxuICAgICAgdmFsdWVGaWVsZCA9IFwidmFsdWVcIixcclxuICAgIH0gPSBwcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgdXJsLFxyXG4gICAgICBsaXN0ZW5lcnM6IGxpc3RlbmVyc1BvcHMgPSB7fSxcclxuICAgICAgdmlld25hbWUsXHJcbiAgICAgIGNhY2hlZCxcclxuICAgICAgY2FjaGVLZXksXHJcbiAgICAgIC4uLnN0b3Jlc1xyXG4gICAgfSA9IHN0b3JlO1xyXG4gICAgbGV0IHsgdmlld1VybCB9ID0gY29uZmlnKCk7XHJcbiAgICBjb25zdCBnZXRBbGxEYXRhID0gKGRhdGEpID0+IHtcclxuICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBuZXdEYXRhID0gWy4uLmFkZERhdGEsIC4uLm5ld0RhdGFdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA+IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld0RhdGEuc3BsaWNlKGksIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgfTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB2aWV3bmFtZSB8fCB1cmwgfHwgb3B0aW9ucykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHjgIFvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgYXV0b0xvYWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHVybDogdXJsIHx8IHZpZXdVcmwgKyB2aWV3bmFtZSwgLy/or7vlrZflhbjvvIx1cmzlm7rlrprvvIx2aWV3bmFtZVxyXG4gICAgICAgICAgICBjYWNoZWQ6IGlzQ2FjaGVkLFxyXG4gICAgICAgICAgICBjYWNoZUtleTogaXNDYWNoZUtleSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5zdG9yZVByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBTdG9yZShzdG9yZVByb3BzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0RGF0YSgpIHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjaGlsZHJlbjogYWxsQ2hpbGRyZW4gfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBhbGxEYXRhU291cmNlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5hbGxEYXRhU291cmNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICAgIGFsbERhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnREaWRVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBTbmFwc2hvdCkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBvcHRpb25zLCBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIGNvbnN0IG5ld0RhdGEgPSBkYXRhID8gZGF0YSA6IG9wdGlvbnM7XHJcbiAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhbGxEYXRhU291cmNlKSAhPT0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSkpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgICBhbGxEYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuICYmIEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNvbnN0IHN0YXRlQ2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGFsbENoaWxkcmVuLm1hcCgoczogYW55KSA9PiB7XHJcbiAgICAgICAgc3RhdGVDaGlsZHJlblByb3BzLnB1c2gocy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBjb25zdCBjaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgY2hpbGRyZW4ubWFwKChjOiBhbnkpID0+IHtcclxuICAgICAgICBjaGlsZHJlblByb3BzLnB1c2goYy5wcm9wcyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgSlNPTi5zdHJpbmdpZnkoc3RhdGVDaGlsZHJlblByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoY2hpbGRyZW5Qcm9wcylcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICBhbGxDaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgb25TZWFyY2godmFsdWUpIHtcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGxhYmVsRmllbGQgPSBcImxhYmVsXCIsXHJcbiAgICAgIGZpbHRlck9wdGlvbiA9IHRydWUsXHJcbiAgICAgIG9uU2VhcmNoLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKGZpbHRlck9wdGlvbikge1xyXG4gICAgICBsZXQgcmVzdWx0ID0gW107XHJcbiAgICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICAgICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgICByZXN1bHQucHVzaChpdGVtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZGF0YVNvdXJjZTogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhbGxEYXRhU291cmNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWxsQ2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICAgIGFsbENoaWxkcmVuLm1hcCgoY2hpbGQ6IGFueSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICBsZXQgbGFiZWwgPSBjaGlsZD8ucHJvcHM/LmNoaWxkcmVuO1xyXG4gICAgICAgICAgICAgIGxldCBmbGFnID0gUGlueWluTWF0Y2gubWF0Y2gobGFiZWwsIHZhbHVlKTtcclxuICAgICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY2hpbGQpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IHJlc3VsdCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBvblNlYXJjaCAmJiBvblNlYXJjaCh2YWx1ZSk7XHJcbiAgfVxyXG4gIHJlbmRlck9wdGlvbihvcHRpb25EYXRhKSB7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkID0gXCJsYWJlbFwiLCB2YWx1ZUZpZWxkID0gXCJ2YWx1ZVwiLCBzdG9yZSA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgcmV0dXJuIG9wdGlvbkRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgIGlmICh2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIHZhbHVlID0gaXRlbVt2YWx1ZUZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGtleSA9IGl0ZW0uaWQgPyAoaXRlbS5pZCAhPT0gXCJ1bmRlZmluZWRcIiA/IGl0ZW0uaWQgOiB2YWx1ZSkgOiB2YWx1ZTtcclxuICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgbGFiZWwgPSBpdGVtW2xhYmVsRmllbGRdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICBsYWJlbEZpZWxkcy5tYXAoKGwsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGl0ZW1bbF0gOiBsYWJlbCArIFwiLVwiICsgaXRlbVtsXTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxPcHRpb25cclxuICAgICAgICAgIGtleT17a2V5fVxyXG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxyXG4gICAgICAgICAgbGFiZWw9e2xhYmVsfVxyXG4gICAgICAgICAgZGlzYWJsZWQ9e2l0ZW0uZGlzYWJsZWQgPyB0cnVlIDogZmFsc2V9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2xhYmVsfVxyXG4gICAgICAgIDwvT3B0aW9uPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlckNoaWxkcmVuKCkge1xyXG4gICAgY29uc3QgeyBzaG93R3JvdXAgPSB0cnVlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlLCBjaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICByZXR1cm4gPD57Y2hpbGRyZW59PC8+O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IG9wdEdyb3VwRGF0YSA9IHt9LFxyXG4gICAgICAgIG9wdGlvbkRhdGEgPSBbXTtcclxuICAgICAgZGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgbGV0IGxhYmVsID0gaXRlbS5ncm91cE5hbWU7XHJcbiAgICAgICAgaWYgKGxhYmVsICYmIHNob3dHcm91cCkge1xyXG4gICAgICAgICAgaWYgKCFvcHRHcm91cERhdGFbbGFiZWxdKSBvcHRHcm91cERhdGFbbGFiZWxdID0gW107XHJcbiAgICAgICAgICBvcHRHcm91cERhdGFbbGFiZWxdLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG9wdGlvbkRhdGEucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgb3B0aW9uID0gdGhpcy5yZW5kZXJPcHRpb24ob3B0aW9uRGF0YSk7XHJcbiAgICAgIGxldCBvcHRHcm91cCA9IE9iamVjdC5rZXlzKG9wdEdyb3VwRGF0YSkubWFwKChrZXkpID0+IHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPE9wdEdyb3VwIGtleT17a2V5fSBsYWJlbD17a2V5fT5cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyT3B0aW9uKG9wdEdyb3VwRGF0YVtrZXldKX1cclxuICAgICAgICAgIDwvT3B0R3JvdXA+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgIHtvcHRpb259XHJcbiAgICAgICAgICB7b3B0R3JvdXB9XHJcbiAgICAgICAgPC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uQ2hhbmdlKHZhbHVlLCBvcHRpb25zKSB7XHJcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIG9uQ2hhbmdlKHZhbHVlLCBvcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25Ecm9wZG93blZpc2libGVDaGFuZ2Uob3Blbikge1xyXG4gICAgY29uc29sZS5sb2coXCJvcGVuXCIsb3Blbik7XHJcbiAgICBpZiAoIW9wZW4pIHtcclxuICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3RvcmUsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIG9uQ2hhbmdlLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUgPSB0cnVlLFxyXG4gICAgICBzaG93R3JvdXAgPSB0cnVlLFxyXG4gICAgICBhZGREYXRhLFxyXG4gICAgICBkZWxldGVEYXRhLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgcHJvcHMgPSB7XHJcbiAgICAgIGZpbHRlck9wdGlvbjogZmFsc2UsXHJcbiAgICAgIHNob3dTZWFyY2g6IHRydWUsXHJcbiAgICAgIG9wdGlvbkZpbHRlclByb3A6IFwibGFiZWxcIixcclxuICAgICAgcGxhY2Vob2xkZXI6IFwi6K+36YCJ5oupXCIsXHJcbiAgICAgIGFsbG93Q2xlYXI6IHRydWUsXHJcbiAgICB9O1xyXG4gICAgaWYgKGRlZmF1bHRTdHlsZSkge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoc3R5bGVzW1wibnNjX3NlbGVjdFwiXSwgdGhpcy5wcm9wcy5jbGFzc05hbWUpfT5cclxuICAgICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIG9uU2VhcmNoPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oKX1cclxuICAgICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgIG9uU2VhcmNoPXt0aGlzLm9uU2VhcmNoLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3RoaXMucmVuZGVyQ2hpbGRyZW4oKX1cclxuICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nsc-react-component",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.12",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"less-loader": "^8.1.1",
|
|
43
43
|
"lodash": "^4.17.21",
|
|
44
44
|
"mini-css-extract-plugin": "^1.5.0",
|
|
45
|
-
"nsc-request": "^2.
|
|
45
|
+
"nsc-request": "^2.3.5",
|
|
46
46
|
"react": "^17.0.1",
|
|
47
47
|
"react-dom": "^17.0.1",
|
|
48
48
|
"rimraf": "^3.0.2",
|
|
@@ -54,7 +54,9 @@
|
|
|
54
54
|
"antd": ">=4.0.0",
|
|
55
55
|
"nsc-request": "^2.2.0",
|
|
56
56
|
"react": ">=16.9.0",
|
|
57
|
-
"react-dom": ">=16.9.0"
|
|
57
|
+
"react-dom": ">=16.9.0",
|
|
58
|
+
"@bj-nsc/functions": ">=1.2.25",
|
|
59
|
+
"@bj-nsc/msn": ">=1.0.15"
|
|
58
60
|
},
|
|
59
61
|
"dependencies": {
|
|
60
62
|
"@ant-design/icons": "^4.6.2",
|