nsc-react-component 2.5.6 → 2.5.8

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.
@@ -6,5 +6,17 @@ interface PdfProps {
6
6
  onClick?: any;
7
7
  autoShow?: any;
8
8
  }
9
- declare const PdfViewer: React.ForwardRefExoticComponent<PdfProps & React.RefAttributes<unknown>>;
9
+ declare class PdfViewer extends React.PureComponent<PdfProps, any> {
10
+ modelRef: React.RefObject<any>;
11
+ constructor(props: any);
12
+ componentDidMount(): void;
13
+ componentDidUpdate(preProps: any): void;
14
+ show: (params?: {
15
+ fileId: string;
16
+ isImage: boolean;
17
+ }) => void;
18
+ getFile: (id: any, auto?: Boolean) => Promise<void>;
19
+ showFile: () => void;
20
+ render(): JSX.Element;
21
+ }
10
22
  export default PdfViewer;
@@ -1,104 +1,184 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
+
1
3
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
4
 
3
5
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
6
 
5
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
7
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
8
+
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
10
+
11
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
12
+
13
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
6
14
 
7
- 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."); }
15
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
8
16
 
9
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
18
 
11
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
19
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
12
20
 
13
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
21
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
14
22
 
15
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
24
 
17
- import React, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react";
25
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
26
+
27
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
28
+
29
+ import React from "react";
18
30
  import file from "nsc-file";
19
31
  import Modal from "../modal";
20
32
  var previewDocument = file.previewDocument;
21
33
  import Image from "../image";
22
- var PdfViewer = /*#__PURE__*/forwardRef(function (_ref, refparams) {
23
- var children = _ref.children,
24
- fileId = _ref.fileId,
25
- _ref$isImage = _ref.isImage,
26
- isImage = _ref$isImage === void 0 ? false : _ref$isImage,
27
- _onClick = _ref.onClick,
28
- _ref$autoShow = _ref.autoShow,
29
- autoShow = _ref$autoShow === void 0 ? true : _ref$autoShow;
30
-
31
- var _useState = useState(""),
32
- _useState2 = _slicedToArray(_useState, 2),
33
- fileUrl = _useState2[0],
34
- setFileUrl = _useState2[1];
35
-
36
- var modelRef = useRef(null);
37
- useEffect(function () {
38
- fileId && !isImage && getFile();
39
- }, [fileId]);
40
-
41
- var getFile = /*#__PURE__*/function () {
42
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
43
- var res, url;
44
- return regeneratorRuntime.wrap(function _callee$(_context) {
45
- while (1) {
46
- switch (_context.prev = _context.next) {
47
- case 0:
48
- _context.next = 2;
49
- return previewDocument(fileId, {
50
- responseType: "blob"
51
- });
52
-
53
- case 2:
54
- res = _context.sent;
55
- url = window.URL.createObjectURL(new Blob([res], {
56
- type: "application/pdf;charset=utf-8"
57
- }));
58
- setFileUrl(url);
59
-
60
- case 5:
61
- case "end":
62
- return _context.stop();
63
- }
34
+
35
+ var PdfViewer = /*#__PURE__*/function (_React$PureComponent) {
36
+ _inherits(PdfViewer, _React$PureComponent);
37
+
38
+ var _super = _createSuper(PdfViewer);
39
+
40
+ function PdfViewer(props) {
41
+ var _this;
42
+
43
+ _classCallCheck(this, PdfViewer);
44
+
45
+ _this = _super.call(this, props);
46
+
47
+ _defineProperty(_assertThisInitialized(_this), "modelRef", /*#__PURE__*/React.createRef());
48
+
49
+ _defineProperty(_assertThisInitialized(_this), "show", function (params) {
50
+ if (params) {
51
+ var _params$isImage = params.isImage,
52
+ isImage = _params$isImage === void 0 ? false : _params$isImage,
53
+ id = params.fileId;
54
+
55
+ if (isImage) {
56
+ _this.setState({
57
+ fileId: id,
58
+ imageState: true
59
+ }, function () {
60
+ var _this$modelRef$curren;
61
+
62
+ (_this$modelRef$curren = _this.modelRef.current) === null || _this$modelRef$curren === void 0 ? void 0 : _this$modelRef$curren.show();
63
+ });
64
+ } else {
65
+ _this.getFile(id, true);
64
66
  }
65
- }, _callee);
66
- }));
67
+ } else {
68
+ _this.showFile();
69
+ }
70
+ });
71
+
72
+ _defineProperty(_assertThisInitialized(_this), "getFile", /*#__PURE__*/function () {
73
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(id, auto) {
74
+ var res, url;
75
+ return regeneratorRuntime.wrap(function _callee$(_context) {
76
+ while (1) {
77
+ switch (_context.prev = _context.next) {
78
+ case 0:
79
+ _context.next = 2;
80
+ return previewDocument(id, {
81
+ responseType: "blob"
82
+ });
83
+
84
+ case 2:
85
+ res = _context.sent;
86
+ url = window.URL.createObjectURL(new Blob([res], {
87
+ type: "application/pdf;charset=utf-8"
88
+ }));
89
+
90
+ _this.setState({
91
+ fileUrl: url
92
+ });
93
+
94
+ auto && window.open(url, "_blank");
95
+
96
+ case 6:
97
+ case "end":
98
+ return _context.stop();
99
+ }
100
+ }
101
+ }, _callee);
102
+ }));
67
103
 
68
- return function getFile() {
69
- return _ref2.apply(this, arguments);
70
- };
71
- }();
104
+ return function (_x, _x2) {
105
+ return _ref.apply(this, arguments);
106
+ };
107
+ }());
72
108
 
73
- useImperativeHandle(refparams, function () {
74
- return {
75
- show: function show(params) {
76
- showFile();
109
+ _defineProperty(_assertThisInitialized(_this), "showFile", function () {
110
+ var _this$props$isImage = _this.props.isImage,
111
+ isImage = _this$props$isImage === void 0 ? false : _this$props$isImage;
112
+
113
+ if (isImage) {
114
+ var _this$modelRef$curren2;
115
+
116
+ (_this$modelRef$curren2 = _this.modelRef.current) === null || _this$modelRef$curren2 === void 0 ? void 0 : _this$modelRef$curren2.show();
117
+ } else {
118
+ window.open(_this.state.fileUrl, "_blank");
77
119
  }
78
- };
79
- });
120
+ });
80
121
 
81
- var showFile = function showFile() {
82
- if (isImage) {
83
- modelRef.current.show();
84
- } else {
85
- window.open(fileUrl, "_blank");
122
+ _this.state = {
123
+ fileUrl: "",
124
+ fileId: props.fileId,
125
+ imageState: props.isImage
126
+ };
127
+ return _this;
128
+ }
129
+
130
+ _createClass(PdfViewer, [{
131
+ key: "componentDidMount",
132
+ value: function componentDidMount() {
133
+ var _this$props = this.props,
134
+ fileId = _this$props.fileId,
135
+ isImage = _this$props.isImage;
136
+ fileId && !isImage && this.getFile(fileId);
86
137
  }
87
- };
88
-
89
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
90
- onClick: function onClick() {
91
- _onClick && _onClick();
92
- autoShow && showFile();
138
+ }, {
139
+ key: "componentDidUpdate",
140
+ value: function componentDidUpdate(preProps) {
141
+ if (preProps.fileId !== this.props.fileId) {
142
+ var _this$props2 = this.props,
143
+ fileId = _this$props2.fileId,
144
+ isImage = _this$props2.isImage;
145
+ fileId && !isImage && this.getFile(fileId);
146
+ this.setState({
147
+ fileId: this.props.fileId
148
+ });
149
+ }
93
150
  }
94
- }, children), isImage && /*#__PURE__*/React.createElement(Modal, {
95
- ref: modelRef,
96
- height: 300,
97
- footer: null
98
- }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Image, {
99
- fileId: fileId,
100
- preview: false
101
- }))));
102
- });
151
+ }, {
152
+ key: "render",
153
+ value: function render() {
154
+ var _this2 = this;
155
+
156
+ var _this$props3 = this.props,
157
+ children = _this$props3.children,
158
+ fileId = _this$props3.fileId,
159
+ _this$props3$isImage = _this$props3.isImage,
160
+ isImage = _this$props3$isImage === void 0 ? false : _this$props3$isImage,
161
+ _onClick = _this$props3.onClick,
162
+ _this$props3$autoShow = _this$props3.autoShow,
163
+ autoShow = _this$props3$autoShow === void 0 ? true : _this$props3$autoShow;
164
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
165
+ onClick: function onClick() {
166
+ _onClick && _onClick();
167
+ autoShow && _this2.showFile();
168
+ }
169
+ }, children), this.state.imageState && /*#__PURE__*/React.createElement(Modal, {
170
+ ref: this.modelRef,
171
+ height: 300,
172
+ footer: null
173
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Image, {
174
+ fileId: this.state.fileId,
175
+ preview: false
176
+ }))));
177
+ }
178
+ }]);
179
+
180
+ return PdfViewer;
181
+ }(React.PureComponent);
182
+
103
183
  export default PdfViewer;
