nsc-react-component 2.1.6 → 2.1.9

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.
@@ -9,7 +9,7 @@ declare class EditorForm extends PureComponent<any> {
9
9
  dictNames: any;
10
10
  };
11
11
  valid: any;
12
- show(value?: any, flag?: boolean): void;
12
+ show(value?: any, editorflag?: boolean): void;
13
13
  hide(hide?: boolean): void;
14
14
  onSubmit(): void;
15
15
  valueChange({ type, dictName }: {
@@ -66,13 +66,14 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
66
66
 
67
67
  _createClass(EditorForm, [{
68
68
  key: "show",
69
- value: function show(value) {
70
- var flag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
69
+ value: //表单显示
70
+ function show(value) {
71
+ var editorflag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
71
72
  var label = "新增";
72
73
 
73
- if (value && flag) {
74
+ if (value && editorflag) {
74
75
  label = "编辑";
75
- } else if (value && !flag) {
76
+ } else if (value && !editorflag) {
76
77
  label = "查看";
77
78
  }
78
79
 
@@ -81,10 +82,10 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
81
82
 
82
83
  this.setState({
83
84
  label: label,
84
- editorFlag: !flag,
85
- value: value === null || value === void 0 ? void 0 : value.attribute
85
+ editorFlag: !editorflag,
86
+ value: value
86
87
  });
87
- (_this$formRef$current = this.formRef.current) === null || _this$formRef$current === void 0 ? void 0 : _this$formRef$current.showForm(value === null || value === void 0 ? void 0 : value.attribute);
88
+ (_this$formRef$current = this.formRef.current) === null || _this$formRef$current === void 0 ? void 0 : _this$formRef$current.showForm(value);
88
89
  } else {
89
90
  var _this$formRef$current2;
90
91
 
@@ -258,4 +259,4 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
258
259
  }(PureComponent);
259
260
 
260
261
  export default EditorForm;
261
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiRWRpdG9yRm9ybSIsImNyZWF0ZVJlZiIsImxvYWRpbmciLCJsYWJlbCIsImVkaXRvckZsYWciLCJ2YWx1ZSIsImRpY3ROYW1lcyIsImZsYWciLCJzZXRTdGF0ZSIsImF0dHJpYnV0ZSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJwcm9wcyIsImRlZmF1bHRWYWx1ZSIsImhpZGUiLCJoaWRlRm9ybSIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsIm9uU3VibWl0IiwiY2FsbEJhY2siLCJzdGF0ZSIsImZvcm1WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwidmFsaWQiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJkYXRhIiwiaWQiLCJFcnJvciIsIm5vVW5kZWZpbmVkIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJjYXRjaCIsImVycm9ySW5mbyIsInZhbHVlT3B0aW9uIiwidHlwZSIsImRpY3ROYW1lIiwibmV3TmFtZXMiLCJmb3JtUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImJpbmQiLCJva0J1dHRvblByb3BzIiwiY2VudGVyZWQiLCJ3aWR0aCIsIm5ld1ZhbGlkIiwiZmxleCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsIm5hbWUiLCJzcGFuIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJB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akIsQ0FBc0IsTUFBdEIsRUFBNEI7QUFDcENULFlBQUFBLElBQUksRUFBRWdCLElBQUksQ0FBQ2hCLElBRHlCO0FBRXBDQyxZQUFBQSxRQUFRLEVBQUVlLElBQUksQ0FBQ2Y7QUFGcUIsV0FBNUI7QUFKSixXQUxWLENBREYsQ0FERjtBQW1CRCxPQTNCQSxDQURILENBUEYsQ0FERjtBQXdDRDs7OztFQW5Kc0I1QyxhOztBQXNKekIsZUFBZU0sVUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IHsgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vYmFzZS9tZXNzYWdlXCI7XHJcbmltcG9ydCBDb2wgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Db2xcIjtcclxuaW1wb3J0IFJvdyBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL1Jvd1wiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmNsYXNzIEVkaXRvckZvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PGFueT4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBsYWJlbDogXCJcIixcclxuICAgIGVkaXRvckZsYWc6IHRydWUsXHJcbiAgICB2YWx1ZToge30gYXMgYW55LFxyXG4gICAgZGljdE5hbWVzOiB7fSBhcyBhbnksXHJcbiAgfTtcclxuICB2YWxpZDogYW55ID0gW107XHJcbiAgc2hvdyh2YWx1ZT86IGFueSwgZmxhZyA9IHRydWUpIHtcclxuICAgIGxldCBsYWJlbCA9IFwi5paw5aKeXCI7XHJcbiAgICBpZiAodmFsdWUgJiYgZmxhZykge1xyXG4gICAgICBsYWJlbCA9IFwi57yW6L6RXCI7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmICFmbGFnKSB7XHJcbiAgICAgIGxhYmVsID0gXCLmn6XnnItcIjtcclxuICAgIH1cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgZWRpdG9yRmxhZzogIWZsYWcsXHJcbiAgICAgICAgdmFsdWU6IHZhbHVlPy5hdHRyaWJ1dGUsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWU/LmF0dHJpYnV0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odGhpcy5wcm9wcy5kZWZhdWx0VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBoaWRlKGhpZGUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICBoaWRlICYmIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5oaWRlRm9ybSgpO1xyXG4gIH1cclxuICBvblN1Ym1pdCgpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIG9uU3VibWl0LFxyXG4gICAgICBjYWxsQmFjayxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBsYWJlbCwgdmFsdWUsIGRpY3ROYW1lcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHZhbGlkID0gdGhpcy52YWxpZDtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50XHJcbiAgICAgID8udmFsaWRhdGVGaWVsZHModmFsaWQpXHJcbiAgICAgIC50aGVuKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogdHJ1ZSB9KTtcclxuICAgICAgICBsZXQgZGF0YSA9IHsgLi4uZm9ybVZhbHVlLCAuLi5kaWN0TmFtZXMgfTtcclxuICAgICAgICBpZiAobGFiZWwgPT0gXCLnvJbovpFcIikge1xyXG4gICAgICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgaWQ6IHZhbHVlPy5pZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob25TdWJtaXQpIHtcclxuICAgICAgICAgIG9uU3VibWl0ICYmIG9uU3VibWl0KGRhdGEsIGxhYmVsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFzdWJtaXRVcmwpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/Lm9uU3VibWl0KFxyXG4gICAgICAgICAgc3VibWl0VXJsLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkYXRhOiB7IC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgbm9VbmRlZmluZWQ6IGxhYmVsID09IFwi57yW6L6RXCIsXHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MobGFiZWwgKyBcIuaIkOWKn1wiKTtcclxuICAgICAgICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgY2FsbEJhY2sgJiYgY2FsbEJhY2soKTtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5oaWRlKGZhbHNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goKGVycm9ySW5mbzogYW55KSA9PiB7fSk7XHJcbiAgfVxyXG4gIHZhbHVlQ2hhbmdlKHsgdHlwZSwgZGljdE5hbWUgfSwgdmFsdWUsIHZhbHVlT3B0aW9uKSB7XHJcbiAgICBpZiAodmFsdWVPcHRpb24pIHtcclxuICAgICAgaWYgKGRpY3ROYW1lKSB7XHJcbiAgICAgICAgY29uc3QgeyBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICAgICAgY29uc3QgbmV3TmFtZXMgPSB7IC4uLmRpY3ROYW1lcyB9IGFzIGFueTtcclxuICAgICAgICBuZXdOYW1lc1tkaWN0TmFtZV0gPSB2YWx1ZU9wdGlvbi5sYWJlbDtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGRpY3ROYW1lczogbmV3TmFtZXMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgZm9ybVByb3BzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxvYWRpbmcsIGxhYmVsLCBlZGl0b3JGbGFnIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbW9kYWxQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBva1RleHQ6IFwi56Gu5a6aXCIsXHJcbiAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgIG9uT2s6IHRoaXMub25TdWJtaXQuYmluZCh0aGlzKSxcclxuICAgICAgb2tCdXR0b25Qcm9wczogeyBsb2FkaW5nOiBsb2FkaW5nIH0sXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9O1xyXG4gICAgY29uc3QgbmV3VmFsaWQ6IGFueVtdID0gW107XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Rm9ybVxyXG4gICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgIHNob3dNb2RlbD17XCJtb2RhbFwifVxyXG4gICAgICAgIG1vZGFsUHJvcHM9e3sgLi4ubW9kYWxQcm9wcyB9fVxyXG4gICAgICAgIGxhYmVsQ29sPXt7IGZsZXg6IFwiMTAwcHhcIiB9fVxyXG4gICAgICAgIHdyYXBwZXJDb2w9e3sgZmxleDogXCIxNXZ3XCIgfX1cclxuICAgICAgPlxyXG4gICAgICAgIDxSb3cgZ3V0dGVyPXsyNH0+XHJcbiAgICAgICAgICB7Zm9ybVByb3BzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb3BzID0geyAuLi5pdGVtLnByb3BzIH07XHJcbiAgICAgICAgICAgIGlmIChpdGVtLnJ1bGVzICYmIGl0ZW0ucnVsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgIG5ld1ZhbGlkLnB1c2goaXRlbS5uYW1lKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaW5kZXggKyAxID09PSBmb3JtUHJvcHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy52YWxpZCA9IG5ld1ZhbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPENvbCBzcGFuPXtpdGVtLnNwYW4gfHwgMTJ9IGtleT17aW5kZXh9PlxyXG4gICAgICAgICAgICAgICAgPEZvcm0uSXRlbVxyXG4gICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICBydWxlcz17aXRlbS5ydWxlc31cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBsYWJlbCA9PSBcIuafpeeci1wiLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLmJpbmQodGhpcywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZGljdE5hbWU6IGl0ZW0uZGljdE5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgPC9Db2w+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9KX1cclxuICAgICAgICA8L1Jvdz5cclxuICAgICAgPC9Gb3JtPlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IEVkaXRvckZvcm07XHJcbiJdfQ==
262
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiRWRpdG9yRm9ybSIsImNyZWF0ZVJlZiIsImxvYWRpbmciLCJsYWJlbCIsImVkaXRvckZsYWciLCJ2YWx1ZSIsImRpY3ROYW1lcyIsImVkaXRvcmZsYWciLCJzZXRTdGF0ZSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJwcm9wcyIsImRlZmF1bHRWYWx1ZSIsImhpZGUiLCJoaWRlRm9ybSIsInN1Ym1pdFVybCIsInN1Ym1pdFBhcmFtcyIsIm9uU3VibWl0IiwiY2FsbEJhY2siLCJzdGF0ZSIsImZvcm1WYWx1ZSIsImdldEZpZWxkc1ZhbHVlIiwidmFsaWQiLCJ2YWxpZGF0ZUZpZWxkcyIsInRoZW4iLCJkYXRhIiwiaWQiLCJFcnJvciIsIm5vVW5kZWZpbmVkIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJjYXRjaCIsImVycm9ySW5mbyIsInZhbHVlT3B0aW9uIiwidHlwZSIsImRpY3ROYW1lIiwibmV3TmFtZXMiLCJmb3JtUHJvcHMiLCJtb2RhbFByb3BzIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImJpbmQiLCJva0J1dHRvblByb3BzIiwiY2VudGVyZWQiLCJ3aWR0aCIsIm5ld1ZhbGlkIiwiZmxleCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsIm5hbWUiLCJzcGFuIiwicGxhY2Vob2xkZXIiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FB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QUFBQSxRQUFRLEVBQUVlLElBQUksQ0FBQ2Y7QUFGcUIsV0FBNUI7QUFKSixXQUxWLENBREYsQ0FERjtBQW1CRCxPQTNCQSxDQURILENBUEYsQ0FERjtBQXdDRDs7OztFQXBKc0IzQyxhOztBQXVKekIsZUFBZU0sVUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IHsgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vYmFzZS9tZXNzYWdlXCI7XHJcbmltcG9ydCBDb2wgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Db2xcIjtcclxuaW1wb3J0IFJvdyBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL1Jvd1wiO1xyXG5pbXBvcnQgeyBpc0VtcHR5T2JqIH0gZnJvbSBcIkBiai1uc2MvZnVuY3Rpb25zXCI7XHJcbmNsYXNzIEVkaXRvckZvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PGFueT4ge1xyXG4gIGZvcm1SZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHN0YXRlID0ge1xyXG4gICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICBsYWJlbDogXCJcIixcclxuICAgIGVkaXRvckZsYWc6IHRydWUsXHJcbiAgICB2YWx1ZToge30gYXMgYW55LFxyXG4gICAgZGljdE5hbWVzOiB7fSBhcyBhbnksXHJcbiAgfTtcclxuICB2YWxpZDogYW55ID0gW107XHJcbiAgLy/ooajljZXmmL7npLpcclxuICBzaG93KHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gdHJ1ZSkge1xyXG4gICAgbGV0IGxhYmVsID0gXCLmlrDlop5cIjtcclxuICAgIGlmICh2YWx1ZSAmJiBlZGl0b3JmbGFnKSB7XHJcbiAgICAgIGxhYmVsID0gXCLnvJbovpFcIjtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgIWVkaXRvcmZsYWcpIHtcclxuICAgICAgbGFiZWwgPSBcIuafpeeci1wiO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICBlZGl0b3JGbGFnOiAhZWRpdG9yZmxhZyxcclxuICAgICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgbGFiZWw6IGxhYmVsLFxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNob3dGb3JtKHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGlkZShoaWRlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgaGlkZSAmJiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN1Ym1pdFVybCA9IFwiXCIsXHJcbiAgICAgIHN1Ym1pdFBhcmFtcyA9IHt9LFxyXG4gICAgICBvblN1Ym1pdCxcclxuICAgICAgY2FsbEJhY2ssXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbGFiZWwsIHZhbHVlLCBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCB2YWxpZCA9IHRoaXMudmFsaWQ7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudFxyXG4gICAgICA/LnZhbGlkYXRlRmllbGRzKHZhbGlkKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSB7IC4uLmZvcm1WYWx1ZSwgLi4uZGljdE5hbWVzIH07XHJcbiAgICAgICAgaWYgKGxhYmVsID09IFwi57yW6L6RXCIpIHtcclxuICAgICAgICAgIGRhdGEgPSB7IC4uLmRhdGEsIGlkOiB2YWx1ZT8uaWQgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG9uU3VibWl0KSB7XHJcbiAgICAgICAgICBvblN1Ym1pdCAmJiBvblN1Ym1pdChkYXRhLCBsYWJlbCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghc3VibWl0VXJsKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5vblN1Ym1pdChcclxuICAgICAgICAgIHN1Ym1pdFVybCxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZGF0YTogeyAuLi5kYXRhIH0sXHJcbiAgICAgICAgICAgIG5vVW5kZWZpbmVkOiBsYWJlbCA9PSBcIue8lui+kVwiLFxyXG4gICAgICAgICAgICBzdWJtaXRQYXJhbXMsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGxhYmVsICsgXCLmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgdGhpcy5oaWRlKHRydWUpO1xyXG4gICAgICAgICAgICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZShmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlcnJvckluZm86IGFueSkgPT4ge30pO1xyXG4gIH1cclxuICB2YWx1ZUNoYW5nZSh7IHR5cGUsIGRpY3ROYW1lIH0sIHZhbHVlLCB2YWx1ZU9wdGlvbikge1xyXG4gICAgaWYgKHZhbHVlT3B0aW9uKSB7XHJcbiAgICAgIGlmIChkaWN0TmFtZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgIGNvbnN0IG5ld05hbWVzID0geyAuLi5kaWN0TmFtZXMgfSBhcyBhbnk7XHJcbiAgICAgICAgbmV3TmFtZXNbZGljdE5hbWVdID0gdmFsdWVPcHRpb24ubGFiZWw7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkaWN0TmFtZXM6IG5ld05hbWVzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZvcm1Qcm9wcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBsb2FkaW5nLCBsYWJlbCwgZWRpdG9yRmxhZyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IG1vZGFsUHJvcHMgPSB7XHJcbiAgICAgIHRpdGxlOiBsYWJlbCxcclxuICAgICAgb2tUZXh0OiBcIuehruWumlwiLFxyXG4gICAgICBjYW5jZWxUZXh0OiBcIuWPlua2iFwiLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9rQnV0dG9uUHJvcHM6IHsgbG9hZGluZzogbG9hZGluZyB9LFxyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSxcclxuICAgICAgd2lkdGg6IFwiNTB2d1wiLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IG5ld1ZhbGlkOiBhbnlbXSA9IFtdO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPEZvcm1cclxuICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICBzaG93TW9kZWw9e1wibW9kYWxcIn1cclxuICAgICAgICBtb2RhbFByb3BzPXt7IC4uLm1vZGFsUHJvcHMgfX1cclxuICAgICAgICBsYWJlbENvbD17eyBmbGV4OiBcIjEwMHB4XCIgfX1cclxuICAgICAgICB3cmFwcGVyQ29sPXt7IGZsZXg6IFwiMTV2d1wiIH19XHJcbiAgICAgID5cclxuICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAge2Zvcm1Qcm9wcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBwcm9wcyA9IHsgLi4uaXRlbS5wcm9wcyB9O1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5ydWxlcyAmJiBpdGVtLnJ1bGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBuZXdWYWxpZC5wdXNoKGl0ZW0ubmFtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGluZGV4ICsgMSA9PT0gZm9ybVByb3BzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIHRoaXMudmFsaWQgPSBuZXdWYWxpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDxDb2wgc3Bhbj17aXRlbS5zcGFuIHx8IDEyfSBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLml0ZW0ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogbGFiZWwgPT0gXCLmn6XnnItcIixcclxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZTogdGhpcy52YWx1ZUNoYW5nZS5iaW5kKHRoaXMsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IGl0ZW0udHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgIGRpY3ROYW1lOiBpdGVtLmRpY3ROYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSl9XHJcbiAgICAgICAgPC9Sb3c+XHJcbiAgICAgIDwvRm9ybT5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBFZGl0b3JGb3JtO1xyXG4iXX0=
@@ -21,18 +21,19 @@ interface NSCBaseBageProps {
21
21
  treeProps?: TreeProps;
22
22
  submitParams?: Object;
23
23
  submitUrl?: string;
24
- onSubmit?: any;
24
+ onSubmit?: (value?: any, label?: any) => void;
25
25
  columns: Array<Object>;
26
26
  showLeft?: boolean;
27
27
  showToolButton?: boolean;
28
28
  editorForm?: boolean;
29
29
  deleteUrl?: string;
30
- onDelete?: any;
30
+ onDelete?: (selectedKeys?: Array<any>) => void;
31
31
  deleteParams?: Object;
32
32
  children?: React.ReactNode;
33
- onSearch?: any;
33
+ onSearch?: (value?: any) => void;
34
34
  initData?: any;
35
35
  buttons?: Array<string>;
36
+ onShowForm?: (value?: any, editorFlag?: boolean) => void;
36
37
  }
37
38
  declare class BasePage extends PureComponent<NSCBaseBageProps, any> {
38
39
  tableRef: React.RefObject<any>;
@@ -42,8 +43,8 @@ declare class BasePage extends PureComponent<NSCBaseBageProps, any> {
42
43
  constructor(props: any);
43
44
  componentDidMount(): void;
44
45
  onSelect: (checkedTreeKeys: any) => void;
45
- showForm(value?: any, flag?: boolean): void;
46
- hideForm(flag?: boolean): void;
46
+ showForm(value?: any, editorflag?: boolean): void;
47
+ hideForm(closeFlag?: boolean): void;
47
48
  onDelete(): void;
48
49
  tableLoad(params: any): void;
49
50
  onSearch(): void;
@@ -122,8 +122,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
122
122
  function showForm(value) {
123
123
  var _this$editorRef$curre;
124
124
 
125
- var flag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
126
- (_this$editorRef$curre = this.editorRef.current) === null || _this$editorRef$curre === void 0 ? void 0 : _this$editorRef$curre.show(value, flag);
125
+ var editorflag = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
126
+ (_this$editorRef$curre = this.editorRef.current) === null || _this$editorRef$curre === void 0 ? void 0 : _this$editorRef$curre.show(value, editorflag);
127
127
  } //关闭表单
128
128
 
129
129
  }, {
@@ -131,8 +131,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
131
131
  value: function hideForm() {
132
132
  var _this$editorRef$curre2;
133
133
 
134
- var flag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
135
- (_this$editorRef$curre2 = this.editorRef.current) === null || _this$editorRef$curre2 === void 0 ? void 0 : _this$editorRef$curre2.hide(flag);
134
+ var closeFlag = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
135
+ (_this$editorRef$curre2 = this.editorRef.current) === null || _this$editorRef$curre2 === void 0 ? void 0 : _this$editorRef$curre2.hide(closeFlag);
136
136
  } //批量删除
137
137
 
138
138
  }, {
@@ -160,7 +160,6 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
160
160
 
161
161
  Modal.confirm({
162
162
  title: "是否确认删除所选项?",
163
- // icon: <Icon type={'icontishi-3'} />,
164
163
  okText: "确认",
165
164
  cancelText: "取消",
166
165
  onOk: function onOk() {
@@ -441,7 +440,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
441
440
  _this$props3$buttons = _this$props3.buttons,
442
441
  buttons = _this$props3$buttons === void 0 ? [] : _this$props3$buttons,
443
442
  _this$props3$editorFo = _this$props3.editorForm,
444
- editorForm = _this$props3$editorFo === void 0 ? true : _this$props3$editorFo;
443
+ editorForm = _this$props3$editorFo === void 0 ? true : _this$props3$editorFo,
444
+ onShowForm = _this$props3.onShowForm;
445
445
  var _tableProps$store = tableProps.store,
446
446
  store = _tableProps$store === void 0 ? {} : _tableProps$store,
447
447
  _tableProps$filterCol = tableProps.filterColumn,
@@ -545,7 +545,12 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
545
545
  columnButtons.push( /*#__PURE__*/React.createElement("div", {
546
546
  className: getLess(styles, "editor"),
547
547
  onClick: function onClick(record) {
548
- _this2.showForm(record, false);
548
+ if (onShowForm) {
549
+ onShowForm(record.attribute || record, false);
550
+ return;
551
+ }
552
+
553
+ _this2.showForm(record.attribute || record, false);
549
554
  }
550
555
  }, "\u67E5\u770B"));
551
556
  }
@@ -554,7 +559,12 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
554
559
  columnButtons.push( /*#__PURE__*/React.createElement("div", {
555
560
  className: getLess(styles, "editor"),
556
561
  onClick: function onClick(record) {
557
- _this2.showForm(record, true);
562
+ if (onShowForm) {
563
+ onShowForm(record.attribute || record, true);
564
+ return;
565
+ }
566
+
567
+ _this2.showForm(record.attribute || record, true);
558
568
  }
559
569
  }, "\u7F16\u8F91"));
560
570
  }
@@ -630,7 +640,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
630
640
  placeholder: "\u8BF7\u8F93\u5165".concat(item.label)
631
641
  })));
632
642
  }))), /*#__PURE__*/React.createElement("div", {
633
- className: getLess(styles, "buttons"),
643
+ className: getLess(styles, "search-buttons"),
634
644
  style: {
635
645
  marginTop: 0
636
646
  }
@@ -656,13 +666,22 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
656
666
  });
657
667
  }
658
668
  }, this.state.expand ? "收起" : "展开", this.state.expand ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null)))), showToolButton && /*#__PURE__*/React.createElement("div", {
659
- className: getLess(styles, "buttons"),
669
+ className: getLess(styles, "tool-buttons"),
660
670
  style: {
661
671
  marginLeft: 0
662
672
  }
663
673
  }, buttons.indexOf("add") > -1 && editorForm == true && /*#__PURE__*/React.createElement(Button, {
664
674
  type: "primary",
665
- onClick: this.showForm.bind(this),
675
+ onClick: function onClick() {
676
+ var onShowForm = _this2.props.onShowForm;
677
+
678
+ if (onShowForm) {
679
+ onShowForm();
680
+ return;
681
+ }
682
+
683
+ _this2.showForm.bind(_this2);
684
+ },
666
685
  icon: /*#__PURE__*/React.createElement(Icon, {
667
686
  type: iconType.add
668
687
  })
@@ -684,7 +703,6 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
684
703
  columns: tableColumn
685
704
  }, tableParams)))), editorForm && /*#__PURE__*/React.createElement(EditorForm, {
686
705
  ref: this.editorRef,
687
- onCancel: this.showForm.bind(this),
688
706
  callBack: this.tableReload.bind(this),
689
707
  formProps: editorForms,
690
708
  submitUrl: submitUrl,
@@ -699,4 +717,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
699
717
  }(PureComponent);
700
718
 
701
719
  export default BasePage;
702
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJnZXRMZXNzIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJvbWl0IiwiQmFzZVBhZ2UiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImNoZWNrZWRUcmVlS2V5cyIsInN0YXRlIiwibmFtZSIsInVzZXJUeXBlIiwiYWNjb3VudCIsInZhbHVlIiwiZGVwdElkIiwidGFibGVMb2FkIiwidHlwZSIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJpbml0RGF0YSIsImZsYWciLCJlZGl0b3JSZWYiLCJjdXJyZW50Iiwic2hvdyIsImhpZGUiLCJkZWxldGVVcmwiLCJvbkRlbGV0ZSIsImRlbGV0ZVBhcmFtcyIsImxlbmd0aCIsIndhcm5pbmciLCJFcnJvciIsImNvbmZpcm0iLCJ0aXRsZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvbk9rIiwiZGVmYXVsdFBhcmFtcyIsIm1ldGhvZCIsInBhcmFtcyIsImlkcyIsImpvaW4iLCJyZXF1ZXN0UGFyYW1zIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ0YWJsZVJlZiIsInN0b3JlIiwibG9hZCIsIm9uU2VhcmNoIiwiZnJvbVZhbHVlIiwic2VhcmNoUmVmIiwiZ2V0RmllbGRzVmFsdWUiLCJyZWxvYWQiLCJyZWNvcmQiLCJzZWxlY3RlZCIsIm5ld1NlbGVjdGVkUm93S2V5cyIsIm5ld1NlbGVjdGVkUm93RGF0YXMiLCJpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInNwbGljZSIsInNldFN0YXRlIiwic2VsZWN0ZWRSb3dzIiwiY2hhbmdlUm93cyIsIm5ld2lkcyIsIm5ld2RhdGFzIiwiY2hhbmdlSWRzIiwiaW5kZXhPZiIsInB1c2giLCJjb2x1bW5CdXR0b25zIiwiYWN0aW9uQnV0dG9uIiwiZWRpdG9yRm9ybSIsImJ1dHRvbnMiLCJjb250ZW50IiwiY2hpbGRyZW4iLCJwYWdlVHlwZSIsIm9uQ2xpY2siLCJzZWxlY3RlZEtleXMiLCJzZWxlY3RlZE5vZGVzIiwia2V5d29yZCIsInRyZWVQcm9wcyIsInNlYXJjaEtleSIsInNlYXJjaEZpZWxkIiwiaXNMZWFmIiwiZGF0YXJlZiIsImF0dHJpYnV0ZSIsInJlc2V0RmllbGRzIiwiY29sdW1ucyIsInNob3dTZWFyY2giLCJzdWJtaXRVcmwiLCJ0YWJsZVByb3BzIiwic2hvd0xlZnQiLCJzdWJtaXRQYXJhbXMiLCJzaG93VG9vbEJ1dHRvbiIsImZpbHRlckNvbHVtbiIsImFjdGlvbkNvbHVtbiIsInNob3dSb3dTZWxlY3Rpb24iLCJ0cmVlU3RvcmUiLCJ0cmVlU2VhcmNoIiwidGl0bGVBbGlhcyIsInRhYmxlUGFyYW1zIiwicm93U2VsZWN0aW9uIiwib25TZWxlY3QiLCJyb3dTZWxlY3Rpb25PblNlbGVjdCIsImJpbmQiLCJvblNlbGVjdEFsbCIsInJvd1NlbGVjdGlvbk9uU2VsZWN0QWxsIiwiY29sdW1uV2lkdGgiLCJ0YWJsZUNvbHVtbiIsInNlYXJjaEZvcm1zIiwiZWRpdG9yRm9ybXMiLCJkZWZhdWx0VmFsdWUiLCJ0ZW1wIiwic2VhcmNoIiwiZmllbGQiLCJkYXRhSW5kZXgiLCJsYWJlbCIsImVkaXRvciIsInJ1bGVzIiwic3BhbiIsImRpY3ROYW1lIiwiY29sdW1uU2VhcmNoIiwiZmlsdGVyUHJvcHMiLCJzdHlsZSIsInJlbmRlciIsInRleHQiLCJzZWxmQnV0dG9ucyIsInNob3dGb3JtIiwiQXJyYXkiLCJpc0FycmF5IiwiYWxpZ24iLCJ3aWR0aCIsInJlbmRlckNsb3VtbkJ1dHRvbiIsImhlYWRlckNvdW50IiwiZGlzcGxheSIsInRyZWVTZWxlY3QiLCJwbGFjZWhvbGRlciIsIm1hcmdpblRvcCIsInJlc2V0U2VhcmNoIiwicmVmcmVzaCIsImFfc3R5bGUiLCJtYXJnaW5MZWZ0IiwiYWRkIiwiZGVsZXRlMyIsInRhYmxlUmVsb2FkIiwib25TdWJtaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLGlCQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsbUJBQW5CO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixrQkFBbEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLE9BQVAsTUFBb0Isb0JBQXBCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQiw0QkFBakI7QUFDQSxTQUFTQyxRQUFULFFBQXlCLGlCQUF6QjtBQUNBLE9BQU9DLFVBQVAsTUFBdUIsUUFBdkI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLFlBQWhCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixxQkFBbkI7QUFFQSxTQUFTQyxZQUFULEVBQXVCQyxVQUF2QixRQUF5QyxtQkFBekM7QUFDQSxTQUFTQyxPQUFULEVBQWtCQyxPQUFsQixRQUFpQyxhQUFqQztBQUNBLE9BQU9DLE9BQVAsTUFBb0IsYUFBcEI7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLFNBQWpCOztJQW9DTUMsUTs7Ozs7QUFNSixvQkFBWUMsS0FBWixFQUF3QjtBQUFBOztBQUFBOztBQUN0Qiw4QkFBTUEsS0FBTjs7QUFEc0IsNEVBTGJyQixLQUFLLENBQUNzQixTQUFOLEVBS2E7O0FBQUEsMkVBSmR0QixLQUFLLENBQUNzQixTQUFOLEVBSWM7O0FBQUEsNkVBSFp0QixLQUFLLENBQUNzQixTQUFOLEVBR1k7O0FBQUEsNkVBRlp0QixLQUFLLENBQUNzQixTQUFOLEVBRVk7O0FBQUEsK0RBY2IsVUFBQ0MsZUFBRCxFQUEwQjtBQUNuQyx3QkFBb0MsTUFBS0MsS0FBekM7QUFBQSxVQUFRQyxJQUFSLGVBQVFBLElBQVI7QUFBQSxVQUFjQyxRQUFkLGVBQWNBLFFBQWQ7QUFBQSxVQUF3QkMsT0FBeEIsZUFBd0JBLE9BQXhCO0FBQ0EsVUFBTUMsS0FBSyxHQUFHO0FBQUVILFFBQUFBLElBQUksRUFBSkEsSUFBRjtBQUFRQyxRQUFBQSxRQUFRLEVBQVJBLFFBQVI7QUFBa0JDLFFBQUFBLE9BQU8sRUFBUEEsT0FBbEI7QUFBMkJFLFFBQUFBLE1BQU0sRUFBRU4sZUFBZSxDQUFDLENBQUQ7QUFBbEQsT0FBZDs7QUFDQSxZQUFLTyxTQUFMLENBQWVGLEtBQWY7QUFDRCxLQWxCdUI7O0FBRXRCLFVBQUtKLEtBQUwsR0FBYTtBQUNYTyxNQUFBQSxJQUFJLEVBQUUsS0FESztBQUVYQyxNQUFBQSxlQUFlLEVBQUUsRUFGTjtBQUdYQyxNQUFBQSxnQkFBZ0IsRUFBRSxFQUhQO0FBSVhDLE1BQUFBLGVBQWUsRUFBRSxFQUpOO0FBS1hDLE1BQUFBLE1BQU0sRUFBRTtBQUxHLEtBQWI7QUFGc0I7QUFTdkI7Ozs7V0FDRCw2QkFBb0I7QUFDbEIsVUFBUUMsUUFBUixHQUFxQixLQUFLZixLQUExQixDQUFRZSxRQUFSO0FBQ0FBLE1BQUFBLFFBQVEsSUFBSUEsUUFBUSxFQUFwQjtBQUNEOzs7V0FPRDtBQUNBLHNCQUFTUixLQUFULEVBQW1DO0FBQUE7O0FBQUEsVUFBYlMsSUFBYSx1RUFBTixJQUFNO0FBQ2pDLG9DQUFLQyxTQUFMLENBQWVDLE9BQWYsZ0ZBQXdCQyxJQUF4QixDQUE2QlosS0FBN0IsRUFBb0NTLElBQXBDO0FBQ0QsSyxDQUVEOzs7O1dBQ0Esb0JBQXNCO0FBQUE7O0FBQUEsVUFBYkEsSUFBYSx1RUFBTixJQUFNO0FBQ3BCLHFDQUFLQyxTQUFMLENBQWVDLE9BQWYsa0ZBQXdCRSxJQUF4QixDQUE2QkosSUFBN0I7QUFDRCxLLENBRUQ7Ozs7V0FDQSxvQkFBVztBQUNULHdCQUE4QyxLQUFLaEIsS0FBbkQ7QUFBQSxVQUFRcUIsU0FBUixlQUFRQSxTQUFSO0FBQUEsVUFBbUJDLFFBQW5CLGVBQW1CQSxRQUFuQjtBQUFBLFVBQTZCQyxZQUE3QixlQUE2QkEsWUFBN0I7QUFDQSxVQUFRWixlQUFSLEdBQTRCLEtBQUtSLEtBQWpDLENBQVFRLGVBQVI7O0FBQ0EsVUFBSUEsZUFBZSxDQUFDYSxNQUFoQixJQUEwQixDQUE5QixFQUFpQztBQUMvQnJDLFFBQUFBLE9BQU8sQ0FBQ3NDLE9BQVIsQ0FBZ0IsWUFBaEI7QUFDQTtBQUNEOztBQUNELFVBQUlILFFBQUosRUFBYztBQUNaQSxRQUFBQSxRQUFRLElBQUlBLFFBQVEsQ0FBQ1gsZUFBRCxDQUFwQjtBQUNBO0FBQ0Q7O0FBQ0QsVUFBSSxDQUFDVSxTQUFMLEVBQWdCO0FBQ2QsY0FBTSxJQUFJSyxLQUFKLENBQVUsVUFBVixDQUFOO0FBQ0Q7O0FBQ0R6QyxNQUFBQSxLQUFLLENBQUMwQyxPQUFOLENBQWM7QUFDWkMsUUFBQUEsS0FBSyxFQUFFLFlBREs7QUFFWjtBQUNBQyxRQUFBQSxNQUFNLEVBQUUsSUFISTtBQUlaQyxRQUFBQSxVQUFVLEVBQUUsSUFKQTtBQUtaQyxRQUFBQSxJQUFJLEVBQUUsZ0JBQU07QUFDVixjQUFNQyxhQUFhLEdBQUc7QUFDcEJDLFlBQUFBLE1BQU0sRUFBRSxNQURZO0FBRXBCQyxZQUFBQSxNQUFNLEVBQUU7QUFBRUMsY0FBQUEsR0FBRyxFQUFFeEIsZUFBZSxDQUFDeUIsSUFBaEI7QUFBUDtBQUZZLFdBQXRCO0FBSUEsY0FBSUMsYUFBYSxHQUFHLEVBQXBCOztBQUNBLGNBQUlMLGFBQUosRUFBbUI7QUFDakJLLFlBQUFBLGFBQWEscUJBQVFkLFlBQVIsQ0FBYjtBQUNEOztBQUNEYyxVQUFBQSxhQUFhLHFCQUFRTCxhQUFSLENBQWI7QUFDQW5DLFVBQUFBLE9BQU8sQ0FBQ3dCLFNBQUQsb0JBQ0ZnQixhQURFLEVBQVAsQ0FHR0MsSUFISCxDQUdRLFVBQVVDLEdBQVYsRUFBb0I7QUFDeEIsZ0JBQVFDLElBQVIsR0FBaUJELEdBQWpCLENBQVFDLElBQVI7O0FBQ0EsZ0JBQUlBLElBQUksS0FBSyxHQUFiLEVBQWtCO0FBQ2hCckQsY0FBQUEsT0FBTyxDQUFDc0QsT0FBUixDQUFnQixPQUFoQjtBQUNELGFBRkQsTUFFTztBQUNMdEQsY0FBQUEsT0FBTyxDQUFDdUQsS0FBUixDQUFjLE9BQWQ7QUFDRDtBQUNGLFdBVkgsRUFXR0MsS0FYSCxDQVdTLFVBQVVELEtBQVYsRUFBc0I7QUFDM0JFLFlBQUFBLE9BQU8sQ0FBQ0MsR0FBUixDQUFZLE9BQVosRUFBcUJILEtBQXJCO0FBQ0QsV0FiSDtBQWNEO0FBN0JXLE9BQWQ7QUErQkQ7OztXQUNELG1CQUFVUixNQUFWLEVBQXVCO0FBQUE7O0FBQ3JCLG9DQUFLWSxRQUFMLENBQWM1QixPQUFkLGdGQUF1QjZCLEtBQXZCLENBQTZCQyxJQUE3QixDQUFrQztBQUNoQ2QsUUFBQUEsTUFBTSxFQUFFQTtBQUR3QixPQUFsQztBQUdELEssQ0FDRDs7OztXQUNBLG9CQUFXO0FBQUE7O0FBQ1QsVUFBUWUsUUFBUixHQUFxQixLQUFLakQsS0FBMUIsQ0FBUWlELFFBQVI7QUFDQSxVQUFNQyxTQUFTLDRCQUFHLEtBQUtDLFNBQUwsQ0FBZWpDLE9BQWxCLDBEQUFHLHNCQUF3QmtDLGNBQXhCLEVBQWxCOztBQUNBLFVBQUlILFFBQUosRUFBYztBQUNaQSxRQUFBQSxRQUFRLENBQUNDLFNBQUQsQ0FBUjtBQUNBO0FBQ0Q7O0FBQ0QsV0FBS3pDLFNBQUwsQ0FBZXlDLFNBQWY7QUFDRCxLLENBQ0Q7Ozs7V0FDQSx1QkFBYztBQUFBOztBQUNaLHFDQUFLSixRQUFMLENBQWM1QixPQUFkLGtGQUF1QjZCLEtBQXZCLENBQTZCTSxNQUE3QjtBQUNEOzs7V0FDRCw4QkFBcUI7QUFDbkIsYUFBTyxLQUFLbEQsS0FBTCxDQUFXUSxlQUFsQjtBQUNEOzs7V0FDRCwrQkFBc0I7QUFDcEIsYUFBTyxLQUFLUixLQUFMLENBQVdTLGdCQUFsQjtBQUNEOzs7V0FDRCwyQkFBa0I7QUFBQTs7QUFDaEIsVUFBTXNDLFNBQVMsNkJBQUcsS0FBS0MsU0FBTCxDQUFlakMsT0FBbEIsMkRBQUcsdUJBQXdCa0MsY0FBeEIsRUFBbEI7QUFDQSxhQUFPRixTQUFQO0FBQ0Q7OztXQUNELDhCQUFxQkksTUFBckIsRUFBa0NDLFFBQWxDLEVBQWlEO0FBQy9DLHlCQUE4QyxLQUFLcEQsS0FBbkQ7QUFBQSxVQUFRUSxlQUFSLGdCQUFRQSxlQUFSO0FBQUEsVUFBeUJDLGdCQUF6QixnQkFBeUJBLGdCQUF6Qjs7QUFDQSxVQUFJNEMsa0JBQWtCLHNCQUFPN0MsZUFBUCxDQUF0Qjs7QUFDQSxVQUFJOEMsbUJBQW1CLHNCQUFPN0MsZ0JBQVAsQ0FBdkI7O0FBQ0EsVUFBSTJDLFFBQUosRUFBYztBQUNaQyxRQUFBQSxrQkFBa0IsZ0NBQU9BLGtCQUFQLElBQTJCRixNQUFNLENBQUNJLEVBQWxDLEVBQWxCO0FBQ0FELFFBQUFBLG1CQUFtQixnQ0FBT0EsbUJBQVAsSUFBNEJILE1BQTVCLEVBQW5CO0FBQ0QsT0FIRCxNQUdPO0FBQ0wzQyxRQUFBQSxlQUFlLENBQUNnRCxHQUFoQixDQUFvQixVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBMkI7QUFDN0MsY0FBSUQsSUFBSSxLQUFLTixNQUFNLENBQUNJLEVBQXBCLEVBQXdCO0FBQ3RCRixZQUFBQSxrQkFBa0IsQ0FBQ00sTUFBbkIsQ0FBMEJELEtBQTFCLEVBQWlDLENBQWpDO0FBQ0Q7QUFDRixTQUpEO0FBS0FqRCxRQUFBQSxnQkFBZ0IsQ0FBQytDLEdBQWpCLENBQXFCLFVBQUNDLElBQUQsRUFBWUMsS0FBWixFQUEyQjtBQUM5QyxjQUFJRCxJQUFJLENBQUNGLEVBQUwsS0FBWUosTUFBTSxDQUFDSSxFQUF2QixFQUEyQjtBQUN6QkQsWUFBQUEsbUJBQW1CLENBQUNLLE1BQXBCLENBQTJCRCxLQUEzQixFQUFrQyxDQUFsQztBQUNEO0FBQ0YsU0FKRDtBQUtEOztBQUNELFdBQUtFLFFBQUwsQ0FBYztBQUNacEQsUUFBQUEsZUFBZSxFQUFFNkMsa0JBREw7QUFFWjVDLFFBQUFBLGdCQUFnQixFQUFFNkM7QUFGTixPQUFkO0FBSUQ7OztXQUNELGlDQUF3QkYsUUFBeEIsRUFBdUNTLFlBQXZDLEVBQTBEQyxVQUExRCxFQUEyRTtBQUN6RSx5QkFBOEMsS0FBSzlELEtBQW5EO0FBQUEsVUFBUVEsZUFBUixnQkFBUUEsZUFBUjtBQUFBLFVBQXlCQyxnQkFBekIsZ0JBQXlCQSxnQkFBekI7QUFDQSxVQUFJc0QsTUFBVyxHQUFHLEVBQWxCO0FBQ0EsVUFBSUMsUUFBYSxHQUFHLEVBQXBCOztBQUNBLFVBQUlGLFVBQVUsQ0FBQ3pDLE1BQVgsR0FBb0IsQ0FBeEIsRUFBMkI7QUFDekIsWUFBSTRDLFNBQVMsR0FBR0gsVUFBVSxDQUFDTixHQUFYLENBQWUsVUFBQ0MsSUFBRDtBQUFBLGlCQUFlQSxJQUFJLENBQUNGLEVBQXBCO0FBQUEsU0FBZixDQUFoQjs7QUFDQSxZQUFJSCxRQUFKLEVBQWM7QUFDWlcsVUFBQUEsTUFBTSxnQ0FBT3ZELGVBQVAsc0JBQTJCeUQsU0FBM0IsRUFBTjtBQUNBRCxVQUFBQSxRQUFRLGdDQUFPdkQsZ0JBQVAsc0JBQTRCcUQsVUFBNUIsRUFBUjtBQUNELFNBSEQsTUFHTztBQUNMdEQsVUFBQUEsZUFBZSxDQUFDZ0QsR0FBaEIsQ0FBb0IsVUFBQ0MsSUFBRCxFQUFZQyxLQUFaLEVBQTJCO0FBQzdDLGdCQUFJTyxTQUFTLENBQUNDLE9BQVYsQ0FBa0JULElBQWxCLEtBQTJCLENBQUMsQ0FBaEMsRUFBbUM7QUFDakNNLGNBQUFBLE1BQU0sQ0FBQ0ksSUFBUCxDQUFZVixJQUFaO0FBQ0Q7QUFDRixXQUpEO0FBS0FoRCxVQUFBQSxnQkFBZ0IsQ0FBQytDLEdBQWpCLENBQXFCLFVBQUNDLElBQUQsRUFBWUMsS0FBWixFQUEyQjtBQUM5QyxnQkFBSU8sU0FBUyxDQUFDQyxPQUFWLENBQWtCVCxJQUFJLENBQUNGLEVBQXZCLEtBQThCLENBQUMsQ0FBbkMsRUFBc0M7QUFDcENTLGNBQUFBLFFBQVEsQ0FBQ0csSUFBVCxDQUFjVixJQUFkO0FBQ0Q7QUFDRixXQUpEO0FBS0Q7QUFDRixPQWpCRCxNQWlCTztBQUNMTSxRQUFBQSxNQUFNLHNCQUFPdkQsZUFBUCxDQUFOO0FBQ0F3RCxRQUFBQSxRQUFRLHNCQUFPdkQsZ0JBQVAsQ0FBUjtBQUNEOztBQUNELFdBQUttRCxRQUFMLENBQWM7QUFDWnBELFFBQUFBLGVBQWUscUJBQU11RCxNQUFOLENBREg7QUFFWnRELFFBQUFBLGdCQUFnQixxQkFBTXVELFFBQU47QUFGSixPQUFkO0FBSUQ7OztXQUVELDRCQUFtQkksYUFBbkIsRUFBdUNqQixNQUF2QyxFQUFvRGtCLFlBQXBELEVBQTRFO0FBQzFFLHlCQUE0QyxLQUFLeEUsS0FBakQ7QUFBQSwrQ0FBUXlFLFVBQVI7QUFBQSxVQUFRQSxVQUFSLHNDQUFxQixJQUFyQjtBQUFBLDhDQUEyQkMsT0FBM0I7QUFBQSxVQUEyQkEsT0FBM0IscUNBQXFDLEVBQXJDO0FBQ0EsVUFBTUMsT0FBTyxHQUFHSixhQUFhLENBQUNaLEdBQWQsQ0FBa0IsVUFBQ0MsSUFBRCxFQUFZQyxLQUFaLEVBQTJCO0FBQzNELDBCQUFtREQsSUFBSSxDQUFDNUQsS0FBeEQ7QUFBQSxZQUFRNEUsUUFBUixlQUFRQSxRQUFSO0FBQUEsWUFBa0JDLFFBQWxCLGVBQWtCQSxRQUFsQjtBQUFBLFlBQTRCQyxRQUE1QixlQUE0QkEsT0FBNUI7QUFBQSxZQUF3QzVDLE1BQXhDOztBQUNBLFlBQUkyQixLQUFLLEdBQUcsQ0FBWixFQUFlO0FBQ2IsOEJBQ0U7QUFDRSxZQUFBLFNBQVMsRUFBRXRFLEdBQUcsQ0FDWkksT0FBTyxDQUFDSCxNQUFELEVBQVMsUUFBVCxDQURLLEVBRVpHLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLGNBQVQsQ0FGSyxDQURoQjtBQUtFLFlBQUEsR0FBRyxFQUFFcUUsS0FMUDtBQU1FLFlBQUEsT0FBTyxFQUFFLG1CQUFNO0FBQ2JpQixjQUFBQSxRQUFPLElBQUlBLFFBQU8sQ0FBQ3hCLE1BQUQsQ0FBbEI7QUFDRDtBQVJILGFBU01wQixNQVROLEdBV0cwQyxRQVhILENBREY7QUFlRDtBQUNGLE9BbkJlLENBQWhCO0FBb0JBLGFBQU9MLGFBQWEsQ0FBQ1osR0FBZCxDQUFrQixVQUFDQyxJQUFELEVBQVlDLEtBQVosRUFBMkI7QUFDbEQsMkJBQXlERCxJQUFJLENBQUM1RCxLQUE5RDtBQUFBLFlBQVE0RSxRQUFSLGdCQUFRQSxRQUFSO0FBQUEsWUFBa0JDLFFBQWxCLGdCQUFrQkEsUUFBbEI7QUFBQSxZQUE0QkMsU0FBNUIsZ0JBQTRCQSxPQUE1QjtBQUFBLFlBQXFDMUYsSUFBckMsZ0JBQXFDQSxJQUFyQztBQUFBLFlBQThDOEMsTUFBOUM7O0FBQ0EsWUFBSTJCLEtBQUssSUFBSSxDQUFiLEVBQWdCO0FBQ2QsOEJBQ0Usb0JBQUMsT0FBRDtBQUNFLFlBQUEsU0FBUyxFQUFDLFFBRFo7QUFFRSxZQUFBLEtBQUssRUFBRSxJQUZUO0FBR0UsWUFBQSxPQUFPLEVBQUVjLE9BSFg7QUFJRSxZQUFBLE9BQU8sRUFBRSxDQUFDLE9BQUQsRUFBVSxPQUFWLENBSlg7QUFLRSxZQUFBLEdBQUcsRUFBRWQsS0FMUCxDQU1FOztBQU5GLDBCQVFFO0FBQUssWUFBQSxTQUFTLEVBQUVsRSxPQUFPLENBQUNILE1BQUQsRUFBUyxRQUFUO0FBQXZCLDBDQUVFO0FBQU0sWUFBQSxTQUFTLEVBQUVHLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLE1BQVQ7QUFBeEIsMEJBQ0Usb0JBQUMsWUFBRCxPQURGLENBRkYsQ0FSRixDQURGO0FBaUJELFNBbEJELE1Ba0JPLElBQUlxRSxLQUFLLEdBQUcsQ0FBWixFQUFlO0FBQ3BCLDhCQUNFO0FBQ0UsWUFBQSxTQUFTLEVBQUVsRSxPQUFPLENBQUNILE1BQUQsRUFBUyxRQUFULENBRHBCO0FBRUUsWUFBQSxHQUFHLEVBQUVxRSxLQUZQO0FBR0UsWUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYmlCLGNBQUFBLFNBQU8sSUFBSUEsU0FBTyxDQUFDeEIsTUFBRCxDQUFsQjtBQUNEO0FBTEgsYUFNTXBCLE1BTk4sR0FRRzlDLElBUkgsT0FRVXdGLFFBUlYsQ0FERjtBQVlELFNBYk0sTUFhQTtBQUNMLGlCQUFPLElBQVA7QUFDRDtBQUNGLE9BcENNLENBQVAsQ0F0QjBFLENBMkQxRTtBQUNELEssQ0FDRDs7OztXQUNBLG9CQUFXRyxZQUFYLFFBQWdFO0FBQUE7O0FBQUEsVUFBaEN4QixRQUFnQyxRQUFoQ0EsUUFBZ0M7QUFBQSxVQUF0QnlCLGFBQXNCLFFBQXRCQSxhQUFzQjtBQUM5RCxVQUFJQyxPQUFPLEdBQUcsRUFBZDtBQUNBLGtDQUFnRCxLQUFLakYsS0FBTCxDQUFXa0YsU0FBM0Q7QUFBQSx5REFBUUMsU0FBUjtBQUFBLFVBQVFBLFNBQVIsdUNBQW9CLEtBQXBCO0FBQUEseURBQTJCQyxXQUEzQjtBQUFBLFVBQTJCQSxXQUEzQix1Q0FBeUMsRUFBekM7QUFDQSxVQUFRdkUsZUFBUixHQUE0QixLQUFLVixLQUFqQyxDQUFRVSxlQUFSOztBQUNBLFVBQUkwQyxRQUFKLEVBQWM7QUFDWixZQUFJeUIsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQkssTUFBakIsSUFBMkIsQ0FBQ0wsYUFBYSxDQUFDLENBQUQsQ0FBYixDQUFpQkosUUFBakQsRUFBMkQ7QUFDekQsY0FBSUcsWUFBWSxDQUFDLENBQUQsQ0FBWixLQUFvQmxFLGVBQXhCLEVBQXlDO0FBQ3ZDO0FBQ0FvRSxZQUFBQSxPQUFPLEdBQUdELGFBQWEsQ0FBQyxDQUFELENBQWIsQ0FBaUJNLE9BQWpCLENBQXlCQyxTQUF6QixDQUFtQ0osU0FBbkMsQ0FBVjtBQUNBLGlCQUFLcEIsUUFBTCxDQUFjO0FBQ1psRCxjQUFBQSxlQUFlLEVBQUVrRSxZQUFZLENBQUMsQ0FBRDtBQURqQixhQUFkO0FBR0Q7QUFDRjtBQUNGLE9BVkQsTUFVTztBQUNMLGFBQUtoQixRQUFMLENBQWM7QUFDWmxELFVBQUFBLGVBQWUsRUFBRW9FO0FBREwsU0FBZDtBQUdEOztBQUNELFVBQU0vQixTQUFTLDZCQUFHLEtBQUtDLFNBQUwsQ0FBZWpDLE9BQWxCLDJEQUFHLHVCQUF3QmtDLGNBQXhCLEVBQWxCO0FBQ0FnQyxNQUFBQSxXQUFXLElBQUksS0FBSzNFLFNBQUwsaUNBQW9CeUMsU0FBcEIsMkJBQWdDa0MsV0FBaEMsRUFBOENILE9BQTlDLEdBQWY7QUFDRDs7O1dBQ0QsdUJBQWM7QUFBQTs7QUFDWixxQ0FBSzlCLFNBQUwsQ0FBZWpDLE9BQWYsa0ZBQXdCc0UsV0FBeEI7QUFDRDs7O1dBQ0Qsa0JBQVM7QUFBQTs7QUFDUCxVQUFRN0UsZUFBUixHQUE0QixLQUFLUixLQUFqQyxDQUFRUSxlQUFSO0FBQ0EseUJBWUksS0FBS1gsS0FaVDtBQUFBLDhDQUNFeUYsT0FERjtBQUFBLFVBQ0VBLE9BREYscUNBQ1ksRUFEWjtBQUFBLCtDQUVFQyxVQUZGO0FBQUEsVUFFRUEsVUFGRixzQ0FFZSxJQUZmO0FBQUEsVUFHRWQsUUFIRixnQkFHRUEsUUFIRjtBQUFBLCtDQUlFZSxTQUpGO0FBQUEsVUFJRUEsU0FKRixzQ0FJYyxFQUpkO0FBQUEsK0NBS0VDLFVBTEY7QUFBQSxVQUtFQSxVQUxGLHNDQUtlLEVBTGY7QUFBQSwrQ0FNRVYsU0FORjtBQUFBLFVBTUVBLFNBTkYsc0NBTWMsRUFOZDtBQUFBLCtDQU9FVyxRQVBGO0FBQUEsVUFPRUEsUUFQRixzQ0FPYSxLQVBiO0FBQUEsK0NBUUVDLFlBUkY7QUFBQSxVQVFFQSxZQVJGLHNDQVFpQixFQVJqQjtBQUFBLCtDQVNFQyxjQVRGO0FBQUEsVUFTRUEsY0FURixzQ0FTbUIsSUFUbkI7QUFBQSw4Q0FVRXJCLE9BVkY7QUFBQSxVQVVFQSxPQVZGLHFDQVVZLEVBVlo7QUFBQSwrQ0FXRUQsVUFYRjtBQUFBLFVBV0VBLFVBWEYsc0NBV2UsSUFYZjtBQWFBLDhCQU1JbUIsVUFOSixDQUNFN0MsS0FERjtBQUFBLFVBQ0VBLEtBREYsa0NBQ1UsRUFEVjtBQUFBLGtDQU1JNkMsVUFOSixDQUVFSSxZQUZGO0FBQUEsVUFFRUEsWUFGRixzQ0FFaUIsSUFGakI7QUFBQSxrQ0FNSUosVUFOSixDQUdFcEIsWUFIRjtBQUFBLFVBR0VBLFlBSEYsc0NBR2lCLElBSGpCO0FBQUEsa0NBTUlvQixVQU5KLENBSUVLLFlBSkY7QUFBQSxVQUlFQSxZQUpGLHNDQUlpQixJQUpqQjtBQUFBLGtDQU1JTCxVQU5KLENBS0VNLGdCQUxGO0FBQUEsVUFLRUEsZ0JBTEYsc0NBS3FCLElBTHJCO0FBUUEsNkJBSUloQixTQUpKLENBQ0VuQyxLQURGO0FBQUEsVUFDU29ELFNBRFQsaUNBQ3FCLEVBRHJCO0FBQUEsa0NBSUlqQixTQUpKLENBRUVRLFVBRkY7QUFBQSxVQUVjVSxVQUZkLHNDQUUyQixJQUYzQjtBQUFBLGtDQUlJbEIsU0FKSixDQUdFbUIsVUFIRjtBQUFBLFVBR0VBLFVBSEYsc0NBR2UsT0FIZjtBQU1BLFVBQUlDLFdBQVcsR0FBRztBQUFFTixRQUFBQSxZQUFZLEVBQVpBLFlBQUY7QUFBZ0JqRCxRQUFBQSxLQUFLLEVBQUxBO0FBQWhCLE9BQWxCOztBQUVBLFVBQUltRCxnQkFBSixFQUFzQjtBQUNwQkksUUFBQUEsV0FBVyxtQ0FDTkEsV0FETTtBQUVUQyxVQUFBQSxZQUFZLEVBQUU7QUFDWjVGLFlBQUFBLGVBQWUsRUFBRUEsZUFETDtBQUVaNkYsWUFBQUEsUUFBUSxFQUFFLEtBQUtDLG9CQUFMLENBQTBCQyxJQUExQixDQUErQixJQUEvQixDQUZFO0FBR1pDLFlBQUFBLFdBQVcsRUFBRSxLQUFLQyx1QkFBTCxDQUE2QkYsSUFBN0IsQ0FBa0MsSUFBbEMsQ0FIRDtBQUlaRyxZQUFBQSxXQUFXLEVBQUU7QUFKRDtBQUZMLFVBQVg7QUFTRDs7QUFDRCxVQUFNQyxXQUFrQixHQUFHLEVBQTNCO0FBQ0EsVUFBTUMsV0FBZ0IsR0FBRyxFQUF6QjtBQUNBLFVBQU1DLFdBQWdCLEdBQUcsRUFBekI7QUFDQSxVQUFNQyxZQUFpQixHQUFHLEVBQTFCO0FBQ0F4QixNQUFBQSxPQUFPLENBQUM5QixHQUFSLENBQVksVUFBQ0MsSUFBRCxFQUFlO0FBQUE7O0FBQ3pCLFlBQUlzRCxJQUFJLHFCQUFRdEQsSUFBUixDQUFSOztBQUNBLFlBQUlzRCxJQUFJLENBQUNDLE1BQVQsRUFBaUI7QUFDZkosVUFBQUEsV0FBVyxDQUFDekMsSUFBWixDQUFpQjtBQUNmbEUsWUFBQUEsSUFBSSxFQUFFOEcsSUFBSSxDQUFDRSxLQUFMLElBQWNGLElBQUksQ0FBQ0csU0FEVjtBQUVmQyxZQUFBQSxLQUFLLEVBQUVKLElBQUksQ0FBQ3RGLEtBRkc7QUFHZmxCLFlBQUFBLElBQUksRUFBRXdHLElBQUksQ0FBQ3hHLElBSEk7QUFJZlYsWUFBQUEsS0FBSyxFQUFFa0gsSUFBSSxDQUFDbEg7QUFKRyxXQUFqQjtBQU1EOztBQUNELGVBQU9rSCxJQUFJLENBQUNDLE1BQVo7QUFFQUQsUUFBQUEsSUFBSSxDQUFDSyxNQUFMLEtBQWdCLEtBQWhCLElBQ0VQLFdBQVcsQ0FBQzFDLElBQVosQ0FBaUI7QUFDZmxFLFVBQUFBLElBQUksRUFBRThHLElBQUksQ0FBQ0UsS0FBTCxJQUFjRixJQUFJLENBQUNHLFNBRFY7QUFFZkMsVUFBQUEsS0FBSyxFQUFFSixJQUFJLENBQUN0RixLQUZHO0FBR2Y0RixVQUFBQSxLQUFLLEVBQUVOLElBQUksQ0FBQ00sS0FIRztBQUlmOUcsVUFBQUEsSUFBSSxFQUFFd0csSUFBSSxDQUFDeEcsSUFKSTtBQUtmK0csVUFBQUEsSUFBSSxFQUFFUCxJQUFJLENBQUNPLElBTEk7QUFNZkMsVUFBQUEsUUFBUSxFQUFFUixJQUFJLENBQUNRLFFBTkE7QUFPZjFILFVBQUFBLEtBQUssRUFBRUYsSUFBSSxtQkFBTW9ILElBQUksQ0FBQ2xILEtBQVgsR0FBb0IsQ0FBQyxjQUFELEVBQWlCLE9BQWpCLENBQXBCO0FBUEksU0FBakIsQ0FERjs7QUFVQSwyQkFBSWtILElBQUksQ0FBQ2xILEtBQVQsd0NBQUksWUFBWWlILFlBQWhCLEVBQThCO0FBQUE7O0FBQzVCLGNBQU03RyxJQUFJLEdBQUc4RyxJQUFJLENBQUNFLEtBQUwsSUFBY0YsSUFBSSxDQUFDRyxTQUFoQztBQUNBSixVQUFBQSxZQUFZLENBQUM3RyxJQUFELENBQVosbUJBQXFCOEcsSUFBSSxDQUFDbEgsS0FBMUIsaURBQXFCLGFBQVlpSCxZQUFqQztBQUNEOztBQUNELGVBQU9DLElBQUksQ0FBQ00sS0FBWjtBQUNBLGVBQU9OLElBQUksQ0FBQ08sSUFBWjs7QUFDQSxZQUFJUCxJQUFJLENBQUNTLFlBQVQsRUFBdUI7QUFDckJULFVBQUFBLElBQUksQ0FBQ1UsV0FBTCxHQUFtQjtBQUNqQmxILFlBQUFBLElBQUksRUFBRXdHLElBQUksQ0FBQ3hHLElBRE07QUFFakJWLFlBQUFBLEtBQUssRUFBRWtILElBQUksQ0FBQ2xIO0FBRkssV0FBbkI7QUFJRDs7QUFDRCxlQUFPa0gsSUFBSSxDQUFDeEcsSUFBWjtBQUNBLGVBQU93RyxJQUFJLENBQUNsSCxLQUFaOztBQUNBLFlBQUlrSCxJQUFJLENBQUNXLEtBQVQsRUFBZ0I7QUFDZFgsVUFBQUEsSUFBSSxtQ0FDQ0EsSUFERDtBQUVGWSxZQUFBQSxNQUFNLEVBQUUsZ0JBQUNDLElBQUQsRUFBZTtBQUNyQixrQ0FDRSwwQ0FDR0EsSUFBSSxpQkFDSDtBQUFNLGdCQUFBLFNBQVMsRUFBRXBJLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLFVBQVQ7QUFBeEIsOEJBQ0U7QUFBTSxnQkFBQSxTQUFTLEVBQUVHLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLFVBQVQ7QUFBeEIsaUJBQStDdUksSUFBL0MsQ0FERixDQUZKLENBREY7QUFTRDtBQVpDLFlBQUo7QUFjRDs7QUFDRGpCLFFBQUFBLFdBQVcsQ0FBQ3hDLElBQVosQ0FBaUI0QyxJQUFqQjtBQUNELE9BckREO0FBc0RBLFVBQU1jLFdBQWdCLEdBQUcsRUFBekI7QUFFQSxVQUFNekQsYUFBa0IsR0FBRyxFQUEzQjs7QUFDQSxVQUFJQyxZQUFZLElBQUlDLFVBQVUsSUFBSSxJQUFsQyxFQUF3QztBQUN0QyxZQUFJQyxPQUFPLENBQUNMLE9BQVIsQ0FBZ0IsUUFBaEIsSUFBNEIsQ0FBQyxDQUFqQyxFQUFvQztBQUNsQ0UsVUFBQUEsYUFBYSxDQUFDRCxJQUFkLGVBQ0U7QUFDRSxZQUFBLFNBQVMsRUFBRTNFLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLFFBQVQsQ0FEcEI7QUFFRSxZQUFBLE9BQU8sRUFBRSxpQkFBQzhELE1BQUQsRUFBWTtBQUNuQixjQUFBLE1BQUksQ0FBQzJFLFFBQUwsQ0FBYzNFLE1BQWQsRUFBc0IsS0FBdEI7QUFDRDtBQUpILDRCQURGO0FBVUQ7O0FBQ0QsWUFBSW9CLE9BQU8sQ0FBQ0wsT0FBUixDQUFnQixRQUFoQixJQUE0QixDQUFDLENBQWpDLEVBQW9DO0FBQ2xDRSxVQUFBQSxhQUFhLENBQUNELElBQWQsZUFDRTtBQUNFLFlBQUEsU0FBUyxFQUFFM0UsT0FBTyxDQUFDSCxNQUFELEVBQVMsUUFBVCxDQURwQjtBQUVFLFlBQUEsT0FBTyxFQUFFLGlCQUFDOEQsTUFBRCxFQUFZO0FBQ25CLGNBQUEsTUFBSSxDQUFDMkUsUUFBTCxDQUFjM0UsTUFBZCxFQUFzQixJQUF0QjtBQUNEO0FBSkgsNEJBREY7QUFVRDtBQUNGOztBQUNELFVBQUk0RSxLQUFLLENBQUNDLE9BQU4sQ0FBY3ZELFFBQWQsQ0FBSixFQUE2QjtBQUMzQkEsUUFBQUEsUUFBUSxDQUFDakIsR0FBVCxDQUFhLFVBQUNDLElBQUQsRUFBZTtBQUMxQixjQUFJQSxJQUFJLENBQUM1RCxLQUFMLENBQVc2RSxRQUFYLElBQXVCLFlBQTNCLEVBQXlDO0FBQ3ZDbUQsWUFBQUEsV0FBVyxDQUFDMUQsSUFBWixDQUFpQlYsSUFBakI7QUFDRCxXQUZELE1BRU8sSUFBSUEsSUFBSSxDQUFDNUQsS0FBTCxDQUFXNkUsUUFBWCxJQUF1QixjQUEzQixFQUEyQztBQUNoRE4sWUFBQUEsYUFBYSxDQUFDRCxJQUFkLENBQW1CVixJQUFuQjtBQUNEO0FBQ0YsU0FORDtBQU9ELE9BUkQsTUFRTyxJQUFJZ0IsUUFBSixFQUFjO0FBQ25CLFlBQVE1RSxLQUFSLEdBQXVCNEUsUUFBdkIsQ0FBUTVFLEtBQVI7O0FBQ0EsWUFBSUEsS0FBSyxDQUFDNkUsUUFBTixJQUFrQixZQUF0QixFQUFvQztBQUNsQ21ELFVBQUFBLFdBQVcsQ0FBQzFELElBQVosQ0FBaUJNLFFBQWpCO0FBQ0QsU0FGRCxNQUVPLElBQUk1RSxLQUFLLENBQUM2RSxRQUFOLElBQWtCLGNBQXRCLEVBQXNDO0FBQzNDTixVQUFBQSxhQUFhLENBQUNELElBQWQsQ0FBbUJNLFFBQW5CO0FBQ0Q7QUFDRjs7QUFDRHFCLE1BQUFBLFlBQVksSUFDVmEsV0FBVyxDQUFDeEMsSUFBWixDQUFpQjtBQUNmMUMsUUFBQUEsS0FBSyxFQUFFLElBRFE7QUFFZnlGLFFBQUFBLFNBQVMsRUFBRSxRQUZJO0FBR2ZlLFFBQUFBLEtBQUssRUFBRSxRQUhRO0FBSWZDLFFBQUFBLEtBQUssRUFBRSxHQUpRO0FBS2ZQLFFBQUFBLE1BQU0sRUFBRSxnQkFBQ0MsSUFBRCxFQUFZekUsTUFBWixFQUE0QjtBQUNsQyw4QkFDRTtBQUFLLFlBQUEsU0FBUyxFQUFFM0QsT0FBTyxDQUFDSCxNQUFELEVBQVMsUUFBVDtBQUF2QixhQUNHLE1BQUksQ0FBQzhJLGtCQUFMLENBQXdCL0QsYUFBeEIsRUFBdUNqQixNQUF2QyxFQUErQ2tCLFlBQS9DLENBREgsQ0FERjtBQUtEO0FBWGMsT0FBakIsQ0FERjtBQWNBLFVBQU0rRCxXQUFXLEdBQUcxQyxRQUFRLEdBQUcsQ0FBSCxHQUFPLENBQW5DO0FBQ0EsMEJBQ0U7QUFBSyxRQUFBLFNBQVMsRUFBRWxHLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLE1BQVQsQ0FBdkI7QUFBeUMsUUFBQSxLQUFLLEVBQUU7QUFBRWdKLFVBQUFBLE9BQU8sRUFBRTtBQUFYO0FBQWhELFNBQ0czQyxRQUFRLGlCQUNQO0FBQUssUUFBQSxTQUFTLEVBQUVsRyxPQUFPLENBQUNILE1BQUQsRUFBUyxNQUFUO0FBQXZCLHNCQUNFLG9CQUFDLElBQUQ7QUFDRSxRQUFBLEtBQUssb0JBQU8yRyxTQUFQLENBRFA7QUFFRSxRQUFBLFFBQVEsRUFBRSxLQUZaO0FBR0UsUUFBQSxTQUFTLEVBQUUsS0FIYjtBQUlFLFFBQUEsVUFBVSxFQUFFQyxVQUpkO0FBS0UsUUFBQSxRQUFRLEVBQUUsS0FBS3FDLFVBQUwsQ0FBZ0IvQixJQUFoQixDQUFxQixJQUFyQixDQUxaO0FBTUUsUUFBQSxZQUFZLEVBQUUsQ0FBQyxLQUFLdkcsS0FBTCxDQUFXVSxlQUFaLENBTmhCO0FBT0UsUUFBQSxVQUFVLEVBQUV3RjtBQVBkLFFBREYsQ0FGSixlQWNFO0FBQUssUUFBQSxTQUFTLEVBQUUxRyxPQUFPLENBQUNILE1BQUQsRUFBUyxPQUFUO0FBQXZCLFNBQ0drRyxVQUFVLGlCQUNUO0FBQUssUUFBQSxTQUFTLEVBQUUvRixPQUFPLENBQUNILE1BQUQsRUFBUyxRQUFUO0FBQXZCLHNCQUNFO0FBQUssUUFBQSxTQUFTLEVBQUVELEdBQUcscUJBQUlJLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLE1BQVQsQ0FBWCxFQUE4QixDQUFDcUcsUUFBL0I7QUFBbkIsc0JBQ0Usb0JBQUMsSUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUsxQyxTQURaO0FBRUUsUUFBQSxRQUFRLEVBQUUsRUFGWjtBQUdFLFFBQUEsVUFBVSxFQUFFLEVBSGQ7QUFJRSxRQUFBLE1BQU0sRUFBQztBQUpULFNBTUc0RCxXQUFXLENBQUNwRCxHQUFaLENBQWdCLFVBQUNDLElBQUQsRUFBWUMsS0FBWixFQUEyQjtBQUMxQyxZQUFJQSxLQUFLLEdBQUcwRSxXQUFSLElBQXVCLENBQUMsTUFBSSxDQUFDcEksS0FBTCxDQUFXVyxNQUF2QyxFQUErQztBQUM3QztBQUNEOztBQUNELDRCQUNFLG9CQUFDLElBQUQsQ0FBTSxJQUFOO0FBQ0UsVUFBQSxLQUFLLEVBQUU4QyxJQUFJLENBQUMwRCxLQURkO0FBRUUsVUFBQSxJQUFJLEVBQUUxRCxJQUFJLENBQUN4RCxJQUZiLENBR0U7QUFIRjtBQUlFLFVBQUEsR0FBRyxFQUFFeUQ7QUFKUCxXQU1HakUsT0FBTyxDQUFDZ0UsSUFBSSxDQUFDbEQsSUFBTixrQ0FDSGtELElBQUksQ0FBQzVELEtBREY7QUFFTjBJLFVBQUFBLFdBQVcsOEJBQVE5RSxJQUFJLENBQUMwRCxLQUFiO0FBRkwsV0FOVixDQURGO0FBYUQsT0FqQkEsQ0FOSCxDQURGLENBREYsZUE0QkU7QUFDRSxRQUFBLFNBQVMsRUFBRTNILE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLFNBQVQsQ0FEcEI7QUFFRSxRQUFBLEtBQUssRUFBRTtBQUFFbUosVUFBQUEsU0FBUyxFQUFFO0FBQWI7QUFGVCxzQkFJRSxvQkFBQyxNQUFEO0FBQ0UsUUFBQSxJQUFJLEVBQUUsU0FEUjtBQUVFLFFBQUEsT0FBTyxFQUFFLEtBQUsxRixRQUFMLENBQWN5RCxJQUFkLENBQW1CLElBQW5CLENBRlg7QUFHRSxRQUFBLElBQUksZUFBRSxvQkFBQyxJQUFEO0FBQU0sVUFBQSxJQUFJLEVBQUVySCxRQUFRLENBQUM4SDtBQUFyQjtBQUhSLHdCQUpGLGVBV0Usb0JBQUMsTUFBRDtBQUNFLFFBQUEsSUFBSSxFQUFFLFNBRFI7QUFFRSxRQUFBLE9BQU8sRUFBRSxLQUFLeUIsV0FBTCxDQUFpQmxDLElBQWpCLENBQXNCLElBQXRCLENBRlg7QUFHRSxRQUFBLElBQUksZUFBRSxvQkFBQyxJQUFEO0FBQU0sVUFBQSxJQUFJLEVBQUVySCxRQUFRLENBQUN3SjtBQUFyQjtBQUhSLHdCQVhGLEVBa0JHOUIsV0FBVyxDQUFDdkYsTUFBWixHQUFxQixDQUFyQixpQkFDQztBQUNFLFFBQUEsU0FBUyxFQUFFaEMsTUFBTSxDQUFDc0osT0FEcEI7QUFFRSxRQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLGNBQVFoSSxNQUFSLEdBQW1CLE1BQUksQ0FBQ1gsS0FBeEIsQ0FBUVcsTUFBUjs7QUFDQSxVQUFBLE1BQUksQ0FBQ2lELFFBQUwsQ0FBYztBQUNaakQsWUFBQUEsTUFBTSxFQUFFLENBQUNBO0FBREcsV0FBZDtBQUdEO0FBUEgsU0FTRyxLQUFLWCxLQUFMLENBQVdXLE1BQVgsR0FBb0IsSUFBcEIsR0FBMkIsSUFUOUIsRUFVRyxLQUFLWCxLQUFMLENBQVdXLE1BQVgsZ0JBQW9CLG9CQUFDLFVBQUQsT0FBcEIsZ0JBQXFDLG9CQUFDLFlBQUQsT0FWeEMsQ0FuQkosQ0E1QkYsQ0FGSixFQWlFR2lGLGNBQWMsaUJBQ2I7QUFDRSxRQUFBLFNBQVMsRUFBRXBHLE9BQU8sQ0FBQ0gsTUFBRCxFQUFTLFNBQVQsQ0FEcEI7QUFFRSxRQUFBLEtBQUssRUFBRTtBQUFFdUosVUFBQUEsVUFBVSxFQUFFO0FBQWQ7QUFGVCxTQUlHckUsT0FBTyxDQUFDTCxPQUFSLENBQWdCLEtBQWhCLElBQXlCLENBQUMsQ0FBMUIsSUFBK0JJLFVBQVUsSUFBSSxJQUE3QyxpQkFDQyxvQkFBQyxNQUFEO0FBQ0UsUUFBQSxJQUFJLEVBQUUsU0FEUjtBQUVFLFFBQUEsT0FBTyxFQUFFLEtBQUt3RCxRQUFMLENBQWN2QixJQUFkLENBQW1CLElBQW5CLENBRlg7QUFHRSxRQUFBLElBQUksZUFBRSxvQkFBQyxJQUFEO0FBQU0sVUFBQSxJQUFJLEVBQUVySCxRQUFRLENBQUMySjtBQUFyQjtBQUhSLHdCQUxKLEVBYUd0RSxPQUFPLENBQUNMLE9BQVIsQ0FBZ0IsUUFBaEIsSUFBNEIsQ0FBQyxDQUE3QixpQkFDQyxvQkFBQyxNQUFELENBQ0U7QUFERjtBQUVFLFFBQUEsT0FBTyxFQUFFLEtBQUsvQyxRQUFMLENBQWNvRixJQUFkLENBQW1CLElBQW5CLENBRlg7QUFHRSxRQUFBLElBQUksZUFBRSxvQkFBQyxJQUFEO0FBQU0sVUFBQSxJQUFJLEVBQUVySCxRQUFRLENBQUM0SjtBQUFyQixVQUhSO0FBSUUsUUFBQSxNQUFNO0FBSlIsd0JBZEosRUF1QkdqQixXQUFXLENBQUNyRSxHQUFaLENBQWdCLFVBQUNDLElBQUQsRUFBWUMsS0FBWixFQUEyQjtBQUMxQyw0QkFBTztBQUFLLFVBQUEsR0FBRyxFQUFFQTtBQUFWLFdBQWtCRCxJQUFsQixDQUFQO0FBQ0QsT0FGQSxDQXZCSCxDQWxFSixlQThGRTtBQUFLLFFBQUEsU0FBUyxFQUFFakUsT0FBTyxDQUFDSCxNQUFELEVBQVMsT0FBVDtBQUF2QixzQkFDRSxvQkFBQyxLQUFEO0FBQU8sUUFBQSxHQUFHLEVBQUUsS0FBS3NELFFBQWpCO0FBQTJCLFFBQUEsT0FBTyxFQUFFZ0U7QUFBcEMsU0FBcURSLFdBQXJELEVBREYsQ0E5RkYsQ0FkRixFQWdIRzdCLFVBQVUsaUJBQ1Qsb0JBQUMsVUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLEtBQUt4RCxTQURaO0FBRUUsUUFBQSxRQUFRLEVBQUUsS0FBS2dILFFBQUwsQ0FBY3ZCLElBQWQsQ0FBbUIsSUFBbkIsQ0FGWjtBQUdFLFFBQUEsUUFBUSxFQUFFLEtBQUt3QyxXQUFMLENBQWlCeEMsSUFBakIsQ0FBc0IsSUFBdEIsQ0FIWjtBQUlFLFFBQUEsU0FBUyxFQUFFTSxXQUpiO0FBS0UsUUFBQSxTQUFTLEVBQUVyQixTQUxiO0FBTUUsUUFBQSxZQUFZLEVBQUVHLFlBTmhCO0FBT0UsUUFBQSxRQUFRLEVBQUUsS0FBSzlGLEtBQUwsQ0FBV21KLFFBUHZCO0FBUUUsUUFBQSxZQUFZLEVBQUVsQztBQVJoQixRQWpISixDQURGO0FBK0hEOzs7O0VBN2hCb0JySSxhOztBQStoQnZCLGVBQWVtQixRQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFRhYmxlIGZyb20gXCIuLi8uLi9iYXNlL3RhYmxlXCI7XHJcbmltcG9ydCBUcmVlIGZyb20gXCIuLi8uLi9iYXNlL3RyZWVcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybVwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL2Jhc2UvbW9kYWxcIjtcclxuaW1wb3J0IFBvcG92ZXIgZnJvbSBcIi4uLy4uL2Jhc2UvcG9wb3ZlclwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vYmFzZS9tZXNzYWdlXCI7XHJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgeyBpY29uVHlwZSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IEVkaXRvckZvcm0gZnJvbSBcIi4vRm9ybVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubW9kdWxlLmxlc3NcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFBhZ2VTdG9yZSwgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyBEb3duT3V0bGluZWQsIFVwT3V0bGluZWQgfSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcywgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgcmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW50ZXJmYWNlIFRhYmxlUHJvcHMge1xyXG4gIGFjdGlvbkNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgYWN0aW9uQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbpu5jorqTmmL7npLrmlrDlop7vvIznvJbovpHpu5jorqTmjInpkq5cclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZmlsdGVyQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrov4fmu6TmjInpkq5cclxuICBzaG93Um93U2VsZWN0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbooajmoLzli77pgInliJdcclxufVxyXG5pbnRlcmZhY2UgVHJlZVByb3BzIHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pCc57Si5qGGXHJcbiAgc2VhcmNoS2V5Pzogc3RyaW5nOyAvL+aQnOe0onZhbHVl5a+55bqU55qEa2V5XHJcbiAgc2VhcmNoRmllbGQ/OiBzdHJpbmc7IC8v5p+l6K+i5a+55bqU55qEa2V5XHJcbiAgdGl0bGVBbGlhcz86IHN0cmluZzsgLy/moJF0aXRsZeWvueW6lOeahGtleSzpu5jorqR0aXRsZVxyXG4gIG5vZGVQb3Jwcz86IG9iamVjdDtcclxufVxyXG5pbnRlcmZhY2UgTlNDQmFzZUJhZ2VQcm9wcyB7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65aS06YOo5pCc57Si5qCPXHJcbiAgdGFibGVQcm9wcz86IFRhYmxlUHJvcHM7IC8v6KGo5qC85Y+C5pWwXHJcbiAgdHJlZVByb3BzPzogVHJlZVByb3BzOyAvL+W3puS+p+agkeWPguaVsFxyXG4gIHN1Ym1pdFBhcmFtcz86IE9iamVjdDsgLy/mt7vliqDlj4LmlbDvvIzpu5jorqRtb3Rob2Q6cG9zdO+8jCDlj4LmlbDpgJrov4dkYXRh5Lyg6YCSXHJcbiAgc3VibWl0VXJsPzogc3RyaW5nO1xyXG4gIG9uU3VibWl0PzogYW55O1xyXG4gIGNvbHVtbnM6IEFycmF5PE9iamVjdD47XHJcbiAgc2hvd0xlZnQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuW3puS+p+ebruW9leagkVxyXG4gIHNob3dUb29sQnV0dG9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmjInpkq7moI9cclxuICBlZGl0b3JGb3JtPzogYm9vbGVhbjsgLy/mmK/lkKbpnIDopoHooajljZXlip/og70gLCDkuLpmYWxzZSDnvJbovpHvvIzmn6XnnIvvvIzmlrDlop7lip/og73lnYfkuI3lj6/nlKhcclxuICBkZWxldGVVcmw/OiBzdHJpbmc7IC8v5Yig6ZmkdXJsXHJcbiAgb25EZWxldGU/OiBhbnk7IC8v5Yig6Zmk5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HaWRz5ou85o6l5Lyg6YCS57uZ5ZCO5Y+wXHJcbiAgZGVsZXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG4gIG9uU2VhcmNoPzogYW55O1xyXG4gIGluaXREYXRhPzogYW55OyAvL+WIneWni+WMluWbnuiwg+WHveaVsO+8jOWcqGNvbXBvbmVudERpZE1vdW505Lit6LCD55SoXHJcbiAgYnV0dG9ucz86IEFycmF5PHN0cmluZz47IC8v5oyJ6ZKu6ZuG5ZCIICBbJ2FkZCcsJ2RlbGV0ZScsJ3NlYXJjaCcsJ2VkaXRvciddXHJcbn1cclxuXHJcbmNsYXNzIEJhc2VQYWdlIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxOU0NCYXNlQmFnZVByb3BzLCBhbnk+IHtcclxuICB0YWJsZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgdHJlZVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc2VhcmNoUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBlZGl0b3JSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wczogYW55KSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICB0eXBlOiBcImFkZFwiLFxyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFtdLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBbXSxcclxuICAgICAgdHJlZVNlbGVjdGVkS2V5OiBcIlwiLFxyXG4gICAgICBleHBhbmQ6IGZhbHNlLFxyXG4gICAgfTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGluaXREYXRhIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaW5pdERhdGEgJiYgaW5pdERhdGEoKTtcclxuICB9XHJcbiAgb25TZWxlY3QgPSAoY2hlY2tlZFRyZWVLZXlzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQsIGRlcHRJZDogY2hlY2tlZFRyZWVLZXlzWzBdIH07XHJcbiAgICB0aGlzLnRhYmxlTG9hZCh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgLy/mmL7npLrooajljZVcclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgZmxhZyA9IHRydWUpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LnNob3codmFsdWUsIGZsYWcpO1xyXG4gIH1cclxuXHJcbiAgLy/lhbPpl63ooajljZVcclxuICBoaWRlRm9ybShmbGFnID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uaGlkZShmbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5om56YeP5Yig6ZmkXHJcbiAgb25EZWxldGUoKSB7XHJcbiAgICBjb25zdCB7IGRlbGV0ZVVybCwgb25EZWxldGUsIGRlbGV0ZVBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkUm93S2V5cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCLor7fpgInmi6nopoHliKDpmaTnmoTmlbDmja7vvIFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChvbkRlbGV0ZSkge1xyXG4gICAgICBvbkRlbGV0ZSAmJiBvbkRlbGV0ZShzZWxlY3RlZFJvd0tleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWRlbGV0ZVVybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgdGl0bGU6IFwi5piv5ZCm56Gu6K6k5Yig6Zmk5omA6YCJ6aG577yfXCIsXHJcbiAgICAgIC8vIGljb246IDxJY29uIHR5cGU9eydpY29udGlzaGktMyd9IC8+LFxyXG4gICAgICBva1RleHQ6IFwi56Gu6K6kXCIsXHJcbiAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgIG9uT2s6ICgpID0+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0UGFyYW1zID0ge1xyXG4gICAgICAgICAgbWV0aG9kOiBcInBvc3RcIixcclxuICAgICAgICAgIHBhcmFtczogeyBpZHM6IHNlbGVjdGVkUm93S2V5cy5qb2luKCkgfSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxldCByZXF1ZXN0UGFyYW1zID0ge30gYXMgYW55O1xyXG4gICAgICAgIGlmIChkZWZhdWx0UGFyYW1zKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWxldGVQYXJhbXMgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVmYXVsdFBhcmFtcyB9O1xyXG4gICAgICAgIHJlcXVlc3QoZGVsZXRlVXJsLCB7XHJcbiAgICAgICAgICAuLi5yZXF1ZXN0UGFyYW1zLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLliKDpmaTmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWIoOmZpOWksei0pe+8gVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5sb2FkKHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/mn6Xor6JcclxuICBvblNlYXJjaCgpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgaWYgKG9uU2VhcmNoKSB7XHJcbiAgICAgIG9uU2VhcmNoKGZyb21WYWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGFibGVMb2FkKGZyb21WYWx1ZSk7XHJcbiAgfVxyXG4gIC8v6KGo5qC86YeN5paw5Yqg6L29XHJcbiAgdGFibGVSZWxvYWQoKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCgpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXM7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93RGF0YXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0RhdGFzO1xyXG4gIH1cclxuICBnZXRTZWFyY2hWYWx1ZXMoKSB7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgcmV0dXJuIGZyb21WYWx1ZTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3QocmVjb3JkOiBhbnksIHNlbGVjdGVkOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzLCBzZWxlY3RlZFJvd0RhdGFzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IG5ld1NlbGVjdGVkUm93S2V5cyA9IFsuLi5zZWxlY3RlZFJvd0tleXNdO1xyXG4gICAgbGV0IG5ld1NlbGVjdGVkUm93RGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhc107XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLm5ld1NlbGVjdGVkUm93S2V5cywgcmVjb3JkLmlkXTtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dEYXRhcyA9IFsuLi5uZXdTZWxlY3RlZFJvd0RhdGFzLCByZWNvcmRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0gPT09IHJlY29yZC5pZCkge1xyXG4gICAgICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmlkID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93RGF0YXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogbmV3U2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBuZXdTZWxlY3RlZFJvd0RhdGFzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJvd1NlbGVjdGlvbk9uU2VsZWN0QWxsKHNlbGVjdGVkOiBhbnksIHNlbGVjdGVkUm93czogYW55LCBjaGFuZ2VSb3dzOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzLCBzZWxlY3RlZFJvd0RhdGFzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IG5ld2lkczogYW55ID0gW107XHJcbiAgICBsZXQgbmV3ZGF0YXM6IGFueSA9IFtdO1xyXG4gICAgaWYgKGNoYW5nZVJvd3MubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgY2hhbmdlSWRzID0gY2hhbmdlUm93cy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5pZCk7XHJcbiAgICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICAgIG5ld2lkcyA9IFsuLi5zZWxlY3RlZFJvd0tleXMsIC4uLmNoYW5nZUlkc107XHJcbiAgICAgICAgbmV3ZGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhcywgLi4uY2hhbmdlUm93c107XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2VsZWN0ZWRSb3dLZXlzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hhbmdlSWRzLmluZGV4T2YoaXRlbSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgbmV3aWRzLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc2VsZWN0ZWRSb3dEYXRhcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0uaWQpID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2RhdGFzLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld2lkcyA9IFsuLi5zZWxlY3RlZFJvd0tleXNdO1xyXG4gICAgICBuZXdkYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzXTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFsuLi5uZXdpZHNdLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBbLi4ubmV3ZGF0YXNdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9uczogYW55LCByZWNvcmQ6IGFueSwgYWN0aW9uQnV0dG9uPzogYm9vbGVhbikge1xyXG4gICAgY29uc3QgeyBlZGl0b3JGb3JtID0gdHJ1ZSwgYnV0dG9ucyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgY29udGVudCA9IGNvbHVtbkJ1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIC4uLnBhcmFtcyB9ID0gaXRlbS5wcm9wcztcclxuICAgICAgaWYgKGluZGV4ID4gMSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKSxcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50LWl0ZW1cIilcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7Y2hpbGRyZW59XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCBJY29uLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA9PSAyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICB0cmlnZ2VyPXtbXCJjbGlja1wiLCBcImhvdmVyXCJdfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcCddfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpfT5cclxuICAgICAgICAgICAgICDmm7TlpJpcclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgPERvd25PdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIGlmIChpbmRleCA8IDIpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7SWNvbn0ge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAgLy8gbGV0IG1hcERhdGEgPSB0aGlzLnRyZWVSZWYuY3VycmVudD8uc3RvcmUuZ2V0RmxhdHRlbkRhdGEoKTtcclxuICAgICAgICAgIGtleXdvcmQgPSBzZWxlY3RlZE5vZGVzWzBdLmRhdGFyZWYuYXR0cmlidXRlW3NlYXJjaEtleV07XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBzZWxlY3RlZEtleXNbMF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHRyZWVTZWxlY3RlZEtleToga2V5d29yZCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgc2VhcmNoRmllbGQgJiYgdGhpcy50YWJsZUxvYWQoeyAuLi5mcm9tVmFsdWUsIFtzZWFyY2hGaWVsZF06IGtleXdvcmQgfSk7XHJcbiAgfVxyXG4gIHJlc2V0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNvbHVtbnMgPSBbXSxcclxuICAgICAgc2hvd1NlYXJjaCA9IHRydWUsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICB0YWJsZVByb3BzID0ge30sXHJcbiAgICAgIHRyZWVQcm9wcyA9IHt9LFxyXG4gICAgICBzaG93TGVmdCA9IGZhbHNlLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgc2hvd1Rvb2xCdXR0b24gPSB0cnVlLFxyXG4gICAgICBidXR0b25zID0gW10sXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlID0ge30sXHJcbiAgICAgIGZpbHRlckNvbHVtbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkJ1dHRvbiA9IHRydWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbiA9IHRydWUsXHJcbiAgICAgIHNob3dSb3dTZWxlY3Rpb24gPSB0cnVlLFxyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZTogdHJlZVN0b3JlID0ge30sXHJcbiAgICAgIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlLFxyXG4gICAgICB0aXRsZUFsaWFzID0gXCJ0aXRsZVwiLFxyXG4gICAgfSA9IHRyZWVQcm9wcztcclxuXHJcbiAgICBsZXQgdGFibGVQYXJhbXMgPSB7IGZpbHRlckNvbHVtbiwgc3RvcmUgfSBhcyBhbnk7XHJcblxyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvblNlbGVjdEFsbDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdEFsbC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgY29sdW1uV2lkdGg6IDQwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YWJsZUNvbHVtbjogYW55W10gPSBbXTtcclxuICAgIGNvbnN0IHNlYXJjaEZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGVkaXRvckZvcm1zOiBhbnkgPSBbXTtcclxuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZTogYW55ID0ge307XHJcbiAgICBjb2x1bW5zLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmICh0ZW1wLnNlYXJjaCkge1xyXG4gICAgICAgIHNlYXJjaEZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAuc2VhcmNoO1xyXG5cclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgICAgcHJvcHM6IG9taXQoeyAuLi50ZW1wLnByb3BzIH0sIFtcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCJdKSxcclxuICAgICAgICB9KTtcclxuICAgICAgaWYgKHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZSkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4O1xyXG4gICAgICAgIGRlZmF1bHRWYWx1ZVtuYW1lXSA9IHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgZGVsZXRlIHRlbXAucHJvcHM7XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAge3RleHQgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImNvbC1iYWNrXCIpfT5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImNvbC10ZXh0XCIpfT57dGV4dH08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgdGFibGVDb2x1bW4ucHVzaCh0ZW1wKTtcclxuICAgIH0pO1xyXG4gICAgY29uc3Qgc2VsZkJ1dHRvbnM6IGFueSA9IFtdO1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgaWYgKGFjdGlvbkJ1dHRvbiAmJiBlZGl0b3JGb3JtID09IHRydWUpIHtcclxuICAgICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcInNlYXJjaFwiKSA+IC0xKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAgb25DbGljaz17KHJlY29yZCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOafpeeci1xyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYnV0dG9ucy5pbmRleE9mKFwiZWRpdG9yXCIpID4gLTEpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpfVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybShyZWNvcmQsIHRydWUpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDnvJbovpFcclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5wcm9wcy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzLnBhZ2VUeXBlID09IFwidG9vbEJ1dHRvblwiKSB7XHJcbiAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH0gZWxzZSBpZiAocHJvcHMucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgd2lkdGg6IDE1MCxcclxuICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnksIHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYWN0aW9uXCIpfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9ucywgcmVjb3JkLCBhY3Rpb25CdXR0b24pfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICBjb25zdCBoZWFkZXJDb3VudCA9IHNob3dMZWZ0ID8gMiA6IDM7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicGFnZVwiKX0gc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX0+XHJcbiAgICAgICAge3Nob3dMZWZ0ICYmIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJsZWZ0XCIpfT5cclxuICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICBzdG9yZT17eyAuLi50cmVlU3RvcmUgfX1cclxuICAgICAgICAgICAgICBzaG93SWNvbj17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICBzZWFyY2hhYmxlPXt0cmVlU2VhcmNofVxyXG4gICAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnRyZWVTZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgdGl0bGVBbGlhcz17dGl0bGVBbGlhc31cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICl9XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInJpZ2h0XCIpfT5cclxuICAgICAgICAgIHtzaG93U2VhcmNoICYmIChcclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImhlYWRlclwiKX0+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Nscyh7IFtnZXRMZXNzKHN0eWxlcywgXCJmb3JtXCIpXTogIXNob3dMZWZ0IH0pfT5cclxuICAgICAgICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgICAgICAgIHJlZj17dGhpcy5zZWFyY2hSZWZ9XHJcbiAgICAgICAgICAgICAgICAgIGxhYmVsQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgd3JhcHBlckNvbD17e319XHJcbiAgICAgICAgICAgICAgICAgIGxheW91dD1cImlubGluZVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtzZWFyY2hGb3Jtcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IGhlYWRlckNvdW50ICYmICF0aGlzLnN0YXRlLmV4cGFuZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZvcm0uSXRlbVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17aXRlbS5uYW1lfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBydWxlcz17aXRlbS5ydWxlc31cclxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgICAge2dldE5vZGUoaXRlbS50eXBlLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uaXRlbS5wcm9wcyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogYOivt+i+k+WFpSR7aXRlbS5sYWJlbH1gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYnV0dG9uc1wiKX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuc2VhcmNofSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUucmVmcmVzaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuYV9zdHlsZX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gPFVwT3V0bGluZWQgLz4gOiA8RG93bk91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJidXR0b25zXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHtidXR0b25zLmluZGV4T2YoXCJhZGRcIikgPiAtMSAmJiBlZGl0b3JGb3JtID09IHRydWUgJiYgKFxyXG4gICAgICAgICAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5hZGR9IC8+fVxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDmt7vliqBcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAge2J1dHRvbnMuaW5kZXhPZihcImRlbGV0ZVwiKSA+IC0xICYmIChcclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgLy8gdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25EZWxldGUuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuZGVsZXRlM30gLz59XHJcbiAgICAgICAgICAgICAgICAgIGRhbmdlclxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICDliKDpmaRcclxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAge3NlbGZCdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gPGRpdiBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj47XHJcbiAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0YWJsZVwiKX0+XHJcbiAgICAgICAgICAgIDxUYWJsZSByZWY9e3RoaXMudGFibGVSZWZ9IGNvbHVtbnM9e3RhYmxlQ29sdW1ufSB7Li4udGFibGVQYXJhbXN9IC8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICB7ZWRpdG9yRm9ybSAmJiAoXHJcbiAgICAgICAgICA8RWRpdG9yRm9ybVxyXG4gICAgICAgICAgICByZWY9e3RoaXMuZWRpdG9yUmVmfVxyXG4gICAgICAgICAgICBvbkNhbmNlbD17dGhpcy5zaG93Rm9ybS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBjYWxsQmFjaz17dGhpcy50YWJsZVJlbG9hZC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBmb3JtUHJvcHM9e2VkaXRvckZvcm1zfVxyXG4gICAgICAgICAgICBzdWJtaXRVcmw9e3N1Ym1pdFVybH1cclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zPXtzdWJtaXRQYXJhbXN9XHJcbiAgICAgICAgICAgIG9uU3VibWl0PXt0aGlzLnByb3BzLm9uU3VibWl0fVxyXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBCYXNlUGFnZTtcclxuIl19
720
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJnZXRMZXNzIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJvbWl0IiwiQmFzZVBhZ2UiLCJwcm9wcyIsImNyZWF0ZVJlZiIsImNoZWNrZWRUcmVlS2V5cyIsInN0YXRlIiwibmFtZSIsInVzZXJUeXBlIiwiYWNjb3VudCIsInZhbHVlIiwiZGVwdElkIiwidGFibGVMb2FkIiwidHlwZSIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJpbml0RGF0YSIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJjdXJyZW50Iiwic2hvdyIsImNsb3NlRmxhZyIsImhpZGUiLCJkZWxldGVVcmwiLCJvbkRlbGV0ZSIsImRlbGV0ZVBhcmFtcyIsImxlbmd0aCIsIndhcm5pbmciLCJFcnJvciIsImNvbmZpcm0iLCJ0aXRsZSIsIm9rVGV4dCIsImNhbmNlbFRleHQiLCJvbk9rIiwiZGVmYXVsdFBhcmFtcyIsIm1ldGhvZCIsInBhcmFtcyIsImlkcyIsImpvaW4iLCJyZXF1ZXN0UGFyYW1zIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ0YWJsZVJlZiIsInN0b3JlIiwibG9hZCIsIm9uU2VhcmNoIiwiZnJvbVZhbHVlIiwic2VhcmNoUmVmIiwiZ2V0RmllbGRzVmFsdWUiLCJyZWxvYWQiLCJyZWNvcmQiLCJzZWxlY3RlZCIsIm5ld1NlbGVjdGVkUm93S2V5cyIsIm5ld1NlbGVjdGVkUm93RGF0YXMiLCJpZCIsIm1hcCIsIml0ZW0iLCJpbmRleCIsInNwbGljZSIsInNldFN0YXRlIiwic2VsZWN0ZWRSb3dzIiwiY2hhbmdlUm93cyIsIm5ld2lkcyIsIm5ld2RhdGFzIiwiY2hhbmdlSWRzIiwiaW5kZXhPZiIsInB1c2giLCJjb2x1bW5CdXR0b25zIiwiYWN0aW9uQnV0dG9uIiwiZWRpdG9yRm9ybSIsImJ1dHRvbnMiLCJjb250ZW50IiwiY2hpbGRyZW4iLCJwYWdlVHlwZSIsIm9uQ2xpY2siLCJzZWxlY3RlZEtleXMiLCJzZWxlY3RlZE5vZGVzIiwia2V5d29yZCIsInRyZWVQcm9wcyIsInNlYXJjaEtleSIsInNlYXJjaEZpZWxkIiwiaXNMZWFmIiwiZGF0YXJlZiIsImF0dHJpYnV0ZSIsInJlc2V0RmllbGRzIiwiY29sdW1ucyIsInNob3dTZWFyY2giLCJzdWJtaXRVcmwiLCJ0YWJsZVByb3BzIiwic2hvd0xlZnQiLCJzdWJtaXRQYXJhbXMiLCJzaG93VG9vbEJ1dHRvbiIsIm9uU2hvd0Zvcm0iLCJmaWx0ZXJDb2x1bW4iLCJhY3Rpb25Db2x1bW4iLCJzaG93Um93U2VsZWN0aW9uIiwidHJlZVN0b3JlIiwidHJlZVNlYXJjaCIsInRpdGxlQWxpYXMiLCJ0YWJsZVBhcmFtcyIsInJvd1NlbGVjdGlvbiIsIm9uU2VsZWN0Iiwicm93U2VsZWN0aW9uT25TZWxlY3QiLCJiaW5kIiwib25TZWxlY3RBbGwiLCJyb3dTZWxlY3Rpb25PblNlbGVjdEFsbCIsImNvbHVtbldpZHRoIiwidGFibGVDb2x1bW4iLCJzZWFyY2hGb3JtcyIsImVkaXRvckZvcm1zIiwiZGVmYXVsdFZhbHVlIiwidGVtcCIsInNlYXJjaCIsImZpZWxkIiwiZGF0YUluZGV4IiwibGFiZWwiLCJlZGl0b3IiLCJydWxlcyIsInNwYW4iLCJkaWN0TmFtZSIsImNvbHVtblNlYXJjaCIsImZpbHRlclByb3BzIiwic3R5bGUiLCJyZW5kZXIiLCJ0ZXh0Iiwic2VsZkJ1dHRvbnMiLCJzaG93Rm9ybSIsIkFycmF5IiwiaXNBcnJheSIsImFsaWduIiwid2lkdGgiLCJyZW5kZXJDbG91bW5CdXR0b24iLCJoZWFkZXJDb3VudCIsImRpc3BsYXkiLCJ0cmVlU2VsZWN0IiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJyZXNldFNlYXJjaCIsInJlZnJlc2giLCJhX3N0eWxlIiwibWFyZ2luTGVmdCIsImFkZCIsImRlbGV0ZTMiLCJ0YWJsZVJlbG9hZCIsIm9uU3VibWl0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLGtCQUFsQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixpQkFBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLG1CQUFuQjtBQUNBLE9BQU9DLEtBQVAsTUFBa0Isa0JBQWxCO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixvQkFBcEI7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLG9CQUFwQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsNEJBQWpCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QixpQkFBekI7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLFFBQXZCO0FBQ0EsT0FBT0MsR0FBUCxNQUFnQixZQUFoQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIscUJBQW5CO0FBRUEsU0FBU0MsWUFBVCxFQUF1QkMsVUFBdkIsUUFBeUMsbUJBQXpDO0FBQ0EsU0FBU0MsT0FBVCxFQUFrQkMsT0FBbEIsUUFBaUMsYUFBakM7QUFDQSxPQUFPQyxPQUFQLE1BQW9CLGFBQXBCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFxQ01DLFE7Ozs7O0FBTUosb0JBQVlDLEtBQVosRUFBd0I7QUFBQTs7QUFBQTs7QUFDdEIsOEJBQU1BLEtBQU47O0FBRHNCLDRFQUxickIsS0FBSyxDQUFDc0IsU0FBTixFQUthOztBQUFBLDJF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ZCxDQUFtQixJQUFuQixDQUZYO0FBR0UsUUFBQSxJQUFJLGVBQUUsb0JBQUMsSUFBRDtBQUFNLFVBQUEsSUFBSSxFQUFFdkgsUUFBUSxDQUFDOEo7QUFBckIsVUFIUjtBQUlFLFFBQUEsTUFBTTtBQUpSLHdCQXJCSixFQThCR2pCLFdBQVcsQ0FBQ3RFLEdBQVosQ0FBZ0IsVUFBQ0MsSUFBRCxFQUFZQyxLQUFaLEVBQTJCO0FBQzFDLDRCQUFPO0FBQUssVUFBQSxHQUFHLEVBQUVBO0FBQVYsV0FBa0JELElBQWxCLENBQVA7QUFDRCxPQUZBLENBOUJILENBbEVKLGVBcUdFO0FBQUssUUFBQSxTQUFTLEVBQUVsRSxPQUFPLENBQUNILE1BQUQsRUFBUyxPQUFUO0FBQXZCLHNCQUNFLG9CQUFDLEtBQUQ7QUFBTyxRQUFBLEdBQUcsRUFBRSxLQUFLdUQsUUFBakI7QUFBMkIsUUFBQSxPQUFPLEVBQUVpRTtBQUFwQyxTQUFxRFIsV0FBckQsRUFERixDQXJHRixDQWRGLEVBdUhHOUIsVUFBVSxpQkFDVCxvQkFBQyxVQUFEO0FBQ0UsUUFBQSxHQUFHLEVBQUUsS0FBS3pELFNBRFo7QUFFRSxRQUFBLFFBQVEsRUFBRSxLQUFLbUksV0FBTCxDQUFpQnhDLElBQWpCLENBQXNCLElBQXRCLENBRlo7QUFHRSxRQUFBLFNBQVMsRUFBRU0sV0FIYjtBQUlFLFFBQUEsU0FBUyxFQUFFdEIsU0FKYjtBQUtFLFFBQUEsWUFBWSxFQUFFRyxZQUxoQjtBQU1FLFFBQUEsUUFBUSxFQUFFLEtBQUsvRixLQUFMLENBQVdxSixRQU52QjtBQU9FLFFBQUEsWUFBWSxFQUFFbEM7QUFQaEIsUUF4SEosQ0FERjtBQXFJRDs7OztFQTNpQm9CdkksYTs7QUE2aUJ2QixlQUFlbUIsUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi4vLi4vYmFzZS90YWJsZVwiO1xyXG5pbXBvcnQgVHJlZSBmcm9tIFwiLi4vLi4vYmFzZS90cmVlXCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi9iYXNlL21vZGFsXCI7XHJcbmltcG9ydCBQb3BvdmVyIGZyb20gXCIuLi8uLi9iYXNlL3BvcG92ZXJcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vYmFzZS9jb21tb24vSWNvbkZvbnRcIjtcclxuaW1wb3J0IHsgaWNvblR5cGUgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBFZGl0b3JGb3JtIGZyb20gXCIuL0Zvcm1cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgRG93bk91dGxpbmVkLCBVcE91dGxpbmVkIH0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCB7IGdldExlc3MsIGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHJlcXVlc3QgZnJvbSBcIm5zYy1yZXF1ZXN0XCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmludGVyZmFjZSBUYWJsZVByb3BzIHtcclxuICBhY3Rpb25Db2x1bW4/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaTjeS9nOWIl1xyXG4gIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm6buY6K6k5pi+56S65paw5aKe77yM57yW6L6R6buY6K6k5oyJ6ZKuXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbn1cclxuaW50ZXJmYWNlIFRyZWVQcm9wcyB7XHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaQnOe0ouahhlxyXG4gIHNlYXJjaEtleT86IHN0cmluZzsgLy/mkJzntKJ2YWx1ZeWvueW6lOeahGtleVxyXG4gIHNlYXJjaEZpZWxkPzogc3RyaW5nOyAvL+afpeivouWvueW6lOeahGtleVxyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7IC8v5qCRdGl0bGXlr7nlupTnmoRrZXks6buY6K6kdGl0bGVcclxuICBub2RlUG9ycHM/OiBvYmplY3Q7XHJcbn1cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuWktOmDqOaQnOe0ouagj1xyXG4gIHRhYmxlUHJvcHM/OiBUYWJsZVByb3BzOyAvL+ihqOagvOWPguaVsFxyXG4gIHRyZWVQcm9wcz86IFRyZWVQcm9wczsgLy/lt6bkvqfmoJHlj4LmlbBcclxuICBzdWJtaXRQYXJhbXM/OiBPYmplY3Q7IC8v5re75Yqg5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HZGF0YeS8oOmAklxyXG4gIHN1Ym1pdFVybD86IHN0cmluZztcclxuICBvblN1Ym1pdD86ICh2YWx1ZT86IGFueSwgbGFiZWw/OiBhbnkpID0+IHZvaWQ7XHJcbiAgY29sdW1uczogQXJyYXk8T2JqZWN0PjtcclxuICBzaG93TGVmdD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65bem5L6n55uu5b2V5qCRXHJcbiAgc2hvd1Rvb2xCdXR0b24/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuaMiemSruagj1xyXG4gIGVkaXRvckZvcm0/OiBib29sZWFuOyAvL+aYr+WQpumcgOimgeihqOWNleWKn+iDvSAsIOS4umZhbHNlIOe8lui+ke+8jOafpeeci++8jOaWsOWinuWKn+iDveWdh+S4jeWPr+eUqFxyXG4gIGRlbGV0ZVVybD86IHN0cmluZzsgLy/liKDpmaR1cmxcclxuICBvbkRlbGV0ZT86IChzZWxlY3RlZEtleXM/OiBBcnJheTxhbnk+KSA9PiB2b2lkOyAvL+WIoOmZpOWPguaVsO+8jOm7mOiupG1vdGhvZDpwb3N077yMIOWPguaVsOmAmui/h2lkc+aLvOaOpeS8oOmAkue7meWQjuWPsFxyXG4gIGRlbGV0ZVBhcmFtcz86IE9iamVjdDtcclxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcclxuICBvblNlYXJjaD86ICh2YWx1ZT86IGFueSkgPT4gdm9pZDtcclxuICBpbml0RGF0YT86IGFueTsgLy/liJ3lp4vljJblm57osIPlh73mlbDvvIzlnKhjb21wb25lbnREaWRNb3VudOS4reiwg+eUqFxyXG4gIGJ1dHRvbnM/OiBBcnJheTxzdHJpbmc+OyAvL+aMiemSrumbhuWQiCAgWydhZGQnLCdkZWxldGUnLCdzZWFyY2gnLCdlZGl0b3InXVxyXG4gIG9uU2hvd0Zvcm0/OiAodmFsdWU/OiBhbnksIGVkaXRvckZsYWc/OiBib29sZWFuKSA9PiB2b2lkOyAvL+aJk+W8gOihqOWNleWbnuiwg1xyXG59XHJcblxyXG5jbGFzcyBCYXNlUGFnZSBleHRlbmRzIFB1cmVDb21wb25lbnQ8TlNDQmFzZUJhZ2VQcm9wcywgYW55PiB7XHJcbiAgdGFibGVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHRyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZWRpdG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogW10sXHJcbiAgICAgIHRyZWVTZWxlY3RlZEtleTogXCJcIixcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgY29uc3QgeyBpbml0RGF0YSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGluaXREYXRhICYmIGluaXREYXRhKCk7XHJcbiAgfVxyXG4gIG9uU2VsZWN0ID0gKGNoZWNrZWRUcmVlS2V5czogYW55KSA9PiB7XHJcbiAgICBjb25zdCB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgdmFsdWUgPSB7IG5hbWUsIHVzZXJUeXBlLCBhY2NvdW50LCBkZXB0SWQ6IGNoZWNrZWRUcmVlS2V5c1swXSB9O1xyXG4gICAgdGhpcy50YWJsZUxvYWQodmFsdWUpO1xyXG4gIH07XHJcblxyXG4gIC8v5pi+56S66KGo5Y2VXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIGVkaXRvcmZsYWcgPSB0cnVlKSB7XHJcbiAgICB0aGlzLmVkaXRvclJlZi5jdXJyZW50Py5zaG93KHZhbHVlLCBlZGl0b3JmbGFnKTtcclxuICB9XHJcblxyXG4gIC8v5YWz6Zet6KGo5Y2VXHJcbiAgaGlkZUZvcm0oY2xvc2VGbGFnID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uaGlkZShjbG9zZUZsYWcpO1xyXG4gIH1cclxuXHJcbiAgLy/mibnph4/liKDpmaRcclxuICBvbkRlbGV0ZSgpIHtcclxuICAgIGNvbnN0IHsgZGVsZXRlVXJsLCBvbkRlbGV0ZSwgZGVsZXRlUGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBpZiAoc2VsZWN0ZWRSb3dLZXlzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIG1lc3NhZ2Uud2FybmluZyhcIuivt+mAieaLqeimgeWIoOmZpOeahOaVsOaNru+8gVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG9uRGVsZXRlKSB7XHJcbiAgICAgIG9uRGVsZXRlICYmIG9uRGVsZXRlKHNlbGVjdGVkUm93S2V5cyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghZGVsZXRlVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgIH1cclxuICAgIE1vZGFsLmNvbmZpcm0oe1xyXG4gICAgICB0aXRsZTogXCLmmK/lkKbnoa7orqTliKDpmaTmiYDpgInpobnvvJ9cIixcclxuICAgICAgb2tUZXh0OiBcIuehruiupFwiLFxyXG4gICAgICBjYW5jZWxUZXh0OiBcIuWPlua2iFwiLFxyXG4gICAgICBvbk9rOiAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdFBhcmFtcyA9IHtcclxuICAgICAgICAgIG1ldGhvZDogXCJwb3N0XCIsXHJcbiAgICAgICAgICBwYXJhbXM6IHsgaWRzOiBzZWxlY3RlZFJvd0tleXMuam9pbigpIH0sXHJcbiAgICAgICAgfTtcclxuICAgICAgICBsZXQgcmVxdWVzdFBhcmFtcyA9IHt9IGFzIGFueTtcclxuICAgICAgICBpZiAoZGVmYXVsdFBhcmFtcykge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVsZXRlUGFyYW1zIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlZmF1bHRQYXJhbXMgfTtcclxuICAgICAgICByZXF1ZXN0KGRlbGV0ZVVybCwge1xyXG4gICAgICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcclxuICAgICAgICB9KVxyXG4gICAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5Yig6Zmk5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLliKDpmaTlpLHotKXvvIFcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICB0YWJsZUxvYWQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUubG9hZCh7XHJcbiAgICAgIHBhcmFtczogcGFyYW1zLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8v5p+l6K+iXHJcbiAgb25TZWFyY2goKSB7XHJcbiAgICBjb25zdCB7IG9uU2VhcmNoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGlmIChvblNlYXJjaCkge1xyXG4gICAgICBvblNlYXJjaChmcm9tVmFsdWUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlTG9hZChmcm9tVmFsdWUpO1xyXG4gIH1cclxuICAvL+ihqOagvOmHjeaWsOWKoOi9vVxyXG4gIHRhYmxlUmVsb2FkKCkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5yZWxvYWQoKTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dLZXlzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dLZXlzO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0RhdGFzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc2VsZWN0ZWRSb3dEYXRhcztcclxuICB9XHJcbiAgZ2V0U2VhcmNoVmFsdWVzKCkge1xyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHJldHVybiBmcm9tVmFsdWU7XHJcbiAgfVxyXG4gIHJvd1NlbGVjdGlvbk9uU2VsZWN0KHJlY29yZDogYW55LCBzZWxlY3RlZDogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0tleXMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgIGxldCBuZXdTZWxlY3RlZFJvd0RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXNdO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93S2V5cyA9IFsuLi5uZXdTZWxlY3RlZFJvd0tleXMsIHJlY29yZC5pZF07XHJcbiAgICAgIG5ld1NlbGVjdGVkUm93RGF0YXMgPSBbLi4ubmV3U2VsZWN0ZWRSb3dEYXRhcywgcmVjb3JkXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93S2V5cy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbS5pZCA9PT0gcmVjb3JkLmlkKSB7XHJcbiAgICAgICAgICBuZXdTZWxlY3RlZFJvd0RhdGFzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IG5ld1NlbGVjdGVkUm93S2V5cyxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogbmV3U2VsZWN0ZWRSb3dEYXRhcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdEFsbChzZWxlY3RlZDogYW55LCBzZWxlY3RlZFJvd3M6IGFueSwgY2hhbmdlUm93czogYW55KSB7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cywgc2VsZWN0ZWRSb3dEYXRhcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBuZXdpZHM6IGFueSA9IFtdO1xyXG4gICAgbGV0IG5ld2RhdGFzOiBhbnkgPSBbXTtcclxuICAgIGlmIChjaGFuZ2VSb3dzLmxlbmd0aCA+IDApIHtcclxuICAgICAgbGV0IGNoYW5nZUlkcyA9IGNoYW5nZVJvd3MubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQpO1xyXG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzLCAuLi5jaGFuZ2VJZHNdO1xyXG4gICAgICAgIG5ld2RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXMsIC4uLmNoYW5nZVJvd3NdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlbGVjdGVkUm93S2V5cy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0pID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2lkcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHNlbGVjdGVkUm93RGF0YXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjaGFuZ2VJZHMuaW5kZXhPZihpdGVtLmlkKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBuZXdkYXRhcy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdpZHMgPSBbLi4uc2VsZWN0ZWRSb3dLZXlzXTtcclxuICAgICAgbmV3ZGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhc107XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbLi4ubmV3aWRzXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogWy4uLm5ld2RhdGFzXSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyQ2xvdW1uQnV0dG9uKGNvbHVtbkJ1dHRvbnM6IGFueSwgcmVjb3JkOiBhbnksIGFjdGlvbkJ1dHRvbj86IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHsgZWRpdG9yRm9ybSA9IHRydWUsIGJ1dHRvbnMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGNvbnRlbnQgPSBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA+IDEpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIiksXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC1pdGVtXCIpXHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge2NoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgSWNvbiwgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPT0gMikge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8UG9wb3ZlclxyXG4gICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgY29udGVudD17Y29udGVudH1cclxuICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIiwgXCJob3ZlclwiXX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX0+XHJcbiAgICAgICAgICAgICAg5pu05aSaXHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgIDxEb3duT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPCAyKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge0ljb259IHtjaGlsZHJlbn1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMudGFibGVMb2FkKHsgLi4uZnJvbVZhbHVlLCBbc2VhcmNoRmllbGRdOiBrZXl3b3JkIH0pO1xyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgYnV0dG9ucyA9IFtdLFxyXG4gICAgICBlZGl0b3JGb3JtID0gdHJ1ZSxcclxuICAgICAgb25TaG93Rm9ybSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBmaWx0ZXJDb2x1bW4gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25CdXR0b24gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25Db2x1bW4gPSB0cnVlLFxyXG4gICAgICBzaG93Um93U2VsZWN0aW9uID0gdHJ1ZSxcclxuICAgIH0gPSB0YWJsZVByb3BzO1xyXG5cclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmU6IHRyZWVTdG9yZSA9IHt9LFxyXG4gICAgICBzaG93U2VhcmNoOiB0cmVlU2VhcmNoID0gdHJ1ZSxcclxuICAgICAgdGl0bGVBbGlhcyA9IFwidGl0bGVcIixcclxuICAgIH0gPSB0cmVlUHJvcHM7XHJcblxyXG4gICAgbGV0IHRhYmxlUGFyYW1zID0geyBmaWx0ZXJDb2x1bW4sIHN0b3JlIH0gYXMgYW55O1xyXG5cclxuICAgIGlmIChzaG93Um93U2VsZWN0aW9uKSB7XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgICAgICBvblNlbGVjdDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgb25TZWxlY3RBbGw6IHRoaXMucm93U2VsZWN0aW9uT25TZWxlY3RBbGwuYmluZCh0aGlzKSxcclxuICAgICAgICAgIGNvbHVtbldpZHRoOiA0MCxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGVDb2x1bW46IGFueVtdID0gW107XHJcbiAgICBjb25zdCBzZWFyY2hGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBlZGl0b3JGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBkZWZhdWx0VmFsdWU6IGFueSA9IHt9O1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuXHJcbiAgICAgIHRlbXAuZWRpdG9yICE9PSBmYWxzZSAmJlxyXG4gICAgICAgIGVkaXRvckZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgcnVsZXM6IHRlbXAucnVsZXMsXHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBzcGFuOiB0ZW1wLnNwYW4sXHJcbiAgICAgICAgICBkaWN0TmFtZTogdGVtcC5kaWN0TmFtZSxcclxuICAgICAgICAgIHByb3BzOiBvbWl0KHsgLi4udGVtcC5wcm9wcyB9LCBbXCJkZWZhdWx0VmFsdWVcIiwgXCJ2YWx1ZVwiXSksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGlmICh0ZW1wLnByb3BzPy5kZWZhdWx0VmFsdWUpIHtcclxuICAgICAgICBjb25zdCBuYW1lID0gdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleDtcclxuICAgICAgICBkZWZhdWx0VmFsdWVbbmFtZV0gPSB0ZW1wLnByb3BzPy5kZWZhdWx0VmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAucnVsZXM7XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNwYW47XHJcbiAgICAgIGlmICh0ZW1wLmNvbHVtblNlYXJjaCkge1xyXG4gICAgICAgIHRlbXAuZmlsdGVyUHJvcHMgPSB7XHJcbiAgICAgICAgICB0eXBlOiB0ZW1wLnR5cGUsXHJcbiAgICAgICAgICBwcm9wczogdGVtcC5wcm9wcyxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnR5cGU7XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnByb3BzO1xyXG4gICAgICBpZiAodGVtcC5zdHlsZSkge1xyXG4gICAgICAgIHRlbXAgPSB7XHJcbiAgICAgICAgICAuLi50ZW1wLFxyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgIHt0ZXh0ICYmIChcclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb2wtYmFja1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb2wtdGV4dFwiKX0+e3RleHR9PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIHRhYmxlQ29sdW1uLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlbGZCdXR0b25zOiBhbnkgPSBbXTtcclxuXHJcbiAgICBjb25zdCBjb2x1bW5CdXR0b25zOiBhbnkgPSBbXTtcclxuICAgIGlmIChhY3Rpb25CdXR0b24gJiYgZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICBvblNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIGZhbHNlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5p+l55yLXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJlZGl0b3JcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICBvblNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCB0cnVlKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOe8lui+kVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0ucHJvcHMucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgIHNlbGZCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtLnByb3BzLnBhZ2VUeXBlID09IFwiY2xvdW1uQnV0dG9uXCIpIHtcclxuICAgICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCB7IHByb3BzIH06IGFueSA9IGNoaWxkcmVuO1xyXG4gICAgICBpZiAocHJvcHMucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgYWN0aW9uQ29sdW1uICYmXHJcbiAgICAgIHRhYmxlQ29sdW1uLnB1c2goe1xyXG4gICAgICAgIHRpdGxlOiBcIuaTjeS9nFwiLFxyXG4gICAgICAgIGRhdGFJbmRleDogXCJhY3Rpb25cIixcclxuICAgICAgICBhbGlnbjogXCJjZW50ZXJcIixcclxuICAgICAgICB3aWR0aDogMTUwLFxyXG4gICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSwgcmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJhY3Rpb25cIil9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zLCByZWNvcmQsIGFjdGlvbkJ1dHRvbil9XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIGNvbnN0IGhlYWRlckNvdW50ID0gc2hvd0xlZnQgPyAyIDogMztcclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJwYWdlXCIpfSBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICB7c2hvd0xlZnQgJiYgKFxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImxlZnRcIil9PlxyXG4gICAgICAgICAgICA8VHJlZVxyXG4gICAgICAgICAgICAgIHN0b3JlPXt7IC4uLnRyZWVTdG9yZSB9fVxyXG4gICAgICAgICAgICAgIHNob3dJY29uPXtmYWxzZX1cclxuICAgICAgICAgICAgICBjaGVja2FibGU9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgIHNlYXJjaGFibGU9e3RyZWVTZWFyY2h9XHJcbiAgICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMudHJlZVNlbGVjdC5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIHNlbGVjdGVkS2V5cz17W3RoaXMuc3RhdGUudHJlZVNlbGVjdGVkS2V5XX1cclxuICAgICAgICAgICAgICB0aXRsZUFsaWFzPXt0aXRsZUFsaWFzfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicmlnaHRcIil9PlxyXG4gICAgICAgICAge3Nob3dTZWFyY2ggJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaGVhZGVyXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHsgW2dldExlc3Moc3R5bGVzLCBcImZvcm1cIildOiAhc2hvd0xlZnQgfSl9PlxyXG4gICAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAgICAgbGFiZWxDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gaGVhZGVyQ291bnQgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9uc1wiKX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuc2VhcmNofSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUucmVmcmVzaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuYV9zdHlsZX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gPFVwT3V0bGluZWQgLz4gOiA8RG93bk91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnNcIil9XHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge2J1dHRvbnMuaW5kZXhPZihcImFkZFwiKSA+IC0xICYmIGVkaXRvckZvcm0gPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBvblNob3dGb3JtIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBvblNob3dGb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0uYmluZCh0aGlzKTtcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuYWRkfSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5re75YqgXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtidXR0b25zLmluZGV4T2YoXCJkZWxldGVcIikgPiAtMSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uRGVsZXRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmRlbGV0ZTN9IC8+fVxyXG4gICAgICAgICAgICAgICAgICBkYW5nZXJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5Yig6ZmkXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtzZWxmQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+O1xyXG4gICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGFibGVcIil9PlxyXG4gICAgICAgICAgICA8VGFibGUgcmVmPXt0aGlzLnRhYmxlUmVmfSBjb2x1bW5zPXt0YWJsZUNvbHVtbn0gey4uLnRhYmxlUGFyYW1zfSAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge2VkaXRvckZvcm0gJiYgKFxyXG4gICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgY2FsbEJhY2s9e3RoaXMudGFibGVSZWxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcz17c3VibWl0UGFyYW1zfVxyXG4gICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5wcm9wcy5vblN1Ym1pdH1cclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgQmFzZVBhZ2U7XHJcbiJdfQ==
@@ -1,7 +1,6 @@
1
- @pageHeight: 1000px;
2
1
  .page {
3
- padding: 20px 24px 20px 24px;
4
- height: 44vw;
2
+ min-height: 40vw;
3
+ height: 100%;
5
4
  display: flex;
6
5
  .left {
7
6
  width: 320px;
@@ -38,20 +37,35 @@
38
37
  }
39
38
  }
40
39
  }
41
- .buttons {
40
+ .search-buttons {
42
41
  display: flex;
43
42
  // margin-top: 20px;
44
43
  .margin {
45
- margin-left: 27px;
44
+ margin-left: 20px;
46
45
  }
47
46
  button {
48
- margin-right: 27px;
47
+ margin-right: 20px;
48
+ }
49
+ }
50
+ .tool-buttons {
51
+ display: flex;
52
+ // margin-top: 20px;
53
+ flex-wrap: nowrap;
54
+ width: calc(100% - 200px);
55
+ button {
56
+ margin-right: 20px;
57
+ min-width: 80px;
49
58
  }
50
59
  }
51
60
  }
52
61
 
53
62
  .table {
54
- margin-top: 20px;
63
+ margin-top: -40px;
64
+ :global {
65
+ .ant-table-wrapper {
66
+ margin-top: 20px;
67
+ }
68
+ }
55
69
  }
56
70
  }
57
71
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.1.6",
3
+ "version": "2.1.9",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {