nsc-react-component 1.4.1 → 1.4.4

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.
@@ -4,6 +4,7 @@ import { StoreConfigType } from "@bj-nsc/msn";
4
4
  import { TreeProps } from "antd";
5
5
  export interface TreeCommonProps {
6
6
  titleAlias?: string;
7
+ subTitleAlias?: string;
7
8
  handleAdd?: (params: any) => void;
8
9
  handleDelete?: (params: any) => void;
9
10
  handleEdit?: (params: any) => void;
@@ -36,6 +37,7 @@ declare class TreePanel<P> extends Component<ITreePanelProps & TreeCommonProps &
36
37
  };
37
38
  componentDidUpdate(prevProps: any): void;
38
39
  constructor(props: any);
40
+ getTitle(data: any, type?: string): any;
39
41
  dataChangeBefore: (data: any) => any;
40
42
  _iterator: (data: any) => any;
41
43
  /**
@@ -83,7 +83,8 @@ var TreePanel = /*#__PURE__*/function (_Component) {
83
83
 
84
84
  return newData;
85
85
  } else if (originData && _typeof(originData) === "object") {
86
- originData.title = originData[_this2.props.titleAlias];
86
+ originData.title = _this2.getTitle(originData);
87
+ originData.subTitle = _this2.getTitle(originData, "subTitleAlias");
87
88
  if (originData.children) _this2._iterator(originData.children);
88
89
  }
89
90
 
@@ -91,11 +92,12 @@ var TreePanel = /*#__PURE__*/function (_Component) {
91
92
  });
92
93
 
93
94
  _defineProperty(_assertThisInitialized(_this2), "_iterator", function (data) {
94
- var titleAlias = _this2.props.titleAlias; // 如果传入的data是dva中model数据是不允许修改的,所以先转换一下
95
+ // const titleAlias = this.props.titleAlias;
96
+ // 如果传入的data是dva中model数据是不允许修改的,所以先转换一下
95
97
  // const newData = data.map((item) => ({ ...item }));
96
-
97
98
  data.forEach(function (item) {
98
- item.title = item[titleAlias];
99
+ item.title = _this2.getTitle(item);
100
+ item.subtitle = _this2.getTitle(item, "subTitleAlias");
99
101
 
100
102
  if (item.children) {
101
103
  _this2._iterator(item.children);
@@ -177,6 +179,20 @@ var TreePanel = /*#__PURE__*/function (_Component) {
177
179
  }
178
180
  }
179
181
  }
182
+ }, {
183
+ key: "getTitle",
184
+ value: function getTitle(data) {
185
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "titleAlias";
186
+ var title = "";
187
+
188
+ if (this.props[type]) {
189
+ return data[this.props[type]];
190
+ } else {
191
+ title = type == "titleAlias" ? data.title : data.subtitle;
192
+ }
193
+
194
+ return title;
195
+ }
180
196
  }, {
181
197
  key: "_dataToCheckedKeys",
182
198
  value:
@@ -271,4 +287,4 @@ var TreePanel = /*#__PURE__*/function (_Component) {
271
287
  _defineProperty(TreePanel, "defaultProps", void 0);
272
288
 
273
289
  export default TreePanel;
274
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9UcmVlUGFuZWwudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50IiwidHJlZXV0aWxzIiwiVHJlZVN0b3JlIiwidXRpbHMiLCJjbG9uZURlZXAiLCJUcmVlUGFuZWwiLCJwcm9wcyIsInNlYXJjaFRleHQiLCJmaWVsZE9wdGlvbiIsImtleUZpZWxkIiwidGl0bGVGaWVsZCIsInBhdGhzRmllbGQiLCJzZWFyY2hDb2xvciIsImxvYWRpbmciLCJ0cmVlRGF0YXMiLCJjaGVja2VkS2V5cyIsImV4cGFuZGVkS2V5cyIsInNlbGVjdGVkS2V5cyIsInNlbGVjdE5vZGUiLCJkYXRhIiwib3JpZ2luRGF0YSIsInRpdGxlQWxpYXMiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwiX2l0ZXJhdG9yIiwidGl0bGUiLCJjaGlsZHJlbiIsImZvckVhY2giLCJpdGVtIiwiX3RoaXMiLCJ0cmVlRGF0YSIsIm5vZGVQcm9wcyIsInN0b3JlIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZU9wdGlvbiIsImNvbXBvbmVudCIsIm1vZGVsIiwidHJlZVByaW1hcnlLZXkiLCJrZXkiLCJvbkJlZm9yZUxvYWQiLCJvcHRpb25zIiwibGF6eWxvYWQiLCJzZXRTdGF0ZSIsInN0YXRlIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlQmVmb3JlIiwiZGF0YUNoYW5nZWQiLCJtb2RlbERhdGEiLCJfZGF0YVRvQ2hlY2tlZEtleXMiLCJsb2FkIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImxlbmd0aCIsImF1dG9Mb2FkIiwicHJldlByb3BzIiwib2xkVHJlZURhdGEiLCJKU09OIiwic3RyaW5naWZ5Iiwic2V0RGF0YSIsInRyZWVQcm9wcyIsIm5ld1RyZWVEYXRhcyIsIm9taXQiLCJnZXRTZWFyY2hNZW51RGF0YXMiLCJvcGVuS2V5cyIsInJlbmRlclRlbXBsYXRlIiwiZ2V0TW9k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QixFQUErQkMsWUFBL0IsQ0FBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7O1dBQ0Usb0JBQVc7QUFDVCxhQUFPLEtBQUsvQixLQUFaO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7Ozs7V0FDRSxvQkFBVztBQUNULGFBQU8sS0FBS0EsS0FBTCxDQUFXb0MsUUFBWCxFQUFQO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTs7OztXQUNFLGdCQUFPMUIsT0FBUCxFQUFnQjtBQUNkLFdBQUtWLEtBQUwsQ0FBV3FDLE1BQVgsQ0FBa0IzQixPQUFsQjtBQUNBLGFBQU8sSUFBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7Ozs7V0FDRSxzQkFBYTRCLEdBQWIsRUFBa0IvRCxXQUFsQixFQUFnQ0ksV0FBaEMsRUFBOEM7QUFDNUMsV0FBS2lDLFFBQUwsQ0FBYztBQUNadEMsUUFBQUEsVUFBVSxFQUFFZ0UsR0FEQTtBQUVaL0QsUUFBQUEsV0FBVyxFQUFFQSxXQUZEO0FBR1pJLFFBQUFBLFdBQVcsRUFBRUE7QUFIRCxPQUFkO0FBS0Q7Ozs7RUFoTXdCWixTOztnQkFBckJLLFM7O0FBbU1OLGVBQWVBLFNBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB0cmVldXRpbHMgZnJvbSBcIi4uL3RyZWVVdGlsc1wiO1xyXG5pbXBvcnQgU3RvcmUsIHsgVHJlZVN0b3JlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgXCJhbnRkL2VzL3RyZWUvc3R5bGVcIjtcclxuLy8gaW1wb3J0IHsgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi90eXBlcy9TdG9yZS9UcmVlU3RvcmUuZFwiO1xyXG5pbXBvcnQgeyBTdG9yZUNvbmZpZ1R5cGUgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgVHJlZVByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgZmxhdHRlbkRlZXAgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCBjbG9uZURlZXAgZnJvbSBcImNsb25lLWRlZXBcIjtcclxuZXhwb3J0IGludGVyZmFjZSBUcmVlQ29tbW9uUHJvcHMge1xyXG4gIHRpdGxlQWxpYXM/OiBzdHJpbmc7XHJcbiAgaGFuZGxlQWRkPzogKHBhcmFtczogYW55KSA9PiB2b2lkO1xyXG4gIGhhbmRsZURlbGV0ZT86IChwYXJhbXM6IGFueSkgPT4gdm9pZDtcclxuICBoYW5kbGVFZGl0PzogKHBhcmFtczogYW55KSA9PiB2b2lkO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSVRyZWVQYW5lbFByb3BzIGV4dGVuZHMgVHJlZVByb3BzIHtcclxuICBzdG9yZTogU3RvcmVDb25maWdUeXBlPGFueT47XHJcbiAgY2hlY2tQcm9wYWdhdGlvbj86IGJvb2xlYW47XHJcbiAgcmVuZGVyVHJlZU5vZGU/OiAocHJvcHM6IElUcmVlUGFuZWxQcm9wcywgaXRlbTogYW55KSA9PiBSZWFjdC5SZWFjdEVsZW1lbnQ7XHJcbiAgb3BlbktleXM/OiBzdHJpbmdbXSB8IG51bGw7XHJcbn1cclxuXHJcbmNsYXNzIFRyZWVQYW5lbDxQPiBleHRlbmRzIENvbXBvbmVudDxcclxuICBJVHJlZVBhbmVsUHJvcHMgJiBUcmVlQ29tbW9uUHJvcHMgJiBQLFxyXG4gIGFueVxyXG4+IHtcclxuICBzdGF0ZSA9IHtcclxuICAgIC8v5pCc57Si5paH5pysXHJcbiAgICBzZWFyY2hUZXh0OiBudWxsLFxyXG4gICAgZmllbGRPcHRpb246IHtcclxuICAgICAga2V5RmllbGQ6IFwia2V5XCIsXHJcbiAgICAgIHRpdGxlRmllbGQ6IFwidGl0bGVcIixcclxuICAgICAgcGF0aHNGaWVsZDogXCJjaGlsZHJlblwiLFxyXG4gICAgfSxcclxuICAgIHNlYXJjaENvbG9yOiBudWxsLFxyXG5cclxuICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgdHJlZURhdGFzOiBbXSxcclxuICAgIGNoZWNrZWRLZXlzOiBbXSxcclxuICAgIGV4cGFuZGVkS2V5czogW10sXHJcbiAgICBzZWxlY3RlZEtleXM6IFtdLFxyXG4gICAgc2VsZWN0Tm9kZTogbnVsbCxcclxuICB9O1xyXG5cclxuICBzdG9yZSA9IHt9IGFzIHR5cGVvZiBTdG9yZTtcclxuXHJcbiAgc3RhdGljIGRlZmF1bHRQcm9wczogeyBzdG9yZToge30gfTtcclxuXHJcbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xyXG4gICAgY29uc3Qgb2xkVHJlZURhdGEgPSBwcmV2UHJvcHMudHJlZURhdGEgfHwgW107XHJcbiAgICBjb25zdCB0cmVlRGF0YSA9IHRoaXMucHJvcHMudHJlZURhdGE7XHJcbiAgICBpZiAoXHJcbiAgICAgIEFycmF5LmlzQXJyYXkodHJlZURhdGEpICYmXHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHRyZWVEYXRhKSAhPT0gSlNPTi5zdHJpbmdpZnkob2xkVHJlZURhdGEpXHJcbiAgICApIHtcclxuICAgICAgaWYgKHRoaXMuc3RvcmUpIHtcclxuICAgICAgICB0aGlzLnN0b3JlLnNldERhdGEodHJlZURhdGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgY29uc3QgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgdHJlZURhdGEgPSBwcm9wcy50cmVlRGF0YSB8fCBbXTtcclxuICAgIGNvbnN0IG5vZGVQcm9wcyA9IHByb3BzLm5vZGVQcm9wcyB8fCB7fTtcclxuICAgIGlmIChwcm9wcy5zdG9yZSBpbnN0YW5jZW9mIFRyZWVTdG9yZSkge1xyXG4gICAgICB0aGlzLnN0b3JlID0gcHJvcHMuc3RvcmU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGxpc3RlbmVyczogbGlzdGVuZXJzUHJvcHMgPSB7fSwgLi4ucmVzdFN0b3JlIH0gPSBwcm9wcy5zdG9yZTtcclxuICAgICAgY29uc3Qgc3RvcmVPcHRpb24gPSB7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIG1vZGVsOiBcInRyZWVtb2RlbFwiLFxyXG4gICAgICAgIHRyZWVQcmltYXJ5S2V5OiBub2RlUHJvcHMua2V5IHx8IFwiaWRcIiwgLy8g5qCR6IqC54K55ZSv5LiAa2V5XHJcbiAgICAgICAgbGlzdGVuZXJzOiB7XHJcbiAgICAgICAgICBvbkJlZm9yZUxvYWQ6IGZ1bmN0aW9uIChzdG9yZSwgb3B0aW9ucykge1xyXG4gICAgICAgICAgICBsZXQgbG9hZGluZyA9IHByb3BzLmxhenlsb2FkICE9IHRydWU7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHsgLi4uX3RoaXMuc3RhdGUsIC4uLnsgbG9hZGluZzogbG9hZGluZyB9IH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5vbkJlZm9yZUxvYWQsIHRoaXMsIFtzdG9yZSwgb3B0aW9uc10pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGRhdGFDaGFuZ2VCZWZvcmU6IF90aGlzLmRhdGFDaGFuZ2VCZWZvcmUsXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlZDogZnVuY3Rpb24gKGRhdGEsIG1vZGVsRGF0YSwgc3RvcmUpIHtcclxuICAgICAgICAgICAgX3RoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHRyZWVEYXRhczogbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIGNoZWNrZWRLZXlzOiBfdGhpcy5fZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKSxcclxuICAgICAgICAgICAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmRhdGFDaGFuZ2VkLCB0aGlzLCBbXHJcbiAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICBtb2RlbERhdGEsXHJcbiAgICAgICAgICAgICAgc3RvcmUsXHJcbiAgICAgICAgICAgIF0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxvYWQ6IChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSA9PiB7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLmxvYWQsIHRoaXMsIFtkYXRhLCBtb2RlbERhdGEsIHN0b3JlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb25FcnJvckxvYWQ6IChlcnIsIHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMub25FcnJvckxvYWQsIHRoaXMsIFtlcnIsIHJlc3BvbnNlXSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZGF0YTogdHJlZURhdGEubGVuZ3RoID4gMCA/IHRyZWVEYXRhIDogbnVsbCxcclxuICAgICAgICBhdXRvTG9hZDogcmVzdFN0b3JlLmF1dG9Mb2FkICE9PSBmYWxzZSA/IHRydWUgOiBmYWxzZSxcclxuICAgICAgICAuLi5yZXN0U3RvcmUsXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuc3RvcmUgPSBuZXcgVHJlZVN0b3JlKHN0b3JlT3B0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGRhdGFDaGFuZ2VCZWZvcmUgPSAoZGF0YSkgPT4ge1xyXG4gICAgY29uc3Qgb3JpZ2luRGF0YSA9IGNsb25lRGVlcChkYXRhKTtcclxuICAgIGlmICghdGhpcy5wcm9wcy50aXRsZUFsaWFzKSB7XHJcbiAgICAgIHJldHVybiBvcmlnaW5EYXRhO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkob3JpZ2luRGF0YSkpIHtcclxuICAgICAgY29uc3QgbmV3RGF0YSA9IHRoaXMuX2l0ZXJhdG9yKG9yaWdpbkRhdGEpO1xyXG4gICAgICByZXR1cm4gbmV3RGF0YTtcclxuICAgIH0gZWxzZSBpZiAob3JpZ2luRGF0YSAmJiB0eXBlb2Ygb3JpZ2luRGF0YSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICBvcmlnaW5EYXRhLnRpdGxlID0gb3JpZ2luRGF0YVt0aGlzLnByb3BzLnRpdGxlQWxpYXNdO1xyXG4gICAgICBpZiAob3JpZ2luRGF0YS5jaGlsZHJlbikgdGhpcy5faXRlcmF0b3Iob3JpZ2luRGF0YS5jaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3JpZ2luRGF0YTtcclxuICB9O1xyXG5cclxuICBfaXRlcmF0b3IgPSAoZGF0YSkgPT4ge1xyXG4gICAgY29uc3QgdGl0bGVBbGlhcyA9IHRoaXMucHJvcHMudGl0bGVBbGlhcztcclxuXHJcbiAgICAvLyDlpoLmnpzkvKDlhaXnmoRkYXRh5pivZHZh5LitbW9kZWzmlbDmja7mmK/kuI3lhYHorrjkv67mlLnnmoQs5omA5Lul5YWI6L2s5o2i5LiA5LiLXHJcbiAgICAvLyBjb25zdCBuZXdEYXRhID0gZGF0YS5tYXAoKGl0ZW0pID0+ICh7IC4uLml0ZW0gfSkpO1xyXG4gICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGl0ZW0udGl0bGUgPSBpdGVtW3RpdGxlQWxpYXNdO1xyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xyXG4gICAgICAgIHRoaXMuX2l0ZXJhdG9yKGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIOS/ruaUueaVsOaNrlxyXG4gICAqL1xyXG4gIG1hcERhdGEgPSAoKSA9PiB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICog5Yid5aeL5YyW6IqC54K56YCJ5LitXHJcbiAgICogQHBhcmFtIHsqfSBtb2RlbERhdGEgIOaVsOaNrlxyXG4gICAqL1xyXG4gIF9kYXRhVG9DaGVja2VkS2V5cyhtb2RlbERhdGEpIHtcclxuICAgIHJldHVybiBbXTtcclxuICAgIC8vIHJldHVybiB7IGNoZWNrZWQ6IFtdLCBoYWxmQ2hlY2tlZDogW10gfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOeVjOmdoua4suafk1xyXG4gICAqL1xyXG4gIHJlbmRlclRlbXBsYXRlKHRyZWVQcm9wczogSVRyZWVQYW5lbFByb3BzLCBuZXdUcmVlRGF0YXMpIHtcclxuICAgIHJldHVybiA8PjwvPjtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgY29uc3QgeyBzZWFyY2hUZXh0LCB0cmVlRGF0YXMsIGNoZWNrZWRLZXlzLCBmaWVsZE9wdGlvbiwgc2VhcmNoQ29sb3IgfSA9XHJcbiAgICAgICAgdGhpcy5zdGF0ZSxcclxuICAgICAgdHJlZVByb3BzID0gdXRpbHMub21pdCh0aGlzLnByb3BzLCBbXCJzdG9yZVwiXSwge1xyXG4gICAgICAgIGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyxcclxuICAgICAgfSk7XHJcbiAgICBsZXQgbmV3VHJlZURhdGFzID0gW107XHJcbiAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdHJlZXV0aWxzLmdldFNlYXJjaE1lbnVEYXRhcyhcclxuICAgICAgICB0aGlzLFxyXG4gICAgICAgIHNlYXJjaFRleHQsXHJcbiAgICAgICAgZmllbGRPcHRpb24sXHJcbiAgICAgICAgc2VhcmNoQ29sb3JcclxuICAgICAgKTtcclxuICAgICAgbmV3VHJlZURhdGFzID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHRyZWVQcm9wcy5vcGVuS2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdUcmVlRGF0YXMgPSB0cmVlRGF0YXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5yZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMsIG5ld1RyZWVEYXRhcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmlbDmja7lr7nosaFcclxuICAgKi9cclxuICBnZXRTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5pWw5o2u5qih5Z6L5a+56LGhXHJcbiAgICovXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIOWIt+aWsOeVjOmdolxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIOWPguaVsFxyXG4gICAqL1xyXG4gIHJlbG9hZChvcHRpb25zKSB7XHJcbiAgICB0aGlzLnN0b3JlLnJlbG9hZChvcHRpb25zKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I+c5Y2V5pCc57Si6L+H5ruk5pi+56S6XHJcbiAgICogQHBhcmFtIHtTdHJpbmd9IHZhbFxyXG4gICAqL1xyXG4gIGhhbmRsZVNlYXJjaCh2YWwsIGZpZWxkT3B0aW9uPywgc2VhcmNoQ29sb3I/KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VhcmNoVGV4dDogdmFsLFxyXG4gICAgICBmaWVsZE9wdGlvbjogZmllbGRPcHRpb24sXHJcbiAgICAgIHNlYXJjaENvbG9yOiBzZWFyY2hDb2xvcixcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVHJlZVBhbmVsO1xyXG4iXX0=
290
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9UcmVlUGFuZWwudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiQ29tcG9uZW50IiwidHJlZXV0aWxzIiwiVHJlZVN0b3JlIiwidXRpbHMiLCJjbG9uZURlZXAiLCJUcmVlUGFuZWwiLCJwcm9wcyIsInNlYXJjaFRleHQiLCJmaWVsZE9wdGlvbiIsImtleUZpZWxkIiwidGl0bGVGaWVsZCIsInBhdGhzRmllbGQiLCJzZWFyY2hDb2xvciIsImxvYWRpbmciLCJ0cmVlRGF0YXMiLCJjaGVja2VkS2V5cyIsImV4cGFuZGVkS2V5cyIsInNlbGVjdGVkS2V5cyIsInNlbGVjdE5vZGUiLCJkYXRhIiwib3JpZ2luRGF0YSIsInRpdGxlQWxpYXMiLCJBcnJheSIsImlzQXJyYXkiLCJuZXdEYXRhIiwiX2l0ZXJhdG9yIiwidGl0bGUiLCJnZXRUaXRsZSIsInN1YlRpdGxlIiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiaXRlbSIsInN1YnRpdGxlIiwiX3RoaXMiLCJ0cmVlRGF0YSIsIm5vZGVQcm9wcyIsInN0b3JlIiwibGlzdGVuZXJzIiwibGlzdGVuZXJzUHJvcHMiLCJyZXN0U3RvcmUiLCJzdG9yZU9wdGlvbiIsImNvbXBvbmVudCIsIm1vZGVsIiwidHJlZVByaW1hcnlLZXkiLCJrZXkiLCJvbkJlZm9yZUxvYWQiLCJvcHRpb25zIiwibGF6eWxvYWQiLCJzZXRTdGF0ZSIsInN0YXRlIiwiY2FsbGJhY2siLCJkYXRhQ2hhbmdlQmVmb3JlIiwiZGF0YUNoYW5nZWQiLCJtb2RlbERhdGEiLCJfZGF0YVRvQ2hlY2tlZEtleXMiLCJsb2FkIiwib25FcnJvckxvYWQiLCJlcnIiLCJyZXNwb25zZSIsImxlbmd0aCIsImF1dG9Mb2FkIiwicHJldlByb3BzIiwib2xkVHJlZURhdGEiLCJKU09OIiwic3RyaW5naWZ5Iiwic2V0RGF0YSIsInR5cGUiLCJ0cmVlUHJvcHMiLCJuZXdUcmVlRGF0YXMiLCJvbWl0IiwiZ2V0U2VhcmNoTWVudURh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QWQ7QUFLRDs7OztFQTNNd0JaLFM7O2dCQUFyQkssUzs7QUE4TU4sZUFBZUEsU0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHRyZWV1dGlscyBmcm9tIFwiLi4vdHJlZVV0aWxzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBUcmVlU3RvcmUgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBcImFudGQvZXMvdHJlZS9zdHlsZVwiO1xyXG4vLyBpbXBvcnQgeyBTdG9yZUNvbmZpZ1R5cGUgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3R5cGVzL1N0b3JlL1RyZWVTdG9yZS5kXCI7XHJcbmltcG9ydCB7IFN0b3JlQ29uZmlnVHlwZSB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQgeyBUcmVlUHJvcHMgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyBmbGF0dGVuRGVlcCB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IGNsb25lRGVlcCBmcm9tIFwiY2xvbmUtZGVlcFwiO1xyXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVDb21tb25Qcm9wcyB7XHJcbiAgdGl0bGVBbGlhcz86IHN0cmluZztcclxuICBzdWJUaXRsZUFsaWFzPzogc3RyaW5nO1xyXG4gIGhhbmRsZUFkZD86IChwYXJhbXM6IGFueSkgPT4gdm9pZDtcclxuICBoYW5kbGVEZWxldGU/OiAocGFyYW1zOiBhbnkpID0+IHZvaWQ7XHJcbiAgaGFuZGxlRWRpdD86IChwYXJhbXM6IGFueSkgPT4gdm9pZDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmVlUGFuZWxQcm9wcyBleHRlbmRzIFRyZWVQcm9wcyB7XHJcbiAgc3RvcmU6IFN0b3JlQ29uZmlnVHlwZTxhbnk+O1xyXG4gIGNoZWNrUHJvcGFnYXRpb24/OiBib29sZWFuO1xyXG4gIHJlbmRlclRyZWVOb2RlPzogKHByb3BzOiBJVHJlZVBhbmVsUHJvcHMsIGl0ZW06IGFueSkgPT4gUmVhY3QuUmVhY3RFbGVtZW50O1xyXG4gIG9wZW5LZXlzPzogc3RyaW5nW10gfCBudWxsO1xyXG59XHJcblxyXG5jbGFzcyBUcmVlUGFuZWw8UD4gZXh0ZW5kcyBDb21wb25lbnQ8XHJcbiAgSVRyZWVQYW5lbFByb3BzICYgVHJlZUNvbW1vblByb3BzICYgUCxcclxuICBhbnlcclxuPiB7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICAvL+aQnOe0ouaWh+acrFxyXG4gICAgc2VhcmNoVGV4dDogbnVsbCxcclxuICAgIGZpZWxkT3B0aW9uOiB7XHJcbiAgICAgIGtleUZpZWxkOiBcImtleVwiLFxyXG4gICAgICB0aXRsZUZpZWxkOiBcInRpdGxlXCIsXHJcbiAgICAgIHBhdGhzRmllbGQ6IFwiY2hpbGRyZW5cIixcclxuICAgIH0sXHJcbiAgICBzZWFyY2hDb2xvcjogbnVsbCxcclxuXHJcbiAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgIHRyZWVEYXRhczogW10sXHJcbiAgICBjaGVja2VkS2V5czogW10sXHJcbiAgICBleHBhbmRlZEtleXM6IFtdLFxyXG4gICAgc2VsZWN0ZWRLZXlzOiBbXSxcclxuICAgIHNlbGVjdE5vZGU6IG51bGwsXHJcbiAgfTtcclxuXHJcbiAgc3RvcmUgPSB7fSBhcyB0eXBlb2YgU3RvcmU7XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IHsgc3RvcmU6IHt9IH07XHJcblxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcclxuICAgIGNvbnN0IG9sZFRyZWVEYXRhID0gcHJldlByb3BzLnRyZWVEYXRhIHx8IFtdO1xyXG4gICAgY29uc3QgdHJlZURhdGEgPSB0aGlzLnByb3BzLnRyZWVEYXRhO1xyXG4gICAgaWYgKFxyXG4gICAgICBBcnJheS5pc0FycmF5KHRyZWVEYXRhKSAmJlxyXG4gICAgICBKU09OLnN0cmluZ2lmeSh0cmVlRGF0YSkgIT09IEpTT04uc3RyaW5naWZ5KG9sZFRyZWVEYXRhKVxyXG4gICAgKSB7XHJcbiAgICAgIGlmICh0aGlzLnN0b3JlKSB7XHJcbiAgICAgICAgdGhpcy5zdG9yZS5zZXREYXRhKHRyZWVEYXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHRyZWVEYXRhID0gcHJvcHMudHJlZURhdGEgfHwgW107XHJcbiAgICBjb25zdCBub2RlUHJvcHMgPSBwcm9wcy5ub2RlUHJvcHMgfHwge307XHJcbiAgICBpZiAocHJvcHMuc3RvcmUgaW5zdGFuY2VvZiBUcmVlU3RvcmUpIHtcclxuICAgICAgdGhpcy5zdG9yZSA9IHByb3BzLnN0b3JlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgeyBsaXN0ZW5lcnM6IGxpc3RlbmVyc1Byb3BzID0ge30sIC4uLnJlc3RTdG9yZSB9ID0gcHJvcHMuc3RvcmU7XHJcbiAgICAgIGNvbnN0IHN0b3JlT3B0aW9uID0ge1xyXG4gICAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgICBtb2RlbDogXCJ0cmVlbW9kZWxcIixcclxuICAgICAgICB0cmVlUHJpbWFyeUtleTogbm9kZVByb3BzLmtleSB8fCBcImlkXCIsIC8vIOagkeiKgueCueWUr+S4gGtleVxyXG4gICAgICAgIGxpc3RlbmVyczoge1xyXG4gICAgICAgICAgb25CZWZvcmVMb2FkOiBmdW5jdGlvbiAoc3RvcmUsIG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgbGV0IGxvYWRpbmcgPSBwcm9wcy5sYXp5bG9hZCAhPSB0cnVlO1xyXG4gICAgICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IC4uLl90aGlzLnN0YXRlLCAuLi57IGxvYWRpbmc6IGxvYWRpbmcgfSB9KTtcclxuICAgICAgICAgICAgdXRpbHMuY2FsbGJhY2sobGlzdGVuZXJzUHJvcHMub25CZWZvcmVMb2FkLCB0aGlzLCBbc3RvcmUsIG9wdGlvbnNdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBkYXRhQ2hhbmdlQmVmb3JlOiBfdGhpcy5kYXRhQ2hhbmdlQmVmb3JlLFxyXG4gICAgICAgICAgZGF0YUNoYW5nZWQ6IGZ1bmN0aW9uIChkYXRhLCBtb2RlbERhdGEsIHN0b3JlKSB7XHJcbiAgICAgICAgICAgIF90aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICB0cmVlRGF0YXM6IG1vZGVsRGF0YSxcclxuICAgICAgICAgICAgICBjaGVja2VkS2V5czogX3RoaXMuX2RhdGFUb0NoZWNrZWRLZXlzKG1vZGVsRGF0YSksXHJcbiAgICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5kYXRhQ2hhbmdlZCwgdGhpcywgW1xyXG4gICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgbW9kZWxEYXRhLFxyXG4gICAgICAgICAgICAgIHN0b3JlLFxyXG4gICAgICAgICAgICBdKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsb2FkOiAoZGF0YSwgbW9kZWxEYXRhLCBzdG9yZSkgPT4ge1xyXG4gICAgICAgICAgICB1dGlscy5jYWxsYmFjayhsaXN0ZW5lcnNQcm9wcy5sb2FkLCB0aGlzLCBbZGF0YSwgbW9kZWxEYXRhLCBzdG9yZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIG9uRXJyb3JMb2FkOiAoZXJyLCByZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgIHV0aWxzLmNhbGxiYWNrKGxpc3RlbmVyc1Byb3BzLm9uRXJyb3JMb2FkLCB0aGlzLCBbZXJyLCByZXNwb25zZV0pO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGE6IHRyZWVEYXRhLmxlbmd0aCA+IDAgPyB0cmVlRGF0YSA6IG51bGwsXHJcbiAgICAgICAgYXV0b0xvYWQ6IHJlc3RTdG9yZS5hdXRvTG9hZCAhPT0gZmFsc2UgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgICAgLi4ucmVzdFN0b3JlLFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnN0b3JlID0gbmV3IFRyZWVTdG9yZShzdG9yZU9wdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRUaXRsZShkYXRhLCB0eXBlID0gXCJ0aXRsZUFsaWFzXCIpIHtcclxuICAgIGxldCB0aXRsZSA9IFwiXCI7XHJcbiAgICBpZiAodGhpcy5wcm9wc1t0eXBlXSkge1xyXG4gICAgICByZXR1cm4gZGF0YVt0aGlzLnByb3BzW3R5cGVdXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRpdGxlID0gdHlwZSA9PSBcInRpdGxlQWxpYXNcIiA/IGRhdGEudGl0bGUgOiBkYXRhLnN1YnRpdGxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpdGxlO1xyXG4gIH1cclxuXHJcbiAgZGF0YUNoYW5nZUJlZm9yZSA9IChkYXRhKSA9PiB7XHJcbiAgICBjb25zdCBvcmlnaW5EYXRhID0gY2xvbmVEZWVwKGRhdGEpO1xyXG4gICAgaWYgKCF0aGlzLnByb3BzLnRpdGxlQWxpYXMpIHtcclxuICAgICAgcmV0dXJuIG9yaWdpbkRhdGE7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5EYXRhKSkge1xyXG4gICAgICBjb25zdCBuZXdEYXRhID0gdGhpcy5faXRlcmF0b3Iob3JpZ2luRGF0YSk7XHJcbiAgICAgIHJldHVybiBuZXdEYXRhO1xyXG4gICAgfSBlbHNlIGlmIChvcmlnaW5EYXRhICYmIHR5cGVvZiBvcmlnaW5EYXRhID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgIG9yaWdpbkRhdGEudGl0bGUgPSB0aGlzLmdldFRpdGxlKG9yaWdpbkRhdGEpO1xyXG4gICAgICBvcmlnaW5EYXRhLnN1YlRpdGxlID0gdGhpcy5nZXRUaXRsZShvcmlnaW5EYXRhLCBcInN1YlRpdGxlQWxpYXNcIik7XHJcbiAgICAgIGlmIChvcmlnaW5EYXRhLmNoaWxkcmVuKSB0aGlzLl9pdGVyYXRvcihvcmlnaW5EYXRhLmNoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIHJldHVybiBvcmlnaW5EYXRhO1xyXG4gIH07XHJcblxyXG4gIF9pdGVyYXRvciA9IChkYXRhKSA9PiB7XHJcbiAgICAvLyBjb25zdCB0aXRsZUFsaWFzID0gdGhpcy5wcm9wcy50aXRsZUFsaWFzO1xyXG4gICAgLy8g5aaC5p6c5Lyg5YWl55qEZGF0YeaYr2R2YeS4rW1vZGVs5pWw5o2u5piv5LiN5YWB6K645L+u5pS555qELOaJgOS7peWFiOi9rOaNouS4gOS4i1xyXG4gICAgLy8gY29uc3QgbmV3RGF0YSA9IGRhdGEubWFwKChpdGVtKSA9PiAoeyAuLi5pdGVtIH0pKTtcclxuICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICBpdGVtLnRpdGxlID0gdGhpcy5nZXRUaXRsZShpdGVtKTtcclxuICAgICAgaXRlbS5zdWJ0aXRsZSA9IHRoaXMuZ2V0VGl0bGUoaXRlbSwgXCJzdWJUaXRsZUFsaWFzXCIpO1xyXG4gICAgICBpZiAoaXRlbS5jaGlsZHJlbikge1xyXG4gICAgICAgIHRoaXMuX2l0ZXJhdG9yKGl0ZW0uY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH07XHJcblxyXG4gIC8qKlxyXG4gICAqIOS/ruaUueaVsOaNrlxyXG4gICAqL1xyXG4gIG1hcERhdGEgPSAoKSA9PiB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICog5Yid5aeL5YyW6IqC54K56YCJ5LitXHJcbiAgICogQHBhcmFtIHsqfSBtb2RlbERhdGEgIOaVsOaNrlxyXG4gICAqL1xyXG4gIF9kYXRhVG9DaGVja2VkS2V5cyhtb2RlbERhdGEpIHtcclxuICAgIHJldHVybiBbXTtcclxuICAgIC8vIHJldHVybiB7IGNoZWNrZWQ6IFtdLCBoYWxmQ2hlY2tlZDogW10gfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOeVjOmdoua4suafk1xyXG4gICAqL1xyXG4gIHJlbmRlclRlbXBsYXRlKHRyZWVQcm9wczogSVRyZWVQYW5lbFByb3BzLCBuZXdUcmVlRGF0YXMpIHtcclxuICAgIHJldHVybiA8PjwvPjtcclxuICB9XHJcblxyXG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xyXG4gICAgY29uc3QgeyBzZWFyY2hUZXh0LCB0cmVlRGF0YXMsIGNoZWNrZWRLZXlzLCBmaWVsZE9wdGlvbiwgc2VhcmNoQ29sb3IgfSA9XHJcbiAgICAgICAgdGhpcy5zdGF0ZSxcclxuICAgICAgdHJlZVByb3BzID0gdXRpbHMub21pdCh0aGlzLnByb3BzLCBbXCJzdG9yZVwiXSwge1xyXG4gICAgICAgIGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyxcclxuICAgICAgfSk7XHJcbiAgICBsZXQgbmV3VHJlZURhdGFzID0gW107XHJcbiAgICBpZiAoc2VhcmNoVGV4dCkge1xyXG4gICAgICBjb25zdCBkYXRhID0gdHJlZXV0aWxzLmdldFNlYXJjaE1lbnVEYXRhcyhcclxuICAgICAgICB0aGlzLFxyXG4gICAgICAgIHNlYXJjaFRleHQsXHJcbiAgICAgICAgZmllbGRPcHRpb24sXHJcbiAgICAgICAgc2VhcmNoQ29sb3JcclxuICAgICAgKTtcclxuICAgICAgbmV3VHJlZURhdGFzID0gZGF0YS50cmVlRGF0YXM7XHJcbiAgICAgIHRyZWVQcm9wcy5vcGVuS2V5cyA9IGRhdGEub3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBuZXdUcmVlRGF0YXMgPSB0cmVlRGF0YXM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5yZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMsIG5ld1RyZWVEYXRhcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5bmlbDmja7lr7nosaFcclxuICAgKi9cclxuICBnZXRTdG9yZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0b3JlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5pWw5o2u5qih5Z6L5a+56LGhXHJcbiAgICovXHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogIOWIt+aWsOeVjOmdolxyXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIOWPguaVsFxyXG4gICAqL1xyXG4gIHJlbG9hZChvcHRpb25zKSB7XHJcbiAgICB0aGlzLnN0b3JlLnJlbG9hZChvcHRpb25zKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I+c5Y2V5pCc57Si6L+H5ruk5pi+56S6XHJcbiAgICogQHBhcmFtIHtTdHJpbmd9IHZhbFxyXG4gICAqL1xyXG4gIGhhbmRsZVNlYXJjaCh2YWwsIGZpZWxkT3B0aW9uPywgc2VhcmNoQ29sb3I/KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VhcmNoVGV4dDogdmFsLFxyXG4gICAgICBmaWVsZE9wdGlvbjogZmllbGRPcHRpb24sXHJcbiAgICAgIHNlYXJjaENvbG9yOiBzZWFyY2hDb2xvcixcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgVHJlZVBhbmVsO1xyXG4iXX0=
package/lib/form/Form.js CHANGED
@@ -384,7 +384,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
384
384
  formDrawerProps: modalProps
385
385
  };
386
386
 
387
- if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== null || (modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== undefined) {
387
+ if ((modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== null && (modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible) !== undefined) {
388
388
  newState.formVisible = modalProps === null || modalProps === void 0 ? void 0 : modalProps.visible;
389
389
  }
390
390
 
@@ -396,7 +396,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
396
396
  formDrawerProps: drawerProps
397
397
  };
398
398
 
399
- if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null || (drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== undefined) {
399
+ if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null && (drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== undefined) {
400
400
  _newState.formVisible = drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible;
401
401
  }
402
402
 
@@ -412,4 +412,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
412
412
  }(PureComponent);
413
413
 
414
414
  export default NscForm;
415
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwicmVzZXRWYWx1ZSIsInNldFN0YXRlIiwidmFsdWUiLCJpdGVtIiwiaW5kZXgiLCJfdGhpcyIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsImUiLCJuZXdDaGlsZHJlbiIsInNob3dNb2RlbCIsImRyYXdlclByb3BzIiwibW9kYWxQcm9wcyIsInN0YXRlIiwibGF5b3V0IiwibGFiZWxDb2wiLCJzcGFuIiwid3JhcHBlckNvbCIsIm5ld01vZGFsUHJvcHMiLCJjZW50ZXJlZCIsImhpZGVGb3JtIiwiYmluZCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFVTUMsTzs7Ozs7QUFRSixtQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNEVBUFRMLEtBQUssQ0FBQ00sU0FBTixFQU9TOztBQUFBLDZEQU5YO0FBQ05DLE1BQUFBLFdBQVcsRUFBRSxLQURQO0FBRU5DLE1BQUFBLGNBQWMsRUFBRSxFQUZWO0FBR05DLE1BQUFBLGVBQWUsRUFBRTtBQUhYLEtBTVc7O0FBQUE7QUFFbEI7Ozs7V0FpQ0Q7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUFBOztBQUNsQixzQ0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDBEQUFPLHNCQUFzQkMsYUFBdEIsQ0FBb0NILElBQXBDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQUE7O0FBQ3JCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCRSxnQkFBdEIsQ0FBdUNKLElBQXZDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFBQTs7QUFDZix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFP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QUF2Qix1QkFBdUJBLFVBQVUsQ0FBRWlCLE9BQW5DO0FBQ0Q7O0FBQ0QsaUJBQU9ELFFBQVA7QUFDRDtBQUNGLE9BVkQsTUFVTyxJQUFJbEIsU0FBUyxJQUFJLFFBQWpCLEVBQTJCO0FBQ2hDLFlBQUlnQixJQUFJLENBQUNDLFNBQUwsQ0FBZTdFLGVBQWYsTUFBb0M0RSxJQUFJLENBQUNDLFNBQUwsQ0FBZWhCLFdBQWYsQ0FBeEMsRUFBcUU7QUFDbkUsY0FBSWlCLFNBQVEsR0FBRztBQUNiOUUsWUFBQUEsZUFBZSxFQUFFNkQ7QUFESixXQUFmOztBQUdBLGNBQ0UsQ0FBQUEsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCLElBQXpCLElBQ0EsQ0FBQWxCLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFa0IsT0FBYixNQUF5QkMsU0FGM0IsRUFHRTtBQUNBRixZQUFBQSxTQUFRLENBQUNoRixXQUFULEdBQXVCK0QsV0FBdkIsYUFBdUJBLFdBQXZCLHVCQUF1QkEsV0FBVyxDQUFFa0IsT0FBcEM7QUFDRDs7QUFFRCxpQkFBT0QsU0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUF6Q21CdEYsYTs7QUE4UXRCLGVBQWVHLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm0sXHJcbiAgRm9ybVByb3BzLFxyXG4gIE1vZGFsLFxyXG4gIERyYXdlcixcclxuICBNb2RhbFByb3BzLFxyXG4gIERyYXdlclByb3BzLFxyXG4gIG1lc3NhZ2UsXHJcbn0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuXHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHM7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgfHwgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCB8fFxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOmUmeivr+S/oeaBr1xyXG4gIGdldEZpZWxkRXJyb3IobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEVycm9yKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlrp7kvotcclxuICBnZXRGaWVsZEluc3RhbmNlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRJbnN0YW5jZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE6ZSZ6K+v5L+h5oGv77yM6L+U5Zue5Li65pWw57uE5b2i5byPXHJcbiAgZ2V0RmllbGRzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc0Vycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOWAvO+8jOS8muaMieeFp+WvueW6lOe7k+aehOi/lOWbnlxyXG4gIGdldEZpZWxkc1ZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTlgLxcclxuICBnZXRGaWVsZFZhbHVlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRWYWx1ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZHNUb3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVG91Y2hlZChuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm5q2j5Zyo5qCh6aqMXHJcbiAgaXNGaWVsZFZhbGlkYXRpbmcobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVmFsaWRhdGluZyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6YeN572u5LiA57uE5a2X5q615YiwXHJcbiAgcmVzZXRGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHMoZmlsZHMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHMoZmlsZHMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzVmFsdWUodmFsdWVzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWVzKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgcmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb25lRWxlbWVudChpdGVtLCBpbmRleCA9IDApIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT0gXCJzdHJpbmdcIikgcmV0dXJuIGl0ZW07XHJcbiAgICBsZXQgcHJvcHMgPSB7fSBhcyB7IGtleTogbnVtYmVyOyBjaGlsZHJlbjogYW55IH07XHJcbiAgICBwcm9wcy5rZXkgPSBpbmRleDtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChpdGVtLnByb3BzICYmIGl0ZW0ucHJvcHMuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnByb3BzLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoXHJcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gdGhpcy5jbG9uZUVsZW1lbnQoaXRlbS5wcm9wcy5jaGlsZHJlbiwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoaXRlbSwgcHJvcHMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKSB7XHJcbiAgICBjb25zdCB7IHNob3dNb2RlbCwgZHJhd2VyUHJvcHMsIG1vZGFsUHJvcHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiA0IH0sXHJcbiAgICAgIHdyYXBwZXJDb2w6IHsgc3BhbjogMjAgfSxcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyBjZW50ZXJlZDogdHJ1ZSwgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuaGlkZUZvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgIHZpc2libGU9e2Zvcm1WaXNpYmxlfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30gcHJlc2VydmU9e2ZhbHNlfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
415
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwicmVxdWVzdCIsIm9taXQiLCJOc2NGb3JtIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwibmFtZSIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRFcnJvciIsImdldEZpZWxkSW5zdGFuY2UiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiZ2V0RmllbGRWYWx1ZSIsImlzRmllbGRzVG91Y2hlZCIsImlzRmllbGRUb3VjaGVkIiwiaXNGaWVsZFZhbGlkYXRpbmciLCJyZXNldEZpZWxkcyIsIm9wdGlvbnMiLCJzY3JvbGxUb0ZpZWxkIiwiZmlsZHMiLCJzZXRGaWVsZHMiLCJ2YWx1ZXMiLCJzZXRGaWVsZHNWYWx1ZSIsInN1Ym1pdCIsInVybCIsImNhbGxiYWNrIiwibXNnIiwicHJvcHNVcmwiLCJlbmNyeXB0RmllbGRzIiwiZW5jcnlwdFByb3BwcyIsIkVycm9yIiwibWV0aG9kIiwicmVxdWVzdFVybCIsInJlcXVlc3REYXRhIiwicmVxdWVzdEVuY3J5cHQiLCJyZXF1ZXN0UGFyYW0iLCJkYXRhIiwicGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ0aGVuIiwicmVzIiwiY29kZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwicmVzZXRWYWx1ZSIsInNldFN0YXRlIiwidmFsdWUiLCJpdGVtIiwiaW5kZXgiLCJfdGhpcyIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsImUiLCJuZXdDaGlsZHJlbiIsInNob3dNb2RlbCIsImRyYXdlclByb3BzIiwibW9kYWxQcm9wcyIsInN0YXRlIiwibGF5b3V0IiwibGFiZWxDb2wiLCJzcGFuIiwid3JhcHBlckNvbCIsIm5ld01vZGFsUHJvcHMiLCJjZW50ZXJlZCIsImhpZGVGb3JtIiwiYmluZCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJKU09OIiwic3RyaW5naWZ5IiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjs7SUFVTUMsTzs7Ozs7QUFRSixtQkFBWUMsS0FBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsS0FBTjs7QUFEaUIsNEVBUFRMLEtBQUssQ0FBQ00sU0FBTixFQU9TOztBQUFBLDZEQU5YO0FBQ05DLE1BQUFBLFdBQVcsRUFBRSxLQURQO0FBRU5DLE1BQUFBLGNBQWMsRUFBRSxFQUZWO0FBR05DLE1BQUFBLGVBQWUsRUFBRTtBQUhYLEtBTVc7O0FBQUE7QUFFbEI7Ozs7V0FpQ0Q7QUFDQSwyQkFBY0MsSUFBZCxFQUFvQjtBQUFBOztBQUNsQixzQ0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDBEQUFPLHNCQUFzQkMsYUFBdEIsQ0FBb0NILElBQXBDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUJBLElBQWpCLEVBQXVCO0FBQUE7O0FBQ3JCLHVDQUFPLEtBQUtDLE9BQUwsQ0FBYUMsT0FBcEIsMkRBQU8sdUJBQXNCRSxnQkFBdEIsQ0FBdUNKLElBQXZDLENBQVA7QUFDRCxLLENBRUQ7Ozs7V0FDQSwwQkFBaUI7QUFBQTs7QUFDZix1Q0FBTyxLQUFLQyxPQUFMLENBQWFDLE9BQXBCLDJEQUFP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QUF2Qix1QkFBdUJBLFVBQVUsQ0FBRWlCLE9BQW5DO0FBQ0Q7O0FBQ0QsaUJBQU9ELFFBQVA7QUFDRDtBQUNGLE9BVkQsTUFVTyxJQUFJbEIsU0FBUyxJQUFJLFFBQWpCLEVBQTJCO0FBQ2hDLFlBQUlnQixJQUFJLENBQUNDLFNBQUwsQ0FBZTdFLGVBQWYsTUFBb0M0RSxJQUFJLENBQUNDLFNBQUwsQ0FBZWhCLFdBQWYsQ0FBeEMsRUFBcUU7QUFDbkUsY0FBSWlCLFNBQVEsR0FBRztBQUNiOUUsWUFBQUEsZUFBZSxFQUFFNkQ7QUFESixXQUFmOztBQUdBLGNBQ0UsQ0FBQUEsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVrQixPQUFiLE1BQXlCLElBQXpCLElBQ0EsQ0FBQWxCLFdBQVcsU0FBWCxJQUFBQSxXQUFXLFdBQVgsWUFBQUEsV0FBVyxDQUFFa0IsT0FBYixNQUF5QkMsU0FGM0IsRUFHRTtBQUNBRixZQUFBQSxTQUFRLENBQUNoRixXQUFULEdBQXVCK0QsV0FBdkIsYUFBdUJBLFdBQXZCLHVCQUF1QkEsV0FBVyxDQUFFa0IsT0FBcEM7QUFDRDs7QUFFRCxpQkFBT0QsU0FBUDtBQUNEO0FBQ0Y7O0FBQ0QsYUFBTyxJQUFQO0FBQ0Q7Ozs7RUF6Q21CdEYsYTs7QUE4UXRCLGVBQWVHLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBARGVzY3JpcHR0aW9uOuihqOWNlee7hOS7tlxyXG4gKiBAdmVyc2lvbjpcclxuICogQEF1dGhvcjogcnh6aHVcclxuICogQERhdGU6IDIwMjEtMDQtMDkgMDk6MTg6MzRcclxuICogQExhc3RFZGl0b3JzOiByeHpodVxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDIxLTA0LTIzIDE1OjIzOjU0XHJcbiAqL1xyXG5pbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQge1xyXG4gIEZvcm0sXHJcbiAgRm9ybVByb3BzLFxyXG4gIE1vZGFsLFxyXG4gIERyYXdlcixcclxuICBNb2RhbFByb3BzLFxyXG4gIERyYXdlclByb3BzLFxyXG4gIG1lc3NhZ2UsXHJcbn0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuXHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHM7XHJcbiAgdXJsPzogc3RyaW5nO1xyXG4gIGVuY3J5cHRGaWVsZHM/OiBBcnJheTxTdHJpbmc+O1xyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgaWYgKEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOmUmeivr+S/oeaBr1xyXG4gIGdldEZpZWxkRXJyb3IobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEVycm9yKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlrp7kvotcclxuICBnZXRGaWVsZEluc3RhbmNlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRJbnN0YW5jZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE6ZSZ6K+v5L+h5oGv77yM6L+U5Zue5Li65pWw57uE5b2i5byPXHJcbiAgZ2V0RmllbGRzRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc0Vycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOWAvO+8jOS8muaMieeFp+WvueW6lOe7k+aehOi/lOWbnlxyXG4gIGdldEZpZWxkc1ZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTlgLxcclxuICBnZXRGaWVsZFZhbHVlKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRWYWx1ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZHNUb3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVG91Y2hlZChuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm5q2j5Zyo5qCh6aqMXHJcbiAgaXNGaWVsZFZhbGlkYXRpbmcobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5pc0ZpZWxkVmFsaWRhdGluZyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6YeN572u5LiA57uE5a2X5q615YiwXHJcbiAgcmVzZXRGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHMoZmlsZHMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHMoZmlsZHMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzVmFsdWUodmFsdWVzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWVzKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgcmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb25lRWxlbWVudChpdGVtLCBpbmRleCA9IDApIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT0gXCJzdHJpbmdcIikgcmV0dXJuIGl0ZW07XHJcbiAgICBsZXQgcHJvcHMgPSB7fSBhcyB7IGtleTogbnVtYmVyOyBjaGlsZHJlbjogYW55IH07XHJcbiAgICBwcm9wcy5rZXkgPSBpbmRleDtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChpdGVtLnByb3BzICYmIGl0ZW0ucHJvcHMuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnByb3BzLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoXHJcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gdGhpcy5jbG9uZUVsZW1lbnQoaXRlbS5wcm9wcy5jaGlsZHJlbiwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoaXRlbSwgcHJvcHMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKSB7XHJcbiAgICBjb25zdCB7IHNob3dNb2RlbCwgZHJhd2VyUHJvcHMsIG1vZGFsUHJvcHMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiA0IH0sXHJcbiAgICAgIHdyYXBwZXJDb2w6IHsgc3BhbjogMjAgfSxcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyBjZW50ZXJlZDogdHJ1ZSwgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxNb2RhbFxyXG4gICAgICAgICAgb25DYW5jZWw9e3RoaXMuaGlkZUZvcm0uYmluZCh0aGlzKX1cclxuICAgICAgICAgIHZpc2libGU9e2Zvcm1WaXNpYmxlfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm0gcmVmPXt0aGlzLmZvcm1SZWZ9IHsuLi5sYXlvdXR9IHsuLi5wcm9wc30gcHJlc2VydmU9e2ZhbHNlfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8RHJhd2VyXHJcbiAgICAgICAgICBvbkNsb3NlPXt0aGlzLmhpZGVGb3JtLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgICAge25ld0NoaWxkcmVufVxyXG4gICAgICAgICAgPC9Gb3JtPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybSByZWY9e3RoaXMuZm9ybVJlZn0gey4uLmxheW91dH0gey4uLnByb3BzfT5cclxuICAgICAgICAgIHtuZXdDaGlsZHJlbn1cclxuICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
package/lib/tree/index.js CHANGED
@@ -92,6 +92,7 @@ var NscTree = /*#__PURE__*/function (_TreePanel) {
92
92
  restNodeProps = _objectWithoutProperties(nodeProps, _excluded);
93
93
 
94
94
  var nodes = data.map(function (item) {
95
+ console.log("item", item);
95
96
  var props = {
96
97
  dataref: item
97
98
  };
@@ -115,8 +116,21 @@ var NscTree = /*#__PURE__*/function (_TreePanel) {
115
116
  }), _this2.renderTreeNodes(item.childNodes, renderFn));
116
117
  }
117
118
 
119
+ var titleNode = null;
120
+
121
+ if (item.attribute.subtitle) {
122
+ titleNode = /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, item.title), /*#__PURE__*/React.createElement("span", {
123
+ style: {
124
+ color: "rgba(0,0,0,.45)"
125
+ }
126
+ }, "\uFF08".concat(item.attribute.subtitle, "\uFF09")));
127
+ } else {
128
+ titleNode = /*#__PURE__*/React.createElement("span", null, item.title);
129
+ }
130
+
118
131
  return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
119
- key: item.attribute.key
132
+ key: item.attribute.key,
133
+ title: titleNode
120
134
  }));
121
135
  });
122
136
  return nodes;
@@ -290,4 +304,4 @@ _defineProperty(NscTree, "defaultProps", {
290
304
  });
291
305
 
292
306
  export default NscTree;
293
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RyZWUvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiVHJlZVBhbmVsIiwidXRpbHMiLCJTdG9yZSIsIlN0b3JlQ29uZmlnVHlwZSIsIlRyZWVTZWFyY2giLCJzdHlsZXMiLCJUcmVlTm9kZSIsIk5zY1RyZWUiLCJwcm9wcyIsImNyZWF0ZVJlZiIsIm5vZGUiLCJoYW5kbGVBZGQiLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwidHJlZU5vZGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl90aGlzIiwiZGF0YXJlZiIsInN0b3JlIiwibGF6eUxvYWQiLCJmb3JjZVVwZGF0ZSIsImRhdGEiLCJyZW5kZXJGbiIsIm5vZGVQcm9wcyIsIm5vZGVLZXkiLCJrZXkiLCJyZXN0Tm9kZVByb3BzIiwibm9kZXMiLCJtYXAiLCJpdGVtIiwiY29uZmlnIiwiZmllbGRzIiwiZm9yRWFjaCIsImZpZWxkIiwibmFtZSIsIk9iamVjdCIsImFzc2lnbiIsImNhbGxiYWNrIiwiY2hpbGROb2RlcyIsImF0dHJpYnV0ZSIsInJlbmRlclRyZWVOb2RlcyIsInJlbmRlclRlbXBsYXRlIiwiYmluZCIsIm1vZGVsRGF0YSIsImNoZWNrZWRLZXlzIiwiY2hlY2tlZCIsImhhbGZDaGVja2VkIiwiZm9yRWFjaFRyZWUiLCJwdXNoIiwibnNjVHJlZVJlZiIsImN1cnJlbnQiLCJzdGF0ZSIsImtleUVudGl0aWVzIiwiaGFsZkNoZWNrZWRLZXlzIiwiY29uY2F0IiwiY2hlY2tlZEtleXNBbGwiLCJ0cmVlUHJvcHMiLCJuZXdNZW51RGF0YXMiLCJ0cmVlRGF0YSIsIm9wZW5LZXlzIiwiY2hlY2tQcm9wYWdhdGlvbiIsImNoZWNrU3RyaWN0bHkiLCJzaG93SWNvbiIsImxhenlsb2FkIiwibG9hZERhdGEiLCJfb25Mb2FkRGF0YSIsIm9uQ2hlY2tGbiIsIm9uQ2hlY2siLCJlIiwic2V0U3RhdGUiLCJvblNlbGVjdEZuIiwib25TZWxlY3QiLCJzZWxlY3RlZEtleXMiLCJub2RlSW5mbyIsInNlbGVjdE5vZGUiLCJzZWxlY3RlZCIsInNlbGVjdGVkTm9kZXMiLCJleHBhbmRlZEtleXMiLCJsb2FkaW5nIiwiZWRpdGFibGUiLCJzZWFyY2hhYmxlIiwiaGFuZGxlQWRkTW9kdWxlIiwiaGFuZGxlRWRpdE1vZHVsZSIsImhhbmRsZURlbGV0ZU1vZHVsZSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsInJlbmRlclRyZWVOb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxNQUFrQixPQUFsQjtBQUVBLE9BQU9DLFNBQVAsTUFHTyxxQkFIUDtBQUlBLFNBQVNDLEtBQVQsUUFBc0IsdUJBQXRCO0FBR0EsU0FBU0MsS0FBVCxFQUFnQkMsZUFBaEIsUUFBdUMsYUFBdkM7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLGNBQXZCO0FBRUEsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLElBQVFDLFFBQVIsU0FBUUEsUUFBUixDLENBQ0E7O0lBVU1DLE87Ozs7O0FBR0osbUJBQVlDLE1BQVosRUFBbUI7QUFBQTs7QUFBQTs7QUFDakIsK0JBQU1BLE1BQU47O0FBRGlCLCtFQUZOVCxLQUFLLENBQUNVLFNBQU4sRUFFTTs7QUFBQSx1RUEwRUQsVUFBQ0MsSUFBRCxFQUFVO0FBQzFCLFVBQU1DLFNBQVMsR0FBRyxPQUFLSCxLQUFMLENBQVdHLFNBQTdCO0FBQ0FBLE1BQUFBLFNBQVMsSUFBSUEsU0FBUyxDQUFDRCxJQUFELENBQXRCO0FBQ0QsS0E3RWtCOztBQUFBLHdFQStFQSxVQUFDQSxJQUFELEVBQVU7QUFDM0IsVUFBTUUsVUFBVSxHQUFHLE9BQUtKLEtBQUwsQ0FBV0ksVUFBOUI7QUFDQUEsTUFBQUEsVUFBVSxJQUFJQSxVQUFVLENBQUNGLElBQUQsQ0FBeEI7QUFDRCxLQWxGa0I7O0FBQUEsMEVBb0ZFLFVBQUNBLElBQUQsRUFBVTtBQUM3QixVQUFNRyxZQUFZLEdBQUcsT0FBS0wsS0FBTCxD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QVMsRUFBRTFFLE1BQU0sQ0FBQyxjQUFEO0FBQXRCLFNBQ0csQ0FBQ1ksS0FBSyxDQUFDVCxLQUFOLENBQVl3RSxRQUFaLElBQXdCL0QsS0FBSyxDQUFDVCxLQUFOLENBQVl5RSxVQUFyQyxrQkFDQyxvQkFBQyxVQUFEO0FBQ0UsUUFBQSxZQUFZLEVBQUUsSUFEaEI7QUFFRSxRQUFBLGVBQWUsRUFBRSxLQUFLQyxlQUZ4QjtBQUdFLFFBQUEsZ0JBQWdCLEVBQUUsS0FBS0MsZ0JBSHpCO0FBSUUsUUFBQSxrQkFBa0IsRUFBRSxLQUFLQztBQUozQixRQUZKLEVBU0dDLEtBQUssQ0FBQ0MsT0FBTixDQUFjNUIsWUFBZCxLQUErQkEsWUFBWSxDQUFDNkIsTUFBYixHQUFzQixDQUFyRCxpQkFDQztBQUFNLFFBQUEsR0FBRyxFQUFFLEtBQUtyQyxVQUFoQjtBQUE0QixRQUFBLFNBQVM7QUFBckMsU0FBMEMxQyxLQUExQyxHQUNHLEtBQUtpQyxlQUFMLENBQXFCaUIsWUFBckIsRUFBbUNsRCxLQUFLLENBQUNnRixjQUF6QyxDQURILENBVkosQ0FERixDQURGO0FBbUJEOzs7O0VBMUptQnhGLFM7O2dCQUFoQk8sTyxrQkFRaUM7QUFBRVksRUFBQUEsS0FBSyxFQUFFO0FBQVQsQzs7QUFvTHZDLGVBQWVaLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRyZWUsIFRyZWVQcm9wcywgU3BpbiwgVHJlZU5vZGVQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBUcmVlUGFuZWwsIHtcclxuICBJVHJlZVBhbmVsUHJvcHMsXHJcbiAgVHJlZUNvbW1vblByb3BzLFxyXG59IGZyb20gXCIuLi9jb21tb24vVHJlZVBhbmVsXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgUmNUcmVlIGZyb20gXCJyYy10cmVlXCI7XHJcbmltcG9ydCB7IERhdGFOb2RlLCBFdmVudERhdGFOb2RlIH0gZnJvbSBcInJjLXRyZWUvbGliL2ludGVyZmFjZVwiO1xyXG5leHBvcnQgeyBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCBUcmVlU2VhcmNoIGZyb20gXCIuL1RyZWVTZWFyY2hcIjtcclxuaW1wb3J0IGdldENvbmZpZyBmcm9tIFwiLi4vY29uZmlnXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5jb25zdCB7IFRyZWVOb2RlIH0gPSBUcmVlO1xyXG4vLyBpbXBvcnQgVHJlZU5vZGUgZnJvbSBcIi4vTnNjVHJlZU5vZGVcIjtcclxudHlwZSBOc2NEYXRhTm9kZVByb3BzID0gRGF0YU5vZGUgJiB7IHByb3BzOiB7IGRhdGFyZWY6IGFueSB9IH07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5zY1RyZWVQcm9wcyBleHRlbmRzIElUcmVlUGFuZWxQcm9wcyB7XHJcbiAgZWRpdGFibGU/OiBib29sZWFuO1xyXG4gIHRyZWVEYXRhPzogYW55W107XHJcbiAgc2VhcmNoYWJsZT86IGJvb2xlYW47XHJcbiAgbm9kZVByb3BzPzogVHJlZU5vZGVQcm9wcztcclxufVxyXG5cclxuY2xhc3MgTnNjVHJlZSBleHRlbmRzIFRyZWVQYW5lbDxOc2NUcmVlUHJvcHMgJiBUcmVlQ29tbW9uUHJvcHM+IHtcclxuICBuc2NUcmVlUmVmID0gUmVhY3QuY3JlYXRlUmVmPFJjVHJlZSAmIFRyZWVQcm9wcz4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIHRoaXMucmVuZGVyVGVtcGxhdGUgPSB0aGlzLnJlbmRlclRlbXBsYXRlLmJpbmQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGVmYXVsdFByb3BzOiB7IHN0b3JlOiB7fSB9ID0geyBzdG9yZToge30gfTtcclxuXHJcbiAgX2RhdGFUb0NoZWNrZWRLZXlzKG1vZGVsRGF0YSk6IGFueSB7XHJcbiAgICBsZXQgY2hlY2tlZEtleXMgPSB7IGNoZWNrZWQ6IFtdLCBoYWxmQ2hlY2tlZDogW10gfTtcclxuICAgIHV0aWxzLmZvckVhY2hUcmVlKG1vZGVsRGF0YSwgZnVuY3Rpb24gKG5vZGUpIHtcclxuICAgICAgaWYgKG5vZGUuY2hlY2tlZCA9PSB0cnVlKSB7XHJcbiAgICAgICAgY2hlY2tlZEtleXMuY2hlY2tlZC5wdXNoKG5vZGUuYXR0cmlidXRlLmtleSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog5qCR5pCc57SiXHJcbiAgICovXHJcbiAgLy8gaGFuZGxlU2VhcmNoID0gKHZhbHVlKSA9PiB7XHJcbiAgLy8gICB0aGlzLnNldFN0YXRlKHsgc2VhcmNoVGV4dDogdmFsdWUgfSk7XHJcbiAgLy8gfTtcclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W6YCJ5Lit6IqC54K5SUTmlbDnu4RcclxuICAgKiBAcmV0dXJuIFN0cmluZ1tdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEtleXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzIH0gPSB0aGlzLm5zY1RyZWVSZWYuY3VycmVudDtcclxuICAgIHJldHVybiBjaGVja2VkS2V5cztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPlumAieS4reiKgueCueWvueixoeaVsOe7hFxyXG4gICAqIEByZXR1cm4gbm9kZVtdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZE5vZGVzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cywga2V5RW50aXRpZXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgbGV0IG5vZGVzID0gW10gYXMgTnNjRGF0YU5vZGVQcm9wc1tdO1xyXG4gICAgY2hlY2tlZEtleXMubWFwKChrZXkpID0+IHtcclxuICAgICAgLy8gbm9kZXMucHVzaChrZXlFbnRpdGllc1trZXldLm5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBrZXlFbnRpdGllc1trZXldLm5vZGUgYXMgTnNjRGF0YU5vZGVQcm9wcztcclxuICAgICAgbm9kZXMucHVzaChub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDojrflj5blhajpg6jpgInkuK3oioLngrlJRO+8jOWMheWQq+WNiumAieS4reiKgueCuUlEXHJcbiAgICogQHJldHVybiBTdHJpbmdbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRBbGxLZXlzKCkge1xyXG4gICAgY29uc3QgeyBjaGVja2VkS2V5cywgaGFsZkNoZWNrZWRLZXlzIH0gPSB0aGlzLm5zY1RyZWVSZWYuY3VycmVudC5zdGF0ZTtcclxuICAgIHJldHVybiBjaGVja2VkS2V5cy5jb25jYXQoaGFsZkNoZWNrZWRLZXlzKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWFqOmDqOmAieS4reiKgueCuU5vZGXlr7nosaHvvIzljIXlkKvljYrpgInkuK3oioLngrlOb2Rl5a+56LGhXHJcbiAgICogQHJldHVybiBub2RlW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkQWxsTm9kZXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMsIGtleUVudGl0aWVzIH0gPVxyXG4gICAgICB0aGlzLm5zY1RyZWVSZWYuY3VycmVudC5zdGF0ZTtcclxuICAgIGxldCBjaGVja2VkS2V5c0FsbCA9IGNoZWNrZWRLZXlzLmNvbmNhdChoYWxmQ2hlY2tlZEtleXMpO1xyXG4gICAgbGV0IG5vZGVzID0gW107XHJcbiAgICBjaGVja2VkS2V5c0FsbC5tYXAoKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBub2RlID0ga2V5RW50aXRpZXNba2V5XS5ub2RlIGFzIE5zY0RhdGFOb2RlUHJvcHM7XHJcbiAgICAgIG5vZGVzLnB1c2gobm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH1cclxuXHJcbiAgLy8g5re75Yqg5qih5Z2XXHJcbiAgaGFuZGxlQWRkTW9kdWxlID0gKG5vZGUpID0+IHtcclxuICAgIGNvbnN0IGhhbmRsZUFkZCA9IHRoaXMucHJvcHMuaGFuZGxlQWRkO1xyXG4gICAgaGFuZGxlQWRkICYmIGhhbmRsZUFkZChub2RlKTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVFZGl0TW9kdWxlID0gKG5vZGUpID0+IHtcclxuICAgIGNvbnN0IGhhbmRsZUVkaXQgPSB0aGlzLnByb3BzLmhhbmRsZUVkaXQ7XHJcbiAgICBoYW5kbGVFZGl0ICYmIGhhbmRsZUVkaXQobm9kZSk7XHJcbiAgfTtcclxuXHJcbiAgaGFuZGxlRGVsZXRlTW9kdWxlID0gKG5vZGUpID0+IHtcclxuICAgIGNvbnN0IGhhbmRsZURlbGV0ZSA9IHRoaXMucHJvcHMuaGFuZGxlRGVsZXRlO1xyXG4gICAgaGFuZGxlRGVsZXRlICYmIGhhbmRsZURlbGV0ZShub2RlKTtcclxuICB9O1xyXG5cclxuICBfb25Mb2FkRGF0YSA9ICh0cmVlTm9kZTogRXZlbnREYXRhTm9kZSAmIHsgcHJvcHM6IHsgZGF0YXJlZiB9IH0pID0+XHJcbiAgICBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgICAgbm9kZSA9IHRyZWVOb2RlLnByb3BzLmRhdGFyZWY7XHJcbiAgICAgIHRoaXMuc3RvcmUubGF6eUxvYWQobm9kZSwgZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJlc29sdmUobm9kZSk7XHJcbiAgICAgICAgX3RoaXMuZm9yY2VVcGRhdGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgcmVuZGVyVGVtcGxhdGUodHJlZVByb3BzID0ge30gYXMgSVRyZWVQYW5lbFByb3BzLCBuZXdNZW51RGF0YXMgPSBbXSkge1xyXG4gICAgY29uc3QgeyB0cmVlRGF0YSwgb3BlbktleXMsIC4uLnByb3BzIH0gPSB0cmVlUHJvcHM7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAocHJvcHMuY2hlY2tQcm9wYWdhdGlvbikge1xyXG4gICAgICBwcm9wcy5jaGVja1N0cmljdGx5ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChwcm9wcy5zaG93SWNvbiA9PSBudWxsKSB7XHJcbiAgICAgIHByb3BzLnNob3dJY29uID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgeyBsYXp5bG9hZCB9ID0gdGhpcy5zdG9yZS5jb25maWc7XHJcbiAgICBpZiAobGF6eWxvYWQpIHtcclxuICAgICAgcHJvcHMubG9hZERhdGEgPSB0aGlzLl9vbkxvYWREYXRhO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb25DaGVja0ZuID0gcHJvcHMub25DaGVjaztcclxuICAgIHByb3BzLm9uQ2hlY2sgPSBmdW5jdGlvbiAoY2hlY2tlZEtleXMsIGUpIHtcclxuICAgICAgX3RoaXMuc2V0U3RhdGUoeyBjaGVja2VkS2V5czogY2hlY2tlZEtleXMgfSk7XHJcbiAgICAgIHV0aWxzLmNhbGxiYWNrKG9uQ2hlY2tGbiwgX3RoaXMsIFtjaGVja2VkS2V5cywgZV0pO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IG9uU2VsZWN0Rm4gPSBwcm9wcy5vblNlbGVjdDtcclxuICAgIHByb3BzLm9uU2VsZWN0ID0gKHNlbGVjdGVkS2V5cywgbm9kZUluZm8pID0+IHtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25TZWxlY3RGbiwgX3RoaXMsIFtzZWxlY3RlZEtleXMsIG5vZGVJbmZvXSk7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHNlbGVjdE5vZGU6IG5vZGVJbmZvLnNlbGVjdGVkID8gbm9kZUluZm8uc2VsZWN0ZWROb2Rlc1swXSA6IG51bGwsXHJcbiAgICAgICAgc2VsZWN0ZWRLZXlzLFxyXG4gICAgICB9KTtcclxuICAgIH07XHJcblxyXG4gICAgaWYgKG9wZW5LZXlzKSB7XHJcbiAgICAgIHByb3BzLmV4cGFuZGVkS2V5cyA9IG9wZW5LZXlzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGVsZXRlIHByb3BzLmV4cGFuZGVkS2V5cztcclxuICAgIH1cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxTcGluIHNwaW5uaW5nPXt0aGlzLnN0YXRlLmxvYWRpbmd9PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbXCJuc2MtdHJlZS1ib3hcIl19PlxyXG4gICAgICAgICAgeyhfdGhpcy5wcm9wcy5lZGl0YWJsZSB8fCBfdGhpcy5wcm9wcy5zZWFyY2hhYmxlKSAmJiAoXHJcbiAgICAgICAgICAgIDxUcmVlU2VhcmNoXHJcbiAgICAgICAgICAgICAgdHJlZUluc3RhbmNlPXt0aGlzfVxyXG4gICAgICAgICAgICAgIGhhbmRsZUFkZE1vZHVsZT17dGhpcy5oYW5kbGVBZGRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRWRpdE1vZHVsZT17dGhpcy5oYW5kbGVFZGl0TW9kdWxlfVxyXG4gICAgICAgICAgICAgIGhhbmRsZURlbGV0ZU1vZHVsZT17dGhpcy5oYW5kbGVEZWxldGVNb2R1bGV9XHJcbiAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgICAge0FycmF5LmlzQXJyYXkobmV3TWVudURhdGFzKSAmJiBuZXdNZW51RGF0YXMubGVuZ3RoID4gMCAmJiAoXHJcbiAgICAgICAgICAgIDxUcmVlIHJlZj17dGhpcy5uc2NUcmVlUmVmfSBjaGVja2FibGUgey4uLnByb3BzfT5cclxuICAgICAgICAgICAgICB7dGhpcy5yZW5kZXJUcmVlTm9kZXMobmV3TWVudURhdGFzLCBwcm9wcy5yZW5kZXJUcmVlTm9kZSl9XHJcbiAgICAgICAgICAgIDwvVHJlZT5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvU3Bpbj5cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICByZW5kZXJUcmVlTm9kZXMgPSAoZGF0YSwgcmVuZGVyRm4pID0+IHtcclxuICAgIGNvbnN0IG5vZGVQcm9wcyA9IHRoaXMucHJvcHMubm9kZVByb3BzIHx8IHt9O1xyXG4gICAgY29uc3QgeyBrZXk6IG5vZGVLZXksIC4uLnJlc3ROb2RlUHJvcHMgfSA9IG5vZGVQcm9wcztcclxuICAgIGNvbnN0IG5vZGVzID0gZGF0YS5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IHByb3BzID0geyBkYXRhcmVmOiBpdGVtIH0gYXMgVHJlZU5vZGVQcm9wcztcclxuICAgICAgaXRlbS5jb25maWcuZmllbGRzLmZvckVhY2goKGZpZWxkKSA9PiB7XHJcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUgPT09IFwia2V5XCIgJiYgbm9kZUtleSkge1xyXG4gICAgICAgICAgcHJvcHMua2V5ID0gaXRlbVtub2RlS2V5XTtcclxuICAgICAgICAgIGl0ZW0ua2V5ID0gaXRlbVtub2RlS2V5XTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHNbZmllbGQubmFtZV0gPSBpdGVtW2ZpZWxkLm5hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJvcHMsIHJlc3ROb2RlUHJvcHMpO1xyXG4gICAgICBpZiAocmVuZGVyRm4pIHtcclxuICAgICAgICBwcm9wcyA9IHV0aWxzLmNhbGxiYWNrKHJlbmRlckZuLCB0aGlzLCBbcHJvcHMsIGl0ZW1dKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGl0ZW0uY2hpbGROb2Rlcykge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8VHJlZU5vZGUgey4uLnByb3BzfSBrZXk9e2l0ZW0uYXR0cmlidXRlLmtleX0+XHJcbiAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhpdGVtLmNoaWxkTm9kZXMsIHJlbmRlckZuKX1cclxuICAgICAgICAgIDwvVHJlZU5vZGU+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gPFRyZWVOb2RlIHsuLi5wcm9wc30ga2V5PXtpdGVtLmF0dHJpYnV0ZS5rZXl9IC8+O1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5vZGVzO1xyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IE5zY1RyZWU7XHJcbiJdfQ==
307
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3RyZWUvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiVHJlZVBhbmVsIiwidXRpbHMiLCJTdG9yZSIsIlN0b3JlQ29uZmlnVHlwZSIsIlRyZWVTZWFyY2giLCJzdHlsZXMiLCJUcmVlTm9kZSIsIk5zY1RyZWUiLCJwcm9wcyIsImNyZWF0ZVJlZiIsIm5vZGUiLCJoYW5kbGVBZGQiLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwidHJlZU5vZGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsIl90aGlzIiwiZGF0YXJlZiIsInN0b3JlIiwibGF6eUxvYWQiLCJmb3JjZVVwZGF0ZSIsImRhdGEiLCJyZW5kZXJGbiIsIm5vZGVQcm9wcyIsIm5vZGVLZXkiLCJrZXkiLCJyZXN0Tm9kZVByb3BzIiwibm9kZXMiLCJtYXAiLCJpdGVtIiwiY29uc29sZSIsImxvZyIsImNvbmZpZyIsImZpZWxkcyIsImZvckVhY2giLCJmaWVsZCIsIm5hbWUiLCJPYmplY3QiLCJhc3NpZ24iLCJjYWxsYmFjayIsImNoaWxkTm9kZXMiLCJhdHRyaWJ1dGUiLCJyZW5kZXJUcmVlTm9kZXMiLCJ0aXRsZU5vZGUiLCJzdWJ0aXRsZSIsInRpdGxlIiwiY29sb3IiLCJyZW5kZXJUZW1wbGF0ZSIsImJpbmQiLCJtb2RlbERhdGEiLCJjaGVja2VkS2V5cyIsImNoZWNrZWQiLCJoYWxmQ2hlY2tlZCIsImZvckVhY2hUcmVlIiwicHVzaCIsIm5zY1RyZWVSZWYiLCJjdXJyZW50Iiwic3RhdGUiLCJrZXlFbnRpdGllcyIsImhhbGZDaGVja2VkS2V5cyIsImNvbmNhdCIsImNoZWNrZWRLZXlzQWxsIiwidHJlZVByb3BzIiwibmV3TWVudURhdGFzIiwidHJlZURhdGEiLCJvcGVuS2V5cyIsImNoZWNrUHJvcGFnYXRpb24iLCJjaGVja1N0cmljdGx5Iiwic2hvd0ljb24iLCJsYXp5bG9hZCIsImxvYWREYXRhIiwiX29uTG9hZERhdGEiLCJvbkNoZWNrRm4iLCJvbkNoZWNrIiwiZSIsInNldFN0YXRlIiwib25TZWxlY3RGbiIsIm9uU2VsZWN0Iiwic2VsZWN0ZWRLZXlzIiwibm9kZUluZm8iLCJzZWxlY3ROb2RlIiwic2VsZWN0ZWQiLCJzZWxlY3RlZE5vZGVzIiwiZXhwYW5kZWRLZXlzIiwibG9hZGluZyIsImVkaXRhYmxlIiwic2VhcmNoYWJsZSIsImhhbmRsZUFkZE1vZHVsZSIsImhhbmRsZUVkaXRNb2R1bGUiLCJoYW5kbGVEZWxldGVNb2R1bGUiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJyZW5kZXJUcmVlTm9kZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQVAsTUFBa0IsT0FBbEI7QUFFQSxPQUFPQyxTQUFQLE1BR08scUJBSFA7QUFJQSxTQUFTQyxLQUFULFFBQXNCLHVCQUF0QjtBQUdBLFNBQVNDLEtBQVQsRUFBZ0JDLGVBQWhCLFFBQXVDLGFBQXZDO0FBQ0EsT0FBT0MsVUFBUCxNQUF1QixjQUF2QjtBQUVBLE9BQU9DLE1BQVAsTUFBbUIsY0FBbkI7QUFDQSxJQUFRQyxRQUFSLFNBQVFBLFFBQVIsQyxDQUNBOztJQVVNQyxPOzs7OztBQUdKLG1CQUFZQyxNQUFaLEVBQW1CO0FBQUE7O0FBQUE7O0FBQ2pCLCtCQUFNQSxNQUFOOztBQURpQiwrRUFGTlQsS0FBSyxDQUFDVSxTQUFOLEVBRU07O0FBQUEsdUVBMEVELFVBQUNDLElBQUQsRUFBVTtBQUMxQixVQUFNQyxTQUFTLEdBQUcsT0FBS0gsS0FBTCxDQUFXRyxTQUE3QjtBQUNBQSxNQUFBQSxTQUFTLElBQUlBLFNBQVMsQ0FBQ0QsSUFBRCxDQUF0QjtBQUNELEtBN0VrQjs7QUFBQSx3RUErRUEsVUFBQ0EsSUFBRCxFQUFVO0FBQzNCLFVBQU1FLFVBQVUsR0FBRyxPQUFLSixLQUFMLENBQVdJLFVBQTlCO0FBQ0FBLE1BQUFBLFVBQVUsSUFBSUEsVUFBVSxDQUFDRixJQUFELENBQXhCO0FBQ0QsS0FsRmtCOztBQUFBLDBF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Q3NGLGNBQXpDLENBREgsQ0FWSixDQURGLENBREY7QUFtQkQ7Ozs7RUExSm1COUYsUzs7Z0JBQWhCTyxPLGtCQVFpQztBQUFFWSxFQUFBQSxLQUFLLEVBQUU7QUFBVCxDOztBQWtNdkMsZUFBZVosT0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHsgVHJlZSwgVHJlZVByb3BzLCBTcGluLCBUcmVlTm9kZVByb3BzIH0gZnJvbSBcImFudGRcIjtcclxuaW1wb3J0IFRyZWVQYW5lbCwge1xyXG4gIElUcmVlUGFuZWxQcm9wcyxcclxuICBUcmVlQ29tbW9uUHJvcHMsXHJcbn0gZnJvbSBcIi4uL2NvbW1vbi9UcmVlUGFuZWxcIjtcclxuaW1wb3J0IHsgdXRpbHMgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBSY1RyZWUgZnJvbSBcInJjLXRyZWVcIjtcclxuaW1wb3J0IHsgRGF0YU5vZGUsIEV2ZW50RGF0YU5vZGUgfSBmcm9tIFwicmMtdHJlZS9saWIvaW50ZXJmYWNlXCI7XHJcbmV4cG9ydCB7IFN0b3JlLCBTdG9yZUNvbmZpZ1R5cGUgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IFRyZWVTZWFyY2ggZnJvbSBcIi4vVHJlZVNlYXJjaFwiO1xyXG5pbXBvcnQgZ2V0Q29uZmlnIGZyb20gXCIuLi9jb25maWdcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmNvbnN0IHsgVHJlZU5vZGUgfSA9IFRyZWU7XHJcbi8vIGltcG9ydCBUcmVlTm9kZSBmcm9tIFwiLi9Oc2NUcmVlTm9kZVwiO1xyXG50eXBlIE5zY0RhdGFOb2RlUHJvcHMgPSBEYXRhTm9kZSAmIHsgcHJvcHM6IHsgZGF0YXJlZjogYW55IH0gfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjVHJlZVByb3BzIGV4dGVuZHMgSVRyZWVQYW5lbFByb3BzIHtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgdHJlZURhdGE/OiBhbnlbXTtcclxuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcclxuICBub2RlUHJvcHM/OiBUcmVlTm9kZVByb3BzO1xyXG59XHJcblxyXG5jbGFzcyBOc2NUcmVlIGV4dGVuZHMgVHJlZVBhbmVsPE5zY1RyZWVQcm9wcyAmIFRyZWVDb21tb25Qcm9wcz4ge1xyXG4gIG5zY1RyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8UmNUcmVlICYgVHJlZVByb3BzPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5yZW5kZXJUZW1wbGF0ZSA9IHRoaXMucmVuZGVyVGVtcGxhdGUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IHsgc3RvcmU6IHt9IH0gPSB7IHN0b3JlOiB7fSB9O1xyXG5cclxuICBfZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKTogYW55IHtcclxuICAgIGxldCBjaGVja2VkS2V5cyA9IHsgY2hlY2tlZDogW10sIGhhbGZDaGVja2VkOiBbXSB9O1xyXG4gICAgdXRpbHMuZm9yRWFjaFRyZWUobW9kZWxEYXRhLCBmdW5jdGlvbiAobm9kZSkge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkID09IHRydWUpIHtcclxuICAgICAgICBjaGVja2VkS2V5cy5jaGVja2VkLnB1c2gobm9kZS5hdHRyaWJ1dGUua2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoJHmkJzntKJcclxuICAgKi9cclxuICAvLyBoYW5kbGVTZWFyY2ggPSAodmFsdWUpID0+IHtcclxuICAvLyAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hUZXh0OiB2YWx1ZSB9KTtcclxuICAvLyB9O1xyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrlJROaVsOe7hFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50O1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W6YCJ5Lit6IqC54K55a+56LGh5pWw57uEXHJcbiAgICogQHJldHVybiBub2RlW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkTm9kZXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgbm9kZXMgPSBbXSBhcyBOc2NEYXRhTm9kZVByb3BzW107XHJcbiAgICBjaGVja2VkS2V5cy5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAvLyBub2Rlcy5wdXNoKGtleUVudGl0aWVzW2tleV0ubm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWFqOmDqOmAieS4reiKgueCuUlE77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5SURcclxuICAgKiBAcmV0dXJuIFN0cmluZ1tdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbEtleXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzLmNvbmNhdChoYWxmQ2hlY2tlZEtleXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5Tm9kZeWvueixoe+8jOWMheWQq+WNiumAieS4reiKgueCuU5vZGXlr7nosaFcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRBbGxOb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cywga2V5RW50aXRpZXMgfSA9XHJcbiAgICAgIHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzQWxsID0gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgICBsZXQgbm9kZXMgPSBbXTtcclxuICAgIGNoZWNrZWRLZXlzQWxsLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBrZXlFbnRpdGllc1trZXldLm5vZGUgYXMgTnNjRGF0YU5vZGVQcm9wcztcclxuICAgICAgbm9kZXMucHVzaChub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfVxyXG5cclxuICAvLyDmt7vliqDmqKHlnZdcclxuICBoYW5kbGVBZGRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlQWRkID0gdGhpcy5wcm9wcy5oYW5kbGVBZGQ7XHJcbiAgICBoYW5kbGVBZGQgJiYgaGFuZGxlQWRkKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRWRpdCA9IHRoaXMucHJvcHMuaGFuZGxlRWRpdDtcclxuICAgIGhhbmRsZUVkaXQgJiYgaGFuZGxlRWRpdChub2RlKTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVEZWxldGVNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlID0gdGhpcy5wcm9wcy5oYW5kbGVEZWxldGU7XHJcbiAgICBoYW5kbGVEZWxldGUgJiYgaGFuZGxlRGVsZXRlKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIF9vbkxvYWREYXRhID0gKHRyZWVOb2RlOiBFdmVudERhdGFOb2RlICYgeyBwcm9wczogeyBkYXRhcmVmIH0gfSkgPT5cclxuICAgIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgICBub2RlID0gdHJlZU5vZGUucHJvcHMuZGF0YXJlZjtcclxuICAgICAgdGhpcy5zdG9yZS5sYXp5TG9hZChub2RlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmVzb2x2ZShub2RlKTtcclxuICAgICAgICBfdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICByZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMgPSB7fSBhcyBJVHJlZVBhbmVsUHJvcHMsIG5ld01lbnVEYXRhcyA9IFtdKSB7XHJcbiAgICBjb25zdCB7IHRyZWVEYXRhLCBvcGVuS2V5cywgLi4ucHJvcHMgfSA9IHRyZWVQcm9wcztcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChwcm9wcy5jaGVja1Byb3BhZ2F0aW9uKSB7XHJcbiAgICAgIHByb3BzLmNoZWNrU3RyaWN0bHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLnNob3dJY29uID09IG51bGwpIHtcclxuICAgICAgcHJvcHMuc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IGxhenlsb2FkIH0gPSB0aGlzLnN0b3JlLmNvbmZpZztcclxuICAgIGlmIChsYXp5bG9hZCkge1xyXG4gICAgICBwcm9wcy5sb2FkRGF0YSA9IHRoaXMuX29uTG9hZERhdGE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBvbkNoZWNrRm4gPSBwcm9wcy5vbkNoZWNrO1xyXG4gICAgcHJvcHMub25DaGVjayA9IGZ1bmN0aW9uIChjaGVja2VkS2V5cywgZSkge1xyXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7IGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyB9KTtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGVja0ZuLCBfdGhpcywgW2NoZWNrZWRLZXlzLCBlXSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25TZWxlY3RGbiA9IHByb3BzLm9uU2VsZWN0O1xyXG4gICAgcHJvcHMub25TZWxlY3QgPSAoc2VsZWN0ZWRLZXlzLCBub2RlSW5mbykgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvblNlbGVjdEZuLCBfdGhpcywgW3NlbGVjdGVkS2V5cywgbm9kZUluZm9dKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgc2VsZWN0Tm9kZTogbm9kZUluZm8uc2VsZWN0ZWQgPyBub2RlSW5mby5zZWxlY3RlZE5vZGVzWzBdIDogbnVsbCxcclxuICAgICAgICBzZWxlY3RlZEtleXMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3BlbktleXMpIHtcclxuICAgICAgcHJvcHMuZXhwYW5kZWRLZXlzID0gb3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWxldGUgcHJvcHMuZXhwYW5kZWRLZXlzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFNwaW4gc3Bpbm5pbmc9e3RoaXMuc3RhdGUubG9hZGluZ30+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10cmVlLWJveFwiXX0+XHJcbiAgICAgICAgICB7KF90aGlzLnByb3BzLmVkaXRhYmxlIHx8IF90aGlzLnByb3BzLnNlYXJjaGFibGUpICYmIChcclxuICAgICAgICAgICAgPFRyZWVTZWFyY2hcclxuICAgICAgICAgICAgICB0cmVlSW5zdGFuY2U9e3RoaXN9XHJcbiAgICAgICAgICAgICAgaGFuZGxlQWRkTW9kdWxlPXt0aGlzLmhhbmRsZUFkZE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVFZGl0TW9kdWxlPXt0aGlzLmhhbmRsZUVkaXRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRGVsZXRlTW9kdWxlPXt0aGlzLmhhbmRsZURlbGV0ZU1vZHVsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7QXJyYXkuaXNBcnJheShuZXdNZW51RGF0YXMpICYmIG5ld01lbnVEYXRhcy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgPFRyZWUgcmVmPXt0aGlzLm5zY1RyZWVSZWZ9IGNoZWNrYWJsZSB7Li4ucHJvcHN9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhuZXdNZW51RGF0YXMsIHByb3BzLnJlbmRlclRyZWVOb2RlKX1cclxuICAgICAgICAgICAgPC9UcmVlPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9TcGluPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlclRyZWVOb2RlcyA9IChkYXRhLCByZW5kZXJGbikgPT4ge1xyXG4gICAgY29uc3Qgbm9kZVByb3BzID0gdGhpcy5wcm9wcy5ub2RlUHJvcHMgfHwge307XHJcbiAgICBjb25zdCB7IGtleTogbm9kZUtleSwgLi4ucmVzdE5vZGVQcm9wcyB9ID0gbm9kZVByb3BzO1xyXG4gICAgY29uc3Qgbm9kZXMgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIml0ZW1cIiwgaXRlbSk7XHJcbiAgICAgIGxldCBwcm9wcyA9IHsgZGF0YXJlZjogaXRlbSB9IGFzIFRyZWVOb2RlUHJvcHM7XHJcbiAgICAgIGl0ZW0uY29uZmlnLmZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICAgIGlmIChmaWVsZC5uYW1lID09PSBcImtleVwiICYmIG5vZGVLZXkpIHtcclxuICAgICAgICAgIHByb3BzLmtleSA9IGl0ZW1bbm9kZUtleV07XHJcbiAgICAgICAgICBpdGVtLmtleSA9IGl0ZW1bbm9kZUtleV07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzW2ZpZWxkLm5hbWVdID0gaXRlbVtmaWVsZC5uYW1lXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBPYmplY3QuYXNzaWduKHByb3BzLCByZXN0Tm9kZVByb3BzKTtcclxuICAgICAgaWYgKHJlbmRlckZuKSB7XHJcbiAgICAgICAgcHJvcHMgPSB1dGlscy5jYWxsYmFjayhyZW5kZXJGbiwgdGhpcywgW3Byb3BzLCBpdGVtXSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpdGVtLmNoaWxkTm9kZXMpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPFRyZWVOb2RlIHsuLi5wcm9wc30ga2V5PXtpdGVtLmF0dHJpYnV0ZS5rZXl9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJUcmVlTm9kZXMoaXRlbS5jaGlsZE5vZGVzLCByZW5kZXJGbil9XHJcbiAgICAgICAgICA8L1RyZWVOb2RlPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHRpdGxlTm9kZSA9IG51bGw7XHJcbiAgICAgIGlmIChpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZSkge1xyXG4gICAgICAgIHRpdGxlTm9kZSA9IChcclxuICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICA8c3Bhbj57aXRlbS50aXRsZX08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgY29sb3I6IFwicmdiYSgwLDAsMCwuNDUpXCIgfX1cclxuICAgICAgICAgICAgPntg77yIJHtpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZX3vvIlgfTwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRpdGxlTm9kZSA9IDxzcGFuPntpdGVtLnRpdGxlfTwvc3Bhbj47XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIDxUcmVlTm9kZSB7Li4ucHJvcHN9IGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fSB0aXRsZT17dGl0bGVOb2RlfSAvPjtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBub2RlcztcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBOc2NUcmVlO1xyXG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "1.4.1",
3
+ "version": "1.4.4",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {