nsc-react-component 1.3.21 → 2.0.1
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/button/index.d.ts +1 -0
- package/lib/button/index.js +5 -1
- package/lib/config.d.ts +4 -0
- package/lib/config.js +6 -2
- package/lib/form/Form.js +4 -3
- package/lib/input/index.js +7 -4
- package/lib/select/index.js +6 -4
- package/lib/table/index.d.ts +5 -0
- package/lib/table/index.js +153 -31
- package/lib/table/index.less +15 -0
- package/package.json +1 -1
package/lib/button/index.d.ts
CHANGED
package/lib/button/index.js
CHANGED
|
@@ -35,6 +35,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
35
35
|
import * as React from "react";
|
|
36
36
|
import styles from "./index.less";
|
|
37
37
|
import cls from "classnames";
|
|
38
|
+
import config from "../config";
|
|
38
39
|
/**
|
|
39
40
|
* @param {string} defaultStyle 是否显示默认样式,传入默认样式,
|
|
40
41
|
* type 默认样式分为两种按钮模式,铺满和带边框两种 default ,border 默认primary
|
|
@@ -77,6 +78,9 @@ var NSCButton = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
77
78
|
loading = _this$props.loading,
|
|
78
79
|
params = _objectWithoutProperties(_this$props, _excluded);
|
|
79
80
|
|
|
81
|
+
var _config = config(),
|
|
82
|
+
antdStyle = _config.antdStyle;
|
|
83
|
+
|
|
80
84
|
if (defaultStyle) {
|
|
81
85
|
var _defaultStyle$colorTy = defaultStyle.colorType,
|
|
82
86
|
colorType = _defaultStyle$colorTy === void 0 ? "" : _defaultStyle$colorTy,
|
|
@@ -125,4 +129,4 @@ var NSCButton = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
125
129
|
}(React.PureComponent);
|
|
126
130
|
|
|
127
131
|
export { NSCButton as default };
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJzdHlsZXMiLCJjbHMiLCJjb25maWciLCJOU0NCdXR0b24iLCJwcm9wcyIsImJ1dHRvbkxvYWRpbmciLCJzdG9yZUxvYWRpb25nIiwibG9hZGluZyIsInNldFN0YXRlIiwiY2hpbGRyZW4iLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJhbnRkU3R5bGUiLCJjb2xvclR5cGUiLCJ0eXBlIiwiY2xhc3NuYW1lIiwic3RhdGUiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJuZXdTdGF0ZSIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztJQVdxQkMsUzs7Ozs7QUFLbkIscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsOEJBQU1BLEtBQU47O0FBRGlCLDREQUpYO0FBQ05DLE1BQUFBLGFBQWEsRUFBRSxLQURUO0FBRU5DLE1BQUFBLGFBQWEsRUFBRTtBQUZULEtBSVc7O0FBQUE7QUFFbEI7Ozs7V0FzQkQsb0JBQVdDLE9BQVgsRUFBNkI7QUFDM0IsV0FBS0MsUUFBTCxDQUFjO0FBQ1pILFFBQUFBLGFBQWEsRUFBRUU7QUFESCxPQUFkO0FBR0Q7OztXQUVELGtCQUFTO0FBQ1Asd0JBQXVELEtBQUtILEtBQTVEO0FBQUEsVUFBUUssUUFBUixlQUFRQSxRQUFSO0FBQUEsVUFBa0JDLFlBQWxCLGVBQWtCQSxZQUFsQjtBQUFBLFVBQWdDSCxPQUFoQyxlQUFnQ0EsT0FBaEM7QUFBQSxVQUE0Q0ksTUFBNUM7O0FBQ0Esb0JBQW9CVCxNQUFNLEVBQTFCO0FBQUEsVUFBTVUsU0FBTixXQUFNQSxTQUFOOztBQUNBLFVBQUlGLFlBQUosRUFBa0I7QUFDaEIsb0NBQTZDQSxZQUE3QyxDQUFRRyxTQUFSO0FBQUEsWUFBUUEsU0FBUixzQ0FBb0IsRUFBcEI7QUFBQSxpQ0FBNkNILFlBQTdDLENBQXdCSSxJQUF4QjtBQUFBLFlBQXdCQSxJQUF4QixtQ0FBK0IsU0FBL0I7QUFDQSxZQUFJQyxTQUFTLEdBQUdGLFNBQVMsR0FBRyxHQUFaLEdBQWtCQyxJQUFsQztBQUNBLDRCQUNFO0FBQUssVUFBQSxTQUFTLEVBQUViLEdBQUcsQ0FBQ0QsTUFBTSxDQUFDLGFBQUQsQ0FBUCxFQUF3QkEsTUFBTSxDQUFDZSxTQUFELENBQTlCO0FBQW5CLHdCQUNFLDBDQUFZSixNQUFaO0FBQW9CLFVBQUEsT0FBTyxFQUFFLEtBQUtLLEtBQUwsQ0FBV1g7QUFBeEMsWUFDR0ksUUFESCxDQURGLENBREY7QUFPRCxPQVZELE1BVU87QUFDTCw0QkFDRSwwQ0FBWUUsTUFBWjtBQUFvQixVQUFBLE9BQU8sRUFBRSxLQUFLSyxLQUFMLENBQVdYO0FBQXhDLFlBQ0dJLFFBREgsQ0FERjtBQUtEO0FBQ0Y7OztXQTlDRCxrQ0FBZ0NRLFNBQWhDLEVBQTJDQyxTQUEzQyxFQUFzRDtBQUNwRCxVQUFRWCxPQUFSLEdBQW9CVSxTQUFwQixDQUFRVixPQUFSO0FBQ0EsVUFBUUQsYUFBUixHQUF5Q1ksU0FBekMsQ0FBUVosYUFBUjtBQUFBLFVBQXVCRCxhQUF2QixHQUF5Q2EsU0FBekMsQ0FBdUJiLGFBQXZCOztBQUNBLFVBQUlFLE9BQU8sS0FBS0QsYUFBaEIsRUFBK0I7QUFDN0IsWUFBSWEsUUFBUSxHQUFHO0FBQ2JkLFVBQUFBLGFBQWEsRUFBRUUsT0FERjtBQUViRCxVQUFBQSxhQUFhLEVBQUVDO0FBRkYsU0FBZjtBQUlBLGVBQU9ZLFFBQVA7QUFDRDs7QUFDRCxVQUFJWixPQUFPLEtBQUtELGFBQVosSUFBNkJELGFBQWEsS0FBS0MsYUFBbkQsRUFBa0U7QUFDaEUsWUFBSWEsU0FBUSxHQUFHO0FBQ2JkLFVBQUFBLGFBQWEsRUFBRUEsYUFERjtBQUViQyxVQUFBQSxhQUFhLEVBQUVEO0FBRkYsU0FBZjtBQUlBLGVBQU9jLFNBQVA7QUFDRDs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OztFQTNCb0NwQixLQUFLLENBQUNxQixhOztTQUF4QmpCLFMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOiDmjInpkq7nu4Tku7ZcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIyIDEwOjM5OjI5XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNS0wOCAxOTowOToyNlxyXG4gKi9cclxuaW1wb3J0IHsgQnV0dG9uLCBCdXR0b25Qcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuXHJcbi8qKlxyXG4gKiBAcGFyYW0ge3N0cmluZ30gZGVmYXVsdFN0eWxlIOaYr+WQpuaYvuekuum7mOiupOagt+W8jyzkvKDlhaXpu5jorqTmoLflvI8sXHJcbiAqICAgdHlwZSDpu5jorqTmoLflvI/liIbkuLrkuKTnp43mjInpkq7mqKHlvI/vvIzpk7rmu6HlkozluKbovrnmoYbkuKTnp40gIGRlZmF1bHQgLGJvcmRlciDpu5jorqRwcmltYXJ5XHJcbiAqICAgY29sb3JUeXBlIOaMiemSruiDjOaZr+minOiJsuexu+WeiyBzdWNjZXNzIHN0cmVzcyBub3JtYWwgZGFuZ2VyIHdoaXRlIOm7mOiupG5vcm1hbFxyXG4gKi9cclxuXHJcbmludGVyZmFjZSBJQnV0dG9uUHJvcCB7XHJcbiAgZGVmYXVsdFN0eWxlPzoge1xyXG4gICAgdHlwZT86IFwicHJpbWFyeVwiIHwgXCJib3JkZXJcIjtcclxuICAgIGNvbG9yVHlwZT86IFwic3VjY2Vzc1wiIHwgXCJzdHJlc3NcIiB8IFwid2hpdGVcIiB8IFwiZGFuZ2VyXCIgfCBcIm5vcm1hbFwiO1xyXG4gIH07XHJcbiAgaWNvblR5cGU/OiBzdHJpbmc7XHJcbiAgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ0J1dHRvbiBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SUJ1dHRvblByb3A+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIGJ1dHRvbkxvYWRpbmc6IGZhbHNlLFxyXG4gICAgc3RvcmVMb2FkaW9uZzogZmFsc2UsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBsb2FkaW5nIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IHN0b3JlTG9hZGlvbmcsIGJ1dHRvbkxvYWRpbmcgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChsb2FkaW5nICE9PSBzdG9yZUxvYWRpb25nKSB7XHJcbiAgICAgIGxldCBuZXdTdGF0ZSA9IHtcclxuICAgICAgICBidXR0b25Mb2FkaW5nOiBsb2FkaW5nLFxyXG4gICAgICAgIHN0b3JlTG9hZGlvbmc6IGxvYWRpbmcsXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgIH1cclxuICAgIGlmIChsb2FkaW5nID09PSBzdG9yZUxvYWRpb25nICYmIGJ1dHRvbkxvYWRpbmcgIT09IHN0b3JlTG9hZGlvbmcpIHtcclxuICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgIGJ1dHRvbkxvYWRpbmc6IGJ1dHRvbkxvYWRpbmcsXHJcbiAgICAgICAgc3RvcmVMb2FkaW9uZzogYnV0dG9uTG9hZGluZyxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBzZXRMb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBidXR0b25Mb2FkaW5nOiBsb2FkaW5nLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBkZWZhdWx0U3R5bGUsIGxvYWRpbmcsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCB7IGFudGRTdHlsZSB9ID0gY29uZmlnKCk7XHJcbiAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgIGNvbnN0IHsgY29sb3JUeXBlID0gXCJcIiwgdHlwZSA9IFwicHJpbWFyeVwiIH0gPSBkZWZhdWx0U3R5bGU7XHJcbiAgICAgIGxldCBjbGFzc25hbWUgPSBjb2xvclR5cGUgKyBcIl9cIiArIHR5cGU7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJidXR0b25fYmFzZVwiXSwgc3R5bGVzW2NsYXNzbmFtZV0pfT5cclxuICAgICAgICAgIDxCdXR0b24gey4uLnBhcmFtc30gbG9hZGluZz17dGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nfT5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxCdXR0b24gey4uLnBhcmFtc30gbG9hZGluZz17dGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nfT5cclxuICAgICAgICAgIHtjaGlsZHJlbn1cclxuICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
package/lib/config.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ interface IComponentConfig {
|
|
|
6
6
|
exception403?: string;
|
|
7
7
|
iconfontUrl?: string;
|
|
8
8
|
viewUrl?: string;
|
|
9
|
+
antdStyle?: boolean;
|
|
10
|
+
allowChars?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export declare const setConfig: (config: IComponentConfig) => {
|
|
11
13
|
loginProjectName: string;
|
|
@@ -15,6 +17,8 @@ export declare const setConfig: (config: IComponentConfig) => {
|
|
|
15
17
|
exception403: string;
|
|
16
18
|
iconfontUrl: string;
|
|
17
19
|
viewUrl: string;
|
|
20
|
+
antdStyle: boolean;
|
|
21
|
+
allowChars: boolean;
|
|
18
22
|
} & IComponentConfig;
|
|
19
23
|
declare const _default: () => IComponentConfig;
|
|
20
24
|
export default _default;
|
package/lib/config.js
CHANGED
|
@@ -20,7 +20,11 @@ var configData = {
|
|
|
20
20
|
//阿里图标库URL
|
|
21
21
|
iconfontUrl: "",
|
|
22
22
|
//后台视图获取地址
|
|
23
|
-
viewUrl: "/dict/v1/"
|
|
23
|
+
viewUrl: "/dict/v1/",
|
|
24
|
+
//默认antd样式
|
|
25
|
+
antdStyle: true,
|
|
26
|
+
//input特殊字符全局变量
|
|
27
|
+
allowChars: false
|
|
24
28
|
};
|
|
25
29
|
export var setConfig = function setConfig(config) {
|
|
26
30
|
return Object.assign(configData, config);
|
|
@@ -28,4 +32,4 @@ export var setConfig = function setConfig(config) {
|
|
|
28
32
|
export default (function () {
|
|
29
33
|
return configData;
|
|
30
34
|
});
|
|
31
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbmZpZy50cyJdLCJuYW1lcyI6WyJjb25maWdEYXRhIiwibG9naW5Qcm9qZWN0TmFtZSIsImF1dGhvcml6YXRpb24iLCJsb2dpblBhdGgiLCJleGNlcHRpb241MDUiLCJleGNlcHRpb240MDMiLCJpY29uZm9udFVybCIsInZpZXdVcmwiLCJhbnRkU3R5bGUiLCJhbGxvd0NoYXJzIiwic2V0Q29uZmlnIiwiY29uZmlnIiwiT2JqZWN0IiwiYXNzaWduIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUEsSUFBSUEsVUFBVSxHQUFHO0FBQ2Y7QUFDQUMsRUFBQUEsZ0JBQWdCLEVBQUUsZUFGSDtBQUdmO0FBQ0FDLEVBQUFBLGFBQWEsRUFBRSxvQkFKQTtBQUtmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxRQU5JO0FBT2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVJDO0FBU2Y7QUFDQUMsRUFBQUEsWUFBWSxFQUFFLGdCQVZDO0FBV2Y7QUFDQUMsRUFBQUEsV0FBVyxFQUFFLEVBWkU7QUFhZjtBQUNBQyxFQUFBQSxPQUFPLEVBQUUsV0FkTTtBQWVmO0FBQ0FDLEVBQUFBLFNBQVMsRUFBRSxJQWhCSTtBQWlCZjtBQUNBQyxFQUFBQSxVQUFVLEVBQUU7QUFsQkcsQ0FBakI7QUFxQkEsT0FBTyxJQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxDQUFDQyxNQUFEO0FBQUEsU0FDdkJDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjYixVQUFkLEVBQTBCVyxNQUExQixDQUR1QjtBQUFBLENBQWxCO0FBRVAsZ0JBQWU7QUFBQSxTQUF3QlgsVUFBeEI7QUFBQSxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI1IDEwOjM0OjUzXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNjo0NTowM1xyXG4gKi9cclxuaW50ZXJmYWNlIElDb21wb25lbnRDb25maWcge1xyXG4gIGxvZ2luUHJvamVjdE5hbWU/OiBzdHJpbmc7XHJcbiAgYXV0aG9yaXphdGlvbj86IHN0cmluZztcclxuICBsb2dpblBhdGg/OiBzdHJpbmc7XHJcbiAgZXhjZXB0aW9uNTA1Pzogc3RyaW5nO1xyXG4gIGV4Y2VwdGlvbjQwMz86IHN0cmluZztcclxuICBpY29uZm9udFVybD86IHN0cmluZztcclxuICB2aWV3VXJsPzogc3RyaW5nO1xyXG4gIGFudGRTdHlsZT86IGJvb2xlYW47XHJcbiAgYWxsb3dDaGFycz86IGJvb2xlYW47XHJcbn1cclxuXHJcbmxldCBjb25maWdEYXRhID0ge1xyXG4gIC8v55m75b2V55WM6Z2i6aG555uu5ZCN56ewXHJcbiAgbG9naW5Qcm9qZWN0TmFtZTogXCJOU0MgRnJhbWV3b3JrXCIsXHJcbiAgLy/ns7vnu5/mjIfnurnvvIznmbvlvZXml7blgJnpnIDopoHkvKDpgJJcclxuICBhdXRob3JpemF0aW9uOiBcIkJhc2ljIGJuTmpPbTV6WXc9PVwiLFxyXG4gIC8v55m76ZmG55WM6Z2iVVJMXHJcbiAgbG9naW5QYXRoOiBcIi9sb2dpblwiLFxyXG4gIC8vNTA16ZSZ6K+vVVJMXHJcbiAgZXhjZXB0aW9uNTA1OiBcIi9leGNlcHRpb24vNTAwXCIsXHJcbiAgLy80MDPplJnor69VUkxcclxuICBleGNlcHRpb240MDM6IFwiL2V4Y2VwdGlvbi80MDNcIixcclxuICAvL+mYv+mHjOWbvuagh+W6k1VSTFxyXG4gIGljb25mb250VXJsOiBcIlwiLFxyXG4gIC8v5ZCO5Y+w6KeG5Zu+6I635Y+W5Zyw5Z2AXHJcbiAgdmlld1VybDogXCIvZGljdC92MS9cIixcclxuICAvL+m7mOiupGFudGTmoLflvI9cclxuICBhbnRkU3R5bGU6IHRydWUsXHJcbiAgLy9pbnB1dOeJueauiuWtl+espuWFqOWxgOWPmOmHj1xyXG4gIGFsbG93Q2hhcnM6IGZhbHNlLFxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHNldENvbmZpZyA9IChjb25maWc6IElDb21wb25lbnRDb25maWcpID0+XHJcbiAgT2JqZWN0LmFzc2lnbihjb25maWdEYXRhLCBjb25maWcpO1xyXG5leHBvcnQgZGVmYXVsdCAoKTogSUNvbXBvbmVudENvbmZpZyA9PiBjb25maWdEYXRhO1xyXG4iXX0=
|
package/lib/form/Form.js
CHANGED
|
@@ -270,6 +270,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
270
270
|
var _this4 = this;
|
|
271
271
|
|
|
272
272
|
var resetValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
273
|
+
console.log("showFormshowFormshowForm");
|
|
273
274
|
this.setState({
|
|
274
275
|
formVisible: true
|
|
275
276
|
}, function () {
|
|
@@ -384,7 +385,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
384
385
|
formDrawerProps: modalProps
|
|
385
386
|
};
|
|
386
387
|
|
|
387
|
-
if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== null
|
|
388
|
+
if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== null && (modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== undefined) {
|
|
388
389
|
newState.formVisible = modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible;
|
|
389
390
|
}
|
|
390
391
|
|
|
@@ -396,7 +397,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
396
397
|
formDrawerProps: drawerProps
|
|
397
398
|
};
|
|
398
399
|
|
|
399
|
-
if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null
|
|
400
|
+
if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null && (drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== undefined) {
|
|
400
401
|
_newState.formVisible = drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible;
|
|
401
402
|
}
|
|
402
403
|
|
|
@@ -412,4 +413,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
|
|
|
412
413
|
}(PureComponent);
|
|
413
414
|
|
|
414
415
|
export default NscForm;
|
|
415
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwicmVzZXRWYWx1ZSIsInNldFN0YXRlIiwidmFsdWUiLCJpdGVtIiwiaW5kZXgiLCJfdGhpcyIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsImUiLCJuZXdDaGlsZHJlbiIsInNob3dNb2RlbCIsImRyYXdlclByb3BzIiwibW9kYWxQcm9wcyIsInN0YXRlIiwibGF5b3V0IiwibGFiZWxDb2wiLCJzcGFuIiwid3JhcHBlckNvbCIsIm5ld01vZGFsUHJvcHMiLCJjZW50ZXJlZCIsImhpZGVGb3JtIiwiYmluZCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFVTUMsTzs7Ozs7QUFRSixtQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNEVBUFRMLEtBQUssQ0FBQ00sU0FBTixFQU9TOztBQUFBLDZEQU5YO0FBQ05DLE1BQUFBLFdBQVcsRUFBRSxLQURQO0FBRU5DLE1BQUFBLGNBQWMsRUFBRSxFQUZWO0FBR05DLE1BQUFBLGVBQWUsRUFBRTtBQUhYLEtBTVc7O0FBQUE7QUFFbEI7Ozs7V0FpQ0Q7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUFBOztBQUNsQixzQ0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDBEQUFPLHNCQUFzQkMsYUFBdEIsQ0FBb0NILElBQXBDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQUE7O0FBQ3JCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCRSxnQkFBdEIsQ0FBdUNKLElBQXZDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFBQTs7QUFDZix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFP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QUF2Qix1QkFBdUJBLFVBQVUsQ0FBRWlCLE9BQW5DO0FBQ0Q7O0FBQ0QsaUJBQU9ELFFBQVA7QUFDRDtBQUNGLE9BVkQsTUFVTyxJQUFJbEIsU0FBUyxJQUFJLFFBQWpCLEVBQTJCO0FBQ2hDLFlBQUlnQixJQUFJLENBQUNDLFNBQUwsQ0FBZTdFLGVBQWYsTUFBb0M0RSxJQUFJLENBQUNDLFNBQUwsQ0FBZWhCLFdBQWYsQ0FBeEMsRUFBcUU7QUFDbkUsY0FBSWlCLFNBQVEsR0FBRztBQUNiOUUsWUFBQUEsZUFBZSxFQUFFNkQ7QUFESixXQUFmOztBQUdBLGNBQ0UsQ0FBQUEsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCLElBQXpCLElBQ0EsQ0FBQWxCLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFa0IsT0FBYixNQUF5QkMsU0FGM0IsRUFHRTtBQUNBRixZQUFBQSxTQUFRLENBQUNoRixXQUFULEdBQXVCK0QsV0FBdkIsYUFBdUJBLFdBQXZCLHVCQUF1QkEsV0FBVyxDQUFFa0IsT0FBcEM7QUFDRDs7QUFFRCxpQkFBT0QsU0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUF6Q21CdEYsYTs7QUE4UXRCLGVBQWVHLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm0sXHJcbiAgRm9ybVByb3BzLFxyXG4gIE1vZGFsLFxyXG4gIERyYXdlcixcclxuICBNb2RhbFByb3BzLFxyXG4gIERyYXdlclByb3BzLFxyXG4gIG1lc3NhZ2UsXHJcbn0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuXHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHM7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgfHwgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCB8fFxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOmUmeivr+S/oeaBr1xyXG4gIGdldEZpZWxkRXJyb3IobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEVycm9yKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlrp7kvotcclxuICBnZXRGaWVsZEluc3RhbmNlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRJbnN0YW5jZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE6ZSZ6K+v5L+h5oGv77yM6L+U5Zue5Li65pWw57uE5b2i5byPXHJcbiAgZ2V0RmllbGRzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc0Vycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOWAvO+8jOS8muaMieeFp+WvueW6lOe7k+aehOi/lOWbnlxyXG4gIGdldEZpZWxkc1ZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTlgLxcclxuICBnZXRGaWVsZFZhbHVlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRWYWx1ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZHNUb3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVG91Y2hlZChuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm5q2j5Zyo5qCh6aqMXHJcbiAgaXNGaWVsZFZhbGlkYXRpbmcobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVmFsaWRhdGluZyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6YeN572u5LiA57uE5a2X5q615YiwXHJcbiAgcmVzZXRGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHMoZmlsZHMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHMoZmlsZHMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzVmFsdWUodmFsdWVzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWVzKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgcmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb25lRWxlbWVudChpdGVtLCBpbmRleCA9IDApIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT0gXCJzdHJpbmdcIikgcmV0dXJuIGl0ZW07XHJcbiAgICBsZXQgcHJvcHMgPSB7fSBhcyB7IGtleTogbnVtYmVyOyBjaGlsZHJlbjogYW55IH07XHJcbiAgICBwcm9wcy5rZXkgPSBpbmRleDtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChpdGVtLnByb3BzICYmIGl0ZW0ucHJvcHMuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnByb3BzLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoXHJcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gdGhpcy5jbG9uZUVsZW1lbnQoaXRlbS5wcm9wcy5jaGlsZHJlbiwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoaXRlbSwgcHJvcHMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKSB7XHJcbiAgICBjb25zdCB7IHNob3dNb2RlbCwgZHJhd2VyUHJvcHMsIG1vZGFsUHJvcHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiA0IH0sXHJcbiAgICAgIHdyYXBwZXJDb2w6IHsgc3BhbjogMjAgfSxcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyBjZW50ZXJlZDogdHJ1ZSwgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuaGlkZUZvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgIHZpc2libGU9e2Zvcm1WaXNpYmxlfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30gcHJlc2VydmU9e2ZhbHNlfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
|
|
416
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwicmVzZXRWYWx1ZSIsInNldFN0YXRlIiwidmFsdWUiLCJpdGVtIiwiaW5kZXgiLCJfdGhpcyIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsImUiLCJuZXdDaGlsZHJlbiIsInNob3dNb2RlbCIsImRyYXdlclByb3BzIiwibW9kYWxQcm9wcyIsInN0YXRlIiwibGF5b3V0IiwibGFiZWxDb2wiLCJzcGFuIiwid3JhcHBlckNvbCIsIm5ld01vZGFsUHJvcHMiLCJjZW50ZXJlZCIsImhpZGVGb3JtIiwiYmluZCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFVTUMsTzs7Ozs7QUFRSixtQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNEVBUFRMLEtBQUssQ0FBQ00sU0FBTixFQU9TOztBQUFBLDZEQU5YO0FBQ05DLE1BQUFBLFdBQVcsRUFBRSxLQURQO0FBRU5DLE1BQUFBLGNBQWMsRUFBRSxFQUZWO0FBR05DLE1BQUFBLGVBQWUsRUFBRTtBQUhYLEtBTVc7O0FBQUE7QUFFbEI7Ozs7V0FnQ0Q7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUFBOztBQUNsQixzQ0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDBEQUFPLHNCQUFzQkMsYUFBdEIsQ0FBb0NILElBQXBDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQUE7O0FBQ3JCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCRSxnQkFBdEIsQ0FBdUNKLElBQXZDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFBQTs7QUFDZix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFP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UUFBUSxDQUFDaEYsV0FBVCxHQUF1QmdFLFVBQXZCLGFBQXVCQSxVQUF2Qix1QkFBdUJBLFVBQVUsQ0FBRWlCLE9BQW5DO0FBQ0Q7O0FBQ0QsaUJBQU9ELFFBQVA7QUFDRDtBQUNGLE9BVkQsTUFVTyxJQUFJbEIsU0FBUyxJQUFJLFFBQWpCLEVBQTJCO0FBQ2hDLFlBQUlnQixJQUFJLENBQUNDLFNBQUwsQ0FBZTdFLGVBQWYsTUFBb0M0RSxJQUFJLENBQUNDLFNBQUwsQ0FBZWhCLFdBQWYsQ0FBeEMsRUFBcUU7QUFDbkUsY0FBSWlCLFNBQVEsR0FBRztBQUNiOUUsWUFBQUEsZUFBZSxFQUFFNkQ7QUFESixXQUFmOztBQUdBLGNBQ0UsQ0FBQUEsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCLElBQXpCLElBQ0EsQ0FBQWxCLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFa0IsT0FBYixNQUF5QkMsU0FGM0IsRUFHRTtBQUNBRixZQUFBQSxTQUFRLENBQUNoRixXQUFULEdBQXVCK0QsV0FBdkIsYUFBdUJBLFdBQXZCLHVCQUF1QkEsV0FBVyxDQUFFa0IsT0FBcEM7QUFDRDs7QUFDRCxpQkFBT0QsU0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUF4Q21CdEYsYTs7QUE4UXRCLGVBQWVHLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm0sXHJcbiAgRm9ybVByb3BzLFxyXG4gIE1vZGFsLFxyXG4gIERyYXdlcixcclxuICBNb2RhbFByb3BzLFxyXG4gIERyYXdlclByb3BzLFxyXG4gIG1lc3NhZ2UsXHJcbn0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuXHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHM7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE5YC877yM5Lya5oyJ54Wn5a+55bqU57uT5p6E6L+U5ZueXHJcbiAgZ2V0RmllbGRzVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZFZhbHVlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkc1RvdWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6Xlr7nlupTlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkVG91Y2hlZChuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRWYWxpZGF0aW5nKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ph43nva7kuIDnu4TlrZfmrrXliLBcclxuICByZXNldEZpZWxkcygpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkcyhmaWxkcyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0KCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnN1Ym1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zPzogYW55LFxyXG4gICAgY2FsbGJhY2s/OiAocmVzPzogYW55KSA9PiB2b2lkLFxyXG4gICAgbXNnPzogYm9vbGVhblxyXG4gICkge1xyXG4gICAgY29uc3QgeyB1cmw6IHByb3BzVXJsLCBlbmNyeXB0RmllbGRzOiBlbmNyeXB0UHJvcHBzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXVybCAmJiAhcHJvcHNVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwi5rKh5pyJ5LiK5Lyg55qEdXJsIVwiKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgbWV0aG9kID0gXCJwb3N0XCIgfSA9IG9wdGlvbnM7XHJcbiAgICBsZXQgcmVxdWVzdFVybCA9IHVybCA/IHVybCA6IHByb3BzVXJsO1xyXG4gICAgbGV0IHJlcXVlc3REYXRhID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQuZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRQcm9wcHM7XHJcbiAgICBsZXQgcmVxdWVzdFBhcmFtID0geyBtZXRob2Q6IG1ldGhvZCwgZGF0YTogcmVxdWVzdERhdGEgfSBhcyB7IGRhdGE6IGFueSB9O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlbmNyeXB0RmllbGRzLCAuLi5wYXJhbXMgfSA9IG9wdGlvbnM7XHJcbiAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMgfTtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICBkZWxldGUgcmVxdWVzdFBhcmFtLmRhdGE7XHJcbiAgICAgICAgaWYgKG1ldGhvZC50b0xvd2VyQ2FzZSgpID09IFwiZ2V0XCIpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIHBhcmFtczogZGF0YSB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBkYXRhOiBkYXRhIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChlbmNyeXB0RmllbGRzKSB7XHJcbiAgICAgICAgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0RmllbGRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdChyZXF1ZXN0VXJsLCB7XHJcbiAgICAgIC4uLnJlcXVlc3RQYXJhbSxcclxuICAgICAgZW5jcnlwdEZpZWxkczogcmVxdWVzdEVuY3J5cHQsXHJcbiAgICB9KVxyXG4gICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICBpZiAobXNnKSB7XHJcbiAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuaPkOS6pOaIkOWKn1wiKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmj5DkuqTlpLHotKVcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlcyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRmllbGRzKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC52YWxpZGF0ZUZpZWxkcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCByZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgY29uc29sZS5sb2coXCJzaG93Rm9ybXNob3dGb3Jtc2hvd0Zvcm1cIik7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmIChyZXNldFZhbHVlKSB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3QgeyBzaG93TW9kZWwsIGRyYXdlclByb3BzLCBtb2RhbFByb3BzIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBmb3JtVmlzaWJsZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGxheW91dCA9IHtcclxuICAgICAgbGFiZWxDb2w6IHsgc3BhbjogNCB9LFxyXG4gICAgICB3cmFwcGVyQ29sOiB7IHNwYW46IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgY2VudGVyZWQ6IHRydWUsIC4uLm5ld01vZGFsUHJvcHMgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdNb2RhbFByb3BzfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxGb3JtIHJlZj17dGhpcy5mb3JtUmVmfSB7Li4ubGF5b3V0fSB7Li4ucHJvcHN9IHByZXNlcnZlPXtmYWxzZX0+XHJcbiAgICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICA8L01vZGFsPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgJiYgc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgbGV0IG5ld0RyYXdlclByb3BzID0gb21pdChkcmF3ZXJQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgb25DbG9zZT17dGhpcy5oaWRlRm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgdmlzaWJsZT17Zm9ybVZpc2libGV9XHJcbiAgICAgICAgICB7Li4ubmV3RHJhd2VyUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30+XHJcbiAgICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICAgIDwvRm9ybT5cclxuICAgICAgICA8L0RyYXdlcj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30+XHJcbiAgICAgICAgICB7bmV3Q2hpbGRyZW59XHJcbiAgICAgICAgPC9Gb3JtPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgIHsgY2hpbGRyZW4sIHNob3dNb2RlbCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IG5ld0NoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJmb3JtXCIsXHJcbiAgICAgIFwic2hvd01vZGVsXCIsXHJcbiAgICAgIFwibW9kYWxQcm9wc1wiLFxyXG4gICAgICBcImRyYXdlclByb3BzXCIsXHJcbiAgICAgIFwidXJsXCIsXHJcbiAgICAgIFwiZW5jcnlwdEZpZWxkc1wiLFxyXG4gICAgXSk7XHJcblxyXG4gICAgcmV0dXJuIDw+e3RoaXMucmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKX08Lz47XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0Zvcm07XHJcbiJdfQ==
|
package/lib/input/index.js
CHANGED
|
@@ -53,6 +53,7 @@ import InputNumber from "./Number";
|
|
|
53
53
|
import omit from "omit.js";
|
|
54
54
|
import cls from "classnames";
|
|
55
55
|
import styles from "./index.less";
|
|
56
|
+
import config from "../config";
|
|
56
57
|
|
|
57
58
|
var NscInput = /*#__PURE__*/function (_PureComponent) {
|
|
58
59
|
_inherits(NscInput, _PureComponent);
|
|
@@ -150,8 +151,7 @@ var NscInput = /*#__PURE__*/function (_PureComponent) {
|
|
|
150
151
|
var _this$props2 = this.props,
|
|
151
152
|
type = _this$props2.type,
|
|
152
153
|
onChange = _this$props2.onChange,
|
|
153
|
-
|
|
154
|
-
defaultStyle = _this$props2$defaultS === void 0 ? true : _this$props2$defaultS,
|
|
154
|
+
defaultStyle = _this$props2.defaultStyle,
|
|
155
155
|
maxLength = _this$props2.maxLength,
|
|
156
156
|
params = _objectWithoutProperties(_this$props2, _excluded);
|
|
157
157
|
|
|
@@ -191,7 +191,10 @@ var NscInput = /*#__PURE__*/function (_PureComponent) {
|
|
|
191
191
|
}, inputProps);
|
|
192
192
|
}
|
|
193
193
|
|
|
194
|
-
|
|
194
|
+
var _config = config(),
|
|
195
|
+
antdStyle = _config.antdStyle;
|
|
196
|
+
|
|
197
|
+
if ((defaultStyle || antdStyle) && defaultStyle === true) {
|
|
195
198
|
return /*#__PURE__*/React.createElement("div", {
|
|
196
199
|
className: cls(styles["nsc_input"], this.props.className)
|
|
197
200
|
}, /*#__PURE__*/React.createElement(_Input, _extends({
|
|
@@ -236,4 +239,4 @@ _defineProperty(NscInput, "Group", _Input.Group);
|
|
|
236
239
|
_defineProperty(NscInput, "Search", Search);
|
|
237
240
|
|
|
238
241
|
export { NscInput as default };
|
|
239
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2lucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJJbnB1dEVtYWlsIiwiUGFzc3dvcmQiLCJUZXh0QXJlYSIsIlNlYXJjaCIsIklucHV0TnVtYmVyIiwib21pdCIsImNscyIsInN0eWxlcyIsIk5zY0lucHV0IiwicHJvcHMiLCJjcmVhdGVSZWYiLCJ2YWx1ZSIsImUiLCJvbkNoYW5nZSIsImFsbG93Q2hhcnMiLCJyZWciLCJyZWcyIiwicmVnMyIsInNldFN0YXRlIiwidGFyZ2V0IiwidGVzdCIsInN0YXRlIiwicmVmIiwiY3VycmVudCIsImZvY3VzIiwiYmx1ciIsInR5cGUiLCJkZWZhdWx0U3R5bGUiLCJtYXhMZW5ndGgiLCJwYXJhbXMiLCJudW1iZXJQcm9wcyIsImVtYWlsUHJvcHMiLCJ0ZXh0UHJvcHMiLCJwYXNzd29yZFByb3BzIiwiaW5wdXRQcm9wcyIsImNsYXNzTmFtZSIsImJpbmQiLCJyZXR1cm5DaGlsZHJlbiIsIkdyb3VwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUdBLE9BQU9DLFVBQVAsTUFBdUIsU0FBdkI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLFlBQXJCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixZQUFyQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsVUFBbkI7QUFDQSxPQUFPQyxXQUFQLE1BQXdCLFVBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFFQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5COztJQVNxQkMsUTs7Ozs7QUFRbkIsb0JBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsOEJBQU1BLEtBQU47O0FBRGlCLHVFQURiWCxLQUFLLENBQUNZLFNBQU4sRUFDYTs7QUFBQSw0REFHWDtBQUNOQyxNQUFBQSxLQUFLLEVBQUU7QUFERCxLQUhXOztBQUFBO0FBRWxCOzs7O1dBSUQsa0JBQVNDLENBQVQsRUFBWTtBQUNWLHdCQUF5QyxLQUFLSCxLQUE5QztBQUFBLFVBQVFJLFFBQVIsZUFBUUEsUUFBUjtBQUFBLDhDQUFrQkMsVUFBbEI7QUFBQSxVQUFrQkEsVUFBbEIsc0NBQStCLEtBQS9CO0FBQ0EsVUFBTUMsR0FBRyxHQUFHLDBDQUFaO0FBQ0EsVUFBTUMsSUFBSSxHQUFHLG9CQUFiO0FBQ0EsVUFBTUMsSUFBSSxHQUFHLHFCQUFiOztBQUNBLFVBQUlKLFFBQUosRUFBYztBQUNaLFlBQUlDLFVBQUosRUFBZ0I7QUFDZCxlQUFLSSxRQUFMLENBQWM7QUFDWlAsWUFBQUEsS0FBSyxFQUFFQyxDQUFDLENBQUNPLE1BQUYsQ0FBU1I7QUFESixXQUFkO0FBR0FFLFVBQUFBLFFBQVEsQ0FBQ0QsQ0FBQyxDQUFDTyxNQUFGLENBQVNSLEtBQVYsRUFBaUJDLENBQWpCLENBQVI7QUFDRCxTQUxELE1BS087QUFDTCxjQUFNRCxNQUFLLEdBQUdDLENBQUMsQ0FBQ08sTUFBRixDQUFTUixLQUF2Qjs7QUFDQSxjQUFJSSxHQUFHLENBQUNLLElBQUosQ0FBU1QsTUFBVCxLQUFtQkssSUFBSSxDQUFDSSxJQUFMLENBQVVULE1BQVYsQ0FBbkIsSUFBdUNNLElBQUksQ0FBQ0csSUFBTCxDQUFVVCxNQUFWLENBQTNDLEVBQTZEO0FBQzNELGlCQUFLTyxRQUFMLENBQWM7QUFDWlAsY0FBQUEsS0FBSyxFQUFFQyxDQUFDLENBQUNPLE1BQUYsQ0FBU1I7QUFESixhQUFkO0FBR0FFLFlBQUFBLFFBQVEsQ0FBQ0QsQ0FBQyxDQUFDTyxNQUFGLENBQVNSLEtBQVYsRUFBaUJDLENBQWpCLENBQVI7QUFDRDtBQUNGO0FBQ0YsT0FmRCxNQWVPO0FBQ0wsWUFBSUUsVUFBSixFQUFnQjtBQUNkLGVBQUtJLFFBQUwsQ0FBYztBQUNaUCxZQUFBQSxLQUFLLEVBQUVDLENBQUMsQ0FBQ08sTUFBRixDQUFTUjtBQURKLFdBQWQ7QUFHRCxTQUpELE1BSU87QUFDTCxjQUFNQSxPQUFLLEdBQUdDLENBQUMsQ0FBQ08sTUFBRixDQUFTUixLQUF2Qjs7QUFDQSxjQUFJSSxHQUFHLENBQUNLLElBQUosQ0FBU1QsT0FBVCxLQUFtQkssSUFBSSxDQUFDSSxJQUFMLENBQVVULE9BQVYsQ0FBbkIsSUFBdUNNLElBQUksQ0FBQ0csSUFBTCxDQUFVVCxPQUFWLENBQTNDLEVBQTZEO0FBQzNELGlCQUFLTyxRQUFMLENBQWM7QUFDWlAsY0FBQUEsS0FBSyxFQUFFQyxDQUFDLENBQUNPLE1BQUYsQ0FBU1I7QUFESixhQUFkO0FBR0Q7QUFDRjtBQUNGO0FBQ0Y7OztXQUNELG9CQUFXO0FBQ1QsYUFBTyxLQUFLVSxLQUFMLENBQVdWLEtBQWxCO0FBQ0Q7OztXQUNELGtCQUFTQSxLQUFULEVBQWdCO0FBQ2QsV0FBS08sUUFBTCxDQUFjO0FBQ1pQLFFBQUFBLEtBQUssRUFBRUE7QUFESyxPQUFkO0FBR0Q7OztXQUVELGlCQUFRO0FBQUE7O0FBQ04sZ0NBQUtXLEdBQUwsQ0FBU0MsT0FBVCx3RUFBa0JDLEtBQWxCO0FBQ0Q7OztXQUVELGdCQUFPO0FBQUE7O0FBQ0wsaUNBQUtGLEdBQUwsQ0FBU0MsT0FBVCwwRUFBa0JFLElBQWxCO0FBQ0Q7OztXQUVELDBCQUFpQjtBQUNmLHlCQU1JLEtBQUtoQixLQU5UO0FBQUEsVUFDRWlCLElBREYsZ0JBQ0VBLElBREY7QUFBQSxVQUVFYixRQUZGLGdCQUVFQSxRQUZGO0FBQUEsK0NBR0VjLFlBSEY7QUFBQSxVQUdFQSxZQUhGLHNDQUdpQixJQUhqQjtBQUFBLFVBSUVDLFNBSkYsZ0JBSUVBLFNBSkY7QUFBQSxVQUtLQyxNQUxMOztBQVFBLFVBQUlILElBQUksSUFBSSxRQUFaLEVBQXNCO0FBQ3BCLFlBQU1JLFdBQVcsR0FBR3pCLElBQUksQ0FBQyxLQUFLSSxLQUFOLEVBQWEsQ0FBQyxNQUFELEVBQVMsY0FBVCxDQUFiLENBQXhCO0FBQ0EsNEJBQU8sb0JBQUMsV0FBRCxlQUFpQnFCLFdBQWpCO0FBQThCLFVBQUEsR0FBRyxFQUFFLEtBQUtSO0FBQXhDLFdBQVA7QUFDRCxPQUhELE1BR08sSUFBSUksSUFBSSxJQUFJLE9BQVosRUFBcUI7QUFDMUIsWUFBTUssVUFBVSxHQUFHMUIsSUFBSSxDQUFDLEtBQUtJLEtBQU4sRUFBYSxDQUFDLE1BQUQsRUFBUyxjQUFULENBQWIsQ0FBdkI7QUFDQSw0QkFBTyxvQkFBQyxVQUFELGVBQWdCc0IsVUFBaEI7QUFBNEIsVUFBQSxHQUFHLEVBQUUsS0FBS1Q7QUFBdEMsV0FBUDtBQUNELE9BSE0sTUFHQSxJQUFJSSxJQUFJLElBQUksVUFBWixFQUF3QjtBQUM3QixZQUFNTSxTQUFTLEdBQUczQixJQUFJLENBQUMsS0FBS0ksS0FBTixFQUFhLENBQUMsTUFBRCxFQUFTLGNBQVQsQ0FBYixDQUF0QjtBQUNBLDRCQUFPLG9CQUFDLFFBQUQsZUFBY3VCLFNBQWQ7QUFBeUIsVUFBQSxHQUFHLEVBQUUsS0FBS1Y7QUFBbkMsV0FBUDtBQUNELE9BSE0sTUFHQSxJQUFJSSxJQUFJLElBQUksVUFBWixFQUF3QjtBQUM3QixZQUFJTyxhQUFhLEdBQUc1QixJQUFJLENBQUMsS0FBS0ksS0FBTixFQUFhLENBQ25DLE1BRG1DLEVBRW5DLFdBRm1DLEVBR25DLGNBSG1DLEVBSW5DLFlBSm1DLENBQWIsQ0FBeEI7O0FBTUEsWUFBSSxFQUFFbUIsU0FBUyxLQUFLLEtBQWhCLENBQUosRUFBNEI7QUFDMUJLLFVBQUFBLGFBQWE7QUFDWEwsWUFBQUEsU0FBUyxFQUFFQSxTQUFTLEdBQUdBLFNBQUgsR0FBZTtBQUR4QixhQUVSSyxhQUZRLENBQWI7QUFJRDs7QUFDRCw0QkFBTyxvQkFBQyxRQUFELGVBQWNBLGFBQWQ7QUFBNkIsVUFBQSxHQUFHLEVBQUUsS0FBS1g7QUFBdkMsV0FBUDtBQUNELE9BZE0sTUFjQTtBQUNMLFlBQUlZLFVBQVUsR0FBRzdCLElBQUksQ0FBQyxLQUFLSSxLQUFOLEVBQWEsQ0FDaEMsVUFEZ0MsRUFFaEMsY0FGZ0MsRUFHaEMsWUFIZ0MsRUFJaEMsV0FKZ0MsQ0FBYixDQUFyQjs7QUFNQSxZQUFJLEVBQUVtQixTQUFTLEtBQUssS0FBaEIsQ0FBSixFQUE0QjtBQUMxQk0sVUFBQUEsVUFBVTtBQUFLTixZQUFBQSxTQUFTLEVBQUVBLFNBQVMsR0FBR0EsU0FBSCxHQUFlO0FBQXhDLGFBQStDTSxVQUEvQyxDQUFWO0FBQ0Q7O0FBQ0QsWUFBSVAsWUFBSixFQUFrQjtBQUNoQiw4QkFDRTtBQUFLLFlBQUEsU0FBUyxFQUFFckIsR0FBRyxDQUFDQyxNQUFNLENBQUMsV0FBRCxDQUFQLEVBQXNCLEtBQUtFLEtBQUwsQ0FBVzBCLFNBQWpDO0FBQW5CLDBCQUNFO0FBQ0UsWUFBQSxXQUFXLEVBQUMsb0JBRGQ7QUFFRSxZQUFBLFFBQVEsRUFBRSxLQUFLdEIsUUFBTCxDQUFjdUIsSUFBZCxDQUFtQixJQUFuQixDQUZaO0FBR0UsWUFBQSxVQUFVLEVBQUUsSUFIZDtBQUlFLFlBQUEsS0FBSyxFQUFFLEtBQUtmLEtBQUwsQ0FBV1Y7QUFKcEIsYUFLTXVCLFVBTE47QUFNRSxZQUFBLEdBQUcsRUFBRSxLQUFLWjtBQU5aLGFBREYsQ0FERjtBQVlELFNBYkQsTUFhTztBQUNMLDhCQUNFO0FBQ0UsWUFBQSxXQUFXLEVBQUMsb0JBRGQ7QUFFRSxZQUFBLFFBQVEsRUFBRSxLQUFLVCxRQUFMLENBQWN1QixJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxZQUFBLFVBQVUsRUFBRSxJQUhkO0FBSUUsWUFBQSxLQUFLLEVBQUUsS0FBS2YsS0FBTCxDQUFXVixLQUpwQjtBQUtFLFlBQUEsR0FBRyxFQUFFLEtBQUtXO0FBTFosYUFNTVksVUFOTixFQURGO0FBVUQ7QUFDRjtBQUNGOzs7V0FDRCxrQkFBUztBQUNQLDBCQUFPLDBDQUFHLEtBQUtHLGNBQUwsRUFBSCxDQUFQO0FBQ0Q7Ozs7RUF6SW1DdEMsYTs7Z0JBQWpCUyxRLFlBQ0hKLFc7O2dCQURHSSxRLFdBRUpSLFU7O2dCQUZJUSxRLGNBR0RQLFE7O2dCQUhDTyxRLGNBSUROLFE7O2dCQUpDTSxRLFdBS0osT0FBTThCLEs7O2dCQUxGOUIsUSxZQU1ITCxNOztTQU5HSyxRIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjogaW5wdXTnu4Tku7bvvIznm7TmjqXov5Tlm552YWx1ZSzliqDlr4blkI7nmoR2YWx1ZeS7peWPiuagoemqjOeahOWAvFxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjQgMTc6MTU6NDdcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIyIDE0OjIwOjA5XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuaW1wb3J0IHsgSW5wdXQsIElucHV0UHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgSW5wdXRFbWFpbCBmcm9tIFwiLi9FbWFpbFwiO1xyXG5pbXBvcnQgUGFzc3dvcmQgZnJvbSBcIi4vUGFzc3dvcmRcIjtcclxuaW1wb3J0IFRleHRBcmVhIGZyb20gXCIuL1RleHRBcmVhXCI7XHJcbmltcG9ydCBTZWFyY2ggZnJvbSBcIi4vU2VhcmNoXCI7XHJcbmltcG9ydCBJbnB1dE51bWJlciBmcm9tIFwiLi9OdW1iZXJcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5cclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmludGVyZmFjZSBJSW5wdXRQcm9wcyB7XHJcbiAgdHlwZT86IFwibnVtYmVyXCIgfCBcImVtYWlsXCIgfCBcInBhc3N3b3JkXCIgfCBcInRleHRhcmVhXCIgfCBcInRleHRcIjtcclxuICBvbkNoYW5nZT86ICh2YWx1ZTogYW55LCB0YXJnZXQ/OiBhbnkpID0+IHZvaWQ7XHJcbiAgZGVmYXVsdFN0eWxlPzogYm9vbGVhbjtcclxuICBhbGxvd0NoYXJzPzogYm9vbGVhbjtcclxuICBtYXhMZW5ndGg/OiBudW1iZXIgfCBib29sZWFuO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnNjSW5wdXQgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElJbnB1dFByb3BzLCBhbnk+IHtcclxuICBzdGF0aWMgTnVtYmVyID0gSW5wdXROdW1iZXI7XHJcbiAgc3RhdGljIEVtYWlsID0gSW5wdXRFbWFpbDtcclxuICBzdGF0aWMgUGFzc3dvcmQgPSBQYXNzd29yZDtcclxuICBzdGF0aWMgVGV4dEFyZWEgPSBUZXh0QXJlYTtcclxuICBzdGF0aWMgR3JvdXAgPSBJbnB1dC5Hcm91cDtcclxuICBzdGF0aWMgU2VhcmNoID0gU2VhcmNoO1xyXG4gIHJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICB9XHJcbiAgc3RhdGUgPSB7XHJcbiAgICB2YWx1ZTogXCJcIixcclxuICB9O1xyXG4gIG9uQ2hhbmdlKGUpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UsIGFsbG93Q2hhcnMgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHJlZyA9IC9eWzAtOWEtekEtWlxcdTRFMDAtXFx1OUZBNVxcdUY5MDAtXFx1RkEyRF0qJC87XHJcbiAgICBjb25zdCByZWcyID0gL1thLXpBLVpdJ1thLXpBLVpdL2c7XHJcbiAgICBjb25zdCByZWczID0gL1thLXpBLVpdXFxzW2EtekEtWl0vZztcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBpZiAoYWxsb3dDaGFycykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgICAgIGlmIChyZWcudGVzdCh2YWx1ZSkgfHwgcmVnMi50ZXN0KHZhbHVlKSB8fCByZWczLnRlc3QodmFsdWUpKSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBvbkNoYW5nZShlLnRhcmdldC52YWx1ZSwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoYWxsb3dDaGFycykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgdmFsdWU6IGUudGFyZ2V0LnZhbHVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgaWYgKHJlZy50ZXN0KHZhbHVlKSB8fCByZWcyLnRlc3QodmFsdWUpIHx8IHJlZzMudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0VmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS52YWx1ZTtcclxuICB9XHJcbiAgc2V0VmFsdWUodmFsdWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5yZWYuY3VycmVudD8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGJsdXIoKSB7XHJcbiAgICB0aGlzLnJlZi5jdXJyZW50Py5ibHVyKCk7XHJcbiAgfVxyXG5cclxuICByZXR1cm5DaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgdHlwZSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSA9IHRydWUsXHJcbiAgICAgIG1heExlbmd0aCxcclxuICAgICAgLi4ucGFyYW1zXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgXHJcbiAgICBpZiAodHlwZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgIGNvbnN0IG51bWJlclByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dE51bWJlciB7Li4ubnVtYmVyUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZW1haWxcIikge1xyXG4gICAgICBjb25zdCBlbWFpbFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dEVtYWlsIHsuLi5lbWFpbFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInRleHRhcmVhXCIpIHtcclxuICAgICAgY29uc3QgdGV4dFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxUZXh0QXJlYSB7Li4udGV4dFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInBhc3N3b3JkXCIpIHtcclxuICAgICAgbGV0IHBhc3N3b3JkUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgICBcInR5cGVcIixcclxuICAgICAgICBcIm1heExlbmd0aFwiLFxyXG4gICAgICAgIFwiZGVmYXVsdFN0eWxlXCIsXHJcbiAgICAgICAgXCJhbGxvd0NoYXJzXCJcclxuICAgICAgXSk7XHJcbiAgICAgIGlmICghKG1heExlbmd0aCA9PT0gZmFsc2UpKSB7XHJcbiAgICAgICAgcGFzc3dvcmRQcm9wcyA9IHtcclxuICAgICAgICAgIG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsXHJcbiAgICAgICAgICAuLi5wYXNzd29yZFByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDxQYXNzd29yZCB7Li4ucGFzc3dvcmRQcm9wc30gcmVmPXt0aGlzLnJlZn0gLz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgaW5wdXRQcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICAgIFwib25DaGFuZ2VcIixcclxuICAgICAgICBcImRlZmF1bHRTdHlsZVwiLFxyXG4gICAgICAgIFwiYWxsb3dDaGFyc1wiLFxyXG4gICAgICAgIFwibWF4TGVuZ3RoXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBpZiAoIShtYXhMZW5ndGggPT09IGZhbHNlKSkge1xyXG4gICAgICAgIGlucHV0UHJvcHMgPSB7IG1heExlbmd0aDogbWF4TGVuZ3RoID8gbWF4TGVuZ3RoIDogNTAsIC4uLmlucHV0UHJvcHMgfTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbHMoc3R5bGVzW1wibnNjX2lucHV0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBhbGxvd0NsZWFyPXt0cnVlfVxyXG4gICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgICAgIHsuLi5pbnB1dFByb3BzfVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy5yZWZ9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8SW5wdXRcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaVcIlxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBhbGxvd0NsZWFyPXt0cnVlfVxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS52YWx1ZX1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLnJlZn1cclxuICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgcmV0dXJuIDw+e3RoaXMucmV0dXJuQ2hpbGRyZW4oKX08Lz47XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
242
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2lucHV0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJJbnB1dEVtYWlsIiwiUGFzc3dvcmQiLCJUZXh0QXJlYSIsIlNlYXJjaCIsIklucHV0TnVtYmVyIiwib21pdCIsImNscyIsInN0eWxlcyIsImNvbmZpZyIsIk5zY0lucHV0IiwicHJvcHMiLCJjcmVhdGVSZWYiLCJ2YWx1ZSIsImUiLCJvbkNoYW5nZSIsImFsbG93Q2hhcnMiLCJyZWciLCJyZWcyIiwicmVnMyIsInNldFN0YXRlIiwidGFyZ2V0IiwidGVzdCIsInN0YXRlIiwicmVmIiwiY3VycmVudCIsImZvY3VzIiwiYmx1ciIsInR5cGUiLCJkZWZhdWx0U3R5bGUiLCJtYXhMZW5ndGgiLCJwYXJhbXMiLCJudW1iZXJQcm9wcyIsImVtYWlsUHJvcHMiLCJ0ZXh0UHJvcHMiLCJwYXNzd29yZFByb3BzIiwiaW5wdXRQcm9wcyIsImFudGRTdHlsZSIsImNsYXNzTmFtZSIsImJpbmQiLCJyZXR1cm5DaGlsZHJlbiIsIkdyb3VwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUdBLE9BQU9DLFVBQVAsTUFBdUIsU0FBdkI7QUFDQSxPQUFPQyxRQUFQLE1BQXFCLFlBQXJCO0FBQ0EsT0FBT0MsUUFBUCxNQUFxQixZQUFyQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsVUFBbkI7QUFDQSxPQUFPQyxXQUFQLE1BQXdCLFVBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IsWUFBaEI7QUFFQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBRUEsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjs7SUFTcUJDLFE7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Q0Y7QUFDRjs7O1dBQ0Qsa0JBQVM7QUFDUCwwQkFBTywwQ0FBRyxLQUFLSSxjQUFMLEVBQUgsQ0FBUDtBQUNEOzs7O0VBcEltQ3hDLGE7O2dCQUFqQlUsUSxZQUNITCxXOztnQkFER0ssUSxXQUVKVCxVOztnQkFGSVMsUSxjQUdEUixROztnQkFIQ1EsUSxjQUlEUCxROztnQkFKQ08sUSxXQUtKLE9BQU0rQixLOztnQkFMRi9CLFEsWUFNSE4sTTs7U0FOR00sUSIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb246IGlucHV057uE5Lu277yM55u05o6l6L+U5ZuedmFsdWUs5Yqg5a+G5ZCO55qEdmFsdWXku6Xlj4rmoKHpqoznmoTlgLxcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTI0IDE3OjE1OjQ3XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMiAxNDoyMDowOVxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmltcG9ydCB7IElucHV0LCBJbnB1dFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IElucHV0RW1haWwgZnJvbSBcIi4vRW1haWxcIjtcclxuaW1wb3J0IFBhc3N3b3JkIGZyb20gXCIuL1Bhc3N3b3JkXCI7XHJcbmltcG9ydCBUZXh0QXJlYSBmcm9tIFwiLi9UZXh0QXJlYVwiO1xyXG5pbXBvcnQgU2VhcmNoIGZyb20gXCIuL1NlYXJjaFwiO1xyXG5pbXBvcnQgSW5wdXROdW1iZXIgZnJvbSBcIi4vTnVtYmVyXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBGYXN0Rm9yd2FyZEZpbGxlZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW50ZXJmYWNlIElJbnB1dFByb3BzIHtcclxuICB0eXBlPzogXCJudW1iZXJcIiB8IFwiZW1haWxcIiB8IFwicGFzc3dvcmRcIiB8IFwidGV4dGFyZWFcIiB8IFwidGV4dFwiO1xyXG4gIG9uQ2hhbmdlPzogKHZhbHVlOiBhbnksIHRhcmdldD86IGFueSkgPT4gdm9pZDtcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIGFsbG93Q2hhcnM/OiBib29sZWFuO1xyXG4gIG1heExlbmd0aD86IG51bWJlciB8IGJvb2xlYW47XHJcbiAgW3Byb05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOc2NJbnB1dCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SUlucHV0UHJvcHMsIGFueT4ge1xyXG4gIHN0YXRpYyBOdW1iZXIgPSBJbnB1dE51bWJlcjtcclxuICBzdGF0aWMgRW1haWwgPSBJbnB1dEVtYWlsO1xyXG4gIHN0YXRpYyBQYXNzd29yZCA9IFBhc3N3b3JkO1xyXG4gIHN0YXRpYyBUZXh0QXJlYSA9IFRleHRBcmVhO1xyXG4gIHN0YXRpYyBHcm91cCA9IElucHV0Lkdyb3VwO1xyXG4gIHN0YXRpYyBTZWFyY2ggPSBTZWFyY2g7XHJcbiAgcmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuICBzdGF0ZSA9IHtcclxuICAgIHZhbHVlOiBcIlwiLFxyXG4gIH07XHJcbiAgb25DaGFuZ2UoZSkge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSwgYWxsb3dDaGFycyA9IGZhbHNlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgcmVnID0gL15bMC05YS16QS1aXFx1NEUwMC1cXHU5RkE1XFx1RjkwMC1cXHVGQTJEXSokLztcclxuICAgIGNvbnN0IHJlZzIgPSAvW2EtekEtWl0nW2EtekEtWl0vZztcclxuICAgIGNvbnN0IHJlZzMgPSAvW2EtekEtWl1cXHNbYS16QS1aXS9nO1xyXG4gICAgaWYgKG9uQ2hhbmdlKSB7XHJcbiAgICAgIGlmIChhbGxvd0NoYXJzKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb25DaGFuZ2UoZS50YXJnZXQudmFsdWUsIGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlID0gZS50YXJnZXQudmFsdWU7XHJcbiAgICAgICAgaWYgKHJlZy50ZXN0KHZhbHVlKSB8fCByZWcyLnRlc3QodmFsdWUpIHx8IHJlZzMudGVzdCh2YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIG9uQ2hhbmdlKGUudGFyZ2V0LnZhbHVlLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChhbGxvd0NoYXJzKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICB2YWx1ZTogZS50YXJnZXQudmFsdWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBlLnRhcmdldC52YWx1ZTtcclxuICAgICAgICBpZiAocmVnLnRlc3QodmFsdWUpIHx8IHJlZzIudGVzdCh2YWx1ZSkgfHwgcmVnMy50ZXN0KHZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHZhbHVlOiBlLnRhcmdldC52YWx1ZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLnJlZi5jdXJyZW50Py5mb2N1cygpO1xyXG4gIH1cclxuXHJcbiAgYmx1cigpIHtcclxuICAgIHRoaXMucmVmLmN1cnJlbnQ/LmJsdXIoKTtcclxuICB9XHJcblxyXG4gIHJldHVybkNoaWxkcmVuKCkge1xyXG4gICAgY29uc3QgeyB0eXBlLCBvbkNoYW5nZSwgZGVmYXVsdFN0eWxlLCBtYXhMZW5ndGgsIC4uLnBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBpZiAodHlwZSA9PSBcIm51bWJlclwiKSB7XHJcbiAgICAgIGNvbnN0IG51bWJlclByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dE51bWJlciB7Li4ubnVtYmVyUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IFwiZW1haWxcIikge1xyXG4gICAgICBjb25zdCBlbWFpbFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxJbnB1dEVtYWlsIHsuLi5lbWFpbFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInRleHRhcmVhXCIpIHtcclxuICAgICAgY29uc3QgdGV4dFByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXCJ0eXBlXCIsIFwiZGVmYXVsdFN0eWxlXCJdKTtcclxuICAgICAgcmV0dXJuIDxUZXh0QXJlYSB7Li4udGV4dFByb3BzfSByZWY9e3RoaXMucmVmfSAvPjtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcInBhc3N3b3JkXCIpIHtcclxuICAgICAgbGV0IHBhc3N3b3JkUHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgICBcInR5cGVcIixcclxuICAgICAgICBcIm1heExlbmd0aFwiLFxyXG4gICAgICAgIFwiZGVmYXVsdFN0eWxlXCIsXHJcbiAgICAgICAgXCJhbGxvd0NoYXJzXCIsXHJcbiAgICAgIF0pO1xyXG4gICAgICBpZiAoIShtYXhMZW5ndGggPT09IGZhbHNlKSkge1xyXG4gICAgICAgIHBhc3N3b3JkUHJvcHMgPSB7XHJcbiAgICAgICAgICBtYXhMZW5ndGg6IG1heExlbmd0aCA/IG1heExlbmd0aCA6IDUwLFxyXG4gICAgICAgICAgLi4ucGFzc3dvcmRQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiA8UGFzc3dvcmQgey4uLnBhc3N3b3JkUHJvcHN9IHJlZj17dGhpcy5yZWZ9IC8+O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGlucHV0UHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgICBcIm9uQ2hhbmdlXCIsXHJcbiAgICAgICAgXCJkZWZhdWx0U3R5bGVcIixcclxuICAgICAgICBcImFsbG93Q2hhcnNcIixcclxuICAgICAgICBcIm1heExlbmd0aFwiLFxyXG4gICAgICBdKTtcclxuICAgICAgaWYgKCEobWF4TGVuZ3RoID09PSBmYWxzZSkpIHtcclxuICAgICAgICBpbnB1dFByb3BzID0geyBtYXhMZW5ndGg6IG1heExlbmd0aCA/IG1heExlbmd0aCA6IDUwLCAuLi5pbnB1dFByb3BzIH07XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHsgYW50ZFN0eWxlIH0gPSBjb25maWcoKTtcclxuICAgICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2NfaW5wdXRcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlXCJcclxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIGFsbG93Q2xlYXI9e3RydWV9XHJcbiAgICAgICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUudmFsdWV9XHJcbiAgICAgICAgICAgICAgey4uLmlucHV0UHJvcHN9XHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnJlZn1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiXHJcbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGFsbG93Q2xlYXI9e3RydWV9XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnZhbHVlfVxyXG4gICAgICAgICAgICByZWY9e3RoaXMucmVmfVxyXG4gICAgICAgICAgICB7Li4uaW5wdXRQcm9wc31cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICByZXR1cm4gPD57dGhpcy5yZXR1cm5DaGlsZHJlbigpfTwvPjtcclxuICB9XHJcbn1cclxuIl19
|
package/lib/select/index.js
CHANGED
|
@@ -467,8 +467,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
467
467
|
options = _this$props5.options,
|
|
468
468
|
labelField = _this$props5.labelField,
|
|
469
469
|
valueField = _this$props5.valueField,
|
|
470
|
-
|
|
471
|
-
defaultStyle = _this$props5$defaultS === void 0 ? true : _this$props5$defaultS,
|
|
470
|
+
defaultStyle = _this$props5.defaultStyle,
|
|
472
471
|
_this$props5$showGrou = _this$props5.showGroup,
|
|
473
472
|
showGroup = _this$props5$showGrou === void 0 ? true : _this$props5$showGrou,
|
|
474
473
|
addData = _this$props5.addData,
|
|
@@ -483,7 +482,10 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
|
|
|
483
482
|
allowClear: true
|
|
484
483
|
};
|
|
485
484
|
|
|
486
|
-
|
|
485
|
+
var _config2 = config(),
|
|
486
|
+
antdStyle = _config2.antdStyle;
|
|
487
|
+
|
|
488
|
+
if ((defaultStyle || antdStyle) && defaultStyle === true) {
|
|
487
489
|
return /*#__PURE__*/React.createElement("div", {
|
|
488
490
|
className: cls(styles["nsc_select"], this.props.className)
|
|
489
491
|
}, /*#__PURE__*/React.createElement(_Select, _extends({
|
|
@@ -511,4 +513,4 @@ _defineProperty(NSCSelect, "Option", Option);
|
|
|
511
513
|
_defineProperty(NSCSelect, "OptGroup", OptGroup);
|
|
512
514
|
|
|
513
515
|
export { NSCSelect as default };
|
|
514
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwidmlld1VybCIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic3RhdGUiLCJuZXdQcm9wcyIsIm5ld1N0YXRlIiwiU25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RhdGVDaGlsZHJlblByb3BzIiwicyIsImNoaWxkcmVuUHJvcHMiLCJjIiwibGFiZWxGaWVsZCIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwicmVzdWx0IiwiZm9yRWFjaCIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZmxhZyIsIm1hdGNoIiwiY2hpbGQiLCJvcHRpb25EYXRhIiwia2V5IiwiaWQiLCJkaXNhYmxlZCIsInNob3dHcm91cCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsInJlbmRlck9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib3BlbiIsInJlc2V0RGF0YSIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsInNob3dTZWFyY2giLCJvcHRpb25GaWx0ZXJQcm9wIiwicGxhY2Vob2xkZXIiLCJhbGxvd0NsZWFyIiwiY2xhc3NOYW1lIiwiYmluZCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmVuZGVyQ2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBRUEsT0FBT0MsV0FBUCxNQUF3QixjQUF4QjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBY3FCQyxTOzs7OztBQVduQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBUlg7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsV0FBVyxFQUFFLElBRlA7QUFHTkMsTUFBQUEsYUFBYSxFQUFFLEVBSFQ7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLElBSko7QUFLTkMsTUFBQUEsV0FBVyxFQUFFO0FBTFAsS0FRVzs7QUFBQSw2REFEWCxFQUNXOztBQUVqQixRQUNFQyxJQURGLEdB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QixDQUhaO0FBSUUsVUFBQSx1QkFBdUIsRUFBRSxLQUFLQyx1QkFBTCxDQUE2QkQsSUFBN0IsQ0FBa0MsSUFBbEM7QUFKM0IsV0FLTTdGLEtBTE4sRUFNTXVGLE1BTk4sR0FRRyxLQUFLUSxjQUFMLEVBUkgsQ0FERjtBQVlEO0FBQ0Y7Ozs7RUE1V29DekcsYTs7Z0JBQWxCUyxTLFlBQ0hGLE07O2dCQURHRSxTLGNBRURELFE7O1NBRkNDLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBTZWxlY3QsIFNlbGVjdFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgUGlueWluTWF0Y2ggZnJvbSBcInBpbnlpbi1tYXRjaFwiO1xyXG5jb25zdCB7IE9wdGlvbiwgT3B0R3JvdXAgfSA9IFNlbGVjdDtcclxuXHJcbmludGVyZmFjZSBJU2VsZWN0UHJvcHMgZXh0ZW5kcyBTZWxlY3RQcm9wczxhbnk+IHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGRlZmF1bHRTdHlsZT86IGJvb2xlYW47XHJcbiAgc2hvd0dyb3VwPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrliIbnu4RcclxuICBhZGREYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOS7juWinuWKoOmineWklueahOaVsOaNrlxyXG4gIGRlbGV0ZURhdGE/OiBBcnJheTxTdHJpbmc+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5Yig6Zmk5LuO5pWw5o2u5bqT5Lit6I635Y+W5Yiw55qE5oyH5a6a5pWw5o2uXHJcbiAgdmFsdWVCcmVhaz86IHN0cmluZzsgLy/lpJrkuKp2YWx1ZeS9v+eUqOeahOWIhumalOesplxyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0UHJvcHM+IHtcclxuICBzdGF0aWMgT3B0aW9uID0gT3B0aW9uO1xyXG4gIHN0YXRpYyBPcHRHcm91cCA9IE9wdEdyb3VwO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBzZWxlY3RWYWx1ZTogbnVsbCxcclxuICAgIGFsbERhdGFTb3VyY2U6IFtdLFxyXG4gICAgY2hpbGRyZW46IG51bGwsXHJcbiAgICBhbGxDaGlsZHJlbjogbnVsbCxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICAgIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHVybCxcclxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgIHZpZXduYW1lLFxyXG4gICAgICBjYWNoZWQsXHJcbiAgICAgIGNhY2hlS2V5LFxyXG4gICAgICAuLi5zdG9yZXNcclxuICAgIH0gPSBzdG9yZTtcclxuICAgIGxldCB7IHZpZXdVcmwgfSA9IGNvbmZpZygpO1xyXG4gICAgY29uc3QgZ2V0QWxsRGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICAgIGxldCBuZXdEYXRhID0gWy4uLmRhdGFdO1xyXG4gICAgICBpZiAoYWRkRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbmV3RGF0YSA9IFsuLi5hZGREYXRhLCAuLi5uZXdEYXRhXTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZGVsZXRlRGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgbGV0IHNwbGljZURhdGEgPSBbXTtcclxuICAgICAgICBjb25zdCB2YWx1ZUZpZWxkczogYW55ID0gdmFsdWVGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbmV3RGF0YS5tYXAoKGl0ZW0sIGkpID0+IHtcclxuICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XHJcbiAgICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBpZiAoZGVsZXRlRGF0YS5pbmRleE9mKHZhbHVlKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBzcGxpY2VEYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHNwbGljZURhdGE7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG5ld0RhdGE7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIGlmICghKGRhdGEgfHwgdmlld25hbWUgfHwgdXJsIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs44CBdmlld25hbWXjgIFkYXRh44CBb3B0aW9uc+S4jeiDvemDveS4uuepuu+8gVwiKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgICBsZXQgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogZnVuY3Rpb24gKHN0b3JlLCBvcHRpb25zKSB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMub25CZWZvcmVMb2FkLCBfdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbG9hZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5sb2FkLCBfdGhpcywgW2RhdGEsIG1vZGVsRGF0YSwgc3RvcmVdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGdldEFsbERhdGEoZGF0YSk7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbmV3RGF0YSwgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5kYXRhQ2hhbmdlZCwgX3RoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4uc3RvcmVzLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoKHZpZXduYW1lIHx8IHVybCkgJiYgZGF0YSA9PSBudWxsICYmIG9wdGlvbnMgPT0gbnVsbCkge1xyXG4gICAgICAgIGxldCBpc0NhY2hlZCA9IGNhY2hlZDtcclxuICAgICAgICBsZXQgaXNDYWNoZUtleSA9IGNhY2hlS2V5O1xyXG4gICAgICAgIGlmICh2aWV3bmFtZSkge1xyXG4gICAgICAgICAgaWYgKHR5cGVvZiBjYWNoZWQgIT09IFwiYm9vbGVhblwiKSB7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgaXNDYWNoZUtleSA9IGlzQ2FjaGVLZXkgPyBpc0NhY2hlS2V5IDogdmlld25hbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCB2aWV3VXJsICsgdmlld25hbWUsIC8v6K+75a2X5YW477yMdXJs5Zu65a6a77yMdmlld25hbWVcclxuICAgICAgICAgICAgY2FjaGVkOiBpc0NhY2hlZCxcclxuICAgICAgICAgICAgY2FjaGVLZXk6IGlzQ2FjaGVLZXksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4uc3RvcmVQcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgU3RvcmUoc3RvcmVQcm9wcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldERhdGEoKSB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2hpbGRyZW46IGFsbENoaWxkcmVuIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuYWxsRGF0YVNvdXJjZTtcclxuICB9XHJcblxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0VmFsdWU7XHJcbiAgfVxyXG4gIHNldFZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIWNoaWxkcmVuICYmIChkYXRhIHx8IG9wdGlvbnMpKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGRhdGEgPyBkYXRhIDogb3B0aW9ucyxcclxuICAgICAgICBhbGxEYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgU25hcHNob3QpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgb3B0aW9ucywgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gZGF0YSA/IGRhdGEgOiBvcHRpb25zO1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYWxsRGF0YVNvdXJjZSkgIT09IEpTT04uc3RyaW5naWZ5KG5ld0RhdGEpKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkYXRhU291cmNlOiBuZXdEYXRhLFxyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbiAmJiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjb25zdCBzdGF0ZUNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBhbGxDaGlsZHJlbi5tYXAoKHM6IGFueSkgPT4ge1xyXG4gICAgICAgIHN0YXRlQ2hpbGRyZW5Qcm9wcy5wdXNoKHMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgY2hpbGRyZW5Qcm9wczogYW55ID0gW107XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoYzogYW55KSA9PiB7XHJcbiAgICAgICAgY2hpbGRyZW5Qcm9wcy5wdXNoKGMucHJvcHMpO1xyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIEpTT04uc3RyaW5naWZ5KHN0YXRlQ2hpbGRyZW5Qcm9wcykgIT09IEpTT04uc3RyaW5naWZ5KGNoaWxkcmVuUHJvcHMpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgICAgYWxsQ2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBsYWJlbEZpZWxkID0gXCJsYWJlbFwiLFxyXG4gICAgICBmaWx0ZXJPcHRpb24gPSB0cnVlLFxyXG4gICAgICBvblNlYXJjaCxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChmaWx0ZXJPcHRpb24pIHtcclxuICAgICAgbGV0IHJlc3VsdCA9IFtdO1xyXG4gICAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBhbGxEYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgbGV0IGxhYmVsID0gXCJcIjtcclxuICAgICAgICAgICAgaWYgKGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgICAgICAgbGFiZWwgPSBpdGVtW2xhYmVsRmllbGRdO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsRmllbGRzOiBhbnkgPSBsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICAgICAgICBsYWJlbEZpZWxkcy5tYXAoKGwsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBsYWJlbCA9IGluZGV4ID09IDAgPyBsYWJlbCArIGl0ZW1bbF0gOiBsYWJlbCArIFwiLVwiICsgaXRlbVtsXTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsZXQgZmxhZyA9IFBpbnlpbk1hdGNoLm1hdGNoKGxhYmVsLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IHJlc3VsdCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgZGF0YVNvdXJjZTogYWxsRGF0YVNvdXJjZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGFsbENoaWxkcmVuKSkge1xyXG4gICAgICAgICAgICBhbGxDaGlsZHJlbi5tYXAoKGNoaWxkOiBhbnksIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IGxhYmVsID0gY2hpbGQ/LnByb3BzPy5jaGlsZHJlbjtcclxuICAgICAgICAgICAgICBsZXQgZmxhZyA9IFBpbnlpbk1hdGNoLm1hdGNoKGxhYmVsLCB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNoaWxkKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgb25TZWFyY2ggJiYgb25TZWFyY2godmFsdWUpO1xyXG4gIH1cclxuICByZW5kZXJPcHRpb24ob3B0aW9uRGF0YSkge1xyXG4gICAgbGV0IHsgbGFiZWxGaWVsZCA9IFwibGFiZWxcIiwgdmFsdWVGaWVsZCA9IFwidmFsdWVcIiwgc3RvcmUgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICBpZiAodmFsdWVGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICB2YWx1ZSA9IGl0ZW1bdmFsdWVGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSA9IHRydWUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBpZiAoZGVmYXVsdFN0eWxlKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NscyhzdHlsZXNbXCJuc2Nfc2VsZWN0XCJdLCB0aGlzLnByb3BzLmNsYXNzTmFtZSl9PlxyXG4gICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICB2YWx1ZT17dGhpcy5zdGF0ZS5zZWxlY3RWYWx1ZX1cclxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U9e3RoaXMub25Ecm9wZG93blZpc2libGVDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxTZWxlY3RcclxuICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgb25TZWFyY2g9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLm9uQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
516
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3NlbGVjdC9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiU3RvcmUiLCJ1dGlscyIsImNvbmZpZyIsInN0eWxlcyIsImNscyIsIlBpbnlpbk1hdGNoIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJOU0NTZWxlY3QiLCJwcm9wcyIsImRhdGFTb3VyY2UiLCJzZWxlY3RWYWx1ZSIsImFsbERhdGFTb3VyY2UiLCJjaGlsZHJlbiIsImFsbENoaWxkcmVuIiwiZGF0YSIsInN0b3JlIiwib3B0aW9ucyIsImFkZERhdGEiLCJkZWxldGVEYXRhIiwidmFsdWVGaWVsZCIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwic3RvcmVzIiwidmlld1VybCIsImdldEFsbERhdGEiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic3RhdGUiLCJuZXdQcm9wcyIsIm5ld1N0YXRlIiwiU25hcHNob3QiLCJKU09OIiwic3RyaW5naWZ5IiwiQXJyYXkiLCJpc0FycmF5Iiwic3RhdGVDaGlsZHJlblByb3BzIiwicyIsImNoaWxkcmVuUHJvcHMiLCJjIiwibGFiZWxGaWVsZCIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwicmVzdWx0IiwiZm9yRWFjaCIsImxhYmVsIiwibGFiZWxGaWVsZHMiLCJsIiwiZmxhZyIsIm1hdGNoIiwiY2hpbGQiLCJvcHRpb25EYXRhIiwia2V5IiwiaWQiLCJkaXNhYmxlZCIsInNob3dHcm91cCIsIm9wdEdyb3VwRGF0YSIsImdyb3VwTmFtZSIsIm9wdGlvbiIsInJlbmRlck9wdGlvbiIsIm9wdEdyb3VwIiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2hhbmdlIiwib3BlbiIsInJlc2V0RGF0YSIsImRlZmF1bHRTdHlsZSIsInBhcmFtcyIsInNob3dTZWFyY2giLCJvcHRpb25GaWx0ZXJQcm9wIiwicGxhY2Vob2xkZXIiLCJhbGxvd0NsZWFyIiwiYW50ZFN0eWxlIiwiY2xhc3NOYW1lIiwiYmluZCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmVuZGVyQ2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixXQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBRUEsT0FBT0MsV0FBUCxNQUF3QixjQUF4QjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBY3FCQyxTOzs7OztBQVduQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBUlg7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFFTkMsTUFBQUEsV0FBVyxFQUFFLElBRlA7QUFHTkMsTUFBQUEsYUFBYSxFQUFFLEVBSFQ7QUFJTkMsTUFBQUEsUUFBUSxFQUFFLElBSko7QUFLTkMsTUFBQUEsV0FBVyxFQUFFO0FBTFAsS0FRVzs7QUFBQSw2REFEWCxFQUNXOztBQUVqQixR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RCxRQUFMLENBQWNnQyxJQUFkLENBQW1CLElBQW5CLENBRlo7QUFHRSxVQUFBLFFBQVEsRUFBRSxLQUFLWCxRQUFMLENBQWNXLElBQWQsQ0FBbUIsSUFBbkIsQ0FIWjtBQUlFLFVBQUEsdUJBQXVCLEVBQUUsS0FBS0MsdUJBQUwsQ0FBNkJELElBQTdCLENBQWtDLElBQWxDO0FBSjNCLFdBS005RixLQUxOLEVBTU11RixNQU5OLEdBUUcsS0FBS1MsY0FBTCxFQVJILENBREY7QUFZRDtBQUNGOzs7O0VBN1dvQzFHLGE7O2dCQUFsQlMsUyxZQUNIRixNOztnQkFER0UsUyxjQUVERCxROztTQUZDQyxTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgU2VsZWN0LCBTZWxlY3RQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBTdG9yZVByb3BzIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IFBpbnlpbk1hdGNoIGZyb20gXCJwaW55aW4tbWF0Y2hcIjtcclxuY29uc3QgeyBPcHRpb24sIE9wdEdyb3VwIH0gPSBTZWxlY3Q7XHJcblxyXG5pbnRlcmZhY2UgSVNlbGVjdFByb3BzIGV4dGVuZHMgU2VsZWN0UHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGRhdGE/OiBBcnJheTxPYmplY3Q+OyAvL+m7mOiupOaVsOaNrlxyXG4gIGxhYmVsRmllbGQ/OiBzdHJpbmc7XHJcbiAgdmFsdWVGaWVsZD86IHN0cmluZztcclxuICBkZWZhdWx0U3R5bGU/OiBib29sZWFuO1xyXG4gIHNob3dHcm91cD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG57uEXHJcbiAgYWRkRGF0YT86IEFycmF5PE9iamVjdD47IC8v6YWN5ZCIc3RvcmXkvb/nlKjvvIzku47lop7liqDpop3lpJbnmoTmlbDmja5cclxuICBkZWxldGVEYXRhPzogQXJyYXk8U3RyaW5nPjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOWIoOmZpOS7juaVsOaNruW6k+S4reiOt+WPluWIsOeahOaMh+WumuaVsOaNrlxyXG4gIHZhbHVlQnJlYWs/OiBzdHJpbmc7IC8v5aSa5LiqdmFsdWXkvb/nlKjnmoTliIbpmpTnrKZcclxuICBbcHJvTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5TQ1NlbGVjdCBleHRlbmRzIFB1cmVDb21wb25lbnQ8SVNlbGVjdFByb3BzPiB7XHJcbiAgc3RhdGljIE9wdGlvbiA9IE9wdGlvbjtcclxuICBzdGF0aWMgT3B0R3JvdXAgPSBPcHRHcm91cDtcclxuICBzdGF0ZSA9IHtcclxuICAgIGRhdGFTb3VyY2U6IFtdLFxyXG4gICAgc2VsZWN0VmFsdWU6IG51bGwsXHJcbiAgICBhbGxEYXRhU291cmNlOiBbXSxcclxuICAgIGNoaWxkcmVuOiBudWxsLFxyXG4gICAgYWxsQ2hpbGRyZW46IG51bGwsXHJcbiAgfTtcclxuICBzdG9yZSA9IHt9IGFzIFN0b3JlUHJvcHM7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgZGF0YSxcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGFkZERhdGEgPSBbXSxcclxuICAgICAgZGVsZXRlRGF0YSA9IFtdLFxyXG4gICAgICB2YWx1ZUZpZWxkID0gXCJ2YWx1ZVwiLFxyXG4gICAgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICB1cmwsXHJcbiAgICAgIGxpc3RlbmVyczogbGlzdGVuZXJzUG9wcyA9IHt9LFxyXG4gICAgICB2aWV3bmFtZSxcclxuICAgICAgY2FjaGVkLFxyXG4gICAgICBjYWNoZUtleSxcclxuICAgICAgLi4uc3RvcmVzXHJcbiAgICB9ID0gc3RvcmU7XHJcbiAgICBsZXQgeyB2aWV3VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICBsZXQgbmV3RGF0YSA9IFsuLi5kYXRhXTtcclxuICAgICAgaWYgKGFkZERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIG5ld0RhdGEgPSBbLi4uYWRkRGF0YSwgLi4ubmV3RGF0YV07XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGRlbGV0ZURhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGxldCBzcGxpY2VEYXRhID0gW107XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIG5ld0RhdGEubWFwKChpdGVtLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgdmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgdmFsdWVGaWVsZHMubWFwKCh2LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgaWYgKGRlbGV0ZURhdGEuaW5kZXhPZih2YWx1ZSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgc3BsaWNlRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBzcGxpY2VEYXRhO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICBpZiAoIShkYXRhIHx8IHZpZXduYW1lIHx8IHVybCB8fCBvcHRpb25zKSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOOAgXZpZXduYW1l44CBZGF0YeOAgW9wdGlvbnPkuI3og73pg73kuLrnqbrvvIFcIik7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgICAgbGV0IHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgbW9kZWw6IFwibW9kZWxcIixcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLm9uQmVmb3JlTG9hZCwgX3RoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMubG9hZCwgX3RoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRBbGxEYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG5ld0RhdGEsIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1BvcHMuZGF0YUNoYW5nZWQsIF90aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIC4uLnN0b3JlcyxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCh2aWV3bmFtZSB8fCB1cmwpICYmIGRhdGEgPT0gbnVsbCAmJiBvcHRpb25zID09IG51bGwpIHtcclxuICAgICAgICBsZXQgaXNDYWNoZWQgPSBjYWNoZWQ7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVLZXkgPSBjYWNoZUtleTtcclxuICAgICAgICBpZiAodmlld25hbWUpIHtcclxuICAgICAgICAgIGlmICh0eXBlb2YgY2FjaGVkICE9PSBcImJvb2xlYW5cIikge1xyXG4gICAgICAgICAgICBpc0NhY2hlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGlzQ2FjaGVLZXkgPSBpc0NhY2hlS2V5ID8gaXNDYWNoZUtleSA6IHZpZXduYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgICAgLi4ue1xyXG4gICAgICAgICAgICBhdXRvTG9hZDogdHJ1ZSxcclxuICAgICAgICAgICAgdXJsOiB1cmwgfHwgdmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBvblNlYXJjaCh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgbGFiZWxGaWVsZCA9IFwibGFiZWxcIixcclxuICAgICAgZmlsdGVyT3B0aW9uID0gdHJ1ZSxcclxuICAgICAgb25TZWFyY2gsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7IGxhYmVsRmllbGQgPSBcImxhYmVsXCIsIHZhbHVlRmllbGQgPSBcInZhbHVlXCIsIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICByZXR1cm4gb3B0aW9uRGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPSBpdGVtW3ZhbHVlRmllbGRdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICB2YWx1ZUZpZWxkcy5tYXAoKHYsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICB2YWx1ZSA9IGluZGV4ID09IDAgPyB2YWx1ZSArIGl0ZW1bdl0gOiB2YWx1ZSArIFwiLFwiICsgaXRlbVt2XTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICBsZXQga2V5ID0gaXRlbS5pZCA/IChpdGVtLmlkICE9PSBcInVuZGVmaW5lZFwiID8gaXRlbS5pZCA6IHZhbHVlKSA6IHZhbHVlO1xyXG4gICAgICBsZXQgbGFiZWwgPSBcIlwiO1xyXG4gICAgICBpZiAobGFiZWxGaWVsZC5zcGxpdChcIixcIikubGVuZ3RoID09IDEpIHtcclxuICAgICAgICBsYWJlbCA9IGl0ZW1bbGFiZWxGaWVsZF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgbGFiZWxGaWVsZHM6IGFueSA9IGxhYmVsRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIGxhYmVsRmllbGRzLm1hcCgobCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIGxhYmVsID0gaW5kZXggPT0gMCA/IGxhYmVsICsgaXRlbVtsXSA6IGxhYmVsICsgXCItXCIgKyBpdGVtW2xdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE9wdGlvblxyXG4gICAgICAgICAga2V5PXtrZXl9XHJcbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XHJcbiAgICAgICAgICBsYWJlbD17bGFiZWx9XHJcbiAgICAgICAgICBkaXNhYmxlZD17aXRlbS5kaXNhYmxlZCA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7bGFiZWx9XHJcbiAgICAgICAgPC9PcHRpb24+XHJcbiAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyQ2hpbGRyZW4oKSB7XHJcbiAgICBjb25zdCB7IHNob3dHcm91cCA9IHRydWUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGRhdGFTb3VyY2UsIGNoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIHJldHVybiA8PntjaGlsZHJlbn08Lz47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgb3B0R3JvdXBEYXRhID0ge30sXHJcbiAgICAgICAgb3B0aW9uRGF0YSA9IFtdO1xyXG4gICAgICBkYXRhU291cmNlLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBsZXQgbGFiZWwgPSBpdGVtLmdyb3VwTmFtZTtcclxuICAgICAgICBpZiAobGFiZWwgJiYgc2hvd0dyb3VwKSB7XHJcbiAgICAgICAgICBpZiAoIW9wdEdyb3VwRGF0YVtsYWJlbF0pIG9wdEdyb3VwRGF0YVtsYWJlbF0gPSBbXTtcclxuICAgICAgICAgIG9wdEdyb3VwRGF0YVtsYWJlbF0ucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgb3B0aW9uRGF0YS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBvcHRpb24gPSB0aGlzLnJlbmRlck9wdGlvbihvcHRpb25EYXRhKTtcclxuICAgICAgbGV0IG9wdEdyb3VwID0gT2JqZWN0LmtleXMob3B0R3JvdXBEYXRhKS5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8T3B0R3JvdXAga2V5PXtrZXl9IGxhYmVsPXtrZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJPcHRpb24ob3B0R3JvdXBEYXRhW2tleV0pfVxyXG4gICAgICAgICAgPC9PcHRHcm91cD5cclxuICAgICAgICApO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAge29wdGlvbn1cclxuICAgICAgICAgIHtvcHRHcm91cH1cclxuICAgICAgICA8Lz5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0VmFsdWU6IHZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICBpZiAob25DaGFuZ2UpIHtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZShvcGVuKSB7XHJcbiAgICBpZiAoIW9wZW4pIHtcclxuICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3RvcmUsXHJcbiAgICAgIGRhdGEsXHJcbiAgICAgIG9uQ2hhbmdlLFxyXG4gICAgICBvcHRpb25zLFxyXG4gICAgICBsYWJlbEZpZWxkLFxyXG4gICAgICB2YWx1ZUZpZWxkLFxyXG4gICAgICBkZWZhdWx0U3R5bGUsXHJcbiAgICAgIHNob3dHcm91cCA9IHRydWUsXHJcbiAgICAgIGFkZERhdGEsXHJcbiAgICAgIGRlbGV0ZURhdGEsXHJcbiAgICAgIC4uLnBhcmFtc1xyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBwcm9wcyA9IHtcclxuICAgICAgZmlsdGVyT3B0aW9uOiBmYWxzZSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJ1ZSxcclxuICAgICAgb3B0aW9uRmlsdGVyUHJvcDogXCJsYWJlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcclxuICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcclxuICAgIH07XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUgfSA9IGNvbmZpZygpO1xyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19zZWxlY3RcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/lib/table/index.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ declare class NSCTable extends React.Component<INSCTableProps> {
|
|
|
45
45
|
};
|
|
46
46
|
store: any;
|
|
47
47
|
thIconRef: React.RefObject<HTMLDivElement>;
|
|
48
|
+
tableSearchRef: React.RefObject<any>;
|
|
48
49
|
state: {
|
|
49
50
|
dataSource: any[];
|
|
50
51
|
columns: any[];
|
|
@@ -55,6 +56,10 @@ declare class NSCTable extends React.Component<INSCTableProps> {
|
|
|
55
56
|
fieldOption: any;
|
|
56
57
|
searchColor: any;
|
|
57
58
|
cols: any[];
|
|
59
|
+
sorts: any[];
|
|
60
|
+
filterParams: {};
|
|
61
|
+
tableSize: string;
|
|
62
|
+
sortType: string;
|
|
58
63
|
};
|
|
59
64
|
listeners: {
|
|
60
65
|
onBeforeLoad: any;
|
package/lib/table/index.js
CHANGED
|
@@ -2,6 +2,10 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
2
2
|
|
|
3
3
|
import "antd/es/table/style/css";
|
|
4
4
|
import _Table from "antd/es/table";
|
|
5
|
+
import "antd/es/space/style/css";
|
|
6
|
+
import _Space from "antd/es/space";
|
|
7
|
+
import "antd/es/button/style/css";
|
|
8
|
+
import _Button from "antd/es/button";
|
|
5
9
|
import "antd/es/popover/style/css";
|
|
6
10
|
import _Popover from "antd/es/popover";
|
|
7
11
|
import "antd/es/tooltip/style/css";
|
|
@@ -11,8 +15,6 @@ import _Checkbox from "antd/es/checkbox";
|
|
|
11
15
|
var _excluded = ["onResize", "width"],
|
|
12
16
|
_excluded2 = ["listeners"];
|
|
13
17
|
|
|
14
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
|
-
|
|
16
18
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
19
|
|
|
18
20
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -21,6 +23,8 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
21
23
|
|
|
22
24
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
23
25
|
|
|
26
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
27
|
+
|
|
24
28
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
25
29
|
|
|
26
30
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -71,7 +75,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
71
75
|
* @LastEditors: rxzhu
|
|
72
76
|
* @LastEditTime: 2021-03-23 10:30:42
|
|
73
77
|
*/
|
|
74
|
-
import { AppstoreOutlined } from "@ant-design/icons";
|
|
78
|
+
import { AppstoreOutlined, CheckOutlined, SearchOutlined } from "@ant-design/icons";
|
|
75
79
|
import { isEmptyObj } from "@bj-nsc/functions";
|
|
76
80
|
import Store, { PageStore } from "@bj-nsc/msn";
|
|
77
81
|
import { utils } from "@bj-nsc/msn/lib/utils";
|
|
@@ -83,7 +87,7 @@ import styles from "./index.less";
|
|
|
83
87
|
var BodyRowComponent = BodyRow.BodyRowComponent,
|
|
84
88
|
HTML5Backend = BodyRow.HTML5Backend;
|
|
85
89
|
import withZhLocale from "../common/withZhLocale";
|
|
86
|
-
import { NoData } from "..";
|
|
90
|
+
import { NoData, Input, Select } from "..";
|
|
87
91
|
import { Resizable } from "react-resizable";
|
|
88
92
|
import "./resize.less";
|
|
89
93
|
export { DndContextType, IBodyRowProps };
|
|
@@ -119,6 +123,8 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
119
123
|
|
|
120
124
|
_defineProperty(_assertThisInitialized(_this2), "thIconRef", /*#__PURE__*/React.createRef());
|
|
121
125
|
|
|
126
|
+
_defineProperty(_assertThisInitialized(_this2), "tableSearchRef", /*#__PURE__*/React.createRef());
|
|
127
|
+
|
|
122
128
|
_defineProperty(_assertThisInitialized(_this2), "state", {
|
|
123
129
|
dataSource: [],
|
|
124
130
|
columns: [],
|
|
@@ -129,7 +135,11 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
129
135
|
searchText: null,
|
|
130
136
|
fieldOption: null,
|
|
131
137
|
searchColor: null,
|
|
132
|
-
cols: []
|
|
138
|
+
cols: [],
|
|
139
|
+
sorts: [],
|
|
140
|
+
filterParams: {},
|
|
141
|
+
tableSize: "middle",
|
|
142
|
+
sortType: 'sigle'
|
|
133
143
|
});
|
|
134
144
|
|
|
135
145
|
_defineProperty(_assertThisInitialized(_this2), "listeners", {
|
|
@@ -177,14 +187,7 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
177
187
|
_this2.props.moveRow(params);
|
|
178
188
|
} else {
|
|
179
189
|
_this2.store.reload();
|
|
180
|
-
}
|
|
181
|
-
// method: "PATCH",
|
|
182
|
-
// data: params,
|
|
183
|
-
// callback: function (data) {
|
|
184
|
-
// this.store.reload();
|
|
185
|
-
// },
|
|
186
|
-
// });
|
|
187
|
-
|
|
190
|
+
}
|
|
188
191
|
});
|
|
189
192
|
|
|
190
193
|
if (props.store instanceof Store) {
|
|
@@ -335,11 +338,15 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
335
338
|
value: function onChange(pagination, filters, sorter, extra) {
|
|
336
339
|
var _this4 = this;
|
|
337
340
|
|
|
341
|
+
console.log("sorter", sorter);
|
|
338
342
|
var _this$props = this.props,
|
|
339
343
|
autoOnChange = _this$props.autoOnChange,
|
|
340
344
|
autoSort = _this$props.autoSort,
|
|
341
345
|
autoPagination = _this$props.autoPagination,
|
|
342
346
|
onChange = _this$props.onChange;
|
|
347
|
+
console.log("autoSort", autoSort);
|
|
348
|
+
console.log("autoPagination", autoPagination);
|
|
349
|
+
var filterParams = this.state.filterParams;
|
|
343
350
|
|
|
344
351
|
if (autoOnChange === false) {
|
|
345
352
|
onChange && onChange(pagination, filters, sorter, extra);
|
|
@@ -369,6 +376,8 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
369
376
|
}
|
|
370
377
|
}
|
|
371
378
|
|
|
379
|
+
params = _objectSpread(_objectSpread({}, filterParams), params);
|
|
380
|
+
|
|
372
381
|
_this4.store.reload({
|
|
373
382
|
params: params
|
|
374
383
|
});
|
|
@@ -448,16 +457,13 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
448
457
|
value: function getColumns() {
|
|
449
458
|
var _this5 = this;
|
|
450
459
|
|
|
460
|
+
var _this = this;
|
|
461
|
+
|
|
451
462
|
var columns = this.state.columns;
|
|
452
|
-
var
|
|
453
|
-
disableColumns = _this$props2.disableColumns,
|
|
454
|
-
colLists = _this$props2.columns;
|
|
463
|
+
var colLists = this.props.columns;
|
|
455
464
|
var defaultShowCols = columns.filter(function (cols) {
|
|
456
465
|
return cols.initShow !== false;
|
|
457
466
|
});
|
|
458
|
-
var defaultHideCols = columns.filter(function (cols) {
|
|
459
|
-
return cols.initShow === false;
|
|
460
|
-
});
|
|
461
467
|
var content = /*#__PURE__*/React.createElement(_Checkbox.Group, {
|
|
462
468
|
onChange: this.filterColumn.bind(this),
|
|
463
469
|
options: colLists.map(function (col) {
|
|
@@ -517,6 +523,76 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
517
523
|
cols.push(IconAction);
|
|
518
524
|
}
|
|
519
525
|
|
|
526
|
+
cols.map(function (item, index) {
|
|
527
|
+
if (!isEmptyObj(item.filterProps)) {
|
|
528
|
+
var obj = _objectSpread({}, item);
|
|
529
|
+
|
|
530
|
+
var _item$filterProps = item.filterProps,
|
|
531
|
+
type = _item$filterProps.type,
|
|
532
|
+
dataProps = _item$filterProps.dataProps,
|
|
533
|
+
searchKey = _item$filterProps.searchKey;
|
|
534
|
+
var Div = null;
|
|
535
|
+
var text = item.title;
|
|
536
|
+
|
|
537
|
+
if (type == "Input") {
|
|
538
|
+
Div = /*#__PURE__*/React.createElement(Input, {
|
|
539
|
+
ref: _this5.tableSearchRef,
|
|
540
|
+
size: "smail",
|
|
541
|
+
placeholder: "\u641C\u7D22".concat(text)
|
|
542
|
+
});
|
|
543
|
+
} else if (type == "Select") {
|
|
544
|
+
Div = /*#__PURE__*/React.createElement(Select, _extends({}, dataProps, {
|
|
545
|
+
ref: _this5.tableSearchRef,
|
|
546
|
+
size: "smail",
|
|
547
|
+
placeholder: "\u641C\u7D22".concat(text),
|
|
548
|
+
style: {
|
|
549
|
+
width: "100%"
|
|
550
|
+
}
|
|
551
|
+
}));
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
obj = _objectSpread({
|
|
555
|
+
filterDropdown: function filterDropdown(_ref3) {
|
|
556
|
+
var setSelectedKeys = _ref3.setSelectedKeys,
|
|
557
|
+
selectedKeys = _ref3.selectedKeys,
|
|
558
|
+
confirm = _ref3.confirm,
|
|
559
|
+
clearFilters = _ref3.clearFilters;
|
|
560
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
561
|
+
className: styles["search"]
|
|
562
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
563
|
+
className: styles["space"]
|
|
564
|
+
}, Div), /*#__PURE__*/React.createElement(_Space, null, /*#__PURE__*/React.createElement(_Button, {
|
|
565
|
+
type: "primary",
|
|
566
|
+
onClick: function onClick() {
|
|
567
|
+
var _this5$tableSearchRef;
|
|
568
|
+
|
|
569
|
+
confirm();
|
|
570
|
+
var filterParams = _this5.state.filterParams;
|
|
571
|
+
|
|
572
|
+
var newFilterParams = _objectSpread({}, filterParams);
|
|
573
|
+
|
|
574
|
+
var key = searchKey || item.dataIndex;
|
|
575
|
+
newFilterParams[key] = (_this5$tableSearchRef = _this5.tableSearchRef.current) === null || _this5$tableSearchRef === void 0 ? void 0 : _this5$tableSearchRef.getValue();
|
|
576
|
+
|
|
577
|
+
_this5.setState({
|
|
578
|
+
filterParams: _objectSpread({}, newFilterParams)
|
|
579
|
+
});
|
|
580
|
+
|
|
581
|
+
_this5.store.load({
|
|
582
|
+
params: _objectSpread({}, newFilterParams)
|
|
583
|
+
});
|
|
584
|
+
},
|
|
585
|
+
size: "small",
|
|
586
|
+
className: styles["button"]
|
|
587
|
+
}, "\u67E5\u8BE2")));
|
|
588
|
+
},
|
|
589
|
+
filterIcon: function filterIcon() {
|
|
590
|
+
return /*#__PURE__*/React.createElement(SearchOutlined, null);
|
|
591
|
+
}
|
|
592
|
+
}, obj);
|
|
593
|
+
cols[index] = obj;
|
|
594
|
+
}
|
|
595
|
+
});
|
|
520
596
|
return cols;
|
|
521
597
|
}
|
|
522
598
|
}, {
|
|
@@ -533,6 +609,7 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
533
609
|
searchText = _this$state.searchText,
|
|
534
610
|
fieldOption = _this$state.fieldOption,
|
|
535
611
|
searchColor = _this$state.searchColor,
|
|
612
|
+
tableSize = _this$state.tableSize,
|
|
536
613
|
props = utils.omit(this.props, ["store", "onChange", "columns", "resetColumn"], {
|
|
537
614
|
rowKey: "id",
|
|
538
615
|
clickChangeColor: false
|
|
@@ -546,10 +623,10 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
546
623
|
}, props.pagination), pagination);
|
|
547
624
|
|
|
548
625
|
if (props.showTotal == true) {
|
|
549
|
-
props.pagination.showTotal = function (total,
|
|
550
|
-
var
|
|
551
|
-
from =
|
|
552
|
-
to =
|
|
626
|
+
props.pagination.showTotal = function (total, _ref4) {
|
|
627
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
628
|
+
from = _ref5[0],
|
|
629
|
+
to = _ref5[1];
|
|
553
630
|
|
|
554
631
|
// return "显示 " + from + " - " + to + "条,共 " + total + " 条";
|
|
555
632
|
return "共 " + total + " 条";
|
|
@@ -612,16 +689,61 @@ var NSCTable = /*#__PURE__*/function (_React$Component) {
|
|
|
612
689
|
var resizeProps = resizeColumn === true ? {
|
|
613
690
|
components: this.components
|
|
614
691
|
} : null;
|
|
615
|
-
var
|
|
692
|
+
var sizeItem = [{
|
|
693
|
+
title: "宽松",
|
|
694
|
+
key: "default"
|
|
695
|
+
}, {
|
|
696
|
+
title: "中等",
|
|
697
|
+
key: "middle"
|
|
698
|
+
}, {
|
|
699
|
+
title: "紧凑",
|
|
700
|
+
key: "small"
|
|
701
|
+
}];
|
|
702
|
+
var sortItem = [{
|
|
703
|
+
title: "单字段排序",
|
|
704
|
+
key: "sigle"
|
|
705
|
+
}, {
|
|
706
|
+
title: "多字段排序",
|
|
707
|
+
key: "multiple"
|
|
708
|
+
}];
|
|
709
|
+
var sortContent = /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, "\u5F53\u524D\u6392\u5E8F"), sortItem.map(function (item, index) {
|
|
710
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
711
|
+
key: item.key,
|
|
712
|
+
onClick: function onClick() {
|
|
713
|
+
console.log("item.key", item.key);
|
|
714
|
+
|
|
715
|
+
_this6.setState({
|
|
716
|
+
tableSize: item.key
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, tableSize == item.key && /*#__PURE__*/React.createElement(CheckOutlined, null)), item.title));
|
|
720
|
+
}));
|
|
721
|
+
var sizeContent = /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", null, "\u8868\u683C\u5BC6\u5EA6"), sizeItem.map(function (item, index) {
|
|
722
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
723
|
+
key: item.key,
|
|
724
|
+
onClick: function onClick() {
|
|
725
|
+
console.log("item.key", item.key);
|
|
726
|
+
|
|
727
|
+
_this6.setState({
|
|
728
|
+
tableSize: item.key
|
|
729
|
+
});
|
|
730
|
+
}
|
|
731
|
+
}, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, tableSize == item.key && /*#__PURE__*/React.createElement(CheckOutlined, null)), item.title));
|
|
732
|
+
}));
|
|
733
|
+
var DefaultTable = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_Table, _extends({
|
|
616
734
|
childrenColumnName: "childNodes",
|
|
617
735
|
dataSource: newDataSource,
|
|
618
736
|
columns: this.getColumns(),
|
|
619
|
-
loading: loading
|
|
620
|
-
|
|
737
|
+
loading: loading // className={styles["nsc-table"]}
|
|
738
|
+
,
|
|
621
739
|
locale: {
|
|
622
740
|
emptyText: /*#__PURE__*/React.createElement(NoData, null)
|
|
623
|
-
}
|
|
624
|
-
|
|
741
|
+
},
|
|
742
|
+
scroll: {
|
|
743
|
+
x: true
|
|
744
|
+
},
|
|
745
|
+
size: tableSize
|
|
746
|
+
}, resizeProps, props, dragableProps)));
|
|
625
747
|
return dragable === true ? /*#__PURE__*/React.createElement(DndProvider, {
|
|
626
748
|
backend: HTML5Backend
|
|
627
749
|
}, DefaultTable) : DefaultTable;
|
|
@@ -635,13 +757,13 @@ _defineProperty(NSCTable, "defaultProps", {
|
|
|
635
757
|
disableColumns: [],
|
|
636
758
|
dragable: false,
|
|
637
759
|
showTotal: true,
|
|
638
|
-
filterColumn:
|
|
760
|
+
filterColumn: false,
|
|
639
761
|
dragUrl: "",
|
|
640
762
|
autoPagination: true,
|
|
641
763
|
autoSort: true,
|
|
642
764
|
autoOnChange: true,
|
|
643
|
-
resizeColumn:
|
|
765
|
+
resizeColumn: true
|
|
644
766
|
});
|
|
645
767
|
|
|
646
768
|
export default withZhLocale(NSCTable);
|
|
647
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYmxlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJBcHBzdG9yZU91dGxpbmVkIiwiaXNFbXB0eU9iaiIsIlN0b3JlIiwiUGFnZVN0b3JlIiwidXRpbHMiLCJSZWFjdCIsIkRuZFByb3ZpZGVyIiwiQm9keVJvdyIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsInRyZWVVdGlscyIsInN0eWxlcyIsIkJvZHlSb3dDb21wb25lbnQiLCJIVE1MNUJhY2tlbmQiLCJ3aXRoWmhMb2NhbGUiLCJOb0RhdGEiLCJSZXNpemFibGUiLCJSZXNpemVhYmxlVGl0bGUiLCJwcm9wcyIsIm9uUmVzaXplIiwid2lkdGgiLCJyZXN0UHJvcHMiLCJlbmFibGVVc2VyU2VsZWN0SGFjayIsIk5TQ1RhYmxlIiwiY3JlYXRlUmVmIiwiZGF0YVNvdXJjZSIsImNvbHVtbnMiLCJsb2FkaW5nIiwicGFnaW5hdGlvbiIsImFjdGl2ZUluZGV4Iiwic2VhcmNoVGV4dCIsImZpZWxkT3B0aW9uIiwic2VhcmNoQ29sb3IiLCJjb2xzIiwib25CZWZvcmVMb2FkIiwibG9hZCIsImhlYWRlciIsImNlbGwiLCJpbmRleCIsImUiLCJzaXplIiwic3RhdGUiLCJuZXh0Q29sdW1ucyIsInNldFN0YXRlIiwiZHJhZ0luZGV4IiwiaG92ZXJJbmRleCIsImRyYWciLCJ0YXJnZXQiLCJfdGhpcyIsImRyYWdOb2RlIiwicmVjb3JkIiwidGFyZ2V0Tm9kZSIsIm1vdmVBcnJheSIsImlkcyIsInBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVJZHMiLCJwYXJhbXMiLCJpZCIsInBhcmVudElkIiwiYXR0cmlidXRlIiwibW92ZVJvdyIsInN0b3JlIiwicmVsb2FkIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlZCIsImRhdGEiLCJtb2RlbERhdGEiLCJwYWdpbmciLCJnZXRQYWdpbmF0aW9uIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImF1dG9Mb2FkIiwiT2JqZWN0IiwiYXNzaWduIiwiY3VycmVudCIsInJlc2l6ZUNvbHVtbiIsInNldERhdGEiLCJwcmV2UHJvcHMiLCJwcmVTdGF0ZSIsInJlc2V0Q29sdW1uIiwibmV3Q29scyIsImNvbHNzIiwibWFwIiwiY29sIiwidGVtcCIsIm9uSGVhZGVyQ2VsbCIsImNvbHVtbiIsImhhbmRsZVJlc2l6ZSIsInB1c2giLCJmaWx0ZXJzIiwic29ydGVyIiwiZXh0cmEiLCJhdXRvT25DaGFuZ2UiLCJhdXRvU29ydCIsImF1dG9QYWdpbmF0aW9uIiwib25DaGFuZ2UiLCJoYW5kbGVQYWdpbmF0aW9uIiwiZ2V0UGFnaW5hdGlvbkJ5U3RvcmUiLCJwIiwiY3VycmVudEtleSIsInBhZ2VTaXplS2V5IiwicGFnZVNpemUiLCJvcmRlciIsImFzY3MiLCJzb3J0RmllbGQiLCJmaWVsZCIsImRlc2NzIiwib25DaGFuZ2VGbiIsImdldE1vZGVsIiwidmFsIiwiY2hlY2tlZFZhbHVlIiwiZmlsdGVyQ29sdW1ucyIsIm5ld0NvbCIsImluY2x1ZGVzIiwiZGF0YUluZGV4IiwiaW5pdFNob3ciLCJkaXNhYmxlQ29sdW1ucyIsImNvbExpc3RzIiwiZGVmYXVsdFNob3dDb2xzIiwiZmlsdGVyIiwiZGVmYXVsdEhpZGVDb2xzIiwiY29udGVudCIsImZpbHRlckNvbHVtbiIsImJpbmQiLCJsYWJlbCIsInRpdGxlIiwidmFsdWUiLCJlbGxpcHNpcyIsInJlbmRlciIsInNob3dUaXRsZSIsInRleHQiLCJJY29uQWN0aW9uIiwidGhJY29uUmVmIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImtleSIsImFsaWduIiwib21pdCIsInJvd0tleSIsImNsaWNrQ2hhbmdlQ29sb3IiLCJwb3NpdGlvbiIsInNob3dTaXplQ2hhbmdlciIsInNob3dRdWlja0p1bXBlciIsInNob3dUb3RhbCIsInRvdGFsIiwiZnJvbSIsInRvIiwib25Sb3dGbiIsIm9uUm93IiwiY3VzdG9tIiwib25DbGlja0ZuIiwib25DbGljayIsImV2ZW50Iiwicm93Q2xhc3NOYW1lIiwiY2xpY2tSb3dTdHlsZSIsIm5ld0RhdGFTb3VyY2UiLCJnZXRTZWFyY2hNZW51RGF0YXMiLCJ0cmVlRGF0YXMiLCJleHBhbmRlZFJvd0tleXMiLCJvcGVuS2V5cyIsImRyYWdhYmxlIiwiZHJhZ2FibGVQcm9wcyIsImNvbXBvbmVudHMiLCJyZXNpemVQcm9wcyIsIkRlZmF1bHRUYWJsZSIsImdldENvbHVtbnMiLCJlbXB0eVRleHQiLCJDb21wb25lbnQiLCJkcmFnVXJsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxnQkFBVCxRQUFpQyxtQkFBakM7QUFDQSxTQUFTQyxVQUFULFFBQTJCLG1CQUEzQjtBQUNBLE9BQU9DLEtBQVAsSUFBZ0JDLFNBQWhCLFFBQTZDLGFBQTdDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFVQSxPQUFPLEtBQUtDLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxTQUFTQyxXQUFULFFBQTRCLFdBQTVCO0FBQ0EsT0FBT0MsT0FBUCxJQUFrQkMsY0FBbEIsRUFBa0NDLGFBQWxDLFFBQXVELG1CQUF2RDtBQUNBLE9BQU9DLFNBQVAsTUFBc0IsY0FBdEI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsSUFBUUMsZ0JBQVIsR0FBMkNMLE9BQTNDLENBQVFLLGdCQUFSO0FBQUEsSUFBMEJDLFlBQTFCLEdBQTJDTixPQUEzQyxDQUEwQk0sWUFBMUI7QUFDQSxPQUFPQyxZQUFQLE1BQXlCLHdCQUF6QjtBQUNBLFNBQVNDLE1BQVQsUUFBdUIsSUFBdkI7QUFDQSxTQUFTQyxTQUFULFFBQTBCLGlCQUExQjtBQUNBLE9BQU8sZUFBUDtBQWlD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QU5WLFNBT01ILFdBUE4sRUFRTXpKLEtBUk4sRUFTTXVKLGFBVE4sRUFERjtBQWNBLGFBQU9ELFFBQVEsS0FBSyxJQUFiLGdCQUNMLG9CQUFDLFdBQUQ7QUFBYSxRQUFBLE9BQU8sRUFBRTNKO0FBQXRCLFNBQXFDK0osWUFBckMsQ0FESyxHQUdMQSxZQUhGO0FBS0Q7Ozs7RUFsZG9CdkssS0FBSyxDQUFDMEssUzs7Z0JBQXZCeEosUSxrQkFDa0I7QUFDcEJxRyxFQUFBQSxjQUFjLEVBQUUsRUFESTtBQUVwQjRDLEVBQUFBLFFBQVEsRUFBRSxLQUZVO0FBR3BCakIsRUFBQUEsU0FBUyxFQUFFLElBSFM7QUFJcEJyQixFQUFBQSxZQUFZLEVBQUUsSUFKTTtBQUtwQjhDLEVBQUFBLE9BQU8sRUFBRSxFQUxXO0FBTXBCMUUsRUFBQUEsY0FBYyxFQUFFLElBTkk7QUFPcEJELEVBQUFBLFFBQVEsRUFBRSxJQVBVO0FBUXBCRCxFQUFBQSxZQUFZLEVBQUUsSUFSTTtBQVNwQmpCLEVBQUFBLFlBQVksRUFBRTtBQVRNLEM7O0FBb2R4QixlQUFlckUsWUFBWSxDQUFDUyxRQUFELENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIzIDA4OjQ2OjIwXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wMy0yMyAxMDozMDo0MlxyXG4gKi9cclxuaW1wb3J0IHsgQXBwc3RvcmVPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7XHJcbiAgQ2hlY2tib3gsXHJcbiAgQ2hlY2tib3hPcHRpb25UeXBlLFxyXG4gIFBvcG92ZXIsXHJcbiAgVGFibGUsXHJcbiAgVGFibGVQcm9wcyxcclxuICBUb29sdGlwLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IENvbHVtblR5cGUsIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gXCJhbnRkL2xpYi90YWJsZVwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG5kUHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtZG5kXCI7XHJcbmltcG9ydCBCb2R5Um93LCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9Cb2R5Um93XCI7XHJcbmltcG9ydCB0cmVlVXRpbHMgZnJvbSBcIi4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuY29uc3QgeyBCb2R5Um93Q29tcG9uZW50LCBIVE1MNUJhY2tlbmQgfSA9IEJvZHlSb3c7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IHsgTm9EYXRhIH0gZnJvbSBcIi4uXCI7XHJcbmltcG9ydCB7IFJlc2l6YWJsZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcclxuaW1wb3J0IFwiLi9yZXNpemUubGVzc1wiO1xyXG5cclxuaW50ZXJmYWNlIElEcmFnUGFyYW1zIHtcclxuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGlkczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICBwYXJlbnRJZDogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcbi8vIGludGVyZmFjZSBTdG9yZVByb3BzIHt9XHJcblxyXG5leHBvcnQgdHlwZSBTdG9yZVR5cGUgPSBcIlBhZ2VTdG9yZVwiIHwgXCJUcmVlU3RvcmVcIiB8IFwiQmFzZVN0b3JlXCI7XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQYWdpbmF0aW9uIGV4dGVuZHMgVGFibGVQYWdpbmF0aW9uQ29uZmlnIHtcclxuICB0b3RhbEtleT86IHN0cmluZztcclxuICBwYWdlU2l6ZUtleT86IHN0cmluZztcclxuICBjdXJyZW50S2V5Pzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlUHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dUb3RhbD86IGJvb2xlYW47IC8vIOaYr+WQpuaYvuekuuaAu+adoeaVsOS/oeaBr++8jOm7mOiupHRydWVcclxuICBkaXNhYmxlQ29sdW1ucz86IHN0cmluZ1tdOyAvLyDkuI3lj6/pmpDol4/lv4XpobvmmL7npLrnmoTliJdcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8vIOaYr+WQpuWPr+aLluWKqCwg6buY6K6kZmFsc2VcclxuICBmaWx0ZXJDb2x1bW4/OiBib29sZWFuOyAvLyDmmK/lkKbmlK/mjIHov4fmu6TmmL7npLrooajmoLzliJcsIOm7mOiupHRydWVcclxuICBtb3ZlUm93PzogKHBhcmFtczogSURyYWdQYXJhbXMpID0+IHZvaWQ7IC8vIOaLluaLveWujOaIkOWQjueahOWbnuiwg1xyXG4gIGRyYWdVcmw/OiBzdHJpbmc7IC8vIOS/neWtmOaLluaLveaOkuW6j+eahOaOpeWPo1xyXG4gIHBhZ2luYXRpb24/OiBmYWxzZSB8IE5TQ1RhYmxlUGFnaW5hdGlvbjtcclxuICBhdXRvUGFnaW5hdGlvbj86IGJvb2xlYW47IC8vIOe7hOS7tuaYr+WQpuiHquWKqOWkhOeQhuWIhumhtVxyXG4gIGF1dG9Tb3J0PzogYm9vbGVhbjsgLy/nu4Tku7bmmK/lkKboh6rliqjlpITnkIbmjpLluo9cclxuICBhdXRvT25DaGFuZ2U/OiBib29sZWFuOyAvLyDnu4Tku7bmmK/lkKboh6rliqhvbkNoYW5nZSwgZmFsc2XliJnkuI3lgZrku7vkvZXlpITnkIblhajpg6jkuqTnu5nosIPnlKjmlrlcclxuICByZXNpemVDb2x1bW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJTlNDVGFibGVQcm9wcyA9IHR5cGVvZiBOU0NUYWJsZS5kZWZhdWx0UHJvcHMgJiBOU0NUYWJsZVByb3BzO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcyB9O1xyXG5cclxuY29uc3QgUmVzaXplYWJsZVRpdGxlID0gKHByb3BzOiBhbnkpID0+IHtcclxuICBjb25zdCB7IG9uUmVzaXplLCB3aWR0aCwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcclxuICByZXR1cm4gKFxyXG4gICAgPFJlc2l6YWJsZVxyXG4gICAgICB3aWR0aD17d2lkdGggfHwgMTUwfVxyXG4gICAgICBoZWlnaHQ9ezB9XHJcbiAgICAgIG9uUmVzaXplPXtvblJlc2l6ZX1cclxuICAgICAgZHJhZ2dhYmxlT3B0cz17eyBlbmFibGVVc2VyU2VsZWN0SGFjazogZmFsc2UgfX1cclxuICAgID5cclxuICAgICAgPHRoIHsuLi5yZXN0UHJvcHN9IC8+XHJcbiAgICA8L1Jlc2l6YWJsZT5cclxuICApO1xyXG59O1xyXG5jbGFzcyBOU0NUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJTlNDVGFibGVQcm9wcz4ge1xyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBkaXNhYmxlQ29sdW1uczogW10sXHJcbiAgICBkcmFnYWJsZTogZmFsc2UsXHJcbiAgICBzaG93VG90YWw6IHRydWUsXHJcbiAgICBmaWx0ZXJDb2x1bW46IHRydWUsXHJcbiAgICBkcmFnVXJsOiBcIlwiLFxyXG4gICAgYXV0b1BhZ2luYXRpb246IHRydWUsXHJcbiAgICBhdXRvU29ydDogdHJ1ZSxcclxuICAgIGF1dG9PbkNoYW5nZTogdHJ1ZSxcclxuICAgIHJlc2l6ZUNvbHVtbjogZmFsc2UsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHRoSWNvblJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuXHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGNvbHVtbnM6IFtdLFxyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBwYWdpbmF0aW9uOiB7fSxcclxuICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IG51bGwsXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuICAgIGNvbHM6IFtdLFxyXG4gIH07XHJcblxyXG4gIGxpc3RlbmVycyA9IHtcclxuICAgIG9uQmVmb3JlTG9hZDogbnVsbCxcclxuICAgIGxvYWQ6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgY29tcG9uZW50cyA9IHtcclxuICAgIGhlYWRlcjoge1xyXG4gICAgICBjZWxsOiBSZXNpemVhYmxlVGl0bGUsXHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBpZiAocHJvcHMuc3RvcmUgaW5zdGFuY2VvZiBTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPVxyXG4gICAgICAgIHByb3BzLnN0b3JlIHx8IHt9O1xyXG4gICAgICBjb25zdCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiAoc3RvcmUsIG9wdGlvbnMpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uQmVmb3JlTG9hZCwgdGhpcywgW3N0b3JlLCBvcHRpb25zXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBwYWdpbmcgPSAhKHRoaXMucHJvcHMucGFnaW5hdGlvbiA9PT0gZmFsc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHBhZ2luZyAmJiAhdGhpcy5wcm9wcy5kYXRhU291cmNlKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBkYXRhU291cmNlOiBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBzdG9yZS5nZXRQYWdpbmF0aW9uKCksXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZGF0YVNvdXJjZTogbW9kZWxEYXRhLCBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMuZGF0YUNoYW5nZWQsIHRoaXMsIFtcclxuICAgICAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgICAgIG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBzdG9yZSxcclxuICAgICAgICAgICAgICBwYWdpbmcsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmxvYWQsIHRoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25FcnJvckxvYWQ6IChlcnIsIHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMub25FcnJvckxvYWQsIHRoaXMsIFtlcnIsIHJlc3BvbnNlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YTogcmVzdFN0b3JlLmRhdGFcclxuICAgICAgICAgID8gcmVzdFN0b3JlLmRhdGFcclxuICAgICAgICAgIDogcHJvcHMuZGF0YVNvdXJjZVxyXG4gICAgICAgICAgPyBwcm9wcy5kYXRhU291cmNlXHJcbiAgICAgICAgICA6IG51bGwsXHJcbiAgICAgICAgLi4ucmVzdFN0b3JlLFxyXG4gICAgICAgIGF1dG9Mb2FkOiByZXN0U3RvcmUuYXV0b0xvYWQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFBhZ2VTdG9yZShcclxuICAgICAgICBPYmplY3QuYXNzaWduKHt9LCBzdG9yZVByb3BzLCB7XHJcbiAgICAgICAgICBwYWdpbmF0aW9uOiB7Y3VycmVudDoxLC4uLnRoaXMucHJvcHMucGFnaW5hdGlvbn0sXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc2l6ZSA9XHJcbiAgICAoaW5kZXg6IGFueSkgPT5cclxuICAgIChlOiBhbnksIHsgc2l6ZSB9OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjb2xzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICBjb25zdCBuZXh0Q29sdW1ucyA9IFsuLi5jb2xzXTtcclxuICAgICAgbmV4dENvbHVtbnNbaW5kZXhdID0ge1xyXG4gICAgICAgIC4uLm5leHRDb2x1bW5zW2luZGV4XSxcclxuICAgICAgICB3aWR0aDogc2l6ZS53aWR0aCxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY29sczogbmV4dENvbHVtbnMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2xzOiBbLi4udGhpcy5wcm9wcy5jb2x1bW5zXSB9KTtcclxuICAgICAgLy8gdGhpcy5yZXNldENvbHVtbigpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3RvcmUgPSB0aGlzLnByb3BzLnN0b3JlO1xyXG4gICAgaWYgKHN0b3JlICYmIHN0b3JlLmRhdGEpIHtcclxuICAgICAgdGhpcy5zdG9yZS5zZXREYXRhKHN0b3JlLmRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJlU3RhdGUpIHtcclxuICAgIGNvbnN0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFyZXNpemVDb2x1bW4pIHtcclxuICAgICAgaWYgKHRoaXMucHJvcHMuY29sdW1ucyAhPT0gcHJldlByb3BzLmNvbHVtbnMpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgY29sdW1uczogdGhpcy5wcm9wcy5jb2x1bW5zIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAocHJlU3RhdGUuY29scyAhPT0gdGhpcy5zdGF0ZS5jb2xzKSB7XHJcbiAgICAgICAgdGhpcy5yZXNldENvbHVtbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNldENvbHVtbigpIHtcclxuICAgIGNvbnN0IHsgY29scyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IG5ld0NvbHM6IGFueSA9IFtdO1xyXG4gICAgbGV0IGNvbHNzID0gY29scyB8fCBbXTtcclxuICAgIGNvbHNzLm1hcCgoY29sOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgbGV0IHRlbXAgPSB7XHJcbiAgICAgICAgLi4uY29sLFxyXG4gICAgICAgIG9uSGVhZGVyQ2VsbDogKGNvbHVtbjogeyB3aWR0aDogYW55IH0pID0+ICh7XHJcbiAgICAgICAgICB3aWR0aDogY29sdW1uLndpZHRoLFxyXG4gICAgICAgICAgb25SZXNpemU6IHRoaXMuaGFuZGxlUmVzaXplKGluZGV4KSxcclxuICAgICAgICB9KSxcclxuICAgICAgfTtcclxuICAgICAgbmV3Q29scy5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgY29sdW1uczogbmV3Q29scyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5riF6Zmk6YCJ5Lit6aKc6ImyXHJcbiAgICovXHJcbiAgY2xlYXJTZWxlY3RDb2xvcigpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoeyBhY3RpdmVJbmRleDogLTEgfSk7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIGdldFBhZ2luYXRpb25CeVN0b3JlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmUuZ2V0UGFnaW5hdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2UocGFnaW5hdGlvbiwgZmlsdGVycywgc29ydGVyLCBleHRyYSkge1xyXG4gICAgY29uc3QgeyBhdXRvT25DaGFuZ2UsIGF1dG9Tb3J0LCBhdXRvUGFnaW5hdGlvbiwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoYXV0b09uQ2hhbmdlID09PSBmYWxzZSkge1xyXG4gICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhbmRsZVBhZ2luYXRpb24gPSAoKSA9PiB7XHJcbiAgICAgIGxldCBwYXJhbXMgPSB7fSBhcyB7XHJcbiAgICAgICAgc2l6ZT86IHN0cmluZztcclxuICAgICAgICBwYWdlU2l6ZT86IHN0cmluZztcclxuICAgICAgICBhc2NzPzogc3RyaW5nO1xyXG4gICAgICAgIGRlc2NzPzogc3RyaW5nO1xyXG4gICAgICAgIFtwcm9wTmFtZTogc3RyaW5nXTogc3RyaW5nO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgY29uc3QgcGFnaW5nID0gdGhpcy5nZXRQYWdpbmF0aW9uQnlTdG9yZSgpIHx8IHt9O1xyXG5cclxuICAgICAgaWYgKCFpc0VtcHR5T2JqKHBhZ2luYXRpb24pKSB7XHJcbiAgICAgICAgY29uc3QgcCA9IHtcclxuICAgICAgICAgIFtwYWdpbmcuY3VycmVudEtleSB8fCBcImN1cnJlbnRcIl06IHBhZ2luYXRpb24uY3VycmVudCxcclxuICAgICAgICAgIFtwYWdpbmcucGFnZVNpemVLZXkgfHwgXCJzaXplXCJdOiBwYWdpbmF0aW9uLnBhZ2VTaXplLFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJhbXMsIHApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoYXV0b1NvcnQgPT09IHRydWUgJiYgIWlzRW1wdHlPYmooc29ydGVyKSkge1xyXG4gICAgICAgIGlmIChzb3J0ZXIub3JkZXIgPT0gXCJhc2NlbmRcIikge1xyXG4gICAgICAgICAgcGFyYW1zLmFzY3MgPVxyXG4gICAgICAgICAgICBzb3J0ZXIuY29sdW1uLnNvcnRGaWVsZCB8fCBzb3J0ZXIuY29sdW1uLmZpZWxkIHx8IHNvcnRlci5maWVsZDtcclxuICAgICAgICAgIHBhcmFtcy5kZXNjcyA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzb3J0ZXIub3JkZXIgPT0gXCJkZXNjZW5kXCIpIHtcclxuICAgICAgICAgIHBhcmFtcy5kZXNjcyA9XHJcbiAgICAgICAgICAgIHNvcnRlci5jb2x1bW4uc29ydEZpZWxkIHx8IHNvcnRlci5jb2x1bW4uZmllbGQgfHwgc29ydGVyLmZpZWxkO1xyXG4gICAgICAgICAgcGFyYW1zLmFzY3MgPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlLnJlbG9hZCh7IHBhcmFtcyB9KTtcclxuICAgIH07XHJcblxyXG4gICAgY29uc3Qgb25DaGFuZ2VGbiA9IHRoaXMucHJvcHMub25DaGFuZ2U7XHJcbiAgICAvLyDnlKjmiLfkvKDkuoZvbkNoYW5nZeS/neeVmeeUqOaIt+iHquS4u+WkhOeQhuihqOagvOWPmOWMlueahOadg+WKm1xyXG4gICAgaWYgKG9uQ2hhbmdlRm4pIHtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGFuZ2VGbiwgdGhpcywgW3BhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmFdKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnByb3BzLmF1dG9QYWdpbmF0aW9uKSB7XHJcbiAgICAgIGhhbmRsZVBhZ2luYXRpb24oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFN0b3JlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RvcmU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmlbDmja7mqKHlnovlr7nosaFcclxuICAgKi9cclxuICBnZXRNb2RlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlLmdldE1vZGVsKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDoj5zljZXmkJzntKLov4fmu6TmmL7npLpcclxuICAgKiBAcGFyYW0ge1N0cmluZ30gdmFsXHJcbiAgICovXHJcbiAgaGFuZGxlU2VhcmNoKHZhbCwgZmllbGRPcHRpb24sIHNlYXJjaENvbG9yKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VhcmNoVGV4dDogdmFsLFxyXG4gICAgICBmaWVsZE9wdGlvbjogZmllbGRPcHRpb24sXHJcbiAgICAgIHNlYXJjaENvbG9yOiBzZWFyY2hDb2xvcixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5qih5Z2X5YiX6KGo56e75Yqo5o6S5bqPXHJcbiAgICovXHJcbiAgbW92ZVJvdyA9IChkcmFnSW5kZXgsIGhvdmVySW5kZXgsIGRyYWcsIHRhcmdldCkgPT4ge1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgbGV0IGRyYWdOb2RlID0gZHJhZy5yZWNvcmQ7XHJcbiAgICBsZXQgdGFyZ2V0Tm9kZSA9IHRhcmdldC5yZWNvcmQ7XHJcbiAgICBkcmFnTm9kZS5tb3ZlQXJyYXkoZHJhZ05vZGUsIHRhcmdldE5vZGUpO1xyXG4gICAgbGV0IGlkcyA9IGRyYWdOb2RlLnBhcmVudE5vZGUuZ2V0Q2hpbGROb2RlSWRzKCk7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBpZDogZHJhZ05vZGUuaWQsXHJcbiAgICAgIHBhcmVudElkOiBkcmFnTm9kZS5hdHRyaWJ1dGUucGFyZW50SWQsXHJcbiAgICAgIGlkczogaWRzLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodGhpcy5wcm9wcy5tb3ZlUm93KSB7XHJcbiAgICAgIHRoaXMucHJvcHMubW92ZVJvdyhwYXJhbXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdG9yZS5yZWxvYWQoKTtcclxuICAgIH1cclxuICAgIC8vIHJlcXVlc3QoXCJodHRwOi8vZGVtby5qYXZhc3ZuLmNvbS9hcGkvYWRtaW4vbWVudXMvZHJhZ1wiLCB7XHJcbiAgICAvLyAgIG1ldGhvZDogXCJQQVRDSFwiLFxyXG4gICAgLy8gICBkYXRhOiBwYXJhbXMsXHJcbiAgICAvLyAgIGNhbGxiYWNrOiBmdW5jdGlvbiAoZGF0YSkge1xyXG4gICAgLy8gICAgIHRoaXMuc3RvcmUucmVsb2FkKCk7XHJcbiAgICAvLyAgIH0sXHJcbiAgICAvLyB9KTtcclxuICB9O1xyXG5cclxuICBmaWx0ZXJDb2x1bW4oY2hlY2tlZFZhbHVlKSB7XHJcbiAgICBjb25zdCBmaWx0ZXJDb2x1bW5zID0gdGhpcy5wcm9wcy5jb2x1bW5zLm1hcCgoY29sOiBDb2x1bW5UeXBlPHt9PikgPT4ge1xyXG4gICAgICBjb25zdCBuZXdDb2wgPSB7IC4uLmNvbCB9IGFzIENvbHVtblR5cGU8e30+ICYgeyBpbml0U2hvdzogYm9vbGVhbiB9O1xyXG4gICAgICBpZiAoY2hlY2tlZFZhbHVlLmluY2x1ZGVzKGNvbC5kYXRhSW5kZXgpKSB7XHJcbiAgICAgICAgbmV3Q29sLmluaXRTaG93ID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdDb2wuaW5pdFNob3cgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV3Q29sO1xyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLnNldFN0YXRlKHsgY29sdW1uczogZmlsdGVyQ29sdW1ucyB9KTtcclxuICAgIGNvbnN0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFyZXNpemVDb2x1bW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IGZpbHRlckNvbHVtbnMgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHsgY29sczogZmlsdGVyQ29sdW1ucyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldENvbHVtbnMoKSB7XHJcbiAgICBjb25zdCB7IGNvbHVtbnMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7IGRpc2FibGVDb2x1bW5zLCBjb2x1bW5zOiBjb2xMaXN0cyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGRlZmF1bHRTaG93Q29scyA9IGNvbHVtbnMuZmlsdGVyKChjb2xzKSA9PiBjb2xzLmluaXRTaG93ICE9PSBmYWxzZSk7XHJcbiAgICBjb25zdCBkZWZhdWx0SGlkZUNvbHMgPSBjb2x1bW5zLmZpbHRlcigoY29scykgPT4gY29scy5pbml0U2hvdyA9PT0gZmFsc2UpO1xyXG5cclxuICAgIGNvbnN0IGNvbnRlbnQgPSAoXHJcbiAgICAgIDxDaGVja2JveC5Hcm91cFxyXG4gICAgICAgIG9uQ2hhbmdlPXt0aGlzLmZpbHRlckNvbHVtbi5iaW5kKHRoaXMpfVxyXG4gICAgICAgIG9wdGlvbnM9e2NvbExpc3RzLm1hcChcclxuICAgICAgICAgIChjb2w6IENvbHVtblR5cGU8e30+KSA9PlxyXG4gICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgIGxhYmVsOiBjb2wudGl0bGUsXHJcbiAgICAgICAgICAgICAgdmFsdWU6IGNvbC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICAgIH0gYXMgQ2hlY2tib3hPcHRpb25UeXBlKVxyXG4gICAgICAgICl9XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0U2hvd0NvbHMubWFwKChjb2wpID0+IGNvbC5kYXRhSW5kZXgpfVxyXG4gICAgICA+PC9DaGVja2JveC5Hcm91cD5cclxuICAgICk7XHJcblxyXG4gICAgY29uc3QgY29scyA9IGRlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4ge1xyXG4gICAgICBpZiAoY29sLmVsbGlwc2lzICYmICFjb2wucmVuZGVyKSB7XHJcbiAgICAgICAgY29sLmVsbGlwc2lzID0ge1xyXG4gICAgICAgICAgc2hvd1RpdGxlOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbC5yZW5kZXIgPSAodGV4dCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFRvb2x0aXAgcGxhY2VtZW50PVwidG9wTGVmdFwiIHRpdGxlPXt0ZXh0fT5cclxuICAgICAgICAgICAgICB7dGV4dH1cclxuICAgICAgICAgICAgPC9Ub29sdGlwPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBjb2w7XHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBJY29uQWN0aW9uOiBDb2x1bW5UeXBlPHt9PiA9IHtcclxuICAgICAgdGl0bGU6IChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1widGgtaWNvblwiXX0gcmVmPXt0aGlzLnRoSWNvblJlZn0+XHJcbiAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICB0aXRsZT1cIumAieaLqeaYvuekuueahOWIl1wiXHJcbiAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVJpZ2h0XCJcclxuICAgICAgICAgICAgdHJpZ2dlcj1cImNsaWNrXCJcclxuICAgICAgICAgICAgb3ZlcmxheVN0eWxlPXt7IG1pbldpZHRoOiA0MTAsIG1heFdpZHRoOiA0NTAgfX1cclxuICAgICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9eygpID0+IHRoaXMudGhJY29uUmVmLmN1cnJlbnR9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxBcHBzdG9yZU91dGxpbmVkIHNpemU9ezI0fSBjbGFzc05hbWU9e3N0eWxlc1tcImFwcC1zdG9yZS1pY29uXCJdfSAvPlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICApLFxyXG4gICAgICBkYXRhSW5kZXg6IFwiaWNvbi1tZW51XCIsXHJcbiAgICAgIGtleTogXCJpY29uLW1lbnVcIixcclxuICAgICAgd2lkdGg6IDUwLFxyXG4gICAgICBhbGlnbjogXCJjZW50ZXJcIixcclxuICAgICAgLy8gZml4ZWQ6IFwicmlnaHRcIixcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5wcm9wcy5maWx0ZXJDb2x1bW4pIHtcclxuICAgICAgY29scy5wdXNoKEljb25BY3Rpb24pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2xzO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcyxcclxuICAgICAge1xyXG4gICAgICAgIGxvYWRpbmcsXHJcbiAgICAgICAgZGF0YVNvdXJjZSxcclxuICAgICAgICBwYWdpbmF0aW9uID0ge30sXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvcixcclxuICAgICAgfSA9IHRoaXMuc3RhdGUsXHJcbiAgICAgIHByb3BzID0gdXRpbHMub21pdChcclxuICAgICAgICB0aGlzLnByb3BzLFxyXG4gICAgICAgIFtcInN0b3JlXCIsIFwib25DaGFuZ2VcIiwgXCJjb2x1bW5zXCIsIFwicmVzZXRDb2x1bW5cIl0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcm93S2V5OiBcImlkXCIsXHJcbiAgICAgICAgICBjbGlja0NoYW5nZUNvbG9yOiBmYWxzZSxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcblxyXG4gICAgaWYgKHByb3BzLnBhZ2luYXRpb24gIT09IGZhbHNlKSB7XHJcbiAgICAgIHByb3BzLnBhZ2luYXRpb24gPSB7XHJcbiAgICAgICAgcG9zaXRpb246IFtcImJvdHRvbVJpZ2h0XCJdLFxyXG4gICAgICAgIHNob3dTaXplQ2hhbmdlcjogdHJ1ZSxcclxuICAgICAgICBzaG93UXVpY2tKdW1wZXI6IHRydWUsXHJcbiAgICAgICAgLi4ucHJvcHMucGFnaW5hdGlvbixcclxuICAgICAgICAuLi5wYWdpbmF0aW9uLFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAocHJvcHMuc2hvd1RvdGFsID09IHRydWUpIHtcclxuICAgICAgICBwcm9wcy5wYWdpbmF0aW9uLnNob3dUb3RhbCA9IGZ1bmN0aW9uICh0b3RhbCwgW2Zyb20sIHRvXSkge1xyXG4gICAgICAgICAgLy8gcmV0dXJuIFwi5pi+56S6IFwiICsgZnJvbSArIFwiIC0gXCIgKyB0byArIFwi5p2h77yM5YWxIFwiICsgdG90YWwgKyBcIiDmnaFcIjtcclxuICAgICAgICAgIHJldHVybiBcIuWFsSBcIiArIHRvdGFsICsgXCIg5p2hXCI7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3BzLm9uQ2hhbmdlID0gZnVuY3Rpb24gKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpIHtcclxuICAgICAgX3RoaXMub25DaGFuZ2UocGFnaW5hdGlvbiwgZmlsdGVycywgc29ydGVyLCBleHRyYSk7XHJcbiAgICB9O1xyXG4gICAgaWYgKHByb3BzLmNsaWNrQ2hhbmdlQ29sb3IpIHtcclxuICAgICAgY29uc3Qgb25Sb3dGbiA9IHByb3BzLm9uUm93O1xyXG4gICAgICBwcm9wcy5vblJvdyA9IGZ1bmN0aW9uIChyZWNvcmQsIGluZGV4KSB7XHJcbiAgICAgICAgdmFyIGN1c3RvbSA9IG9uUm93Rm4gPyBvblJvd0ZuKHJlY29yZCwgaW5kZXgpIDoge307XHJcbiAgICAgICAgY29uc3Qgb25DbGlja0ZuID0gY3VzdG9tLm9uQ2xpY2s7XHJcbiAgICAgICAgY3VzdG9tLm9uQ2xpY2sgPSAoZXZlbnQpID0+IHtcclxuICAgICAgICAgIF90aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgYWN0aXZlSW5kZXg6IGluZGV4LCAvL+iOt+WPlueCueWHu+ihjOeahOe0ouW8lVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB1dGlscy5jYWxsYmFjayhvbkNsaWNrRm4sIF90aGlzLCBbZXZlbnRdKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBjdXN0b207XHJcbiAgICAgIH07XHJcbiAgICAgIHByb3BzLnJvd0NsYXNzTmFtZSA9IGZ1bmN0aW9uIChyZWNvcmQsIGluZGV4KSB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ID09PSBfdGhpcy5zdGF0ZS5hY3RpdmVJbmRleFxyXG4gICAgICAgICAgPyBgJHtzdHlsZXMuY2xpY2tSb3dTdHlsZX1gXHJcbiAgICAgICAgICA6IFwiXCI7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBsZXQgbmV3RGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgaWYgKHNlYXJjaFRleHQpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRyZWVVdGlscy5nZXRTZWFyY2hNZW51RGF0YXMoXHJcbiAgICAgICAgdGhpcyxcclxuICAgICAgICBzZWFyY2hUZXh0LFxyXG4gICAgICAgIGZpZWxkT3B0aW9uLFxyXG4gICAgICAgIHNlYXJjaENvbG9yXHJcbiAgICAgICk7XHJcbiAgICAgIG5ld0RhdGFTb3VyY2UgPSBkYXRhLnRyZWVEYXRhcztcclxuICAgICAgcHJvcHMuZXhwYW5kZWRSb3dLZXlzID0gZGF0YS5vcGVuS2V5cztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld0RhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xyXG4gICAgfVxyXG4gICAgcHJvcHMuc3RvcmUgPSBwcm9wcy5zdG9yZSB8fCB7fTtcclxuICAgIHByb3BzLnN0b3JlLmF1dG9Mb2FkID0gcHJvcHMuc3RvcmUuYXV0b0xvYWQgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xyXG4gICAgY29uc3QgeyBkcmFnYWJsZSB9ID0gX3RoaXMucHJvcHM7XHJcbiAgICBjb25zdCBkcmFnYWJsZVByb3BzID1cclxuICAgICAgZHJhZ2FibGUgPT09IHRydWVcclxuICAgICAgICA/IHtcclxuICAgICAgICAgICAgY29tcG9uZW50czogQm9keVJvd0NvbXBvbmVudCxcclxuICAgICAgICAgICAgb25Sb3c6IChyZWNvcmQsIGluZGV4KSA9PiAoe1xyXG4gICAgICAgICAgICAgIGluZGV4LFxyXG4gICAgICAgICAgICAgIHJlY29yZCxcclxuICAgICAgICAgICAgICBtb3ZlUm93OiB0aGlzLm1vdmVSb3csXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge307XHJcbiAgICBsZXQgeyByZXNpemVDb2x1bW4gfSA9IHRoaXMucHJvcHM7XHJcblxyXG4gICAgY29uc3QgcmVzaXplUHJvcHMgPVxyXG4gICAgICByZXNpemVDb2x1bW4gPT09IHRydWUgPyB7IGNvbXBvbmVudHM6IHRoaXMuY29tcG9uZW50cyB9IDogbnVsbDtcclxuXHJcbiAgICBjb25zdCBEZWZhdWx0VGFibGUgPSAoXHJcbiAgICAgIDxUYWJsZVxyXG4gICAgICAgIGNoaWxkcmVuQ29sdW1uTmFtZT1cImNoaWxkTm9kZXNcIlxyXG4gICAgICAgIGRhdGFTb3VyY2U9e25ld0RhdGFTb3VyY2V9XHJcbiAgICAgICAgY29sdW1ucz17dGhpcy5nZXRDb2x1bW5zKCl9XHJcbiAgICAgICAgbG9hZGluZz17bG9hZGluZ31cclxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10YWJsZVwiXX1cclxuICAgICAgICBsb2NhbGU9e3sgZW1wdHlUZXh0OiA8Tm9EYXRhIC8+IH19XHJcbiAgICAgICAgey4uLnJlc2l6ZVByb3BzfVxyXG4gICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICB7Li4uZHJhZ2FibGVQcm9wc31cclxuICAgICAgLz5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIGRyYWdhYmxlID09PSB0cnVlID8gKFxyXG4gICAgICA8RG5kUHJvdmlkZXIgYmFja2VuZD17SFRNTDVCYWNrZW5kfT57RGVmYXVsdFRhYmxlfTwvRG5kUHJvdmlkZXI+XHJcbiAgICApIDogKFxyXG4gICAgICBEZWZhdWx0VGFibGVcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCB3aXRoWmhMb2NhbGUoTlNDVGFibGUpO1xyXG4iXX0=
|
|
769
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RhYmxlL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJBcHBzdG9yZU91dGxpbmVkIiwiQ2hlY2tPdXRsaW5lZCIsIlNlYXJjaE91dGxpbmVkIiwiaXNFbXB0eU9iaiIsIlN0b3JlIiwiUGFnZVN0b3JlIiwidXRpbHMiLCJSZWFjdCIsIkRuZFByb3ZpZGVyIiwiQm9keVJvdyIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsInRyZWVVdGlscyIsInN0eWxlcyIsIkJvZHlSb3dDb21wb25lbnQiLCJIVE1MNUJhY2tlbmQiLCJ3aXRoWmhMb2NhbGUiLCJOb0RhdGEiLCJJbnB1dCIsIlNlbGVjdCIsIlJlc2l6YWJsZSIsIlJlc2l6ZWFibGVUaXRsZSIsInByb3BzIiwib25SZXNpemUiLCJ3aWR0aCIsInJlc3RQcm9wcyIsImVuYWJsZVVzZXJTZWxlY3RIYWNrIiwiTlNDVGFibGUiLCJjcmVhdGVSZWYiLCJkYXRhU291cmNlIiwiY29sdW1ucyIsImxvYWRpbmciLCJwYWdpbmF0aW9uIiwiYWN0aXZlSW5kZXgiLCJzZWFyY2hUZXh0IiwiZmllbGRPcHRpb24iLCJzZWFyY2hDb2xvciIsImNvbHMiLCJzb3J0cyIsImZpbHRlclBhcmFtcyIsInRhYmxlU2l6ZSIsInNvcnRUeXBlIiwib25CZWZvcmVMb2FkIiwibG9hZCIsImhlYWRlciIsImNlbGwiLCJpbmRleCIsImUiLCJzaXplIiwic3RhdGUiLCJuZXh0Q29sdW1ucyIsInNldFN0YXRlIiwiZHJhZ0luZGV4IiwiaG92ZXJJbmRleCIsImRyYWciLCJ0YXJnZXQiLCJfdGhpcyIsImRyYWdOb2RlIiwicmVjb3JkIiwidGFyZ2V0Tm9kZSIsIm1vdmVBcnJheSIsImlkcyIsInBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVJZHMiLCJwYXJhbXMiLCJpZCIsInBhcmVudElkIiwiYXR0cmlidXRlIiwibW92ZVJvdyIsInN0b3JlIiwicmVsb2FkIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZVByb3BzIiwibW9kZWwiLCJjb21wb25lbnQiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlZCIsImRhdGEiLCJtb2RlbERhdGEiLCJwYWdpbmciLCJnZXRQYWdpbmF0aW9uIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImF1dG9Mb2FkIiwiT2JqZWN0IiwiYXNzaWduIiwiY3VycmVudCIsInJlc2l6ZUNvbHVtbiIsInNldERhdGEiLCJwcmV2UHJvcHMiLCJwcmVTdGF0ZSIsInJlc2V0Q29sdW1uIiwibmV3Q29scyIsImNvbHNzIiwibWFwIiwiY29sIiwidGVtcCIsIm9uSGVhZGVyQ2VsbCIsImNvbHVtbiIsImhhbmRsZVJlc2l6ZSIsInB1c2giLCJmaWx0ZXJzIiwic29ydGVyIiwiZXh0cmEiLCJjb25zb2xlIiwibG9nIiwiYXV0b09uQ2hhbmdlIiwiYXV0b1NvcnQiLCJhdXRvUGFnaW5hdGlvbiIsIm9uQ2hhbmdlIiwiaGFuZGxlUGFnaW5hdGlvbiIsImdldFBhZ2luYXRpb25CeVN0b3JlIiwicCIsImN1cnJlbnRLZXkiLCJwYWdlU2l6ZUtleSIsInBhZ2VTaXplIiwib3JkZXIiLCJhc2NzIiwic29ydEZpZWxkIiwiZmllbGQiLCJkZXNjcyIsIm9uQ2hhbmdlRm4iLCJnZXRNb2RlbCIsInZhbCIsImNoZWNrZWRWYWx1ZSIsImZpbHRlckNvbHVtbnMiLCJuZXdDb2wiLCJpbmNsdWRlcyIsImRhdGFJbmRleCIsImluaXRTaG93IiwiY29sTGlzdHMiLCJkZWZhdWx0U2hvd0NvbHMiLCJmaWx0ZXIiLCJjb250ZW50IiwiZmlsdGVyQ29sdW1uIiwiYmluZCIsImxhYmVsIiwidGl0bGUiLCJ2YWx1ZSIsImVsbGlwc2lzIiwicmVuZGVyIiwic2hvd1RpdGxlIiwidGV4dCIsIkljb25BY3Rpb24iLCJ0aEljb25SZWYiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwia2V5IiwiYWxpZ24iLCJpdGVtIiwiZmlsdGVyUHJvcHMiLCJvYmoiLCJ0eXBlIiwiZGF0YVByb3BzIiwic2VhcmNoS2V5IiwiRGl2IiwidGFibGVTZWFyY2hSZWYiLCJmaWx0ZXJEcm9wZG93biIsInNldFNlbGVjdGVkS2V5cyIsInNlbGVjdGVkS2V5cyIsImNvbmZpcm0iLCJjbGVhckZpbHRlcnMiLCJuZXdGaWx0ZXJQYXJhbXMiLCJnZXRWYWx1ZSIsImZpbHRlckljb24iLCJvbWl0Iiwicm93S2V5IiwiY2xpY2tDaGFuZ2VDb2xvciIsInBvc2l0aW9uIiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1F1aWNrSnVtcGVyIiwic2hvd1RvdGFsIiwidG90YWwiLCJmcm9tIiwidG8iLCJvblJvd0ZuIiwib25Sb3ciLCJjdXN0b20iLCJvbkNsaWNrRm4iLCJvbkNsaWNrIiwiZXZlbnQiLCJyb3dDbGFzc05hbWUiLCJjbGlja1Jvd1N0eWxlIiwibmV3RGF0YVNvdXJjZSIsImdldFNlYXJjaE1lbnVEYXRhcyIsInRyZWVEYXRhcyIsImV4cGFuZGVkUm93S2V5cyIsIm9wZW5LZXlzIiwiZHJhZ2FibGUiLCJkcmFnYWJsZVByb3BzIiwiY29tcG9uZW50cyIsInJlc2l6ZVByb3BzIiwic2l6ZUl0ZW0iLCJzb3J0SXRlbSIsInNvcnRDb250ZW50Iiwic2l6ZUNvbnRlbnQiLCJEZWZhdWx0VGFibGUiLCJnZXRDb2x1bW5zIiwiZW1wdHlUZXh0IiwieCIsIkNvbXBvbmVudCIsImRpc2FibGVDb2x1bW5zIiwiZHJhZ1VybCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQ0VBLGdCQURGLEVBRUVDLGFBRkYsRUFJRUMsY0FKRixRQU1PLG1CQU5QO0FBT0EsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7QUFDQSxPQUFPQyxLQUFQLElBQWdCQyxTQUFoQixRQUE2QyxhQUE3QztBQUNBLFNBQVNDLEtBQVQsUUFBc0Is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QUEsT0FBTyxFQUFFLEtBQUtjLFVBQUwsRUFIWDtBQUlFLFFBQUEsT0FBTyxFQUFFMUssT0FKWCxDQUtFO0FBTEY7QUFNRSxRQUFBLE1BQU0sRUFBRTtBQUFFMkssVUFBQUEsU0FBUyxlQUFFLG9CQUFDLE1BQUQ7QUFBYixTQU5WO0FBT0UsUUFBQSxNQUFNLEVBQUU7QUFBRUMsVUFBQUEsQ0FBQyxFQUFFO0FBQUwsU0FQVjtBQVFFLFFBQUEsSUFBSSxFQUFFbks7QUFSUixTQVNNMkosV0FUTixFQVVNN0ssS0FWTixFQVdNMkssYUFYTixFQVhGLENBREY7QUE0QkEsYUFBT0QsUUFBUSxLQUFLLElBQWIsZ0JBQ0wsb0JBQUMsV0FBRDtBQUFhLFFBQUEsT0FBTyxFQUFFakw7QUFBdEIsU0FBcUN5TCxZQUFyQyxDQURLLEdBR0xBLFlBSEY7QUFLRDs7OztFQXhsQm9Cak0sS0FBSyxDQUFDcU0sUzs7Z0JBQXZCakwsUSxrQkFDa0I7QUFDcEJrTCxFQUFBQSxjQUFjLEVBQUUsRUFESTtBQUVwQmIsRUFBQUEsUUFBUSxFQUFFLEtBRlU7QUFHcEJqQixFQUFBQSxTQUFTLEVBQUUsSUFIUztBQUlwQnJDLEVBQUFBLFlBQVksRUFBRSxLQUpNO0FBS3BCb0UsRUFBQUEsT0FBTyxFQUFFLEVBTFc7QUFNcEI5RixFQUFBQSxjQUFjLEVBQUUsSUFOSTtBQU9wQkQsRUFBQUEsUUFBUSxFQUFFLElBUFU7QUFRcEJELEVBQUFBLFlBQVksRUFBRSxJQVJNO0FBU3BCbkIsRUFBQUEsWUFBWSxFQUFFO0FBVE0sQzs7QUEwbEJ4QixlQUFlM0UsWUFBWSxDQUFDVyxRQUFELENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIzIDA4OjQ2OjIwXHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wMy0yMyAxMDozMDo0MlxyXG4gKi9cclxuaW1wb3J0IHtcclxuICBBcHBzdG9yZU91dGxpbmVkLFxyXG4gIENoZWNrT3V0bGluZWQsXHJcbiAgQ29sdW1uSGVpZ2h0T3V0bGluZWQsXHJcbiAgU2VhcmNoT3V0bGluZWQsXHJcbiAgU29ydEFzY2VuZGluZ091dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCB7XHJcbiAgQnV0dG9uLFxyXG4gIENoZWNrYm94LFxyXG4gIENoZWNrYm94T3B0aW9uVHlwZSxcclxuICBNZW51LFxyXG4gIFBvcG92ZXIsXHJcbiAgU3BhY2UsXHJcbiAgVGFibGUsXHJcbiAgVGFibGVQcm9wcyxcclxuICBUb29sdGlwLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IENvbHVtblR5cGUsIFRhYmxlUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gXCJhbnRkL2xpYi90YWJsZVwiO1xyXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgRG5kUHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtZG5kXCI7XHJcbmltcG9ydCBCb2R5Um93LCB7IERuZENvbnRleHRUeXBlLCBJQm9keVJvd1Byb3BzIH0gZnJvbSBcIi4uL2NvbW1vbi9Cb2R5Um93XCI7XHJcbmltcG9ydCB0cmVlVXRpbHMgZnJvbSBcIi4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuY29uc3QgeyBCb2R5Um93Q29tcG9uZW50LCBIVE1MNUJhY2tlbmQgfSA9IEJvZHlSb3c7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuaW1wb3J0IHsgSWNvbiwgTm9EYXRhLCBJbnB1dCwgU2VsZWN0IH0gZnJvbSBcIi4uXCI7XHJcbmltcG9ydCB7IFJlc2l6YWJsZSB9IGZyb20gXCJyZWFjdC1yZXNpemFibGVcIjtcclxuaW1wb3J0IFwiLi9yZXNpemUubGVzc1wiO1xyXG5cclxuaW50ZXJmYWNlIElEcmFnUGFyYW1zIHtcclxuICBpZDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIGlkczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPjtcclxuICBwYXJlbnRJZDogc3RyaW5nIHwgbnVtYmVyO1xyXG59XHJcbi8vIGludGVyZmFjZSBTdG9yZVByb3BzIHt9XHJcblxyXG5leHBvcnQgdHlwZSBTdG9yZVR5cGUgPSBcIlBhZ2VTdG9yZVwiIHwgXCJUcmVlU3RvcmVcIiB8IFwiQmFzZVN0b3JlXCI7XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQYWdpbmF0aW9uIGV4dGVuZHMgVGFibGVQYWdpbmF0aW9uQ29uZmlnIHtcclxuICB0b3RhbEtleT86IHN0cmluZztcclxuICBwYWdlU2l6ZUtleT86IHN0cmluZztcclxuICBjdXJyZW50S2V5Pzogc3RyaW5nO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgTlNDVGFibGVQcm9wcyBleHRlbmRzIFRhYmxlUHJvcHM8YW55PiB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dUb3RhbD86IGJvb2xlYW47IC8vIOaYr+WQpuaYvuekuuaAu+adoeaVsOS/oeaBr++8jOm7mOiupHRydWVcclxuICBkaXNhYmxlQ29sdW1ucz86IHN0cmluZ1tdOyAvLyDkuI3lj6/pmpDol4/lv4XpobvmmL7npLrnmoTliJdcclxuICBkcmFnYWJsZT86IGJvb2xlYW47IC8vIOaYr+WQpuWPr+aLluWKqCwg6buY6K6kZmFsc2VcclxuICBmaWx0ZXJDb2x1bW4/OiBib29sZWFuOyAvLyDmmK/lkKbmlK/mjIHov4fmu6TmmL7npLrooajmoLzliJcsIOm7mOiupHRydWVcclxuICBtb3ZlUm93PzogKHBhcmFtczogSURyYWdQYXJhbXMpID0+IHZvaWQ7IC8vIOaLluaLveWujOaIkOWQjueahOWbnuiwg1xyXG4gIGRyYWdVcmw/OiBzdHJpbmc7IC8vIOS/neWtmOaLluaLveaOkuW6j+eahOaOpeWPo1xyXG4gIHBhZ2luYXRpb24/OiBmYWxzZSB8IE5TQ1RhYmxlUGFnaW5hdGlvbjtcclxuICBhdXRvUGFnaW5hdGlvbj86IGJvb2xlYW47IC8vIOe7hOS7tuaYr+WQpuiHquWKqOWkhOeQhuWIhumhtVxyXG4gIGF1dG9Tb3J0PzogYm9vbGVhbjsgLy/nu4Tku7bmmK/lkKboh6rliqjlpITnkIbmjpLluo9cclxuICBhdXRvT25DaGFuZ2U/OiBib29sZWFuOyAvLyDnu4Tku7bmmK/lkKboh6rliqhvbkNoYW5nZSwgZmFsc2XliJnkuI3lgZrku7vkvZXlpITnkIblhajpg6jkuqTnu5nosIPnlKjmlrlcclxuICByZXNpemVDb2x1bW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBJTlNDVGFibGVQcm9wcyA9IHR5cGVvZiBOU0NUYWJsZS5kZWZhdWx0UHJvcHMgJiBOU0NUYWJsZVByb3BzO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcyB9O1xyXG5cclxuY29uc3QgUmVzaXplYWJsZVRpdGxlID0gKHByb3BzOiBhbnkpID0+IHtcclxuICBjb25zdCB7IG9uUmVzaXplLCB3aWR0aCwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcclxuICByZXR1cm4gKFxyXG4gICAgPFJlc2l6YWJsZVxyXG4gICAgICB3aWR0aD17d2lkdGggfHwgMTUwfVxyXG4gICAgICBoZWlnaHQ9ezB9XHJcbiAgICAgIG9uUmVzaXplPXtvblJlc2l6ZX1cclxuICAgICAgZHJhZ2dhYmxlT3B0cz17eyBlbmFibGVVc2VyU2VsZWN0SGFjazogZmFsc2UgfX1cclxuICAgID5cclxuICAgICAgPHRoIHsuLi5yZXN0UHJvcHN9IC8+XHJcbiAgICA8L1Jlc2l6YWJsZT5cclxuICApO1xyXG59O1xyXG5jbGFzcyBOU0NUYWJsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJTlNDVGFibGVQcm9wcz4ge1xyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XHJcbiAgICBkaXNhYmxlQ29sdW1uczogW10sXHJcbiAgICBkcmFnYWJsZTogZmFsc2UsXHJcbiAgICBzaG93VG90YWw6IHRydWUsXHJcbiAgICBmaWx0ZXJDb2x1bW46IGZhbHNlLFxyXG4gICAgZHJhZ1VybDogXCJcIixcclxuICAgIGF1dG9QYWdpbmF0aW9uOiB0cnVlLFxyXG4gICAgYXV0b1NvcnQ6IHRydWUsXHJcbiAgICBhdXRvT25DaGFuZ2U6IHRydWUsXHJcbiAgICByZXNpemVDb2x1bW46IHRydWUsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyBTdG9yZVByb3BzO1xyXG4gIHRoSWNvblJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcclxuICB0YWJsZVNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBkYXRhU291cmNlOiBbXSxcclxuICAgIGNvbHVtbnM6IFtdLFxyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBwYWdpbmF0aW9uOiB7fSxcclxuICAgIGFjdGl2ZUluZGV4OiAtMSxcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IG51bGwsXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuICAgIGNvbHM6IFtdLFxyXG4gICAgc29ydHM6IFtdLFxyXG4gICAgZmlsdGVyUGFyYW1zOiB7fSxcclxuICAgIHRhYmxlU2l6ZTogXCJtaWRkbGVcIixcclxuICAgIHNvcnRUeXBlOidzaWdsZSdcclxuICB9O1xyXG5cclxuICBsaXN0ZW5lcnMgPSB7XHJcbiAgICBvbkJlZm9yZUxvYWQ6IG51bGwsXHJcbiAgICBsb2FkOiBudWxsLFxyXG4gIH07XHJcblxyXG4gIGNvbXBvbmVudHMgPSB7XHJcbiAgICBoZWFkZXI6IHtcclxuICAgICAgY2VsbDogUmVzaXplYWJsZVRpdGxlLFxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgaWYgKHByb3BzLnN0b3JlIGluc3RhbmNlb2YgU3RvcmUpIHtcclxuICAgICAgdGhpcy5zdG9yZSA9IHByb3BzLnN0b3JlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgeyBsaXN0ZW5lcnM6IGxpc3RlbmVyc1Byb3BzID0ge30sIC4uLnJlc3RTdG9yZSB9ID1cclxuICAgICAgICBwcm9wcy5zdG9yZSB8fCB7fTtcclxuICAgICAgY29uc3Qgc3RvcmVQcm9wcyA9IHtcclxuICAgICAgICBtb2RlbDogXCJtb2RlbFwiLFxyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBsaXN0ZW5lcnM6IHtcclxuICAgICAgICAgIG9uQmVmb3JlTG9hZDogKHN0b3JlLCBvcHRpb25zKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkJlZm9yZUxvYWQsIHRoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgcGFnaW5nID0gISh0aGlzLnByb3BzLnBhZ2luYXRpb24gPT09IGZhbHNlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChwYWdpbmcgJiYgIXRoaXMucHJvcHMuZGF0YVNvdXJjZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgZGF0YVNvdXJjZTogbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvbjogc3RvcmUuZ2V0UGFnaW5hdGlvbigpLFxyXG4gICAgICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBhY3RpdmVJbmRleDogLTEsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGRhdGFTb3VyY2U6IG1vZGVsRGF0YSwgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmRhdGFDaGFuZ2VkLCB0aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgICAgcGFnaW5nLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5sb2FkLCB0aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uRXJyb3JMb2FkOiAoZXJyLCByZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uRXJyb3JMb2FkLCB0aGlzLCBbZXJyLCByZXNwb25zZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGE6IHJlc3RTdG9yZS5kYXRhXHJcbiAgICAgICAgICA/IHJlc3RTdG9yZS5kYXRhXHJcbiAgICAgICAgICA6IHByb3BzLmRhdGFTb3VyY2VcclxuICAgICAgICAgID8gcHJvcHMuZGF0YVNvdXJjZVxyXG4gICAgICAgICAgOiBudWxsLFxyXG4gICAgICAgIC4uLnJlc3RTdG9yZSxcclxuICAgICAgICBhdXRvTG9hZDogcmVzdFN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZSxcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5zdG9yZSA9IG5ldyBQYWdlU3RvcmUoXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgc3RvcmVQcm9wcywge1xyXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBjdXJyZW50OiAxLCAuLi50aGlzLnByb3BzLnBhZ2luYXRpb24gfSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmVzaXplID1cclxuICAgIChpbmRleDogYW55KSA9PlxyXG4gICAgKGU6IGFueSwgeyBzaXplIH06IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNvbHMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgIGNvbnN0IG5leHRDb2x1bW5zID0gWy4uLmNvbHNdO1xyXG4gICAgICBuZXh0Q29sdW1uc1tpbmRleF0gPSB7XHJcbiAgICAgICAgLi4ubmV4dENvbHVtbnNbaW5kZXhdLFxyXG4gICAgICAgIHdpZHRoOiBzaXplLndpZHRoLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBjb2xzOiBuZXh0Q29sdW1ucyxcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFyZXNpemVDb2x1bW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IFsuLi50aGlzLnByb3BzLmNvbHVtbnNdIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHM6IFsuLi50aGlzLnByb3BzLmNvbHVtbnNdIH0pO1xyXG4gICAgICAvLyB0aGlzLnJlc2V0Q29sdW1uKCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdG9yZSA9IHRoaXMucHJvcHMuc3RvcmU7XHJcbiAgICBpZiAoc3RvcmUgJiYgc3RvcmUuZGF0YSkge1xyXG4gICAgICB0aGlzLnN0b3JlLnNldERhdGEoc3RvcmUuZGF0YSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUocHJldlByb3BzLCBwcmVTdGF0ZSkge1xyXG4gICAgY29uc3QgeyByZXNpemVDb2x1bW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXJlc2l6ZUNvbHVtbikge1xyXG4gICAgICBpZiAodGhpcy5wcm9wcy5jb2x1bW5zICE9PSBwcmV2UHJvcHMuY29sdW1ucykge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiB0aGlzLnByb3BzLmNvbHVtbnMgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChwcmVTdGF0ZS5jb2xzICE9PSB0aGlzLnN0YXRlLmNvbHMpIHtcclxuICAgICAgICB0aGlzLnJlc2V0Q29sdW1uKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0Q29sdW1uKCkge1xyXG4gICAgY29uc3QgeyBjb2xzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbmV3Q29sczogYW55ID0gW107XHJcbiAgICBsZXQgY29sc3MgPSBjb2xzIHx8IFtdO1xyXG4gICAgY29sc3MubWFwKChjb2w6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHtcclxuICAgICAgICAuLi5jb2wsXHJcbiAgICAgICAgb25IZWFkZXJDZWxsOiAoY29sdW1uOiB7IHdpZHRoOiBhbnkgfSkgPT4gKHtcclxuICAgICAgICAgIHdpZHRoOiBjb2x1bW4ud2lkdGgsXHJcbiAgICAgICAgICBvblJlc2l6ZTogdGhpcy5oYW5kbGVSZXNpemUoaW5kZXgpLFxyXG4gICAgICAgIH0pLFxyXG4gICAgICB9O1xyXG4gICAgICBuZXdDb2xzLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBjb2x1bW5zOiBuZXdDb2xzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmuIXpmaTpgInkuK3popzoibJcclxuICAgKi9cclxuICBjbGVhclNlbGVjdENvbG9yKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGFjdGl2ZUluZGV4OiAtMSB9KTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFnaW5hdGlvbkJ5U3RvcmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRQYWdpbmF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcInNvcnRlclwiLCBzb3J0ZXIpO1xyXG4gICAgY29uc3QgeyBhdXRvT25DaGFuZ2UsIGF1dG9Tb3J0LCBhdXRvUGFnaW5hdGlvbiwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zb2xlLmxvZyhcImF1dG9Tb3J0XCIsIGF1dG9Tb3J0KTtcclxuICAgIGNvbnNvbGUubG9nKFwiYXV0b1BhZ2luYXRpb25cIiwgYXV0b1BhZ2luYXRpb24pO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJQYXJhbXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoYXV0b09uQ2hhbmdlID09PSBmYWxzZSkge1xyXG4gICAgICBvbkNoYW5nZSAmJiBvbkNoYW5nZShwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaGFuZGxlUGFnaW5hdGlvbiA9ICgpID0+IHtcclxuICAgICAgbGV0IHBhcmFtcyA9IHt9IGFzIHtcclxuICAgICAgICBzaXplPzogc3RyaW5nO1xyXG4gICAgICAgIHBhZ2VTaXplPzogc3RyaW5nO1xyXG4gICAgICAgIGFzY3M/OiBzdHJpbmc7XHJcbiAgICAgICAgZGVzY3M/OiBzdHJpbmc7XHJcbiAgICAgICAgW3Byb3BOYW1lOiBzdHJpbmddOiBzdHJpbmc7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCBwYWdpbmcgPSB0aGlzLmdldFBhZ2luYXRpb25CeVN0b3JlKCkgfHwge307XHJcblxyXG4gICAgICBpZiAoIWlzRW1wdHlPYmoocGFnaW5hdGlvbikpIHtcclxuICAgICAgICBjb25zdCBwID0ge1xyXG4gICAgICAgICAgW3BhZ2luZy5jdXJyZW50S2V5IHx8IFwiY3VycmVudFwiXTogcGFnaW5hdGlvbi5jdXJyZW50LFxyXG4gICAgICAgICAgW3BhZ2luZy5wYWdlU2l6ZUtleSB8fCBcInNpemVcIl06IHBhZ2luYXRpb24ucGFnZVNpemUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgcCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhdXRvU29ydCA9PT0gdHJ1ZSAmJiAhaXNFbXB0eU9iaihzb3J0ZXIpKSB7XHJcbiAgICAgICAgaWYgKHNvcnRlci5vcmRlciA9PSBcImFzY2VuZFwiKSB7XHJcbiAgICAgICAgICBwYXJhbXMuYXNjcyA9XHJcbiAgICAgICAgICAgIHNvcnRlci5jb2x1bW4uc29ydEZpZWxkIHx8IHNvcnRlci5jb2x1bW4uZmllbGQgfHwgc29ydGVyLmZpZWxkO1xyXG4gICAgICAgICAgcGFyYW1zLmRlc2NzID0gXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHNvcnRlci5vcmRlciA9PSBcImRlc2NlbmRcIikge1xyXG4gICAgICAgICAgcGFyYW1zLmRlc2NzID1cclxuICAgICAgICAgICAgc29ydGVyLmNvbHVtbi5zb3J0RmllbGQgfHwgc29ydGVyLmNvbHVtbi5maWVsZCB8fCBzb3J0ZXIuZmllbGQ7XHJcbiAgICAgICAgICBwYXJhbXMuYXNjcyA9IFwiXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHBhcmFtcyA9IHsgLi4uZmlsdGVyUGFyYW1zLCAuLi5wYXJhbXMgfTtcclxuICAgICAgdGhpcy5zdG9yZS5yZWxvYWQoeyBwYXJhbXMgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IG9uQ2hhbmdlRm4gPSB0aGlzLnByb3BzLm9uQ2hhbmdlO1xyXG4gICAgLy8g55So5oi35Lyg5LqGb25DaGFuZ2Xkv53nlZnnlKjmiLfoh6rkuLvlpITnkIbooajmoLzlj5jljJbnmoTmnYPliptcclxuICAgIGlmIChvbkNoYW5nZUZuKSB7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKG9uQ2hhbmdlRm4sIHRoaXMsIFtwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhXSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5wcm9wcy5hdXRvUGFnaW5hdGlvbikge1xyXG4gICAgICBoYW5kbGVQYWdpbmF0aW9uKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5pWw5o2u5qih5Z6L5a+56LGhXHJcbiAgICovXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I+c5Y2V5pCc57Si6L+H5ruk5pi+56S6XHJcbiAgICogQHBhcmFtIHtTdHJpbmd9IHZhbFxyXG4gICAqL1xyXG4gIGhhbmRsZVNlYXJjaCh2YWwsIGZpZWxkT3B0aW9uLCBzZWFyY2hDb2xvcikge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlYXJjaFRleHQ6IHZhbCxcclxuICAgICAgZmllbGRPcHRpb246IGZpZWxkT3B0aW9uLFxyXG4gICAgICBzZWFyY2hDb2xvcjogc2VhcmNoQ29sb3IsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOaooeWdl+WIl+ihqOenu+WKqOaOkuW6j1xyXG4gICAqL1xyXG4gIG1vdmVSb3cgPSAoZHJhZ0luZGV4LCBob3ZlckluZGV4LCBkcmFnLCB0YXJnZXQpID0+IHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGxldCBkcmFnTm9kZSA9IGRyYWcucmVjb3JkO1xyXG4gICAgbGV0IHRhcmdldE5vZGUgPSB0YXJnZXQucmVjb3JkO1xyXG4gICAgZHJhZ05vZGUubW92ZUFycmF5KGRyYWdOb2RlLCB0YXJnZXROb2RlKTtcclxuICAgIGxldCBpZHMgPSBkcmFnTm9kZS5wYXJlbnROb2RlLmdldENoaWxkTm9kZUlkcygpO1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgaWQ6IGRyYWdOb2RlLmlkLFxyXG4gICAgICBwYXJlbnRJZDogZHJhZ05vZGUuYXR0cmlidXRlLnBhcmVudElkLFxyXG4gICAgICBpZHM6IGlkcyxcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHRoaXMucHJvcHMubW92ZVJvdykge1xyXG4gICAgICB0aGlzLnByb3BzLm1vdmVSb3cocGFyYW1zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RvcmUucmVsb2FkKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgZmlsdGVyQ29sdW1uKGNoZWNrZWRWYWx1ZSkge1xyXG4gICAgY29uc3QgZmlsdGVyQ29sdW1ucyA9IHRoaXMucHJvcHMuY29sdW1ucy5tYXAoKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+IHtcclxuICAgICAgY29uc3QgbmV3Q29sID0geyAuLi5jb2wgfSBhcyBDb2x1bW5UeXBlPHt9PiAmIHsgaW5pdFNob3c6IGJvb2xlYW4gfTtcclxuICAgICAgaWYgKGNoZWNrZWRWYWx1ZS5pbmNsdWRlcyhjb2wuZGF0YUluZGV4KSkge1xyXG4gICAgICAgIG5ld0NvbC5pbml0U2hvdyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3Q29sLmluaXRTaG93ID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5ld0NvbDtcclxuICAgIH0pO1xyXG4gICAgLy8gdGhpcy5zZXRTdGF0ZSh7IGNvbHVtbnM6IGZpbHRlckNvbHVtbnMgfSk7XHJcbiAgICBjb25zdCB7IHJlc2l6ZUNvbHVtbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghcmVzaXplQ29sdW1uKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBjb2x1bW5zOiBmaWx0ZXJDb2x1bW5zIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNvbHM6IGZpbHRlckNvbHVtbnMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDb2x1bW5zKCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgY29sdW1ucyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgY29sdW1uczogY29sTGlzdHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBkZWZhdWx0U2hvd0NvbHMgPSBjb2x1bW5zLmZpbHRlcigoY29scykgPT4gY29scy5pbml0U2hvdyAhPT0gZmFsc2UpO1xyXG4gICAgY29uc3QgY29udGVudCA9IChcclxuICAgICAgPENoZWNrYm94Lkdyb3VwXHJcbiAgICAgICAgb25DaGFuZ2U9e3RoaXMuZmlsdGVyQ29sdW1uLmJpbmQodGhpcyl9XHJcbiAgICAgICAgb3B0aW9ucz17Y29sTGlzdHMubWFwKFxyXG4gICAgICAgICAgKGNvbDogQ29sdW1uVHlwZTx7fT4pID0+XHJcbiAgICAgICAgICAgICh7XHJcbiAgICAgICAgICAgICAgbGFiZWw6IGNvbC50aXRsZSxcclxuICAgICAgICAgICAgICB2YWx1ZTogY29sLmRhdGFJbmRleCxcclxuICAgICAgICAgICAgfSBhcyBDaGVja2JveE9wdGlvblR5cGUpXHJcbiAgICAgICAgKX1cclxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRTaG93Q29scy5tYXAoKGNvbCkgPT4gY29sLmRhdGFJbmRleCl9XHJcbiAgICAgID48L0NoZWNrYm94Lkdyb3VwPlxyXG4gICAgKTtcclxuICAgIGNvbnN0IGNvbHMgPSBkZWZhdWx0U2hvd0NvbHMubWFwKChjb2wpID0+IHtcclxuICAgICAgaWYgKGNvbC5lbGxpcHNpcyAmJiAhY29sLnJlbmRlcikge1xyXG4gICAgICAgIGNvbC5lbGxpcHNpcyA9IHtcclxuICAgICAgICAgIHNob3dUaXRsZTogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2wucmVuZGVyID0gKHRleHQpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxUb29sdGlwIHBsYWNlbWVudD1cInRvcExlZnRcIiB0aXRsZT17dGV4dH0+XHJcbiAgICAgICAgICAgICAge3RleHR9XHJcbiAgICAgICAgICAgIDwvVG9vbHRpcD5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gY29sO1xyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgSWNvbkFjdGlvbjogQ29sdW1uVHlwZTx7fT4gPSB7XHJcbiAgICAgIHRpdGxlOiAoXHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInRoLWljb25cIl19IHJlZj17dGhpcy50aEljb25SZWZ9PlxyXG4gICAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgICAgdGl0bGU9XCLpgInmi6nmmL7npLrnmoTliJdcIlxyXG4gICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21SaWdodFwiXHJcbiAgICAgICAgICAgIHRyaWdnZXI9XCJjbGlja1wiXHJcbiAgICAgICAgICAgIG92ZXJsYXlTdHlsZT17eyBtaW5XaWR0aDogNDEwLCBtYXhXaWR0aDogNDUwIH19XHJcbiAgICAgICAgICAgIGdldFBvcHVwQ29udGFpbmVyPXsoKSA9PiB0aGlzLnRoSWNvblJlZi5jdXJyZW50fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8QXBwc3RvcmVPdXRsaW5lZCBzaXplPXsyNH0gY2xhc3NOYW1lPXtzdHlsZXNbXCJhcHAtc3RvcmUtaWNvblwiXX0gLz5cclxuICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKSxcclxuICAgICAgZGF0YUluZGV4OiBcImljb24tbWVudVwiLFxyXG4gICAgICBrZXk6IFwiaWNvbi1tZW51XCIsXHJcbiAgICAgIHdpZHRoOiA1MCxcclxuICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgIC8vIGZpeGVkOiBcInJpZ2h0XCIsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMucHJvcHMuZmlsdGVyQ29sdW1uKSB7XHJcbiAgICAgIGNvbHMucHVzaChJY29uQWN0aW9uKTtcclxuICAgIH1cclxuICAgIGNvbHMubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAoIWlzRW1wdHlPYmooaXRlbS5maWx0ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgb2JqID0geyAuLi5pdGVtIH07XHJcbiAgICAgICAgY29uc3QgeyB0eXBlLCBkYXRhUHJvcHMsIHNlYXJjaEtleSB9ID0gaXRlbS5maWx0ZXJQcm9wcztcclxuICAgICAgICBsZXQgRGl2ID0gbnVsbDtcclxuICAgICAgICBsZXQgdGV4dCA9IGl0ZW0udGl0bGU7XHJcbiAgICAgICAgaWYgKHR5cGUgPT0gXCJJbnB1dFwiKSB7XHJcbiAgICAgICAgICBEaXYgPSAoXHJcbiAgICAgICAgICAgIDxJbnB1dFxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy50YWJsZVNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICBzaXplPXtcInNtYWlsXCJ9XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2DmkJzntKIke3RleHR9YH1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwiU2VsZWN0XCIpIHtcclxuICAgICAgICAgIERpdiA9IChcclxuICAgICAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgICAgIHsuLi5kYXRhUHJvcHN9XHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnRhYmxlU2VhcmNoUmVmfVxyXG4gICAgICAgICAgICAgIHNpemU9e1wic21haWxcIn1cclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17YOaQnOe0oiR7dGV4dH1gfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgb2JqID0ge1xyXG4gICAgICAgICAgZmlsdGVyRHJvcGRvd246ICh7XHJcbiAgICAgICAgICAgIHNldFNlbGVjdGVkS2V5cyxcclxuICAgICAgICAgICAgc2VsZWN0ZWRLZXlzLFxyXG4gICAgICAgICAgICBjb25maXJtLFxyXG4gICAgICAgICAgICBjbGVhckZpbHRlcnMsXHJcbiAgICAgICAgICB9KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcInNlYXJjaFwiXX0+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wic3BhY2VcIl19PntEaXZ9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8U3BhY2U+XHJcbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlybSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZXQgbmV3RmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJQYXJhbXMgfTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxldCBrZXkgPSBzZWFyY2hLZXkgfHwgaXRlbS5kYXRhSW5kZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBuZXdGaWx0ZXJQYXJhbXNba2V5XSA9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVTZWFyY2hSZWYuY3VycmVudD8uZ2V0VmFsdWUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJQYXJhbXM6IHsgLi4ubmV3RmlsdGVyUGFyYW1zIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUubG9hZCh7IHBhcmFtczogeyAuLi5uZXdGaWx0ZXJQYXJhbXMgfSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbXCJidXR0b25cIl19XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICDmn6Xor6JcclxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L1NwYWNlPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGZpbHRlckljb246ICgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDxTZWFyY2hPdXRsaW5lZCAvPjtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi5vYmosXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjb2xzW2luZGV4XSA9IG9iajtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29scztcclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgIHtcclxuICAgICAgICBsb2FkaW5nLFxyXG4gICAgICAgIGRhdGFTb3VyY2UsXHJcbiAgICAgICAgcGFnaW5hdGlvbiA9IHt9LFxyXG4gICAgICAgIHNlYXJjaFRleHQsXHJcbiAgICAgICAgZmllbGRPcHRpb24sXHJcbiAgICAgICAgc2VhcmNoQ29sb3IsXHJcbiAgICAgICAgdGFibGVTaXplLFxyXG4gICAgICB9ID0gdGhpcy5zdGF0ZSxcclxuICAgICAgcHJvcHMgPSB1dGlscy5vbWl0KFxyXG4gICAgICAgIHRoaXMucHJvcHMsXHJcbiAgICAgICAgW1wic3RvcmVcIiwgXCJvbkNoYW5nZVwiLCBcImNvbHVtbnNcIiwgXCJyZXNldENvbHVtblwiXSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICByb3dLZXk6IFwiaWRcIixcclxuICAgICAgICAgIGNsaWNrQ2hhbmdlQ29sb3I6IGZhbHNlLFxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIGlmIChwcm9wcy5wYWdpbmF0aW9uICE9PSBmYWxzZSkge1xyXG4gICAgICBwcm9wcy5wYWdpbmF0aW9uID0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBbXCJib3R0b21SaWdodFwiXSxcclxuICAgICAgICBzaG93U2l6ZUNoYW5nZXI6IHRydWUsXHJcbiAgICAgICAgc2hvd1F1aWNrSnVtcGVyOiB0cnVlLFxyXG4gICAgICAgIC4uLnByb3BzLnBhZ2luYXRpb24sXHJcbiAgICAgICAgLi4ucGFnaW5hdGlvbixcclxuICAgICAgfTtcclxuICAgICAgaWYgKHByb3BzLnNob3dUb3RhbCA9PSB0cnVlKSB7XHJcbiAgICAgICAgcHJvcHMucGFnaW5hdGlvbi5zaG93VG90YWwgPSBmdW5jdGlvbiAodG90YWwsIFtmcm9tLCB0b10pIHtcclxuICAgICAgICAgIC8vIHJldHVybiBcIuaYvuekuiBcIiArIGZyb20gKyBcIiAtIFwiICsgdG8gKyBcIuadoe+8jOWFsSBcIiArIHRvdGFsICsgXCIg5p2hXCI7XHJcbiAgICAgICAgICByZXR1cm4gXCLlhbEgXCIgKyB0b3RhbCArIFwiIOadoVwiO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm9wcy5vbkNoYW5nZSA9IGZ1bmN0aW9uIChwYWdpbmF0aW9uLCBmaWx0ZXJzLCBzb3J0ZXIsIGV4dHJhKSB7XHJcbiAgICAgIF90aGlzLm9uQ2hhbmdlKHBhZ2luYXRpb24sIGZpbHRlcnMsIHNvcnRlciwgZXh0cmEpO1xyXG4gICAgfTtcclxuICAgIGlmIChwcm9wcy5jbGlja0NoYW5nZUNvbG9yKSB7XHJcbiAgICAgIGNvbnN0IG9uUm93Rm4gPSBwcm9wcy5vblJvdztcclxuICAgICAgcHJvcHMub25Sb3cgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHZhciBjdXN0b20gPSBvblJvd0ZuID8gb25Sb3dGbihyZWNvcmQsIGluZGV4KSA6IHt9O1xyXG4gICAgICAgIGNvbnN0IG9uQ2xpY2tGbiA9IGN1c3RvbS5vbkNsaWNrO1xyXG4gICAgICAgIGN1c3RvbS5vbkNsaWNrID0gKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGFjdGl2ZUluZGV4OiBpbmRleCwgLy/ojrflj5bngrnlh7vooYznmoTntKLlvJVcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdXRpbHMuY2FsbGJhY2sob25DbGlja0ZuLCBfdGhpcywgW2V2ZW50XSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4gY3VzdG9tO1xyXG4gICAgICB9O1xyXG4gICAgICBwcm9wcy5yb3dDbGFzc05hbWUgPSBmdW5jdGlvbiAocmVjb3JkLCBpbmRleCkge1xyXG4gICAgICAgIHJldHVybiBpbmRleCA9PT0gX3RoaXMuc3RhdGUuYWN0aXZlSW5kZXhcclxuICAgICAgICAgID8gYCR7c3R5bGVzLmNsaWNrUm93U3R5bGV9YFxyXG4gICAgICAgICAgOiBcIlwiO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IG5ld0RhdGFTb3VyY2UgPSBbXTtcclxuICAgIGlmIChzZWFyY2hUZXh0KSB7XHJcbiAgICAgIGNvbnN0IGRhdGEgPSB0cmVlVXRpbHMuZ2V0U2VhcmNoTWVudURhdGFzKFxyXG4gICAgICAgIHRoaXMsXHJcbiAgICAgICAgc2VhcmNoVGV4dCxcclxuICAgICAgICBmaWVsZE9wdGlvbixcclxuICAgICAgICBzZWFyY2hDb2xvclxyXG4gICAgICApO1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkUm93S2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdEYXRhU291cmNlID0gZGF0YVNvdXJjZTtcclxuICAgIH1cclxuICAgIHByb3BzLnN0b3JlID0gcHJvcHMuc3RvcmUgfHwge307XHJcbiAgICBwcm9wcy5zdG9yZS5hdXRvTG9hZCA9IHByb3BzLnN0b3JlLmF1dG9Mb2FkID09PSBmYWxzZSA/IGZhbHNlIDogdHJ1ZTtcclxuICAgIGNvbnN0IHsgZHJhZ2FibGUgfSA9IF90aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZHJhZ2FibGVQcm9wcyA9XHJcbiAgICAgIGRyYWdhYmxlID09PSB0cnVlXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudHM6IEJvZHlSb3dDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG9uUm93OiAocmVjb3JkLCBpbmRleCkgPT4gKHtcclxuICAgICAgICAgICAgICBpbmRleCxcclxuICAgICAgICAgICAgICByZWNvcmQsXHJcbiAgICAgICAgICAgICAgbW92ZVJvdzogdGhpcy5tb3ZlUm93LFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgIH1cclxuICAgICAgICA6IHt9O1xyXG4gICAgbGV0IHsgcmVzaXplQ29sdW1uIH0gPSB0aGlzLnByb3BzO1xyXG5cclxuICAgIGNvbnN0IHJlc2l6ZVByb3BzID1cclxuICAgICAgcmVzaXplQ29sdW1uID09PSB0cnVlID8geyBjb21wb25lbnRzOiB0aGlzLmNvbXBvbmVudHMgfSA6IG51bGw7XHJcbiAgIFxyXG4gICAgY29uc3Qgc2l6ZUl0ZW0gPSBbXHJcbiAgICAgIHsgdGl0bGU6IFwi5a695p2+XCIsIGtleTogXCJkZWZhdWx0XCIgfSxcclxuICAgICAgeyB0aXRsZTogXCLkuK3nrYlcIiwga2V5OiBcIm1pZGRsZVwiIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwi57Sn5YeRXCIsIGtleTogXCJzbWFsbFwiIH0sXHJcbiAgICBdO1xyXG4gICAgY29uc3Qgc29ydEl0ZW0gPSBbXHJcbiAgICAgIHsgdGl0bGU6IFwi5Y2V5a2X5q615o6S5bqPXCIsIGtleTogXCJzaWdsZVwiIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwi5aSa5a2X5q615o6S5bqPXCIsIGtleTogXCJtdWx0aXBsZVwiIH0sXHJcbiAgICBdO1xyXG4gICAgY29uc3Qgc29ydENvbnRlbnQgPSAoXHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdj7lvZPliY3mjpLluo88L2Rpdj5cclxuICAgICAgICB7c29ydEl0ZW0ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGtleT17aXRlbS5rZXl9XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpdGVtLmtleVwiLCBpdGVtLmtleSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgdGFibGVTaXplOiBpdGVtLmtleSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt0YWJsZVNpemUgPT0gaXRlbS5rZXkgJiYgPENoZWNrT3V0bGluZWQgLz59PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAge2l0ZW0udGl0bGV9XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGNvbnN0IHNpemVDb250ZW50ID0gKFxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXY+6KGo5qC85a+G5bqmPC9kaXY+XHJcbiAgICAgICAge3NpemVJdGVtLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBrZXk9e2l0ZW0ua2V5fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaXRlbS5rZXlcIiwgaXRlbS5rZXkpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgIHRhYmxlU2l6ZTogaXRlbS5rZXksXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICA8c3Bhbj57dGFibGVTaXplID09IGl0ZW0ua2V5ICYmIDxDaGVja091dGxpbmVkIC8+fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIHtpdGVtLnRpdGxlfVxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0pfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBjb25zdCBEZWZhdWx0VGFibGUgPSAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgey8qIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX0+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8UG9wb3ZlciBwbGFjZW1lbnQ9XCJib3R0b21cIiBjb250ZW50PXtzaXplQ29udGVudH0gdHJpZ2dlcj1cImNsaWNrXCI+XHJcbiAgICAgICAgICAgICAgPENvbHVtbkhlaWdodE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPFBvcG92ZXIgcGxhY2VtZW50PVwiYm90dG9tXCIgY29udGVudD17c29ydENvbnRlbnR9IHRyaWdnZXI9XCJjbGlja1wiPlxyXG4gICAgICAgICAgICA8U29ydEFzY2VuZGluZ091dGxpbmVkIC8+XHJcbiAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgPC9kaXY+ICovfVxyXG4gICAgICAgIDxUYWJsZVxyXG4gICAgICAgICAgY2hpbGRyZW5Db2x1bW5OYW1lPVwiY2hpbGROb2Rlc1wiXHJcbiAgICAgICAgICBkYXRhU291cmNlPXtuZXdEYXRhU291cmNlfVxyXG4gICAgICAgICAgY29sdW1ucz17dGhpcy5nZXRDb2x1bW5zKCl9XHJcbiAgICAgICAgICBsb2FkaW5nPXtsb2FkaW5nfVxyXG4gICAgICAgICAgLy8gY2xhc3NOYW1lPXtzdHlsZXNbXCJuc2MtdGFibGVcIl19XHJcbiAgICAgICAgICBsb2NhbGU9e3sgZW1wdHlUZXh0OiA8Tm9EYXRhIC8+IH19XHJcbiAgICAgICAgICBzY3JvbGw9e3sgeDogdHJ1ZSB9fVxyXG4gICAgICAgICAgc2l6ZT17dGFibGVTaXplfVxyXG4gICAgICAgICAgey4uLnJlc2l6ZVByb3BzfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLmRyYWdhYmxlUHJvcHN9XHJcbiAgICAgICAgLz5cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiBkcmFnYWJsZSA9PT0gdHJ1ZSA/IChcclxuICAgICAgPERuZFByb3ZpZGVyIGJhY2tlbmQ9e0hUTUw1QmFja2VuZH0+e0RlZmF1bHRUYWJsZX08L0RuZFByb3ZpZGVyPlxyXG4gICAgKSA6IChcclxuICAgICAgRGVmYXVsdFRhYmxlXHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgd2l0aFpoTG9jYWxlKE5TQ1RhYmxlKTtcclxuIl19
|
package/lib/table/index.less
CHANGED