nsc-react-component 4.1.9 → 4.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,34 @@
1
+ import React from "react";
2
+ import "./index.less";
3
+ interface ImportPropos {
4
+ checkData?: boolean;
5
+ checkUrl?: string;
6
+ importUrl: string;
7
+ requestConfig?: any;
8
+ downLoadTemplet?: boolean;
9
+ downTempletUrl?: string;
10
+ onCallBacks?: {
11
+ checkCallBack?: any;
12
+ importCallBack?: any;
13
+ closeCallBack?: any;
14
+ };
15
+ [propsName: string]: any;
16
+ }
17
+ declare class NscImportData extends React.PureComponent<ImportPropos, any> {
18
+ state: {
19
+ status: number;
20
+ file: any;
21
+ currentStep: number;
22
+ requestStatus: string;
23
+ errorList: any[];
24
+ warnList: any[];
25
+ };
26
+ modalRef: React.RefObject<any>;
27
+ fileSizeKb(number?: number): string;
28
+ importData(file: any, isOverwrite: any): void;
29
+ renderErrorContent(list: any): any;
30
+ renderResult(): React.JSX.Element;
31
+ resetData(): void;
32
+ render(): React.JSX.Element;
33
+ }
34
+ export default NscImportData;
@@ -0,0 +1,297 @@
1
+ import _message from "antd/es/message";
2
+ const _excluded = ["data"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
7
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
9
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
10
+ import React from "react";
11
+ import "./index.less";
12
+ import NscUpload from "../upload";
13
+ import NSCButton from "../button";
14
+ import NscDownLoad from "../download";
15
+ import NscModal from "../modal";
16
+ import FileIcon from "../common/FileIcon";
17
+ import { UploadOutlined, FolderOutlined, CloseCircleOutlined, ExclamationCircleOutlined } from "@ant-design/icons";
18
+ import Steps from "../steps";
19
+ import nscFile from "nsc-file";
20
+ import Alert from "../alert";
21
+ import Collapse from "../collapse";
22
+ class NscImportData extends React.PureComponent {
23
+ constructor() {
24
+ super(...arguments);
25
+ _defineProperty(this, "state", {
26
+ status: 1,
27
+ file: null,
28
+ currentStep: 1,
29
+ requestStatus: "",
30
+ errorList: [],
31
+ warnList: []
32
+ });
33
+ _defineProperty(this, "modalRef", /*#__PURE__*/React.createRef());
34
+ }
35
+ fileSizeKb() {
36
+ let number = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
37
+ return (number / 1024).toFixed(2);
38
+ }
39
+ importData(file, isOverwrite) {
40
+ const {
41
+ requestConfig = {},
42
+ importUrl,
43
+ onCallBacks = {}
44
+ } = this.props;
45
+ let {
46
+ data = {}
47
+ } = requestConfig,
48
+ config = _objectWithoutProperties(requestConfig, _excluded);
49
+ nscFile.importFile({
50
+ url: importUrl,
51
+ data: _objectSpread(_objectSpread({}, data), {}, {
52
+ isOverwrite: isOverwrite
53
+ }),
54
+ file: file
55
+ }, requestConfig).then(res => {
56
+ if (res.code == 200) {
57
+ _message.success("导入成功!");
58
+ this.setState({
59
+ requestStatus: "success"
60
+ });
61
+ (onCallBacks === null || onCallBacks === void 0 ? void 0 : onCallBacks.importCallBack) && (onCallBacks === null || onCallBacks === void 0 ? void 0 : onCallBacks.importCallBack(res));
62
+ }
63
+ });
64
+ }
65
+ renderErrorContent(list) {
66
+ return list.map((item, index) => {
67
+ if (this.state.requestStatus == "warning") {
68
+ return /*#__PURE__*/React.createElement("div", {
69
+ key: index
70
+ }, "第" + item.rowNum + "行数据重复;");
71
+ } else {
72
+ return /*#__PURE__*/React.createElement("div", {
73
+ key: index
74
+ }, item.errorMsg);
75
+ }
76
+ });
77
+ }
78
+ renderResult() {
79
+ const {
80
+ requestStatus,
81
+ errorList,
82
+ warnList
83
+ } = this.state;
84
+ const alert_msg_map = {
85
+ success: "导入成功",
86
+ error: "导入失败",
87
+ warning: "告警提示"
88
+ };
89
+ if (requestStatus == "success") {
90
+ var _alert_msg_map$reques;
91
+ return /*#__PURE__*/React.createElement(Alert, {
92
+ style: {
93
+ marginTop: "8px"
94
+ },
95
+ message: (_alert_msg_map$reques = alert_msg_map[requestStatus]) !== null && _alert_msg_map$reques !== void 0 ? _alert_msg_map$reques : "提示",
96
+ type: requestStatus,
97
+ showIcon: true
98
+ });
99
+ } else {
100
+ return /*#__PURE__*/React.createElement(Collapse, {
101
+ expandIconPosition: "right",
102
+ className: requestStatus == "warning" ? "content-warning" : "content-error",
103
+ style: {
104
+ backgroundColor: requestStatus == "warning" ? "#FCE1AB" : "#fff2f0",
105
+ border: requestStatus == "warning" ? "1px solid #FCE1AB" : "1px solid #FFCCC7",
106
+ borderRadius: "2px"
107
+ },
108
+ defaultActiveKey: ["1"]
109
+ }, /*#__PURE__*/React.createElement(Collapse.Panel, {
110
+ key: "1",
111
+ header: /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("span", {
112
+ style: {
113
+ color: requestStatus == "warning" ? "#FAAD14" : "#f60"
114
+ }
115
+ }, requestStatus == "warning" ? /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null) : /*#__PURE__*/React.createElement(CloseCircleOutlined, null), alert_msg_map[requestStatus])),
116
+ extra: /*#__PURE__*/React.createElement("span", {
117
+ style: {
118
+ color: requestStatus == "warning" ? "#FAAD14" : "#f60"
119
+ }
120
+ }, requestStatus == "warning" ? "查看" : "查看错误")
121
+ }, /*#__PURE__*/React.createElement("div", {
122
+ style: {
123
+ background: requestStatus == "warning" ? "#FFFDF6" : "#fff9f9"
124
+ },
125
+ className: "content-error__msg"
126
+ }, this.renderErrorContent(requestStatus == "warning" ? warnList : errorList))));
127
+ }
128
+ }
129
+ resetData() {
130
+ this.setState({
131
+ status: 1,
132
+ file: null,
133
+ currentStep: 1,
134
+ requestStatus: "",
135
+ errorList: [],
136
+ warnList: []
137
+ });
138
+ }
139
+ render() {
140
+ const {
141
+ file,
142
+ status,
143
+ currentStep,
144
+ requestStatus
145
+ } = this.state;
146
+ const {
147
+ downLoadTemplet,
148
+ downTempletUrl,
149
+ checkData,
150
+ checkUrl,
151
+ requestConfig
152
+ } = this.props;
153
+ const footer = /*#__PURE__*/React.createElement("div", {
154
+ className: "footer"
155
+ }, /*#__PURE__*/React.createElement(NSCButton, {
156
+ onClick: () => {
157
+ var _this$modalRef$curren;
158
+ (_this$modalRef$curren = this.modalRef.current) === null || _this$modalRef$curren === void 0 || _this$modalRef$curren.hide();
159
+ this.resetData();
160
+ }
161
+ }, "\u53D6\u6D88"), status == 1 && this.state.file && /*#__PURE__*/React.createElement(NSCButton, {
162
+ onClick: () => {
163
+ this.setState({
164
+ status: 2,
165
+ currentStep: 1
166
+ });
167
+ if (checkData) {
168
+ nscFile.importFile({
169
+ url: checkUrl,
170
+ file: file,
171
+ data: (requestConfig === null || requestConfig === void 0 ? void 0 : requestConfig.data) || {}
172
+ }).then(res => {
173
+ if (res.code == 200) {
174
+ if (res.data.errorCount == 0 && res.data.duplicateCount == 0) {
175
+ this.setState({
176
+ currentStep: 2,
177
+ requestStatus: "success"
178
+ });
179
+ this.importData(file, false);
180
+ return;
181
+ }
182
+ if (res.data.errorCount > 0) {
183
+ this.setState({
184
+ requestStatus: "error",
185
+ errorList: res.data.errorList
186
+ });
187
+ return;
188
+ }
189
+ if (res.data.duplicateCount > 0) {
190
+ this.setState({
191
+ requestStatus: "warning",
192
+ warnList: res.data.duplicateList
193
+ });
194
+ return;
195
+ }
196
+ }
197
+ });
198
+ }
199
+ },
200
+ disabled: file ? false : true,
201
+ icon: /*#__PURE__*/React.createElement(UploadOutlined, null),
202
+ style: {
203
+ marginLeft: 20
204
+ }
205
+ }, "\u5F00\u59CB\u4E0A\u4F20"), requestStatus == "warning" && status == 2 && /*#__PURE__*/React.createElement(NSCButton, {
206
+ type: "primary",
207
+ style: {
208
+ marginLeft: 20
209
+ },
210
+ onClick: () => {
211
+ this.importData(this.state.file, false);
212
+ }
213
+ }, "\u4E0D\u8986\u76D6\u6570\u636E"), requestStatus == "warning" && status == 2 && /*#__PURE__*/React.createElement(NSCButton, {
214
+ type: "primary",
215
+ style: {
216
+ marginLeft: 20
217
+ },
218
+ onClick: () => {
219
+ this.importData(this.state.file, true);
220
+ }
221
+ }, "\u8986\u76D6\u6570\u636E"));
222
+ return /*#__PURE__*/React.createElement("div", null, this.props.children ? this.props.children : /*#__PURE__*/React.createElement(NSCButton, {
223
+ type: "primary",
224
+ onClick: () => {
225
+ var _this$modalRef$curren2;
226
+ (_this$modalRef$curren2 = this.modalRef.current) === null || _this$modalRef$curren2 === void 0 || _this$modalRef$curren2.show();
227
+ }
228
+ }, "\u6570\u636E\u5BFC\u5165"), /*#__PURE__*/React.createElement(NscModal, {
229
+ title: "\u6570\u636E\u5BFC\u5165",
230
+ width: 800,
231
+ wrapClassName: "import-modal",
232
+ ref: this.modalRef,
233
+ footer: footer,
234
+ onCancel: () => {
235
+ var _this$modalRef$curren3;
236
+ (_this$modalRef$curren3 = this.modalRef.current) === null || _this$modalRef$curren3 === void 0 || _this$modalRef$curren3.hide();
237
+ this.resetData();
238
+ }
239
+ }, /*#__PURE__*/React.createElement("div", {
240
+ className: "content"
241
+ }, status == 1 ? /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
242
+ style: {
243
+ display: "flex"
244
+ }
245
+ }, /*#__PURE__*/React.createElement(NscUpload, {
246
+ beforeUpload: file => {
247
+ this.setState({
248
+ file
249
+ });
250
+ return false;
251
+ },
252
+ allowFileSuffix: ["xls", "xlxs"],
253
+ accept: ".xls,.xlxs",
254
+ showUploadList: false
255
+ }, /*#__PURE__*/React.createElement(NSCButton, {
256
+ type: "primary",
257
+ disabled: file ? true : false,
258
+ icon: /*#__PURE__*/React.createElement(FolderOutlined, null)
259
+ }, "\u9009\u62E9\u6587\u4EF6")), downLoadTemplet && /*#__PURE__*/React.createElement(NscDownLoad, {
260
+ url: downTempletUrl
261
+ }, /*#__PURE__*/React.createElement(NSCButton, {
262
+ type: "primary",
263
+ style: {
264
+ marginLeft: 20
265
+ }
266
+ }, "\u6A21\u677F\u4E0B\u8F7D"))), /*#__PURE__*/React.createElement("div", {
267
+ className: "upload-tip"
268
+ }, /*#__PURE__*/React.createElement("div", {
269
+ className: "upload-tip-left"
270
+ }, /*#__PURE__*/React.createElement(ExclamationCircleOutlined, null)), /*#__PURE__*/React.createElement("div", {
271
+ className: "upload-tip-content"
272
+ }, /*#__PURE__*/React.createElement("div", null, "1\u3001\u652F\u6301Excel 2007\u53CA\u4EE5\u4E0A\u7248\u672C\uFF0C\u4E14\u6BCF\u6B21\u53EA\u80FD\u4E0A\u4F20\u4E00\u4E2A\u6587\u4EF6\uFF1B"), /*#__PURE__*/React.createElement("div", null, "2\u3001\u5BFC\u5165\u524D\u5148\u4E0B\u8F7D\u6A21\u677F\uFF0C\u5E76\u6839\u636E\u6A21\u677F\u586B\u5199\u6570\u636E\uFF1B"))), file && /*#__PURE__*/React.createElement("div", {
273
+ className: "upload-file"
274
+ }, /*#__PURE__*/React.createElement("div", {
275
+ className: "file-icon"
276
+ }, /*#__PURE__*/React.createElement(FileIcon, {
277
+ type: "excel"
278
+ })), /*#__PURE__*/React.createElement("div", {
279
+ className: "file-content"
280
+ }, /*#__PURE__*/React.createElement("div", {
281
+ className: "file-title"
282
+ }, file.name), /*#__PURE__*/React.createElement("div", {
283
+ className: "file-desc"
284
+ }, /*#__PURE__*/React.createElement("span", null, "\u6587\u4EF6\u5927\u5C0F\uFF1A", this.fileSizeKb(file.size) + "KB"))))) : /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Steps, {
285
+ current: currentStep,
286
+ items: [{
287
+ title: "数据分析"
288
+ }, {
289
+ title: "数据插入"
290
+ }]
291
+ }), /*#__PURE__*/React.createElement("div", {
292
+ className: "result-content"
293
+ }, this.renderResult())))));
294
+ }
295
+ }
296
+ export default NscImportData;
297
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJOc2NJbXBvcnREYXRhIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiZmlsZSIsImN1cnJlbnRTdGVwIiwicmVxdWVzdFN0YXR1cyIsImVycm9yTGlzdCIsIndhcm5MaXN0IiwiY3JlYXRlUmVmIiwiZmlsZVNpemVLYiIsIm51bWJlciIsImxlbmd0aCIsInVuZGVmaW5lZCIsInRvRml4ZWQiLCJpbXBvcnREYXRhIiwiaXNPdmVyd3JpdGUiLCJyZXF1ZXN0Q29uZmlnIiwiaW1wb3J0VXJsIiwib25DYWxsQmFja3MiLCJwcm9wcyIsImRhdGEiLCJjb25maWciLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJpbXBvcnRGaWxlIiwidXJsIiwiX29iamVjdFNwcmVhZCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwic2V0U3RhdGUiLCJpbXBvcnRDYWxsQmFjayIsInJlbmRlckVycm9yQ29udGVudCIsImxpc3QiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzdGF0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyb3dOdW0iLCJlcnJvck1zZyIsInJlbmRlclJlc3VsdCIsImFsZXJ0X21zZ19tYXAiLCJlcnJvciIsIndhcm5pbmciLCJfYWxlcnRfbXNnX21hcCRyZXF1ZXMiLCJzdHlsZSIsIm1hcmdpblRvcCIsIm1lc3NhZ2UiLCJ0eXBlIiwic2hvd0ljb24iLCJleHBhbmRJY29uUG9zaXRpb24iLCJjbGFzc05hbWUiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3JkZXIiLCJib3JkZXJSYWRpdXMiLCJkZWZhdWx0QWN0aXZlS2V5IiwiUGFuZWwiLCJoZWFkZXIiLCJjb2xvciIsImV4dHJhIiwiYmFja2dyb3VuZCIsInJlc2V0RGF0YSIsInJlbmRlciIsImRvd25Mb2FkVGVtcGxldCIsImRvd25UZW1wbGV0VXJsIiwiY2hlY2tEYXRhIiwiY2hlY2tVcmwiLCJmb290ZXIiLCJvbkNsaWNrIiwiX3RoaXMkbW9kYWxSZWYkY3VycmVuIiwibW9kYWxSZWYiLCJjdXJyZW50IiwiaGlkZSIsImVycm9yQ291bnQiLCJkdXBsaWNhdGVDb3VudCIsImR1cGxpY2F0ZUxpc3QiLCJkaXNhYmxlZCIsImljb24iLCJtYXJnaW5MZWZ0IiwiY2hpbGRyZW4iLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4yIiwic2hvdyIsInRpdGxlIiwid2lkdGgiLCJ3cmFwQ2xhc3NOYW1lIiwicmVmIiwib25DYW5jZWwiLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4zIiwiZGlzcGxheSIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0IiwibmFtZSIsInNpemUiLCJpdGVtcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1wb3J0RGF0YS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IE5zY1VwbG9hZCBmcm9tIFwiLi4vdXBsb2FkXCI7XHJcbmltcG9ydCBOU0NCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgTnNjRG93bkxvYWQgZnJvbSBcIi4uL2Rvd25sb2FkXCI7XHJcbmltcG9ydCBOc2NNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBVcGxvYWRPdXRsaW5lZCxcclxuICBGb2xkZXJPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBTdGVwcyBmcm9tIFwiLi4vc3RlcHNcIjtcclxuaW1wb3J0IG5zY0ZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgQWxlcnQgZnJvbSBcIi4uL2FsZXJ0XCI7XHJcbmltcG9ydCBDb2xsYXBzZSBmcm9tIFwiLi4vY29sbGFwc2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uL2NvbW1vbi9JY29uXCI7XHJcblxyXG5pbnRlcmZhY2UgSW1wb3J0UHJvcG9zIHtcclxuICBjaGVja0RhdGE/OiBib29sZWFuOyAvL+aYr+WQpui/m+ihjOaVsOaNruagoemqjO+8jOm7mOiupGZhbHNlXHJcbiAgY2hlY2tVcmw/OiBzdHJpbmc7IC8v5pWw5o2u5qCh6aqM5o6l5Y+j5Zyw5Z2AXHJcbiAgaW1wb3J0VXJsOiBzdHJpbmc7IC8v5pWw5o2u5a+85YWl5Zyw5Z2AXHJcbiAgcmVxdWVzdENvbmZpZz86IGFueTtcclxuICBkb3duTG9hZFRlbXBsZXQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuS4i+i9veaooeadv+aMiemSrlxyXG4gIGRvd25UZW1wbGV0VXJsPzogc3RyaW5nOyAvL+S4i+i9veaooeadv+WcsOWdgFxyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgY2hlY2tDYWxsQmFjaz86IGFueTsgLy/mlbDmja7moKHpqozlm57osINcclxuICAgIGltcG9ydENhbGxCYWNrPzogYW55OyAvL+aVsOaNruWvvOWFpeWbnuiwg1xyXG4gICAgY2xvc2VDYWxsQmFjaz86IGFueTtcclxuICB9O1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jbGFzcyBOc2NJbXBvcnREYXRhIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJbXBvcnRQcm9wb3MsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgc3RhdHVzOiAxLFxyXG4gICAgZmlsZTogbnVsbCxcclxuICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgcmVxdWVzdFN0YXR1czogXCJcIixcclxuICAgIGVycm9yTGlzdDogW10sXHJcbiAgICB3YXJuTGlzdDogW10sXHJcbiAgfTtcclxuICBtb2RhbFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZmlsZVNpemVLYihudW1iZXIgPSAwKSB7XHJcbiAgICByZXR1cm4gKG51bWJlciAvIDEwMjQpLnRvRml4ZWQoMik7XHJcbiAgfVxyXG4gIGltcG9ydERhdGEoZmlsZSwgaXNPdmVyd3JpdGUpIHtcclxuICAgIGNvbnN0IHsgcmVxdWVzdENvbmZpZyA9IHt9LCBpbXBvcnRVcmwsIG9uQ2FsbEJhY2tzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBkYXRhID0ge30sIC4uLmNvbmZpZyB9ID0gcmVxdWVzdENvbmZpZztcclxuICAgIG5zY0ZpbGVcclxuICAgICAgLmltcG9ydEZpbGUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdXJsOiBpbXBvcnRVcmwsXHJcbiAgICAgICAgICBkYXRhOiB7IC4uLmRhdGEsIGlzT3ZlcndyaXRlOiBpc092ZXJ3cml0ZSB9LFxyXG4gICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHJlcXVlc3RDb25maWdcclxuICAgICAgKVxyXG4gICAgICAudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLlr7zlhaXmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIG9uQ2FsbEJhY2tzPy5pbXBvcnRDYWxsQmFjayAmJiBvbkNhbGxCYWNrcz8uaW1wb3J0Q2FsbEJhY2socmVzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJFcnJvckNvbnRlbnQobGlzdCkge1xyXG4gICAgcmV0dXJuIGxpc3QubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5zdGF0ZS5yZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiKSB7XHJcbiAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e1wi56ysXCIgKyBpdGVtLnJvd051bSArIFwi6KGM5pWw5o2u6YeN5aSN77ybXCJ9PC9kaXY+O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtLmVycm9yTXNnfTwvZGl2PjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlclJlc3VsdCgpIHtcclxuICAgIGNvbnN0IHsgcmVxdWVzdFN0YXR1cywgZXJyb3JMaXN0LCB3YXJuTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGFsZXJ0X21zZ19tYXAgPSB7XHJcbiAgICAgIHN1Y2Nlc3M6IFwi5a+85YWl5oiQ5YqfXCIsXHJcbiAgICAgIGVycm9yOiBcIuWvvOWFpeWksei0pVwiLFxyXG4gICAgICB3YXJuaW5nOiBcIuWRiuitpuaPkOekulwiLFxyXG4gICAgfTtcclxuICAgIGlmIChyZXF1ZXN0U3RhdHVzID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPEFsZXJ0XHJcbiAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IFwiOHB4XCIgfX1cclxuICAgICAgICAgIG1lc3NhZ2U9e2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c10gPz8gXCLmj5DnpLpcIn1cclxuICAgICAgICAgIHR5cGU9e3JlcXVlc3RTdGF0dXN9XHJcbiAgICAgICAgICBzaG93SWNvblxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxDb2xsYXBzZVxyXG4gICAgICAgICAgZXhwYW5kSWNvblBvc2l0aW9uPVwicmlnaHRcIlxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiY29udGVudC13YXJuaW5nXCIgOiBcImNvbnRlbnQtZXJyb3JcIlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkNFMUFCXCIgOiBcIiNmZmYyZjBcIixcclxuICAgICAgICAgICAgYm9yZGVyOlxyXG4gICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCJcclxuICAgICAgICAgICAgICAgID8gXCIxcHggc29saWQgI0ZDRTFBQlwiXHJcbiAgICAgICAgICAgICAgICA6IFwiMXB4IHNvbGlkICNGRkNDQzdcIixcclxuICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjJweFwiLFxyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGRlZmF1bHRBY3RpdmVLZXk9e1tcIjFcIl19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPENvbGxhcHNlLlBhbmVsXHJcbiAgICAgICAgICAgIGtleT1cIjFcIlxyXG4gICAgICAgICAgICBoZWFkZXI9e1xyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgKSA6IChcclxuICAgICAgICAgICAgICAgICAgICA8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICB7YWxlcnRfbXNnX21hcFtyZXF1ZXN0U3RhdHVzXX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBleHRyYT17XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIuafpeeci1wiIDogXCLmn6XnnIvplJnor69cIn1cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkZGREY2XCIgOiBcIiNmZmY5ZjlcIixcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbnRlbnQtZXJyb3JfX21zZ1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJFcnJvckNvbnRlbnQoXHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gd2Fybkxpc3QgOiBlcnJvckxpc3RcclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvQ29sbGFwc2UuUGFuZWw+XHJcbiAgICAgICAgPC9Db2xsYXBzZT5cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHN0YXR1czogMSxcclxuICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICAgIHJlcXVlc3RTdGF0dXM6IFwiXCIsXHJcbiAgICAgIGVycm9yTGlzdDogW10sXHJcbiAgICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZpbGUsIHN0YXR1cywgY3VycmVudFN0ZXAsIHJlcXVlc3RTdGF0dXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRvd25Mb2FkVGVtcGxldCxcclxuICAgICAgZG93blRlbXBsZXRVcmwsXHJcbiAgICAgIGNoZWNrRGF0YSxcclxuICAgICAgY2hlY2tVcmwsXHJcbiAgICAgIHJlcXVlc3RDb25maWcsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb290ZXJcIj5cclxuICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kYWxSZWYuY3VycmVudD8uaGlkZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDlj5bmtohcclxuICAgICAgICA8L05TQ0J1dHRvbj5cclxuXHJcbiAgICAgICAge3N0YXR1cyA9PSAxICYmIHRoaXMuc3RhdGUuZmlsZSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogMixcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIGlmIChjaGVja0RhdGEpIHtcclxuICAgICAgICAgICAgICAgIG5zY0ZpbGVcclxuICAgICAgICAgICAgICAgICAgLmltcG9ydEZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogY2hlY2tVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiByZXF1ZXN0Q29uZmlnPy5kYXRhIHx8IHt9LFxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmVycm9yQ291bnQgPT0gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuZXJyb3JDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTGlzdDogcmVzLmRhdGEuZXJyb3JMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcIndhcm5pbmdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyBmYWxzZSA6IHRydWV9XHJcbiAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiICYmIHN0YXR1cyA9PSAyICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKHRoaXMuc3RhdGUuZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDkuI3opobnm5bmlbDmja5cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgJiYgc3RhdHVzID09IDIgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEodGhpcy5zdGF0ZS5maWxlLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg6KaG55uW5pWw5o2uXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdj5cclxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbiA/IChcclxuICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LnNob3coKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5pWw5o2u5a+85YWlXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICA8TnNjTW9kYWxcclxuICAgICAgICAgIHRpdGxlPVwi5pWw5o2u5a+85YWlXCJcclxuICAgICAgICAgIHdpZHRoPXs4MDB9XHJcbiAgICAgICAgICB3cmFwQ2xhc3NOYW1lPXtcImltcG9ydC1tb2RhbFwifVxyXG4gICAgICAgICAgcmVmPXt0aGlzLm1vZGFsUmVmfVxyXG4gICAgICAgICAgZm9vdGVyPXtmb290ZXJ9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGFsUmVmLmN1cnJlbnQ/LmhpZGUoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXNldERhdGEoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIHtzdGF0dXMgPT0gMSA/IChcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICAgICAgICAgICAgPE5zY1VwbG9hZFxyXG4gICAgICAgICAgICAgICAgICAgIGJlZm9yZVVwbG9hZD17KGZpbGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZpbGVTdWZmaXg9e1tcInhsc1wiLCBcInhseHNcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgYWNjZXB0PXtcIi54bHMsLnhseHNcIn1cclxuICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdD17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWxlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEZvbGRlck91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOmAieaLqeaWh+S7tlxyXG4gICAgICAgICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L05zY1VwbG9hZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHtkb3duTG9hZFRlbXBsZXQgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxOc2NEb3duTG9hZCB1cmw9e2Rvd25UZW1wbGV0VXJsfT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxOU0NCdXR0b24gdHlwZT1cInByaW1hcnlcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAg5qih5p2/5LiL6L29XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L05zY0Rvd25Mb2FkPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgMeOAgeaUr+aMgUV4Y2VsIDIwMDflj4rku6XkuIrniYjmnKzvvIzkuJTmr4/mrKHlj6rog73kuIrkvKDkuIDkuKrmlofku7bvvJtcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PjLjgIHlr7zlhaXliY3lhYjkuIvovb3mqKHmnb/vvIzlubbmoLnmja7mqKHmnb/loavlhpnmlbDmja7vvJs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7ZmlsZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLWZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHR5cGU9XCJleGNlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS10aXRsZVwiPntmaWxlLm5hbWV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtZGVzY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICDmlofku7blpKflsI/vvJp7dGhpcy5maWxlU2l6ZUtiKGZpbGUuc2l6ZSkgKyBcIktCXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxTdGVwc1xyXG4gICAgICAgICAgICAgICAgICBjdXJyZW50PXtjdXJyZW50U3RlcH1cclxuICAgICAgICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7liIbmnpBcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruaPkuWFpVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wicmVzdWx0LWNvbnRlbnRcIn0+e3RoaXMucmVuZGVyUmVzdWx0KCl9PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L05zY01vZGFsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0ltcG9ydERhdGE7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFdBQVcsTUFBTSxhQUFhO0FBQ3JDLE9BQU9DLFFBQVEsTUFBTSxVQUFVO0FBQy9CLE9BQU9DLFFBQVEsTUFBTSxvQkFBb0I7QUFDekMsU0FDRUMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMseUJBQXlCLFFBQ3BCLG1CQUFtQjtBQUMxQixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxPQUFPLE1BQU0sVUFBVTtBQUU5QixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxRQUFRLE1BQU0sYUFBYTtBQWlCbEMsTUFBTUMsYUFBYSxTQUFTZCxLQUFLLENBQUNlLGFBQWEsQ0FBb0I7RUFBQUMsWUFBQTtJQUFBLFNBQUFDLFNBQUE7SUFBQUMsZUFBQSxnQkFDekQ7TUFDTkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsSUFBSSxFQUFFLElBQUk7TUFDVkMsV0FBVyxFQUFFLENBQUM7TUFDZEMsYUFBYSxFQUFFLEVBQUU7TUFDakJDLFNBQVMsRUFBRSxFQUFFO01BQ2JDLFFBQVEsRUFBRTtJQUNaLENBQUM7SUFBQU4s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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","NscUpload","NSCButton","NscDownLoad","NscModal","FileIcon","UploadOutlined","FolderOutlined","CloseCircleOutlined","ExclamationCircleOutlined","Steps","nscFile","Alert","Collapse","NscImportData","PureComponent","constructor","arguments","_defineProperty","status","file","currentStep","requestStatus","errorList","warnList","createRef","fileSizeKb","number","length","undefined","toFixed","importData","isOverwrite","requestConfig","importUrl","onCallBacks","props","data","config","_objectWithoutProperties","_excluded","importFile","url","_objectSpread","then","res","code","_message","success","setState","importCallBack","renderErrorContent","list","map","item","index","state","createElement","key","rowNum","errorMsg","renderResult","alert_msg_map","error","warning","_alert_msg_map$reques","style","marginTop","message","type","showIcon","expandIconPosition","className","backgroundColor","border","borderRadius","defaultActiveKey","Panel","header","color","extra","background","resetData","render","downLoadTemplet","downTempletUrl","checkData","checkUrl","footer","onClick","_this$modalRef$curren","modalRef","current","hide","errorCount","duplicateCount","duplicateList","disabled","icon","marginLeft","children","_this$modalRef$curren2","show","title","width","wrapClassName","ref","onCancel","_this$modalRef$curren3","display","beforeUpload","allowFileSuffix","accept","showUploadList","name","size","items"],"sources":["../../../src/components/base/importData/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport \"./index.less\";\r\nimport NscUpload from \"../upload\";\r\nimport NSCButton from \"../button\";\r\nimport NscDownLoad from \"../download\";\r\nimport NscModal from \"../modal\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n UploadOutlined,\r\n FolderOutlined,\r\n CloseCircleOutlined,\r\n ExclamationCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport Steps from \"../steps\";\r\nimport nscFile from \"nsc-file\";\r\nimport { message } from \"antd\";\r\nimport Alert from \"../alert\";\r\nimport Collapse from \"../collapse\";\r\nimport Icon from \"../common/Icon\";\r\n\r\ninterface ImportPropos {\r\n checkData?: boolean; //是否进行数据校验,默认false\r\n checkUrl?: string; //数据校验接口地址\r\n importUrl: string; //数据导入地址\r\n requestConfig?: any;\r\n downLoadTemplet?: boolean; //是否显示下载模板按钮\r\n downTempletUrl?: string; //下载模板地址\r\n onCallBacks?: {\r\n checkCallBack?: any; //数据校验回调\r\n importCallBack?: any; //数据导入回调\r\n closeCallBack?: any;\r\n };\r\n [propsName: string]: any;\r\n}\r\nclass NscImportData extends React.PureComponent<ImportPropos, any> {\r\n state = {\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n };\r\n modalRef = React.createRef<any>();\r\n fileSizeKb(number = 0) {\r\n return (number / 1024).toFixed(2);\r\n }\r\n importData(file, isOverwrite) {\r\n const { requestConfig = {}, importUrl, onCallBacks = {} } = this.props;\r\n let { data = {}, ...config } = requestConfig;\r\n nscFile\r\n .importFile(\r\n {\r\n url: importUrl,\r\n data: { ...data, isOverwrite: isOverwrite },\r\n file: file,\r\n },\r\n requestConfig\r\n )\r\n .then((res: any) => {\r\n if (res.code == 200) {\r\n message.success(\"导入成功!\");\r\n this.setState({\r\n requestStatus: \"success\",\r\n });\r\n onCallBacks?.importCallBack && onCallBacks?.importCallBack(res);\r\n }\r\n });\r\n }\r\n renderErrorContent(list) {\r\n return list.map((item, index) => {\r\n if (this.state.requestStatus == \"warning\") {\r\n return <div key={index}>{\"第\" + item.rowNum + \"行数据重复;\"}</div>;\r\n } else {\r\n return <div key={index}>{item.errorMsg}</div>;\r\n }\r\n });\r\n }\r\n renderResult() {\r\n const { requestStatus, errorList, warnList } = this.state;\r\n const alert_msg_map = {\r\n success: \"导入成功\",\r\n error: \"导入失败\",\r\n warning: \"告警提示\",\r\n };\r\n if (requestStatus == \"success\") {\r\n return (\r\n <Alert\r\n style={{ marginTop: \"8px\" }}\r\n message={alert_msg_map[requestStatus] ?? \"提示\"}\r\n type={requestStatus}\r\n showIcon\r\n />\r\n );\r\n } else {\r\n return (\r\n <Collapse\r\n expandIconPosition=\"right\"\r\n className={\r\n requestStatus == \"warning\" ? \"content-warning\" : \"content-error\"\r\n }\r\n style={{\r\n backgroundColor: requestStatus == \"warning\" ? \"#FCE1AB\" : \"#fff2f0\",\r\n border:\r\n requestStatus == \"warning\"\r\n ? \"1px solid #FCE1AB\"\r\n : \"1px solid #FFCCC7\",\r\n borderRadius: \"2px\",\r\n }}\r\n defaultActiveKey={[\"1\"]}\r\n >\r\n <Collapse.Panel\r\n key=\"1\"\r\n header={\r\n <div>\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? (\r\n <ExclamationCircleOutlined />\r\n ) : (\r\n <CloseCircleOutlined />\r\n )}\r\n {alert_msg_map[requestStatus]}\r\n </span>\r\n </div>\r\n }\r\n extra={\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? \"查看\" : \"查看错误\"}\r\n </span>\r\n }\r\n >\r\n <div\r\n style={{\r\n background: requestStatus == \"warning\" ? \"#FFFDF6\" : \"#fff9f9\",\r\n }}\r\n className=\"content-error__msg\"\r\n >\r\n {this.renderErrorContent(\r\n requestStatus == \"warning\" ? warnList : errorList\r\n )}\r\n </div>\r\n </Collapse.Panel>\r\n </Collapse>\r\n );\r\n }\r\n }\r\n resetData() {\r\n this.setState({\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n });\r\n }\r\n render() {\r\n const { file, status, currentStep, requestStatus } = this.state;\r\n const {\r\n downLoadTemplet,\r\n downTempletUrl,\r\n checkData,\r\n checkUrl,\r\n requestConfig,\r\n } = this.props;\r\n const footer = (\r\n <div className=\"footer\">\r\n <NSCButton\r\n onClick={() => {\r\n this.modalRef.current?.hide();\r\n this.resetData();\r\n }}\r\n >\r\n 取消\r\n </NSCButton>\r\n\r\n {status == 1 && this.state.file && (\r\n <NSCButton\r\n onClick={() => {\r\n this.setState({\r\n status: 2,\r\n currentStep: 1,\r\n });\r\n if (checkData) {\r\n nscFile\r\n .importFile({\r\n url: checkUrl,\r\n file: file,\r\n data: requestConfig?.data || {},\r\n })\r\n .then((res: any) => {\r\n if (res.code == 200) {\r\n if (\r\n res.data.errorCount == 0 &&\r\n res.data.duplicateCount == 0\r\n ) {\r\n this.setState({\r\n currentStep: 2,\r\n requestStatus: \"success\",\r\n });\r\n this.importData(file, false);\r\n return;\r\n }\r\n if (res.data.errorCount > 0) {\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errorList,\r\n });\r\n return;\r\n }\r\n if (res.data.duplicateCount > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.duplicateList,\r\n });\r\n return;\r\n }\r\n }\r\n });\r\n }\r\n }}\r\n disabled={file ? false : true}\r\n icon={<UploadOutlined />}\r\n style={{ marginLeft: 20 }}\r\n >\r\n 开始上传\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, false);\r\n }}\r\n >\r\n 不覆盖数据\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, true);\r\n }}\r\n >\r\n 覆盖数据\r\n </NSCButton>\r\n )}\r\n </div>\r\n );\r\n\r\n return (\r\n <div>\r\n {this.props.children ? (\r\n this.props.children\r\n ) : (\r\n <NSCButton\r\n type=\"primary\"\r\n onClick={() => {\r\n this.modalRef.current?.show();\r\n }}\r\n >\r\n 数据导入\r\n </NSCButton>\r\n )}\r\n\r\n <NscModal\r\n title=\"数据导入\"\r\n width={800}\r\n wrapClassName={\"import-modal\"}\r\n ref={this.modalRef}\r\n footer={footer}\r\n onCancel={() => {\r\n this.modalRef.current?.hide();\r\n this.resetData();\r\n }}\r\n >\r\n <div className=\"content\">\r\n {status == 1 ? (\r\n <div>\r\n <div style={{ display: \"flex\" }}>\r\n <NscUpload\r\n beforeUpload={(file) => {\r\n this.setState({\r\n file,\r\n });\r\n return false;\r\n }}\r\n allowFileSuffix={[\"xls\", \"xlxs\"]}\r\n accept={\".xls,.xlxs\"}\r\n showUploadList={false}\r\n >\r\n <NSCButton\r\n type={\"primary\"}\r\n disabled={file ? true : false}\r\n icon={<FolderOutlined />}\r\n >\r\n 选择文件\r\n </NSCButton>\r\n </NscUpload>\r\n\r\n {downLoadTemplet && (\r\n <NscDownLoad url={downTempletUrl}>\r\n <NSCButton type=\"primary\" style={{ marginLeft: 20 }}>\r\n 模板下载\r\n </NSCButton>\r\n </NscDownLoad>\r\n )}\r\n </div>\r\n <div className=\"upload-tip\">\r\n <div className=\"upload-tip-left\">\r\n <ExclamationCircleOutlined />\r\n </div>\r\n <div className=\"upload-tip-content\">\r\n <div>\r\n 1、支持Excel 2007及以上版本,且每次只能上传一个文件;\r\n </div>\r\n <div>2、导入前先下载模板,并根据模板填写数据;</div>\r\n </div>\r\n </div>\r\n\r\n {file && (\r\n <div className=\"upload-file\">\r\n <div className=\"file-icon\">\r\n <FileIcon type=\"excel\" />\r\n </div>\r\n <div className=\"file-content\">\r\n <div className=\"file-title\">{file.name}</div>\r\n <div className=\"file-desc\">\r\n <span>\r\n 文件大小:{this.fileSizeKb(file.size) + \"KB\"}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n ) : (\r\n <div>\r\n <Steps\r\n current={currentStep}\r\n items={[\r\n {\r\n title: \"数据分析\",\r\n },\r\n {\r\n title: \"数据插入\",\r\n },\r\n ]}\r\n />\r\n <div className={\"result-content\"}>{this.renderResult()}</div>\r\n </div>\r\n )}\r\n </div>\r\n </NscModal>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default NscImportData;\r\n"],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ .import-modal {
2
+ .content {
3
+ // padding-top: 16px;
4
+ }
5
+ .footer {
6
+ display: flex;
7
+ justify-content: end;
8
+ }
9
+ .result-content {
10
+ margin-top: 20px;
11
+ }
12
+ .content-error__header--icon {
13
+ color: #f60;
14
+ }
15
+ .error {
16
+ color: #f60;
17
+ }
18
+ .content-warning {
19
+ .ant-collapse-content-box {
20
+ background: #fff8e9 !important;
21
+ }
22
+ }
23
+ .content-error {
24
+ .ant-collapse-content-box {
25
+ background: #fff2f0 !important;
26
+ }
27
+ }
28
+ .content-error__msg {
29
+ height: 160px;
30
+ overflow: auto;
31
+ }
32
+ .ant-modal-body {
33
+ min-height: 362px;
34
+ padding: 24px !important;
35
+ }
36
+ .ant-modal-footer {
37
+ border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
38
+ padding: 10px 16px !important;
39
+ }
40
+ .ant-modal-content {
41
+ padding: 0 !important;
42
+ }
43
+ .ant-modal-header {
44
+ padding: 16px 24px !important;
45
+ color: rgba(0, 0, 0, 0.85);
46
+ background: #fff;
47
+ border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
48
+ border-radius: 2px 2px 0 0;
49
+ margin-bottom: 0px !important;
50
+ }
51
+ .ant-collapse-content {
52
+ border-top: none !important;
53
+ }
54
+ .upload-tip {
55
+ display: flex;
56
+ width: 100%;
57
+ margin-top: 24px;
58
+ padding: 9px 0;
59
+ height: 63px;
60
+ background: #fffbe6;
61
+ font-size: 14px;
62
+ border-radius: 2px;
63
+ border: 1px solid #ffe58f;
64
+ box-sizing: border-box;
65
+ pointer-events: none;
66
+ }
67
+ .upload-tip-left {
68
+ color: #FAAD14;
69
+ width: 38px;
70
+ text-align: center;
71
+ }
72
+ .upload-tip-content {
73
+ flex: auto;
74
+ font-size: 14px;
75
+ line-height: 22px;
76
+ }
77
+ .upload-file {
78
+ display: flex;
79
+ width: 364px;
80
+ min-height: 81px;
81
+ margin-top: 24px;
82
+ padding: 16px;
83
+ background: #ffffff;
84
+ border-radius: 10px;
85
+ border: 1px solid #f0f0f0;
86
+ align-items: center;
87
+ .file-icon {
88
+ width: 46px;
89
+ height: 49px;
90
+ }
91
+ .file-content {
92
+ flex: auto;
93
+ padding-left: 12px;
94
+ .file-title {
95
+ max-width: 270px;
96
+ font-size: 16px;
97
+ font-weight: 500;
98
+ color: #666666;
99
+ text-overflow: ellipsis;
100
+ white-space: nowrap;
101
+ overflow: hidden;
102
+ }
103
+ .file-desc {
104
+ margin-top: 6px;
105
+ font-size: 13px;
106
+ font-weight: 500;
107
+ color: #999999;
108
+ }
109
+ }
110
+ }
111
+ }
package/lib/index.d.ts CHANGED
@@ -88,3 +88,4 @@ export { default as TabsPage } from "./page/TabsPage";
88
88
  export { default as FormPage } from "./page/FormPage";
89
89
  export { default as SettingTable } from "./page/SettingTable";
90
90
  export { default as SettingTab } from "./page/SettingTab";
91
+ export { default as ImportData } from "./base/importData";
package/lib/index.js CHANGED
@@ -98,4 +98,5 @@ export { default as TabsPage } from "./page/TabsPage";
98
98
  export { default as FormPage } from "./page/FormPage";
99
99
  export { default as SettingTable } from "./page/SettingTable";
100
100
  export { default as SettingTab } from "./page/SettingTab";
101
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkYXlqcyIsImxvY2FsZSIsImRlZmF1bHQiLCJCdXR0b24iLCJDYXNjYWRlciIsIkNoZWNrYm94IiwiQm9keVJvdyIsIkljb24iLCJUcmVlUGFuZWwiLCJEYXRlUGlja2VyIiwiRm9ybSIsIklucHV0IiwiVGV4dEFyZWEiLCJNZW51IiwiUmFkaW8iLCJTZWxlY3QiLCJUYWJsZSIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsIklOU0NUYWJsZVByb3BzIiwiVGFicyIsIlRyZWUiLCJOc2NUcmVlUHJvcHMiLCJTdG9yZSIsIlN0b3JlQ29uZmlnVHlwZSIsImdldERlZmF1bHRDb25maWciLCJzZXRDb25maWciLCJUYWdTZWxlY3QiLCJOb0RhdGEiLCJOb01lc3NhZ2UiLCJOb05ldFdvcmsiLCJQYWdlNDA0IiwiTm9BdXRob3JpdHkiLCJSYW5nZVBpY2tlciIsIk1vZGFsIiwiQ2hhcnQiLCJtZXNzYWdlIiwiQWZmaXgiLCJBbGVydCIsIkFuY2hvciIsIkF2YXRhciIsIkJhY2tUb3AiLCJCYWRnZSIsIkJyZWFkY3J1bWIiLCJDYWxlbmRhciIsIkNhcmQiLCJDb2xsYXBzZSIsIkNvbmZpZ1Byb3ZpZGVyIiwiRGVzY3JpcHRpb25zIiwiRGl2aWRlciIsIkRyYXdlciIsIkRyb3Bkb3duIiwiUm93IiwiQ29sIiwiSW1hZ2UiLCJMYXlvdXQiLCJMaXN0Iiwibm90aWZpY2F0aW9uIiwiUGFnaW5hdGlvbiIsIlBvcGNvbmZpcm0iLCJQcm9ncmVzcyIsIlJlc3VsdCIsIlNrZWxldG9uIiwiU3BhY2UiLCJTdGF0aXN0aWMiLCJTdGVwcyIsIlRpbWVsaW5lIiwiVG9vbHRpcCIsIlR5cG9ncmFwaHkiLCJQb3BvdmVyIiwiSWZyYW1lIiwiRXJyb3JCb3VuZGFyeSIsIkVkaXRvciIsIlVwbG9hZCIsIkRvd25sb2FkIiwiVHJhbnNmZXIiLCJTcGluIiwiUGRmVmlld2VyIiwiRmlsZUljb24iLCJTd2l0Y2giLCJUcmVlU2VsZWN0IiwiQ2Fyb3VzZWwiLCJFbGxpcHNlQ2VsbCIsIlFSQ29kZSIsIldhdGVybWFyayIsIkNvbG9yUGlja2VyIiwiVG91ciIsIlNsaWRlck1lbnUiLCJJbWFnZVByZXZlaXciLCJCYXNlUGFnZSIsIkhlYWRlclNlYXJjaCIsIlBhc3NXb3JkQ2hlY2siLCJUYWJzUGFnZSIsIkZvcm1QYWdlIiwiU2V0dGluZ1RhYmxlIiwiU2V0dGluZ1RhYiJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDMtMjIgMDk6MDQ6MTlcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTE2IDE0OjQzOjE1XHJcbiAqL1xyXG4vLyBleHBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgZGF5anMgZnJvbSBcImRheWpzXCI7XHJcbmltcG9ydCBcImRheWpzL2xvY2FsZS96aC1jblwiO1xyXG5cclxuZGF5anMubG9jYWxlKFwiemgtY25cIik7XHJcblxyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJ1dHRvbiB9IGZyb20gXCIuL2Jhc2UvYnV0dG9uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2FzY2FkZXIgfSBmcm9tIFwiLi9iYXNlL2Nhc2NhZGVyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2hlY2tib3ggfSBmcm9tIFwiLi9iYXNlL2NoZWNrYm94XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQm9keVJvdyB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL0JvZHlSb3dcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBJY29uIH0gZnJvbSBcIi4vYmFzZS9jb21tb24vSWNvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRyZWVQYW5lbCB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL1RyZWVQYW5lbFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERhdGVQaWNrZXIgfSBmcm9tIFwiLi9iYXNlL2RhdGVwaWNrXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9ybSB9IGZyb20gXCIuL2Jhc2UvZm9ybVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIElucHV0IH0gZnJvbSBcIi4vYmFzZS9pbnB1dFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRleHRBcmVhIH0gZnJvbSBcIi4vYmFzZS9pbnB1dC9UZXh0QXJlYVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE1lbnUgfSBmcm9tIFwiLi9iYXNlL21lbnVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSYWRpbyB9IGZyb20gXCIuL2Jhc2UvcmFkaW9cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBTZWxlY3QgfSBmcm9tIFwiLi9iYXNlL3NlbGVjdFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRhYmxlIH0gZnJvbSBcIi4vYmFzZS90YWJsZVwiO1xyXG5leHBvcnQgeyBEbmRDb250ZXh0VHlwZSwgSUJvZHlSb3dQcm9wcywgSU5TQ1RhYmxlUHJvcHMgfSBmcm9tIFwiLi9iYXNlL3RhYmxlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGFicyB9IGZyb20gXCIuL2Jhc2UvdGFic1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRyZWUgfSBmcm9tIFwiLi9iYXNlL3RyZWVcIjtcclxuZXhwb3J0IHsgTnNjVHJlZVByb3BzLCBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIi4vYmFzZS90cmVlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZ2V0RGVmYXVsdENvbmZpZywgc2V0Q29uZmlnIH0gZnJvbSBcIi4vY29uZmlnXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGFnU2VsZWN0IH0gZnJvbSBcIi4vYmFzZS90YWdTZWxlY3RcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb0RhdGEgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Ob0RhdGFcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb01lc3NhZ2UgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Ob01lc3NhZ2VcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb05ldFdvcmsgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Ob05ldFdvcmtcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQYWdlNDA0IH0gZnJvbSBcIi4vYmFzZS9jb21tb24vUGFnZTQwNFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIE5vQXV0aG9yaXR5IH0gZnJvbSBcIi4vYmFzZS9jb21tb24vTm9BdXRob3JpdHlcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSYW5nZVBpY2tlciB9IGZyb20gXCIuL2Jhc2UvZGF0ZXBpY2svUmFuZ2VwaWNrZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNb2RhbCB9IGZyb20gXCIuL2Jhc2UvbW9kYWxcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDaGFydCB9IGZyb20gXCIuL2Jhc2UvY2hhcnRcIjtcclxuXHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbWVzc2FnZSB9IGZyb20gXCIuL2Jhc2UvbWVzc2FnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEFmZml4IH0gZnJvbSBcIi4vYmFzZS9hZmZpeFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEFsZXJ0IH0gZnJvbSBcIi4vYmFzZS9hbGVydFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEFuY2hvciB9IGZyb20gXCIuL2Jhc2UvYW5jaG9yXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQXZhdGFyIH0gZnJvbSBcIi4vYmFzZS9hdmF0YXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCYWNrVG9wIH0gZnJvbSBcIi4vYmFzZS9iYWNrVG9wXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQmFkZ2UgfSBmcm9tIFwiLi9iYXNlL2JhZGdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQnJlYWRjcnVtYiB9IGZyb20gXCIuL2Jhc2UvYnJlYWRjcnVtYlwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENhbGVuZGFyIH0gZnJvbSBcIi4vYmFzZS9jYWxlbmRhclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENhcmQgfSBmcm9tIFwiLi9iYXNlL2NhcmRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDb2xsYXBzZSB9IGZyb20gXCIuL2Jhc2UvY29sbGFwc2VcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDb25maWdQcm92aWRlciB9IGZyb20gXCIuL2Jhc2UvY29uZmlnUHJvdmlkZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBEZXNjcmlwdGlvbnMgfSBmcm9tIFwiLi9iYXNlL2Rlc2NyaXB0aW9uc1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERpdmlkZXIgfSBmcm9tIFwiLi9iYXNlL2RpdmlkZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBEcmF3ZXIgfSBmcm9tIFwiLi9iYXNlL2RyYXdlclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERyb3Bkb3duIH0gZnJvbSBcIi4vYmFzZS9kcm9wZG93blwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFJvdyB9IGZyb20gXCIuL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDb2wgfSBmcm9tIFwiLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSW1hZ2UgfSBmcm9tIFwiLi9iYXNlL2ltYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTGF5b3V0IH0gZnJvbSBcIi4vYmFzZS9sYXlvdXRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBMaXN0IH0gZnJvbSBcIi4vYmFzZS9saXN0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbm90aWZpY2F0aW9uIH0gZnJvbSBcIi4vYmFzZS9ub3RpZmljYXRpb25cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQYWdpbmF0aW9uIH0gZnJvbSBcIi4vYmFzZS9wYWdpbmF0aW9uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUG9wY29uZmlybSB9IGZyb20gXCIuL2Jhc2UvcG9wY29uZmlybVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFByb2dyZXNzIH0gZnJvbSBcIi4vYmFzZS9wcm9ncmVzc1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFJlc3VsdCB9IGZyb20gXCIuL2Jhc2UvcmVzdWx0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2tlbGV0b24gfSBmcm9tIFwiLi9iYXNlL3NrZWxldG9uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3BhY2UgfSBmcm9tIFwiLi9iYXNlL3NwYWNlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3RhdGlzdGljIH0gZnJvbSBcIi4vYmFzZS9zdGF0aXN0aWNcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBTdGVwcyB9IGZyb20gXCIuL2Jhc2Uvc3RlcHNcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUaW1lbGluZSB9IGZyb20gXCIuL2Jhc2UvdGltZWxpbmVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUb29sdGlwIH0gZnJvbSBcIi4vYmFzZS90b29sdGlwXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVHlwb2dyYXBoeSB9IGZyb20gXCIuL2Jhc2UvdHlwb2dyYXBoeVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFBvcG92ZXIgfSBmcm9tIFwiLi9iYXNlL3BvcG92ZXJcIjtcclxuZXhwb3J0IHR5cGUgeyBkZWZhdWx0IGFzIElucHV0RWFtaWxJbnN0YW5jZSB9IGZyb20gXCIuL2Jhc2UvaW5wdXQvRW1haWxcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBJZnJhbWUgfSBmcm9tIFwiLi9iYXNlL2lmcmFtZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEVycm9yQm91bmRhcnkgfSBmcm9tIFwiLi9iYXNlL2Vycm9yYm91bmRhcnlcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBFZGl0b3IgfSBmcm9tIFwiLi9iYXNlL2VkaXRvclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFVwbG9hZCB9IGZyb20gXCIuL2Jhc2UvdXBsb2FkXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRG93bmxvYWQgfSBmcm9tIFwiLi9iYXNlL2Rvd25sb2FkXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVHJhbnNmZXIgfSBmcm9tIFwiLi9iYXNlL3RyYW5zZmVyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3BpbiB9IGZyb20gXCIuL2Jhc2Uvc3BpblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFBkZlZpZXdlciB9IGZyb20gXCIuL2Jhc2UvcGRmdml3ZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBGaWxlSWNvbiB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL0ZpbGVJY29uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3dpdGNoIH0gZnJvbSBcIi4vYmFzZS9zd2l0Y2hcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmVlU2VsZWN0IH0gZnJvbSBcIi4vYmFzZS90cmVlc2VsZWN0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2Fyb3VzZWwgfSBmcm9tIFwiLi9iYXNlL2Nhcm91c2VsXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWxsaXBzZUNlbGwgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9FbGxpcHNlQ2VsbFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFFSQ29kZSB9IGZyb20gXCIuL2Jhc2UvcWVjb2RlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgV2F0ZXJtYXJrIH0gZnJvbSBcIi4vYmFzZS93YXRlcm1hcmtcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDb2xvclBpY2tlciB9IGZyb20gXCIuL2Jhc2UvY29sb3JwaWNrZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUb3VyIH0gZnJvbSBcIi4vYmFzZS90b3VyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2xpZGVyTWVudSB9IGZyb20gXCIuL2Jhc2Uvc2xpZGVybWVudVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEltYWdlUHJldmVpdyB9IGZyb20gXCIuL2Jhc2UvSW1hZ2VWaWV3XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQmFzZVBhZ2UgfSBmcm9tIFwiLi9wYWdlL0Jhc2VQYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSGVhZGVyU2VhcmNoIH0gZnJvbSBcIi4vcGFnZS9IZWFkZXJTZWFyY2hcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQYXNzV29yZENoZWNrIH0gZnJvbSBcIi4vcGFnZS9QYXNzd29yZENoZWNrXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGFic1BhZ2UgfSBmcm9tIFwiLi9wYWdlL1RhYnNQYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRm9ybVBhZ2UgfSBmcm9tIFwiLi9wYWdlL0Zvcm1QYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2V0dGluZ1RhYmxlIH0gZnJvbSBcIi4vcGFnZS9TZXR0aW5nVGFibGVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBTZXR0aW5nVGFiIH0gZnJvbSBcIi4vcGFnZS9TZXR0aW5nVGFiXCI7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPLG9CQUFvQjtBQUUzQkEsS0FBSyxDQUFDQyxNQUFNLENBQUMsT0FBTyxDQUFDO0FBRXJCLFNBQVNDLE9BQU8sSUFBSUMsTUFBTSxRQUFRLGVBQWU7QUFDakQsU0FBU0QsT0FBTyxJQUFJRSxRQUFRLFFBQVEsaUJBQWlCO0FBQ3JELFNBQVNGLE9BQU8sSUFBSUcsUUFBUSxRQUFRLGlCQUFpQjtBQUNyRCxTQUFTSCxPQUFPLElBQUlJLE9BQU8sUUFBUSx1QkFBdUI7QUFDMUQsU0FBU0osT0FBTyxJQUFJSyxJQUFJLFFBQVEsb0JBQW9CO0FBQ3BELFNBQVNMLE9BQU8sSUFBSU0sU0FBUyxRQUFRLHlCQUF5QjtBQUM5RCxTQUFTTixPQUFPLElBQUlPLFVBQVUsUUFBUSxpQkFBaUI7QUFDdkQsU0FBU1AsT0FBTyxJQUFJUSxJQUFJLFFBQVEsYUFBYTtBQUM3QyxTQUFTUixPQUFPLElBQUlTLEtBQUssUUFBUSxjQUFjO0FBQy9DLFNBQVNULE9BQU8sSUFBSVUsUUFBUSxRQUFRLHVCQUF1QjtBQUMzRCxTQUFTVixPQUFPLElBQUlXLElBQUksUUFBUSxhQUFhO0FBQzdDLFNBQVNYLE9BQU8sSUFBSVksS0FBSyxRQUFRLGNBQWM7QUFDL0MsU0FBU1osT0FBTyxJQUFJYSxNQUFNLFFBQVEsZUFBZTtBQUNqRCxTQUFTYixPQUFPLElBQUljLEtBQUssUUFBUSxjQUFjO0FBQy9DLFNBQVNDLGNBQWMsRUFBRUMsYUFBYSxFQUFFQyxjQUFjLFFBQVEsY0FBYztBQUM1RSxTQUFTakIsT0FBTyxJQUFJa0IsSUFBSSxRQUFRLGFBQWE7QUFDN0MsU0FBU2xCLE9BQU8sSUFBSW1CLElBQUksUUFBUSxhQUFhO0FBQzdDLFNBQVNDLFlBQVksRUFBRUMsS0FBSyxFQUFFQyxlQUFlLFFBQVEsYUFBYTtBQUNsRSxTQUFTdEIsT0FBTyxJQUFJdUIsZ0JBQWdCLEVBQUVDLFNBQVMsUUFBUSxVQUFVO0FBQ2pFLFNBQVN4QixPQUFPLElBQUl5QixTQUFTLFFBQVEsa0JBQWtCO0FBQ3ZELFNBQVN6QixPQUFPLElBQUkwQixNQUFNLFFBQVEsc0JBQXNCO0FBQ3hELFNBQVMxQixPQUFPLElBQUkyQixTQUFTLFFBQVEseUJBQXlCO0FBQzlELFNBQVMzQixPQUFPLElBQUk0QixTQUFTLFFBQVEseUJBQXlCO0FBQzlELFNBQVM1QixPQUFPLElBQUk2QixPQUFPLFFBQVEsdUJBQXVCO0FBQzFELFNBQVM3QixPQUFPLElBQUk4QixXQUFXLFFBQVEsMkJBQTJCO0FBQ2xFLFNBQVM5QixPQUFPLElBQUkrQixXQUFXLFFBQVEsNkJBQTZCO0FBQ3BFLFNBQVMvQixPQUFPLElBQUlnQyxLQUFLLFFBQVEsY0FBYztBQUMvQyxTQUFTaEMsT0FBTyxJQUFJaUMsS0FBSyxRQUFRLGNBQWM7QUFFL0MsU0FBU2pDLE9BQU8sSUFBSWtDLE9BQU8sUUFBUSxnQkFBZ0I7QUFDbkQsU0FBU2xDLE9BQU8sSUFBSW1DLEtBQUssUUFBUSxjQUFjO0FBQy9DLFNBQVNuQyxPQUFPLElBQUlvQyxLQUFLLFFBQVEsY0FBYztBQUMvQyxTQUFTcEMsT0FBTyxJQUFJcUMsTUFBTSxRQUFRLGVBQWU7QUFDakQsU0FBU3JDLE9BQU8sSUFBSXNDLE1BQU0sUUFBUSxlQUFlO0FBQ2pELFNBQVN0QyxPQUFPLElBQUl1QyxPQUFPLFFBQVEsZ0JBQWdCO0FBQ25ELFNBQVN2QyxPQUFPLElBQUl3QyxLQUFLLFFBQVEsY0FBYztBQUMvQyxTQUFTeEMsT0FBTyxJQUFJeUMsVUFBVSxRQUFRLG1CQUFtQjtBQUN6RCxTQUFTekMsT0FBTyxJQUFJMEMsUUFBUSxRQUFRLGlCQUFpQjtBQUNyRCxTQUFTMUMsT0FBTyxJQUFJMkMsSUFBSSxRQUFRLGFBQWE7QUFDN0MsU0FBUzNDLE9BQU8sSUFBSTRDLFFBQVEsUUFBUSxpQkFBaUI7QUFDckQsU0FBUzVDLE9BQU8sSUFBSTZDLGNBQWMsUUFBUSx1QkFBdUI7QUFDakUsU0FBUzdDLE9BQU8sSUFBSThDLFlBQVksUUFBUSxxQkFBcUI7QUFDN0QsU0FBUzlDLE9BQU8sSUFBSStDLE9BQU8sUUFBUSxnQkFBZ0I7QUFDbkQsU0FBUy9DLE9BQU8sSUFBSWdELE1BQU0sUUFBUSxlQUFlO0FBQ2pELFNBQVNoRCxPQUFPLElBQUlpRCxRQUFRLFFBQVEsaUJBQWlCO0FBQ3JELFNBQVNqRCxPQUFPLElBQUlrRCxHQUFHLFFBQVEsaUJBQWlCO0FBQ2hELFNBQVNsRCxPQUFPLElBQUltRCxHQUFHLFFBQVEsaUJBQWlCO0FBQ2hELFNBQVNuRCxPQUFPLElBQUlvRCxLQUFLLFFBQVEsY0FBYztBQUMvQyxTQUFTcEQsT0FBTyxJQUFJcUQsTUFBTSxRQUFRLGVBQWU7QUFDakQsU0FBU3JELE9BQU8sSUFBSXNELElBQUksUUFBUSxhQUFhO0FBQzdDLFNBQVN0RCxPQUFPLElBQUl1RCxZQUFZLFFBQVEscUJBQXFCO0FBQzdELFNBQVN2RCxPQUFPLElBQUl3RCxVQUFVLFFBQVEsbUJBQW1CO0FBQ3pELFNBQVN4RCxPQUFPLElBQUl5RCxVQUFVLFFBQVEsbUJBQW1CO0FBQ3pELFNBQVN6RCxPQUFPLElBQUkwRCxRQUFRLFFBQVEsaUJBQWlCO0FBQ3JELFNBQVMxRCxPQUFPLElBQUkyRCxNQUFNLFFBQVEsZUFBZTtBQUNqRCxTQUFTM0QsT0FBTyxJQUFJNEQsUUFBUSxRQUFRLGlCQUFpQjtBQUNyRCxTQUFTNUQsT0FBTyxJQUFJNkQsS0FBSyxRQUFRLGNBQWM7QUFDL0MsU0FBUzdELE9BQU8sSUFBSThELFNBQVMsUUFBUSxrQkFBa0I7QUFDdkQsU0FBUzlELE9BQU8sSUFBSStELEtBQUssUUFBUSxjQUFjO0FBQy9DLFNBQVMvRCxPQUFPLElBQUlnRSxRQUFRLFFBQVEsaUJBQWlCO0FBQ3JELFNBQVNoRSxPQUFPLElBQUlpRSxPQUFPLFFBQVEsZ0JBQWdCO0FBQ25ELFNBQVNqRSxPQUFPLElBQUlrRSxVQUFVLFFBQVEsbUJBQW1CO0FBQ3pELFNBQVNsRSxPQUFPLElBQUltRSxPQUFPLFFBQVEsZ0JBQWdCO0FBRW5ELFNBQVNuRSxPQUFPLElBQUlvRSxNQUFNLFFBQVEsZUFBZTtBQUNqRCxTQUFTcEUsT0FBTyxJQUFJcUUsYUFBYSxRQUFRLHNCQUFzQjtBQUMvRCxTQUFTckUsT0FBTyxJQUFJc0UsTUFBTSxRQUFRLGVBQWU7QUFDakQsU0FBU3RFLE9BQU8sSUFBSXVFLE1BQU0sUUFBUSxlQUFlO0FBQ2pELFNBQVN2RSxPQUFPLElBQUl3RSxRQUFRLFFBQVEsaUJBQWlCO0FBQ3JELFNBQVN4RSxPQUFPLElBQUl5RSxRQUFRLFFBQVEsaUJBQWlCO0FBQ3JELFNBQVN6RSxPQUFPLElBQUkwRSxJQUFJLFFBQVEsYUFBYTtBQUM3QyxTQUFTMUUsT0FBTyxJQUFJMkUsU0FBUyxRQUFRLGlCQUFpQjtBQUN0RCxTQUFTM0UsT0FBTyxJQUFJNEUsUUFBUSxRQUFRLHdCQUF3QjtBQUM1RCxTQUFTNUUsT0FBTyxJQUFJNkUsTUFBTSxRQUFRLGVBQWU7QUFDakQsU0FBUzdFLE9BQU8sSUFBSThFLFVBQVUsUUFBUSxtQkFBbUI7QUFDekQsU0FBUzlFLE9BQU8sSUFBSStFLFFBQVEsUUFBUSxpQkFBaUI7QUFDckQsU0FBUy9FLE9BQU8sSUFBSWdGLFdBQVcsUUFBUSwyQkFBMkI7QUFDbEUsU0FBU2hGLE9BQU8sSUFBSWlGLE1BQU0sUUFBUSxlQUFlO0FBQ2pELFNBQVNqRixPQUFPLElBQUlrRixTQUFTLFFBQVEsa0JBQWtCO0FBQ3ZELFNBQVNsRixPQUFPLElBQUltRixXQUFXLFFBQVEsb0JBQW9CO0FBQzNELFNBQVNuRixPQUFPLElBQUlvRixJQUFJLFFBQVEsYUFBYTtBQUM3QyxTQUFTcEYsT0FBTyxJQUFJcUYsVUFBVSxRQUFRLG1CQUFtQjtBQUN6RCxTQUFTckYsT0FBTyxJQUFJc0YsWUFBWSxRQUFRLGtCQUFrQjtBQUMxRCxTQUFTdEYsT0FBTyxJQUFJdUYsUUFBUSxRQUFRLGlCQUFpQjtBQUNyRCxTQUFTdkYsT0FBTyxJQUFJd0YsWUFBWSxRQUFRLHFCQUFxQjtBQUM3RCxTQUFTeEYsT0FBTyxJQUFJeUYsYUFBYSxRQUFRLHNCQUFzQjtBQUMvRCxTQUFTekYsT0FBTyxJQUFJMEYsUUFBUSxRQUFRLGlCQUFpQjtBQUNyRCxTQUFTMUYsT0FBTyxJQUFJMkYsUUFBUSxRQUFRLGlCQUFpQjtBQUNyRCxTQUFTM0YsT0FBTyxJQUFJNEYsWUFBWSxRQUFRLHFCQUFxQjtBQUM3RCxTQUFTNUYsT0FBTyxJQUFJNkYsVUFBVSxRQUFRLG1CQUFtQiJ9
101
+ export { default as ImportData } from "./base/importData";
102
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkYXlqcyIsImxvY2FsZSIsImRlZmF1bHQiLCJCdXR0b24iLCJDYXNjYWRlciIsIkNoZWNrYm94IiwiQm9keVJvdyIsIkljb24iLCJUcmVlUGFuZWwiLCJEYXRlUGlja2VyIiwiRm9ybSIsIklucHV0IiwiVGV4dEFyZWEiLCJNZW51IiwiUmFkaW8iLCJTZWxlY3QiLCJUYWJsZSIsIkRuZENvbnRleHRUeXBlIiwiSUJvZHlSb3dQcm9wcyIsIklOU0NUYWJsZVByb3BzIiwiVGFicyIsIlRyZWUiLCJOc2NUcmVlUHJvcHMiLCJTdG9yZSIsIlN0b3JlQ29uZmlnVHlwZSIsImdldERlZmF1bHRDb25maWciLCJzZXRDb25maWciLCJUYWdTZWxlY3QiLCJOb0RhdGEiLCJOb01lc3NhZ2UiLCJOb05ldFdvcmsiLCJQYWdlNDA0IiwiTm9BdXRob3JpdHkiLCJSYW5nZVBpY2tlciIsIk1vZGFsIiwiQ2hhcnQiLCJtZXNzYWdlIiwiQWZmaXgiLCJBbGVydCIsIkFuY2hvciIsIkF2YXRhciIsIkJhY2tUb3AiLCJCYWRnZSIsIkJyZWFkY3J1bWIiLCJDYWxlbmRhciIsIkNhcmQiLCJDb2xsYXBzZSIsIkNvbmZpZ1Byb3ZpZGVyIiwiRGVzY3JpcHRpb25zIiwiRGl2aWRlciIsIkRyYXdlciIsIkRyb3Bkb3duIiwiUm93IiwiQ29sIiwiSW1hZ2UiLCJMYXlvdXQiLCJMaXN0Iiwibm90aWZpY2F0aW9uIiwiUGFnaW5hdGlvbiIsIlBvcGNvbmZpcm0iLCJQcm9ncmVzcyIsIlJlc3VsdCIsIlNrZWxldG9uIiwiU3BhY2UiLCJTdGF0aXN0aWMiLCJTdGVwcyIsIlRpbWVsaW5lIiwiVG9vbHRpcCIsIlR5cG9ncmFwaHkiLCJQb3BvdmVyIiwiSWZyYW1lIiwiRXJyb3JCb3VuZGFyeSIsIkVkaXRvciIsIlVwbG9hZCIsIkRvd25sb2FkIiwiVHJhbnNmZXIiLCJTcGluIiwiUGRmVmlld2VyIiwiRmlsZUljb24iLCJTd2l0Y2giLCJUcmVlU2VsZWN0IiwiQ2Fyb3VzZWwiLCJFbGxpcHNlQ2VsbCIsIlFSQ29kZSIsIldhdGVybWFyayIsIkNvbG9yUGlja2VyIiwiVG91ciIsIlNsaWRlck1lbnUiLCJJbWFnZVByZXZlaXciLCJCYXNlUGFnZSIsIkhlYWRlclNlYXJjaCIsIlBhc3NXb3JkQ2hlY2siLCJUYWJzUGFnZSIsIkZvcm1QYWdlIiwiU2V0dGluZ1RhYmxlIiwiU2V0dGluZ1RhYiIsIkltcG9ydERhdGEiXSwic291cmNlcyI6WyIuLi9zcmMvY29tcG9uZW50cy9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjpcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTAzLTIyIDA5OjA0OjE5XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0xNiAxNDo0MzoxNVxyXG4gKi9cclxuLy8gZXhwb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xyXG5pbXBvcnQgXCJkYXlqcy9sb2NhbGUvemgtY25cIjtcclxuXHJcbmRheWpzLmxvY2FsZShcInpoLWNuXCIpO1xyXG5cclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBCdXR0b24gfSBmcm9tIFwiLi9iYXNlL2J1dHRvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENhc2NhZGVyIH0gZnJvbSBcIi4vYmFzZS9jYXNjYWRlclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENoZWNrYm94IH0gZnJvbSBcIi4vYmFzZS9jaGVja2JveFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJvZHlSb3cgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9Cb2R5Um93XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSWNvbiB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL0ljb25cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmVlUGFuZWwgfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9UcmVlUGFuZWxcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBEYXRlUGlja2VyIH0gZnJvbSBcIi4vYmFzZS9kYXRlcGlja1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZvcm0gfSBmcm9tIFwiLi9iYXNlL2Zvcm1cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBJbnB1dCB9IGZyb20gXCIuL2Jhc2UvaW5wdXRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUZXh0QXJlYSB9IGZyb20gXCIuL2Jhc2UvaW5wdXQvVGV4dEFyZWFcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBNZW51IH0gZnJvbSBcIi4vYmFzZS9tZW51XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmFkaW8gfSBmcm9tIFwiLi9iYXNlL3JhZGlvXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2VsZWN0IH0gZnJvbSBcIi4vYmFzZS9zZWxlY3RcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUYWJsZSB9IGZyb20gXCIuL2Jhc2UvdGFibGVcIjtcclxuZXhwb3J0IHsgRG5kQ29udGV4dFR5cGUsIElCb2R5Um93UHJvcHMsIElOU0NUYWJsZVByb3BzIH0gZnJvbSBcIi4vYmFzZS90YWJsZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRhYnMgfSBmcm9tIFwiLi9iYXNlL3RhYnNcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmVlIH0gZnJvbSBcIi4vYmFzZS90cmVlXCI7XHJcbmV4cG9ydCB7IE5zY1RyZWVQcm9wcywgU3RvcmUsIFN0b3JlQ29uZmlnVHlwZSB9IGZyb20gXCIuL2Jhc2UvdHJlZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIGdldERlZmF1bHRDb25maWcsIHNldENvbmZpZyB9IGZyb20gXCIuL2NvbmZpZ1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRhZ1NlbGVjdCB9IGZyb20gXCIuL2Jhc2UvdGFnU2VsZWN0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9EYXRhIH0gZnJvbSBcIi4vYmFzZS9jb21tb24vTm9EYXRhXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9NZXNzYWdlIH0gZnJvbSBcIi4vYmFzZS9jb21tb24vTm9NZXNzYWdlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTm9OZXRXb3JrIH0gZnJvbSBcIi4vYmFzZS9jb21tb24vTm9OZXRXb3JrXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUGFnZTQwNCB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL1BhZ2U0MDRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBOb0F1dGhvcml0eSB9IGZyb20gXCIuL2Jhc2UvY29tbW9uL05vQXV0aG9yaXR5XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUmFuZ2VQaWNrZXIgfSBmcm9tIFwiLi9iYXNlL2RhdGVwaWNrL1JhbmdlcGlja2VyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTW9kYWwgfSBmcm9tIFwiLi9iYXNlL21vZGFsXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ2hhcnQgfSBmcm9tIFwiLi9iYXNlL2NoYXJ0XCI7XHJcblxyXG5leHBvcnQgeyBkZWZhdWx0IGFzIG1lc3NhZ2UgfSBmcm9tIFwiLi9iYXNlL21lc3NhZ2VcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBZmZpeCB9IGZyb20gXCIuL2Jhc2UvYWZmaXhcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBbGVydCB9IGZyb20gXCIuL2Jhc2UvYWxlcnRcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBBbmNob3IgfSBmcm9tIFwiLi9iYXNlL2FuY2hvclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEF2YXRhciB9IGZyb20gXCIuL2Jhc2UvYXZhdGFyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQmFja1RvcCB9IGZyb20gXCIuL2Jhc2UvYmFja1RvcFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJhZGdlIH0gZnJvbSBcIi4vYmFzZS9iYWRnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJyZWFkY3J1bWIgfSBmcm9tIFwiLi9iYXNlL2JyZWFkY3J1bWJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDYWxlbmRhciB9IGZyb20gXCIuL2Jhc2UvY2FsZW5kYXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBDYXJkIH0gZnJvbSBcIi4vYmFzZS9jYXJkXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29sbGFwc2UgfSBmcm9tIFwiLi9iYXNlL2NvbGxhcHNlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29uZmlnUHJvdmlkZXIgfSBmcm9tIFwiLi9iYXNlL2NvbmZpZ1Byb3ZpZGVyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRGVzY3JpcHRpb25zIH0gZnJvbSBcIi4vYmFzZS9kZXNjcmlwdGlvbnNcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBEaXZpZGVyIH0gZnJvbSBcIi4vYmFzZS9kaXZpZGVyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRHJhd2VyIH0gZnJvbSBcIi4vYmFzZS9kcmF3ZXJcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBEcm9wZG93biB9IGZyb20gXCIuL2Jhc2UvZHJvcGRvd25cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSb3cgfSBmcm9tIFwiLi9iYXNlL2dyaWQvUm93XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29sIH0gZnJvbSBcIi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEltYWdlIH0gZnJvbSBcIi4vYmFzZS9pbWFnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIExheW91dCB9IGZyb20gXCIuL2Jhc2UvbGF5b3V0XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgTGlzdCB9IGZyb20gXCIuL2Jhc2UvbGlzdFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIG5vdGlmaWNhdGlvbiB9IGZyb20gXCIuL2Jhc2Uvbm90aWZpY2F0aW9uXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUGFnaW5hdGlvbiB9IGZyb20gXCIuL2Jhc2UvcGFnaW5hdGlvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFBvcGNvbmZpcm0gfSBmcm9tIFwiLi9iYXNlL3BvcGNvbmZpcm1cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQcm9ncmVzcyB9IGZyb20gXCIuL2Jhc2UvcHJvZ3Jlc3NcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZXN1bHQgfSBmcm9tIFwiLi9iYXNlL3Jlc3VsdFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNrZWxldG9uIH0gZnJvbSBcIi4vYmFzZS9za2VsZXRvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNwYWNlIH0gZnJvbSBcIi4vYmFzZS9zcGFjZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFN0YXRpc3RpYyB9IGZyb20gXCIuL2Jhc2Uvc3RhdGlzdGljXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU3RlcHMgfSBmcm9tIFwiLi9iYXNlL3N0ZXBzXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGltZWxpbmUgfSBmcm9tIFwiLi9iYXNlL3RpbWVsaW5lXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVG9vbHRpcCB9IGZyb20gXCIuL2Jhc2UvdG9vbHRpcFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFR5cG9ncmFwaHkgfSBmcm9tIFwiLi9iYXNlL3R5cG9ncmFwaHlcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQb3BvdmVyIH0gZnJvbSBcIi4vYmFzZS9wb3BvdmVyXCI7XHJcbmV4cG9ydCB0eXBlIHsgZGVmYXVsdCBhcyBJbnB1dEVhbWlsSW5zdGFuY2UgfSBmcm9tIFwiLi9iYXNlL2lucHV0L0VtYWlsXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgSWZyYW1lIH0gZnJvbSBcIi4vYmFzZS9pZnJhbWVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBFcnJvckJvdW5kYXJ5IH0gZnJvbSBcIi4vYmFzZS9lcnJvcmJvdW5kYXJ5XCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRWRpdG9yIH0gZnJvbSBcIi4vYmFzZS9lZGl0b3JcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBVcGxvYWQgfSBmcm9tIFwiLi9iYXNlL3VwbG9hZFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIERvd25sb2FkIH0gZnJvbSBcIi4vYmFzZS9kb3dubG9hZFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRyYW5zZmVyIH0gZnJvbSBcIi4vYmFzZS90cmFuc2ZlclwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNwaW4gfSBmcm9tIFwiLi9iYXNlL3NwaW5cIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBQZGZWaWV3ZXIgfSBmcm9tIFwiLi9iYXNlL3BkZnZpd2VyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgRmlsZUljb24gfSBmcm9tIFwiLi9iYXNlL2NvbW1vbi9GaWxlSWNvblwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFN3aXRjaCB9IGZyb20gXCIuL2Jhc2Uvc3dpdGNoXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVHJlZVNlbGVjdCB9IGZyb20gXCIuL2Jhc2UvdHJlZXNlbGVjdFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIENhcm91c2VsIH0gZnJvbSBcIi4vYmFzZS9jYXJvdXNlbFwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEVsbGlwc2VDZWxsIH0gZnJvbSBcIi4vYmFzZS9jb21tb24vRWxsaXBzZUNlbGxcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBRUkNvZGUgfSBmcm9tIFwiLi9iYXNlL3FlY29kZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFdhdGVybWFyayB9IGZyb20gXCIuL2Jhc2Uvd2F0ZXJtYXJrXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQ29sb3JQaWNrZXIgfSBmcm9tIFwiLi9iYXNlL2NvbG9ycGlja2VyXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVG91ciB9IGZyb20gXCIuL2Jhc2UvdG91clwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNsaWRlck1lbnUgfSBmcm9tIFwiLi9iYXNlL3NsaWRlcm1lbnVcIjtcclxuZXhwb3J0IHsgZGVmYXVsdCBhcyBJbWFnZVByZXZlaXcgfSBmcm9tIFwiLi9iYXNlL0ltYWdlVmlld1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEJhc2VQYWdlIH0gZnJvbSBcIi4vcGFnZS9CYXNlUGFnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEhlYWRlclNlYXJjaCB9IGZyb20gXCIuL3BhZ2UvSGVhZGVyU2VhcmNoXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUGFzc1dvcmRDaGVjayB9IGZyb20gXCIuL3BhZ2UvUGFzc3dvcmRDaGVja1wiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFRhYnNQYWdlIH0gZnJvbSBcIi4vcGFnZS9UYWJzUGFnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEZvcm1QYWdlIH0gZnJvbSBcIi4vcGFnZS9Gb3JtUGFnZVwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIFNldHRpbmdUYWJsZSB9IGZyb20gXCIuL3BhZ2UvU2V0dGluZ1RhYmxlXCI7XHJcbmV4cG9ydCB7IGRlZmF1bHQgYXMgU2V0dGluZ1RhYiB9IGZyb20gXCIuL3BhZ2UvU2V0dGluZ1RhYlwiO1xyXG5leHBvcnQgeyBkZWZhdWx0IGFzIEltcG9ydERhdGEgfSBmcm9tIFwiLi9iYXNlL2ltcG9ydERhdGFcIjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU8sb0JBQW9CO0FBRTNCQSxLQUFLLENBQUNDLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFFckIsU0FBU0MsT0FBTyxJQUFJQyxNQUFNLFFBQVEsZUFBZTtBQUNqRCxTQUFTRCxPQUFPLElBQUlFLFFBQVEsUUFBUSxpQkFBaUI7QUFDckQsU0FBU0YsT0FBTyxJQUFJRyxRQUFRLFFBQVEsaUJB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