104
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvcGRmdml3ZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiZm9yd2FyZFJlZiIsInVzZUVmZmVjdCIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImZpbGUiLCJNb2RhbCIsInByZXZpZXdEb2N1bWVudCIsIkltYWdlIiwiUGRmVmlld2VyIiwicmVmcGFyYW1zIiwiY2hpbGRyZW4iLCJmaWxlSWQiLCJpc0ltYWdlIiwib25DbGljayIsImF1dG9TaG93IiwiZmlsZVVybCIsInNldEZpbGVVcmwiLCJtb2RlbFJlZiIsImdldEZpbGUiLCJyZXNwb25zZVR5cGUiLCJyZXMiLCJ1cmwiLCJ3aW5kb3ciLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJCbG9iIiwidHlwZSIsInNob3ciLCJwYXJhbXMiLCJzaG93RmlsZSIsImN1cnJlbnQiLCJvcGVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUNFQyxVQURGLEVBRUVDLFNBRkYsRUFHRUMsbUJBSEYsRUFJRUMsTUFKRixFQUtFQyxRQUxGLFFBTU8sT0FOUDtBQU9BLE9BQU9DLElBQVAsTUFBaUIsVUFBakI7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLFVBQWxCO0FBQ0EsSUFBUUMsZUFBUixHQUE0QkYsSUFBNUIsQ0FBUUUsZUFBUjtBQUNBLE9BQU9DLEtBQVAsTUFBa0IsVUFBbEI7QUFRQSxJQUFNQyxTQUFTLGdCQUFHVCxVQUFVLENBQzFCLGdCQUVFVSxTQUZGLEVBR0s7QUFBQSxNQUZEQyxRQUVDLFFBRkRBLFFBRUM7QUFBQSxNQUZTQyxNQUVULFFBRlNBLE1BRVQ7QUFBQSwwQkFGaUJDLE9BRWpCO0FBQUEsTUFGaUJBLE9BRWpCLDZCQUYyQixLQUUzQjtBQUFBLE1BRmtDQyxRQUVsQyxRQUZrQ0EsT0FFbEM7QUFBQSwyQkFGMkNDLFFBRTNDO0FBQUEsTUFGMkNBLFFBRTNDLDhCQUZzRCxJQUV0RDs7QUFDSCxrQkFBOEJYLFFBQVEsQ0FBQyxFQUFELENBQXRDO0FBQUE7QUFBQSxNQUFPWSxPQUFQO0FBQUEsTUFBZ0JDLFVBQWhCOztBQUNBLE1BQU1DLFFBQVEsR0FBR2YsTUFBTSxDQUFDLElBQUQsQ0FBdkI7QUFDQUYsRUFBQUEsU0FBUyxDQUFDLFlBQU07QUFDZFcsSUFBQUEsTUFBTSxJQUFJLENBQUNDLE9BQVgsSUFBc0JNLE9BQU8sRUFBN0I7QUFDRCxHQUZRLEVBRU4sQ0FBQ1AsTUFBRCxDQUZNLENBQVQ7O0FBSUEsTUFBTU8sT0FBTztBQUFBLHdFQUFHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEscUJBQ0laLGVBQWUsQ0FBQ0ssTUFBRCxFQUFTO0FBQ3hDUSxnQkFBQUEsWUFBWSxFQUFFO0FBRDBCLGVBQVQsQ0FEbkI7O0FBQUE7QUFDUkMsY0FBQUEsR0FEUTtBQUlWQyxjQUFBQSxHQUpVLEdBSUpDLE1BQU0sQ0FBQ0MsR0FBUCxDQUFXQyxlQUFYLENBQ1IsSUFBSUMsSUFBSixDQUFTLENBQUNMLEdBQUQsQ0FBVCxFQUFnQjtBQUNkTSxnQkFBQUEsSUFBSSxFQUFFO0FBRFEsZUFBaEIsQ0FEUSxDQUpJO0FBU2RWLGNBQUFBLFVBQVUsQ0FBQ0ssR0FBRCxDQUFWOztBQVRjO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEtBQUg7O0FBQUEsb0JBQVBILE9BQU87QUFBQTtBQUFBO0FBQUEsS0FBYjs7QUFXQWpCLEVBQUFBLG1CQUFtQixDQUFDUSxTQUFELEVBQVk7QUFBQSxXQUFPO0FBQ3BDa0IsTUFBQUEsSUFBSSxFQUFFLGNBQUNDLE1BQUQsRUFBWTtBQUNoQkMsUUFBQUEsUUFBUTtBQUNUO0FBSG1DLEtBQVA7QUFBQSxHQUFaLENBQW5COztBQU1BLE1BQU1BLFFBQVEsR0FBRyxTQUFYQSxRQUFXLEdBQU07QUFDckIsUUFBSWpCLE9BQUosRUFBYTtBQUNYSyxNQUFBQSxRQUFRLENBQUNhLE9BQVQsQ0FBaUJILElBQWpCO0FBQ0QsS0FGRCxNQUVPO0FBQ0xMLE1BQUFBLE1BQU0sQ0FBQ1MsSUFBUCxDQUFZaEIsT0FBWixFQUFxQixRQUFyQjtBQUNEO0FBQ0YsR0FORDs7QUFRQSxzQkFDRSx1REFDRTtBQUNFLElBQUEsT0FBTyxFQUFFLG1CQUFNO0FBQ2JGLE1BQUFBLFFBQU8sSUFBSUEsUUFBTyxFQUFsQjtBQUNBQyxNQUFBQSxRQUFRLElBQUllLFFBQVEsRUFBcEI7QUFDRDtBQUpILEtBTUduQixRQU5ILENBREYsRUFTR0UsT0FBTyxpQkFDTixvQkFBQyxLQUFEO0FBQU8sSUFBQSxHQUFHLEVBQUVLLFFBQVo7QUFBc0IsSUFBQSxNQUFNLEVBQUUsR0FBOUI7QUFBbUMsSUFBQSxNQUFNLEVBQUU7QUFBM0Msa0JBQ0UsOENBQ0Usb0JBQUMsS0FBRDtBQUFPLElBQUEsTUFBTSxFQUFFTixNQUFmO0FBQXVCLElBQUEsT0FBTyxFQUFFO0FBQWhDLElBREYsQ0FERixDQVZKLENBREY7QUFtQkQsQ0F2RHlCLENBQTVCO0FBeURBLGVBQWVILFNBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHtcclxuICBmb3J3YXJkUmVmLFxyXG4gIHVzZUVmZmVjdCxcclxuICB1c2VJbXBlcmF0aXZlSGFuZGxlLFxyXG4gIHVzZVJlZixcclxuICB1c2VTdGF0ZSxcclxufSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuY29uc3QgeyBwcmV2aWV3RG9jdW1lbnQgfSA9IGZpbGU7XHJcbmltcG9ydCBJbWFnZSBmcm9tIFwiLi4vaW1hZ2VcIjtcclxuaW50ZXJmYWNlIFBkZlByb3BzIHtcclxuICBmaWxlSWQ6IHN0cmluZztcclxuICBjaGlsZHJlbj86IGFueTtcclxuICBpc0ltYWdlPzogYm9vbGVhbjtcclxuICBvbkNsaWNrPzogYW55O1xyXG4gIGF1dG9TaG93PzogYW55O1xyXG59XHJcbmNvbnN0IFBkZlZpZXdlciA9IGZvcndhcmRSZWYoXHJcbiAgKFxyXG4gICAgeyBjaGlsZHJlbiwgZmlsZUlkLCBpc0ltYWdlID0gZmFsc2UsIG9uQ2xpY2ssIGF1dG9TaG93ID0gdHJ1ZSB9OiBQZGZQcm9wcyxcclxuICAgIHJlZnBhcmFtc1xyXG4gICkgPT4ge1xyXG4gICAgY29uc3QgW2ZpbGVVcmwsIHNldEZpbGVVcmxdID0gdXNlU3RhdGUoXCJcIik7XHJcbiAgICBjb25zdCBtb2RlbFJlZiA9IHVzZVJlZihudWxsKTtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgIGZpbGVJZCAmJiAhaXNJbWFnZSAmJiBnZXRGaWxlKCk7XHJcbiAgICB9LCBbZmlsZUlkXSk7XHJcblxyXG4gICAgY29uc3QgZ2V0RmlsZSA9IGFzeW5jICgpID0+IHtcclxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgcHJldmlld0RvY3VtZW50KGZpbGVJZCwge1xyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogXCJibG9iXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICBsZXQgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoXHJcbiAgICAgICAgbmV3IEJsb2IoW3Jlc10sIHtcclxuICAgICAgICAgIHR5cGU6IFwiYXBwbGljYXRpb24vcGRmO2NoYXJzZXQ9dXRmLThcIixcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICBzZXRGaWxlVXJsKHVybCk7XHJcbiAgICB9O1xyXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZShyZWZwYXJhbXMsICgpID0+ICh7XHJcbiAgICAgIHNob3c6IChwYXJhbXMpID0+IHtcclxuICAgICAgICBzaG93RmlsZSgpO1xyXG4gICAgICB9LFxyXG4gICAgfSkpO1xyXG5cclxuICAgIGNvbnN0IHNob3dGaWxlID0gKCkgPT4ge1xyXG4gICAgICBpZiAoaXNJbWFnZSkge1xyXG4gICAgICAgIG1vZGVsUmVmLmN1cnJlbnQuc2hvdygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKGZpbGVVcmwsIFwiX2JsYW5rXCIpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2soKTtcclxuICAgICAgICAgICAgYXV0b1Nob3cgJiYgc2hvd0ZpbGUoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIHtpc0ltYWdlICYmIChcclxuICAgICAgICAgIDxNb2RhbCByZWY9e21vZGVsUmVmfSBoZWlnaHQ9ezMwMH0gZm9vdGVyPXtudWxsfT5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8SW1hZ2UgZmlsZUlkPXtmaWxlSWR9IHByZXZpZXc9e2ZhbHNlfSAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC8+XHJcbiAgICApO1xyXG4gIH1cclxuKTtcclxuZXhwb3J0IGRlZmF1bHQgUGRmVmlld2VyO1xyXG4iXX0=
184
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvcGRmdml3ZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiZmlsZSIsIk1vZGFsIiwicHJldmlld0RvY3VtZW50IiwiSW1hZ2UiLCJQZGZWaWV3ZXIiLCJwcm9wcyIsImNyZWF0ZVJlZiIsInBhcmFtcyIsImlzSW1hZ2UiLCJpZCIsImZpbGVJZCIsInNldFN0YXRlIiwiaW1hZ2VTdGF0ZSIsIm1vZGVsUmVmIiwiY3VycmVudCIsInNob3ciLCJnZXRGaWxlIiwic2hvd0ZpbGUiLCJhdXRvIiwicmVzcG9uc2VUeXBlIiwicmVzIiwidXJsIiwid2luZG93IiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiQmxvYiIsInR5cGUiLCJmaWxlVXJsIiwib3BlbiIsInN0YXRlIiwicHJlUHJvcHMiLCJjaGlsZHJlbiIsIm9uQ2xpY2siLCJhdXRvU2hvdyIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLE1BTU8sT0FOUDtBQU9BLE9BQU9DLElBQVAsTUFBaUIsVUFBakI7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLFVBQWxCO0FBQ0EsSUFBUUMsZUFBUixHQUE0QkYsSUFBNUIsQ0FBUUUsZUFBUjtBQUNBLE9BQU9DLEtBQVAsTUFBa0IsVUFBbEI7O0lBUU1DLFM7Ozs7O0FBRUoscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsOEJBQU1BLEtBQU47O0FBRGlCLDRFQURSTixLQUFLLENBQUNPLFNBQU4sRUFDUTs7QUFBQSwyREF1QlosVUFBQ0MsTUFBRCxFQUFtRDtBQUN4RCxVQUFJQSxNQUFKLEVBQVk7QUFDViw4QkFBd0NBLE1BQXhDLENBQVFDLE9BQVI7QUFBQSxZQUFRQSxPQUFSLGdDQUFrQixLQUFsQjtBQUFBLFlBQWlDQyxFQUFqQyxHQUF3Q0YsTUFBeEMsQ0FBeUJHLE1BQXpCOztBQUNBLFlBQUlGLE9BQUos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O0FBQUEsVUFJRXdCLFFBSkYsZ0JBSUVBLE9BSkY7QUFBQSwrQ0FLRUMsUUFMRjtBQUFBLFVBS0VBLFFBTEYsc0NBS2EsSUFMYjtBQU9BLDBCQUNFLHVEQUNFO0FBQ0UsUUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYkQsVUFBQUEsUUFBTyxJQUFJQSxRQUFPLEVBQWxCO0FBQ0FDLFVBQUFBLFFBQVEsSUFBSSxNQUFJLENBQUNoQixRQUFMLEVBQVo7QUFDRDtBQUpILFNBTUdjLFFBTkgsQ0FERixFQVNHLEtBQUtGLEtBQUwsQ0FBV2pCLFVBQVgsaUJBQ0Msb0JBQUMsS0FBRDtBQUFPLFFBQUEsR0FBRyxFQUFFLEtBQUtDLFFBQWpCO0FBQTJCLFFBQUEsTUFBTSxFQUFFLEdBQW5DO0FBQXdDLFFBQUEsTUFBTSxFQUFFO0FBQWhELHNCQUNFLDhDQUNFLG9CQUFDLEtBQUQ7QUFBTyxRQUFBLE1BQU0sRUFBRSxLQUFLZ0IsS0FBTCxDQUFXbkIsTUFBMUI7QUFBa0MsUUFBQSxPQUFPLEVBQUU7QUFBM0MsUUFERixDQURGLENBVkosQ0FERjtBQW1CRDs7OztFQTlGcUJYLEtBQUssQ0FBQ21DLGE7O0FBZ0c5QixlQUFlOUIsU0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xyXG4gIGZvcndhcmRSZWYsXHJcbiAgdXNlRWZmZWN0LFxyXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXHJcbiAgdXNlUmVmLFxyXG4gIHVzZVN0YXRlLFxyXG59IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi9tb2RhbFwiO1xyXG5jb25zdCB7IHByZXZpZXdEb2N1bWVudCB9ID0gZmlsZTtcclxuaW1wb3J0IEltYWdlIGZyb20gXCIuLi9pbWFnZVwiO1xyXG5pbnRlcmZhY2UgUGRmUHJvcHMge1xyXG4gIGZpbGVJZDogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogYW55O1xyXG4gIGlzSW1hZ2U/OiBib29sZWFuO1xyXG4gIG9uQ2xpY2s/OiBhbnk7XHJcbiAgYXV0b1Nob3c/OiBhbnk7XHJcbn1cclxuY2xhc3MgUGRmVmlld2VyIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxQZGZQcm9wcywgYW55PiB7XHJcbiAgbW9kZWxSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICBmaWxlVXJsOiBcIlwiLFxyXG4gICAgICBmaWxlSWQ6IHByb3BzLmZpbGVJZCxcclxuICAgICAgaW1hZ2VTdGF0ZTogcHJvcHMuaXNJbWFnZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBmaWxlSWQsIGlzSW1hZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBmaWxlSWQgJiYgIWlzSW1hZ2UgJiYgdGhpcy5nZXRGaWxlKGZpbGVJZCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMpIHtcclxuICAgIGlmIChwcmVQcm9wcy5maWxlSWQgIT09IHRoaXMucHJvcHMuZmlsZUlkKSB7XHJcbiAgICAgIGNvbnN0IHsgZmlsZUlkLCBpc0ltYWdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBmaWxlSWQgJiYgIWlzSW1hZ2UgJiYgdGhpcy5nZXRGaWxlKGZpbGVJZCk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGZpbGVJZDogdGhpcy5wcm9wcy5maWxlSWQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdyA9IChwYXJhbXM/OiB7IGZpbGVJZDogc3RyaW5nOyBpc0ltYWdlOiBib29sZWFuIH0pID0+IHtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgY29uc3QgeyBpc0ltYWdlID0gZmFsc2UsIGZpbGVJZDogaWQgfSA9IHBhcmFtcztcclxuICAgICAgaWYgKGlzSW1hZ2UpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmaWxlSWQ6IGlkLFxyXG4gICAgICAgICAgICBpbWFnZVN0YXRlOiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbFJlZi5jdXJyZW50Py5zaG93KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmdldEZpbGUoaWQsIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dGaWxlKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuICBnZXRGaWxlID0gYXN5bmMgKGlkLCBhdXRvPzogQm9vbGVhbikgPT4ge1xyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJldmlld0RvY3VtZW50KGlkLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogXCJibG9iXCIsXHJcbiAgICB9KTtcclxuICAgIGxldCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChcclxuICAgICAgbmV3IEJsb2IoW3Jlc10sIHtcclxuICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL3BkZjtjaGFyc2V0PXV0Zi04XCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVVcmw6IHVybCxcclxuICAgIH0pO1xyXG4gICAgYXV0byAmJiB3aW5kb3cub3Blbih1cmwsIFwiX2JsYW5rXCIpO1xyXG4gIH07XHJcbiAgc2hvd0ZpbGUgPSAoKSA9PiB7XHJcbiAgICBjb25zdCB7IGlzSW1hZ2UgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChpc0ltYWdlKSB7XHJcbiAgICAgIHRoaXMubW9kZWxSZWYuY3VycmVudD8uc2hvdygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgd2luZG93Lm9wZW4odGhpcy5zdGF0ZS5maWxlVXJsLCBcIl9ibGFua1wiKTtcclxuICAgIH1cclxuICB9O1xyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIGZpbGVJZCxcclxuICAgICAgaXNJbWFnZSA9IGZhbHNlLFxyXG4gICAgICBvbkNsaWNrLFxyXG4gICAgICBhdXRvU2hvdyA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2soKTtcclxuICAgICAgICAgICAgYXV0b1Nob3cgJiYgdGhpcy5zaG93RmlsZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge3RoaXMuc3RhdGUuaW1hZ2VTdGF0ZSAmJiAoXHJcbiAgICAgICAgICA8TW9kYWwgcmVmPXt0aGlzLm1vZGVsUmVmfSBoZWlnaHQ9ezMwMH0gZm9vdGVyPXtudWxsfT5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8SW1hZ2UgZmlsZUlkPXt0aGlzLnN0YXRlLmZpbGVJZH0gcHJldmlldz17ZmFsc2V9IC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgICApfVxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IFBkZlZpZXdlcjtcclxuIl19
@@ -13,6 +13,8 @@ interface ISelectProps extends SelectProps<any> {
13
13
  valueBreak?: string;
14
14
  valueType?: "string" | "number";
15
15
  [proName: string]: any;
16
+ onChange?: any;
17
+ onSelect?: any;
16
18
  }
17
19
  export default class NSCSelect extends PureComponent<ISelectProps> {
18
20
  static Option: import("rc-select/lib/Option").OptionFC;
@@ -30,6 +32,7 @@ export default class NSCSelect extends PureComponent<ISelectProps> {
30
32
  getData(): any[];
31
33
  getValue(): any;
32
34
  setValue(value: any): void;
35
+ getSelectData(value: any): any;
33
36
  componentDidMount(): void;
34
37
  componentDidUpdate(newProps: any, newState: any, Snapshot: any): void;
35
38
  componentWillUnmount(): void;
@@ -37,6 +40,7 @@ export default class NSCSelect extends PureComponent<ISelectProps> {
37
40
  renderOption(optionData: any): any;
38
41
  renderChildren(): JSX.Element;
39
42
  onChange(value: any, options: any): void;
43
+ onSelect(value: any, options: any): void;
40
44
  onDropdownVisibleChange(open: any): void;
41
45
  render(): JSX.Element;
42
46
  }
@@ -3,7 +3,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
3
3
  import "antd/es/select/style/css";
4
4
  import _Select from "antd/es/select";
5
5
  var _excluded = ["url", "listeners", "viewname", "cached", "cacheKey", "viewtype"],
6
- _excluded2 = ["children", "store", "data", "onChange", "options", "labelField", "valueField", "defaultStyle", "showGroup", "addData", "deleteData", "valueType"];
6
+ _excluded2 = ["children", "store", "data", "onChange", "onSelect", "options", "labelField", "valueField", "defaultStyle", "showGroup", "addData", "deleteData", "valueType"];
7
7
 
8
8
  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); }
9
9
 
@@ -56,6 +56,7 @@ import config from "../../config";
56
56
  import styles from "./index.less";
57
57
  import cls from "classnames";
58
58
  import PinyinMatch from "pinyin-match";
59
+ import { getFlattenData } from "@bj-nsc/functions";
59
60
  var Option = _Select.Option,
60
61
  OptGroup = _Select.OptGroup;
61
62
 
@@ -237,13 +238,28 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
237
238
  selectValue: value
238
239
  });
239
240
  }
241
+ }, {
242
+ key: "getSelectData",
243
+ value: function getSelectData(value) {
244
+ var dataSource = this.state.dataSource;
245
+ var _this$props = this.props,
246
+ _this$props$store = _this$props.store,
247
+ store = _this$props$store === void 0 ? {} : _this$props$store,
248
+ valueField = _this$props.valueField;
249
+ var viewname = store.viewname;
250
+ valueField = valueField ? valueField : viewname ? "dictKey" : "value";
251
+ var newData = getFlattenData(dataSource, {
252
+ keyField: valueField
253
+ });
254
+ return newData[value] || {};
255
+ }
240
256
  }, {
241
257
  key: "componentDidMount",
242
258
  value: function componentDidMount() {
243
- var _this$props = this.props,
244
- data = _this$props.data,
245
- options = _this$props.options,
246
- children = _this$props.children;
259
+ var _this$props2 = this.props,
260
+ data = _this$props2.data,
261
+ options = _this$props2.options,
262
+ children = _this$props2.children;
247
263
 
248
264
  if (!children && (data || options)) {
249
265
  this.setState({
@@ -260,10 +276,10 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
260
276
  }, {
261
277
  key: "componentDidUpdate",
262
278
  value: function componentDidUpdate(newProps, newState, Snapshot) {
263
- var _this$props2 = this.props,
264
- data = _this$props2.data,
265
- options = _this$props2.options,
266
- children = _this$props2.children;
279
+ var _this$props3 = this.props,
280
+ data = _this$props3.data,
281
+ options = _this$props3.options,
282
+ children = _this$props3.children;
267
283
  var _this$state2 = this.state,
268
284
  allDataSource = _this$state2.allDataSource,
269
285
  allChildren = _this$state2.allChildren;
@@ -308,13 +324,13 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
308
324
  var _this$state3 = this.state,
309
325
  allDataSource = _this$state3.allDataSource,
310
326
  allChildren = _this$state3.allChildren;
311
- var _this$props3 = this.props,
312
- _this$props3$filterOp = _this$props3.filterOption,
313
- filterOption = _this$props3$filterOp === void 0 ? true : _this$props3$filterOp,
314
- onSearch = _this$props3.onSearch,
315
- children = _this$props3.children,
316
- _this$props3$store = _this$props3.store,
317
- store = _this$props3$store === void 0 ? {} : _this$props3$store;
327
+ var _this$props4 = this.props,
328
+ _this$props4$filterOp = _this$props4.filterOption,
329
+ filterOption = _this$props4$filterOp === void 0 ? true : _this$props4$filterOp,
330
+ onSearch = _this$props4.onSearch,
331
+ children = _this$props4.children,
332
+ _this$props4$store = _this$props4.store,
333
+ store = _this$props4$store === void 0 ? {} : _this$props4$store;
318
334
  var labelField = this.props.labelField;
319
335
  var viewname = store.viewname;
320
336
  labelField = labelField ? labelField : viewname ? "dictValue" : "label";
@@ -381,13 +397,13 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
381
397
  }, {
382
398
  key: "renderOption",
383
399
  value: function renderOption(optionData) {
384
- var _this$props4 = this.props,
385
- _this$props4$store = _this$props4.store,
386
- store = _this$props4$store === void 0 ? {} : _this$props4$store,
387
- _this$props4$valueTyp = _this$props4.valueType,
388
- valueType = _this$props4$valueTyp === void 0 ? "string" : _this$props4$valueTyp,
389
- labelField = _this$props4.labelField,
390
- valueField = _this$props4.valueField;
400
+ var _this$props5 = this.props,
401
+ _this$props5$store = _this$props5.store,
402
+ store = _this$props5$store === void 0 ? {} : _this$props5$store,
403
+ _this$props5$valueTyp = _this$props5.valueType,
404
+ valueType = _this$props5$valueTyp === void 0 ? "string" : _this$props5$valueTyp,
405
+ labelField = _this$props5.labelField,
406
+ valueField = _this$props5.valueField;
391
407
  var viewname = store.viewname;
392
408
  valueField = valueField ? valueField : viewname ? "dictKey" : "value";
393
409
  labelField = labelField ? labelField : viewname ? "dictValue" : "label";
@@ -468,7 +484,18 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
468
484
  });
469
485
 
470
486
  if (onChange) {
471
- onChange(value, options);
487
+ var data = this.getSelectData(value);
488
+ onChange(value, options, data);
489
+ }
490
+ }
491
+ }, {
492
+ key: "onSelect",
493
+ value: function onSelect(value, options) {
494
+ var onSelect = this.props.onSelect;
495
+
496
+ if (onSelect) {
497
+ var data = this.getSelectData(value);
498
+ onSelect(value, options, data);
472
499
  }
473
500
  }
474
501
  }, {
@@ -481,21 +508,22 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
481
508
  }, {
482
509
  key: "render",
483
510
  value: function render() {
484
- var _this$props5 = this.props,
485
- children = _this$props5.children,
486
- store = _this$props5.store,
487
- data = _this$props5.data,
488
- onChange = _this$props5.onChange,
489
- options = _this$props5.options,
490
- labelField = _this$props5.labelField,
491
- valueField = _this$props5.valueField,
492
- defaultStyle = _this$props5.defaultStyle,
493
- _this$props5$showGrou = _this$props5.showGroup,
494
- showGroup = _this$props5$showGrou === void 0 ? true : _this$props5$showGrou,
495
- addData = _this$props5.addData,
496
- deleteData = _this$props5.deleteData,
497
- valueType = _this$props5.valueType,
498
- params = _objectWithoutProperties(_this$props5, _excluded2);
511
+ var _this$props6 = this.props,
512
+ children = _this$props6.children,
513
+ store = _this$props6.store,
514
+ data = _this$props6.data,
515
+ onChange = _this$props6.onChange,
516
+ onSelect = _this$props6.onSelect,
517
+ options = _this$props6.options,
518
+ labelField = _this$props6.labelField,
519
+ valueField = _this$props6.valueField,
520
+ defaultStyle = _this$props6.defaultStyle,
521
+ _this$props6$showGrou = _this$props6.showGroup,
522
+ showGroup = _this$props6$showGrou === void 0 ? true : _this$props6$showGrou,
523
+ addData = _this$props6.addData,
524
+ deleteData = _this$props6.deleteData,
525
+ valueType = _this$props6.valueType,
526
+ params = _objectWithoutProperties(_this$props6, _excluded2);
499
527
 
500
528
  var props = {
501
529
  filterOption: false,
@@ -524,6 +552,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
524
552
  value: this.state.selectValue,
525
553
  onChange: this.onChange.bind(this),
526
554
  onSearch: this.onSearch.bind(this),
555
+ onSelect: this.onSelect.bind(this),
527
556
  onDropdownVisibleChange: this.onDropdownVisibleChange.bind(this)
528
557
  }, props, params), this.renderChildren()));
529
558
  } else {
@@ -531,6 +560,7 @@ var NSCSelect = /*#__PURE__*/function (_PureComponent) {
531
560
  value: this.state.selectValue,
532
561
  onSearch: this.onSearch.bind(this),
533
562
  onChange: this.onChange.bind(this),
563
+ onSelect: this.onSelect.bind(this),
534
564
  onDropdownVisibleChange: this.onDropdownVisibleChange.bind(this)
535
565
  }, props, params), this.renderChildren());
536
566
  }
@@ -545,4 +575,4 @@ _defineProperty(NSCSelect, "Option", Option);
545
575
  _defineProperty(NSCSelect, "OptGroup", OptGroup);
546
576
 
547
577
  export { NSCSelect as default };
548
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2Uvc2VsZWN0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJPcHRpb24iLCJPcHRHcm91cCIsIk5TQ1NlbGVjdCIsInByb3BzIiwiZGF0YVNvdXJjZSIsInNlbGVjdFZhbHVlIiwiYWxsRGF0YVNvdXJjZSIsImNoaWxkcmVuIiwiYWxsQ2hpbGRyZW4iLCJkYXRhIiwic3RvcmUiLCJvcHRpb25zIiwiYWRkRGF0YSIsImRlbGV0ZURhdGEiLCJ1cmwiLCJsaXN0ZW5lcnMiLCJsaXN0ZW5lcnNQb3BzIiwidmlld25hbWUiLCJjYWNoZWQiLCJjYWNoZUtleSIsInZpZXd0eXBlIiwic3RvcmVzIiwidmFsdWVGaWVsZCIsInZpZXdVcmwiLCJ2aWV3Qml6VXJsIiwicmVxdWVzdFZpZXdVcmwiLCJnZXRBbGxEYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwibmV3RGF0YSIsImxlbmd0aCIsInNwbGljZURhdGEiLCJ2YWx1ZUZpZWxkcyIsInNwbGl0IiwibWFwIiwiaXRlbSIsImkiLCJ2YWx1ZSIsInYiLCJpbmRleCIsImluZGV4T2YiLCJwdXNoIiwiRXJyb3IiLCJfdGhpcyIsInN0b3JlUHJvcHMiLCJtb2RlbCIsImNvbXBvbmVudCIsIm9uQmVmb3JlTG9hZCIsImNhbGxiYWNrIiwibG9hZCIsIm1vZGVsRGF0YSIsInNldFN0YXRlIiwiZGF0YUNoYW5nZWQiLCJpc0NhY2hlZCIsImlzQ2FjaGVLZXkiLCJhdXRvTG9hZCIsInN0YXRlIiwibmV3UHJvcHMiLCJuZXdTdGF0ZSIsIlNuYXBzaG90IiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXRlQ2hpbGRyZW5Qcm9wcyIsInMiLCJjaGlsZHJlblByb3BzIiwiYyIsImZpbHRlck9wdGlvbiIsIm9uU2VhcmNoIiwibGFiZWxGaWVsZCIsInJlc3VsdCIsImZvckVhY2giLCJsYWJlbCIsImxhYmVsRmllbGRzIiwibCIsImZsYWciLCJtYXRjaCIsImNoaWxkIiwib3B0aW9uRGF0YSIsInZhbHVlVHlwZSIsIk51bWJlciIsImtleSIsImlkIiwiZGlzYWJsZWQiLCJzaG93R3JvdXAiLCJvcHRHcm91cERhdGEiLCJncm91cE5hbWUiLCJvcHRpb24iLCJyZW5kZXJPcHRpb24iLCJvcHRHcm91cCIsIk9iamVjdCIsImtleXMiLCJvbkNoYW5nZSIsIm9wZW4iLCJyZXNldERhdGEiLCJkZWZhdWx0U3R5bGUiLCJwYXJhbXMiLCJzaG93U2VhcmNoIiwib3B0aW9uRmlsdGVyUHJvcCIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsImFudGRTdHlsZSIsIm1vdW50RWxlbWVudElkIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiY2xhc3NOYW1lIiwiYmluZCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwicmVuZGVyQ2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLGFBQWhCLFFBQXFDLE9BQXJDO0FBRUEsT0FBT0MsS0FBUCxNQUFrQyxhQUFsQztBQUNBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBRUEsT0FBT0MsV0FBUCxNQUF3QixjQUF4QjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBZXFCQyxTOzs7OztBQVduQixxQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNkRBUlg7QUFDTkMsTUFBQUEsVUFBVSxFQUFFLEVBRE47QUFF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dUJBQUwsQ0FBNkJELElBQTdCLENBQWtDLElBQWxDO0FBSjNCLFdBS012RyxLQUxOLEVBTU00RixNQU5OLEdBUUcsS0FBS2EsY0FBTCxFQVJILENBREYsQ0FERjtBQWNELE9BZkQsTUFlTztBQUNMLDRCQUNFO0FBQ0UsVUFBQSxLQUFLLEVBQUUsS0FBS3BELEtBQUwsQ0FBV25ELFdBRHBCO0FBRUUsVUFBQSxRQUFRLEVBQUUsS0FBSzhELFFBQUwsQ0FBY3VDLElBQWQsQ0FBbUIsSUFBbkIsQ0FGWjtBQUdFLFVBQUEsUUFBUSxFQUFFLEtBQUtmLFFBQUwsQ0FBY2UsSUFBZCxDQUFtQixJQUFuQixDQUhaO0FBSUUsVUFBQSx1QkFBdUIsRUFBRSxLQUFLQyx1QkFBTCxDQUE2QkQsSUFBN0IsQ0FBa0MsSUFBbEM7QUFKM0IsV0FLTXZHLEtBTE4sRUFNTTRGLE1BTk4sR0FTRyxLQUFLYSxjQUFMLEVBVEgsQ0FERjtBQWFEO0FBQ0Y7Ozs7RUF6WW9DbkgsYTs7Z0JBQWxCUyxTLFlBQ0hGLE07O2dCQURHRSxTLGNBRURELFE7O1NBRkNDLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBTZWxlY3QsIFNlbGVjdFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgUGlueWluTWF0Y2ggZnJvbSBcInBpbnlpbi1tYXRjaFwiO1xyXG5jb25zdCB7IE9wdGlvbiwgT3B0R3JvdXAgfSA9IFNlbGVjdDtcclxuXHJcbmludGVyZmFjZSBJU2VsZWN0UHJvcHMgZXh0ZW5kcyBTZWxlY3RQcm9wczxhbnk+IHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGRlZmF1bHRTdHlsZT86IGJvb2xlYW47XHJcbiAgc2hvd0dyb3VwPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrliIbnu4RcclxuICBhZGREYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOS7juWinuWKoOmineWklueahOaVsOaNrlxyXG4gIGRlbGV0ZURhdGE/OiBBcnJheTxTdHJpbmc+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5Yig6Zmk5LuO5pWw5o2u5bqT5Lit6I635Y+W5Yiw55qE5oyH5a6a5pWw5o2uXHJcbiAgdmFsdWVCcmVhaz86IHN0cmluZzsgLy/lpJrkuKp2YWx1ZeS9v+eUqOeahOWIhumalOesplxyXG4gIHZhbHVlVHlwZT86IFwic3RyaW5nXCIgfCBcIm51bWJlclwiO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0UHJvcHM+IHtcclxuICBzdGF0aWMgT3B0aW9uID0gT3B0aW9uO1xyXG4gIHN0YXRpYyBPcHRHcm91cCA9IE9wdEdyb3VwO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBzZWxlY3RWYWx1ZTogbnVsbCxcclxuICAgIGFsbERhdGFTb3VyY2U6IFtdLFxyXG4gICAgY2hpbGRyZW46IG51bGwsXHJcbiAgICBhbGxDaGlsZHJlbjogbnVsbCxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHVybCxcclxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgIHZpZXduYW1lLFxyXG4gICAgICBjYWNoZWQsXHJcbiAgICAgIGNhY2hlS2V5LFxyXG4gICAgICB2aWV3dHlwZSA9IFwic3lzXCIsXHJcbiAgICAgIC4uLnN0b3Jlc1xyXG4gICAgfSA9IHN0b3JlO1xyXG4gICAgY29uc3QgdmFsdWVGaWVsZCA9IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBuZXdEYXRhID0gWy4uLmFkZERhdGEsIC4uLm5ld0RhdGFdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBsZXQgc3BsaWNlRGF0YSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICBuZXdEYXRhLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChkZWxldGVEYXRhLmluZGV4T2YodmFsdWUpID09IC0xKSB7XHJcbiAgICAgICAgICAgIHNwbGljZURhdGEucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gc3BsaWNlRGF0YTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB2aWV3bmFtZSB8fCB1cmwgfHwgb3B0aW9ucykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHjgIFvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUgPSAoc3RhdGUsIGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH07XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJPcHRpb24gPSB0cnVlLCBvblNlYXJjaCwgY2hpbGRyZW4sIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIHZhbHVlVHlwZSA9IFwic3RyaW5nXCIsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxhYmVsRmllbGQgPSBsYWJlbEZpZWxkID8gbGFiZWxGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPVxyXG4gICAgICAgICAgdmFsdWVUeXBlID09PSBcIm51bWJlclwiXHJcbiAgICAgICAgICAgID8gTnVtYmVyKGl0ZW1bdmFsdWVGaWVsZF0pXHJcbiAgICAgICAgICAgIDogaXRlbVt2YWx1ZUZpZWxkXSArIFwiXCI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlKG9wZW4pIHtcclxuICAgIGlmICghb3Blbikge1xyXG4gICAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdG9yZSxcclxuICAgICAgZGF0YSxcclxuICAgICAgb25DaGFuZ2UsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSxcclxuICAgICAgc2hvd0dyb3VwID0gdHJ1ZSxcclxuICAgICAgYWRkRGF0YSxcclxuICAgICAgZGVsZXRlRGF0YSxcclxuICAgICAgdmFsdWVUeXBlLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHByb3BzID0ge1xyXG4gICAgICBmaWx0ZXJPcHRpb246IGZhbHNlLFxyXG4gICAgICBzaG93U2VhcmNoOiB0cnVlLFxyXG4gICAgICBvcHRpb25GaWx0ZXJQcm9wOiBcImxhYmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqVwiLFxyXG4gICAgICBhbGxvd0NsZWFyOiB0cnVlLFxyXG4gICAgfSBhcyBhbnk7XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUsIG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICBnZXRQb3B1cENvbnRhaW5lcjogKCkgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobW91bnRFbGVtZW50SWQpLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19zZWxlY3RcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgLy8gZ2V0UG9wdXBDb250YWluZXI9eygpPT5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncWhzZS1hcHAnKX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7dGhpcy5yZW5kZXJDaGlsZHJlbigpfVxyXG4gICAgICAgIDwvU2VsZWN0PlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
578
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2Uvc2VsZWN0L2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJTdG9yZSIsInV0aWxzIiwiY29uZmlnIiwic3R5bGVzIiwiY2xzIiwiUGlueWluTWF0Y2giLCJnZXRGbGF0dGVuRGF0YSIsIk9wdGlvbiIsIk9wdEdyb3VwIiwiTlNDU2VsZWN0IiwicHJvcHMiLCJkYXRhU291cmNlIiwic2VsZWN0VmFsdWUiLCJhbGxEYXRhU291cmNlIiwiY2hpbGRyZW4iLCJhbGxDaGlsZHJlbiIsImRhdGEiLCJzdG9yZSIsIm9wdGlvbnMiLCJhZGREYXRhIiwiZGVsZXRlRGF0YSIsInVybCIsImxpc3RlbmVycyIsImxpc3RlbmVyc1BvcHMiLCJ2aWV3bmFtZSIsImNhY2hlZCIsImNhY2hlS2V5Iiwidmlld3R5cGUiLCJzdG9yZXMiLCJ2YWx1ZUZpZWxkIiwidmlld1VybCIsInZpZXdCaXpVcmwiLCJyZXF1ZXN0Vmlld1VybCIsImdldEFsbERhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwibGVuZ3RoIiwic3BsaWNlRGF0YSIsInZhbHVlRmllbGRzIiwic3BsaXQiLCJtYXAiLCJpdGVtIiwiaSIsInZhbHVlIiwidiIsImluZGV4IiwiaW5kZXhPZiIsInB1c2giLCJFcnJvciIsIl90aGlzIiwic3RvcmVQcm9wcyIsIm1vZGVsIiwiY29tcG9uZW50Iiwib25CZWZvcmVMb2FkIiwiY2FsbGJhY2siLCJsb2FkIiwibW9kZWxEYXRhIiwic2V0U3RhdGUiLCJkYXRhQ2hhbmdlZCIsImlzQ2FjaGVkIiwiaXNDYWNoZUtleSIsImF1dG9Mb2FkIiwic3RhdGUiLCJrZXlGaWVsZCIsIm5ld1Byb3BzIiwibmV3U3RhdGUiLCJTbmFwc2hvdCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdGF0ZUNoaWxkcmVuUHJvcHMiLCJzIiwiY2hpbGRyZW5Qcm9wcyIsImMiLCJmaWx0ZXJPcHRpb24iLCJvblNlYXJjaCIsImxhYmVsRmllbGQiLCJyZXN1bHQiLCJmb3JFYWNoIiwibGFiZWwiLCJsYWJlbEZpZWxkcyIsImwiLCJmbGFnIiwibWF0Y2giLCJjaGlsZCIsIm9wdGlvbkRhdGEiLCJ2YWx1ZVR5cGUiLCJOdW1iZXIiLCJrZXkiLCJpZCIsImRpc2FibGVkIiwic2hvd0dyb3VwIiwib3B0R3JvdXBEYXRhIiwiZ3JvdXBOYW1lIiwib3B0aW9uIiwicmVuZGVyT3B0aW9uIiwib3B0R3JvdXAiLCJPYmplY3QiLCJrZXlzIiwib25DaGFuZ2UiLCJnZXRTZWxlY3REYXRhIiwib25TZWxlY3QiLCJvcGVuIiwicmVzZXREYXRhIiwiZGVmYXVsdFN0eWxlIiwicGFyYW1zIiwic2hvd1NlYXJjaCIsIm9wdGlvbkZpbHRlclByb3AiLCJwbGFjZWhvbGRlciIsImFsbG93Q2xlYXIiLCJhbnRkU3R5bGUiLCJtb3VudEVsZW1lbnRJZCIsImdldFBvcHVwQ29udGFpbmVyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImNsYXNzTmFtZSIsImJpbmQiLCJvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSIsInJlbmRlckNoaWxkcmVuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUVBLE9BQU9DLEtBQVAsTUFBa0MsYUFBbEM7QUFDQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUVBLE9BQU9DLFdBQVAsTUFBd0IsY0FBeEI7QUFDQSxTQUFTQyxjQUFULFFBQStCLG1CQUEvQjtBQUNBLElBQVFDLE1BQVIsV0FBUUEsTUFBUjtBQUFBLElBQWdCQyxRQUFoQixXQUFnQkEsUUFBaEI7O0lBaUJxQkMsUzs7Ozs7QUFXbkIscUJBQVlD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QUwsQ0FBNkJELElBQTdCLENBQWtDLElBQWxDO0FBTDNCLFdBTU0xRyxLQU5OLEVBT00rRixNQVBOLEdBU0csS0FBS2EsY0FBTCxFQVRILENBREYsQ0FERjtBQWVELE9BaEJELE1BZ0JPO0FBQ0wsNEJBQ0U7QUFDRSxVQUFBLEtBQUssRUFBRSxLQUFLdkQsS0FBTCxDQUFXbkQsV0FEcEI7QUFFRSxVQUFBLFFBQVEsRUFBRSxLQUFLK0QsUUFBTCxDQUFjeUMsSUFBZCxDQUFtQixJQUFuQixDQUZaO0FBR0UsVUFBQSxRQUFRLEVBQUUsS0FBS2pCLFFBQUwsQ0FBY2lCLElBQWQsQ0FBbUIsSUFBbkIsQ0FIWjtBQUlFLFVBQUEsUUFBUSxFQUFFLEtBQUtmLFFBQUwsQ0FBY2UsSUFBZCxDQUFtQixJQUFuQixDQUpaO0FBS0UsVUFBQSx1QkFBdUIsRUFBRSxLQUFLQyx1QkFBTCxDQUE2QkQsSUFBN0IsQ0FBa0MsSUFBbEM7QUFMM0IsV0FNTTFHLEtBTk4sRUFPTStGLE1BUE4sR0FXRyxLQUFLYSxjQUFMLEVBWEgsQ0FERjtBQWVEO0FBQ0Y7Ozs7RUEvWm9DdkgsYTs7Z0JBQWxCVSxTLFlBQ0hGLE07O2dCQURHRSxTLGNBRURELFE7O1NBRkNDLFMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBTZWxlY3QsIFNlbGVjdFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZ1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgUGlueWluTWF0Y2ggZnJvbSBcInBpbnlpbi1tYXRjaFwiO1xyXG5pbXBvcnQgeyBnZXRGbGF0dGVuRGF0YSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5jb25zdCB7IE9wdGlvbiwgT3B0R3JvdXAgfSA9IFNlbGVjdDtcclxuXHJcbmludGVyZmFjZSBJU2VsZWN0UHJvcHMgZXh0ZW5kcyBTZWxlY3RQcm9wczxhbnk+IHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZGF0YT86IEFycmF5PE9iamVjdD47IC8v6buY6K6k5pWw5o2uXHJcbiAgbGFiZWxGaWVsZD86IHN0cmluZztcclxuICB2YWx1ZUZpZWxkPzogc3RyaW5nO1xyXG4gIGRlZmF1bHRTdHlsZT86IGJvb2xlYW47XHJcbiAgc2hvd0dyb3VwPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrliIbnu4RcclxuICBhZGREYXRhPzogQXJyYXk8T2JqZWN0PjsgLy/phY3lkIhzdG9yZeS9v+eUqO+8jOS7juWinuWKoOmineWklueahOaVsOaNrlxyXG4gIGRlbGV0ZURhdGE/OiBBcnJheTxTdHJpbmc+OyAvL+mFjeWQiHN0b3Jl5L2/55So77yM5Yig6Zmk5LuO5pWw5o2u5bqT5Lit6I635Y+W5Yiw55qE5oyH5a6a5pWw5o2uXHJcbiAgdmFsdWVCcmVhaz86IHN0cmluZzsgLy/lpJrkuKp2YWx1ZeS9v+eUqOeahOWIhumalOesplxyXG4gIHZhbHVlVHlwZT86IFwic3RyaW5nXCIgfCBcIm51bWJlclwiO1xyXG4gIFtwcm9OYW1lOiBzdHJpbmddOiBhbnk7XHJcbiAgb25DaGFuZ2U/OiBhbnk7XHJcbiAgb25TZWxlY3Q/OiBhbnk7XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTlNDU2VsZWN0IGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJU2VsZWN0UHJvcHM+IHtcclxuICBzdGF0aWMgT3B0aW9uID0gT3B0aW9uO1xyXG4gIHN0YXRpYyBPcHRHcm91cCA9IE9wdEdyb3VwO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICBzZWxlY3RWYWx1ZTogbnVsbCxcclxuICAgIGFsbERhdGFTb3VyY2U6IFtdLFxyXG4gICAgY2hpbGRyZW46IG51bGwsXHJcbiAgICBhbGxDaGlsZHJlbjogbnVsbCxcclxuICB9O1xyXG4gIHN0b3JlID0ge30gYXMgU3RvcmVQcm9wcztcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkYXRhLFxyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgb3B0aW9ucyxcclxuICAgICAgYWRkRGF0YSA9IFtdLFxyXG4gICAgICBkZWxldGVEYXRhID0gW10sXHJcbiAgICB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHVybCxcclxuICAgICAgbGlzdGVuZXJzOiBsaXN0ZW5lcnNQb3BzID0ge30sXHJcbiAgICAgIHZpZXduYW1lLFxyXG4gICAgICBjYWNoZWQsXHJcbiAgICAgIGNhY2hlS2V5LFxyXG4gICAgICB2aWV3dHlwZSA9IFwic3lzXCIsXHJcbiAgICAgIC4uLnN0b3Jlc1xyXG4gICAgfSA9IHN0b3JlO1xyXG4gICAgY29uc3QgdmFsdWVGaWVsZCA9IHZpZXduYW1lID8gXCJkaWN0S2V5XCIgOiBcInZhbHVlXCI7XHJcbiAgICBsZXQgeyB2aWV3VXJsLCB2aWV3Qml6VXJsIH0gPSBjb25maWcoKTtcclxuICAgIGxldCByZXF1ZXN0Vmlld1VybCA9IHZpZXd0eXBlID09IFwic3lzXCIgPyB2aWV3VXJsIDogdmlld0JpelVybDtcclxuICAgIGNvbnN0IGdldEFsbERhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZGF0YSkpIHtcclxuICAgICAgICByZXR1cm4gW107XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG5ld0RhdGEgPSBbLi4uZGF0YV07XHJcbiAgICAgIGlmIChhZGREYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBuZXdEYXRhID0gWy4uLmFkZERhdGEsIC4uLm5ld0RhdGFdO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChkZWxldGVEYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBsZXQgc3BsaWNlRGF0YSA9IFtdO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlRmllbGRzOiBhbnkgPSB2YWx1ZUZpZWxkLnNwbGl0KFwiLFwiKTtcclxuICAgICAgICBuZXdEYXRhLm1hcCgoaXRlbSwgaSkgPT4ge1xyXG4gICAgICAgICAgbGV0IHZhbHVlID0gXCJcIjtcclxuICAgICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdmFsdWUgPSBpbmRleCA9PSAwID8gdmFsdWUgKyBpdGVtW3ZdIDogdmFsdWUgKyBcIixcIiArIGl0ZW1bdl07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGlmIChkZWxldGVEYXRhLmluZGV4T2YodmFsdWUpID09IC0xKSB7XHJcbiAgICAgICAgICAgIHNwbGljZURhdGEucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gc3BsaWNlRGF0YTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGlmICghY2hpbGRyZW4pIHtcclxuICAgICAgaWYgKCEoZGF0YSB8fCB2aWV3bmFtZSB8fCB1cmwgfHwgb3B0aW9ucykpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzjgIF2aWV3bmFtZeOAgWRhdGHjgIFvcHRpb25z5LiN6IO96YO95Li656m677yBXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICAgIGxldCBzdG9yZVByb3BzID0ge1xyXG4gICAgICAgIG1vZGVsOiBcIm1vZGVsXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUG9wcy5vbkJlZm9yZUxvYWQsIF90aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmxvYWQsIF90aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VkOiBmdW5jdGlvbiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZ2V0QWxsRGF0YShkYXRhKTtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBkYXRhU291cmNlOiBuZXdEYXRhLCBhbGxEYXRhU291cmNlOiBuZXdEYXRhIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQb3BzLmRhdGFDaGFuZ2VkLCBfdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICAuLi5zdG9yZXMsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmICgodmlld25hbWUgfHwgdXJsKSAmJiBkYXRhID09IG51bGwgJiYgb3B0aW9ucyA9PSBudWxsKSB7XHJcbiAgICAgICAgbGV0IGlzQ2FjaGVkID0gY2FjaGVkO1xyXG4gICAgICAgIGxldCBpc0NhY2hlS2V5ID0gY2FjaGVLZXk7XHJcbiAgICAgICAgaWYgKHZpZXduYW1lKSB7XHJcbiAgICAgICAgICBpZiAodHlwZW9mIGNhY2hlZCAhPT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgICAgICAgaXNDYWNoZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBpc0NhY2hlS2V5ID0gaXNDYWNoZUtleSA/IGlzQ2FjaGVLZXkgOiB2aWV3bmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0b3JlUHJvcHMgPSB7XHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGF1dG9Mb2FkOiB0cnVlLFxyXG4gICAgICAgICAgICB1cmw6IHVybCB8fCByZXF1ZXN0Vmlld1VybCArIHZpZXduYW1lLCAvL+ivu+Wtl+WFuO+8jHVybOWbuuWumu+8jHZpZXduYW1lXHJcbiAgICAgICAgICAgIGNhY2hlZDogaXNDYWNoZWQsXHJcbiAgICAgICAgICAgIGNhY2hlS2V5OiBpc0NhY2hlS2V5LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnN0b3JlUHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFN0b3JlKHN0b3JlUHJvcHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgY29uc3QgeyBjaGlsZHJlbiB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgYWxsRGF0YVNvdXJjZSwgYWxsQ2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNoaWxkcmVuOiBhbGxDaGlsZHJlbiB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLmFsbERhdGFTb3VyY2U7XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdFZhbHVlO1xyXG4gIH1cclxuICBzZXRWYWx1ZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdFZhbHVlOiB2YWx1ZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0RGF0YSh2YWx1ZSkge1xyXG4gICAgY29uc3QgeyBkYXRhU291cmNlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IHsgc3RvcmUgPSB7fSwgdmFsdWVGaWVsZCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSBnZXRGbGF0dGVuRGF0YShkYXRhU291cmNlLCB7IGtleUZpZWxkOiB2YWx1ZUZpZWxkIH0pO1xyXG4gICAgcmV0dXJuIG5ld0RhdGFbdmFsdWVdIHx8IHt9O1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCFjaGlsZHJlbiAmJiAoZGF0YSB8fCBvcHRpb25zKSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBkYXRhU291cmNlOiBkYXRhID8gZGF0YSA6IG9wdGlvbnMsXHJcbiAgICAgICAgYWxsRGF0YVNvdXJjZTogZGF0YSA/IGRhdGEgOiBvcHRpb25zLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuLFxyXG4gICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShuZXdQcm9wcywgbmV3U3RhdGUsIFNuYXBzaG90KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIG9wdGlvbnMsIGNoaWxkcmVuIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBhbGxEYXRhU291cmNlLCBhbGxDaGlsZHJlbiB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmICghY2hpbGRyZW4gJiYgKGRhdGEgfHwgb3B0aW9ucykpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IGRhdGEgPyBkYXRhIDogb3B0aW9ucztcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGFsbERhdGFTb3VyY2UpICE9PSBKU09OLnN0cmluZ2lmeShuZXdEYXRhKSkge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGF0YVNvdXJjZTogbmV3RGF0YSxcclxuICAgICAgICAgIGFsbERhdGFTb3VyY2U6IG5ld0RhdGEsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4gJiYgQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcclxuICAgICAgY29uc3Qgc3RhdGVDaGlsZHJlblByb3BzOiBhbnkgPSBbXTtcclxuICAgICAgYWxsQ2hpbGRyZW4ubWFwKChzOiBhbnkpID0+IHtcclxuICAgICAgICBzdGF0ZUNoaWxkcmVuUHJvcHMucHVzaChzLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuUHJvcHM6IGFueSA9IFtdO1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNoaWxkcmVuUHJvcHMucHVzaChjLnByb3BzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBKU09OLnN0cmluZ2lmeShzdGF0ZUNoaWxkcmVuUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShjaGlsZHJlblByb3BzKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICAgIGFsbENoaWxkcmVuOiBjaGlsZHJlbixcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUgPSAoc3RhdGUsIGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH07XHJcbiAgfVxyXG4gIG9uU2VhcmNoKHZhbHVlKSB7XHJcbiAgICBjb25zdCB7IGFsbERhdGFTb3VyY2UsIGFsbENoaWxkcmVuIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgeyBmaWx0ZXJPcHRpb24gPSB0cnVlLCBvblNlYXJjaCwgY2hpbGRyZW4sIHN0b3JlID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgeyBsYWJlbEZpZWxkIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyB2aWV3bmFtZSB9ID0gc3RvcmU7XHJcbiAgICBsYWJlbEZpZWxkID0gbGFiZWxGaWVsZCA/IGxhYmVsRmllbGQgOiB2aWV3bmFtZSA/IFwiZGljdFZhbHVlXCIgOiBcImxhYmVsXCI7XHJcbiAgICBpZiAoZmlsdGVyT3B0aW9uKSB7XHJcbiAgICAgIGxldCByZXN1bHQgPSBbXTtcclxuICAgICAgaWYgKCFjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgYWxsRGF0YVNvdXJjZS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgICAgICAgIHJlc3VsdC5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBkYXRhU291cmNlOiByZXN1bHQsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGFsbERhdGFTb3VyY2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShhbGxDaGlsZHJlbikpIHtcclxuICAgICAgICAgICAgYWxsQ2hpbGRyZW4ubWFwKChjaGlsZDogYW55LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgIGxldCBsYWJlbCA9IGNoaWxkPy5wcm9wcz8uY2hpbGRyZW47XHJcbiAgICAgICAgICAgICAgbGV0IGZsYWcgPSBQaW55aW5NYXRjaC5tYXRjaChsYWJlbCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjaGlsZCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogcmVzdWx0LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW4sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIG9uU2VhcmNoICYmIG9uU2VhcmNoKHZhbHVlKTtcclxuICB9XHJcbiAgcmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpIHtcclxuICAgIGxldCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIHZhbHVlVHlwZSA9IFwic3RyaW5nXCIsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgdmlld25hbWUgfSA9IHN0b3JlO1xyXG4gICAgdmFsdWVGaWVsZCA9IHZhbHVlRmllbGQgPyB2YWx1ZUZpZWxkIDogdmlld25hbWUgPyBcImRpY3RLZXlcIiA6IFwidmFsdWVcIjtcclxuICAgIGxhYmVsRmllbGQgPSBsYWJlbEZpZWxkID8gbGFiZWxGaWVsZCA6IHZpZXduYW1lID8gXCJkaWN0VmFsdWVcIiA6IFwibGFiZWxcIjtcclxuICAgIHJldHVybiBvcHRpb25EYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWU6IGFueTtcclxuICAgICAgaWYgKHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgICAgdmFsdWUgPVxyXG4gICAgICAgICAgdmFsdWVUeXBlID09PSBcIm51bWJlclwiXHJcbiAgICAgICAgICAgID8gTnVtYmVyKGl0ZW1bdmFsdWVGaWVsZF0pXHJcbiAgICAgICAgICAgIDogaXRlbVt2YWx1ZUZpZWxkXSArIFwiXCI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29uc3QgdmFsdWVGaWVsZHM6IGFueSA9IHZhbHVlRmllbGQuc3BsaXQoXCIsXCIpO1xyXG4gICAgICAgIHZhbHVlRmllbGRzLm1hcCgodiwgaW5kZXgpID0+IHtcclxuICAgICAgICAgIHZhbHVlID0gaW5kZXggPT0gMCA/IHZhbHVlICsgaXRlbVt2XSA6IHZhbHVlICsgXCIsXCIgKyBpdGVtW3ZdO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBrZXkgPSBpdGVtLmlkID8gKGl0ZW0uaWQgIT09IFwidW5kZWZpbmVkXCIgPyBpdGVtLmlkIDogdmFsdWUpIDogdmFsdWU7XHJcbiAgICAgIGxldCBsYWJlbCA9IFwiXCI7XHJcbiAgICAgIGlmIChsYWJlbEZpZWxkLnNwbGl0KFwiLFwiKS5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIGxhYmVsID0gaXRlbVtsYWJlbEZpZWxkXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBsYWJlbEZpZWxkczogYW55ID0gbGFiZWxGaWVsZC5zcGxpdChcIixcIik7XHJcbiAgICAgICAgbGFiZWxGaWVsZHMubWFwKChsLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgbGFiZWwgPSBpbmRleCA9PSAwID8gbGFiZWwgKyBpdGVtW2xdIDogbGFiZWwgKyBcIi1cIiArIGl0ZW1bbF07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8T3B0aW9uXHJcbiAgICAgICAgICBrZXk9e2tleX1cclxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cclxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cclxuICAgICAgICAgIGRpc2FibGVkPXtpdGVtLmRpc2FibGVkID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHtsYWJlbH1cclxuICAgICAgICA8L09wdGlvbj5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJDaGlsZHJlbigpIHtcclxuICAgIGNvbnN0IHsgc2hvd0dyb3VwID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZGF0YVNvdXJjZSwgY2hpbGRyZW4gfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgcmV0dXJuIDw+e2NoaWxkcmVufTwvPjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBvcHRHcm91cERhdGEgPSB7fSxcclxuICAgICAgICBvcHRpb25EYXRhID0gW107XHJcbiAgICAgIGRhdGFTb3VyY2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIGxldCBsYWJlbCA9IGl0ZW0uZ3JvdXBOYW1lO1xyXG4gICAgICAgIGlmIChsYWJlbCAmJiBzaG93R3JvdXApIHtcclxuICAgICAgICAgIGlmICghb3B0R3JvdXBEYXRhW2xhYmVsXSkgb3B0R3JvdXBEYXRhW2xhYmVsXSA9IFtdO1xyXG4gICAgICAgICAgb3B0R3JvdXBEYXRhW2xhYmVsXS5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBvcHRpb25EYXRhLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IG9wdGlvbiA9IHRoaXMucmVuZGVyT3B0aW9uKG9wdGlvbkRhdGEpO1xyXG4gICAgICBsZXQgb3B0R3JvdXAgPSBPYmplY3Qua2V5cyhvcHRHcm91cERhdGEpLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxPcHRHcm91cCBrZXk9e2tleX0gbGFiZWw9e2tleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlck9wdGlvbihvcHRHcm91cERhdGFba2V5XSl9XHJcbiAgICAgICAgICA8L09wdEdyb3VwPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICB7b3B0aW9ufVxyXG4gICAgICAgICAge29wdEdyb3VwfVxyXG4gICAgICAgIDwvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkNoYW5nZSh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvbkNoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RWYWx1ZTogdmFsdWUsXHJcbiAgICB9KTtcclxuICAgIGlmIChvbkNoYW5nZSkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRTZWxlY3REYXRhKHZhbHVlKTtcclxuICAgICAgb25DaGFuZ2UodmFsdWUsIG9wdGlvbnMsIGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblNlbGVjdCh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgeyBvblNlbGVjdCB9ID0gdGhpcy5wcm9wcztcclxuXHJcbiAgICBpZiAob25TZWxlY3QpIHtcclxuICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZ2V0U2VsZWN0RGF0YSh2YWx1ZSk7XHJcbiAgICAgIG9uU2VsZWN0KHZhbHVlLCBvcHRpb25zLCBkYXRhKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25Ecm9wZG93blZpc2libGVDaGFuZ2Uob3Blbikge1xyXG4gICAgaWYgKCFvcGVuKSB7XHJcbiAgICAgIHRoaXMucmVzZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIHN0b3JlLFxyXG4gICAgICBkYXRhLFxyXG4gICAgICBvbkNoYW5nZSxcclxuICAgICAgb25TZWxlY3QsXHJcbiAgICAgIG9wdGlvbnMsXHJcbiAgICAgIGxhYmVsRmllbGQsXHJcbiAgICAgIHZhbHVlRmllbGQsXHJcbiAgICAgIGRlZmF1bHRTdHlsZSxcclxuICAgICAgc2hvd0dyb3VwID0gdHJ1ZSxcclxuICAgICAgYWRkRGF0YSxcclxuICAgICAgZGVsZXRlRGF0YSxcclxuICAgICAgdmFsdWVUeXBlLFxyXG4gICAgICAuLi5wYXJhbXNcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHByb3BzID0ge1xyXG4gICAgICBmaWx0ZXJPcHRpb246IGZhbHNlLFxyXG4gICAgICBzaG93U2VhcmNoOiB0cnVlLFxyXG4gICAgICBvcHRpb25GaWx0ZXJQcm9wOiBcImxhYmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiBcIuivt+mAieaLqVwiLFxyXG4gICAgICBhbGxvd0NsZWFyOiB0cnVlLFxyXG4gICAgfSBhcyBhbnk7XHJcbiAgICBsZXQgeyBhbnRkU3R5bGUsIG1vdW50RWxlbWVudElkIH0gPSBjb25maWcoKTtcclxuICAgIGlmIChtb3VudEVsZW1lbnRJZCkge1xyXG4gICAgICBwcm9wcyA9IHtcclxuICAgICAgICAuLi5wcm9wcyxcclxuICAgICAgICBnZXRQb3B1cENvbnRhaW5lcjogKCkgPT4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobW91bnRFbGVtZW50SWQpLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgaWYgKChkZWZhdWx0U3R5bGUgfHwgYW50ZFN0eWxlKSAmJiBkZWZhdWx0U3R5bGUgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHN0eWxlc1tcIm5zY19zZWxlY3RcIl0sIHRoaXMucHJvcHMuY2xhc3NOYW1lKX0+XHJcbiAgICAgICAgICA8U2VsZWN0XHJcbiAgICAgICAgICAgIHZhbHVlPXt0aGlzLnN0YXRlLnNlbGVjdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvblNlbGVjdD17dGhpcy5vblNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgICA8L1NlbGVjdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFNlbGVjdFxyXG4gICAgICAgICAgdmFsdWU9e3RoaXMuc3RhdGUuc2VsZWN0VmFsdWV9XHJcbiAgICAgICAgICBvblNlYXJjaD17dGhpcy5vblNlYXJjaC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgb25DaGFuZ2U9e3RoaXMub25DaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLm9uU2VsZWN0LmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT17dGhpcy5vbkRyb3Bkb3duVmlzaWJsZUNoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgey4uLnBhcmFtc31cclxuXHJcbiAgICAgICAgICAvLyBnZXRQb3B1cENvbnRhaW5lcj17KCk9PmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdxaHNlLWFwcCcpfVxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt0aGlzLnJlbmRlckNoaWxkcmVuKCl9XHJcbiAgICAgICAgPC9TZWxlY3Q+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -286,8 +286,6 @@ var NscTree = /*#__PURE__*/function (_TreePanel) {
286
286
 
287
287
  if (openKeys) {
288
288
  props.expandedKeys = openKeys;
289
- } else {
290
- delete props.expandedKeys;
291
289
  }
292
290
 
293
291
  return /*#__PURE__*/React.createElement(_Spin, {
@@ -314,4 +312,4 @@ _defineProperty(NscTree, "defaultProps", {
314
312
  });
315
313
 
316
314
  export default NscTree;
317
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdHJlZS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJUcmVlUGFuZWwiLCJ1dGlscyIsIlN0b3JlIiwiU3RvcmVDb25maWdUeXBlIiwiVHJlZVNlYXJjaCIsInN0eWxlcyIsIlRyZWVOb2RlIiwiTnNjVHJlZSIsInByb3BzIiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwibm9kZUtleSIsImtleSIsInJlc3ROb2RlUHJvcHMiLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJ0aXRsZU5vZGUiLCJ0aXRsZSIsImF0dHJpYnV0ZSIsInN1YnRpdGxlIiwiY29sb3IiLCJjaGlsZE5vZGVzIiwiaWNvbiIsInJlbmRlclRyZWVOb2RlcyIsInJlbmRlclRlbXBsYXRlIiwiYmluZCIsIm1vZGVsRGF0YSIsImNoZWNrZWRLZXlzIiwiY2hlY2tlZCIsImhhbGZDaGVja2VkIiwiZm9yRWFjaFRyZWUiLCJwdXNoIiwibnNjVHJlZVJlZiIsImN1cnJlbnQiLCJzdGF0ZSIsImtleUVudGl0aWVzIiwiaGFsZkNoZWNrZWRLZXlzIiwiY29uY2F0IiwiY2hlY2tlZEtleXNBbGwiLCJ0cmVlUHJvcHMiLCJuZXdNZW51RGF0YXMiLCJ0cmVlRGF0YSIsIm9wZW5LZXlzIiwiY2hlY2tQcm9wYWdhdGlvbiIsImNoZWNrU3RyaWN0bHkiLCJzaG93SWNvbiIsImxhenlsb2FkIiwibG9hZERhdGEiLCJfb25Mb2FkRGF0YSIsIm9uQ2hlY2tGbiIsIm9uQ2hlY2siLCJlIiwic2V0U3RhdGUiLCJvblNlbGVjdEZuIiwib25TZWxlY3QiLCJzZWxlY3RlZEtleXMiLCJub2RlSW5mbyIsInNlbGVjdE5vZGUiLCJzZWxlY3RlZCIsInNlbGVjdGVkTm9kZXMiLCJleHBhbmRlZEtleXMiLCJsb2FkaW5nIiwiZWRpdGFibGUiLCJzZWFyY2hhYmxlIiwiaGFuZGxlQWRkTW9kdWxlIiwiaGFuZGxlRWRpdE1vZHVsZSIsImhhbmRsZURlbGV0ZU1vZHVsZSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsInJlbmRlclRyZWVOb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxNQUFrQixPQUFsQjtBQUVBLE9BQU9DLFNBQVAsTUFHTyxxQkFIUDtBQUlBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBR0EsU0FBU0MsS0FBVCxFQUFnQkMsZUFBaEIsUUFBdUMsYUFBdkM7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLGNBQXZCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLElBQVFDLFFBQVIsU0FBUUEsUUFBUixDLENBQ0E7O0lBVU1DLE87Ozs7O0FBR0osbUJBQVlDLE1BQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLE1BQU47O0FBRGlCLCtFQUZOVCxLQUFLLENBQUNVLFNBQU4sRUFFTTs7QUFBQSx1RUEwRUQsVUFBQ0MsSUFBRCxFQUFVO0FBQzFCLFVBQU1DLFNBQVMsR0FBRyxPQUFLSCxLQUFMLENBQVdHLFNBQTdCO0FBQ0FBLE1BQUFBLFNBQVMsSUFBSUEsU0FBUyxDQUFDRCxJQUFELENBQXRCO0FBQ0QsS0E3RWtCOztBQUFBLHdFQStFQSxVQUFDQSxJQUFELEVBQVU7QUFDM0IsVUFBTUUsVUFBVSxHQUFHLE9BQUtKLEtBQUwsQ0FBV0ksVUFBOUI7QUFDQUEsTUFBQUEsVUFBVSxJQUFJQSxVQUFVLENBQUNGLElBQUQsQ0FBeEI7QUFDRCxLQWxGa0I7O0FBQUEsMEVB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RSxRQUFBLGVBQWUsRUFBRSxLQUFLQyxlQUZ4QjtBQUdFLFFBQUEsZ0JBQWdCLEVBQUUsS0FBS0MsZ0JBSHpCO0FBSUUsUUFBQSxrQkFBa0IsRUFBRSxLQUFLQztBQUozQixRQUZKLEVBU0dDLEtBQUssQ0FBQ0MsT0FBTixDQUFjNUIsWUFBZCxLQUErQkEsWUFBWSxDQUFDNkIsTUFBYixHQUFzQixDQUFyRCxpQkFDQztBQUFNLFFBQUEsR0FBRyxFQUFFLEtBQUtyQyxVQUFoQjtBQUE0QixRQUFBLFNBQVM7QUFBckMsU0FBMEMvQyxLQUExQyxHQUNHLEtBQUtzQyxlQUFMLENBQXFCaUIsWUFBckIsRUFBbUN2RCxLQUFLLENBQUNxRixjQUF6QyxDQURILENBVkosQ0FERixDQURGO0FBbUJEOzs7O0VBMUptQjdGLFM7O2dCQUFoQk8sTyxrQkFRaUM7QUFBRVksRUFBQUEsS0FBSyxFQUFFO0FBQVQsQzs7QUFrTnZDLGVBQWVaLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRyZWUsIFRyZWVQcm9wcywgU3BpbiwgVHJlZU5vZGVQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBUcmVlUGFuZWwsIHtcclxuICBJVHJlZVBhbmVsUHJvcHMsXHJcbiAgVHJlZUNvbW1vblByb3BzLFxyXG59IGZyb20gXCIuLi9jb21tb24vVHJlZVBhbmVsXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgUmNUcmVlIGZyb20gXCJyYy10cmVlXCI7XHJcbmltcG9ydCB7IERhdGFOb2RlLCBFdmVudERhdGFOb2RlIH0gZnJvbSBcInJjLXRyZWUvbGliL2ludGVyZmFjZVwiO1xyXG5leHBvcnQgeyBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCBUcmVlU2VhcmNoIGZyb20gXCIuL1RyZWVTZWFyY2hcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmNvbnN0IHsgVHJlZU5vZGUgfSA9IFRyZWU7XHJcbi8vIGltcG9ydCBUcmVlTm9kZSBmcm9tIFwiLi9Oc2NUcmVlTm9kZVwiO1xyXG50eXBlIE5zY0RhdGFOb2RlUHJvcHMgPSBEYXRhTm9kZSAmIHsgcHJvcHM6IHsgZGF0YXJlZjogYW55IH0gfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjVHJlZVByb3BzIGV4dGVuZHMgSVRyZWVQYW5lbFByb3BzIHtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgdHJlZURhdGE/OiBhbnlbXTtcclxuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcclxuICBub2RlUHJvcHM/OiBUcmVlTm9kZVByb3BzO1xyXG59XHJcblxyXG5jbGFzcyBOc2NUcmVlIGV4dGVuZHMgVHJlZVBhbmVsPE5zY1RyZWVQcm9wcyAmIFRyZWVDb21tb25Qcm9wcz4ge1xyXG4gIG5zY1RyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8UmNUcmVlICYgVHJlZVByb3BzPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5yZW5kZXJUZW1wbGF0ZSA9IHRoaXMucmVuZGVyVGVtcGxhdGUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IHsgc3RvcmU6IHt9IH0gPSB7IHN0b3JlOiB7fSB9O1xyXG5cclxuICBfZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKTogYW55IHtcclxuICAgIGxldCBjaGVja2VkS2V5cyA9IHsgY2hlY2tlZDogW10sIGhhbGZDaGVja2VkOiBbXSB9O1xyXG4gICAgdXRpbHMuZm9yRWFjaFRyZWUobW9kZWxEYXRhLCBmdW5jdGlvbiAobm9kZSkge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkID09IHRydWUpIHtcclxuICAgICAgICBjaGVja2VkS2V5cy5jaGVja2VkLnB1c2gobm9kZS5hdHRyaWJ1dGUua2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoJHmkJzntKJcclxuICAgKi9cclxuICAvLyBoYW5kbGVTZWFyY2ggPSAodmFsdWUpID0+IHtcclxuICAvLyAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hUZXh0OiB2YWx1ZSB9KTtcclxuICAvLyB9O1xyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrlJROaVsOe7hFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50O1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W6YCJ5Lit6IqC54K55a+56LGh5pWw57uEXHJcbiAgICogQHJldHVybiBub2RlW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkTm9kZXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgbm9kZXMgPSBbXSBhcyBOc2NEYXRhTm9kZVByb3BzW107XHJcbiAgICBjaGVja2VkS2V5cy5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAvLyBub2Rlcy5wdXNoKGtleUVudGl0aWVzW2tleV0ubm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWFqOmDqOmAieS4reiKgueCuUlE77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5SURcclxuICAgKiBAcmV0dXJuIFN0cmluZ1tdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbEtleXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzLmNvbmNhdChoYWxmQ2hlY2tlZEtleXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5Tm9kZeWvueixoe+8jOWMheWQq+WNiumAieS4reiKgueCuU5vZGXlr7nosaFcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRBbGxOb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cywga2V5RW50aXRpZXMgfSA9XHJcbiAgICAgIHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzQWxsID0gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgICBsZXQgbm9kZXMgPSBbXTtcclxuICAgIGNoZWNrZWRLZXlzQWxsLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBrZXlFbnRpdGllc1trZXldLm5vZGUgYXMgTnNjRGF0YU5vZGVQcm9wcztcclxuICAgICAgbm9kZXMucHVzaChub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfVxyXG5cclxuICAvLyDmt7vliqDmqKHlnZdcclxuICBoYW5kbGVBZGRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlQWRkID0gdGhpcy5wcm9wcy5oYW5kbGVBZGQ7XHJcbiAgICBoYW5kbGVBZGQgJiYgaGFuZGxlQWRkKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRWRpdCA9IHRoaXMucHJvcHMuaGFuZGxlRWRpdDtcclxuICAgIGhhbmRsZUVkaXQgJiYgaGFuZGxlRWRpdChub2RlKTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVEZWxldGVNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlID0gdGhpcy5wcm9wcy5oYW5kbGVEZWxldGU7XHJcbiAgICBoYW5kbGVEZWxldGUgJiYgaGFuZGxlRGVsZXRlKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIF9vbkxvYWREYXRhID0gKHRyZWVOb2RlOiBFdmVudERhdGFOb2RlICYgeyBwcm9wczogeyBkYXRhcmVmIH0gfSkgPT5cclxuICAgIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgICBub2RlID0gdHJlZU5vZGUucHJvcHMuZGF0YXJlZjtcclxuICAgICAgdGhpcy5zdG9yZS5sYXp5TG9hZChub2RlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmVzb2x2ZShub2RlKTtcclxuICAgICAgICBfdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICByZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMgPSB7fSBhcyBJVHJlZVBhbmVsUHJvcHMsIG5ld01lbnVEYXRhcyA9IFtdKSB7XHJcbiAgICBjb25zdCB7IHRyZWVEYXRhLCBvcGVuS2V5cywgLi4ucHJvcHMgfSA9IHRyZWVQcm9wcztcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChwcm9wcy5jaGVja1Byb3BhZ2F0aW9uKSB7XHJcbiAgICAgIHByb3BzLmNoZWNrU3RyaWN0bHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLnNob3dJY29uID09IG51bGwpIHtcclxuICAgICAgcHJvcHMuc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IGxhenlsb2FkIH0gPSB0aGlzLnN0b3JlLmNvbmZpZztcclxuICAgIGlmIChsYXp5bG9hZCkge1xyXG4gICAgICBwcm9wcy5sb2FkRGF0YSA9IHRoaXMuX29uTG9hZERhdGE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBvbkNoZWNrRm4gPSBwcm9wcy5vbkNoZWNrO1xyXG4gICAgcHJvcHMub25DaGVjayA9IGZ1bmN0aW9uIChjaGVja2VkS2V5cywgZSkge1xyXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7IGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyB9KTtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGVja0ZuLCBfdGhpcywgW2NoZWNrZWRLZXlzLCBlXSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25TZWxlY3RGbiA9IHByb3BzLm9uU2VsZWN0O1xyXG4gICAgcHJvcHMub25TZWxlY3QgPSAoc2VsZWN0ZWRLZXlzLCBub2RlSW5mbykgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvblNlbGVjdEZuLCBfdGhpcywgW3NlbGVjdGVkS2V5cywgbm9kZUluZm9dKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgc2VsZWN0Tm9kZTogbm9kZUluZm8uc2VsZWN0ZWQgPyBub2RlSW5mby5zZWxlY3RlZE5vZGVzWzBdIDogbnVsbCxcclxuICAgICAgICBzZWxlY3RlZEtleXMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3BlbktleXMpIHtcclxuICAgICAgcHJvcHMuZXhwYW5kZWRLZXlzID0gb3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWxldGUgcHJvcHMuZXhwYW5kZWRLZXlzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFNwaW4gc3Bpbm5pbmc9e3RoaXMuc3RhdGUubG9hZGluZ30+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10cmVlLWJveFwiXX0+XHJcbiAgICAgICAgICB7KF90aGlzLnByb3BzLmVkaXRhYmxlIHx8IF90aGlzLnByb3BzLnNlYXJjaGFibGUpICYmIChcclxuICAgICAgICAgICAgPFRyZWVTZWFyY2hcclxuICAgICAgICAgICAgICB0cmVlSW5zdGFuY2U9e3RoaXN9XHJcbiAgICAgICAgICAgICAgaGFuZGxlQWRkTW9kdWxlPXt0aGlzLmhhbmRsZUFkZE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVFZGl0TW9kdWxlPXt0aGlzLmhhbmRsZUVkaXRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRGVsZXRlTW9kdWxlPXt0aGlzLmhhbmRsZURlbGV0ZU1vZHVsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7QXJyYXkuaXNBcnJheShuZXdNZW51RGF0YXMpICYmIG5ld01lbnVEYXRhcy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgPFRyZWUgcmVmPXt0aGlzLm5zY1RyZWVSZWZ9IGNoZWNrYWJsZSB7Li4ucHJvcHN9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhuZXdNZW51RGF0YXMsIHByb3BzLnJlbmRlclRyZWVOb2RlKX1cclxuICAgICAgICAgICAgPC9UcmVlPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9TcGluPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlclRyZWVOb2RlcyA9IChkYXRhLCByZW5kZXJGbikgPT4ge1xyXG4gICAgY29uc3Qgbm9kZVByb3BzID0gdGhpcy5wcm9wcy5ub2RlUHJvcHMgfHwge307XHJcbiAgICBjb25zdCB7IGtleTogbm9kZUtleSwgLi4ucmVzdE5vZGVQcm9wcyB9ID0gbm9kZVByb3BzO1xyXG4gICAgY29uc3Qgbm9kZXMgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgcHJvcHMgPSB7IGRhdGFyZWY6IGl0ZW0gfSBhcyBUcmVlTm9kZVByb3BzO1xyXG4gICAgICBpdGVtLmNvbmZpZy5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gXCJrZXlcIiAmJiBub2RlS2V5KSB7XHJcbiAgICAgICAgICBwcm9wcy5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgICAgaXRlbS5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wc1tmaWVsZC5uYW1lXSA9IGl0ZW1bZmllbGQubmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wcywgcmVzdE5vZGVQcm9wcyk7XHJcbiAgICAgIGlmIChyZW5kZXJGbikge1xyXG4gICAgICAgIHByb3BzID0gdXRpbHMuY2FsbGJhY2socmVuZGVyRm4sIHRoaXMsIFtwcm9wcywgaXRlbV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdGl0bGVOb2RlID0gbnVsbDtcclxuICAgICAgaWYgKHR5cGVvZiBpdGVtLnRpdGxlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICBpZiAoaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUpIHtcclxuICAgICAgICAgIHRpdGxlTm9kZSA9IChcclxuICAgICAgICAgICAgPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGUgKyBcIu+8iFwiICsgaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUgKyBcIu+8iVwifT5cclxuICAgICAgICAgICAgICA8c3Bhbj57aXRlbS50aXRsZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBcInJnYmEoMCwwLDAsLjQ1KVwiIH19XHJcbiAgICAgICAgICAgICAgPntg77yIJHtpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZX3vvIlgfTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGl0bGVOb2RlID0gPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGV9PntpdGVtLnRpdGxlfTwvc3Bhbj47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRpdGxlTm9kZSA9IGl0ZW0udGl0bGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGl0ZW0uY2hpbGROb2Rlcykge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8VHJlZU5vZGVcclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICBrZXk9e2l0ZW0uYXR0cmlidXRlLmtleX1cclxuICAgICAgICAgICAgdGl0bGU9e3RpdGxlTm9kZX1cclxuICAgICAgICAgICAgaWNvbj17dGhpcy5wcm9wcy5pY29ufVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJUcmVlTm9kZXMoaXRlbS5jaGlsZE5vZGVzLCByZW5kZXJGbil9XHJcbiAgICAgICAgICA8L1RyZWVOb2RlPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPFRyZWVOb2RlXHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICBrZXk9e2l0ZW0uYXR0cmlidXRlLmtleX1cclxuICAgICAgICAgIHRpdGxlPXt0aXRsZU5vZGV9XHJcbiAgICAgICAgICBpY29uPXt0aGlzLnByb3BzLmljb259XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBub2RlcztcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBOc2NUcmVlO1xyXG4iXX0=
315
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdHJlZS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJUcmVlUGFuZWwiLCJ1dGlscyIsIlN0b3JlIiwiU3RvcmVDb25maWdUeXBlIiwiVHJlZVNlYXJjaCIsInN0eWxlcyIsIlRyZWVOb2RlIiwiTnNjVHJlZSIsInByb3BzIiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwibm9kZUtleSIsImtleSIsInJlc3ROb2RlUHJvcHMiLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJ0aXRsZU5vZGUiLCJ0aXRsZSIsImF0dHJpYnV0ZSIsInN1YnRpdGxlIiwiY29sb3IiLCJjaGlsZE5vZGVzIiwiaWNvbiIsInJlbmRlclRyZWVOb2RlcyIsInJlbmRlclRlbXBsYXRlIiwiYmluZCIsIm1vZGVsRGF0YSIsImNoZWNrZWRLZXlzIiwiY2hlY2tlZCIsImhhbGZDaGVja2VkIiwiZm9yRWFjaFRyZWUiLCJwdXNoIiwibnNjVHJlZVJlZiIsImN1cnJlbnQiLCJzdGF0ZSIsImtleUVudGl0aWVzIiwiaGFsZkNoZWNrZWRLZXlzIiwiY29uY2F0IiwiY2hlY2tlZEtleXNBbGwiLCJ0cmVlUHJvcHMiLCJuZXdNZW51RGF0YXMiLCJ0cmVlRGF0YSIsIm9wZW5LZXlzIiwiY2hlY2tQcm9wYWdhdGlvbiIsImNoZWNrU3RyaWN0bHkiLCJzaG93SWNvbiIsImxhenlsb2FkIiwibG9hZERhdGEiLCJfb25Mb2FkRGF0YSIsIm9uQ2hlY2tGbiIsIm9uQ2hlY2siLCJlIiwic2V0U3RhdGUiLCJvblNlbGVjdEZuIiwib25TZWxlY3QiLCJzZWxlY3RlZEtleXMiLCJub2RlSW5mbyIsInNlbGVjdE5vZGUiLCJzZWxlY3RlZCIsInNlbGVjdGVkTm9kZXMiLCJleHBhbmRlZEtleXMiLCJsb2FkaW5nIiwiZWRpdGFibGUiLCJzZWFyY2hhYmxlIiwiaGFuZGxlQWRkTW9kdWxlIiwiaGFuZGxlRWRpdE1vZHVsZSIsImhhbmRsZURlbGV0ZU1vZHVsZSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsInJlbmRlclRyZWVOb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxNQUFrQixPQUFsQjtBQUVBLE9BQU9DLFNBQVAsTUFHTyxxQkFIUDtBQUlBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBR0EsU0FBU0MsS0FBVCxFQUFnQkMsZUFBaEIsUUFBdUMsYUFBdkM7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLGNBQXZCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLElBQVFDLFFBQVIsU0FBUUEsUUFBUixDLENBQ0E7O0lBVU1DLE87Ozs7O0FBR0osbUJBQVlDLE1BQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLE1BQU47O0FBRGlCLCtFQUZOVCxLQUFLLENBQUNVLFNBQU4sRUFFTTs7QUFBQSx1RUEwRUQsVUFBQ0MsSUFBRCxFQUFVO0FBQzFCLFVBQU1DLFNBQVMsR0FBRyxPQUFLSCxLQUFMLENBQVdHLFNBQTdCO0FBQ0FBLE1BQUFBLFNBQVMsSUFBSUEsU0FBUyxDQUFDRCxJQUFELENBQXRCO0FBQ0QsS0E3RWtCOztBQUFBLHdFQStFQSxVQUFDQSxJQUFELEVBQVU7QUFDM0IsVUFBTUUsVUFBVSxHQUFHLE9BQUtKLEtBQUwsQ0FBV0ksVUFBOUI7QUFDQUEsTUFBQUEsVUFBVSxJQUFJQSxVQUFVLENBQUNGLElBQUQsQ0FBeEI7QUFDRCxLQWxGa0I7O0FBQUEsMEVB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LEVBQUUsS0FBS0MsZ0JBSHpCO0FBSUUsUUFBQSxrQkFBa0IsRUFBRSxLQUFLQztBQUozQixRQUZKLEVBU0dDLEtBQUssQ0FBQ0MsT0FBTixDQUFjNUIsWUFBZCxLQUErQkEsWUFBWSxDQUFDNkIsTUFBYixHQUFzQixDQUFyRCxpQkFDQztBQUFNLFFBQUEsR0FBRyxFQUFFLEtBQUtyQyxVQUFoQjtBQUE0QixRQUFBLFNBQVM7QUFBckMsU0FBMEMvQyxLQUExQyxHQUNHLEtBQUtzQyxlQUFMLENBQXFCaUIsWUFBckIsRUFBbUN2RCxLQUFLLENBQUNxRixjQUF6QyxDQURILENBVkosQ0FERixDQURGO0FBbUJEOzs7O0VBeEptQjdGLFM7O2dCQUFoQk8sTyxrQkFRaUM7QUFBRVksRUFBQUEsS0FBSyxFQUFFO0FBQVQsQzs7QUFnTnZDLGVBQWVaLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRyZWUsIFRyZWVQcm9wcywgU3BpbiwgVHJlZU5vZGVQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBUcmVlUGFuZWwsIHtcclxuICBJVHJlZVBhbmVsUHJvcHMsXHJcbiAgVHJlZUNvbW1vblByb3BzLFxyXG59IGZyb20gXCIuLi9jb21tb24vVHJlZVBhbmVsXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgUmNUcmVlIGZyb20gXCJyYy10cmVlXCI7XHJcbmltcG9ydCB7IERhdGFOb2RlLCBFdmVudERhdGFOb2RlIH0gZnJvbSBcInJjLXRyZWUvbGliL2ludGVyZmFjZVwiO1xyXG5leHBvcnQgeyBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCBUcmVlU2VhcmNoIGZyb20gXCIuL1RyZWVTZWFyY2hcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmNvbnN0IHsgVHJlZU5vZGUgfSA9IFRyZWU7XHJcbi8vIGltcG9ydCBUcmVlTm9kZSBmcm9tIFwiLi9Oc2NUcmVlTm9kZVwiO1xyXG50eXBlIE5zY0RhdGFOb2RlUHJvcHMgPSBEYXRhTm9kZSAmIHsgcHJvcHM6IHsgZGF0YXJlZjogYW55IH0gfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjVHJlZVByb3BzIGV4dGVuZHMgSVRyZWVQYW5lbFByb3BzIHtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgdHJlZURhdGE/OiBhbnlbXTtcclxuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcclxuICBub2RlUHJvcHM/OiBUcmVlTm9kZVByb3BzO1xyXG59XHJcblxyXG5jbGFzcyBOc2NUcmVlIGV4dGVuZHMgVHJlZVBhbmVsPE5zY1RyZWVQcm9wcyAmIFRyZWVDb21tb25Qcm9wcz4ge1xyXG4gIG5zY1RyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8UmNUcmVlICYgVHJlZVByb3BzPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5yZW5kZXJUZW1wbGF0ZSA9IHRoaXMucmVuZGVyVGVtcGxhdGUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IHsgc3RvcmU6IHt9IH0gPSB7IHN0b3JlOiB7fSB9O1xyXG5cclxuICBfZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKTogYW55IHtcclxuICAgIGxldCBjaGVja2VkS2V5cyA9IHsgY2hlY2tlZDogW10sIGhhbGZDaGVja2VkOiBbXSB9O1xyXG4gICAgdXRpbHMuZm9yRWFjaFRyZWUobW9kZWxEYXRhLCBmdW5jdGlvbiAobm9kZSkge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkID09IHRydWUpIHtcclxuICAgICAgICBjaGVja2VkS2V5cy5jaGVja2VkLnB1c2gobm9kZS5hdHRyaWJ1dGUua2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoJHmkJzntKJcclxuICAgKi9cclxuICAvLyBoYW5kbGVTZWFyY2ggPSAodmFsdWUpID0+IHtcclxuICAvLyAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hUZXh0OiB2YWx1ZSB9KTtcclxuICAvLyB9O1xyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrlJROaVsOe7hFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50O1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W6YCJ5Lit6IqC54K55a+56LGh5pWw57uEXHJcbiAgICogQHJldHVybiBub2RlW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkTm9kZXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgbm9kZXMgPSBbXSBhcyBOc2NEYXRhTm9kZVByb3BzW107XHJcbiAgICBjaGVja2VkS2V5cy5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAvLyBub2Rlcy5wdXNoKGtleUVudGl0aWVzW2tleV0ubm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWFqOmDqOmAieS4reiKgueCuUlE77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5SURcclxuICAgKiBAcmV0dXJuIFN0cmluZ1tdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbEtleXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzLmNvbmNhdChoYWxmQ2hlY2tlZEtleXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5Tm9kZeWvueixoe+8jOWMheWQq+WNiumAieS4reiKgueCuU5vZGXlr7nosaFcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRBbGxOb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cywga2V5RW50aXRpZXMgfSA9XHJcbiAgICAgIHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzQWxsID0gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgICBsZXQgbm9kZXMgPSBbXTtcclxuICAgIGNoZWNrZWRLZXlzQWxsLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBrZXlFbnRpdGllc1trZXldLm5vZGUgYXMgTnNjRGF0YU5vZGVQcm9wcztcclxuICAgICAgbm9kZXMucHVzaChub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfVxyXG5cclxuICAvLyDmt7vliqDmqKHlnZdcclxuICBoYW5kbGVBZGRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlQWRkID0gdGhpcy5wcm9wcy5oYW5kbGVBZGQ7XHJcbiAgICBoYW5kbGVBZGQgJiYgaGFuZGxlQWRkKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRWRpdCA9IHRoaXMucHJvcHMuaGFuZGxlRWRpdDtcclxuICAgIGhhbmRsZUVkaXQgJiYgaGFuZGxlRWRpdChub2RlKTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVEZWxldGVNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlID0gdGhpcy5wcm9wcy5oYW5kbGVEZWxldGU7XHJcbiAgICBoYW5kbGVEZWxldGUgJiYgaGFuZGxlRGVsZXRlKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIF9vbkxvYWREYXRhID0gKHRyZWVOb2RlOiBFdmVudERhdGFOb2RlICYgeyBwcm9wczogeyBkYXRhcmVmIH0gfSkgPT5cclxuICAgIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgICBub2RlID0gdHJlZU5vZGUucHJvcHMuZGF0YXJlZjtcclxuICAgICAgdGhpcy5zdG9yZS5sYXp5TG9hZChub2RlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmVzb2x2ZShub2RlKTtcclxuICAgICAgICBfdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICByZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMgPSB7fSBhcyBJVHJlZVBhbmVsUHJvcHMsIG5ld01lbnVEYXRhcyA9IFtdKSB7XHJcbiAgICBjb25zdCB7IHRyZWVEYXRhLCBvcGVuS2V5cywgLi4ucHJvcHMgfSA9IHRyZWVQcm9wcztcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChwcm9wcy5jaGVja1Byb3BhZ2F0aW9uKSB7XHJcbiAgICAgIHByb3BzLmNoZWNrU3RyaWN0bHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLnNob3dJY29uID09IG51bGwpIHtcclxuICAgICAgcHJvcHMuc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IGxhenlsb2FkIH0gPSB0aGlzLnN0b3JlLmNvbmZpZztcclxuICAgIGlmIChsYXp5bG9hZCkge1xyXG4gICAgICBwcm9wcy5sb2FkRGF0YSA9IHRoaXMuX29uTG9hZERhdGE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBvbkNoZWNrRm4gPSBwcm9wcy5vbkNoZWNrO1xyXG4gICAgcHJvcHMub25DaGVjayA9IGZ1bmN0aW9uIChjaGVja2VkS2V5cywgZSkge1xyXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7IGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyB9KTtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGVja0ZuLCBfdGhpcywgW2NoZWNrZWRLZXlzLCBlXSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25TZWxlY3RGbiA9IHByb3BzLm9uU2VsZWN0O1xyXG4gICAgcHJvcHMub25TZWxlY3QgPSAoc2VsZWN0ZWRLZXlzLCBub2RlSW5mbykgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvblNlbGVjdEZuLCBfdGhpcywgW3NlbGVjdGVkS2V5cywgbm9kZUluZm9dKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgc2VsZWN0Tm9kZTogbm9kZUluZm8uc2VsZWN0ZWQgPyBub2RlSW5mby5zZWxlY3RlZE5vZGVzWzBdIDogbnVsbCxcclxuICAgICAgICBzZWxlY3RlZEtleXMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3BlbktleXMpIHtcclxuICAgICAgcHJvcHMuZXhwYW5kZWRLZXlzID0gb3BlbktleXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8U3BpbiBzcGlubmluZz17dGhpcy5zdGF0ZS5sb2FkaW5nfT5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzW1wibnNjLXRyZWUtYm94XCJdfT5cclxuICAgICAgICAgIHsoX3RoaXMucHJvcHMuZWRpdGFibGUgfHwgX3RoaXMucHJvcHMuc2VhcmNoYWJsZSkgJiYgKFxyXG4gICAgICAgICAgICA8VHJlZVNlYXJjaFxyXG4gICAgICAgICAgICAgIHRyZWVJbnN0YW5jZT17dGhpc31cclxuICAgICAgICAgICAgICBoYW5kbGVBZGRNb2R1bGU9e3RoaXMuaGFuZGxlQWRkTW9kdWxlfVxyXG4gICAgICAgICAgICAgIGhhbmRsZUVkaXRNb2R1bGU9e3RoaXMuaGFuZGxlRWRpdE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVEZWxldGVNb2R1bGU9e3RoaXMuaGFuZGxlRGVsZXRlTW9kdWxlfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHtBcnJheS5pc0FycmF5KG5ld01lbnVEYXRhcykgJiYgbmV3TWVudURhdGFzLmxlbmd0aCA+IDAgJiYgKFxyXG4gICAgICAgICAgICA8VHJlZSByZWY9e3RoaXMubnNjVHJlZVJlZn0gY2hlY2thYmxlIHsuLi5wcm9wc30+XHJcbiAgICAgICAgICAgICAge3RoaXMucmVuZGVyVHJlZU5vZGVzKG5ld01lbnVEYXRhcywgcHJvcHMucmVuZGVyVHJlZU5vZGUpfVxyXG4gICAgICAgICAgICA8L1RyZWU+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L1NwaW4+XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyVHJlZU5vZGVzID0gKGRhdGEsIHJlbmRlckZuKSA9PiB7XHJcbiAgICBjb25zdCBub2RlUHJvcHMgPSB0aGlzLnByb3BzLm5vZGVQcm9wcyB8fCB7fTtcclxuICAgIGNvbnN0IHsga2V5OiBub2RlS2V5LCAuLi5yZXN0Tm9kZVByb3BzIH0gPSBub2RlUHJvcHM7XHJcbiAgICBjb25zdCBub2RlcyA9IGRhdGEubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIGxldCBwcm9wcyA9IHsgZGF0YXJlZjogaXRlbSB9IGFzIFRyZWVOb2RlUHJvcHM7XHJcbiAgICAgIGl0ZW0uY29uZmlnLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGlmIChmaWVsZC5uYW1lID09PSBcImtleVwiICYmIG5vZGVLZXkpIHtcclxuICAgICAgICAgIHByb3BzLmtleSA9IGl0ZW1bbm9kZUtleV07XHJcbiAgICAgICAgICBpdGVtLmtleSA9IGl0ZW1bbm9kZUtleV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzW2ZpZWxkLm5hbWVdID0gaXRlbVtmaWVsZC5uYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHByb3BzLCByZXN0Tm9kZVByb3BzKTtcclxuICAgICAgaWYgKHJlbmRlckZuKSB7XHJcbiAgICAgICAgcHJvcHMgPSB1dGlscy5jYWxsYmFjayhyZW5kZXJGbiwgdGhpcywgW3Byb3BzLCBpdGVtXSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCB0aXRsZU5vZGUgPSBudWxsO1xyXG4gICAgICBpZiAodHlwZW9mIGl0ZW0udGl0bGUgPT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIGlmIChpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZSkge1xyXG4gICAgICAgICAgdGl0bGVOb2RlID0gKFxyXG4gICAgICAgICAgICA8c3BhbiB0aXRsZT17aXRlbS50aXRsZSArIFwi77yIXCIgKyBpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZSArIFwi77yJXCJ9PlxyXG4gICAgICAgICAgICAgIDxzcGFuPntpdGVtLnRpdGxlfTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IFwicmdiYSgwLDAsMCwuNDUpXCIgfX1cclxuICAgICAgICAgICAgICA+e2DvvIgke2l0ZW0uYXR0cmlidXRlLnN1YnRpdGxlfe+8iWB9PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aXRsZU5vZGUgPSA8c3BhbiB0aXRsZT17aXRlbS50aXRsZX0+e2l0ZW0udGl0bGV9PC9zcGFuPjtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGl0bGVOb2RlID0gaXRlbS50aXRsZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoaXRlbS5jaGlsZE5vZGVzKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxUcmVlTm9kZVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fVxyXG4gICAgICAgICAgICB0aXRsZT17dGl0bGVOb2RlfVxyXG4gICAgICAgICAgICBpY29uPXt0aGlzLnByb3BzLmljb259XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhpdGVtLmNoaWxkTm9kZXMsIHJlbmRlckZuKX1cclxuICAgICAgICAgIDwvVHJlZU5vZGU+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8VHJlZU5vZGVcclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fVxyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlTm9kZX1cclxuICAgICAgICAgIGljb249e3RoaXMucHJvcHMuaWNvbn1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5zY1RyZWU7XHJcbiJdfQ==
@@ -115,19 +115,21 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
115
115
 
116
116
  if (res.code == 200) {
117
117
  fileId = res.data.attachId;
118
+ options.onSuccess();
119
+ } else {
120
+ options.onError();
118
121
  }
119
122
 
120
123
  onComplete && onComplete({
121
124
  file: options.file,
122
125
  fileId: fileId,
123
- status: "success"
126
+ status: res.code == 200 ? "success" : "error"
124
127
  });
125
- options.onSuccess();
126
- _context.next = 25;
128
+ _context.next = 24;
127
129
  break;
128
130
 
129
- case 21:
130
- _context.prev = 21;
131
+ case 20:
132
+ _context.prev = 20;
131
133
  _context.t0 = _context["catch"](11);
132
134
  onComplete && onComplete({
133
135
  file: options.file,
@@ -136,12 +138,12 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
136
138
  });
137
139
  options.onError();
138
140
 
139
- case 25:
141
+ case 24:
140
142
  case "end":
141
143
  return _context.stop();
142
144
  }
143
145
  }
144
- }, _callee, null, [[11, 21]]);
146
+ }, _callee, null, [[11, 20]]);
145
147
  }));
146
148
 
147
149
  return function (_x) {
@@ -167,4 +169,4 @@ var NscUpload = /*#__PURE__*/function (_React$PureComponent) {
167
169
  }(React.PureComponent);
168
170
 
169
171
  export default withZhLocale(NscUpload);
170
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwidXBsb2FkIiwiTnNjVXBsb2FkIiwiZmlsZUxpc3QiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwibWF4U2l6ZSIsInNpemUiLCJlcnJvciIsIm5hbWUiLCJmaWxlSWQiLCJzdGF0dXMiLCJvbkVycm9yIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwiY3VzdG9tUmVxdWVzdCIsImJpbmQiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFVBQWpCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixZQUFwQjtBQUNBLE9BQU9DLFlBQVAsTUFBeUIsd0JBQXpCO0FBQ0EsSUFBUUMsTUFBUixHQUFtQkgsSUFBbkIsQ0FBUUcsTUFBUjs7SUFRTUMsUzs7Ozs7Ozs7Ozs7Ozs7Ozs0REFDSTtBQUFFQyxNQUFBQSxRQUFRLEVBQUU7QUFBWixLOzs7eUVBRVEsaUJBQU9DLE9BQVA7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNSTixnQkFBQUEsSUFEUSxHQUNETSxPQUFPLENBQUNOLElBRFA7QUFBQSw4QkFFK0IsTUFBS08sS0FGcEMsRUFFTkMsVUFGTSxlQUVOQSxVQUZNLEVBRU1DLFNBRk4sZUFFTUEsU0FGTixFQUVpQkMsU0FGakIsZUFFaUJBLFNBRmpCO0FBR05DLGdCQUFBQSxPQUhNLEdBR00sTUFBS0osS0FIWCxDQUdOSSxPQUhNOztBQUFBLHFCQUlWQSxPQUpVO0FBQUE7QUFBQTtBQUFBOztBQUtOQyxnQkFBQUEsSUFMTSxHQUtDRCxPQUFPLEdBQUcsSUFBVixHQUFpQixJQUxsQjs7QUFBQSxzQkFNUkMsSUFBSSxHQUFHWixJQUFJLENBQUNZLElBTko7QUFBQTtBQUFBO0FBQUE7O0FBT1ZYLGdCQUFBQSxPQUFPLENBQUNZLEtBQVIsV0FBaUJiLElBQUksQ0FBQ2MsSUFBdEIsaURBQW1DSCxPQUFuQztBQUNBSCxnQkFBQUEsVUFBVSxJQUNSQSxVQUFVLENBQUM7QUFBRVIsa0JBQUFBLElBQUksRUFBRU0sT0FBTyxDQUFDTixJQUFoQjtBQUFzQmUsa0JBQUFBLE1BQU0sRUFBRSxFQUE5QjtBQUFrQ0Msa0JBQUFBLE1BQU0sRUFBRTtBQUExQyxpQkFBRCxDQURaO0FBRUFWLGdCQUFBQSxPQUFPLENBQUNXLE9BQVI7QUFWVSxpREFXSCxLQVhHOztBQUFBO0FBZVJDLGdCQUFBQSxVQWZRLEdBZUssU0FBYkEsVUFBYSxDQUFFQyxhQUFGLEVBQXlCO0FBQzFDYixrQkFBQUEsT0FBTyxDQUFDWSxVQUFSLENBQW1CO0FBQUVFLG9CQUFBQSxPQUFPLEVBQUVEO0FBQVgsbUJBQW5CLEVBQStDbkIsSUFBL0M7QUFDQVMsa0JBQUFBLFNBQVMsSUFBSUEsU0FBUyxDQUFDO0FBQUVXLG9CQUFBQSxPQUFPLEVBQUVELGFBQVg7QUFBMEJuQixvQkFBQUEsSUFBSSxFQUFFQTtBQUFoQyxtQkFBRCxDQUF0QjtBQUNELGlCQWxCYTs7QUFBQTtBQUFBO0FBQUEsdUJBb0JXRyxNQUFNLENBQUM7QUFDNUJILGtCQUFBQSxJQUFJLEVBQUVBLElBRHNCO0FBRTVCa0Isa0JBQUFBLFVBQVUsRUFBRUEsVUFGZ0I7QUFHNUJHLGtCQUFBQSxRQUFRLEVBQUVYO0FBSGtCLGlCQUFELENBcEJqQjs7QUFBQTtBQW9CTlksZ0JBQUFBLEdBcEJNO0FBeUJSUCxnQkFBQUEsTUF6QlEsR0F5QkMsSUF6QkQ7O0FBMEJaLG9CQUFJTyxHQUFHLENBQUNDLElBQUosSUFBWSxHQUFoQixFQUFxQjtBQUNuQlIsa0JBQUFBLE1BQU0sR0FBR08sR0FBRyxDQUFDRSxJQUFKLENBQVNDLFFBQWxCO0FBQ0Q7O0FBQ0RqQixnQkFBQUEsVUFBVSxJQUNSQSxVQUFVLENBQUM7QUFBRVIsa0JBQUFBLElBQUksRUFBRU0sT0FBTyxDQUFDTixJQUFoQjtBQUFzQmUsa0JBQUFBLE1BQU0sRUFBRUEsTUFBOUI7QUFBc0NDLGtCQUFBQSxNQUFNLEVBQUU7QUFBOUMsaUJBQUQsQ0FEWjtBQUVBVixnQkFBQUEsT0FBTyxDQUFDb0IsU0FBUjtBQS9CWTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQWlDWmxCLGdCQUFBQSxVQUFVLElBQ1JBLFVBQVUsQ0FBQztBQUFFUixrQkFBQUEsSUFBSSxFQUFFTSxPQUFPLENBQUNOLElBQWhCO0FBQXNCZSxrQkFBQUEsTUFBTSxFQUFFLEVBQTlCO0FBQWtDQyxrQkFBQUEsTUFBTSxFQUFFO0FBQTFDLGlCQUFELENBRFo7QUFFQVYsZ0JBQUFBLE9BQU8sQ0FBQ1csT0FBUjs7QUFuQ1k7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTzs7Ozs7Ozs7Ozs7O1dBdUNoQixrQkFBMEI7QUFDeEIsMEJBQ0U7QUFDRSxRQUFBLGFBQWEsRUFBRSxLQUFLVSxhQUFMLENBQW1CQyxJQUFuQixDQUF3QixJQUF4QixDQURqQjtBQUVFLFFBQUEsUUFBUSxNQUZWLENBR0U7O0FBSEYsU0FJTSxLQUFLckIsS0FKWCxFQURGO0FBUUQ7Ozs7RUFuRHFCUixLQUFLLENBQUM4QixhOztBQXFEOUIsZUFBZTNCLFlBQVksQ0FBQ0UsU0FBRCxDQUEzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBVcGxvYWQsIFVwbG9hZFByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IGZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi9tZXNzYWdlXCI7XHJcbmltcG9ydCB3aXRoWmhMb2NhbGUgZnJvbSBcIi4uL2NvbW1vbi93aXRoWmhMb2NhbGVcIjtcclxuY29uc3QgeyB1cGxvYWQgfSA9IGZpbGU7XHJcblxyXG5pbnRlcmZhY2UgSVVwbG9hZFByb3BzIGV4dGVuZHMgVXBsb2FkUHJvcHMge1xyXG4gIHNsaWNlU2l6ZT86IG51bWJlcjtcclxuICBtYXhTaXplPzogbnVtYmVyO1xyXG4gIG9uUHJvY2Vzcz86IChwcm9jZXNzKSA9PiB2b2lkO1xyXG4gIG9uQ29tcGxldGU/OiAoeyBmaWxlLCBmaWxlSWQsIHN0YXR1cyB9KSA9PiB2b2lkO1xyXG59XHJcbmNsYXNzIE5zY1VwbG9hZCBleHRlbmRzIFJlYWN0LlB1cmVDb21wb25lbnQ8SVVwbG9hZFByb3BzLCBhbnk+IHtcclxuICBzdGF0ZSA9IHsgZmlsZUxpc3Q6IFtdIH07XHJcblxyXG4gIGN1c3RvbVJlcXVlc3QgPSBhc3luYyAob3B0aW9ucykgPT4ge1xyXG4gICAgY29uc3QgZmlsZSA9IG9wdGlvbnMuZmlsZTtcclxuICAgIGNvbnN0IHsgb25Db21wbGV0ZSwgb25Qcm9jZXNzLCBzbGljZVNpemUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IG1heFNpemUgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAobWF4U2l6ZSkge1xyXG4gICAgICBjb25zdCBzaXplID0gbWF4U2l6ZSAqIDEwMjQgKiAxMDI0O1xyXG4gICAgICBpZiAoc2l6ZSA8IGZpbGUuc2l6ZSkge1xyXG4gICAgICAgIG1lc3NhZ2UuZXJyb3IoYCR7ZmlsZS5uYW1lfeaWh+S7tuWkp+Wwj+i2hei/hyR7bWF4U2l6ZX1N77yM6K+36YeN5paw5LiK5Lyg77yBYCk7XHJcbiAgICAgICAgb25Db21wbGV0ZSAmJlxyXG4gICAgICAgICAgb25Db21wbGV0ZSh7IGZpbGU6IG9wdGlvbnMuZmlsZSwgZmlsZUlkOiBcIlwiLCBzdGF0dXM6IFwiZXJyb3JcIiB9KTtcclxuICAgICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvblByb2dyZXNzID0gKCB0b3RhbFByb2dyZXNzOiBhbnkpID0+IHtcclxuICAgICAgb3B0aW9ucy5vblByb2dyZXNzKHsgcGVyY2VudDogdG90YWxQcm9ncmVzcyB9LCBmaWxlKTtcclxuICAgICAgb25Qcm9jZXNzICYmIG9uUHJvY2Vzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MsIGZpbGU6IGZpbGUgfSk7XHJcbiAgICB9O1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzOiBhbnkgPSBhd2FpdCB1cGxvYWQoe1xyXG4gICAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgICAgb25Qcm9ncmVzczogb25Qcm9ncmVzcyxcclxuICAgICAgICBwYXJ0U2l6ZTogc2xpY2VTaXplLFxyXG4gICAgICB9KTtcclxuICAgICAgbGV0IGZpbGVJZCA9IG51bGw7XHJcbiAgICAgIGlmIChyZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICBmaWxlSWQgPSByZXMuZGF0YS5hdHRhY2hJZDtcclxuICAgICAgfVxyXG4gICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgb25Db21wbGV0ZSh7IGZpbGU6IG9wdGlvbnMuZmlsZSwgZmlsZUlkOiBmaWxlSWQsIHN0YXR1czogXCJzdWNjZXNzXCIgfSk7XHJcbiAgICAgIG9wdGlvbnMub25TdWNjZXNzKCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHsgZmlsZTogb3B0aW9ucy5maWxlLCBmaWxlSWQ6IFwiXCIsIHN0YXR1czogXCJlcnJvclwiIH0pO1xyXG4gICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxVcGxvYWRcclxuICAgICAgICBjdXN0b21SZXF1ZXN0PXt0aGlzLmN1c3RvbVJlcXVlc3QuYmluZCh0aGlzKX1cclxuICAgICAgICBtdWx0aXBsZVxyXG4gICAgICAgIC8vIGZpbGVMaXN0PXt0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgIHsuLi50aGlzLnByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgd2l0aFpoTG9jYWxlKE5zY1VwbG9hZCk7XHJcbiJdfQ==
172
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdXBsb2FkL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsImZpbGUiLCJtZXNzYWdlIiwid2l0aFpoTG9jYWxlIiwidXBsb2FkIiwiTnNjVXBsb2FkIiwiZmlsZUxpc3QiLCJvcHRpb25zIiwicHJvcHMiLCJvbkNvbXBsZXRlIiwib25Qcm9jZXNzIiwic2xpY2VTaXplIiwibWF4U2l6ZSIsInNpemUiLCJlcnJvciIsIm5hbWUiLCJmaWxlSWQiLCJzdGF0dXMiLCJvbkVycm9yIiwib25Qcm9ncmVzcyIsInRvdGFsUHJvZ3Jlc3MiLCJwZXJjZW50IiwicGFydFNpemUiLCJyZXMiLCJjb2RlIiwiZGF0YSIsImF0dGFjaElkIiwib25TdWNjZXNzIiwiY3VzdG9tUmVxdWVzdCIsImJpbmQiLCJQdXJlQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFFQSxPQUFPQyxJQUFQLE1BQWlCLFVBQWpCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixZQUFwQjtBQUNBLE9BQU9DLFlBQVAsTUFBeUIsd0JBQXpCO0FBQ0EsSUFBUUMsTUFBUixHQUFtQkgsSUFBbkIsQ0FBUUcsTUFBUjs7SUFRTUMsUzs7Ozs7Ozs7Ozs7Ozs7Ozs0REFDSTtBQUFFQyxNQUFBQSxRQUFRLEVBQUU7QUFBWixLOzs7eUVBRVEsaUJBQU9DLE9BQVA7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNSTixnQkFBQUEsSUFEUSxHQUNETSxPQUFPLENBQUNOLElBRFA7QUFBQSw4QkFFK0IsTUFBS08sS0FGcEMsRUFFTkMsVUFGTSxlQUVOQSxVQUZNLEVBRU1DLFNBRk4sZUFFTUEsU0FGTixFQUVpQkMsU0FGakIsZUFFaUJBLFNBRmpCO0FBR05DLGdCQUFBQSxPQUhNLEdBR00sTUFBS0osS0FIWCxDQUdOSSxPQUhNOztBQUFBLHFCQUlWQSxPQUpVO0FBQUE7QUFBQTtBQUFBOztBQUtOQyxnQkFBQUEsSUFMTSxHQUtDRCxPQUFPLEdBQUcsSUFBVixHQUFpQixJQUxsQjs7QUFBQSxzQkFNUkMsSUFBSSxHQUFHWixJQUFJLENBQUNZLElBTko7QUFBQTtBQUFBO0FBQUE7O0FBT1ZYLGdCQUFBQSxPQUFPLENBQUNZLEtBQVIsV0FBaUJiLElBQUksQ0FBQ2MsSUFBdEIsaURBQW1DSCxPQUFuQztBQUNBSCxnQkFBQUEsVUFBVSxJQUNSQSxVQUFVLENBQUM7QUFBRVIsa0JBQUFBLElBQUksRUFBRU0sT0FBTyxDQUFDTixJQUFoQjtBQUFzQmUsa0JBQUFBLE1BQU0sRUFBRSxFQUE5QjtBQUFrQ0Msa0JBQUFBLE1BQU0sRUFBRTtBQUExQyxpQkFBRCxDQURaO0FBRUFWLGdCQUFBQSxPQUFPLENBQUNXLE9BQVI7QUFWVSxpREFXSCxLQVhHOztBQUFBO0FBZVJDLGdCQUFBQSxVQWZRLEdBZUssU0FBYkEsVUFBYSxDQUFDQyxhQUFELEVBQXdCO0FBQ3pDYixrQkFBQUEsT0FBTyxDQUFDWSxVQUFSLENBQW1CO0FBQUVFLG9CQUFBQSxPQUFPLEVBQUVEO0FBQVgsbUJBQW5CLEVBQStDbkIsSUFBL0M7QUFDQVMsa0JBQUFBLFNBQVMsSUFBSUEsU0FBUyxDQUFDO0FBQUVXLG9CQUFBQSxPQUFPLEVBQUVELGFBQVg7QUFBMEJuQixvQkFBQUEsSUFBSSxFQUFFQTtBQUFoQyxtQkFBRCxDQUF0QjtBQUNELGlCQWxCYTs7QUFBQTtBQUFBO0FBQUEsdUJBb0JXRyxNQUFNLENBQUM7QUFDNUJILGtCQUFBQSxJQUFJLEVBQUVBLElBRHNCO0FBRTVCa0Isa0JBQUFBLFVBQVUsRUFBRUEsVUFGZ0I7QUFHNUJHLGtCQUFBQSxRQUFRLEVBQUVYO0FBSGtCLGlCQUFELENBcEJqQjs7QUFBQTtBQW9CTlksZ0JBQUFBLEdBcEJNO0FBeUJSUCxnQkFBQUEsTUF6QlEsR0F5QkMsSUF6QkQ7O0FBMEJaLG9CQUFJTyxHQUFHLENBQUNDLElBQUosSUFBWSxHQUFoQixFQUFxQjtBQUNuQlIsa0JBQUFBLE1BQU0sR0FBR08sR0FBRyxDQUFDRSxJQUFKLENBQVNDLFFBQWxCO0FBQ0FuQixrQkFBQUEsT0FBTyxDQUFDb0IsU0FBUjtBQUNELGlCQUhELE1BR087QUFDTHBCLGtCQUFBQSxPQUFPLENBQUNXLE9BQVI7QUFDRDs7QUFDRFQsZ0JBQUFBLFVBQVUsSUFDUkEsVUFBVSxDQUFDO0FBQ1RSLGtCQUFBQSxJQUFJLEVBQUVNLE9BQU8sQ0FBQ04sSUFETDtBQUVUZSxrQkFBQUEsTUFBTSxFQUFFQSxNQUZDO0FBR1RDLGtCQUFBQSxNQUFNLEVBQUVNLEdBQUcsQ0FBQ0MsSUFBSixJQUFZLEdBQVosR0FBa0IsU0FBbEIsR0FBOEI7QUFIN0IsaUJBQUQsQ0FEWjtBQWhDWTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQXVDWmYsZ0JBQUFBLFVBQVUsSUFDUkEsVUFBVSxDQUFDO0FBQUVSLGtCQUFBQSxJQUFJLEVBQUVNLE9BQU8sQ0FBQ04sSUFBaEI7QUFBc0JlLGtCQUFBQSxNQUFNLEVBQUUsRUFBOUI7QUFBa0NDLGtCQUFBQSxNQUFNLEVBQUU7QUFBMUMsaUJBQUQsQ0FEWjtBQUVBVixnQkFBQUEsT0FBTyxDQUFDVyxPQUFSOztBQXpDWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxPOzs7Ozs7Ozs7Ozs7V0E2Q2hCLGtCQUEwQjtBQUN4QiwwQkFDRTtBQUNFLFFBQUEsYUFBYSxFQUFFLEtBQUtVLGFBQUwsQ0FBbUJDLElBQW5CLENBQXdCLElBQXhCLENBRGpCO0FBRUUsUUFBQSxRQUFRLE1BRlYsQ0FHRTs7QUFIRixTQUlNLEtBQUtyQixLQUpYLEVBREY7QUFRRDs7OztFQXpEcUJSLEtBQUssQ0FBQzhCLGE7O0FBMkQ5QixlQUFlM0IsWUFBWSxDQUFDRSxTQUFELENBQTNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFVwbG9hZCwgVXBsb2FkUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uL21lc3NhZ2VcIjtcclxuaW1wb3J0IHdpdGhaaExvY2FsZSBmcm9tIFwiLi4vY29tbW9uL3dpdGhaaExvY2FsZVwiO1xyXG5jb25zdCB7IHVwbG9hZCB9ID0gZmlsZTtcclxuXHJcbmludGVyZmFjZSBJVXBsb2FkUHJvcHMgZXh0ZW5kcyBVcGxvYWRQcm9wcyB7XHJcbiAgc2xpY2VTaXplPzogbnVtYmVyO1xyXG4gIG1heFNpemU/OiBudW1iZXI7XHJcbiAgb25Qcm9jZXNzPzogKHByb2Nlc3MpID0+IHZvaWQ7XHJcbiAgb25Db21wbGV0ZT86ICh7IGZpbGUsIGZpbGVJZCwgc3RhdHVzIH0pID0+IHZvaWQ7XHJcbn1cclxuY2xhc3MgTnNjVXBsb2FkIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJVXBsb2FkUHJvcHMsIGFueT4ge1xyXG4gIHN0YXRlID0geyBmaWxlTGlzdDogW10gfTtcclxuXHJcbiAgY3VzdG9tUmVxdWVzdCA9IGFzeW5jIChvcHRpb25zKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlID0gb3B0aW9ucy5maWxlO1xyXG4gICAgY29uc3QgeyBvbkNvbXBsZXRlLCBvblByb2Nlc3MsIHNsaWNlU2l6ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbWF4U2l6ZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChtYXhTaXplKSB7XHJcbiAgICAgIGNvbnN0IHNpemUgPSBtYXhTaXplICogMTAyNCAqIDEwMjQ7XHJcbiAgICAgIGlmIChzaXplIDwgZmlsZS5zaXplKSB7XHJcbiAgICAgICAgbWVzc2FnZS5lcnJvcihgJHtmaWxlLm5hbWV95paH5Lu25aSn5bCP6LaF6L+HJHttYXhTaXplfU3vvIzor7fph43mlrDkuIrkvKDvvIFgKTtcclxuICAgICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgICBvbkNvbXBsZXRlKHsgZmlsZTogb3B0aW9ucy5maWxlLCBmaWxlSWQ6IFwiXCIsIHN0YXR1czogXCJlcnJvclwiIH0pO1xyXG4gICAgICAgIG9wdGlvbnMub25FcnJvcigpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9uUHJvZ3Jlc3MgPSAodG90YWxQcm9ncmVzczogYW55KSA9PiB7XHJcbiAgICAgIG9wdGlvbnMub25Qcm9ncmVzcyh7IHBlcmNlbnQ6IHRvdGFsUHJvZ3Jlc3MgfSwgZmlsZSk7XHJcbiAgICAgIG9uUHJvY2VzcyAmJiBvblByb2Nlc3MoeyBwZXJjZW50OiB0b3RhbFByb2dyZXNzLCBmaWxlOiBmaWxlIH0pO1xyXG4gICAgfTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlczogYW55ID0gYXdhaXQgdXBsb2FkKHtcclxuICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIG9uUHJvZ3Jlc3M6IG9uUHJvZ3Jlc3MsXHJcbiAgICAgICAgcGFydFNpemU6IHNsaWNlU2l6ZSxcclxuICAgICAgfSk7XHJcbiAgICAgIGxldCBmaWxlSWQgPSBudWxsO1xyXG4gICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgZmlsZUlkID0gcmVzLmRhdGEuYXR0YWNoSWQ7XHJcbiAgICAgICAgb3B0aW9ucy5vblN1Y2Nlc3MoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgICAgfVxyXG4gICAgICBvbkNvbXBsZXRlICYmXHJcbiAgICAgICAgb25Db21wbGV0ZSh7XHJcbiAgICAgICAgICBmaWxlOiBvcHRpb25zLmZpbGUsXHJcbiAgICAgICAgICBmaWxlSWQ6IGZpbGVJZCxcclxuICAgICAgICAgIHN0YXR1czogcmVzLmNvZGUgPT0gMjAwID8gXCJzdWNjZXNzXCIgOiBcImVycm9yXCIsXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIG9uQ29tcGxldGUgJiZcclxuICAgICAgICBvbkNvbXBsZXRlKHsgZmlsZTogb3B0aW9ucy5maWxlLCBmaWxlSWQ6IFwiXCIsIHN0YXR1czogXCJlcnJvclwiIH0pO1xyXG4gICAgICBvcHRpb25zLm9uRXJyb3IoKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICByZW5kZXIoKTogUmVhY3QuUmVhY3ROb2RlIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxVcGxvYWRcclxuICAgICAgICBjdXN0b21SZXF1ZXN0PXt0aGlzLmN1c3RvbVJlcXVlc3QuYmluZCh0aGlzKX1cclxuICAgICAgICBtdWx0aXBsZVxyXG4gICAgICAgIC8vIGZpbGVMaXN0PXt0aGlzLnN0YXRlLmZpbGVMaXN0fVxyXG4gICAgICAgIHsuLi50aGlzLnByb3BzfVxyXG4gICAgICAvPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgd2l0aFpoTG9jYWxlKE5zY1VwbG9hZCk7XHJcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.5.6",
3
+ "version": "2.5.8",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {