nsc-react-component 2.5.5 → 2.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/pdfviwer/index.d.ts +18 -7
- package/lib/base/pdfviwer/index.js +152 -166
- package/package.json +1 -1
|
@@ -1,11 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
interface PdfProps {
|
|
3
|
-
fileId
|
|
4
|
-
file?: Blob;
|
|
5
|
-
fileName?: string;
|
|
3
|
+
fileId: string;
|
|
6
4
|
children?: any;
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
isImage?: boolean;
|
|
6
|
+
onClick?: any;
|
|
7
|
+
autoShow?: any;
|
|
8
|
+
}
|
|
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;
|
|
9
21
|
}
|
|
10
|
-
declare function PdfViewer({ fileId, file, fileName, children, visible, onCancel, }: PdfProps): JSX.Element;
|
|
11
22
|
export default PdfViewer;
|
|
@@ -1,198 +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
|
|
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
|
|
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
|
|
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
|
|
19
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
|
|
12
20
|
|
|
13
|
-
function
|
|
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
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
import
|
|
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";
|
|
22
30
|
import file from "nsc-file";
|
|
23
|
-
import { getLess } from "../../utils";
|
|
24
31
|
import Modal from "../modal";
|
|
25
32
|
var previewDocument = file.previewDocument;
|
|
33
|
+
import Image from "../image";
|
|
26
34
|
|
|
27
|
-
function
|
|
28
|
-
|
|
29
|
-
file = _ref.file,
|
|
30
|
-
fileName = _ref.fileName,
|
|
31
|
-
children = _ref.children,
|
|
32
|
-
visible = _ref.visible,
|
|
33
|
-
_onCancel = _ref.onCancel;
|
|
34
|
-
var modalRef = useRef(null);
|
|
35
|
-
|
|
36
|
-
var _useState = useState(""),
|
|
37
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
38
|
-
pdfWidth = _useState2[0],
|
|
39
|
-
setPdfWidth = _useState2[1];
|
|
40
|
-
|
|
41
|
-
var _useState3 = useState(0),
|
|
42
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
43
|
-
numPages = _useState4[0],
|
|
44
|
-
setNumPages = _useState4[1];
|
|
45
|
-
|
|
46
|
-
var _useState5 = useState(1),
|
|
47
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
48
|
-
pageNumber = _useState6[0],
|
|
49
|
-
setPageNumber = _useState6[1];
|
|
50
|
-
|
|
51
|
-
var _ref2 = useState(file),
|
|
52
|
-
_ref3 = _slicedToArray(_ref2, 2),
|
|
53
|
-
fileSteam = _ref3[0],
|
|
54
|
-
setFile = _ref3[1];
|
|
55
|
-
|
|
56
|
-
var _useState7 = useState(visible || false),
|
|
57
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
58
|
-
visibleState = _useState8[0],
|
|
59
|
-
setVisible = _useState8[1];
|
|
60
|
-
|
|
61
|
-
pdfjs.GlobalWorkerOptions.workerSrc = require("pdfjs-dist/legacy/build/pdf.worker.entry.js");
|
|
62
|
-
useEffect(function () {
|
|
63
|
-
fileId && getFile();
|
|
64
|
-
setFile(file);
|
|
65
|
-
}, [file]);
|
|
66
|
-
useEffect(function () {
|
|
67
|
-
setVisible(visible);
|
|
68
|
-
}, [visible]);
|
|
69
|
-
useEffect(function () {
|
|
70
|
-
fileId && getFile(); // setFile(file);
|
|
71
|
-
}, [fileId]);
|
|
72
|
-
|
|
73
|
-
var getFile = /*#__PURE__*/function () {
|
|
74
|
-
var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
75
|
-
var res;
|
|
76
|
-
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
77
|
-
while (1) {
|
|
78
|
-
switch (_context.prev = _context.next) {
|
|
79
|
-
case 0:
|
|
80
|
-
_context.next = 2;
|
|
81
|
-
return previewDocument(fileId, {
|
|
82
|
-
responseType: "blob"
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
case 2:
|
|
86
|
-
res = _context.sent;
|
|
87
|
-
setFile(res);
|
|
88
|
-
|
|
89
|
-
case 4:
|
|
90
|
-
case "end":
|
|
91
|
-
return _context.stop();
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}, _callee);
|
|
95
|
-
}));
|
|
35
|
+
var PdfViewer = /*#__PURE__*/function (_React$PureComponent) {
|
|
36
|
+
_inherits(PdfViewer, _React$PureComponent);
|
|
96
37
|
|
|
97
|
-
|
|
98
|
-
return _ref4.apply(this, arguments);
|
|
99
|
-
};
|
|
100
|
-
}();
|
|
38
|
+
var _super = _createSuper(PdfViewer);
|
|
101
39
|
|
|
102
|
-
function
|
|
103
|
-
var
|
|
104
|
-
setNumPages(numPages);
|
|
105
|
-
setPageNumber(1); // successCallback && successCallback({ result: "预览成功" });
|
|
106
|
-
}
|
|
40
|
+
function PdfViewer(props) {
|
|
41
|
+
var _this;
|
|
107
42
|
|
|
108
|
-
|
|
109
|
-
}
|
|
43
|
+
_classCallCheck(this, PdfViewer);
|
|
110
44
|
|
|
111
|
-
|
|
112
|
-
setPageNumber(function (oldVal) {
|
|
113
|
-
if (oldVal - 1 < 1) {
|
|
114
|
-
return oldVal;
|
|
115
|
-
}
|
|
45
|
+
_this = _super.call(this, props);
|
|
116
46
|
|
|
117
|
-
|
|
118
|
-
});
|
|
119
|
-
}
|
|
47
|
+
_defineProperty(_assertThisInitialized(_this), "modelRef", /*#__PURE__*/React.createRef());
|
|
120
48
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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;
|
|
126
61
|
|
|
127
|
-
|
|
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);
|
|
66
|
+
}
|
|
67
|
+
} else {
|
|
68
|
+
_this.showFile();
|
|
69
|
+
}
|
|
128
70
|
});
|
|
129
|
-
}
|
|
130
71
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
+
}));
|
|
138
103
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
} // modalRef.current.show();
|
|
104
|
+
return function (_x, _x2) {
|
|
105
|
+
return _ref.apply(this, arguments);
|
|
106
|
+
};
|
|
107
|
+
}());
|
|
144
108
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
setVisible(false);
|
|
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");
|
|
156
119
|
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
_this.state = {
|
|
123
|
+
fileUrl: "",
|
|
124
|
+
fileId: props.fileId,
|
|
125
|
+
imageState: props.isImage
|
|
126
|
+
};
|
|
127
|
+
return _this;
|
|
128
|
+
}
|
|
157
129
|
|
|
158
|
-
|
|
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);
|
|
159
137
|
}
|
|
160
|
-
},
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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
|
+
}
|
|
167
150
|
}
|
|
168
|
-
},
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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
|
+
}))));
|
|
181
177
|
}
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
file: fileSteam,
|
|
187
|
-
onLoadSuccess: onDocumentLoadSuccess,
|
|
188
|
-
onLoadError: onLoadError,
|
|
189
|
-
error: "\u52A0\u8F7D\u51FA\u9519",
|
|
190
|
-
noData: "\u6CA1\u6709pdf\u6587\u4EF6"
|
|
191
|
-
}, /*#__PURE__*/React.createElement(PdfPage, {
|
|
192
|
-
width: pdfWidth,
|
|
193
|
-
pageNumber: pageNumber
|
|
194
|
-
}))))));
|
|
195
|
-
}
|
|
178
|
+
}]);
|
|
179
|
+
|
|
180
|
+
return PdfViewer;
|
|
181
|
+
}(React.PureComponent);
|
|
196
182
|
|
|
197
183
|
export default PdfViewer;
|
|
198
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvcGRmdml3ZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlU3RhdGUiLCJEb2N1bWVudCIsIlBhZ2UiLCJQZGZQYWdlIiwicGRmanMiLCJCdXR0b24iLCJJbnB1dCIsInN0eWxlcyIsImZpbGUiLCJnZXRMZXNzIiwiTW9kYWwiLCJwcmV2aWV3RG9jdW1lbnQiLCJQZGZWaWV3ZXIiLCJmaWxlSWQiLCJmaWxlTmFtZSIsImNoaWxkcmVuIiwidmlzaWJsZSIsIm9uQ2FuY2VsIiwibW9kYWxSZWYiLCJwZGZXaWR0aCIsInNldFBkZldpZHRoIiwibnVtUGFnZXMiLCJzZXROdW1QYWdlcyIsInBhZ2VOdW1iZXIiLCJzZXRQYWdlTnVtYmVyIiwiZmlsZVN0ZWFtIiwic2V0RmlsZSIsInZpc2libGVTdGF0ZSIsInNldFZpc2libGUiLCJHbG9iYWxXb3JrZXJPcHRpb25zIiwid29ya2VyU3JjIiwicmVxdWlyZSIsImdldEZpbGUiLCJyZXNwb25zZVR5cGUiLCJyZXMiLCJvbkRvY3VtZW50TG9hZFN1Y2Nlc3MiLCJvbkxvYWRFcnJvciIsImVycm9yIiwiaGFuZGxlUHJldmlvdXMiLCJvbGRWYWwiLCJoYW5kbGVOZXh0IiwiaGFuZGxlSW5wdXQiLCJlIiwidmFsdWUiLCJwYXJzZUludCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsSUFBZ0JDLFNBQWhCLEVBQTJCQyxNQUEzQixFQUFtQ0MsUUFBbkMsUUFBbUQsT0FBbkQ7QUFDQSxTQUFTQyxRQUFULEVBQW1CQyxJQUFJLElBQUlDLE9BQTNCLEVBQW9DQyxLQUFwQyxRQUFpRCxXQUFqRDtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLFVBQWxCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLE9BQU9DLElB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RCxlQUFlWCxTQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgeyBEb2N1bWVudCwgUGFnZSBhcyBQZGZQYWdlLCBwZGZqcyB9IGZyb20gXCJyZWFjdC1wZGZcIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vYnV0dG9uXCI7XHJcbmltcG9ydCBJbnB1dCBmcm9tIFwiLi4vaW5wdXRcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCBmaWxlIGZyb20gXCJuc2MtZmlsZVwiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuY29uc3QgeyBwcmV2aWV3RG9jdW1lbnQgfSA9IGZpbGU7XHJcbmludGVyZmFjZSBQZGZQcm9wcyB7XHJcbiAgZmlsZUlkPzogc3RyaW5nO1xyXG4gIGZpbGU/OiBCbG9iO1xyXG4gIGZpbGVOYW1lPzogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogYW55O1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIG9uQ2FuY2VsPzogYW55O1xyXG59XHJcbmZ1bmN0aW9uIFBkZlZpZXdlcih7XHJcbiAgZmlsZUlkLFxyXG4gIGZpbGUsXHJcbiAgZmlsZU5hbWUsXHJcbiAgY2hpbGRyZW4sXHJcbiAgdmlzaWJsZSxcclxuICBvbkNhbmNlbCxcclxufTogUGRmUHJvcHMpIHtcclxuICBjb25zdCBtb2RhbFJlZiA9IHVzZVJlZihudWxsKTtcclxuICBjb25zdCBbcGRmV2lkdGgsIHNldFBkZldpZHRoXSA9IHVzZVN0YXRlKFwiXCIpO1xyXG4gIGNvbnN0IFtudW1QYWdlcywgc2V0TnVtUGFnZXNdID0gdXNlU3RhdGUoMCk7XHJcbiAgY29uc3QgW3BhZ2VOdW1iZXIsIHNldFBhZ2VOdW1iZXJdID0gdXNlU3RhdGUoMSk7XHJcbiAgY29uc3QgW2ZpbGVTdGVhbSwgc2V0RmlsZV0gPSB1c2VTdGF0ZShmaWxlKSBhcyBhbnk7XHJcbiAgY29uc3QgW3Zpc2libGVTdGF0ZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZSh2aXNpYmxlIHx8IGZhbHNlKTtcclxuICBwZGZqcy5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclNyYyA9IHJlcXVpcmUoXCJwZGZqcy1kaXN0L2xlZ2FjeS9idWlsZC9wZGYud29ya2VyLmVudHJ5LmpzXCIpO1xyXG5cclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgZmlsZUlkICYmIGdldEZpbGUoKTtcclxuICAgIHNldEZpbGUoZmlsZSk7XHJcbiAgfSwgW2ZpbGVdKTtcclxuICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgc2V0VmlzaWJsZSh2aXNpYmxlKTtcclxuICB9LCBbdmlzaWJsZV0pO1xyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICBmaWxlSWQgJiYgZ2V0RmlsZSgpO1xyXG4gICAgLy8gc2V0RmlsZShmaWxlKTtcclxuICB9LCBbZmlsZUlkXSk7XHJcbiAgY29uc3QgZ2V0RmlsZSA9IGFzeW5jICgpID0+IHtcclxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHByZXZpZXdEb2N1bWVudChmaWxlSWQsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiBcImJsb2JcIixcclxuICAgIH0pO1xyXG4gICAgc2V0RmlsZShyZXMpO1xyXG4gIH07XHJcbiAgZnVuY3Rpb24gb25Eb2N1bWVudExvYWRTdWNjZXNzKHsgbnVtUGFnZXMgfSkge1xyXG4gICAgc2V0TnVtUGFnZXMobnVtUGFnZXMpO1xyXG4gICAgc2V0UGFnZU51bWJlcigxKTtcclxuICAgIC8vIHN1Y2Nlc3NDYWxsYmFjayAmJiBzdWNjZXNzQ2FsbGJhY2soeyByZXN1bHQ6IFwi6aKE6KeI5oiQ5YqfXCIgfSk7XHJcbiAgfVxyXG4gIGZ1bmN0aW9uIG9uTG9hZEVycm9yKGVycm9yKSB7XHJcbiAgICAvLyBlcnJvckNhbGxiYWNrICYmIGVycm9yQ2FsbGJhY2soeyBtc2c6IGVycm9yLm1lc3NhZ2UgfSk7XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBoYW5kbGVQcmV2aW91cygpIHtcclxuICAgIHNldFBhZ2VOdW1iZXIoKG9sZFZhbCkgPT4ge1xyXG4gICAgICBpZiAob2xkVmFsIC0gMSA8IDEpIHtcclxuICAgICAgICByZXR1cm4gb2xkVmFsO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBvbGRWYWwgLSAxO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGZ1bmN0aW9uIGhhbmRsZU5leHQoKSB7XHJcbiAgICBzZXRQYWdlTnVtYmVyKChvbGRWYWwpID0+IHtcclxuICAgICAgaWYgKG9sZFZhbCA+PSBudW1QYWdlcykge1xyXG4gICAgICAgIHJldHVybiBvbGRWYWw7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG9sZFZhbCArIDE7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZnVuY3Rpb24gaGFuZGxlSW5wdXQoZSkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUludChlKTtcclxuICAgIGlmICghdmFsdWUpIHJldHVybjtcclxuICAgIGlmICh2YWx1ZSA+IG51bVBhZ2VzKSByZXR1cm47XHJcbiAgICBpZiAodmFsdWUgPCAxKSByZXR1cm47XHJcbiAgICBzZXRQYWdlTnVtYmVyKHZhbHVlKTtcclxuICB9XHJcbiAgcmV0dXJuIChcclxuICAgIDw+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICBpZiAodmlzaWJsZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHNldFZpc2libGUodHJ1ZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAvLyBtb2RhbFJlZi5jdXJyZW50LnNob3coKTtcclxuICAgICAgICB9fVxyXG4gICAgICA+XHJcbiAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPE1vZGFsXHJcbiAgICAgICAgd2lkdGg9XCI0MnZ3XCJcclxuICAgICAgICB0aXRsZT17ZmlsZU5hbWUgfHwgXCLmlofku7bpooTop4hcIn1cclxuICAgICAgICB0eXBlPXtcImRyYXdlclwifVxyXG4gICAgICAgIGZvb3Rlcj17bnVsbH1cclxuICAgICAgICByZWY9e21vZGFsUmVmfVxyXG4gICAgICAgIHZpc2libGU9e3Zpc2libGVTdGF0ZX1cclxuICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHZpc2libGUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBzZXRWaXNpYmxlKGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIG9uQ2FuY2VsICYmIG9uQ2FuY2VsKCk7XHJcbiAgICAgICAgfX1cclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb250YWluZXJcIil9PlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImJ1dHRvbmxpc3RcIil9PlxyXG4gICAgICAgICAgICA8QnV0dG9uIG9uQ2xpY2s9eygpID0+IGhhbmRsZVByZXZpb3VzKCl9PuS4iuS4gOmhtTwvQnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicGFnZXRvb2xcIil9PlxyXG4gICAgICAgICAgICAgIOesrCZuYnNwO1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwZGYtaW5wdXRcIil9PlxyXG4gICAgICAgICAgICAgICAgPElucHV0Lk51bWJlclxyXG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZUlucHV0KGUpfVxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZT17cGFnZU51bWJlcn1cclxuICAgICAgICAgICAgICAgICAgbWluPXsxfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8c3Bhbj4mbmJzcDvpobUmbmJzcDvlhbEmbmJzcDt7bnVtUGFnZXN9Jm5ic3A76aG1PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVOZXh0KCl9PuS4i+S4gOmhtTwvQnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicGRmLXZpZXdlci1jb250YWluZXJcIil9PlxyXG4gICAgICAgICAgICA8RG9jdW1lbnRcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInBkZi12aWV3ZXItZG9jdW1lbnRcIil9XHJcbiAgICAgICAgICAgICAgZmlsZT17ZmlsZVN0ZWFtfVxyXG4gICAgICAgICAgICAgIG9uTG9hZFN1Y2Nlc3M9e29uRG9jdW1lbnRMb2FkU3VjY2Vzc31cclxuICAgICAgICAgICAgICBvbkxvYWRFcnJvcj17b25Mb2FkRXJyb3J9XHJcbiAgICAgICAgICAgICAgZXJyb3I9XCLliqDovb3lh7rplJlcIlxyXG4gICAgICAgICAgICAgIG5vRGF0YT1cIuayoeaciXBkZuaWh+S7tlwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8UGRmUGFnZSB3aWR0aD17cGRmV2lkdGh9IHBhZ2VOdW1iZXI9e3BhZ2VOdW1iZXJ9IC8+XHJcbiAgICAgICAgICAgIDwvRG9jdW1lbnQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9Nb2RhbD5cclxuICAgIDwvPlxyXG4gICk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IFBkZlZpZXdlcjtcclxuIl19
|
|
184
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvcGRmdml3ZXIvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiZmlsZSIsIk1vZGFsIiwicHJldmlld0RvY3VtZW50IiwiSW1hZ2UiLCJQZGZWaWV3ZXIiLCJwcm9wcyIsImNyZWF0ZVJlZiIsInBhcmFtcyIsImlzSW1hZ2UiLCJpZCIsImZpbGVJZCIsInNldFN0YXRlIiwiaW1hZ2VTdGF0ZSIsIm1vZGVsUmVmIiwiY3VycmVudCIsInNob3ciLCJnZXRGaWxlIiwic2hvd0ZpbGUiLCJhdXRvIiwicmVzcG9uc2VUeXBlIiwicmVzIiwidXJsIiwid2luZG93IiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwiQmxvYiIsInR5cGUiLCJmaWxlVXJsIiwib3BlbiIsInN0YXRlIiwicHJlUHJvcHMiLCJjaGlsZHJlbiIsIm9uQ2xpY2siLCJhdXRvU2hvdyIsIlB1cmVDb21wb25lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLE1BTU8sT0FOUDtBQU9BLE9BQU9DLElBQVAsTUFBaUIsVUFBakI7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLFVBQWxCO0FBQ0EsSUFBUUMsZUFBUixHQUE0QkYsSUFBNUIsQ0FBUUUsZUFBUjtBQUNBLE9BQU9DLEtBQVAsTUFBa0IsVUFBbEI7O0lBUU1DLFM7Ozs7O0FBRUoscUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsOEJBQU1BLEtBQU47O0FBRGlCLDRFQURSTixLQUFLLENBQUNPLFNBQU4sRUFDUTs7QUFBQSwyREF1QlosVUFBQ0MsTUFBRCxFQUFtRDtBQUN4RCxVQUFJQSxNQUFKLEVBQVk7QUFDViw4QkFBd0NBLE1BQXhDLENBQVFDLE9BQVI7QUFBQSxZQUFRQSxPQUFSLGdDQUFrQixLQUFsQjtBQUFBLFlBQWlDQyxFQUFqQyxHQUF3Q0YsTUFBeEMsQ0FBeUJHLE1BQXpCOztBQUNBLFlBQUlGLE9BQUosRUFBYTtBQUNYLGdCQUFLRyxRQUFMLENBQ0U7QUFDRUQsWUFBQUEsTUFBTSxFQUFFRCxFQURWO0FBRUVHLFlBQUFBLFVBQVUsRUFBRTtBQUZkLFdBREYsRUFLRSxZQUFNO0FBQUE7O0FBQ0osMkNBQUtDLFFBQUwsQ0FBY0MsT0FBZCxnRkFBdUJDLElBQXZCO0FBQ0QsV0FQSDtBQVNELFNBVkQsTUFVTztBQUNMLGdCQUFLQyxPQUFMLENBQWFQLEVBQWIsRUFBaUIsSUFBakI7QUFDRDtBQUNGLE9BZkQsTUFlTztBQUNMLGNBQUtRLFFBQUw7QUFDRDtBQUNGLEtBMUNrQjs7QUFBQTtBQUFBLHlFQTJDVCxpQkFBT1IsRUFBUCxFQUFXUyxJQUFYO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsdUJBQ1VoQixlQUFlLENBQUNPLEVBQUQsRUFBSztBQUNwQ1Usa0JBQUFBLFlBQVksRUFBRTtBQURzQixpQkFBTCxDQUR6Qjs7QUFBQTtBQUNGQyxnQkFBQUEsR0FERTtBQUlKQyxnQkFBQUEsR0FKSSxHQUlFQyxNQUFNLENBQUNDLEdBQVAsQ0FBV0MsZUFBWCxDQUNSLElBQUlDLElBQUosQ0FBUyxDQUFDTCxHQUFELENBQVQsRUFBZ0I7QUFDZE0sa0JBQUFBLElBQUksRUFBRTtBQURRLGlCQUFoQixDQURRLENBSkY7O0FBU1Isc0JBQUtmLFFBQUwsQ0FBYztBQUNaZ0Isa0JBQUFBLE9BQU8sRUFBRU47QUFERyxpQkFBZDs7QUFHQUgsZ0JBQUFBLElBQUksSUFBSUksTUFBTSxDQUFDTSxJQUFQLENBQVlQLEdBQVosRUFBaUIsUUFBakIsQ0FBUjs7QUFaUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxPQTNDUzs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQSwrREF5RFIsWUFBTTtBQUNmLGdDQUE0QixNQUFLaEIsS0FBakMsQ0FBUUcsT0FBUjtBQUFBLFVBQVFBLE9BQVIsb0NBQWtCLEtBQWxCOztBQUNBLFVBQUlBLE9BQUosRUFBYTtBQUFBOztBQUNYLHdDQUFLSyxRQUFMLENBQWNDLE9BQWQsa0ZBQXVCQyxJQUF2QjtBQUNELE9BRkQsTUFFTztBQUNMTyxRQUFBQSxNQUFNLENBQUNNLElBQVAsQ0FBWSxNQUFLQyxLQUFMLENBQVdGLE9BQXZCLEVBQWdDLFFBQWhDO0FBQ0Q7QUFDRixLQWhFa0I7O0FBRWpCLFVBQUtFLEtBQUwsR0FBYTtBQUNYRixNQUFBQSxPQUFPLEVBQUUsRUFERTtBQUVYakIsTUFBQUEsTUFBTSxFQUFFTCxLQUFLLENBQUNLLE1BRkg7QUFHWEUsTUFBQUEsVUFBVSxFQUFFUCxLQUFLLENBQUNHO0FBSFAsS0FBYjtBQUZpQjtBQU9sQjs7OztXQUNELDZCQUFvQjtBQUNsQix3QkFBNEIsS0FBS0gsS0FBakM7QUFBQSxVQUFRSyxNQUFSLGVBQVFBLE1BQVI7QUFBQSxVQUFnQkYsT0FBaEIsZUFBZ0JBLE9BQWhCO0FBQ0FFLE1BQUFBLE1BQU0sSUFBSSxDQUFDRixPQUFYLElBQXNCLEtBQUtRLE9BQUwsQ0FBYU4sTUFBYixDQUF0QjtBQUNEOzs7V0FFRCw0QkFBbUJvQixRQUFuQixFQUE2QjtBQUMzQixVQUFJQSxRQUFRLENBQUNwQixNQUFULEtBQW9CLEtBQUtMLEtBQUwsQ0FBV0ssTUFBbkMsRUFBMkM7QUFDekMsMkJBQTRCLEtBQUtMLEtBQWpDO0FBQUEsWUFBUUssTUFBUixnQkFBUUEsTUFBUjtBQUFBLFlBQWdCRixPQUFoQixnQkFBZ0JBLE9BQWhCO0FBQ0FFLFFBQUFBLE1BQU0sSUFBSSxDQUFDRixPQUFYLElBQXNCLEtBQUtRLE9BQUwsQ0FBYU4sTUFBYixDQUF0QjtBQUNBLGFBQUtDLFFBQUwsQ0FBYztBQUNaRCxVQUFBQSxNQUFNLEVBQUUsS0FBS0wsS0FBTCxDQUFXSztBQURQLFNBQWQ7QUFHRDtBQUNGOzs7V0E0Q0Qsa0JBQVM7QUFBQTs7QUFDUCx5QkFNSSxLQUFLTCxLQU5UO0FBQUEsVUFDRTBCLFFBREYsZ0JBQ0VBLFFBREY7QUFBQSxVQUVFckIsTUFGRixnQkFFRUEsTUFGRjtBQUFBLDhDQUdFRixPQUhGO0FBQUEsVUFHRUEsT0FIRixxQ0FHWSxLQUhaO0FBQUEsVUFJRXdCLFFBSkYsZ0JBSUVBLE9BSkY7QUFBQSwrQ0FLRUMsUUFMRjtBQUFBLFVBS0VBLFFBTEYsc0NBS2EsSUFMYjtBQU9BLDBCQUNFLHVEQUNFO0FBQ0UsUUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYkQsVUFBQUEsUUFBTyxJQUFJQSxRQUFPLEVBQWxCO0FBQ0FDLFVBQUFBLFFBQVEsSUFBSSxNQUFJLENBQUNoQixRQUFMLEVBQVo7QUFDRDtBQUpILFNBTUdjLFFBTkgsQ0FERixFQVNHLEtBQUtGLEtBQUwsQ0FBV2pCLFVBQVgsaUJBQ0Msb0JBQUMsS0FBRDtBQUFPLFFBQUEsR0FBRyxFQUFFLEtBQUtDLFFBQWpCO0FBQTJCLFFBQUEsTUFBTSxFQUFFLEdBQW5DO0FBQXdDLFFBQUEsTUFBTSxFQUFFO0FBQWhELHNCQUNFLDhDQUNFLG9CQUFDLEtBQUQ7QUFBTyxRQUFBLE1BQU0sRUFBRSxLQUFLZ0IsS0FBTCxDQUFXbkIsTUFBMUI7QUFBa0MsUUFBQSxPQUFPLEVBQUU7QUFBM0MsUUFERixDQURGLENBVkosQ0FERjtBQW1CRDs7OztFQTlGcUJYLEtBQUssQ0FBQ21DLGE7O0FBZ0c5QixlQUFlOUIsU0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xyXG4gIGZvcndhcmRSZWYsXHJcbiAgdXNlRWZmZWN0LFxyXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXHJcbiAgdXNlUmVmLFxyXG4gIHVzZVN0YXRlLFxyXG59IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgZmlsZSBmcm9tIFwibnNjLWZpbGVcIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi9tb2RhbFwiO1xyXG5jb25zdCB7IHByZXZpZXdEb2N1bWVudCB9ID0gZmlsZTtcclxuaW1wb3J0IEltYWdlIGZyb20gXCIuLi9pbWFnZVwiO1xyXG5pbnRlcmZhY2UgUGRmUHJvcHMge1xyXG4gIGZpbGVJZDogc3RyaW5nO1xyXG4gIGNoaWxkcmVuPzogYW55O1xyXG4gIGlzSW1hZ2U/OiBib29sZWFuO1xyXG4gIG9uQ2xpY2s/OiBhbnk7XHJcbiAgYXV0b1Nob3c/OiBhbnk7XHJcbn1cclxuY2xhc3MgUGRmVmlld2VyIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxQZGZQcm9wcywgYW55PiB7XHJcbiAgbW9kZWxSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICBmaWxlVXJsOiBcIlwiLFxyXG4gICAgICBmaWxlSWQ6IHByb3BzLmZpbGVJZCxcclxuICAgICAgaW1hZ2VTdGF0ZTogcHJvcHMuaXNJbWFnZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBmaWxlSWQsIGlzSW1hZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBmaWxlSWQgJiYgIWlzSW1hZ2UgJiYgdGhpcy5nZXRGaWxlKGZpbGVJZCk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMpIHtcclxuICAgIGlmIChwcmVQcm9wcy5maWxlSWQgIT09IHRoaXMucHJvcHMuZmlsZUlkKSB7XHJcbiAgICAgIGNvbnN0IHsgZmlsZUlkLCBpc0ltYWdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICBmaWxlSWQgJiYgIWlzSW1hZ2UgJiYgdGhpcy5nZXRGaWxlKGZpbGVJZCk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGZpbGVJZDogdGhpcy5wcm9wcy5maWxlSWQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdyA9IChwYXJhbXM/OiB7IGZpbGVJZDogc3RyaW5nOyBpc0ltYWdlOiBib29sZWFuIH0pID0+IHtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgY29uc3QgeyBpc0ltYWdlID0gZmFsc2UsIGZpbGVJZDogaWQgfSA9IHBhcmFtcztcclxuICAgICAgaWYgKGlzSW1hZ2UpIHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBmaWxlSWQ6IGlkLFxyXG4gICAgICAgICAgICBpbWFnZVN0YXRlOiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbFJlZi5jdXJyZW50Py5zaG93KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmdldEZpbGUoaWQsIHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dGaWxlKCk7XHJcbiAgICB9XHJcbiAgfTtcclxuICBnZXRGaWxlID0gYXN5bmMgKGlkLCBhdXRvPzogQm9vbGVhbikgPT4ge1xyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgcHJldmlld0RvY3VtZW50KGlkLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogXCJibG9iXCIsXHJcbiAgICB9KTtcclxuICAgIGxldCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChcclxuICAgICAgbmV3IEJsb2IoW3Jlc10sIHtcclxuICAgICAgICB0eXBlOiBcImFwcGxpY2F0aW9uL3BkZjtjaGFyc2V0PXV0Zi04XCIsXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGZpbGVVcmw6IHVybCxcclxuICAgIH0pO1xyXG4gICAgYXV0byAmJiB3aW5kb3cub3Blbih1cmwsIFwiX2JsYW5rXCIpO1xyXG4gIH07XHJcbiAgc2hvd0ZpbGUgPSAoKSA9PiB7XHJcbiAgICBjb25zdCB7IGlzSW1hZ2UgPSBmYWxzZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmIChpc0ltYWdlKSB7XHJcbiAgICAgIHRoaXMubW9kZWxSZWYuY3VycmVudD8uc2hvdygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgd2luZG93Lm9wZW4odGhpcy5zdGF0ZS5maWxlVXJsLCBcIl9ibGFua1wiKTtcclxuICAgIH1cclxuICB9O1xyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hpbGRyZW4sXHJcbiAgICAgIGZpbGVJZCxcclxuICAgICAgaXNJbWFnZSA9IGZhbHNlLFxyXG4gICAgICBvbkNsaWNrLFxyXG4gICAgICBhdXRvU2hvdyA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDw+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2soKTtcclxuICAgICAgICAgICAgYXV0b1Nob3cgJiYgdGhpcy5zaG93RmlsZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge3RoaXMuc3RhdGUuaW1hZ2VTdGF0ZSAmJiAoXHJcbiAgICAgICAgICA8TW9kYWwgcmVmPXt0aGlzLm1vZGVsUmVmfSBoZWlnaHQ9ezMwMH0gZm9vdGVyPXtudWxsfT5cclxuICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICA8SW1hZ2UgZmlsZUlkPXt0aGlzLnN0YXRlLmZpbGVJZH0gcHJldmlldz17ZmFsc2V9IC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgICApfVxyXG4gICAgICA8Lz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IFBkZlZpZXdlcjtcclxuIl19
|