nsc-react-component 2.2.14 → 2.2.17

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.
@@ -153,8 +153,8 @@ var RichTextEditor = /*#__PURE__*/function (_Component) {
153
153
  paddingLeft: 10
154
154
  },
155
155
  onEditorStateChange: this.onEditorStateChange,
156
- wrapperClassName: getLess(styles, "wrapper"),
157
- editorClassName: getLess(styles, "editor"),
156
+ wrapperClassName: getLess(styles, "draft-wrapper"),
157
+ editorClassName: getLess(styles, "draft-editor"),
158
158
  ref: this.domEditor,
159
159
  readOnly: disabled,
160
160
  toolbar: {
@@ -184,4 +184,4 @@ _defineProperty(RichTextEditor, "propTypes", {
184
184
  });
185
185
 
186
186
  export { RichTextEditor as default };
187
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZWRpdG9yL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIkVkaXRvclN0YXRlIiwiY29udmVydFRvUmF3IiwiQ29udGVudFN0YXRlIiwiRWRpdG9yIiwiZHJhZnRUb0h0bWwiLCJodG1sVG9EcmFmdCIsInN0eWxlcyIsImdldExlc3MiLCJSaWNoVGV4dEVkaXRvciIsInByb3BzIiwiY3JlYXRlUmVmIiwiZWRpdG9yU3RhdGUiLCJkZXNjckNvdW50IiwiZ2V0Q3VycmVudENvbnRlbnQiLCJzZXRTdGF0ZSIsIm9uQ2hhbmdlIiwiZmlsZSIsImh0bWwiLCJ2YWx1ZSIsImNvbnRlbnRCbG9jayIsImNvbnRlbnRTdGF0ZSIsImNyZWF0ZUZyb21CbG9ja0FycmF5IiwiY29udGVudEJsb2NrcyIsImNyZWF0ZVdpdGhDb250ZW50Iiwic3RhdGUiLCJlZGl0b3IiLCJjcmVhdGVFbXB0eSIsInByZVByb3BzIiwiZGlzYWJsZWQiLCJwYXJhbXMiLCJib3JkZXIiLCJtaW5IZWlnaHQiLCJwYWRkaW5nTGVmdCIsIm9uRWRpdG9yU3RhdGVDaGFuZ2UiLCJkb21FZGl0b3IiLCJvcHRpb25zIiwiaW5saW5lIiwiaW5Ecm9wZG93biIsImRldGFpbCIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxTQUFoQixRQUFpQyxPQUFqQztBQUNBLE9BQU9DLFNBQVAsTUFBc0IsWUFBdEIsQyxDQUNBOztBQUNBLFNBQVNDLFdBQVQsRUFBc0JDLFlBQXRCLEVBQW9DQyxZQUFwQyxRQUF3RCxVQUF4RCxDLENBQ0E7O0FBQ0EsU0FBU0MsTUFBVCxRQUF1QixxQkFBdkI7QUFDQSxPQUFPQyxXQUFQLE1BQXdCLGlCQUF4QjtBQUNBLE9BQU9DLFdBQVAsTUFBd0IsaUJBQXhCO0FBQ0EsT0FBTyxrREFBUCxD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LFVBQUFBLE1BQU0sRUFBRSxpQkFERztBQUVYQyxVQUFBQSxTQUFTLEVBQUUsR0FGQTtBQUdYQyxVQUFBQSxXQUFXLEVBQUU7QUFIRixTQUZmO0FBT0UsUUFBQSxtQkFBbUIsRUFBRSxLQUFLQyxtQkFQNUI7QUFRRSxRQUFBLGdCQUFnQixFQUFFMUIsT0FBTyxDQUFDRCxNQUFELEVBQVMsU0FBVCxDQVIzQjtBQVNFLFFBQUEsZUFBZSxFQUFFQyxPQUFPLENBQUNELE1BQUQsRUFBUyxRQUFULENBVDFCO0FBVUUsUUFBQSxHQUFHLEVBQUUsS0FBSzRCLFNBVlo7QUFXRSxRQUFBLFFBQVEsRUFBRU4sUUFYWjtBQVlFLFFBQUEsT0FBTyxFQUFFO0FBQ1BPLFVBQUFBLE9BQU8sRUFBRSxDQUNQLFFBRE8sRUFFUCxXQUZPLEVBR1AsVUFITyxFQUlQLFlBSk8sRUFLUCxNQUxPLEVBTVAsV0FOTyxFQU9QLGFBUE8sRUFRUDtBQUNBLGlCQVRPLENBVVA7QUFDQTtBQUNBO0FBQ0E7QUFiTyxXQURGO0FBZ0JQQyxVQUFBQSxNQUFNLEVBQUU7QUFBRUMsWUFBQUEsVUFBVSxFQUFFO0FBQWQsV0FoQkQsQ0FpQlA7QUFDQTtBQUNBO0FBQ0E7O0FBcEJPO0FBWlgsU0FrQ01SLE1BbENOLEVBREY7QUFzQ0Q7Ozs7RUEzSHlDL0IsUzs7Z0JBQXZCVSxjLGVBQ0E7QUFDakI4QixFQUFBQSxNQUFNLEVBQUV2QyxTQUFTLENBQUN3QztBQURELEM7O1NBREEvQixjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XHJcbi8vQHRzLWlnbm9yZVxyXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgY29udmVydFRvUmF3LCBDb250ZW50U3RhdGUgfSBmcm9tIFwiZHJhZnQtanNcIjtcclxuLy9AdHMtaWdub3JlXHJcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gXCJyZWFjdC1kcmFmdC13eXNpd3lnXCI7XHJcbmltcG9ydCBkcmFmdFRvSHRtbCBmcm9tIFwiZHJhZnRqcy10by1odG1sXCI7XHJcbmltcG9ydCBodG1sVG9EcmFmdCBmcm9tIFwiaHRtbC10by1kcmFmdGpzXCI7XHJcbmltcG9ydCBcInJlYWN0LWRyYWZ0LXd5c2l3eWcvZGlzdC9yZWFjdC1kcmFmdC13eXNpd3lnLmNzc1wiO1xyXG4vLyBpbXBvcnQgZmlsZSBmcm9tICduc2MtZmlsZSc7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbi8vIGNvbnN0IHsgdXBsb2FkIH0gPSBmaWxlO1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSaWNoVGV4dEVkaXRvciBleHRlbmRzIENvbXBvbmVudDxhbnksIGFueT4ge1xyXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XHJcbiAgICBkZXRhaWw6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgfTtcclxuICBkb21FZGl0b3IgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG5cclxuICAvLyBzdGF0ZSA9IHtcclxuICAvLyAgIGVkaXRvclN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGVFbXB0eSgpLFxyXG4gIC8vICAgZWRpdG9yOiBmYWxzZSxcclxuICAvLyB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wczogYW55KSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBodG1sID0gdGhpcy5wcm9wcy52YWx1ZTtcclxuICAgIGlmIChodG1sKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRlbnRCbG9jayA9IGh0bWxUb0RyYWZ0KGh0bWwpO1xyXG4gICAgICBjb25zdCBjb250ZW50U3RhdGUgPSBDb250ZW50U3RhdGUuY3JlYXRlRnJvbUJsb2NrQXJyYXkoXHJcbiAgICAgICAgY29udGVudEJsb2NrLmNvbnRlbnRCbG9ja3NcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgZWRpdG9yU3RhdGUgPSBFZGl0b3JTdGF0ZS5jcmVhdGVXaXRoQ29udGVudChjb250ZW50U3RhdGUpO1xyXG4gICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgIGVkaXRvclN0YXRlLFxyXG4gICAgICAgIGVkaXRvcjogZmFsc2UsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgIGVkaXRvclN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGVFbXB0eSgpLFxyXG4gICAgICAgIGVkaXRvcjogZmFsc2UsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmVQcm9wczogYW55KSB7XHJcbiAgICBpZiAocHJlUHJvcHMudmFsdWUgIT09IHRoaXMucHJvcHMudmFsdWUpIHtcclxuICAgICAgY29uc3QgaHRtbCA9IHRoaXMucHJvcHMudmFsdWU7XHJcbiAgICAgIGlmIChodG1sKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudEJsb2NrID0gaHRtbFRvRHJhZnQoaHRtbCk7XHJcbiAgICAgICAgY29uc3QgY29udGVudFN0YXRlID0gQ29udGVudFN0YXRlLmNyZWF0ZUZyb21CbG9ja0FycmF5KFxyXG4gICAgICAgICAgY29udGVudEJsb2NrLmNvbnRlbnRCbG9ja3NcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGVkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUuY3JlYXRlV2l0aENvbnRlbnQoY29udGVudFN0YXRlKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGVkaXRvclN0YXRlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgY29uc3QgeyBlZGl0b3JTdGF0ZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHJldHVybiBkcmFmdFRvSHRtbChjb252ZXJ0VG9SYXcoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSkpO1xyXG4gIH1cclxuXHJcbiAgb25FZGl0b3JTdGF0ZUNoYW5nZSA9IChlZGl0b3JTdGF0ZTogYW55KSA9PiB7XHJcbiAgICBjb25zdCBkZXNjckNvdW50ID0gZHJhZnRUb0h0bWwoXHJcbiAgICAgIGNvbnZlcnRUb1JhdyhlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNldFN0YXRlKHsgZWRpdG9yU3RhdGUgfSk7XHJcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgb25DaGFuZ2UgJiYgb25DaGFuZ2UoZGVzY3JDb3VudCk7XHJcbiAgfTtcclxuXHJcbiAgdXBsb2FkSW1hZ2VDYWxsQmFjayA9IChmaWxlOiBhbnkpID0+IHtcclxuICAgIC8vIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAvLyAgIGNvbnN0IGZpbGVQYXJhbXMgPSB7XHJcbiAgICAvLyAgICAgc2VydmljZU5hbWU6ICdlaWMtaG9tZS1zZXJ2aWNlJyxcclxuICAgIC8vICAgICBidXNpTmFtZTogJ2FwcHVwbG9hZHBpY3R1cmUnLFxyXG4gICAgLy8gICAgIGZpbGU6IGZpbGUsXHJcbiAgICAvLyAgICAgYWxsb3dTdWZmaXhMaXN0OiBbJ2pwZycsICdqcGVnJywgJ3BuZyddLFxyXG4gICAgLy8gICB9O1xyXG4gICAgLy8gICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZChmaWxlUGFyYW1zKTtcclxuICAgIC8vICAgcmVzb2x2ZSh7XHJcbiAgICAvLyAgICAgZGF0YToge1xyXG4gICAgLy8gICAgICAgbGluazogYC9hcGkvZmlsZS92MS9maWxlcy9pbWFnZS8ke1xyXG4gICAgLy8gICAgICAgICByZXMuZGF0YS5pZFxyXG4gICAgLy8gICAgICAgfT90b2tlbj0ke3dpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcclxuICAgIC8vICAgICAgICAgJ3Rva2VuJyxcclxuICAgIC8vICAgICAgICl9JnM9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3MnKX1gLFxyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgIH0pO1xyXG4gICAgLy8gfSk7XHJcbiAgfTtcclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBlZGl0b3JTdGF0ZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGlzYWJsZWQgPSBmYWxzZSwgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPEVkaXRvclxyXG4gICAgICAgIGVkaXRvclN0YXRlPXtlZGl0b3JTdGF0ZX1cclxuICAgICAgICBlZGl0b3JTdHlsZT17e1xyXG4gICAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBibGFja1wiLFxyXG4gICAgICAgICAgbWluSGVpZ2h0OiAyMDAsXHJcbiAgICAgICAgICBwYWRkaW5nTGVmdDogMTAsXHJcbiAgICAgICAgfX1cclxuICAgICAgICBvbkVkaXRvclN0YXRlQ2hhbmdlPXt0aGlzLm9uRWRpdG9yU3RhdGVDaGFuZ2V9XHJcbiAgICAgICAgd3JhcHBlckNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwid3JhcHBlclwiKX1cclxuICAgICAgICBlZGl0b3JDbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICByZWY9e3RoaXMuZG9tRWRpdG9yfVxyXG4gICAgICAgIHJlYWRPbmx5PXtkaXNhYmxlZH1cclxuICAgICAgICB0b29sYmFyPXt7XHJcbiAgICAgICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgIFwiaW5saW5lXCIsXHJcbiAgICAgICAgICAgIFwiYmxvY2tUeXBlXCIsXHJcbiAgICAgICAgICAgIFwiZm9udFNpemVcIixcclxuICAgICAgICAgICAgXCJmb250RmFtaWx5XCIsXHJcbiAgICAgICAgICAgIFwibGlzdFwiLFxyXG4gICAgICAgICAgICBcInRleHRBbGlnblwiLFxyXG4gICAgICAgICAgICBcImNvbG9yUGlja2VyXCIsXHJcbiAgICAgICAgICAgIC8vICdsaW5rJyxcclxuICAgICAgICAgICAgXCJlbW9qaVwiLFxyXG4gICAgICAgICAgICAvLyAnaW1hZ2UnLFxyXG4gICAgICAgICAgICAvLyAncmVtb3ZlJyxcclxuICAgICAgICAgICAgLy8gJ2hpc3RvcnknLFxyXG4gICAgICAgICAgICAvLyAnZW1iZWRkZWQnLFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIGlubGluZTogeyBpbkRyb3Bkb3duOiB0cnVlIH0sXHJcbiAgICAgICAgICAvLyAgIGltYWdlOiB7XHJcbiAgICAgICAgICAvLyAgICAgdXBsb2FkQ2FsbGJhY2s6IHVwbG9hZEltYWdlQ2FsbEJhY2ssXHJcbiAgICAgICAgICAvLyAgICAgYWx0OiB7IHByZXNlbnQ6IHRydWUsIG1hbmRhdG9yeTogdHJ1ZSB9LFxyXG4gICAgICAgICAgLy8gICB9LFxyXG4gICAgICAgIH19XHJcbiAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgLz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
187
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZWRpdG9yL2luZGV4LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsIkVkaXRvclN0YXRlIiwiY29udmVydFRvUmF3IiwiQ29udGVudFN0YXRlIiwiRWRpdG9yIiwiZHJhZnRUb0h0bWwiLCJodG1sVG9EcmFmdCIsInN0eWxlcyIsImdldExlc3MiLCJSaWNoVGV4dEVkaXRvciIsInByb3BzIiwiY3JlYXRlUmVmIiwiZWRpdG9yU3RhdGUiLCJkZXNjckNvdW50IiwiZ2V0Q3VycmVudENvbnRlbnQiLCJzZXRTdGF0ZSIsIm9uQ2hhbmdlIiwiZmlsZSIsImh0bWwiLCJ2YWx1ZSIsImNvbnRlbnRCbG9jayIsImNvbnRlbnRTdGF0ZSIsImNyZWF0ZUZyb21CbG9ja0FycmF5IiwiY29udGVudEJsb2NrcyIsImNyZWF0ZVdpdGhDb250ZW50Iiwic3RhdGUiLCJlZGl0b3IiLCJjcmVhdGVFbXB0eSIsInByZVByb3BzIiwiZGlzYWJsZWQiLCJwYXJhbXMiLCJib3JkZXIiLCJtaW5IZWlnaHQiLCJwYWRkaW5nTGVmdCIsIm9uRWRpdG9yU3RhdGVDaGFuZ2UiLCJkb21FZGl0b3IiLCJvcHRpb25zIiwiaW5saW5lIiwiaW5Ecm9wZG93biIsImRldGFpbCIsInN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxTQUFoQixRQUFpQyxPQUFqQztBQUNBLE9BQU9DLFNBQVAsTUFBc0IsWUFBdEIsQyxDQUNBOztBQUNBLFNBQVNDLFdBQVQsRUFBc0JDLFlBQXRCLEVBQW9DQyxZQUFwQyxRQUF3RCxVQUF4RCxDLENBQ0E7O0FBQ0EsU0FBU0MsTUFBVCxRQUF1QixxQkFBdkI7QUFDQSxPQUFPQyxXQUFQLE1BQXdCLGlCQUF4QjtBQUNBLE9BQU9DLFdBQVAsTUFBd0IsaUJBQXhCO0FBQ0EsT0FBTyxrREFBUCxD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LFVBQUFBLE1BQU0sRUFBRSxpQkFERztBQUVYQyxVQUFBQSxTQUFTLEVBQUUsR0FGQTtBQUdYQyxVQUFBQSxXQUFXLEVBQUU7QUFIRixTQUZmO0FBT0UsUUFBQSxtQkFBbUIsRUFBRSxLQUFLQyxtQkFQNUI7QUFRRSxRQUFBLGdCQUFnQixFQUFFMUIsT0FBTyxDQUFDRCxNQUFELEVBQVMsZUFBVCxDQVIzQjtBQVNFLFFBQUEsZUFBZSxFQUFFQyxPQUFPLENBQUNELE1BQUQsRUFBUyxjQUFULENBVDFCO0FBVUUsUUFBQSxHQUFHLEVBQUUsS0FBSzRCLFNBVlo7QUFXRSxRQUFBLFFBQVEsRUFBRU4sUUFYWjtBQVlFLFFBQUEsT0FBTyxFQUFFO0FBQ1BPLFVBQUFBLE9BQU8sRUFBRSxDQUNQLFFBRE8sRUFFUCxXQUZPLEVBR1AsVUFITyxFQUlQLFlBSk8sRUFLUCxNQUxPLEVBTVAsV0FOTyxFQU9QLGFBUE8sRUFRUDtBQUNBLGlCQVRPLENBVVA7QUFDQTtBQUNBO0FBQ0E7QUFiTyxXQURGO0FBZ0JQQyxVQUFBQSxNQUFNLEVBQUU7QUFBRUMsWUFBQUEsVUFBVSxFQUFFO0FBQWQsV0FoQkQsQ0FpQlA7QUFDQTtBQUNBO0FBQ0E7O0FBcEJPO0FBWlgsU0FrQ01SLE1BbENOLEVBREY7QUFzQ0Q7Ozs7RUEzSHlDL0IsUzs7Z0JBQXZCVSxjLGVBQ0E7QUFDakI4QixFQUFBQSxNQUFNLEVBQUV2QyxTQUFTLENBQUN3QztBQURELEM7O1NBREEvQixjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCI7XHJcbi8vQHRzLWlnbm9yZVxyXG5pbXBvcnQgeyBFZGl0b3JTdGF0ZSwgY29udmVydFRvUmF3LCBDb250ZW50U3RhdGUgfSBmcm9tIFwiZHJhZnQtanNcIjtcclxuLy9AdHMtaWdub3JlXHJcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gXCJyZWFjdC1kcmFmdC13eXNpd3lnXCI7XHJcbmltcG9ydCBkcmFmdFRvSHRtbCBmcm9tIFwiZHJhZnRqcy10by1odG1sXCI7XHJcbmltcG9ydCBodG1sVG9EcmFmdCBmcm9tIFwiaHRtbC10by1kcmFmdGpzXCI7XHJcbmltcG9ydCBcInJlYWN0LWRyYWZ0LXd5c2l3eWcvZGlzdC9yZWFjdC1kcmFmdC13eXNpd3lnLmNzc1wiO1xyXG4vLyBpbXBvcnQgZmlsZSBmcm9tICduc2MtZmlsZSc7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubGVzc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBjbHMgZnJvbSBcImNsYXNzbmFtZXNcIjtcclxuXHJcbi8vIGNvbnN0IHsgdXBsb2FkIH0gPSBmaWxlO1xyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSaWNoVGV4dEVkaXRvciBleHRlbmRzIENvbXBvbmVudDxhbnksIGFueT4ge1xyXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XHJcbiAgICBkZXRhaWw6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgfTtcclxuICBkb21FZGl0b3IgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG5cclxuICAvLyBzdGF0ZSA9IHtcclxuICAvLyAgIGVkaXRvclN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGVFbXB0eSgpLFxyXG4gIC8vICAgZWRpdG9yOiBmYWxzZSxcclxuICAvLyB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wczogYW55KSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgICBjb25zdCBodG1sID0gdGhpcy5wcm9wcy52YWx1ZTtcclxuICAgIGlmIChodG1sKSB7XHJcbiAgICAgIGNvbnN0IGNvbnRlbnRCbG9jayA9IGh0bWxUb0RyYWZ0KGh0bWwpO1xyXG4gICAgICBjb25zdCBjb250ZW50U3RhdGUgPSBDb250ZW50U3RhdGUuY3JlYXRlRnJvbUJsb2NrQXJyYXkoXHJcbiAgICAgICAgY29udGVudEJsb2NrLmNvbnRlbnRCbG9ja3NcclxuICAgICAgKTtcclxuICAgICAgY29uc3QgZWRpdG9yU3RhdGUgPSBFZGl0b3JTdGF0ZS5jcmVhdGVXaXRoQ29udGVudChjb250ZW50U3RhdGUpO1xyXG4gICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgIGVkaXRvclN0YXRlLFxyXG4gICAgICAgIGVkaXRvcjogZmFsc2UsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgIGVkaXRvclN0YXRlOiBFZGl0b3JTdGF0ZS5jcmVhdGVFbXB0eSgpLFxyXG4gICAgICAgIGVkaXRvcjogZmFsc2UsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmVQcm9wczogYW55KSB7XHJcbiAgICBpZiAocHJlUHJvcHMudmFsdWUgIT09IHRoaXMucHJvcHMudmFsdWUpIHtcclxuICAgICAgY29uc3QgaHRtbCA9IHRoaXMucHJvcHMudmFsdWU7XHJcbiAgICAgIGlmIChodG1sKSB7XHJcbiAgICAgICAgY29uc3QgY29udGVudEJsb2NrID0gaHRtbFRvRHJhZnQoaHRtbCk7XHJcbiAgICAgICAgY29uc3QgY29udGVudFN0YXRlID0gQ29udGVudFN0YXRlLmNyZWF0ZUZyb21CbG9ja0FycmF5KFxyXG4gICAgICAgICAgY29udGVudEJsb2NrLmNvbnRlbnRCbG9ja3NcclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IGVkaXRvclN0YXRlID0gRWRpdG9yU3RhdGUuY3JlYXRlV2l0aENvbnRlbnQoY29udGVudFN0YXRlKTtcclxuICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgIGVkaXRvclN0YXRlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFZhbHVlKCkge1xyXG4gICAgY29uc3QgeyBlZGl0b3JTdGF0ZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIHJldHVybiBkcmFmdFRvSHRtbChjb252ZXJ0VG9SYXcoZWRpdG9yU3RhdGUuZ2V0Q3VycmVudENvbnRlbnQoKSkpO1xyXG4gIH1cclxuXHJcbiAgb25FZGl0b3JTdGF0ZUNoYW5nZSA9IChlZGl0b3JTdGF0ZTogYW55KSA9PiB7XHJcbiAgICBjb25zdCBkZXNjckNvdW50ID0gZHJhZnRUb0h0bWwoXHJcbiAgICAgIGNvbnZlcnRUb1JhdyhlZGl0b3JTdGF0ZS5nZXRDdXJyZW50Q29udGVudCgpKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNldFN0YXRlKHsgZWRpdG9yU3RhdGUgfSk7XHJcbiAgICBjb25zdCB7IG9uQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgb25DaGFuZ2UgJiYgb25DaGFuZ2UoZGVzY3JDb3VudCk7XHJcbiAgfTtcclxuXHJcbiAgdXBsb2FkSW1hZ2VDYWxsQmFjayA9IChmaWxlOiBhbnkpID0+IHtcclxuICAgIC8vIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAvLyAgIGNvbnN0IGZpbGVQYXJhbXMgPSB7XHJcbiAgICAvLyAgICAgc2VydmljZU5hbWU6ICdlaWMtaG9tZS1zZXJ2aWNlJyxcclxuICAgIC8vICAgICBidXNpTmFtZTogJ2FwcHVwbG9hZHBpY3R1cmUnLFxyXG4gICAgLy8gICAgIGZpbGU6IGZpbGUsXHJcbiAgICAvLyAgICAgYWxsb3dTdWZmaXhMaXN0OiBbJ2pwZycsICdqcGVnJywgJ3BuZyddLFxyXG4gICAgLy8gICB9O1xyXG4gICAgLy8gICBjb25zdCByZXM6IGFueSA9IGF3YWl0IHVwbG9hZChmaWxlUGFyYW1zKTtcclxuICAgIC8vICAgcmVzb2x2ZSh7XHJcbiAgICAvLyAgICAgZGF0YToge1xyXG4gICAgLy8gICAgICAgbGluazogYC9hcGkvZmlsZS92MS9maWxlcy9pbWFnZS8ke1xyXG4gICAgLy8gICAgICAgICByZXMuZGF0YS5pZFxyXG4gICAgLy8gICAgICAgfT90b2tlbj0ke3dpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShcclxuICAgIC8vICAgICAgICAgJ3Rva2VuJyxcclxuICAgIC8vICAgICAgICl9JnM9JHt3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3MnKX1gLFxyXG4gICAgLy8gICAgIH0sXHJcbiAgICAvLyAgIH0pO1xyXG4gICAgLy8gfSk7XHJcbiAgfTtcclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBlZGl0b3JTdGF0ZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHsgZGlzYWJsZWQgPSBmYWxzZSwgLi4ucGFyYW1zIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPEVkaXRvclxyXG4gICAgICAgIGVkaXRvclN0YXRlPXtlZGl0b3JTdGF0ZX1cclxuICAgICAgICBlZGl0b3JTdHlsZT17e1xyXG4gICAgICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBibGFja1wiLFxyXG4gICAgICAgICAgbWluSGVpZ2h0OiAyMDAsXHJcbiAgICAgICAgICBwYWRkaW5nTGVmdDogMTAsXHJcbiAgICAgICAgfX1cclxuICAgICAgICBvbkVkaXRvclN0YXRlQ2hhbmdlPXt0aGlzLm9uRWRpdG9yU3RhdGVDaGFuZ2V9XHJcbiAgICAgICAgd3JhcHBlckNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZHJhZnQtd3JhcHBlclwiKX1cclxuICAgICAgICBlZGl0b3JDbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImRyYWZ0LWVkaXRvclwiKX1cclxuICAgICAgICByZWY9e3RoaXMuZG9tRWRpdG9yfVxyXG4gICAgICAgIHJlYWRPbmx5PXtkaXNhYmxlZH1cclxuICAgICAgICB0b29sYmFyPXt7XHJcbiAgICAgICAgICBvcHRpb25zOiBbXHJcbiAgICAgICAgICAgIFwiaW5saW5lXCIsXHJcbiAgICAgICAgICAgIFwiYmxvY2tUeXBlXCIsXHJcbiAgICAgICAgICAgIFwiZm9udFNpemVcIixcclxuICAgICAgICAgICAgXCJmb250RmFtaWx5XCIsXHJcbiAgICAgICAgICAgIFwibGlzdFwiLFxyXG4gICAgICAgICAgICBcInRleHRBbGlnblwiLFxyXG4gICAgICAgICAgICBcImNvbG9yUGlja2VyXCIsXHJcbiAgICAgICAgICAgIC8vICdsaW5rJyxcclxuICAgICAgICAgICAgXCJlbW9qaVwiLFxyXG4gICAgICAgICAgICAvLyAnaW1hZ2UnLFxyXG4gICAgICAgICAgICAvLyAncmVtb3ZlJyxcclxuICAgICAgICAgICAgLy8gJ2hpc3RvcnknLFxyXG4gICAgICAgICAgICAvLyAnZW1iZWRkZWQnLFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIGlubGluZTogeyBpbkRyb3Bkb3duOiB0cnVlIH0sXHJcbiAgICAgICAgICAvLyAgIGltYWdlOiB7XHJcbiAgICAgICAgICAvLyAgICAgdXBsb2FkQ2FsbGJhY2s6IHVwbG9hZEltYWdlQ2FsbEJhY2ssXHJcbiAgICAgICAgICAvLyAgICAgYWx0OiB7IHByZXNlbnQ6IHRydWUsIG1hbmRhdG9yeTogdHJ1ZSB9LFxyXG4gICAgICAgICAgLy8gICB9LFxyXG4gICAgICAgIH19XHJcbiAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgLz5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,14 +1,14 @@
1
- .editor {
1
+ .draft-editor {
2
2
  min-height: 275px !important;
3
3
  border: 1px solid #f1f1f1 !important;
4
4
  padding: 5px !important;
5
5
  border-radius: 2px !important;
6
6
  }
7
- .wrapper {
7
+ .draft-wrapper {
8
8
  background: #fff;
9
9
  }
10
10
 
11
- .editor-disable {
11
+ .draft-editor-disable {
12
12
  margin-top: 10px;
13
13
  min-height: 275px !important;
14
14
  border: 1px solid #f1f1f1 !important;
@@ -109,22 +109,31 @@ var NscTree = /*#__PURE__*/function (_TreePanel) {
109
109
  props = utils.callback(renderFn, _assertThisInitialized(_this2), [props, item]);
110
110
  }
111
111
 
112
- if (item.childNodes) {
113
- return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
114
- key: item.attribute.key
115
- }), _this2.renderTreeNodes(item.childNodes, renderFn));
116
- }
117
-
118
112
  var titleNode = null;
119
113
 
120
- if (item.attribute.subtitle) {
121
- titleNode = /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", null, item.title), /*#__PURE__*/React.createElement("span", {
122
- style: {
123
- color: "rgba(0,0,0,.45)"
124
- }
125
- }, "\uFF08".concat(item.attribute.subtitle, "\uFF09")));
114
+ if (typeof item.title == "string") {
115
+ if (item.attribute.subtitle) {
116
+ titleNode = /*#__PURE__*/React.createElement("span", {
117
+ title: item.title + "" + item.attribute.subtitle + ")"
118
+ }, /*#__PURE__*/React.createElement("span", null, item.title), /*#__PURE__*/React.createElement("span", {
119
+ style: {
120
+ color: "rgba(0,0,0,.45)"
121
+ }
122
+ }, "\uFF08".concat(item.attribute.subtitle, "\uFF09")));
123
+ } else {
124
+ titleNode = /*#__PURE__*/React.createElement("span", {
125
+ title: item.title
126
+ }, item.title);
127
+ }
126
128
  } else {
127
- titleNode = /*#__PURE__*/React.createElement("span", null, item.title);
129
+ titleNode = item.title;
130
+ }
131
+
132
+ if (item.childNodes) {
133
+ return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
134
+ key: item.attribute.key,
135
+ title: titleNode
136
+ }), _this2.renderTreeNodes(item.childNodes, renderFn));
128
137
  }
129
138
 
130
139
  return /*#__PURE__*/React.createElement(TreeNode, _extends({}, props, {
@@ -303,4 +312,4 @@ _defineProperty(NscTree, "defaultProps", {
303
312
  });
304
313
 
305
314
  export default NscTree;
306
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdHJlZS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJUcmVlUGFuZWwiLCJ1dGlscyIsIlN0b3JlIiwiU3RvcmVDb25maWdUeXBlIiwiVHJlZVNlYXJjaCIsInN0eWxlcyIsIlRyZWVOb2RlIiwiTnNjVHJlZSIsInByb3BzIiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwibm9kZUtleSIsImtleSIsInJlc3ROb2RlUHJvcHMiLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJjaGlsZE5vZGVzIiwiYXR0cmlidXRlIiwicmVuZGVyVHJlZU5vZGVzIiwidGl0bGVOb2RlIiwic3VidGl0bGUiLCJ0aXRsZSIsImNvbG9yIiwicmVuZGVyVGVtcGxhdGUiLCJiaW5kIiwibW9kZWxEYXRhIiwiY2hlY2tlZEtleXMiLCJjaGVja2VkIiwiaGFsZkNoZWNrZWQiLCJmb3JFYWNoVHJlZSIsInB1c2giLCJuc2NUcmVlUmVmIiwiY3VycmVudCIsInN0YXRlIiwia2V5RW50aXRpZXMiLCJoYWxmQ2hlY2tlZEtleXMiLCJjb25jYXQiLCJjaGVja2VkS2V5c0FsbCIsInRyZWVQcm9wcyIsIm5ld01lbnVEYXRhcyIsInRyZWVEYXRhIiwib3BlbktleXMiLCJjaGVja1Byb3BhZ2F0aW9uIiwiY2hlY2tTdHJpY3RseSIsInNob3dJY29uIiwibGF6eWxvYWQiLCJsb2FkRGF0YSIsIl9vbkxvYWREYXRhIiwib25DaGVja0ZuIiwib25DaGVjayIsImUiLCJzZXRTdGF0ZSIsIm9uU2VsZWN0Rm4iLCJvblNlbGVjdCIsInNlbGVjdGVkS2V5cyIsIm5vZGVJbmZvIiwic2VsZWN0Tm9kZSIsInNlbGVjdGVkIiwic2VsZWN0ZWROb2RlcyIsImV4cGFuZGVkS2V5cyIsImxvYWRpbmciLCJlZGl0YWJsZSIsInNlYXJjaGFibGUiLCJoYW5kbGVBZGRNb2R1bGUiLCJoYW5kbGVFZGl0TW9kdWxlIiwiaGFuZGxlRGVsZXRlTW9kdWxlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwicmVuZGVyVHJlZU5vZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLE1BQWtCLE9BQWxCO0FBRUEsT0FBT0MsU0FBUCxNQUdPLHFCQUhQO0FBSUEsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFHQSxTQUFTQyxLQUFULEVBQWdCQyxlQUFoQixRQUF1QyxhQUF2QztBQUNBLE9BQU9DLFVBQVAsTUFBdUIsY0FBdkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsSUFBUUMsUUFBUixTQUFRQSxRQUFSLEMsQ0FDQTs7SUFVTUMsTzs7Ozs7QUFHSixtQkFBWUMsTUFBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsTUFBTjs7QUFEaUIsK0VBRk5ULEtBQUssQ0FBQ1UsU0FBTixFQUVNOztBQUFBLHVFQTBFRCxVQUFDQyxJQUFELEVBQVU7QUFDMUIsVUFBTUMsU0FBUyxHQUFHLE9BQUtILEtBQUwsQ0FBV0csU0FBN0I7QUFDQUEsTUFBQUEsU0FBUyxJQUFJQSxTQUFTLENBQUNELElBQUQsQ0FBdEI7QUFDRCxLQTdFa0I7O0FBQUEsd0VBK0VBLFVBQUNBLElBQUQsRUFBVTtBQUMzQixVQUFNRSxVQUFVLEdBQUcsT0FBS0osS0FBTCxDQUFXSSxVQUE5QjtBQUNBQSxNQUFBQSxVQUFVLElBQUlBLFVBQVUsQ0FBQ0YsSUFBRCxDQUF4QjtBQUNELEtBbEZrQjs7QUFBQSwwRUFvRkUsVUFB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QUFBRVksRUFBQUEsS0FBSyxFQUFFO0FBQVQsQzs7QUFpTXZDLGVBQWVaLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRyZWUsIFRyZWVQcm9wcywgU3BpbiwgVHJlZU5vZGVQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBUcmVlUGFuZWwsIHtcclxuICBJVHJlZVBhbmVsUHJvcHMsXHJcbiAgVHJlZUNvbW1vblByb3BzLFxyXG59IGZyb20gXCIuLi9jb21tb24vVHJlZVBhbmVsXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgUmNUcmVlIGZyb20gXCJyYy10cmVlXCI7XHJcbmltcG9ydCB7IERhdGFOb2RlLCBFdmVudERhdGFOb2RlIH0gZnJvbSBcInJjLXRyZWUvbGliL2ludGVyZmFjZVwiO1xyXG5leHBvcnQgeyBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCBUcmVlU2VhcmNoIGZyb20gXCIuL1RyZWVTZWFyY2hcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmNvbnN0IHsgVHJlZU5vZGUgfSA9IFRyZWU7XHJcbi8vIGltcG9ydCBUcmVlTm9kZSBmcm9tIFwiLi9Oc2NUcmVlTm9kZVwiO1xyXG50eXBlIE5zY0RhdGFOb2RlUHJvcHMgPSBEYXRhTm9kZSAmIHsgcHJvcHM6IHsgZGF0YXJlZjogYW55IH0gfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjVHJlZVByb3BzIGV4dGVuZHMgSVRyZWVQYW5lbFByb3BzIHtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgdHJlZURhdGE/OiBhbnlbXTtcclxuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcclxuICBub2RlUHJvcHM/OiBUcmVlTm9kZVByb3BzO1xyXG59XHJcblxyXG5jbGFzcyBOc2NUcmVlIGV4dGVuZHMgVHJlZVBhbmVsPE5zY1RyZWVQcm9wcyAmIFRyZWVDb21tb25Qcm9wcz4ge1xyXG4gIG5zY1RyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8UmNUcmVlICYgVHJlZVByb3BzPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5yZW5kZXJUZW1wbGF0ZSA9IHRoaXMucmVuZGVyVGVtcGxhdGUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IHsgc3RvcmU6IHt9IH0gPSB7IHN0b3JlOiB7fSB9O1xyXG5cclxuICBfZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKTogYW55IHtcclxuICAgIGxldCBjaGVja2VkS2V5cyA9IHsgY2hlY2tlZDogW10sIGhhbGZDaGVja2VkOiBbXSB9O1xyXG4gICAgdXRpbHMuZm9yRWFjaFRyZWUobW9kZWxEYXRhLCBmdW5jdGlvbiAobm9kZSkge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkID09IHRydWUpIHtcclxuICAgICAgICBjaGVja2VkS2V5cy5jaGVja2VkLnB1c2gobm9kZS5hdHRyaWJ1dGUua2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoJHmkJzntKJcclxuICAgKi9cclxuICAvLyBoYW5kbGVTZWFyY2ggPSAodmFsdWUpID0+IHtcclxuICAvLyAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hUZXh0OiB2YWx1ZSB9KTtcclxuICAvLyB9O1xyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrlJROaVsOe7hFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50O1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W6YCJ5Lit6IqC54K55a+56LGh5pWw57uEXHJcbiAgICogQHJldHVybiBub2RlW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkTm9kZXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgbm9kZXMgPSBbXSBhcyBOc2NEYXRhTm9kZVByb3BzW107XHJcbiAgICBjaGVja2VkS2V5cy5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAvLyBub2Rlcy5wdXNoKGtleUVudGl0aWVzW2tleV0ubm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWFqOmDqOmAieS4reiKgueCuUlE77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5SURcclxuICAgKiBAcmV0dXJuIFN0cmluZ1tdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbEtleXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzLmNvbmNhdChoYWxmQ2hlY2tlZEtleXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5Tm9kZeWvueixoe+8jOWMheWQq+WNiumAieS4reiKgueCuU5vZGXlr7nosaFcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRBbGxOb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cywga2V5RW50aXRpZXMgfSA9XHJcbiAgICAgIHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzQWxsID0gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgICBsZXQgbm9kZXMgPSBbXTtcclxuICAgIGNoZWNrZWRLZXlzQWxsLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBrZXlFbnRpdGllc1trZXldLm5vZGUgYXMgTnNjRGF0YU5vZGVQcm9wcztcclxuICAgICAgbm9kZXMucHVzaChub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfVxyXG5cclxuICAvLyDmt7vliqDmqKHlnZdcclxuICBoYW5kbGVBZGRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlQWRkID0gdGhpcy5wcm9wcy5oYW5kbGVBZGQ7XHJcbiAgICBoYW5kbGVBZGQgJiYgaGFuZGxlQWRkKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRWRpdCA9IHRoaXMucHJvcHMuaGFuZGxlRWRpdDtcclxuICAgIGhhbmRsZUVkaXQgJiYgaGFuZGxlRWRpdChub2RlKTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVEZWxldGVNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlID0gdGhpcy5wcm9wcy5oYW5kbGVEZWxldGU7XHJcbiAgICBoYW5kbGVEZWxldGUgJiYgaGFuZGxlRGVsZXRlKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIF9vbkxvYWREYXRhID0gKHRyZWVOb2RlOiBFdmVudERhdGFOb2RlICYgeyBwcm9wczogeyBkYXRhcmVmIH0gfSkgPT5cclxuICAgIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgICBub2RlID0gdHJlZU5vZGUucHJvcHMuZGF0YXJlZjtcclxuICAgICAgdGhpcy5zdG9yZS5sYXp5TG9hZChub2RlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmVzb2x2ZShub2RlKTtcclxuICAgICAgICBfdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICByZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMgPSB7fSBhcyBJVHJlZVBhbmVsUHJvcHMsIG5ld01lbnVEYXRhcyA9IFtdKSB7XHJcbiAgICBjb25zdCB7IHRyZWVEYXRhLCBvcGVuS2V5cywgLi4ucHJvcHMgfSA9IHRyZWVQcm9wcztcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChwcm9wcy5jaGVja1Byb3BhZ2F0aW9uKSB7XHJcbiAgICAgIHByb3BzLmNoZWNrU3RyaWN0bHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLnNob3dJY29uID09IG51bGwpIHtcclxuICAgICAgcHJvcHMuc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IGxhenlsb2FkIH0gPSB0aGlzLnN0b3JlLmNvbmZpZztcclxuICAgIGlmIChsYXp5bG9hZCkge1xyXG4gICAgICBwcm9wcy5sb2FkRGF0YSA9IHRoaXMuX29uTG9hZERhdGE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBvbkNoZWNrRm4gPSBwcm9wcy5vbkNoZWNrO1xyXG4gICAgcHJvcHMub25DaGVjayA9IGZ1bmN0aW9uIChjaGVja2VkS2V5cywgZSkge1xyXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7IGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyB9KTtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGVja0ZuLCBfdGhpcywgW2NoZWNrZWRLZXlzLCBlXSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25TZWxlY3RGbiA9IHByb3BzLm9uU2VsZWN0O1xyXG4gICAgcHJvcHMub25TZWxlY3QgPSAoc2VsZWN0ZWRLZXlzLCBub2RlSW5mbykgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvblNlbGVjdEZuLCBfdGhpcywgW3NlbGVjdGVkS2V5cywgbm9kZUluZm9dKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgc2VsZWN0Tm9kZTogbm9kZUluZm8uc2VsZWN0ZWQgPyBub2RlSW5mby5zZWxlY3RlZE5vZGVzWzBdIDogbnVsbCxcclxuICAgICAgICBzZWxlY3RlZEtleXMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3BlbktleXMpIHtcclxuICAgICAgcHJvcHMuZXhwYW5kZWRLZXlzID0gb3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWxldGUgcHJvcHMuZXhwYW5kZWRLZXlzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFNwaW4gc3Bpbm5pbmc9e3RoaXMuc3RhdGUubG9hZGluZ30+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10cmVlLWJveFwiXX0+XHJcbiAgICAgICAgICB7KF90aGlzLnByb3BzLmVkaXRhYmxlIHx8IF90aGlzLnByb3BzLnNlYXJjaGFibGUpICYmIChcclxuICAgICAgICAgICAgPFRyZWVTZWFyY2hcclxuICAgICAgICAgICAgICB0cmVlSW5zdGFuY2U9e3RoaXN9XHJcbiAgICAgICAgICAgICAgaGFuZGxlQWRkTW9kdWxlPXt0aGlzLmhhbmRsZUFkZE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVFZGl0TW9kdWxlPXt0aGlzLmhhbmRsZUVkaXRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRGVsZXRlTW9kdWxlPXt0aGlzLmhhbmRsZURlbGV0ZU1vZHVsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7QXJyYXkuaXNBcnJheShuZXdNZW51RGF0YXMpICYmIG5ld01lbnVEYXRhcy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgPFRyZWUgcmVmPXt0aGlzLm5zY1RyZWVSZWZ9IGNoZWNrYWJsZSB7Li4ucHJvcHN9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhuZXdNZW51RGF0YXMsIHByb3BzLnJlbmRlclRyZWVOb2RlKX1cclxuICAgICAgICAgICAgPC9UcmVlPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9TcGluPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlclRyZWVOb2RlcyA9IChkYXRhLCByZW5kZXJGbikgPT4ge1xyXG4gICAgY29uc3Qgbm9kZVByb3BzID0gdGhpcy5wcm9wcy5ub2RlUHJvcHMgfHwge307XHJcbiAgICBjb25zdCB7IGtleTogbm9kZUtleSwgLi4ucmVzdE5vZGVQcm9wcyB9ID0gbm9kZVByb3BzO1xyXG4gICAgY29uc3Qgbm9kZXMgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgcHJvcHMgPSB7IGRhdGFyZWY6IGl0ZW0gfSBhcyBUcmVlTm9kZVByb3BzO1xyXG4gICAgICBpdGVtLmNvbmZpZy5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gXCJrZXlcIiAmJiBub2RlS2V5KSB7XHJcbiAgICAgICAgICBwcm9wcy5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgICAgaXRlbS5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wc1tmaWVsZC5uYW1lXSA9IGl0ZW1bZmllbGQubmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wcywgcmVzdE5vZGVQcm9wcyk7XHJcbiAgICAgIGlmIChyZW5kZXJGbikge1xyXG4gICAgICAgIHByb3BzID0gdXRpbHMuY2FsbGJhY2socmVuZGVyRm4sIHRoaXMsIFtwcm9wcywgaXRlbV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaXRlbS5jaGlsZE5vZGVzKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxUcmVlTm9kZSB7Li4ucHJvcHN9IGtleT17aXRlbS5hdHRyaWJ1dGUua2V5fT5cclxuICAgICAgICAgICAge3RoaXMucmVuZGVyVHJlZU5vZGVzKGl0ZW0uY2hpbGROb2RlcywgcmVuZGVyRm4pfVxyXG4gICAgICAgICAgPC9UcmVlTm9kZT5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCB0aXRsZU5vZGUgPSBudWxsO1xyXG4gICAgICBpZiAoaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUpIHtcclxuICAgICAgICB0aXRsZU5vZGUgPSAoXHJcbiAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4+e2l0ZW0udGl0bGV9PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBcInJnYmEoMCwwLDAsLjQ1KVwiIH19XHJcbiAgICAgICAgICAgID57YO+8iCR7aXRlbS5hdHRyaWJ1dGUuc3VidGl0bGV977yJYH08L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aXRsZU5vZGUgPSA8c3Bhbj57aXRlbS50aXRsZX08L3NwYW4+O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiA8VHJlZU5vZGUgey4uLnByb3BzfSBrZXk9e2l0ZW0uYXR0cmlidXRlLmtleX0gdGl0bGU9e3RpdGxlTm9kZX0gLz47XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTnNjVHJlZTtcclxuIl19
315
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvdHJlZS9pbmRleC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJUcmVlUGFuZWwiLCJ1dGlscyIsIlN0b3JlIiwiU3RvcmVDb25maWdUeXBlIiwiVHJlZVNlYXJjaCIsInN0eWxlcyIsIlRyZWVOb2RlIiwiTnNjVHJlZSIsInByb3BzIiwiY3JlYXRlUmVmIiwibm9kZSIsImhhbmRsZUFkZCIsImhhbmRsZUVkaXQiLCJoYW5kbGVEZWxldGUiLCJ0cmVlTm9kZSIsIlByb21pc2UiLCJyZXNvbHZlIiwiX3RoaXMiLCJkYXRhcmVmIiwic3RvcmUiLCJsYXp5TG9hZCIsImZvcmNlVXBkYXRlIiwiZGF0YSIsInJlbmRlckZuIiwibm9kZVByb3BzIiwibm9kZUtleSIsImtleSIsInJlc3ROb2RlUHJvcHMiLCJub2RlcyIsIm1hcCIsIml0ZW0iLCJjb25maWciLCJmaWVsZHMiLCJmb3JFYWNoIiwiZmllbGQiLCJuYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwiY2FsbGJhY2siLCJ0aXRsZU5vZGUiLCJ0aXRsZSIsImF0dHJpYnV0ZSIsInN1YnRpdGxlIiwiY29sb3IiLCJjaGlsZE5vZGVzIiwicmVuZGVyVHJlZU5vZGVzIiwicmVuZGVyVGVtcGxhdGUiLCJiaW5kIiwibW9kZWxEYXRhIiwiY2hlY2tlZEtleXMiLCJjaGVja2VkIiwiaGFsZkNoZWNrZWQiLCJmb3JFYWNoVHJlZSIsInB1c2giLCJuc2NUcmVlUmVmIiwiY3VycmVudCIsInN0YXRlIiwia2V5RW50aXRpZXMiLCJoYWxmQ2hlY2tlZEtleXMiLCJjb25jYXQiLCJjaGVja2VkS2V5c0FsbCIsInRyZWVQcm9wcyIsIm5ld01lbnVEYXRhcyIsInRyZWVEYXRhIiwib3BlbktleXMiLCJjaGVja1Byb3BhZ2F0aW9uIiwiY2hlY2tTdHJpY3RseSIsInNob3dJY29uIiwibGF6eWxvYWQiLCJsb2FkRGF0YSIsIl9vbkxvYWREYXRhIiwib25DaGVja0ZuIiwib25DaGVjayIsImUiLCJzZXRTdGF0ZSIsIm9uU2VsZWN0Rm4iLCJvblNlbGVjdCIsInNlbGVjdGVkS2V5cyIsIm5vZGVJbmZvIiwic2VsZWN0Tm9kZSIsInNlbGVjdGVkIiwic2VsZWN0ZWROb2RlcyIsImV4cGFuZGVkS2V5cyIsImxvYWRpbmciLCJlZGl0YWJsZSIsInNlYXJjaGFibGUiLCJoYW5kbGVBZGRNb2R1bGUiLCJoYW5kbGVFZGl0TW9kdWxlIiwiaGFuZGxlRGVsZXRlTW9kdWxlIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwicmVuZGVyVHJlZU5vZGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLE1BQWtCLE9BQWxCO0FBRUEsT0FBT0MsU0FBUCxNQUdPLHFCQUhQO0FBSUEsU0FBU0MsS0FBVCxRQUFzQix1QkFBdEI7QUFHQSxTQUFTQyxLQUFULEVBQWdCQyxlQUFoQixRQUF1QyxhQUF2QztBQUNBLE9BQU9DLFVBQVAsTUFBdUIsY0FBdkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsSUFBUUMsUUFBUixTQUFRQSxRQUFSLEMsQ0FDQTs7SUFVTUMsTzs7Ozs7QUFHSixtQkFBWUMsTUFBWixFQUFtQjtBQUFBOztBQUFBOztBQUNqQiwrQkFBTUEsTUFBTjs7QUFEaUIsK0VBRk5ULEtBQUssQ0FBQ1UsU0FBTixFQUVNOztBQUFBLHVFQTBFRCxVQUFDQyxJQUFELEVBQVU7QUFDMUIsVUFBTUMsU0FBUyxHQUFHLE9BQUtILEtBQUwsQ0FBV0csU0FBN0I7QUFDQUEsTUFBQUEsU0FBUyxJQUFJQSxTQUFTLENBQUNELElBQUQsQ0FBdEI7QUFDRCxLQTdFa0I7O0FBQUEsd0VBK0VBLFVBQUNBLElBQUQsRUFBVTtBQUMzQixVQUFNRSxVQUFVLEdBQUcsT0FBS0osS0FBTCxDQUFXSSxVQUE5QjtBQUNBQSxNQUFBQSxVQUFVLElBQUlBLFVBQVUsQ0FBQ0YsSUFBRCxDQUF4QjtBQUNELEtBbEZrQjs7QUFBQSwwRUFvRkUsVUFB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QUozQixRQUZKLEVBU0dDLEtBQUssQ0FBQ0MsT0FBTixDQUFjNUIsWUFBZCxLQUErQkEsWUFBWSxDQUFDNkIsTUFBYixHQUFzQixDQUFyRCxpQkFDQztBQUFNLFFBQUEsR0FBRyxFQUFFLEtBQUtyQyxVQUFoQjtBQUE0QixRQUFBLFNBQVM7QUFBckMsU0FBMEM5QyxLQUExQyxHQUNHLEtBQUtxQyxlQUFMLENBQXFCaUIsWUFBckIsRUFBbUN0RCxLQUFLLENBQUNvRixjQUF6QyxDQURILENBVkosQ0FERixDQURGO0FBbUJEOzs7O0VBMUptQjVGLFM7O2dCQUFoQk8sTyxrQkFRaUM7QUFBRVksRUFBQUEsS0FBSyxFQUFFO0FBQVQsQzs7QUF1TXZDLGVBQWVaLE9BQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IFRyZWUsIFRyZWVQcm9wcywgU3BpbiwgVHJlZU5vZGVQcm9wcyB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBUcmVlUGFuZWwsIHtcclxuICBJVHJlZVBhbmVsUHJvcHMsXHJcbiAgVHJlZUNvbW1vblByb3BzLFxyXG59IGZyb20gXCIuLi9jb21tb24vVHJlZVBhbmVsXCI7XHJcbmltcG9ydCB7IHV0aWxzIH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgUmNUcmVlIGZyb20gXCJyYy10cmVlXCI7XHJcbmltcG9ydCB7IERhdGFOb2RlLCBFdmVudERhdGFOb2RlIH0gZnJvbSBcInJjLXRyZWUvbGliL2ludGVyZmFjZVwiO1xyXG5leHBvcnQgeyBTdG9yZSwgU3RvcmVDb25maWdUeXBlIH0gZnJvbSBcIkBiai1uc2MvbXNuXCI7XHJcbmltcG9ydCBUcmVlU2VhcmNoIGZyb20gXCIuL1RyZWVTZWFyY2hcIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmNvbnN0IHsgVHJlZU5vZGUgfSA9IFRyZWU7XHJcbi8vIGltcG9ydCBUcmVlTm9kZSBmcm9tIFwiLi9Oc2NUcmVlTm9kZVwiO1xyXG50eXBlIE5zY0RhdGFOb2RlUHJvcHMgPSBEYXRhTm9kZSAmIHsgcHJvcHM6IHsgZGF0YXJlZjogYW55IH0gfTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTnNjVHJlZVByb3BzIGV4dGVuZHMgSVRyZWVQYW5lbFByb3BzIHtcclxuICBlZGl0YWJsZT86IGJvb2xlYW47XHJcbiAgdHJlZURhdGE/OiBhbnlbXTtcclxuICBzZWFyY2hhYmxlPzogYm9vbGVhbjtcclxuICBub2RlUHJvcHM/OiBUcmVlTm9kZVByb3BzO1xyXG59XHJcblxyXG5jbGFzcyBOc2NUcmVlIGV4dGVuZHMgVHJlZVBhbmVsPE5zY1RyZWVQcm9wcyAmIFRyZWVDb21tb25Qcm9wcz4ge1xyXG4gIG5zY1RyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8UmNUcmVlICYgVHJlZVByb3BzPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgdGhpcy5yZW5kZXJUZW1wbGF0ZSA9IHRoaXMucmVuZGVyVGVtcGxhdGUuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHM6IHsgc3RvcmU6IHt9IH0gPSB7IHN0b3JlOiB7fSB9O1xyXG5cclxuICBfZGF0YVRvQ2hlY2tlZEtleXMobW9kZWxEYXRhKTogYW55IHtcclxuICAgIGxldCBjaGVja2VkS2V5cyA9IHsgY2hlY2tlZDogW10sIGhhbGZDaGVja2VkOiBbXSB9O1xyXG4gICAgdXRpbHMuZm9yRWFjaFRyZWUobW9kZWxEYXRhLCBmdW5jdGlvbiAobm9kZSkge1xyXG4gICAgICBpZiAobm9kZS5jaGVja2VkID09IHRydWUpIHtcclxuICAgICAgICBjaGVja2VkS2V5cy5jaGVja2VkLnB1c2gobm9kZS5hdHRyaWJ1dGUua2V5KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2hlY2tlZEtleXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDmoJHmkJzntKJcclxuICAgKi9cclxuICAvLyBoYW5kbGVTZWFyY2ggPSAodmFsdWUpID0+IHtcclxuICAvLyAgIHRoaXMuc2V0U3RhdGUoeyBzZWFyY2hUZXh0OiB2YWx1ZSB9KTtcclxuICAvLyB9O1xyXG5cclxuICAvKipcclxuICAgKiDojrflj5bpgInkuK3oioLngrlJROaVsOe7hFxyXG4gICAqIEByZXR1cm4gU3RyaW5nW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkS2V5cygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50O1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W6YCJ5Lit6IqC54K55a+56LGh5pWw57uEXHJcbiAgICogQHJldHVybiBub2RlW11cclxuICAgKi9cclxuICBnZXRDaGVja2VkTm9kZXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBrZXlFbnRpdGllcyB9ID0gdGhpcy5uc2NUcmVlUmVmLmN1cnJlbnQuc3RhdGU7XHJcbiAgICBsZXQgbm9kZXMgPSBbXSBhcyBOc2NEYXRhTm9kZVByb3BzW107XHJcbiAgICBjaGVja2VkS2V5cy5tYXAoKGtleSkgPT4ge1xyXG4gICAgICAvLyBub2Rlcy5wdXNoKGtleUVudGl0aWVzW2tleV0ubm9kZS5wcm9wcy5kYXRhcmVmKTtcclxuICAgICAgY29uc3Qgbm9kZSA9IGtleUVudGl0aWVzW2tleV0ubm9kZSBhcyBOc2NEYXRhTm9kZVByb3BzO1xyXG4gICAgICBub2Rlcy5wdXNoKG5vZGUucHJvcHMuZGF0YXJlZik7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIOiOt+WPluWFqOmDqOmAieS4reiKgueCuUlE77yM5YyF5ZCr5Y2K6YCJ5Lit6IqC54K5SURcclxuICAgKiBAcmV0dXJuIFN0cmluZ1tdXHJcbiAgICovXHJcbiAgZ2V0Q2hlY2tlZEFsbEtleXMoKSB7XHJcbiAgICBjb25zdCB7IGNoZWNrZWRLZXlzLCBoYWxmQ2hlY2tlZEtleXMgfSA9IHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgcmV0dXJuIGNoZWNrZWRLZXlzLmNvbmNhdChoYWxmQ2hlY2tlZEtleXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6I635Y+W5YWo6YOo6YCJ5Lit6IqC54K5Tm9kZeWvueixoe+8jOWMheWQq+WNiumAieS4reiKgueCuU5vZGXlr7nosaFcclxuICAgKiBAcmV0dXJuIG5vZGVbXVxyXG4gICAqL1xyXG4gIGdldENoZWNrZWRBbGxOb2RlcygpIHtcclxuICAgIGNvbnN0IHsgY2hlY2tlZEtleXMsIGhhbGZDaGVja2VkS2V5cywga2V5RW50aXRpZXMgfSA9XHJcbiAgICAgIHRoaXMubnNjVHJlZVJlZi5jdXJyZW50LnN0YXRlO1xyXG4gICAgbGV0IGNoZWNrZWRLZXlzQWxsID0gY2hlY2tlZEtleXMuY29uY2F0KGhhbGZDaGVja2VkS2V5cyk7XHJcbiAgICBsZXQgbm9kZXMgPSBbXTtcclxuICAgIGNoZWNrZWRLZXlzQWxsLm1hcCgoa2V5KSA9PiB7XHJcbiAgICAgIGNvbnN0IG5vZGUgPSBrZXlFbnRpdGllc1trZXldLm5vZGUgYXMgTnNjRGF0YU5vZGVQcm9wcztcclxuICAgICAgbm9kZXMucHVzaChub2RlLnByb3BzLmRhdGFyZWYpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfVxyXG5cclxuICAvLyDmt7vliqDmqKHlnZdcclxuICBoYW5kbGVBZGRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlQWRkID0gdGhpcy5wcm9wcy5oYW5kbGVBZGQ7XHJcbiAgICBoYW5kbGVBZGQgJiYgaGFuZGxlQWRkKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIGhhbmRsZUVkaXRNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRWRpdCA9IHRoaXMucHJvcHMuaGFuZGxlRWRpdDtcclxuICAgIGhhbmRsZUVkaXQgJiYgaGFuZGxlRWRpdChub2RlKTtcclxuICB9O1xyXG5cclxuICBoYW5kbGVEZWxldGVNb2R1bGUgPSAobm9kZSkgPT4ge1xyXG4gICAgY29uc3QgaGFuZGxlRGVsZXRlID0gdGhpcy5wcm9wcy5oYW5kbGVEZWxldGU7XHJcbiAgICBoYW5kbGVEZWxldGUgJiYgaGFuZGxlRGVsZXRlKG5vZGUpO1xyXG4gIH07XHJcblxyXG4gIF9vbkxvYWREYXRhID0gKHRyZWVOb2RlOiBFdmVudERhdGFOb2RlICYgeyBwcm9wczogeyBkYXRhcmVmIH0gfSkgPT5cclxuICAgIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgICBub2RlID0gdHJlZU5vZGUucHJvcHMuZGF0YXJlZjtcclxuICAgICAgdGhpcy5zdG9yZS5sYXp5TG9hZChub2RlLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmVzb2x2ZShub2RlKTtcclxuICAgICAgICBfdGhpcy5mb3JjZVVwZGF0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICByZW5kZXJUZW1wbGF0ZSh0cmVlUHJvcHMgPSB7fSBhcyBJVHJlZVBhbmVsUHJvcHMsIG5ld01lbnVEYXRhcyA9IFtdKSB7XHJcbiAgICBjb25zdCB7IHRyZWVEYXRhLCBvcGVuS2V5cywgLi4ucHJvcHMgfSA9IHRyZWVQcm9wcztcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcztcclxuICAgIGlmIChwcm9wcy5jaGVja1Byb3BhZ2F0aW9uKSB7XHJcbiAgICAgIHByb3BzLmNoZWNrU3RyaWN0bHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKHByb3BzLnNob3dJY29uID09IG51bGwpIHtcclxuICAgICAgcHJvcHMuc2hvd0ljb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB7IGxhenlsb2FkIH0gPSB0aGlzLnN0b3JlLmNvbmZpZztcclxuICAgIGlmIChsYXp5bG9hZCkge1xyXG4gICAgICBwcm9wcy5sb2FkRGF0YSA9IHRoaXMuX29uTG9hZERhdGE7XHJcbiAgICB9XHJcbiAgICBjb25zdCBvbkNoZWNrRm4gPSBwcm9wcy5vbkNoZWNrO1xyXG4gICAgcHJvcHMub25DaGVjayA9IGZ1bmN0aW9uIChjaGVja2VkS2V5cywgZSkge1xyXG4gICAgICBfdGhpcy5zZXRTdGF0ZSh7IGNoZWNrZWRLZXlzOiBjaGVja2VkS2V5cyB9KTtcclxuICAgICAgdXRpbHMuY2FsbGJhY2sob25DaGVja0ZuLCBfdGhpcywgW2NoZWNrZWRLZXlzLCBlXSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3Qgb25TZWxlY3RGbiA9IHByb3BzLm9uU2VsZWN0O1xyXG4gICAgcHJvcHMub25TZWxlY3QgPSAoc2VsZWN0ZWRLZXlzLCBub2RlSW5mbykgPT4ge1xyXG4gICAgICB1dGlscy5jYWxsYmFjayhvblNlbGVjdEZuLCBfdGhpcywgW3NlbGVjdGVkS2V5cywgbm9kZUluZm9dKTtcclxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgc2VsZWN0Tm9kZTogbm9kZUluZm8uc2VsZWN0ZWQgPyBub2RlSW5mby5zZWxlY3RlZE5vZGVzWzBdIDogbnVsbCxcclxuICAgICAgICBzZWxlY3RlZEtleXMsXHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAob3BlbktleXMpIHtcclxuICAgICAgcHJvcHMuZXhwYW5kZWRLZXlzID0gb3BlbktleXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBkZWxldGUgcHJvcHMuZXhwYW5kZWRLZXlzO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPFNwaW4gc3Bpbm5pbmc9e3RoaXMuc3RhdGUubG9hZGluZ30+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1tcIm5zYy10cmVlLWJveFwiXX0+XHJcbiAgICAgICAgICB7KF90aGlzLnByb3BzLmVkaXRhYmxlIHx8IF90aGlzLnByb3BzLnNlYXJjaGFibGUpICYmIChcclxuICAgICAgICAgICAgPFRyZWVTZWFyY2hcclxuICAgICAgICAgICAgICB0cmVlSW5zdGFuY2U9e3RoaXN9XHJcbiAgICAgICAgICAgICAgaGFuZGxlQWRkTW9kdWxlPXt0aGlzLmhhbmRsZUFkZE1vZHVsZX1cclxuICAgICAgICAgICAgICBoYW5kbGVFZGl0TW9kdWxlPXt0aGlzLmhhbmRsZUVkaXRNb2R1bGV9XHJcbiAgICAgICAgICAgICAgaGFuZGxlRGVsZXRlTW9kdWxlPXt0aGlzLmhhbmRsZURlbGV0ZU1vZHVsZX1cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7QXJyYXkuaXNBcnJheShuZXdNZW51RGF0YXMpICYmIG5ld01lbnVEYXRhcy5sZW5ndGggPiAwICYmIChcclxuICAgICAgICAgICAgPFRyZWUgcmVmPXt0aGlzLm5zY1RyZWVSZWZ9IGNoZWNrYWJsZSB7Li4ucHJvcHN9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlclRyZWVOb2RlcyhuZXdNZW51RGF0YXMsIHByb3BzLnJlbmRlclRyZWVOb2RlKX1cclxuICAgICAgICAgICAgPC9UcmVlPlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9TcGluPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHJlbmRlclRyZWVOb2RlcyA9IChkYXRhLCByZW5kZXJGbikgPT4ge1xyXG4gICAgY29uc3Qgbm9kZVByb3BzID0gdGhpcy5wcm9wcy5ub2RlUHJvcHMgfHwge307XHJcbiAgICBjb25zdCB7IGtleTogbm9kZUtleSwgLi4ucmVzdE5vZGVQcm9wcyB9ID0gbm9kZVByb3BzO1xyXG4gICAgY29uc3Qgbm9kZXMgPSBkYXRhLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgcHJvcHMgPSB7IGRhdGFyZWY6IGl0ZW0gfSBhcyBUcmVlTm9kZVByb3BzO1xyXG4gICAgICBpdGVtLmNvbmZpZy5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gXCJrZXlcIiAmJiBub2RlS2V5KSB7XHJcbiAgICAgICAgICBwcm9wcy5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgICAgaXRlbS5rZXkgPSBpdGVtW25vZGVLZXldO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wc1tmaWVsZC5uYW1lXSA9IGl0ZW1bZmllbGQubmFtZV07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgT2JqZWN0LmFzc2lnbihwcm9wcywgcmVzdE5vZGVQcm9wcyk7XHJcbiAgICAgIGlmIChyZW5kZXJGbikge1xyXG4gICAgICAgIHByb3BzID0gdXRpbHMuY2FsbGJhY2socmVuZGVyRm4sIHRoaXMsIFtwcm9wcywgaXRlbV0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgdGl0bGVOb2RlID0gbnVsbDtcclxuICAgICAgaWYgKHR5cGVvZiBpdGVtLnRpdGxlID09IFwic3RyaW5nXCIpIHtcclxuICAgICAgICBpZiAoaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUpIHtcclxuICAgICAgICAgIHRpdGxlTm9kZSA9IChcclxuICAgICAgICAgICAgPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGUgKyBcIu+8iFwiICsgaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUgKyBcIu+8iVwifT5cclxuICAgICAgICAgICAgICA8c3Bhbj57aXRlbS50aXRsZX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiBcInJnYmEoMCwwLDAsLjQ1KVwiIH19XHJcbiAgICAgICAgICAgICAgPntg77yIJHtpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZX3vvIlgfTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGl0bGVOb2RlID0gPHNwYW4gdGl0bGU9e2l0ZW0udGl0bGV9PntpdGVtLnRpdGxlfTwvc3Bhbj47XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRpdGxlTm9kZSA9IGl0ZW0udGl0bGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpdGVtLmNoaWxkTm9kZXMpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPFRyZWVOb2RlIHsuLi5wcm9wc30ga2V5PXtpdGVtLmF0dHJpYnV0ZS5rZXl9IHRpdGxlPXt0aXRsZU5vZGV9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJUcmVlTm9kZXMoaXRlbS5jaGlsZE5vZGVzLCByZW5kZXJGbil9XHJcbiAgICAgICAgICA8L1RyZWVOb2RlPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJldHVybiA8VHJlZU5vZGUgey4uLnByb3BzfSBrZXk9e2l0ZW0uYXR0cmlidXRlLmtleX0gdGl0bGU9e3RpdGxlTm9kZX0gLz47XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbm9kZXM7XHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgTnNjVHJlZTtcclxuIl19
@@ -9,6 +9,8 @@ declare class EditorForm extends PureComponent<any> {
9
9
  dictNames: any;
10
10
  };
11
11
  valid: any;
12
+ dateValueFormat: any;
13
+ dateFormat: any;
12
14
  show(value?: any, editorflag?: string): void;
13
15
  hide(hide?: boolean): void;
14
16
  hideForm(): void;
@@ -28,10 +28,13 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
28
28
 
29
29
  import React, { PureComponent } from "react";
30
30
  import Form from "../../base/form";
31
- import { getNode } from "../../utils";
31
+ import { getLess, getNode } from "../../utils";
32
32
  import message from "../../base/message";
33
33
  import Col from "../../base/grid/Col";
34
34
  import Row from "../../base/grid/Row";
35
+ import { isEmptyObj } from "@bj-nsc/functions";
36
+ import moment from "moment";
37
+ import styles from "./index.module.less";
35
38
 
36
39
  var EditorForm = /*#__PURE__*/function (_PureComponent) {
37
40
  _inherits(EditorForm, _PureComponent);
@@ -61,6 +64,10 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
61
64
 
62
65
  _defineProperty(_assertThisInitialized(_this), "valid", []);
63
66
 
67
+ _defineProperty(_assertThisInitialized(_this), "dateValueFormat", {});
68
+
69
+ _defineProperty(_assertThisInitialized(_this), "dateFormat", {});
70
+
64
71
  return _this;
65
72
  }
66
73
 
@@ -86,6 +93,18 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
86
93
  }, function () {
87
94
  var _this2$formRef$curren;
88
95
 
96
+ if (!isEmptyObj(_this2.dateFormat)) {
97
+ for (var key in _this2.dateFormat) {
98
+ var olddata = value[key];
99
+
100
+ if (Array.isArray(olddata)) {
101
+ value[key] = [moment(olddata[0], _this2.dateFormat[key]), moment(olddata[1], _this2.dateFormat[key])];
102
+ } else {
103
+ value[key] = moment(olddata, _this2.dateFormat[key]);
104
+ }
105
+ }
106
+ }
107
+
89
108
  (_this2$formRef$curren = _this2.formRef.current) === null || _this2$formRef$curren === void 0 ? void 0 : _this2$formRef$curren.showForm(value);
90
109
  });
91
110
  } else {
@@ -156,6 +175,18 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
156
175
 
157
176
  var data = _objectSpread(_objectSpread({}, formValue), dictNames);
158
177
 
178
+ if (!isEmptyObj(_this3.dateValueFormat)) {
179
+ for (var key in _this3.dateValueFormat) {
180
+ var olddata = data[key];
181
+
182
+ if (Array.isArray(olddata)) {
183
+ data[key] = [moment(olddata[0]).format(_this3.dateValueFormat[key]), moment(olddata[1]).format(_this3.dateValueFormat[key])];
184
+ } else {
185
+ data[key] = moment(olddata).format(_this3.dateValueFormat[key]);
186
+ }
187
+ }
188
+ }
189
+
159
190
  if (label == "编辑") {
160
191
  data = _objectSpread(_objectSpread({}, data), {}, {
161
192
  id: value === null || value === void 0 ? void 0 : value.id
@@ -247,6 +278,8 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
247
278
  drawerProps.footer = null;
248
279
  }
249
280
 
281
+ this.dateValueFormat = {};
282
+ this.dateFormat = {};
250
283
  return /*#__PURE__*/React.createElement(Form, {
251
284
  ref: this.formRef,
252
285
  showModel: this.props.formType,
@@ -263,9 +296,21 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
263
296
  onFormChange && onFormChange(changedValues, allValues);
264
297
  },
265
298
  changeValid: this.props.changeValid
299
+ }, /*#__PURE__*/React.createElement("div", {
300
+ className: getLess(styles, "form")
266
301
  }, /*#__PURE__*/React.createElement(Row, {
267
302
  gutter: 24
268
303
  }, formProps.map(function (item, index) {
304
+ var itemProps = item.props;
305
+
306
+ if (itemProps.valueFormat) {
307
+ _this4.dateValueFormat[item.name] = itemProps.valueFormat;
308
+ }
309
+
310
+ if (itemProps.format) {
311
+ _this4.dateFormat[item.name] = itemProps.format;
312
+ }
313
+
269
314
  var props = _objectSpread(_objectSpread({
270
315
  placeholder: "\u8BF7\u8F93\u5165".concat(item.label)
271
316
  }, item.props), {}, {
@@ -275,6 +320,9 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
275
320
  })
276
321
  });
277
322
 
323
+ delete props.valueFormat;
324
+ delete props.format;
325
+
278
326
  if (label == "查看") {
279
327
  props.disabled = true;
280
328
  }
@@ -295,7 +343,7 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
295
343
  name: item.name,
296
344
  rules: item.rules
297
345
  }, getNode(item.type, _objectSpread({}, props))));
298
- })));
346
+ }))));
299
347
  }
300
348
  }]);
301
349
 
@@ -303,4 +351,4 @@ var EditorForm = /*#__PURE__*/function (_PureComponent) {
303
351
  }(PureComponent);
304
352
 
305
353
  export default EditorForm;
306
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldE5vZGUiLCJtZXNzYWdlIiwiQ29sIiwiUm93IiwiRWRpdG9yRm9ybSIsImNyZWF0ZVJlZiIsImxvYWRpbmciLCJsYWJlbCIsImVkaXRvckZsYWciLCJ2YWx1ZSIsImRpY3ROYW1lcyIsImVkaXRvcmZsYWciLCJzZXRTdGF0ZSIsImZvcm1SZWYiLCJjdXJyZW50Iiwic2hvd0Zvcm0iLCJwcm9wcyIsImRlZmF1bHRWYWx1ZSIsImhpZGUiLCJvbkhpZGVGb3JtIiwiaGlkZUZvcm0iLCJzdWJtaXRVcmwiLCJzdWJtaXRQYXJhbXMiLCJvblN1Ym1pdCIsImNhbGxCYWNrIiwic3RhdGUiLCJmb3JtVmFsdWUiLCJnZXRGaWVsZHNWYWx1ZSIsInZhbGlkIiwidmFsaWRhdGVGaWVsZHMiLCJ0aGVuIiwiZGF0YSIsImlkIiwiRXJyb3IiLCJub1VuZGVmaW5lZCIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiY2F0Y2giLCJlcnJvckluZm8iLCJ2YWx1ZU9wdGlvbiIsInR5cGUiLCJkaWN0TmFtZSIsIm5ld05hbWVzIiwiZm9ybVByb3BzIiwibW9kYWxQcm9wcyIsInRpdGxlIiwib25PayIsImJpbmQiLCJvbkNhbmNlbCIsIm9rQnV0dG9uUHJvcHMiLCJjZW50ZXJlZCIsIndpZHRoIiwibmV3VmFsaWQiLCJkcmF3ZXJQcm9wcyIsIm9uQ2xvc2UiLCJmb290ZXIiLCJmb3JtVHlwZSIsImZsZXgiLCJjaGFuZ2VkVmFsdWVzIiwiYWxsVmFsdWVzIiwib25Gb3JtQ2hhbmdlIiwiY2hhbmdlVmFsaWQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwidmFsdWVDaGFuZ2UiLCJkaXNhYmxlZCIsInJ1bGVzIiwibGVuZ3RoIiwicHVzaCIsIm5hbWUiLCJzcGFuIl0sIm1hcHBpbmdz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QUFHLEVBQUVUO0FBQWpDLHdCQUNFLG9CQUFDLElBQUQsQ0FBTSxJQUFOO0FBQ0UsVUFBQSxLQUFLLEVBQUVELElBQUksQ0FBQ3pELEtBRGQ7QUFFRSxVQUFBLElBQUksRUFBRXlELElBQUksQ0FBQ1MsSUFGYjtBQUdFLFVBQUEsS0FBSyxFQUFFVCxJQUFJLENBQUNNO0FBSGQsV0FLR3RFLE9BQU8sQ0FBQ2dFLElBQUksQ0FBQ3ZCLElBQU4sb0JBQ0h6QixLQURHLEVBTFYsQ0FERixDQURGO0FBYUQsT0FoQ0EsQ0FESCxDQWJGLENBREY7QUFtREQ7Ozs7RUExTHNCbEIsYTs7QUE2THpCLGVBQWVNLFVBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHVyZUNvbXBvbmVudCB9IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgRm9ybSBmcm9tIFwiLi4vLi4vYmFzZS9mb3JtXCI7XHJcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgQ29sIGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvQ29sXCI7XHJcbmltcG9ydCBSb3cgZnJvbSBcIi4uLy4uL2Jhc2UvZ3JpZC9Sb3dcIjtcclxuaW1wb3J0IHsgQ2xvc2VPdXRsaW5lZCB9IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5jbGFzcyBFZGl0b3JGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxhbnk+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGxvYWRpbmc6IGZhbHNlLFxyXG4gICAgbGFiZWw6IFwiXCIsXHJcbiAgICBlZGl0b3JGbGFnOiB0cnVlLFxyXG4gICAgdmFsdWU6IHt9IGFzIGFueSxcclxuICAgIGRpY3ROYW1lczoge30gYXMgYW55LFxyXG4gIH07XHJcbiAgdmFsaWQ6IGFueSA9IFtdO1xyXG4gIC8v6KGo5Y2V5pi+56S6XHJcbiAgc2hvdyh2YWx1ZT86IGFueSwgZWRpdG9yZmxhZyA9IFwiYWRkXCIpIHtcclxuICAgIGxldCBsYWJlbCA9IFwi5paw5aKeXCI7XHJcbiAgICBpZiAodmFsdWUgJiYgZWRpdG9yZmxhZyA9PSBcImVkaXRvclwiKSB7XHJcbiAgICAgIGxhYmVsID0gXCLnvJbovpFcIjtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgZWRpdG9yZmxhZyA9PSBcImRldGFpbFwiKSB7XHJcbiAgICAgIGxhYmVsID0gXCLmn6XnnItcIjtcclxuICAgIH1cclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zaG93Rm9ybSh2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2hvd0Zvcm0odGhpcy5wcm9wcy5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgaGlkZShoaWRlID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgeyBvbkhpZGVGb3JtIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKG9uSGlkZUZvcm0pIHtcclxuICAgICAgb25IaWRlRm9ybSAmJiBvbkhpZGVGb3JtKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgIGhpZGUgJiYgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgb25TdWJtaXQsXHJcbiAgICAgIGNhbGxCYWNrLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGxhYmVsLCB2YWx1ZSwgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgdmFsaWQgPSB0aGlzLnZhbGlkO1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnRcclxuICAgICAgPy52YWxpZGF0ZUZpZWxkcyh2YWxpZClcclxuICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiB0cnVlIH0pO1xyXG4gICAgICAgIGxldCBkYXRhID0geyAuLi5mb3JtVmFsdWUsIC4uLmRpY3ROYW1lcyB9O1xyXG4gICAgICAgIGlmIChsYWJlbCA9PSBcIue8lui+kVwiKSB7XHJcbiAgICAgICAgICBkYXRhID0geyAuLi5kYXRhLCBpZDogdmFsdWU/LmlkIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvblN1Ym1pdCkge1xyXG4gICAgICAgICAgb25TdWJtaXQgJiYgb25TdWJtaXQoZGF0YSwgbGFiZWwpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXN1Ym1pdFVybCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8ub25TdWJtaXQoXHJcbiAgICAgICAgICBzdWJtaXRVcmwsXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSB9LFxyXG4gICAgICAgICAgICBub1VuZGVmaW5lZDogbGFiZWwgPT0gXCLnvJbovpFcIixcclxuICAgICAgICAgICAgc3VibWl0UGFyYW1zLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGxhYmVsICsgXCLmiJDlip9cIik7XHJcbiAgICAgICAgICAgICAgdGhpcy5oaWRlKHRydWUpO1xyXG4gICAgICAgICAgICAgIGNhbGxCYWNrICYmIGNhbGxCYWNrKCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZShmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlcnJvckluZm86IGFueSkgPT4ge30pO1xyXG4gIH1cclxuICB2YWx1ZUNoYW5nZSh7IHR5cGUsIGRpY3ROYW1lIH0sIHZhbHVlLCB2YWx1ZU9wdGlvbikge1xyXG4gICAgaWYgKHZhbHVlT3B0aW9uKSB7XHJcbiAgICAgIGlmIChkaWN0TmFtZSkge1xyXG4gICAgICAgIGNvbnN0IHsgZGljdE5hbWVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgIGNvbnN0IG5ld05hbWVzID0geyAuLi5kaWN0TmFtZXMgfSBhcyBhbnk7XHJcbiAgICAgICAgbmV3TmFtZXNbZGljdE5hbWVdID0gdmFsdWVPcHRpb24ubGFiZWw7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBkaWN0TmFtZXM6IG5ld05hbWVzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZvcm1Qcm9wcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgeyBsb2FkaW5nLCBsYWJlbCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGxldCBtb2RhbFByb3BzID0ge1xyXG4gICAgICB0aXRsZTogbGFiZWwsXHJcbiAgICAgIG9uT2s6IHRoaXMub25TdWJtaXQuYmluZCh0aGlzKSxcclxuICAgICAgb25DYW5jZWw6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICBva0J1dHRvblByb3BzOiB7IGxvYWRpbmc6IGxvYWRpbmcgfSxcclxuICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgIHdpZHRoOiBcIjUwdndcIixcclxuICAgIH0gYXMgYW55O1xyXG5cclxuICAgIGNvbnN0IG5ld1ZhbGlkOiBhbnlbXSA9IFtdO1xyXG4gICAgbGV0IGRyYXdlclByb3BzID0ge1xyXG4gICAgICB0aXRsZTogbGFiZWwsXHJcbiAgICAgIG9uT2s6IHRoaXMub25TdWJtaXQuYmluZCh0aGlzKSxcclxuICAgICAgb25DbG9zZTogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgIHdpZHRoOiBcIjUwdndcIixcclxuICAgIH0gYXMgYW55O1xyXG4gICAgaWYgKGxhYmVsID09IFwi5p+l55yLXCIpIHtcclxuICAgICAgbW9kYWxQcm9wcy5mb290ZXIgPSBudWxsO1xyXG4gICAgICBkcmF3ZXJQcm9wcy5mb290ZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPEZvcm1cclxuICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICBzaG93TW9kZWw9e3RoaXMucHJvcHMuZm9ybVR5cGV9XHJcbiAgICAgICAgbW9kYWxQcm9wcz17eyAuLi5tb2RhbFByb3BzIH19XHJcbiAgICAgICAgZHJhd2VyUHJvcHM9e3sgLi4uZHJhd2VyUHJvcHMgfX1cclxuICAgICAgICBsYWJlbENvbD17eyBmbGV4OiBcIjEwMHB4XCIgfX1cclxuICAgICAgICB3cmFwcGVyQ29sPXt7IGZsZXg6IFwiMTV2d1wiIH19XHJcbiAgICAgICAgb25WYWx1ZXNDaGFuZ2U9eyhjaGFuZ2VkVmFsdWVzLCBhbGxWYWx1ZXMpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHsgb25Gb3JtQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgICAgb25Gb3JtQ2hhbmdlICYmIG9uRm9ybUNoYW5nZShjaGFuZ2VkVmFsdWVzLCBhbGxWYWx1ZXMpO1xyXG4gICAgICAgIH19XHJcbiAgICAgICAgY2hhbmdlVmFsaWQ9e3RoaXMucHJvcHMuY2hhbmdlVmFsaWR9XHJcbiAgICAgID5cclxuICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAge2Zvcm1Qcm9wcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICBsZXQgcHJvcHMgPSB7XHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLnZhbHVlQ2hhbmdlLmJpbmQodGhpcywge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgICAgICAgZGljdE5hbWU6IGl0ZW0uZGljdE5hbWUsXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgICAgICAgICAgcHJvcHMuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoaXRlbS5ydWxlcyAmJiBpdGVtLnJ1bGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICBuZXdWYWxpZC5wdXNoKGl0ZW0ubmFtZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGluZGV4ICsgMSA9PT0gZm9ybVByb3BzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIHRoaXMudmFsaWQgPSBuZXdWYWxpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDxDb2wgc3Bhbj17aXRlbS5zcGFuIHx8IDEyfSBrZXk9e2luZGV4fT5cclxuICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XHJcbiAgICAgICAgICAgICAgICAgIG5hbWU9e2l0ZW0ubmFtZX1cclxuICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtnZXROb2RlKGl0ZW0udHlwZSwge1xyXG4gICAgICAgICAgICAgICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICB9KX1cclxuICAgICAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxyXG4gICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSl9XHJcbiAgICAgICAgPC9Sb3c+XHJcbiAgICAgIDwvRm9ybT5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBFZGl0b3JGb3JtO1xyXG4iXX0=
354
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvRm9ybS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiRm9ybSIsImdldExlc3MiLCJnZXROb2RlIiwibWVzc2FnZSIsIkNvbCIsIlJvdyIsImlzRW1wdHlPYmoiLCJtb21lbnQiLCJzdHlsZXMiLCJFZGl0b3JGb3JtIiwiY3JlYXRlUmVmIiwibG9hZGluZyIsImxhYmVsIiwiZWRpdG9yRmxhZyIsInZhbHVlIiwiZGljdE5hbWVzIiwiZWRpdG9yZmxhZyIsInNldFN0YXRlIiwiZGF0ZUZvcm1hdCIsImtleSIsIm9sZGRhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JtUmVmIiwiY3VycmVudCIsInNob3dGb3JtIiwicHJvcHMiLCJkZWZhdWx0VmFsdWUiLCJoaWRlIiwib25IaWRlRm9ybSIsImhpZGVGb3JtIiwic3VibWl0VXJsIiwic3VibWl0UGFyYW1zIiwib25TdWJtaXQiLCJjYWxsQmFjayIsInN0YXRlIiwiZm9ybVZhbHVlIiwiZ2V0RmllbGRzVmFsdWUiLCJ2YWxpZCIsInZhbGlkYXRlRmllbGRzIiwidGhlbiIsImRhdGEiLCJkYXRlVmFsdWVGb3JtYXQiLCJmb3JtYXQiLCJpZCIsIkVycm9yIiwibm9VbmRlZmluZWQiLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImNhdGNoIiwiZXJyb3JJbmZvIiwidmFsdWVPcHRpb24iLCJ0eXBlIiwiZGljdE5hbWUiLCJuZXdOYW1lcyIsImZvcm1Qcm9wcyIsIm1vZGFsUHJvcHMiLCJ0aXRsZSIsIm9uT2siLCJiaW5kIiwib25DYW5jZWwiLCJva0J1dHRvblByb3BzIiwiY2VudGVyZWQiLCJ3aWR0aCIsIm5ld1ZhbGlkIiwiZHJhd2VyUHJvcHMiLCJvbkNsb3NlIiwiZm9vdGVyIiwiZm9ybVR5cGUiLCJmbGV4IiwiY2hhbmdlZFZhbHVlcyIsImFsbFZhbHVlcyIsIm9uRm9ybUNoYW5nZSIsImNoYW5nZVZhbGlkIiwibWFwIiwiaXRlbSIsImluZGV4IiwiaXRlbVByb3BzIiwidmFsdWVGb3JtYXQiLCJuYW1lIiwicGxhY2Vob2xkZXIiLCJvbkNoYW5nZSIsInZhbHVlQ2hhbmdlIiwiZGlzYWJsZWQiLCJydWxlcyIsImxlbmd0aCIsInB1c2giLCJzcGFuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxJQUFQLE1BQWlCLGlCQUFqQjtBQUNBLFNBQVNDLE9BQVQsRUFBa0JDLE9BQWxCLFFBQWlDLGFBQWpDO0FBQ0EsT0FBT0MsT0FBUCxNQUFvQixvQkFBcEI7QUFDQSxPQUFPQyxHQUFQLE1BQWdCLHFCQUFoQjtBQUNBLE9BQU9DLEdBQVAsTUFBZ0IscUJBQWhCO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixtQkFBM0I7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFFBQW5CO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixxQkFBbkI7O0lBQ01DLFU7Ozs7Ozs7Ozs7Ozs7Ozs7MkVBQ01YLEtBQUssQ0FBQ1ksU0FBTixFOzs0REFDRjtBQUNOQyxNQUFBQSxPQUFPLEVBQUUsS0FESDtBQUVOQyxNQUFBQSxLQUFLLEVBQUUsRUFGRDtBQUdOQyxNQUFBQSxVQUFVLEVBQUUsSUFITjtBQUlOQyxNQUFBQSxLQUFLLEVBQUUsRUFKRDtBQUtOQyxNQUFBQSxTQUFTLEVBQUU7QUFMTCxLOzs0REFPSyxFOztzRUFDSyxFOztpRUFDTCxFOzs7Ozs7O1dBQ2I7QUFDQSxrQkFBS0QsS0FBTCxFQUFzQztBQUFBOztBQUFBLFVBQXBCRSxVQUFvQix1RUFBUCxLQUFPO0FBQ3BDLFVBQUlKLEtBQUssR0FBRyxJQUFaOztBQUNBLFVBQUlFLEtBQUssSUFBSUUsVUFBVSxJQUFJLFFBQTNCLEVBQXFDO0FBQ25DSixRQUFBQSxLQUFLLEdBQUcsSUFBUjtBQUNELE9BRkQsTUFFTyxJQUFJRSxLQUFLLElBQUlFLFVBQVUsSUFBSSxRQUEzQixFQUFxQztB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Q0Usb0JBQUMsR0FBRDtBQUFLLFVBQUEsSUFBSSxFQUFFVyxJQUFJLENBQUNZLElBQUwsSUFBYSxFQUF4QjtBQUE0QixVQUFBLEdBQUcsRUFBRVg7QUFBakMsd0JBQ0Usb0JBQUMsSUFBRCxDQUFNLElBQU47QUFDRSxVQUFBLEtBQUssRUFBRUQsSUFBSSxDQUFDaEUsS0FEZDtBQUVFLFVBQUEsSUFBSSxFQUFFZ0UsSUFBSSxDQUFDSSxJQUZiO0FBR0UsVUFBQSxLQUFLLEVBQUVKLElBQUksQ0FBQ1M7QUFIZCxXQUtHbkYsT0FBTyxDQUFDMEUsSUFBSSxDQUFDdkIsSUFBTixvQkFDSDNCLEtBREcsRUFMVixDQURGLENBREY7QUFhRCxPQTFDQSxDQURILENBREYsQ0FkRixDQURGO0FBZ0VEOzs7O0VBdk9zQjNCLGE7O0FBME96QixlQUFlVSxVQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybVwiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCBtZXNzYWdlIGZyb20gXCIuLi8uLi9iYXNlL21lc3NhZ2VcIjtcclxuaW1wb3J0IENvbCBmcm9tIFwiLi4vLi4vYmFzZS9ncmlkL0NvbFwiO1xyXG5pbXBvcnQgUm93IGZyb20gXCIuLi8uLi9iYXNlL2dyaWQvUm93XCI7XHJcbmltcG9ydCB7IGlzRW1wdHlPYmogfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubW9kdWxlLmxlc3NcIjtcclxuY2xhc3MgRWRpdG9yRm9ybSBleHRlbmRzIFB1cmVDb21wb25lbnQ8YW55PiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBsb2FkaW5nOiBmYWxzZSxcclxuICAgIGxhYmVsOiBcIlwiLFxyXG4gICAgZWRpdG9yRmxhZzogdHJ1ZSxcclxuICAgIHZhbHVlOiB7fSBhcyBhbnksXHJcbiAgICBkaWN0TmFtZXM6IHt9IGFzIGFueSxcclxuICB9O1xyXG4gIHZhbGlkOiBhbnkgPSBbXTtcclxuICBkYXRlVmFsdWVGb3JtYXQgPSB7fSBhcyBhbnk7XHJcbiAgZGF0ZUZvcm1hdCA9IHt9IGFzIGFueTtcclxuICAvL+ihqOWNleaYvuekulxyXG4gIHNob3codmFsdWU/OiBhbnksIGVkaXRvcmZsYWcgPSBcImFkZFwiKSB7XHJcbiAgICBsZXQgbGFiZWwgPSBcIuaWsOWinlwiO1xyXG4gICAgaWYgKHZhbHVlICYmIGVkaXRvcmZsYWcgPT0gXCJlZGl0b3JcIikge1xyXG4gICAgICBsYWJlbCA9IFwi57yW6L6RXCI7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGVkaXRvcmZsYWcgPT0gXCJkZXRhaWxcIikge1xyXG4gICAgICBsYWJlbCA9IFwi5p+l55yLXCI7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogbGFiZWwsXHJcbiAgICAgICAgICB2YWx1ZTogdmFsdWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIWlzRW1wdHlPYmoodGhpcy5kYXRlRm9ybWF0KSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5kYXRlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgbGV0IG9sZGRhdGEgPSB2YWx1ZVtrZXldO1xyXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9sZGRhdGEpKSB7XHJcbiAgICAgICAgICAgICAgICB2YWx1ZVtrZXldID0gW1xyXG4gICAgICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVswXSwgdGhpcy5kYXRlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVsxXSwgdGhpcy5kYXRlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdmFsdWVba2V5XSA9IG1vbWVudChvbGRkYXRhLCB0aGlzLmRhdGVGb3JtYXRba2V5XSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNob3dGb3JtKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGxhYmVsOiBsYWJlbCxcclxuICAgICAgICB9LFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zaG93Rm9ybSh0aGlzLnByb3BzLmRlZmF1bHRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICBoaWRlKGhpZGUgPSB0cnVlKSB7XHJcbiAgICBjb25zdCB7IG9uSGlkZUZvcm0gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAob25IaWRlRm9ybSkge1xyXG4gICAgICBvbkhpZGVGb3JtICYmIG9uSGlkZUZvcm0oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IGZhbHNlIH0pO1xyXG4gICAgaGlkZSAmJiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcbiAgaGlkZUZvcm0oKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKHsgbG9hZGluZzogZmFsc2UgfSk7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcbiAgb25TdWJtaXQoKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN1Ym1pdFVybCA9IFwiXCIsXHJcbiAgICAgIHN1Ym1pdFBhcmFtcyA9IHt9LFxyXG4gICAgICBvblN1Ym1pdCxcclxuICAgICAgY2FsbEJhY2ssXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbGFiZWwsIHZhbHVlLCBkaWN0TmFtZXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCB2YWxpZCA9IHRoaXMudmFsaWQ7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudFxyXG4gICAgICA/LnZhbGlkYXRlRmllbGRzKHZhbGlkKVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGxvYWRpbmc6IHRydWUgfSk7XHJcbiAgICAgICAgbGV0IGRhdGEgPSB7IC4uLmZvcm1WYWx1ZSwgLi4uZGljdE5hbWVzIH07XHJcbiAgICAgICAgaWYgKCFpc0VtcHR5T2JqKHRoaXMuZGF0ZVZhbHVlRm9ybWF0KSkge1xyXG4gICAgICAgICAgZm9yIChsZXQga2V5IGluIHRoaXMuZGF0ZVZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgIGxldCBvbGRkYXRhID0gZGF0YVtrZXldO1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvbGRkYXRhKSkge1xyXG4gICAgICAgICAgICAgIGRhdGFba2V5XSA9IFtcclxuICAgICAgICAgICAgICAgIG1vbWVudChvbGRkYXRhWzBdKS5mb3JtYXQodGhpcy5kYXRlVmFsdWVGb3JtYXRba2V5XSksXHJcbiAgICAgICAgICAgICAgICBtb21lbnQob2xkZGF0YVsxXSkuZm9ybWF0KHRoaXMuZGF0ZVZhbHVlRm9ybWF0W2tleV0pLFxyXG4gICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZGF0YVtrZXldID0gbW9tZW50KG9sZGRhdGEpLmZvcm1hdCh0aGlzLmRhdGVWYWx1ZUZvcm1hdFtrZXldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAobGFiZWwgPT0gXCLnvJbovpFcIikge1xyXG4gICAgICAgICAgZGF0YSA9IHsgLi4uZGF0YSwgaWQ6IHZhbHVlPy5pZCB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAob25TdWJtaXQpIHtcclxuICAgICAgICAgIG9uU3VibWl0ICYmIG9uU3VibWl0KGRhdGEsIGxhYmVsKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCFzdWJtaXRVcmwpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInVybOS4jeiDveS4uuepuu+8gVwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/Lm9uU3VibWl0KFxyXG4gICAgICAgICAgc3VibWl0VXJsLFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkYXRhOiB7IC4uLmRhdGEgfSxcclxuICAgICAgICAgICAgbm9VbmRlZmluZWQ6IGxhYmVsID09IFwi57yW6L6RXCIsXHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBsb2FkaW5nOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhsYWJlbCArIFwi5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaGlkZSh0cnVlKTtcclxuICAgICAgICAgICAgICBjYWxsQmFjayAmJiBjYWxsQmFjaygpO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhpZGUoZmFsc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaCgoZXJyb3JJbmZvOiBhbnkpID0+IHt9KTtcclxuICB9XHJcbiAgdmFsdWVDaGFuZ2UoeyB0eXBlLCBkaWN0TmFtZSB9LCB2YWx1ZSwgdmFsdWVPcHRpb24pIHtcclxuICAgIGlmICh2YWx1ZU9wdGlvbikge1xyXG4gICAgICBpZiAoZGljdE5hbWUpIHtcclxuICAgICAgICBjb25zdCB7IGRpY3ROYW1lcyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICBjb25zdCBuZXdOYW1lcyA9IHsgLi4uZGljdE5hbWVzIH0gYXMgYW55O1xyXG4gICAgICAgIG5ld05hbWVzW2RpY3ROYW1lXSA9IHZhbHVlT3B0aW9uLmxhYmVsO1xyXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgZGljdE5hbWVzOiBuZXdOYW1lcyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmb3JtUHJvcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgbG9hZGluZywgbGFiZWwgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbW9kYWxQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgb2tCdXR0b25Qcm9wczogeyBsb2FkaW5nOiBsb2FkaW5nIH0sXHJcbiAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuXHJcbiAgICBjb25zdCBuZXdWYWxpZDogYW55W10gPSBbXTtcclxuICAgIGxldCBkcmF3ZXJQcm9wcyA9IHtcclxuICAgICAgdGl0bGU6IGxhYmVsLFxyXG4gICAgICBvbk9rOiB0aGlzLm9uU3VibWl0LmJpbmQodGhpcyksXHJcbiAgICAgIG9uQ2xvc2U6IHRoaXMuaGlkZS5iaW5kKHRoaXMpLFxyXG4gICAgICB3aWR0aDogXCI1MHZ3XCIsXHJcbiAgICB9IGFzIGFueTtcclxuICAgIGlmIChsYWJlbCA9PSBcIuafpeeci1wiKSB7XHJcbiAgICAgIG1vZGFsUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgICAgZHJhd2VyUHJvcHMuZm9vdGVyID0gbnVsbDtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZVZhbHVlRm9ybWF0ID0ge307XHJcbiAgICB0aGlzLmRhdGVGb3JtYXQgPSB7fTtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8Rm9ybVxyXG4gICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgIHNob3dNb2RlbD17dGhpcy5wcm9wcy5mb3JtVHlwZX1cclxuICAgICAgICBtb2RhbFByb3BzPXt7IC4uLm1vZGFsUHJvcHMgfX1cclxuICAgICAgICBkcmF3ZXJQcm9wcz17eyAuLi5kcmF3ZXJQcm9wcyB9fVxyXG4gICAgICAgIGxhYmVsQ29sPXt7IGZsZXg6IFwiMTAwcHhcIiB9fVxyXG4gICAgICAgIHdyYXBwZXJDb2w9e3sgZmxleDogXCIxNXZ3XCIgfX1cclxuICAgICAgICBvblZhbHVlc0NoYW5nZT17KGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcykgPT4ge1xyXG4gICAgICAgICAgY29uc3QgeyBvbkZvcm1DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgICBvbkZvcm1DaGFuZ2UgJiYgb25Gb3JtQ2hhbmdlKGNoYW5nZWRWYWx1ZXMsIGFsbFZhbHVlcyk7XHJcbiAgICAgICAgfX1cclxuICAgICAgICBjaGFuZ2VWYWxpZD17dGhpcy5wcm9wcy5jaGFuZ2VWYWxpZH1cclxuICAgICAgPlxyXG4gICAgICAgIHsvKiA8ZGl2PiAqL31cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9ybVwiKX0+XHJcbiAgICAgICAgICA8Um93IGd1dHRlcj17MjR9PlxyXG4gICAgICAgICAgICB7Zm9ybVByb3BzLm1hcCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaXRlbVByb3BzID0gaXRlbS5wcm9wcztcclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLnZhbHVlRm9ybWF0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZUZvcm1hdFtpdGVtLm5hbWVdID0gaXRlbVByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaXRlbVByb3BzLmZvcm1hdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0W2l0ZW0ubmFtZV0gPSBpdGVtUHJvcHMuZm9ybWF0O1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgbGV0IHByb3BzID0ge1xyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IGDor7fovpPlhaUke2l0ZW0ubGFiZWx9YCxcclxuICAgICAgICAgICAgICAgIC4uLml0ZW0ucHJvcHMsXHJcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogdGhpcy52YWx1ZUNoYW5nZS5iaW5kKHRoaXMsIHtcclxuICAgICAgICAgICAgICAgICAgdHlwZTogaXRlbS50eXBlLFxyXG4gICAgICAgICAgICAgICAgICBkaWN0TmFtZTogaXRlbS5kaWN0TmFtZSxcclxuICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgZGVsZXRlIHByb3BzLnZhbHVlRm9ybWF0O1xyXG4gICAgICAgICAgICAgIGRlbGV0ZSBwcm9wcy5mb3JtYXQ7XHJcbiAgICAgICAgICAgICAgaWYgKGxhYmVsID09IFwi5p+l55yLXCIpIHtcclxuICAgICAgICAgICAgICAgIHByb3BzLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGlmIChpdGVtLnJ1bGVzICYmIGl0ZW0ucnVsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgbmV3VmFsaWQucHVzaChpdGVtLm5hbWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBpZiAoaW5kZXggKyAxID09PSBmb3JtUHJvcHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkID0gbmV3VmFsaWQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICA8Q29sIHNwYW49e2l0ZW0uc3BhbiB8fCAxMn0ga2V5PXtpbmRleH0+XHJcbiAgICAgICAgICAgICAgICAgIDxGb3JtLkl0ZW1cclxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cclxuICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgcnVsZXM9e2l0ZW0ucnVsZXN9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC4uLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICA8L0Zvcm0uSXRlbT5cclxuICAgICAgICAgICAgICAgIDwvQ29sPlxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgPC9Sb3c+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvRm9ybT5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBFZGl0b3JGb3JtO1xyXG4iXX0=
@@ -65,6 +65,7 @@ declare class BasePage extends PureComponent<NSCBaseBageProps, any> {
65
65
  getSearchValues(): any;
66
66
  rowSelectionOnSelect(record: any, selected: any): void;
67
67
  rowSelectionOnSelectAll(selected: any, selectedRows: any, changeRows: any): void;
68
+ renderToolButtons(toolbuttons: any): JSX.Element;
68
69
  renderCloumnButton(columnButtons: any, record: any): JSX.Element[];
69
70
  treeSelect(selectedKeys: any, { selected, selectedNodes }: any): void;
70
71
  resetSearch(): void;
@@ -1,10 +1,11 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
2
2
 
3
- var _excluded = ["children", "pageType", "onClick", "icon", "recordShow"],
4
- _excluded2 = ["children", "pageType", "onClick", "icon", "show"],
5
- _excluded3 = ["children", "pageType", "onClick", "icon"],
6
- _excluded4 = ["store", "filterColumn", "actionColumn", "showRowSelection", "columnOrder"],
7
- _excluded5 = ["store", "showSearch", "titleAlias"];
3
+ var _excluded = ["children", "pageType", "onClick", "icon", "show"],
4
+ _excluded2 = ["children", "pageType", "onClick", "icon", "recordShow"],
5
+ _excluded3 = ["children", "pageType", "onClick", "icon", "show"],
6
+ _excluded4 = ["children", "pageType", "onClick", "icon"],
7
+ _excluded5 = ["store", "filterColumn", "actionColumn", "showRowSelection", "columnOrder"],
8
+ _excluded6 = ["store", "showSearch", "titleAlias"];
8
9
 
9
10
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10
11
 
@@ -360,6 +361,64 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
360
361
  selectedRowDatas: _toConsumableArray(newdatas)
361
362
  });
362
363
  }
364
+ }, {
365
+ key: "renderToolButtons",
366
+ value: function renderToolButtons(toolbuttons) {
367
+ var flag = toolbuttons.length > 5;
368
+ var content = toolbuttons.map(function (item, index) {
369
+ var _item$props = item.props,
370
+ children = _item$props.children,
371
+ pageType = _item$props.pageType,
372
+ _onClick = _item$props.onClick,
373
+ icon = _item$props.icon,
374
+ show = _item$props.show,
375
+ params = _objectWithoutProperties(_item$props, _excluded);
376
+
377
+ if (index > 4) {
378
+ return /*#__PURE__*/React.createElement("div", _extends({
379
+ className: cls(getLess(styles, "editor"), getLess(styles, "content-item")),
380
+ key: index,
381
+ onClick: function onClick() {
382
+ _onClick && _onClick();
383
+ }
384
+ }, params), /*#__PURE__*/React.createElement("span", {
385
+ className: getLess(styles, "icon")
386
+ }, icon), /*#__PURE__*/React.createElement("span", {
387
+ className: getLess(styles, "text")
388
+ }, children));
389
+ }
390
+ });
391
+ return /*#__PURE__*/React.createElement("div", {
392
+ className: getLess(styles, "tool-buttons"),
393
+ style: {
394
+ marginLeft: 0
395
+ }
396
+ }, toolbuttons.map(function (item, index) {
397
+ if (flag) {
398
+ if (index < 4) {
399
+ return /*#__PURE__*/React.createElement("div", {
400
+ key: index
401
+ }, item);
402
+ } else if (index == 4) {
403
+ return /*#__PURE__*/React.createElement(Popover, {
404
+ content: content,
405
+ title: null,
406
+ placement: "bottom",
407
+ trigger: ["click"] // overlayClassName={styles["pop-box"]}▲
408
+
409
+ }, /*#__PURE__*/React.createElement(Button, {
410
+ type: "primary"
411
+ }, "\u66F4\u591A ", /*#__PURE__*/React.createElement(DownOutlined, null)));
412
+ } else {
413
+ return null;
414
+ }
415
+ } else {
416
+ return /*#__PURE__*/React.createElement("div", {
417
+ key: index
418
+ }, item);
419
+ }
420
+ }));
421
+ }
363
422
  }, {
364
423
  key: "renderCloumnButton",
365
424
  value: function renderCloumnButton(columnButtons, record) {
@@ -370,13 +429,13 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
370
429
  buttons = _this$props2$buttons === void 0 ? [] : _this$props2$buttons;
371
430
  var newButtons = [];
372
431
  columnButtons.map(function (item, index) {
373
- var _item$props = item.props,
374
- children = _item$props.children,
375
- pageType = _item$props.pageType,
376
- onClick = _item$props.onClick,
377
- icon = _item$props.icon,
378
- recordShow = _item$props.recordShow,
379
- params = _objectWithoutProperties(_item$props, _excluded);
432
+ var _item$props2 = item.props,
433
+ children = _item$props2.children,
434
+ pageType = _item$props2.pageType,
435
+ onClick = _item$props2.onClick,
436
+ icon = _item$props2.icon,
437
+ recordShow = _item$props2.recordShow,
438
+ params = _objectWithoutProperties(_item$props2, _excluded2);
380
439
 
381
440
  if (recordShow) {
382
441
  if (eval(recordShow)) {
@@ -388,20 +447,20 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
388
447
  });
389
448
  var flag = newButtons.length > 3;
390
449
  var content = newButtons.map(function (item, index) {
391
- var _item$props2 = item.props,
392
- children = _item$props2.children,
393
- pageType = _item$props2.pageType,
394
- _onClick = _item$props2.onClick,
395
- icon = _item$props2.icon,
396
- show = _item$props2.show,
397
- params = _objectWithoutProperties(_item$props2, _excluded2);
450
+ var _item$props3 = item.props,
451
+ children = _item$props3.children,
452
+ pageType = _item$props3.pageType,
453
+ _onClick2 = _item$props3.onClick,
454
+ icon = _item$props3.icon,
455
+ show = _item$props3.show,
456
+ params = _objectWithoutProperties(_item$props3, _excluded3);
398
457
 
399
458
  if (index > 1) {
400
459
  return /*#__PURE__*/React.createElement("div", _extends({
401
460
  className: cls(getLess(styles, "editor"), getLess(styles, "content-item")),
402
461
  key: index,
403
462
  onClick: function onClick() {
404
- _onClick && _onClick(record);
463
+ _onClick2 && _onClick2(record);
405
464
  }
406
465
  }, params), /*#__PURE__*/React.createElement("span", {
407
466
  className: getLess(styles, "icon")
@@ -411,12 +470,12 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
411
470
  }
412
471
  });
413
472
  return newButtons.map(function (item, index) {
414
- var _item$props3 = item.props,
415
- children = _item$props3.children,
416
- pageType = _item$props3.pageType,
417
- _onClick2 = _item$props3.onClick,
418
- icon = _item$props3.icon,
419
- params = _objectWithoutProperties(_item$props3, _excluded3);
473
+ var _item$props4 = item.props,
474
+ children = _item$props4.children,
475
+ pageType = _item$props4.pageType,
476
+ _onClick3 = _item$props4.onClick,
477
+ icon = _item$props4.icon,
478
+ params = _objectWithoutProperties(_item$props4, _excluded4);
420
479
 
421
480
  if (flag) {
422
481
  if (index < 2) {
@@ -424,7 +483,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
424
483
  className: getLess(styles, "editor"),
425
484
  key: index,
426
485
  onClick: function onClick() {
427
- _onClick2 && _onClick2(record);
486
+ _onClick3 && _onClick3(record);
428
487
  }
429
488
  }, params), /*#__PURE__*/React.createElement("span", {
430
489
  className: getLess(styles, "icon")
@@ -452,7 +511,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
452
511
  className: getLess(styles, "editor"),
453
512
  key: index,
454
513
  onClick: function onClick() {
455
- _onClick2 && _onClick2(record);
514
+ _onClick3 && _onClick3(record);
456
515
  }
457
516
  }, params), /*#__PURE__*/React.createElement("span", {
458
517
  className: getLess(styles, "icon")
@@ -568,7 +627,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
568
627
  showRowSelection = _tableProps$showRowSe === void 0 ? true : _tableProps$showRowSe,
569
628
  _tableProps$columnOrd = tableProps.columnOrder,
570
629
  columnOrder = _tableProps$columnOrd === void 0 ? true : _tableProps$columnOrd,
571
- othertableParams = _objectWithoutProperties(tableProps, _excluded4);
630
+ othertableParams = _objectWithoutProperties(tableProps, _excluded5);
572
631
 
573
632
  var _treeProps$store = treeProps.store,
574
633
  treeStore = _treeProps$store === void 0 ? {} : _treeProps$store,
@@ -576,7 +635,7 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
576
635
  treeSearch = _treeProps$showSearch === void 0 ? true : _treeProps$showSearch,
577
636
  _treeProps$titleAlias = treeProps.titleAlias,
578
637
  titleAlias = _treeProps$titleAlias === void 0 ? "title" : _treeProps$titleAlias,
579
- othertreeParams = _objectWithoutProperties(treeProps, _excluded5);
638
+ othertreeParams = _objectWithoutProperties(treeProps, _excluded6);
580
639
 
581
640
  var tableParams = _objectSpread({
582
641
  filterColumn: filterColumn,
@@ -707,13 +766,43 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
707
766
  }
708
767
  }
709
768
 
769
+ if (buttons.indexOf("add") > -1) {
770
+ selfButtons.push( /*#__PURE__*/React.createElement(Button, {
771
+ type: "primary",
772
+ onClick: function onClick() {
773
+ var onShowForm = _this3.props.onShowForm;
774
+
775
+ if (onShowForm) {
776
+ onShowForm();
777
+ return;
778
+ }
779
+
780
+ _this3.showForm();
781
+ },
782
+ icon: /*#__PURE__*/React.createElement(Icon, {
783
+ type: iconType.add
784
+ })
785
+ }, "\u6DFB\u52A0"));
786
+ }
787
+
788
+ if (buttons.indexOf("delete") > -1) {
789
+ selfButtons.push( /*#__PURE__*/React.createElement(Button // type={"primary"}
790
+ , {
791
+ onClick: this.onDelete.bind(this),
792
+ icon: /*#__PURE__*/React.createElement(Icon, {
793
+ type: iconType.delete3
794
+ }),
795
+ danger: true
796
+ }, "\u5220\u9664"));
797
+ }
798
+
710
799
  if (Array.isArray(children)) {
711
800
  children.map(function (item) {
712
- var _item$props4, _item$props5;
801
+ var _item$props5, _item$props6;
713
802
 
714
- if ((item === null || item === void 0 ? void 0 : (_item$props4 = item.props) === null || _item$props4 === void 0 ? void 0 : _item$props4.pageType) == "toolButton") {
803
+ if ((item === null || item === void 0 ? void 0 : (_item$props5 = item.props) === null || _item$props5 === void 0 ? void 0 : _item$props5.pageType) == "toolButton") {
715
804
  selfButtons.push(item);
716
- } else if ((item === null || item === void 0 ? void 0 : (_item$props5 = item.props) === null || _item$props5 === void 0 ? void 0 : _item$props5.pageType) == "cloumnButton") {
805
+ } else if ((item === null || item === void 0 ? void 0 : (_item$props6 = item.props) === null || _item$props6 === void 0 ? void 0 : _item$props6.pageType) == "cloumnButton") {
717
806
  columnButtons.push(item);
718
807
  }
719
808
  });
@@ -814,39 +903,8 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
814
903
  expand: !expand
815
904
  });
816
905
  }
817
- }, this.state.expand ? "收起" : "展开", this.state.expand ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null)))), showToolButton && /*#__PURE__*/React.createElement("div", {
818
- className: getLess(styles, "tool-buttons"),
819
- style: {
820
- marginLeft: 0
821
- }
822
- }, buttons.indexOf("add") > -1 && editorForm == true && /*#__PURE__*/React.createElement(Button, {
823
- type: "primary",
824
- onClick: function onClick() {
825
- var onShowForm = _this3.props.onShowForm;
826
-
827
- if (onShowForm) {
828
- onShowForm();
829
- return;
830
- }
831
-
832
- _this3.showForm();
833
- },
834
- icon: /*#__PURE__*/React.createElement(Icon, {
835
- type: iconType.add
836
- })
837
- }, "\u6DFB\u52A0"), buttons.indexOf("delete") > -1 && /*#__PURE__*/React.createElement(Button // type={"primary"}
838
- , {
839
- onClick: this.onDelete.bind(this),
840
- icon: /*#__PURE__*/React.createElement(Icon, {
841
- type: iconType.delete3
842
- }),
843
- danger: true
844
- }, "\u5220\u9664"), selfButtons.map(function (item, index) {
845
- return /*#__PURE__*/React.createElement("div", {
846
- key: index
847
- }, item);
848
- })), /*#__PURE__*/React.createElement("div", {
849
- className: cls(getLess(styles, "table"), _defineProperty({}, getLess(styles, "table-page"), tableProps.pagination !== false))
906
+ }, this.state.expand ? "收起" : "展开", this.state.expand ? /*#__PURE__*/React.createElement(UpOutlined, null) : /*#__PURE__*/React.createElement(DownOutlined, null)))), showToolButton && this.renderToolButtons(selfButtons), /*#__PURE__*/React.createElement("div", {
907
+ className: cls(getLess(styles, "table"), _defineProperty({}, getLess(styles, "table-page"), tableProps.pagination !== false), _defineProperty({}, getLess(styles, "table-page-notool"), showToolButton === false || selfButtons.length == 0))
850
908
  }, /*#__PURE__*/React.createElement(Table, _extends({
851
909
  ref: this.tableRef,
852
910
  columns: tableColumn,
@@ -891,4 +949,4 @@ var BasePage = /*#__PURE__*/function (_PureComponent) {
891
949
  }(PureComponent);
892
950
 
893
951
  export default BasePage;
894
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsIkVkaXRPdXRsaW5lZCIsIlJpZ2h0T3V0bGluZWQiLCJnZXRMZXNzIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJvbWl0IiwiY29uZmlnIiwiZ2V0U3RvcmFnZSIsIkJhc2VQYWdlIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJmb3JtVHlwZSIsInNpemUiLCJ0YWJsZVNpemUiLCJjaGVja2VkVHJlZUtleXMiLCJzdGF0ZSIsIm5hbWUiLCJ1c2VyVHlwZSIsImFjY291bnQiLCJ2YWx1ZSIsImRlcHRJZCIsInRhYmxlTG9hZCIsInN0b3JlUHJlZml4IiwiY29udGVudCIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJpbml0RGF0YSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJsaXN0ZW5NZXNzYWdlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJjdXJyZW50Iiwic2hvdyIsImhpZGVGb3JtIiwiZGVsZXRlVXJsIiwib25EZWxldGUiLCJkZWxldGVQYXJhbXMiLCJsZW5ndGgiLCJ3YXJuaW5nIiwiRXJyb3IiLCJjb25maXJtIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImRlZmF1bHRQYXJhbXMiLCJtZXRob2QiLCJwYXJhbXMiLCJpZHMiLCJqb2luIiwicmVxdWVzdFBhcmFtcyIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidGFibGVSZWYiLCJzdG9yZSIsImxvYWQiLCJvblNlYXJjaCIsImZyb21WYWx1ZSIsInNlYXJjaFJlZiIsImdldEZpZWxkc1ZhbHVlIiwicmVsb2FkIiwicmVjb3JkIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RlZFJvd0tleXMiLCJuZXdTZWxlY3RlZFJvd0RhdGFzIiwiaWQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzcGxpY2UiLCJzZWxlY3RlZFJvd3MiLCJjaGFuZ2VSb3dzIiwibmV3aWRzIiwibmV3ZGF0YXMiLCJjaGFuZ2VJZHMiLCJpbmRleE9mIiwicHVzaCIsImNvbHVtbkJ1dHRvbnMiLCJlZGl0b3JGb3JtIiwiYnV0dG9ucyIsIm5ld0J1dHRvbnMiLCJjaGlsZHJlbiIsInBhZ2VUeXBlIiwib25DbGljayIsImljb24iLCJyZWNvcmRTaG93IiwiZXZhbCIsImZsYWciLCJzZWxlY3RlZEtleXMiLCJzZWxlY3RlZE5vZGVzIiwia2V5d29yZCIsInRyZWVQcm9wcyIsInNlYXJjaEtleSIsInNlYXJjaEZpZWxkIiwiaXNMZWFmIiwiZGF0YXJlZiIsImF0dHJpYnV0ZSIsInJlc2V0RmllbGRzIiwidGV4dCIsIm5ld1RleHQiLCJpIiwibGFiZWwiLCJjb2x1bW5zIiwic2hvd1NlYXJjaCIsInN1Ym1pdFVybCIsInRhYmxlUHJvcHMiLCJzaG93TGVmdCIsInN1Ym1pdFBhcmFtcyIsInNob3dUb29sQnV0dG9uIiwib25TaG93Rm9ybSIsImZvcm1DaGFuZ2VWYWxpZCIsImNsYXNzTmFtZSIsImFjdGlvbkNvbHVtbnMiLCJmaWx0ZXJDb2x1bW4iLCJhY3Rpb25Db2x1bW4iLCJzaG93Um93U2VsZWN0aW9uIiwiY29sdW1uT3JkZXIiLCJvdGhlcnRhYmxlUGFyYW1zIiwidHJlZVN0b3JlIiwidHJlZVNlYXJjaCIsInRpdGxlQWxpYXMiLCJvdGhlcnRyZWVQYXJhbXMiLCJ0YWJsZVBhcmFtcyIsInJvd1NlbGVjdGlvbiIsIm9uU2VsZWN0Iiwicm93U2VsZWN0aW9uT25TZWxlY3QiLCJiaW5kIiwib25TZWxlY3RBbGwiLCJyb3dTZWxlY3Rpb25PblNlbGVjdEFsbCIsImNvbHVtbldpZHRoIiwidGFibGVDb2x1bW4iLCJzZWFyY2hGb3JtcyIsImVkaXRvckZvcm1zIiwiZGVmYXVsdFZhbHVlIiwidGVtcCIsInNlYXJjaCIsImZpZWxkIiwiZGF0YUluZGV4IiwiZWRpdG9yIiwicnVsZXMiLCJzcGFuIiwiZGljdE5hbWUiLCJ1bmRlZmluZWQiLCJjb2x1bW5TZWFyY2giLCJmaWx0ZXJQcm9wcyIsInRlbXBQcm9wIiwic3R5bGUiLCJyZW5kZXIiLCJnZXRUZXh0IiwiZWxsaXBzaXMiLCJjb2x1bW5TaG93Iiwic2VsZkJ1dHRvbnMiLCJzaG93Rm9ybSIsIkFycmF5IiwiaXNBcnJheSIsImFsaWduIiwid2lkdGgiLCJmaXhlZCIsInJlbmRlckNsb3VtbkJ1dHRvbiIsImhlYWRlckNvdW50IiwicmVhY29yZCIsImRpc3BsYXkiLCJ0cmVlU2VsZWN0IiwicGxhY2Vob2xkZXIiLCJtYXJnaW5Ub3AiLCJyZXNldFNlYXJjaCIsInJlZnJlc2giLCJhX3N0eWxlIiwibWFyZ2luTGVmdCIsImFkZCIsImRlbGV0ZTMiLCJwYWdpbmF0aW9uIiwiZXhwYW5kSWNvbiIsImV4cGFuZGVkIiwib25FeHBhbmQiLCJlIiwiY2hpbGROb2RlcyIsInRhYmxlUmVsb2FkIiwib25TdWJtaXQiLCJvbkhpZGVGb3JtIiwib25Gb3JtQ2hhbmdlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFDQSxPQUFPQyxLQUFQLE1BQWtCLGtCQUFsQjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsaUJBQWpC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LG9CQUFDLFVBQUQ7QUFDRSxRQUFBLEdBQUcsRUFBRSxLQUFLdEQsU0FEWjtBQUVFLFFBQUEsUUFBUSxFQUFFLEtBQUt5SixXQUFMLENBQWlCbkQsSUFBakIsQ0FBc0IsSUFBdEIsQ0FGWjtBQUdFLFFBQUEsU0FBUyxFQUFFTSxXQUhiO0FBSUUsUUFBQSxTQUFTLEVBQUU1QixTQUpiO0FBS0UsUUFBQSxZQUFZLEVBQUVHLFlBTGhCO0FBTUUsUUFBQSxRQUFRLEVBQUUsS0FBS3JILEtBQUwsQ0FBVzRMLFFBTnZCO0FBT0UsUUFBQSxZQUFZLEVBQUU3QyxZQVBoQjtBQVFFLFFBQUEsVUFBVSxFQUFFLEtBQUsvSSxLQUFMLENBQVc2TCxVQVJ6QjtBQVNFLFFBQUEsWUFBWSxFQUFFLEtBQUs3TCxLQUFMLENBQVc4TCxZQVQzQjtBQVVFLFFBQUEsUUFBUSxFQUFFLEtBQUs5TCxLQUFMLENBQVdXLFFBQVgsSUFBdUIsS0FBS0ksS0FBTCxDQUFXSixRQVY5QztBQVdFLFFBQUEsV0FBVyxFQUFFNkc7QUFYZixRQTVKSixDQURGO0FBNktEOzs7O0VBM3NCb0JqSixhOztBQTZzQnZCLGVBQWV3QixRQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IFRhYmxlIGZyb20gXCIuLi8uLi9iYXNlL3RhYmxlXCI7XHJcbmltcG9ydCBUcmVlIGZyb20gXCIuLi8uLi9iYXNlL3RyZWVcIjtcclxuaW1wb3J0IEZvcm0gZnJvbSBcIi4uLy4uL2Jhc2UvZm9ybVwiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi9iYXNlL2J1dHRvblwiO1xyXG5pbXBvcnQgTW9kYWwgZnJvbSBcIi4uLy4uL2Jhc2UvbW9kYWxcIjtcclxuaW1wb3J0IFBvcG92ZXIgZnJvbSBcIi4uLy4uL2Jhc2UvcG9wb3ZlclwiO1xyXG5pbXBvcnQgbWVzc2FnZSBmcm9tIFwiLi4vLi4vYmFzZS9tZXNzYWdlXCI7XHJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi9iYXNlL2NvbW1vbi9JY29uRm9udFwiO1xyXG5pbXBvcnQgeyBpY29uVHlwZSB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IEVkaXRvckZvcm0gZnJvbSBcIi4vRm9ybVwiO1xyXG5pbXBvcnQgY2xzIGZyb20gXCJjbGFzc25hbWVzXCI7XHJcbmltcG9ydCBzdHlsZXMgZnJvbSBcIi4vaW5kZXgubW9kdWxlLmxlc3NcIjtcclxuaW1wb3J0IFN0b3JlLCB7IFBhZ2VTdG9yZSwgU3RvcmVQcm9wcyB9IGZyb20gXCJAYmotbnNjL21zblwiO1xyXG5pbXBvcnQge1xyXG4gIERvd25PdXRsaW5lZCxcclxuICBVcE91dGxpbmVkLFxyXG4gIEV5ZU91dGxpbmVkLFxyXG4gIEVkaXRPdXRsaW5lZCxcclxuICBSaWdodE91dGxpbmVkLFxyXG59IGZyb20gXCJAYW50LWRlc2lnbi9pY29uc1wiO1xyXG5pbXBvcnQgeyBnZXRMZXNzLCBnZXROb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XHJcbmltcG9ydCByZXF1ZXN0IGZyb20gXCJuc2MtcmVxdWVzdFwiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi8uLi9jb25maWdcIjtcclxuaW1wb3J0IHsgZ2V0U3RvcmFnZSB9IGZyb20gXCJAYmotbnNjL2Z1bmN0aW9uc1wiO1xyXG5pbnRlcmZhY2UgVGFibGVQcm9wcyB7XHJcbiAgYWN0aW9uQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmk43kvZzliJdcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgZmlsdGVyQ29sdW1uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrov4fmu6TmjInpkq5cclxuICBzaG93Um93U2VsZWN0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbooajmoLzli77pgInliJdcclxuICBwYWdpbmF0aW9uPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrliIbpobVcclxuICBjb2x1bW5PcmRlcj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66KGo5qC85bqP5YiXXHJcbiAgW3Byb3BzTmFtZTogc3RyaW5nXTogYW55O1xyXG59XHJcbmludGVyZmFjZSBUcmVlUHJvcHMge1xyXG4gIHN0b3JlPzogU3RvcmVQcm9wcztcclxuICBzaG93U2VhcmNoPzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrmkJzntKLmoYZcclxuICBzZWFyY2hLZXk/OiBzdHJpbmc7IC8v5pCc57SidmFsdWXlr7nlupTnmoRrZXlcclxuICBzZWFyY2hGaWVsZD86IHN0cmluZzsgLy/mn6Xor6Llr7nlupTnmoRrZXlcclxuICB0aXRsZUFsaWFzPzogc3RyaW5nOyAvL+agkXRpdGxl5a+55bqU55qEa2V5LOm7mOiupHRpdGxlXHJcbiAgbm9kZVBvcnBzPzogb2JqZWN0O1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5pbnRlcmZhY2UgTlNDQmFzZUJhZ2VQcm9wcyB7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65aS06YOo5pCc57Si5qCPXHJcbiAgdGFibGVQcm9wcz86IFRhYmxlUHJvcHM7IC8v6KGo5qC85Y+C5pWwXHJcbiAgdHJlZVByb3BzPzogVHJlZVByb3BzOyAvL+W3puS+p+agkeWPguaVsFxyXG4gIHN1Ym1pdFBhcmFtcz86IE9iamVjdDsgLy/mt7vliqDlj4LmlbDvvIzpu5jorqRtb3Rob2Q6cG9zdO+8jCDlj4LmlbDpgJrov4dkYXRh5Lyg6YCSXHJcbiAgc3VibWl0VXJsPzogc3RyaW5nO1xyXG4gIG9uU3VibWl0PzogKHZhbHVlPzogYW55LCBsYWJlbD86IGFueSkgPT4gdm9pZDtcclxuICBjb2x1bW5zOiBBcnJheTxPYmplY3Q+O1xyXG4gIHNob3dMZWZ0PzogYm9vbGVhbjsgLy/mmK/lkKbmmL7npLrlt6bkvqfnm67lvZXmoJFcclxuICBzaG93VG9vbEJ1dHRvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65oyJ6ZKu5qCPXHJcbiAgZWRpdG9yRm9ybT86IGJvb2xlYW47IC8v5piv5ZCm6ZyA6KaB6KGo5Y2V5Yqf6IO9ICwg5Li6ZmFsc2Ug57yW6L6R77yM5p+l55yL77yM5paw5aKe5Yqf6IO95Z2H5LiN5Y+v55SoXHJcbiAgZGVsZXRlVXJsPzogc3RyaW5nOyAvL+WIoOmZpHVybFxyXG4gIG9uRGVsZXRlPzogKHNlbGVjdGVkS2V5cz86IEFycmF5PGFueT4pID0+IHZvaWQ7IC8v5Yig6Zmk5Y+C5pWw77yM6buY6K6kbW90aG9kOnBvc3TvvIwg5Y+C5pWw6YCa6L+HaWRz5ou85o6l5Lyg6YCS57uZ5ZCO5Y+wXHJcbiAgZGVsZXRlUGFyYW1zPzogT2JqZWN0O1xyXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xyXG4gIG9uU2VhcmNoPzogKHZhbHVlPzogYW55KSA9PiB2b2lkO1xyXG4gIGluaXREYXRhPzogYW55OyAvL+WIneWni+WMluWbnuiwg+WHveaVsO+8jOWcqGNvbXBvbmVudERpZE1vdW505Lit6LCD55SoXHJcbiAgYnV0dG9ucz86IEFycmF5PHN0cmluZz47IC8v5oyJ6ZKu6ZuG5ZCIICBbJ2FkZCcsJ2RlbGV0ZScsJ3NlYXJjaCcsJ2VkaXRvciddXHJcbiAgb25TaG93Rm9ybT86ICh2YWx1ZT86IGFueSwgZWRpdG9yRmxhZz86IHN0cmluZykgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxuICBvbkhpZGVGb3JtPzogKCkgPT4gdm9pZDsgLy/miZPlvIDooajljZXlm57osINcclxuICBvbkZvcm1DaGFuZ2U/OiAoY2hhbmdlZFZhbHVlcz86IGFueSwgYWxsVmFsdWVzPzogYW55KSA9PiB2b2lkOyAvL+ihqOWNlW9uQ2hhbmdl5Zue6LCDXHJcbiAgZm9ybVR5cGU/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIGZvcm1DaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v6KGo5Y2V5qCh6aqMXHJcbiAgY2xhc3NOYW1lPzogYW55O1xyXG4gIGFjdGlvbkNvbHVtbnM/OiBBcnJheTxhbnk+O1xyXG59XHJcblxyXG5jbGFzcyBCYXNlUGFnZSBleHRlbmRzIFB1cmVDb21wb25lbnQ8TlNDQmFzZUJhZ2VQcm9wcywgYW55PiB7XHJcbiAgdGFibGVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHRyZWVSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIHNlYXJjaFJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcbiAgZWRpdG9yUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJvcHM6IGFueSkge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gICAgbGV0IHsgc3RvcmVQcmVmaXggfSA9IGNvbmZpZygpO1xyXG4gICAgbGV0IHR5cGUgPSBnZXRTdG9yYWdlKFxyXG4gICAgICBzdG9yZVByZWZpeCA/IHN0b3JlUHJlZml4ICsgXCItXCIgKyBcImZvcm1UeXBlXCIgOiBcImZvcm1UeXBlXCJcclxuICAgICk7XHJcbiAgICB0eXBlID0gdHlwZT8uY29udGVudDtcclxuICAgIGxldCBzaXplID0gZ2V0U3RvcmFnZShcclxuICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCArIFwiLVwiICsgXCJ0YWJsZVNpemVcIiA6IFwidGFibGVTaXplXCJcclxuICAgICk7XHJcbiAgICB0eXBlID0gdHlwZT8uY29udGVudDtcclxuICAgIHNpemUgPSBzaXplPy5jb250ZW50O1xyXG4gICAgdGhpcy5zdGF0ZSA9IHtcclxuICAgICAgdHlwZTogXCJhZGRcIixcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBbXSxcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhczogW10sXHJcbiAgICAgIHRyZWVTZWxlY3RlZEtleTogXCJcIixcclxuICAgICAgZXhwYW5kOiBmYWxzZSxcclxuICAgICAgZm9ybVR5cGU6IHR5cGUgfHwgXCJtb2RhbFwiLFxyXG4gICAgICB0YWJsZVNpemU6IHNpemUgfHwgXCJkZWZhdWx0XCIsXHJcbiAgICB9O1xyXG4gIH1cclxuICBjb21wb25lbnREaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IHsgaW5pdERhdGEgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpbml0RGF0YSAmJiBpbml0RGF0YSgpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIHRoaXMubGlzdGVuTWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLmxpc3Rlbk1lc3NhZ2UpO1xyXG4gIH1cclxuICBsaXN0ZW5NZXNzYWdlID0gKGV2KSA9PiB7XHJcbiAgICBjb25zdCBkYXRhID0gdHlwZW9mIGV2LmRhdGEgPT09IFwic3RyaW5nXCIgPyBKU09OLnBhcnNlKGV2LmRhdGEpIDogZXYuZGF0YTtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAoZGF0YS5ldmVudFR5cGUgPT0gXCJjaGFuZ2VGb3JtVHlwZVwiKSB7XHJcbiAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gZGF0YTtcclxuICAgICAgaWYgKHBheWxvYWQudHlwZSA9PSBcIm1vZGFsXCIgfHwgcGF5bG9hZC50eXBlID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IGZvcm1UeXBlOiBwYXlsb2FkLnR5cGUgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChkYXRhLmV2ZW50VHlwZSA9PSBcImNoYW5nZVRhYmxlU2l6ZVwiKSB7XHJcbiAgICAgIGNvbnN0IHsgcGF5bG9hZCB9ID0gZGF0YTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHBheWxvYWQuc2l6ZSA9PSBcImRlZmF1bHRcIiB8fFxyXG4gICAgICAgIHBheWxvYWQuc2l6ZSA9PSBcInNtYWxsXCIgfHxcclxuICAgICAgICBwYXlsb2FkLnNpemUgPT0gXCJtaWRkbGVcIlxyXG4gICAgICApIHtcclxuICAgICAgICBfdGhpcy5zZXRTdGF0ZSh7IHRhYmxlU2l6ZTogcGF5bG9hZC5zaXplIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICBvblNlbGVjdCA9IChjaGVja2VkVHJlZUtleXM6IGFueSkgPT4ge1xyXG4gICAgY29uc3QgeyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHZhbHVlID0geyBuYW1lLCB1c2VyVHlwZSwgYWNjb3VudCwgZGVwdElkOiBjaGVja2VkVHJlZUtleXNbMF0gfTtcclxuICAgIHRoaXMudGFibGVMb2FkKHZhbHVlKTtcclxuICB9O1xyXG5cclxuICAvL+aYvuekuuihqOWNlVxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBlZGl0b3JmbGFnID0gXCJhZGRcIikge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uc2hvdyh2YWx1ZSwgZWRpdG9yZmxhZyk7XHJcbiAgfVxyXG5cclxuICAvL+WFs+mXreihqOWNlVxyXG4gIGhpZGVGb3JtKCkge1xyXG4gICAgdGhpcy5lZGl0b3JSZWYuY3VycmVudD8uaGlkZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIC8v5om56YeP5Yig6ZmkXHJcbiAgb25EZWxldGUoKSB7XHJcbiAgICBjb25zdCB7IGRlbGV0ZVVybCwgb25EZWxldGUsIGRlbGV0ZVBhcmFtcyB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkUm93S2V5cy5sZW5ndGggPT0gMCkge1xyXG4gICAgICBtZXNzYWdlLndhcm5pbmcoXCLor7fpgInmi6nopoHliKDpmaTnmoTmlbDmja7vvIFcIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChvbkRlbGV0ZSkge1xyXG4gICAgICBvbkRlbGV0ZSAmJiBvbkRlbGV0ZShzZWxlY3RlZFJvd0tleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWRlbGV0ZVVybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1cmzkuI3og73kuLrnqbrvvIFcIik7XHJcbiAgICB9XHJcbiAgICBNb2RhbC5jb25maXJtKHtcclxuICAgICAgdGl0bGU6IFwi5piv5ZCm56Gu6K6k5Yig6Zmk5omA6YCJ6aG577yfXCIsXHJcbiAgICAgIG9rVGV4dDogXCLnoa7orqRcIixcclxuICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgb25PazogKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGRlZmF1bHRQYXJhbXMgPSB7XHJcbiAgICAgICAgICBtZXRob2Q6IFwicG9zdFwiLFxyXG4gICAgICAgICAgcGFyYW1zOiB7IGlkczogc2VsZWN0ZWRSb3dLZXlzLmpvaW4oKSB9LFxyXG4gICAgICAgIH07XHJcbiAgICAgICAgbGV0IHJlcXVlc3RQYXJhbXMgPSB7fSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKGRlZmF1bHRQYXJhbXMpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbXMgPSB7IC4uLmRlbGV0ZVBhcmFtcyB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWZhdWx0UGFyYW1zIH07XHJcbiAgICAgICAgcmVxdWVzdChkZWxldGVVcmwsIHtcclxuICAgICAgICAgIC4uLnJlcXVlc3RQYXJhbXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuWIoOmZpOaIkOWKn++8gVwiKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5Yig6Zmk5aSx6LSl77yBXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgdGFibGVMb2FkKHBhcmFtczogYW55KSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLmxvYWQoe1xyXG4gICAgICBwYXJhbXM6IHBhcmFtcyxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvL+afpeivolxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgY29uc3QgeyBvblNlYXJjaCB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBpZiAob25TZWFyY2gpIHtcclxuICAgICAgb25TZWFyY2goZnJvbVZhbHVlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZUxvYWQoZnJvbVZhbHVlKTtcclxuICB9XHJcbiAgLy/ooajmoLzph43mlrDliqDovb1cclxuICB0YWJsZVJlbG9hZCgpIHtcclxuICAgIHRoaXMudGFibGVSZWYuY3VycmVudD8uc3RvcmUucmVsb2FkKCk7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93S2V5cygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93S2V5cztcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRSb3dEYXRhcygpIHtcclxuICAgIHJldHVybiB0aGlzLnN0YXRlLnNlbGVjdGVkUm93RGF0YXM7XHJcbiAgfVxyXG4gIGdldFNlYXJjaFZhbHVlcygpIHtcclxuICAgIGNvbnN0IGZyb21WYWx1ZSA9IHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICByZXR1cm4gZnJvbVZhbHVlO1xyXG4gIH1cclxuICByb3dTZWxlY3Rpb25PblNlbGVjdChyZWNvcmQ6IGFueSwgc2VsZWN0ZWQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMsIHNlbGVjdGVkUm93RGF0YXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICBsZXQgbmV3U2VsZWN0ZWRSb3dEYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzXTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBuZXdTZWxlY3RlZFJvd0tleXMgPSBbLi4ubmV3U2VsZWN0ZWRSb3dLZXlzLCByZWNvcmQuaWRdO1xyXG4gICAgICBuZXdTZWxlY3RlZFJvd0RhdGFzID0gWy4uLm5ld1NlbGVjdGVkUm93RGF0YXMsIHJlY29yZF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoaXRlbSA9PT0gcmVjb3JkLmlkKSB7XHJcbiAgICAgICAgICBuZXdTZWxlY3RlZFJvd0tleXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0uaWQgPT09IHJlY29yZC5pZCkge1xyXG4gICAgICAgICAgbmV3U2VsZWN0ZWRSb3dEYXRhcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBuZXdTZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IG5ld1NlbGVjdGVkUm93RGF0YXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3RBbGwoc2VsZWN0ZWQ6IGFueSwgc2VsZWN0ZWRSb3dzOiBhbnksIGNoYW5nZVJvd3M6IGFueSkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMsIHNlbGVjdGVkUm93RGF0YXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBsZXQgbmV3aWRzOiBhbnkgPSBbXTtcclxuICAgIGxldCBuZXdkYXRhczogYW55ID0gW107XHJcbiAgICBpZiAoY2hhbmdlUm93cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBjaGFuZ2VJZHMgPSBjaGFuZ2VSb3dzLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLmlkKTtcclxuICAgICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgICAgbmV3aWRzID0gWy4uLnNlbGVjdGVkUm93S2V5cywgLi4uY2hhbmdlSWRzXTtcclxuICAgICAgICBuZXdkYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzLCAuLi5jaGFuZ2VSb3dzXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzZWxlY3RlZFJvd0tleXMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChjaGFuZ2VJZHMuaW5kZXhPZihpdGVtKSA9PSAtMSkge1xyXG4gICAgICAgICAgICBuZXdpZHMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBzZWxlY3RlZFJvd0RhdGFzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hhbmdlSWRzLmluZGV4T2YoaXRlbS5pZCkgPT0gLTEpIHtcclxuICAgICAgICAgICAgbmV3ZGF0YXMucHVzaChpdGVtKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmV3aWRzID0gWy4uLnNlbGVjdGVkUm93S2V5c107XHJcbiAgICAgIG5ld2RhdGFzID0gWy4uLnNlbGVjdGVkUm93RGF0YXNdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogWy4uLm5ld2lkc10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFsuLi5uZXdkYXRhc10sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zOiBhbnksIHJlY29yZDogYW55KSB7XHJcbiAgICBjb25zdCB7IGVkaXRvckZvcm0gPSB0cnVlLCBidXR0b25zID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBuZXdCdXR0b25zID0gW107XHJcbiAgICBjb2x1bW5CdXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCBpY29uLCByZWNvcmRTaG93LCAuLi5wYXJhbXMgfSA9XHJcbiAgICAgICAgaXRlbS5wcm9wcztcclxuICAgICAgaWYgKHJlY29yZFNob3cpIHtcclxuICAgICAgICBpZiAoZXZhbChyZWNvcmRTaG93KSkge1xyXG4gICAgICAgICAgbmV3QnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgY29uc3QgZmxhZyA9IG5ld0J1dHRvbnMubGVuZ3RoID4gMztcclxuXHJcbiAgICBjb25zdCBjb250ZW50ID0gbmV3QnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgc2hvdywgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoaW5kZXggPiAxKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbHMoXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpLFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImNvbnRlbnQtaXRlbVwiKVxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb25DbGljayAmJiBvbkNsaWNrKHJlY29yZCk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbmV3QnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgLi4ucGFyYW1zIH0gPSBpdGVtLnByb3BzO1xyXG4gICAgICBpZiAoZmxhZykge1xyXG4gICAgICAgIGlmIChpbmRleCA8IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+e2ljb259PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+e2NoaWxkcmVufTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT0gMikge1xyXG4gICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgPFBvcG92ZXJcclxuICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICAgICAgdHJpZ2dlcj17W1wiY2xpY2tcIl19XHJcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICAvLyBvdmVybGF5Q2xhc3NOYW1lPXtzdHlsZXNbJ3BvcCddfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX0+XHJcbiAgICAgICAgICAgICAgICAmbmJzcDsg5pu05aSaXHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvUG9wb3Zlcj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT57Y2hpbGRyZW59PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIC8v5qCR54K55Ye75LqL5Lu2XHJcbiAgdHJlZVNlbGVjdChzZWxlY3RlZEtleXM6IGFueSwgeyBzZWxlY3RlZCwgc2VsZWN0ZWROb2RlcyB9OiBhbnkpIHtcclxuICAgIGxldCBrZXl3b3JkID0gXCJcIjtcclxuICAgIGNvbnN0IHsgc2VhcmNoS2V5ID0gXCJrZXlcIiwgc2VhcmNoRmllbGQgPSBcIlwiIH0gPSB0aGlzLnByb3BzLnRyZWVQcm9wcztcclxuICAgIGNvbnN0IHsgdHJlZVNlbGVjdGVkS2V5IH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE5vZGVzWzBdLmlzTGVhZiB8fCAhc2VsZWN0ZWROb2Rlc1swXS5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChzZWxlY3RlZEtleXNbMF0gIT09IHRyZWVTZWxlY3RlZEtleSkge1xyXG4gICAgICAgICAgLy8gbGV0IG1hcERhdGEgPSB0aGlzLnRyZWVSZWYuY3VycmVudD8uc3RvcmUuZ2V0RmxhdHRlbkRhdGEoKTtcclxuICAgICAgICAgIGtleXdvcmQgPSBzZWxlY3RlZE5vZGVzWzBdLmRhdGFyZWYuYXR0cmlidXRlW3NlYXJjaEtleV07XHJcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgdHJlZVNlbGVjdGVkS2V5OiBzZWxlY3RlZEtleXNbMF0sXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgIHRyZWVTZWxlY3RlZEtleToga2V5d29yZCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgc2VhcmNoRmllbGQgJiYgdGhpcy50YWJsZUxvYWQoeyAuLi5mcm9tVmFsdWUsIFtzZWFyY2hGaWVsZF06IGtleXdvcmQgfSk7XHJcbiAgfVxyXG4gIHJlc2V0U2VhcmNoKCkge1xyXG4gICAgdGhpcy5zZWFyY2hSZWYuY3VycmVudD8ucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcbiAgZ2V0VGV4dChwcm9wcywgdGV4dCkge1xyXG4gICAgbGV0IG5ld1RleHQgPSB0ZXh0O1xyXG4gICAgaWYgKHByb3BzPy5kYXRhICYmIHByb3BzPy5kYXRhPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBkYXRhID0gcHJvcHMuZGF0YTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhPy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChkYXRhW2ldLnZhbHVlID09IHRleHQpIHtcclxuICAgICAgICAgIG5ld1RleHQgPSBkYXRhW2ldLmxhYmVsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5ld1RleHQ7XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjb2x1bW5zID0gW10sXHJcbiAgICAgIHNob3dTZWFyY2ggPSB0cnVlLFxyXG4gICAgICBjaGlsZHJlbixcclxuICAgICAgc3VibWl0VXJsID0gXCJcIixcclxuICAgICAgdGFibGVQcm9wcyA9IHt9LFxyXG4gICAgICB0cmVlUHJvcHMgPSB7fSxcclxuICAgICAgc2hvd0xlZnQgPSBmYWxzZSxcclxuICAgICAgc3VibWl0UGFyYW1zID0ge30sXHJcbiAgICAgIHNob3dUb29sQnV0dG9uID0gdHJ1ZSxcclxuICAgICAgYnV0dG9ucyA9IFtdLFxyXG4gICAgICBlZGl0b3JGb3JtID0gdHJ1ZSxcclxuICAgICAgb25TaG93Rm9ybSxcclxuICAgICAgZm9ybUNoYW5nZVZhbGlkID0gdHJ1ZSxcclxuICAgICAgY2xhc3NOYW1lLFxyXG4gICAgICBhY3Rpb25Db2x1bW5zID0gW10sXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHtcclxuICAgICAgc3RvcmUgPSB7fSxcclxuICAgICAgZmlsdGVyQ29sdW1uID0gdHJ1ZSxcclxuICAgICAgYWN0aW9uQ29sdW1uID0gdHJ1ZSxcclxuICAgICAgc2hvd1Jvd1NlbGVjdGlvbiA9IHRydWUsXHJcbiAgICAgIGNvbHVtbk9yZGVyID0gdHJ1ZSxcclxuICAgICAgLi4ub3RoZXJ0YWJsZVBhcmFtc1xyXG4gICAgfSA9IHRhYmxlUHJvcHM7XHJcblxyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZTogdHJlZVN0b3JlID0ge30sXHJcbiAgICAgIHNob3dTZWFyY2g6IHRyZWVTZWFyY2ggPSB0cnVlLFxyXG4gICAgICB0aXRsZUFsaWFzID0gXCJ0aXRsZVwiLFxyXG4gICAgICAuLi5vdGhlcnRyZWVQYXJhbXNcclxuICAgIH0gPSB0cmVlUHJvcHM7XHJcblxyXG4gICAgbGV0IHRhYmxlUGFyYW1zID0geyBmaWx0ZXJDb2x1bW4sIHN0b3JlLCAuLi5vdGhlcnRhYmxlUGFyYW1zIH0gYXMgYW55O1xyXG5cclxuICAgIGlmIChzaG93Um93U2VsZWN0aW9uKSB7XHJcbiAgICAgIHRhYmxlUGFyYW1zID0ge1xyXG4gICAgICAgIC4uLnRhYmxlUGFyYW1zLFxyXG4gICAgICAgIHJvd1NlbGVjdGlvbjoge1xyXG4gICAgICAgICAgc2VsZWN0ZWRSb3dLZXlzOiBzZWxlY3RlZFJvd0tleXMsXHJcbiAgICAgICAgICBvblNlbGVjdDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgb25TZWxlY3RBbGw6IHRoaXMucm93U2VsZWN0aW9uT25TZWxlY3RBbGwuYmluZCh0aGlzKSxcclxuICAgICAgICAgIGNvbHVtbldpZHRoOiA0MCxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgbGV0IHRhYmxlQ29sdW1uOiBhbnlbXSA9IFtdO1xyXG4gICAgY29uc3Qgc2VhcmNoRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZWRpdG9yRm9ybXM6IGFueSA9IFtdO1xyXG4gICAgY29uc3QgZGVmYXVsdFZhbHVlOiBhbnkgPSB7fTtcclxuICAgIGNvbnN0IGNvbHVtbkJ1dHRvbnM6IGFueSA9IFtdO1xyXG4gICAgY29sdW1ucy5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdGVtcCA9IHsgLi4uaXRlbSB9O1xyXG4gICAgICBpZiAodGVtcC5zZWFyY2gpIHtcclxuICAgICAgICBzZWFyY2hGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnNlYXJjaDtcclxuICAgICAgdGVtcC5lZGl0b3IgIT09IGZhbHNlICYmXHJcbiAgICAgICAgZWRpdG9yRm9ybXMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4LFxyXG4gICAgICAgICAgbGFiZWw6IHRlbXAudGl0bGUsXHJcbiAgICAgICAgICBydWxlczogdGVtcC5ydWxlcyxcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHNwYW46IHRlbXAuc3BhbixcclxuICAgICAgICAgIGRpY3ROYW1lOiB0ZW1wLmRpY3ROYW1lLFxyXG4gICAgICAgICAgcHJvcHM6IG9taXQoeyAuLi50ZW1wLnByb3BzIH0sIFtcImRlZmF1bHRWYWx1ZVwiLCBcInZhbHVlXCJdKSxcclxuICAgICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSBudWxsXHJcbiAgICAgICkge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0ZW1wLmZpZWxkIHx8IHRlbXAuZGF0YUluZGV4O1xyXG4gICAgICAgIGRlZmF1bHRWYWx1ZVtuYW1lXSA9IHRlbXAucHJvcHM/LmRlZmF1bHRWYWx1ZTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5ydWxlcztcclxuICAgICAgZGVsZXRlIHRlbXAuc3BhbjtcclxuICAgICAgaWYgKHRlbXAuY29sdW1uU2VhcmNoKSB7XHJcbiAgICAgICAgdGVtcC5maWx0ZXJQcm9wcyA9IHtcclxuICAgICAgICAgIHR5cGU6IHRlbXAudHlwZSxcclxuICAgICAgICAgIHByb3BzOiB0ZW1wLnByb3BzLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAudHlwZTtcclxuICAgICAgbGV0IHRlbXBQcm9wID0geyAuLi50ZW1wLnByb3BzIH07XHJcbiAgICAgIGlmICh0ZW1wLnN0eWxlKSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgICAgICB7dGV4dCAhPT0gXCJcIiAmJiB0ZXh0ICE9PSBudWxsICYmIHRleHQgIT09IHVuZGVmaW5lZCAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLWJhY2tcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiY29sLXRleHRcIil9PlxyXG4gICAgICAgICAgICAgICAgICAgICAge3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVsbGlwc2lzOiB0cnVlLFxyXG4gICAgICAgICAgLi4udGVtcCxcclxuICAgICAgICB9O1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRlbXAgPSB7XHJcbiAgICAgICAgICByZW5kZXI6ICh0ZXh0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e3RoaXMuZ2V0VGV4dCh0ZW1wUHJvcCwgdGV4dCl9PC8+O1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRlbXAsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC5wcm9wcztcclxuICAgICAgaWYgKHRlbXA/LmNvbHVtblNob3cgIT09IGZhbHNlKSB0YWJsZUNvbHVtbi5wdXNoKHRlbXApO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBzZWxmQnV0dG9uczogYW55ID0gW107XHJcblxyXG4gICAgaWYgKGVkaXRvckZvcm0gPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAoYnV0dG9ucy5pbmRleE9mKFwic2VhcmNoXCIpID4gLTEpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpfVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgb25TaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJkZXRhaWxcIik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZGV0YWlsXCIpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgIDxFeWVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+5p+l55yLPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYnV0dG9ucy5pbmRleE9mKFwiZWRpdG9yXCIpID4gLTEpIHtcclxuICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZWRpdG9yXCIpfVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsocmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICBpZiAob25TaG93Rm9ybSkge1xyXG4gICAgICAgICAgICAgICAgb25TaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJlZGl0b3JcIik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0ocmVjb3JkLmF0dHJpYnV0ZSB8fCByZWNvcmQsIFwiZWRpdG9yXCIpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PlxyXG4gICAgICAgICAgICAgIDxFZGl0T3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9Pue8lui+kTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xyXG4gICAgICBjaGlsZHJlbi5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICAgIHNlbGZCdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpdGVtPy5wcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKGNoaWxkcmVuKSB7XHJcbiAgICAgIGNvbnN0IHsgcHJvcHMgfTogYW55ID0gY2hpbGRyZW47XHJcbiAgICAgIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJ0b29sQnV0dG9uXCIpIHtcclxuICAgICAgICBzZWxmQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfSBlbHNlIGlmIChwcm9wcz8ucGFnZVR5cGUgPT0gXCJjbG91bW5CdXR0b25cIikge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChjaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgd2lkdGg6IDI1MCxcclxuICAgICAgICBmaXhlZDogXCJyaWdodFwiLFxyXG4gICAgICAgIGVsbGlwc2lzOiB0cnVlLFxyXG4gICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSwgcmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJhY3Rpb25cIil9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zLCByZWNvcmQpfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICBjb25zdCBoZWFkZXJDb3VudCA9IHNob3dMZWZ0ID8gMiA6IDM7XHJcbiAgICBpZiAoY29sdW1uT3JkZXIpXHJcbiAgICAgIHRhYmxlQ29sdW1uID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiBcIiNcIixcclxuICAgICAgICAgIHdpZHRoOiAzMCxcclxuICAgICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dCwgcmVhY29yZCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e2luZGV4ICsgMX08Lz47XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4udGFibGVDb2x1bW4sXHJcbiAgICAgIF07XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwicGFnZVwiKSwgY2xhc3NOYW1lKX1cclxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fVxyXG4gICAgICA+XHJcbiAgICAgICAge3Nob3dMZWZ0ICYmIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJsZWZ0XCIpfT5cclxuICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICBzdG9yZT17eyAuLi50cmVlU3RvcmUgfX1cclxuICAgICAgICAgICAgICBzaG93SWNvbj17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICBzZWFyY2hhYmxlPXt0cmVlU2VhcmNofVxyXG4gICAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnRyZWVTZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgdGl0bGVBbGlhcz17dGl0bGVBbGlhc31cclxuICAgICAgICAgICAgICB7Li4ub3RoZXJ0cmVlUGFyYW1zfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicmlnaHRcIil9PlxyXG4gICAgICAgICAge3Nob3dTZWFyY2ggJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaGVhZGVyXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHsgW2dldExlc3Moc3R5bGVzLCBcImZvcm1cIildOiAhc2hvd0xlZnQgfSl9PlxyXG4gICAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAgICAgbGFiZWxDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gaGVhZGVyQ291bnQgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9uc1wiKX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuc2VhcmNofSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUucmVmcmVzaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuYV9zdHlsZX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gPFVwT3V0bGluZWQgLz4gOiA8RG93bk91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0b29sLWJ1dHRvbnNcIil9XHJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMCB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAge2J1dHRvbnMuaW5kZXhPZihcImFkZFwiKSA+IC0xICYmIGVkaXRvckZvcm0gPT0gdHJ1ZSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBvblNob3dGb3JtIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBvblNob3dGb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuYWRkfSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5re75YqgXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtidXR0b25zLmluZGV4T2YoXCJkZWxldGVcIikgPiAtMSAmJiAoXHJcbiAgICAgICAgICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIC8vIHR5cGU9e1wicHJpbWFyeVwifVxyXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uRGVsZXRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgICAgIGljb249ezxJY29uIHR5cGU9e2ljb25UeXBlLmRlbGV0ZTN9IC8+fVxyXG4gICAgICAgICAgICAgICAgICBkYW5nZXJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5Yig6ZmkXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIHtzZWxmQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+O1xyXG4gICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKGdldExlc3Moc3R5bGVzLCBcInRhYmxlXCIpLCB7XHJcbiAgICAgICAgICAgICAgW2dldExlc3Moc3R5bGVzLCBcInRhYmxlLXBhZ2VcIildOiB0YWJsZVByb3BzLnBhZ2luYXRpb24gIT09IGZhbHNlLFxyXG4gICAgICAgICAgICB9KX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPFRhYmxlXHJcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnRhYmxlUmVmfVxyXG4gICAgICAgICAgICAgIGNvbHVtbnM9e3RhYmxlQ29sdW1ufVxyXG4gICAgICAgICAgICAgIGV4cGFuZGFibGU9e3tcclxuICAgICAgICAgICAgICAgIGV4cGFuZEljb246ICh7IGV4cGFuZGVkLCBvbkV4cGFuZCwgcmVjb3JkIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgICAgICA8PlxyXG4gICAgICAgICAgICAgICAgICAgICAge2V4cGFuZGVkID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8RG93bk91dGxpbmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IG9uRXhwYW5kKHJlY29yZCwgZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZC5jaGlsZE5vZGVzICYmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8UmlnaHRPdXRsaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IG9uRXhwYW5kKHJlY29yZCwgZSl9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImV4cGFuZC1pY29uXCIpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY29sdW1uT3JkZXI9e3RydWV9XHJcbiAgICAgICAgICAgICAgYm9yZGVyZWQ9e3RydWV9XHJcbiAgICAgICAgICAgICAgc2l6ZT17dGhpcy5zdGF0ZS50YWJsZVNpemV9XHJcbiAgICAgICAgICAgICAgey4uLnRhYmxlUGFyYW1zfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAge2VkaXRvckZvcm0gJiYgKFxyXG4gICAgICAgICAgPEVkaXRvckZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmVkaXRvclJlZn1cclxuICAgICAgICAgICAgY2FsbEJhY2s9e3RoaXMudGFibGVSZWxvYWQuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgZm9ybVByb3BzPXtlZGl0b3JGb3Jtc31cclxuICAgICAgICAgICAgc3VibWl0VXJsPXtzdWJtaXRVcmx9XHJcbiAgICAgICAgICAgIHN1Ym1pdFBhcmFtcz17c3VibWl0UGFyYW1zfVxyXG4gICAgICAgICAgICBvblN1Ym1pdD17dGhpcy5wcm9wcy5vblN1Ym1pdH1cclxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XHJcbiAgICAgICAgICAgIG9uSGlkZUZvcm09e3RoaXMucHJvcHMub25IaWRlRm9ybX1cclxuICAgICAgICAgICAgb25Gb3JtQ2hhbmdlPXt0aGlzLnByb3BzLm9uRm9ybUNoYW5nZX1cclxuICAgICAgICAgICAgZm9ybVR5cGU9e3RoaXMucHJvcHMuZm9ybVR5cGUgfHwgdGhpcy5zdGF0ZS5mb3JtVHlwZX1cclxuICAgICAgICAgICAgY2hhbmdlVmFsaWQ9e2Zvcm1DaGFuZ2VWYWxpZH1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBCYXNlUGFnZTtcclxuIl19
952
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2UvQmFzZVBhZ2UvaW5kZXgudHN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHVyZUNvbXBvbmVudCIsIlRhYmxlIiwiVHJlZSIsIkZvcm0iLCJCdXR0b24iLCJNb2RhbCIsIlBvcG92ZXIiLCJtZXNzYWdlIiwiSWNvbiIsImljb25UeXBlIiwiRWRpdG9yRm9ybSIsImNscyIsInN0eWxlcyIsIkRvd25PdXRsaW5lZCIsIlVwT3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsIkVkaXRPdXRsaW5lZCIsIlJpZ2h0T3V0bGluZWQiLCJnZXRMZXNzIiwiZ2V0Tm9kZSIsInJlcXVlc3QiLCJvbWl0IiwiY29uZmlnIiwiZ2V0U3RvcmFnZSIsIkJhc2VQYWdlIiwicHJvcHMiLCJjcmVhdGVSZWYiLCJldiIsImRhdGEiLCJKU09OIiwicGFyc2UiLCJfdGhpcyIsImV2ZW50VHlwZSIsInBheWxvYWQiLCJ0eXBlIiwic2V0U3RhdGUiLCJmb3JtVHlwZSIsInNpemUiLCJ0YWJsZVNpemUiLCJjaGVja2VkVHJlZUtleXMiLCJzdGF0ZSIsIm5hbWUiLCJ1c2VyVHlwZSIsImFjY291bnQiLCJ2YWx1ZSIsImRlcHRJZCIsInRhYmxlTG9hZCIsInN0b3JlUHJlZml4IiwiY29udGVudCIsInNlbGVjdGVkUm93S2V5cyIsInNlbGVjdGVkUm93RGF0YXMiLCJ0cmVlU2VsZWN0ZWRLZXkiLCJleHBhbmQiLCJpbml0RGF0YSIsIndpbmRvdyIsImFkZEV2ZW50TGlzdGVuZXIiLCJsaXN0ZW5NZXNzYWdlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImVkaXRvcmZsYWciLCJlZGl0b3JSZWYiLCJjdXJyZW50Iiwic2hvdyIsImhpZGVGb3JtIiwiZGVsZXRlVXJsIiwib25EZWxldGUiLCJkZWxldGVQYXJhbXMiLCJsZW5ndGgiLCJ3YXJuaW5nIiwiRXJyb3IiLCJjb25maXJtIiwidGl0bGUiLCJva1RleHQiLCJjYW5jZWxUZXh0Iiwib25PayIsImRlZmF1bHRQYXJhbXMiLCJtZXRob2QiLCJwYXJhbXMiLCJpZHMiLCJqb2luIiwicmVxdWVzdFBhcmFtcyIsInRoZW4iLCJyZXMiLCJjb2RlIiwic3VjY2VzcyIsImVycm9yIiwiY2F0Y2giLCJjb25zb2xlIiwibG9nIiwidGFibGVSZWYiLCJzdG9yZSIsImxvYWQiLCJvblNlYXJjaCIsImZyb21WYWx1ZSIsInNlYXJjaFJlZiIsImdldEZpZWxkc1ZhbHVlIiwicmVsb2FkIiwicmVjb3JkIiwic2VsZWN0ZWQiLCJuZXdTZWxlY3RlZFJvd0tleXMiLCJuZXdTZWxlY3RlZFJvd0RhdGFzIiwiaWQiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzcGxpY2UiLCJzZWxlY3RlZFJvd3MiLCJjaGFuZ2VSb3dzIiwibmV3aWRzIiwibmV3ZGF0YXMiLCJjaGFuZ2VJZHMiLCJpbmRleE9mIiwicHVzaCIsInRvb2xidXR0b25zIiwiZmxhZyIsImNoaWxkcmVuIiwicGFnZVR5cGUiLCJvbkNsaWNrIiwiaWNvbiIsIm1hcmdpbkxlZnQiLCJjb2x1bW5CdXR0b25zIiwiZWRpdG9yRm9ybSIsImJ1dHRvbnMiLCJuZXdCdXR0b25zIiwicmVjb3JkU2hvdyIsImV2YWwiLCJzZWxlY3RlZEtleXMiLCJzZWxlY3RlZE5vZGVzIiwia2V5d29yZCIsInRyZWVQcm9wcyIsInNlYXJjaEtleSIsInNlYXJjaEZpZWxkIiwiaXNMZWFmIiwiZGF0YXJlZiIsImF0dHJpYnV0ZSIsInJlc2V0RmllbGRzIiwidGV4dCIsIm5ld1RleHQiLCJpIiwibGFiZWwiLCJjb2x1bW5zIiwic2hvd1NlYXJjaCIsInN1Ym1pdFVybCIsInRhYmxlUHJvcHMiLCJzaG93TGVmdCIsInN1Ym1pdFBhcmFtcyIsInNob3dUb29sQnV0dG9uIiwib25TaG93Rm9ybSIsImZvcm1DaGFuZ2VWYWxpZCIsImNsYXNzTmFtZSIsImFjdGlvbkNvbHVtbnMiLCJmaWx0ZXJDb2x1bW4iLCJhY3Rpb25Db2x1bW4iLCJzaG93Um93U2VsZWN0aW9uIiwiY29sdW1uT3JkZXIiLCJvdGhlcnRhYmxlUGFyYW1zIiwidHJlZVN0b3JlIiwidHJlZVNlYXJjaCIsInRpdGxlQWxpYXMiLCJvdGhlcnRyZWVQYXJhbXMiLCJ0YWJsZVBhcmFtcyIsInJvd1NlbGVjdGlvbiIsIm9uU2VsZWN0Iiwicm93U2VsZWN0aW9uT25TZWxlY3QiLCJiaW5kIiwib25TZWxlY3RBbGwiLCJyb3dTZWxlY3Rpb25PblNlbGVjdEFsbCIsImNvbHVtbldpZHRoIiwidGFibGVDb2x1bW4iLCJzZWFyY2hGb3JtcyIsImVkaXRvckZvcm1zIiwiZGVmYXVsdFZhbHVlIiwidGVtcCIsInNlYXJjaCIsImZpZWxkIiwiZGF0YUluZGV4IiwiZWRpdG9yIiwicnVsZXMiLCJzcGFuIiwiZGljdE5hbWUiLCJ1bmRlZmluZWQiLCJjb2x1bW5TZWFyY2giLCJmaWx0ZXJQcm9wcyIsInRlbXBQcm9wIiwic3R5bGUiLCJyZW5kZXIiLCJnZXRUZXh0IiwiZWxsaXBzaXMiLCJjb2x1bW5TaG93Iiwic2VsZkJ1dHRvbnMiLCJzaG93Rm9ybSIsImFkZCIsImRlbGV0ZTMiLCJBcnJheSIsImlzQXJyYXkiLCJhbGlnbiIsIndpZHRoIiwiZml4ZWQiLCJyZW5kZXJDbG91bW5CdXR0b24iLCJoZWFkZXJDb3VudCIsInJlYWNvcmQiLCJkaXNwbGF5IiwidHJlZVNlbGVjdCIsInBsYWNlaG9sZGVyIiwibWFyZ2luVG9wIiwicmVzZXRTZWFyY2giLCJyZWZyZXNoIiwiYV9zdHlsZSIsInJlbmRlclRvb2xCdXR0b25zIiwicGFnaW5hdGlvbiIsImV4cGFuZEljb24iLCJleHBhbmRlZCIsIm9uRXhwYW5kIiwiZSIsImNoaWxkTm9kZXMiLCJ0YWJsZVJlbG9hZCIsIm9uU3VibWl0Iiwib25IaWRlRm9ybSIsIm9uRm9ybUNoYW5nZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQUNBLE9BQU9DLEtBQVAsTUFBa0Is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QUFBLFlBQVksRUFBRSxLQUFLL0wsS0FBTCxDQUFXZ00sWUFUM0I7QUFVRSxRQUFBLFFBQVEsRUFBRSxLQUFLaE0sS0FBTCxDQUFXVyxRQUFYLElBQXVCLEtBQUtJLEtBQUwsQ0FBV0osUUFWOUM7QUFXRSxRQUFBLFdBQVcsRUFBRStHO0FBWGYsUUFqSUosQ0FERjtBQWtKRDs7OztFQXZ3Qm9CbkosYTs7QUF5d0J2QixlQUFld0IsUUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCBUYWJsZSBmcm9tIFwiLi4vLi4vYmFzZS90YWJsZVwiO1xyXG5pbXBvcnQgVHJlZSBmcm9tIFwiLi4vLi4vYmFzZS90cmVlXCI7XHJcbmltcG9ydCBGb3JtIGZyb20gXCIuLi8uLi9iYXNlL2Zvcm1cIjtcclxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vYmFzZS9idXR0b25cIjtcclxuaW1wb3J0IE1vZGFsIGZyb20gXCIuLi8uLi9iYXNlL21vZGFsXCI7XHJcbmltcG9ydCBQb3BvdmVyIGZyb20gXCIuLi8uLi9iYXNlL3BvcG92ZXJcIjtcclxuaW1wb3J0IG1lc3NhZ2UgZnJvbSBcIi4uLy4uL2Jhc2UvbWVzc2FnZVwiO1xyXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vYmFzZS9jb21tb24vSWNvbkZvbnRcIjtcclxuaW1wb3J0IHsgaWNvblR5cGUgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCBFZGl0b3JGb3JtIGZyb20gXCIuL0Zvcm1cIjtcclxuaW1wb3J0IGNscyBmcm9tIFwiY2xhc3NuYW1lc1wiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lm1vZHVsZS5sZXNzXCI7XHJcbmltcG9ydCBTdG9yZSwgeyBQYWdlU3RvcmUsIFN0b3JlUHJvcHMgfSBmcm9tIFwiQGJqLW5zYy9tc25cIjtcclxuaW1wb3J0IHtcclxuICBEb3duT3V0bGluZWQsXHJcbiAgVXBPdXRsaW5lZCxcclxuICBFeWVPdXRsaW5lZCxcclxuICBFZGl0T3V0bGluZWQsXHJcbiAgUmlnaHRPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcywgZ2V0Tm9kZSB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQgcmVxdWVzdCBmcm9tIFwibnNjLXJlcXVlc3RcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vY29uZmlnXCI7XHJcbmltcG9ydCB7IGdldFN0b3JhZ2UgfSBmcm9tIFwiQGJqLW5zYy9mdW5jdGlvbnNcIjtcclxuaW50ZXJmYWNlIFRhYmxlUHJvcHMge1xyXG4gIGFjdGlvbkNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pON5L2c5YiXXHJcbiAgc3RvcmU/OiBTdG9yZVByb3BzO1xyXG4gIGZpbHRlckNvbHVtbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S66L+H5ruk5oyJ6ZKuXHJcbiAgc2hvd1Jvd1NlbGVjdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm6KGo5qC85Yu+6YCJ5YiXXHJcbiAgcGFnaW5hdGlvbj86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65YiG6aG1XHJcbiAgY29sdW1uT3JkZXI/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuihqOagvOW6j+WIl1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5pbnRlcmZhY2UgVHJlZVByb3BzIHtcclxuICBzdG9yZT86IFN0b3JlUHJvcHM7XHJcbiAgc2hvd1NlYXJjaD86IGJvb2xlYW47IC8v5piv5ZCm5pi+56S65pCc57Si5qGGXHJcbiAgc2VhcmNoS2V5Pzogc3RyaW5nOyAvL+aQnOe0onZhbHVl5a+55bqU55qEa2V5XHJcbiAgc2VhcmNoRmllbGQ/OiBzdHJpbmc7IC8v5p+l6K+i5a+55bqU55qEa2V5XHJcbiAgdGl0bGVBbGlhcz86IHN0cmluZzsgLy/moJF0aXRsZeWvueW6lOeahGtleSzpu5jorqR0aXRsZVxyXG4gIG5vZGVQb3Jwcz86IG9iamVjdDtcclxuICBbcHJvcHNOYW1lOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuaW50ZXJmYWNlIE5TQ0Jhc2VCYWdlUHJvcHMge1xyXG4gIHNob3dTZWFyY2g/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/OiBzdHJpbmcpID0+IHZvaWQ7IC8v5omT5byA6KGo5Y2V5Zue6LCDXHJcbiAgb25IaWRlRm9ybT86ICgpID0+IHZvaWQ7IC8v5omT5byA6KGo5Y2V5Zue6LCDXHJcbiAgb25Gb3JtQ2hhbmdlPzogKGNoYW5nZWRWYWx1ZXM/OiBhbnksIGFsbFZhbHVlcz86IGFueSkgPT4gdm9pZDsgLy/ooajljZVvbkNoYW5nZeWbnuiwg1xyXG4gIGZvcm1UeXBlPzogXCJtb2RhbFwiIHwgXCJkcmF3ZXJcIjtcclxuICBmb3JtQ2hhbmdlVmFsaWQ/OiBib29sZWFuOyAvL+ihqOWNleagoemqjFxyXG4gIGNsYXNzTmFtZT86IGFueTtcclxuICBhY3Rpb25Db2x1bW5zPzogQXJyYXk8YW55PjtcclxufVxyXG5cclxuY2xhc3MgQmFzZVBhZ2UgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PE5TQ0Jhc2VCYWdlUHJvcHMsIGFueT4ge1xyXG4gIHRhYmxlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICB0cmVlUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBzZWFyY2hSZWYgPSBSZWFjdC5jcmVhdGVSZWY8YW55PigpO1xyXG4gIGVkaXRvclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxhbnk+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBhbnkpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgIGxldCB7IHN0b3JlUHJlZml4IH0gPSBjb25maWcoKTtcclxuICAgIGxldCB0eXBlID0gZ2V0U3RvcmFnZShcclxuICAgICAgc3RvcmVQcmVmaXggPyBzdG9yZVByZWZpeCArIFwiLVwiICsgXCJmb3JtVHlwZVwiIDogXCJmb3JtVHlwZVwiXHJcbiAgICApO1xyXG4gICAgdHlwZSA9IHR5cGU/LmNvbnRlbnQ7XHJcbiAgICBsZXQgc2l6ZSA9IGdldFN0b3JhZ2UoXHJcbiAgICAgIHN0b3JlUHJlZml4ID8gc3RvcmVQcmVmaXggKyBcIi1cIiArIFwidGFibGVTaXplXCIgOiBcInRhYmxlU2l6ZVwiXHJcbiAgICApO1xyXG4gICAgdHlwZSA9IHR5cGU/LmNvbnRlbnQ7XHJcbiAgICBzaXplID0gc2l6ZT8uY29udGVudDtcclxuICAgIHRoaXMuc3RhdGUgPSB7XHJcbiAgICAgIHR5cGU6IFwiYWRkXCIsXHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogW10sXHJcbiAgICAgIHNlbGVjdGVkUm93RGF0YXM6IFtdLFxyXG4gICAgICB0cmVlU2VsZWN0ZWRLZXk6IFwiXCIsXHJcbiAgICAgIGV4cGFuZDogZmFsc2UsXHJcbiAgICAgIGZvcm1UeXBlOiB0eXBlIHx8IFwibW9kYWxcIixcclxuICAgICAgdGFibGVTaXplOiBzaXplIHx8IFwiZGVmYXVsdFwiLFxyXG4gICAgfTtcclxuICB9XHJcbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XHJcbiAgICBjb25zdCB7IGluaXREYXRhIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaW5pdERhdGEgJiYgaW5pdERhdGEoKTtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwibWVzc2FnZVwiLCB0aGlzLmxpc3Rlbk1lc3NhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XHJcbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgdGhpcy5saXN0ZW5NZXNzYWdlKTtcclxuICB9XHJcbiAgbGlzdGVuTWVzc2FnZSA9IChldikgPT4ge1xyXG4gICAgY29uc3QgZGF0YSA9IHR5cGVvZiBldi5kYXRhID09PSBcInN0cmluZ1wiID8gSlNPTi5wYXJzZShldi5kYXRhKSA6IGV2LmRhdGE7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKGRhdGEuZXZlbnRUeXBlID09IFwiY2hhbmdlRm9ybVR5cGVcIikge1xyXG4gICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGRhdGE7XHJcbiAgICAgIGlmIChwYXlsb2FkLnR5cGUgPT0gXCJtb2RhbFwiIHx8IHBheWxvYWQudHlwZSA9PSBcImRyYXdlclwiKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyBmb3JtVHlwZTogcGF5bG9hZC50eXBlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZGF0YS5ldmVudFR5cGUgPT0gXCJjaGFuZ2VUYWJsZVNpemVcIikge1xyXG4gICAgICBjb25zdCB7IHBheWxvYWQgfSA9IGRhdGE7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBwYXlsb2FkLnNpemUgPT0gXCJkZWZhdWx0XCIgfHxcclxuICAgICAgICBwYXlsb2FkLnNpemUgPT0gXCJzbWFsbFwiIHx8XHJcbiAgICAgICAgcGF5bG9hZC5zaXplID09IFwibWlkZGxlXCJcclxuICAgICAgKSB7XHJcbiAgICAgICAgX3RoaXMuc2V0U3RhdGUoeyB0YWJsZVNpemU6IHBheWxvYWQuc2l6ZSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH07XHJcbiAgb25TZWxlY3QgPSAoY2hlY2tlZFRyZWVLZXlzOiBhbnkpID0+IHtcclxuICAgIGNvbnN0IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHsgbmFtZSwgdXNlclR5cGUsIGFjY291bnQsIGRlcHRJZDogY2hlY2tlZFRyZWVLZXlzWzBdIH07XHJcbiAgICB0aGlzLnRhYmxlTG9hZCh2YWx1ZSk7XHJcbiAgfTtcclxuXHJcbiAgLy/mmL7npLrooajljZVcclxuICBzaG93Rm9ybSh2YWx1ZT86IGFueSwgZWRpdG9yZmxhZyA9IFwiYWRkXCIpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LnNob3codmFsdWUsIGVkaXRvcmZsYWcpO1xyXG4gIH1cclxuXHJcbiAgLy/lhbPpl63ooajljZVcclxuICBoaWRlRm9ybSgpIHtcclxuICAgIHRoaXMuZWRpdG9yUmVmLmN1cnJlbnQ/LmhpZGVGb3JtKCk7XHJcbiAgfVxyXG5cclxuICAvL+aJuemHj+WIoOmZpFxyXG4gIG9uRGVsZXRlKCkge1xyXG4gICAgY29uc3QgeyBkZWxldGVVcmwsIG9uRGVsZXRlLCBkZWxldGVQYXJhbXMgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IHNlbGVjdGVkUm93S2V5cyB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZFJvd0tleXMubGVuZ3RoID09IDApIHtcclxuICAgICAgbWVzc2FnZS53YXJuaW5nKFwi6K+36YCJ5oup6KaB5Yig6Zmk55qE5pWw5o2u77yBXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAob25EZWxldGUpIHtcclxuICAgICAgb25EZWxldGUgJiYgb25EZWxldGUoc2VsZWN0ZWRSb3dLZXlzKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkZWxldGVVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwidXJs5LiN6IO95Li656m677yBXCIpO1xyXG4gICAgfVxyXG4gICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgIHRpdGxlOiBcIuaYr+WQpuehruiupOWIoOmZpOaJgOmAiemhue+8n1wiLFxyXG4gICAgICBva1RleHQ6IFwi56Gu6K6kXCIsXHJcbiAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgIG9uT2s6ICgpID0+IHtcclxuICAgICAgICBjb25zdCBkZWZhdWx0UGFyYW1zID0ge1xyXG4gICAgICAgICAgbWV0aG9kOiBcInBvc3RcIixcclxuICAgICAgICAgIHBhcmFtczogeyBpZHM6IHNlbGVjdGVkUm93S2V5cy5qb2luKCkgfSxcclxuICAgICAgICB9O1xyXG4gICAgICAgIGxldCByZXF1ZXN0UGFyYW1zID0ge30gYXMgYW55O1xyXG4gICAgICAgIGlmIChkZWZhdWx0UGFyYW1zKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW1zID0geyAuLi5kZWxldGVQYXJhbXMgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVxdWVzdFBhcmFtcyA9IHsgLi4uZGVmYXVsdFBhcmFtcyB9O1xyXG4gICAgICAgIHJlcXVlc3QoZGVsZXRlVXJsLCB7XHJcbiAgICAgICAgICAuLi5yZXF1ZXN0UGFyYW1zLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLliKDpmaTmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWIoOmZpOWksei0pe+8gVwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRhYmxlTG9hZChwYXJhbXM6IGFueSkge1xyXG4gICAgdGhpcy50YWJsZVJlZi5jdXJyZW50Py5zdG9yZS5sb2FkKHtcclxuICAgICAgcGFyYW1zOiBwYXJhbXMsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgLy/mn6Xor6JcclxuICBvblNlYXJjaCgpIHtcclxuICAgIGNvbnN0IHsgb25TZWFyY2ggfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgaWYgKG9uU2VhcmNoKSB7XHJcbiAgICAgIG9uU2VhcmNoKGZyb21WYWx1ZSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudGFibGVMb2FkKGZyb21WYWx1ZSk7XHJcbiAgfVxyXG4gIC8v6KGo5qC86YeN5paw5Yqg6L29XHJcbiAgdGFibGVSZWxvYWQoKSB7XHJcbiAgICB0aGlzLnRhYmxlUmVmLmN1cnJlbnQ/LnN0b3JlLnJlbG9hZCgpO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZFJvd0tleXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0tleXM7XHJcbiAgfVxyXG4gIGdldFNlbGVjdGVkUm93RGF0YXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zZWxlY3RlZFJvd0RhdGFzO1xyXG4gIH1cclxuICBnZXRTZWFyY2hWYWx1ZXMoKSB7XHJcbiAgICBjb25zdCBmcm9tVmFsdWUgPSB0aGlzLnNlYXJjaFJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgcmV0dXJuIGZyb21WYWx1ZTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW9uT25TZWxlY3QocmVjb3JkOiBhbnksIHNlbGVjdGVkOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzLCBzZWxlY3RlZFJvd0RhdGFzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IG5ld1NlbGVjdGVkUm93S2V5cyA9IFsuLi5zZWxlY3RlZFJvd0tleXNdO1xyXG4gICAgbGV0IG5ld1NlbGVjdGVkUm93RGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhc107XHJcbiAgICBpZiAoc2VsZWN0ZWQpIHtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzID0gWy4uLm5ld1NlbGVjdGVkUm93S2V5cywgcmVjb3JkLmlkXTtcclxuICAgICAgbmV3U2VsZWN0ZWRSb3dEYXRhcyA9IFsuLi5uZXdTZWxlY3RlZFJvd0RhdGFzLCByZWNvcmRdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2VsZWN0ZWRSb3dLZXlzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0gPT09IHJlY29yZC5pZCkge1xyXG4gICAgICAgICAgbmV3U2VsZWN0ZWRSb3dLZXlzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgc2VsZWN0ZWRSb3dEYXRhcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChpdGVtLmlkID09PSByZWNvcmQuaWQpIHtcclxuICAgICAgICAgIG5ld1NlbGVjdGVkUm93RGF0YXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHNlbGVjdGVkUm93S2V5czogbmV3U2VsZWN0ZWRSb3dLZXlzLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBuZXdTZWxlY3RlZFJvd0RhdGFzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJvd1NlbGVjdGlvbk9uU2VsZWN0QWxsKHNlbGVjdGVkOiBhbnksIHNlbGVjdGVkUm93czogYW55LCBjaGFuZ2VSb3dzOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgc2VsZWN0ZWRSb3dLZXlzLCBzZWxlY3RlZFJvd0RhdGFzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgbGV0IG5ld2lkczogYW55ID0gW107XHJcbiAgICBsZXQgbmV3ZGF0YXM6IGFueSA9IFtdO1xyXG4gICAgaWYgKGNoYW5nZVJvd3MubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgY2hhbmdlSWRzID0gY2hhbmdlUm93cy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5pZCk7XHJcbiAgICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICAgIG5ld2lkcyA9IFsuLi5zZWxlY3RlZFJvd0tleXMsIC4uLmNoYW5nZUlkc107XHJcbiAgICAgICAgbmV3ZGF0YXMgPSBbLi4uc2VsZWN0ZWRSb3dEYXRhcywgLi4uY2hhbmdlUm93c107XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2VsZWN0ZWRSb3dLZXlzLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2hhbmdlSWRzLmluZGV4T2YoaXRlbSkgPT0gLTEpIHtcclxuICAgICAgICAgICAgbmV3aWRzLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgc2VsZWN0ZWRSb3dEYXRhcy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNoYW5nZUlkcy5pbmRleE9mKGl0ZW0uaWQpID09IC0xKSB7XHJcbiAgICAgICAgICAgIG5ld2RhdGFzLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5ld2lkcyA9IFsuLi5zZWxlY3RlZFJvd0tleXNdO1xyXG4gICAgICBuZXdkYXRhcyA9IFsuLi5zZWxlY3RlZFJvd0RhdGFzXTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzZWxlY3RlZFJvd0tleXM6IFsuLi5uZXdpZHNdLFxyXG4gICAgICBzZWxlY3RlZFJvd0RhdGFzOiBbLi4ubmV3ZGF0YXNdLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlclRvb2xCdXR0b25zKHRvb2xidXR0b25zOiBhbnkpIHtcclxuICAgIGNvbnN0IGZsYWcgPSB0b29sYnV0dG9ucy5sZW5ndGggPiA1O1xyXG4gICAgY29uc3QgY29udGVudCA9IHRvb2xidXR0b25zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIHBhZ2VUeXBlLCBvbkNsaWNrLCBpY29uLCBzaG93LCAuLi5wYXJhbXMgfSA9IGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChpbmRleCA+IDQpIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzc05hbWU9e2NscyhcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIiksXHJcbiAgICAgICAgICAgICAgZ2V0TGVzcyhzdHlsZXMsIFwiY29udGVudC1pdGVtXCIpXHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2soKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT57aWNvbn08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+e2NoaWxkcmVufTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidG9vbC1idXR0b25zXCIpfVxyXG4gICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDAgfX1cclxuICAgICAgPlxyXG4gICAgICAgIHt0b29sYnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICAgICAgaWYgKGluZGV4IDwgNCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PjtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PSA0KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlPXtudWxsfVxyXG4gICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICAgICB0cmlnZ2VyPXtbXCJjbGlja1wiXX1cclxuICAgICAgICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzW1wicG9wLWJveFwiXX3ilrJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB0eXBlPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIOabtOWkmiA8RG93bk91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9Qb3BvdmVyPlxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9PntpdGVtfTwvZGl2PjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxuICByZW5kZXJDbG91bW5CdXR0b24oY29sdW1uQnV0dG9uczogYW55LCByZWNvcmQ6IGFueSkge1xyXG4gICAgY29uc3QgeyBlZGl0b3JGb3JtID0gdHJ1ZSwgYnV0dG9ucyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3QgbmV3QnV0dG9ucyA9IFtdO1xyXG4gICAgY29sdW1uQnV0dG9ucy5tYXAoKGl0ZW06IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCB7IGNoaWxkcmVuLCBwYWdlVHlwZSwgb25DbGljaywgaWNvbiwgcmVjb3JkU2hvdywgLi4ucGFyYW1zIH0gPVxyXG4gICAgICAgIGl0ZW0ucHJvcHM7XHJcbiAgICAgIGlmIChyZWNvcmRTaG93KSB7XHJcbiAgICAgICAgaWYgKGV2YWwocmVjb3JkU2hvdykpIHtcclxuICAgICAgICAgIG5ld0J1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV3QnV0dG9ucy5wdXNoKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGZsYWcgPSBuZXdCdXR0b25zLmxlbmd0aCA+IDM7XHJcblxyXG4gICAgY29uc3QgY29udGVudCA9IG5ld0J1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIGljb24sIHNob3csIC4uLnBhcmFtcyB9ID0gaXRlbS5wcm9wcztcclxuICAgICAgaWYgKGluZGV4ID4gMSkge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcImVkaXRvclwiKSxcclxuICAgICAgICAgICAgICBnZXRMZXNzKHN0eWxlcywgXCJjb250ZW50LWl0ZW1cIilcclxuICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9uQ2xpY2sgJiYgb25DbGljayhyZWNvcmQpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7Li4ucGFyYW1zfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT57Y2hpbGRyZW59PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5ld0J1dHRvbnMubWFwKChpdGVtOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgeyBjaGlsZHJlbiwgcGFnZVR5cGUsIG9uQ2xpY2ssIGljb24sIC4uLnBhcmFtcyB9ID0gaXRlbS5wcm9wcztcclxuICAgICAgaWYgKGZsYWcpIHtcclxuICAgICAgICBpZiAoaW5kZXggPCAyKSB7XHJcbiAgICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIHsuLi5wYXJhbXN9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9PntpY29ufTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRleHRcIil9PntjaGlsZHJlbn08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09IDIpIHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxQb3BvdmVyXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICB0aXRsZT17bnVsbH1cclxuICAgICAgICAgICAgICBjb250ZW50PXtjb250ZW50fVxyXG4gICAgICAgICAgICAgIHRyaWdnZXI9e1tcImNsaWNrXCJdfVxyXG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgICAgLy8gb3ZlcmxheUNsYXNzTmFtZT17c3R5bGVzWydwb3AnXX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9PlxyXG4gICAgICAgICAgICAgICAgJm5ic3A7IOabtOWkmlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT5cclxuICAgICAgICAgICAgICAgICAgPERvd25PdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L1BvcG92ZXI+XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIGtleT17aW5kZXh9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICBvbkNsaWNrICYmIG9uQ2xpY2socmVjb3JkKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgey4uLnBhcmFtc31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfT57aWNvbn08L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+e2NoaWxkcmVufTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gfVxyXG4gIH1cclxuICAvL+agkeeCueWHu+S6i+S7tlxyXG4gIHRyZWVTZWxlY3Qoc2VsZWN0ZWRLZXlzOiBhbnksIHsgc2VsZWN0ZWQsIHNlbGVjdGVkTm9kZXMgfTogYW55KSB7XHJcbiAgICBsZXQga2V5d29yZCA9IFwiXCI7XHJcbiAgICBjb25zdCB7IHNlYXJjaEtleSA9IFwia2V5XCIsIHNlYXJjaEZpZWxkID0gXCJcIiB9ID0gdGhpcy5wcm9wcy50cmVlUHJvcHM7XHJcbiAgICBjb25zdCB7IHRyZWVTZWxlY3RlZEtleSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICBpZiAoc2VsZWN0ZWROb2Rlc1swXS5pc0xlYWYgfHwgIXNlbGVjdGVkTm9kZXNbMF0uY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzWzBdICE9PSB0cmVlU2VsZWN0ZWRLZXkpIHtcclxuICAgICAgICAgIC8vIGxldCBtYXBEYXRhID0gdGhpcy50cmVlUmVmLmN1cnJlbnQ/LnN0b3JlLmdldEZsYXR0ZW5EYXRhKCk7XHJcbiAgICAgICAgICBrZXl3b3JkID0gc2VsZWN0ZWROb2Rlc1swXS5kYXRhcmVmLmF0dHJpYnV0ZVtzZWFyY2hLZXldO1xyXG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgIHRyZWVTZWxlY3RlZEtleTogc2VsZWN0ZWRLZXlzWzBdLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICB0cmVlU2VsZWN0ZWRLZXk6IGtleXdvcmQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZnJvbVZhbHVlID0gdGhpcy5zZWFyY2hSZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIHNlYXJjaEZpZWxkICYmIHRoaXMudGFibGVMb2FkKHsgLi4uZnJvbVZhbHVlLCBbc2VhcmNoRmllbGRdOiBrZXl3b3JkIH0pO1xyXG4gIH1cclxuICByZXNldFNlYXJjaCgpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG4gIGdldFRleHQocHJvcHMsIHRleHQpIHtcclxuICAgIGxldCBuZXdUZXh0ID0gdGV4dDtcclxuICAgIGlmIChwcm9wcz8uZGF0YSAmJiBwcm9wcz8uZGF0YT8ubGVuZ3RoID4gMCkge1xyXG4gICAgICBsZXQgZGF0YSA9IHByb3BzLmRhdGE7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YT8ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZGF0YVtpXS52YWx1ZSA9PSB0ZXh0KSB7XHJcbiAgICAgICAgICBuZXdUZXh0ID0gZGF0YVtpXS5sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBuZXdUZXh0O1xyXG4gIH1cclxuXHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBzZWxlY3RlZFJvd0tleXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGNvbHVtbnMgPSBbXSxcclxuICAgICAgc2hvd1NlYXJjaCA9IHRydWUsXHJcbiAgICAgIGNoaWxkcmVuLFxyXG4gICAgICBzdWJtaXRVcmwgPSBcIlwiLFxyXG4gICAgICB0YWJsZVByb3BzID0ge30sXHJcbiAgICAgIHRyZWVQcm9wcyA9IHt9LFxyXG4gICAgICBzaG93TGVmdCA9IGZhbHNlLFxyXG4gICAgICBzdWJtaXRQYXJhbXMgPSB7fSxcclxuICAgICAgc2hvd1Rvb2xCdXR0b24gPSB0cnVlLFxyXG4gICAgICBidXR0b25zID0gW10sXHJcbiAgICAgIGVkaXRvckZvcm0gPSB0cnVlLFxyXG4gICAgICBvblNob3dGb3JtLFxyXG4gICAgICBmb3JtQ2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgICBjbGFzc05hbWUsXHJcbiAgICAgIGFjdGlvbkNvbHVtbnMgPSBbXSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzdG9yZSA9IHt9LFxyXG4gICAgICBmaWx0ZXJDb2x1bW4gPSB0cnVlLFxyXG4gICAgICBhY3Rpb25Db2x1bW4gPSB0cnVlLFxyXG4gICAgICBzaG93Um93U2VsZWN0aW9uID0gdHJ1ZSxcclxuICAgICAgY29sdW1uT3JkZXIgPSB0cnVlLFxyXG4gICAgICAuLi5vdGhlcnRhYmxlUGFyYW1zXHJcbiAgICB9ID0gdGFibGVQcm9wcztcclxuXHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHN0b3JlOiB0cmVlU3RvcmUgPSB7fSxcclxuICAgICAgc2hvd1NlYXJjaDogdHJlZVNlYXJjaCA9IHRydWUsXHJcbiAgICAgIHRpdGxlQWxpYXMgPSBcInRpdGxlXCIsXHJcbiAgICAgIC4uLm90aGVydHJlZVBhcmFtc1xyXG4gICAgfSA9IHRyZWVQcm9wcztcclxuXHJcbiAgICBsZXQgdGFibGVQYXJhbXMgPSB7IGZpbHRlckNvbHVtbiwgc3RvcmUsIC4uLm90aGVydGFibGVQYXJhbXMgfSBhcyBhbnk7XHJcblxyXG4gICAgaWYgKHNob3dSb3dTZWxlY3Rpb24pIHtcclxuICAgICAgdGFibGVQYXJhbXMgPSB7XHJcbiAgICAgICAgLi4udGFibGVQYXJhbXMsXHJcbiAgICAgICAgcm93U2VsZWN0aW9uOiB7XHJcbiAgICAgICAgICBzZWxlY3RlZFJvd0tleXM6IHNlbGVjdGVkUm93S2V5cyxcclxuICAgICAgICAgIG9uU2VsZWN0OiB0aGlzLnJvd1NlbGVjdGlvbk9uU2VsZWN0LmJpbmQodGhpcyksXHJcbiAgICAgICAgICBvblNlbGVjdEFsbDogdGhpcy5yb3dTZWxlY3Rpb25PblNlbGVjdEFsbC5iaW5kKHRoaXMpLFxyXG4gICAgICAgICAgY29sdW1uV2lkdGg6IDQwLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBsZXQgdGFibGVDb2x1bW46IGFueVtdID0gW107XHJcbiAgICBjb25zdCBzZWFyY2hGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBlZGl0b3JGb3JtczogYW55ID0gW107XHJcbiAgICBjb25zdCBkZWZhdWx0VmFsdWU6IGFueSA9IHt9O1xyXG4gICAgY29uc3QgY29sdW1uQnV0dG9uczogYW55ID0gW107XHJcbiAgICBjb2x1bW5zLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgIGxldCB0ZW1wID0geyAuLi5pdGVtIH07XHJcbiAgICAgIGlmICh0ZW1wLnNlYXJjaCkge1xyXG4gICAgICAgIHNlYXJjaEZvcm1zLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogdGVtcC5maWVsZCB8fCB0ZW1wLmRhdGFJbmRleCxcclxuICAgICAgICAgIGxhYmVsOiB0ZW1wLnRpdGxlLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZGVsZXRlIHRlbXAuc2VhcmNoO1xyXG4gICAgICB0ZW1wLmVkaXRvciAhPT0gZmFsc2UgJiZcclxuICAgICAgICBlZGl0b3JGb3Jtcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXgsXHJcbiAgICAgICAgICBsYWJlbDogdGVtcC50aXRsZSxcclxuICAgICAgICAgIHJ1bGVzOiB0ZW1wLnJ1bGVzLFxyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgc3BhbjogdGVtcC5zcGFuLFxyXG4gICAgICAgICAgZGljdE5hbWU6IHRlbXAuZGljdE5hbWUsXHJcbiAgICAgICAgICBwcm9wczogb21pdCh7IC4uLnRlbXAucHJvcHMgfSwgW1wiZGVmYXVsdFZhbHVlXCIsIFwidmFsdWVcIl0pLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgICB0ZW1wLnByb3BzPy5kZWZhdWx0VmFsdWUgIT09IG51bGxcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IHRlbXAuZmllbGQgfHwgdGVtcC5kYXRhSW5kZXg7XHJcbiAgICAgICAgZGVmYXVsdFZhbHVlW25hbWVdID0gdGVtcC5wcm9wcz8uZGVmYXVsdFZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnJ1bGVzO1xyXG4gICAgICBkZWxldGUgdGVtcC5zcGFuO1xyXG4gICAgICBpZiAodGVtcC5jb2x1bW5TZWFyY2gpIHtcclxuICAgICAgICB0ZW1wLmZpbHRlclByb3BzID0ge1xyXG4gICAgICAgICAgdHlwZTogdGVtcC50eXBlLFxyXG4gICAgICAgICAgcHJvcHM6IHRlbXAucHJvcHMsXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICBkZWxldGUgdGVtcC50eXBlO1xyXG4gICAgICBsZXQgdGVtcFByb3AgPSB7IC4uLnRlbXAucHJvcHMgfTtcclxuICAgICAgaWYgKHRlbXAuc3R5bGUpIHtcclxuICAgICAgICB0ZW1wID0ge1xyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgIHt0ZXh0ICE9PSBcIlwiICYmIHRleHQgIT09IG51bGwgJiYgdGV4dCAhPT0gdW5kZWZpbmVkICYmIChcclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb2wtYmFja1wiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJjb2wtdGV4dFwiKX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7dGhpcy5nZXRUZXh0KHRlbXBQcm9wLCB0ZXh0KX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC8+XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZWxsaXBzaXM6IHRydWUsXHJcbiAgICAgICAgICAuLi50ZW1wLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGVtcCA9IHtcclxuICAgICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gPD57dGhpcy5nZXRUZXh0KHRlbXBQcm9wLCB0ZXh0KX08Lz47XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4udGVtcCxcclxuICAgICAgICB9O1xyXG4gICAgICB9XHJcbiAgICAgIGRlbGV0ZSB0ZW1wLnByb3BzO1xyXG4gICAgICBpZiAodGVtcD8uY29sdW1uU2hvdyAhPT0gZmFsc2UpIHRhYmxlQ29sdW1uLnB1c2godGVtcCk7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlbGZCdXR0b25zOiBhbnkgPSBbXTtcclxuXHJcbiAgICBpZiAoZWRpdG9yRm9ybSA9PSB0cnVlKSB7XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJzZWFyY2hcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICBvblNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBcImRldGFpbFwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJkZXRhaWxcIik7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+XHJcbiAgICAgICAgICAgICAgPEV5ZU91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0ZXh0XCIpfT7mn6XnnIs8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChidXR0b25zLmluZGV4T2YoXCJlZGl0b3JcIikgPiAtMSkge1xyXG4gICAgICAgIGNvbHVtbkJ1dHRvbnMucHVzaChcclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJlZGl0b3JcIil9XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhyZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChvblNob3dGb3JtKSB7XHJcbiAgICAgICAgICAgICAgICBvblNob3dGb3JtKHJlY29yZC5hdHRyaWJ1dGUgfHwgcmVjb3JkLCBcImVkaXRvclwiKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Rm9ybShyZWNvcmQuYXR0cmlidXRlIHx8IHJlY29yZCwgXCJlZGl0b3JcIik7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX0+XHJcbiAgICAgICAgICAgICAgPEVkaXRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwidGV4dFwiKX0+57yW6L6RPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImFkZFwiKSA+IC0xKSB7XHJcbiAgICAgIHNlbGZCdXR0b25zLnB1c2goXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgb25TaG93Rm9ybSB9ID0gdGhpcy5wcm9wcztcclxuICAgICAgICAgICAgaWYgKG9uU2hvd0Zvcm0pIHtcclxuICAgICAgICAgICAgICBvblNob3dGb3JtKCk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zvcm0oKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5hZGR9IC8+fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOa3u+WKoFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbnMuaW5kZXhPZihcImRlbGV0ZVwiKSA+IC0xKSB7XHJcbiAgICAgIHNlbGZCdXR0b25zLnB1c2goXHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgLy8gdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLm9uRGVsZXRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBpY29uPXs8SWNvbiB0eXBlPXtpY29uVHlwZS5kZWxldGUzfSAvPn1cclxuICAgICAgICAgIGRhbmdlclxyXG4gICAgICAgID5cclxuICAgICAgICAgIOWIoOmZpFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XHJcbiAgICAgIGNoaWxkcmVuLm1hcCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgICAgc2VsZkJ1dHRvbnMucHVzaChpdGVtKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0/LnByb3BzPy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgICBjb2x1bW5CdXR0b25zLnB1c2goaXRlbSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3QgeyBwcm9wcyB9OiBhbnkgPSBjaGlsZHJlbjtcclxuICAgICAgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcInRvb2xCdXR0b25cIikge1xyXG4gICAgICAgIHNlbGZCdXR0b25zLnB1c2goY2hpbGRyZW4pO1xyXG4gICAgICB9IGVsc2UgaWYgKHByb3BzPy5wYWdlVHlwZSA9PSBcImNsb3VtbkJ1dHRvblwiKSB7XHJcbiAgICAgICAgY29sdW1uQnV0dG9ucy5wdXNoKGNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFjdGlvbkNvbHVtbiAmJlxyXG4gICAgICB0YWJsZUNvbHVtbi5wdXNoKHtcclxuICAgICAgICB0aXRsZTogXCLmk43kvZxcIixcclxuICAgICAgICBkYXRhSW5kZXg6IFwiYWN0aW9uXCIsXHJcbiAgICAgICAgYWxpZ246IFwiY2VudGVyXCIsXHJcbiAgICAgICAgd2lkdGg6IDI1MCxcclxuICAgICAgICBmaXhlZDogXCJyaWdodFwiLFxyXG4gICAgICAgIGVsbGlwc2lzOiB0cnVlLFxyXG4gICAgICAgIHJlbmRlcjogKHRleHQ6IGFueSwgcmVjb3JkOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJhY3Rpb25cIil9PlxyXG4gICAgICAgICAgICAgIHt0aGlzLnJlbmRlckNsb3VtbkJ1dHRvbihjb2x1bW5CdXR0b25zLCByZWNvcmQpfVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICBjb25zdCBoZWFkZXJDb3VudCA9IHNob3dMZWZ0ID8gMiA6IDM7XHJcbiAgICBpZiAoY29sdW1uT3JkZXIpXHJcbiAgICAgIHRhYmxlQ29sdW1uID0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiBcIiNcIixcclxuICAgICAgICAgIHdpZHRoOiAzMCxcclxuICAgICAgICAgIGFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgICAgcmVuZGVyOiAodGV4dCwgcmVhY29yZCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIDw+e2luZGV4ICsgMX08Lz47XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLi4udGFibGVDb2x1bW4sXHJcbiAgICAgIF07XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3NOYW1lPXtjbHMoZ2V0TGVzcyhzdHlsZXMsIFwicGFnZVwiKSwgY2xhc3NOYW1lKX1cclxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fVxyXG4gICAgICA+XHJcbiAgICAgICAge3Nob3dMZWZ0ICYmIChcclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJsZWZ0XCIpfT5cclxuICAgICAgICAgICAgPFRyZWVcclxuICAgICAgICAgICAgICBzdG9yZT17eyAuLi50cmVlU3RvcmUgfX1cclxuICAgICAgICAgICAgICBzaG93SWNvbj17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgY2hlY2thYmxlPXtmYWxzZX1cclxuICAgICAgICAgICAgICBzZWFyY2hhYmxlPXt0cmVlU2VhcmNofVxyXG4gICAgICAgICAgICAgIG9uU2VsZWN0PXt0aGlzLnRyZWVTZWxlY3QuYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICBzZWxlY3RlZEtleXM9e1t0aGlzLnN0YXRlLnRyZWVTZWxlY3RlZEtleV19XHJcbiAgICAgICAgICAgICAgdGl0bGVBbGlhcz17dGl0bGVBbGlhc31cclxuICAgICAgICAgICAgICB7Li4ub3RoZXJ0cmVlUGFyYW1zfVxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKX1cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwicmlnaHRcIil9PlxyXG4gICAgICAgICAge3Nob3dTZWFyY2ggJiYgKFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaGVhZGVyXCIpfT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Y2xzKHsgW2dldExlc3Moc3R5bGVzLCBcImZvcm1cIildOiAhc2hvd0xlZnQgfSl9PlxyXG4gICAgICAgICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgICAgICAgcmVmPXt0aGlzLnNlYXJjaFJlZn1cclxuICAgICAgICAgICAgICAgICAgbGFiZWxDb2w9e3t9fVxyXG4gICAgICAgICAgICAgICAgICB3cmFwcGVyQ29sPXt7fX1cclxuICAgICAgICAgICAgICAgICAgbGF5b3V0PVwiaW5saW5lXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3NlYXJjaEZvcm1zLm1hcCgoaXRlbTogYW55LCBpbmRleDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gaGVhZGVyQ291bnQgJiYgIXRoaXMuc3RhdGUuZXhwYW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8Rm9ybS5JdGVtXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtpdGVtLmxhYmVsfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtpdGVtLm5hbWV9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJ1bGVzPXtpdGVtLnJ1bGVzfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2luZGV4fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7Z2V0Tm9kZShpdGVtLnR5cGUsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5pdGVtLnByb3BzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBg6K+36L6T5YWlJHtpdGVtLmxhYmVsfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgfSl9XHJcbiAgICAgICAgICAgICAgICA8L0Zvcm0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJzZWFyY2gtYnV0dG9uc1wiKX1cclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblRvcDogMCB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMub25TZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUuc2VhcmNofSAvPn1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAg5p+l6K+iXHJcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxCdXR0b25cclxuICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMucmVzZXRTZWFyY2guYmluZCh0aGlzKX1cclxuICAgICAgICAgICAgICAgICAgaWNvbj17PEljb24gdHlwZT17aWNvblR5cGUucmVmcmVzaH0gLz59XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIOmHjee9rlxyXG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgICAgICAgICAgICB7c2VhcmNoRm9ybXMubGVuZ3RoID4gMyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMuYV9zdHlsZX1cclxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGV4cGFuZCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQ6ICFleHBhbmQsXHJcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gXCLmlLbotbdcIiA6IFwi5bGV5byAXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUuZXhwYW5kID8gPFVwT3V0bGluZWQgLz4gOiA8RG93bk91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7c2hvd1Rvb2xCdXR0b24gJiYgdGhpcy5yZW5kZXJUb29sQnV0dG9ucyhzZWxmQnV0dG9ucyl9XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xzKFxyXG4gICAgICAgICAgICAgIGdldExlc3Moc3R5bGVzLCBcInRhYmxlXCIpLFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJ0YWJsZS1wYWdlXCIpXTpcclxuICAgICAgICAgICAgICAgICAgdGFibGVQcm9wcy5wYWdpbmF0aW9uICE9PSBmYWxzZSxcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIFtnZXRMZXNzKHN0eWxlcywgXCJ0YWJsZS1wYWdlLW5vdG9vbFwiKV06XHJcbiAgICAgICAgICAgICAgICAgIHNob3dUb29sQnV0dG9uID09PSBmYWxzZSB8fCBzZWxmQnV0dG9ucy5sZW5ndGggPT0gMCxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxUYWJsZVxyXG4gICAgICAgICAgICAgIHJlZj17dGhpcy50YWJsZVJlZn1cclxuICAgICAgICAgICAgICBjb2x1bW5zPXt0YWJsZUNvbHVtbn1cclxuICAgICAgICAgICAgICBleHBhbmRhYmxlPXt7XHJcbiAgICAgICAgICAgICAgICBleHBhbmRJY29uOiAoeyBleHBhbmRlZCwgb25FeHBhbmQsIHJlY29yZCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgICAgICAgICAgPD5cclxuICAgICAgICAgICAgICAgICAgICAgIHtleHBhbmRlZCA/IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgPERvd25PdXRsaW5lZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBvbkV4cGFuZChyZWNvcmQsIGUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZXhwYW5kLWljb25cIil9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmQuY2hpbGROb2RlcyAmJiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFJpZ2h0T3V0bGluZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiBvbkV4cGFuZChyZWNvcmQsIGUpfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJleHBhbmQtaWNvblwiKX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIDwvPlxyXG4gICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNvbHVtbk9yZGVyPXt0cnVlfVxyXG4gICAgICAgICAgICAgIGJvcmRlcmVkPXt0cnVlfVxyXG4gICAgICAgICAgICAgIHNpemU9e3RoaXMuc3RhdGUudGFibGVTaXplfVxyXG4gICAgICAgICAgICAgIHsuLi50YWJsZVBhcmFtc31cclxuICAgICAgICAgICAgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIHtlZGl0b3JGb3JtICYmIChcclxuICAgICAgICAgIDxFZGl0b3JGb3JtXHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5lZGl0b3JSZWZ9XHJcbiAgICAgICAgICAgIGNhbGxCYWNrPXt0aGlzLnRhYmxlUmVsb2FkLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgIGZvcm1Qcm9wcz17ZWRpdG9yRm9ybXN9XHJcbiAgICAgICAgICAgIHN1Ym1pdFVybD17c3VibWl0VXJsfVxyXG4gICAgICAgICAgICBzdWJtaXRQYXJhbXM9e3N1Ym1pdFBhcmFtc31cclxuICAgICAgICAgICAgb25TdWJtaXQ9e3RoaXMucHJvcHMub25TdWJtaXR9XHJcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxyXG4gICAgICAgICAgICBvbkhpZGVGb3JtPXt0aGlzLnByb3BzLm9uSGlkZUZvcm19XHJcbiAgICAgICAgICAgIG9uRm9ybUNoYW5nZT17dGhpcy5wcm9wcy5vbkZvcm1DaGFuZ2V9XHJcbiAgICAgICAgICAgIGZvcm1UeXBlPXt0aGlzLnByb3BzLmZvcm1UeXBlIHx8IHRoaXMuc3RhdGUuZm9ybVR5cGV9XHJcbiAgICAgICAgICAgIGNoYW5nZVZhbGlkPXtmb3JtQ2hhbmdlVmFsaWR9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICl9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgQmFzZVBhZ2U7XHJcbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  .page {
2
- min-height: 550px;
2
+ min-height: 540px;
3
3
  // height: 100%;
4
4
  display: flex;
5
5
  .left {
@@ -80,12 +80,19 @@
80
80
  margin-top: 20px;
81
81
  }
82
82
  .ant-table {
83
- height: 30vw;
83
+ height: 400px;
84
84
  color: #606266;
85
85
  overflow-y: auto;
86
86
  }
87
87
  }
88
88
  }
89
+ .table-page-notool {
90
+ :global {
91
+ .ant-table {
92
+ height: 440px;
93
+ }
94
+ }
95
+ }
89
96
  }
90
97
 
91
98
  .action {
@@ -134,3 +141,10 @@
134
141
  font-size: 10px;
135
142
  margin-right: 6px;
136
143
  }
144
+ .form {
145
+ :gloabl {
146
+ .ant-picker {
147
+ width: 100%;
148
+ }
149
+ }
150
+ }
package/lib/treeUtils.js CHANGED
@@ -108,7 +108,17 @@ export function getEffectiveMenuDatas(menusDatas, keys, searchText) {
108
108
  color: color
109
109
  }
110
110
  }, searchText);
111
- item.set(fieldOption.titleField, /*#__PURE__*/React.createElement("span", null, before, font, after));
111
+ var subtitle = item.attribute.subtitle ? /*#__PURE__*/React.createElement("span", {
112
+ style: {
113
+ color: "rgba(0,0,0,.45)"
114
+ }
115
+ }, "\uFF08".concat(item.attribute.subtitle, "\uFF09")) : null;
116
+ var titleNode = null;
117
+ console.log("title", title);
118
+ var showtitle = item.attribute.subtitle ? title + "(" + item.attribute.subtitle + ")" : title;
119
+ item.set(fieldOption.titleField, /*#__PURE__*/React.createElement("span", {
120
+ title: showtitle
121
+ }, before, font, after, subtitle));
112
122
  }
113
123
 
114
124
  if (isExist && item.childNodes) {
@@ -171,4 +181,4 @@ export default {
171
181
  getEffectiveMenuDatas: getEffectiveMenuDatas,
172
182
  getSearchMenuDatas: getSearchMenuDatas
173
183
  };
174
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL3RyZWVVdGlscy50c3giXSwibmFtZXMiOlsiaXNFcXVhbCIsIlJlYWN0IiwiZ2V0QnJlYWRjcnVtYk1hcCIsIm1lbnVEYXRhcyIsImZpZWxkT3B0aW9uIiwia2V5RmllbGQiLCJ0aXRsZUZpZWxkIiwicGF0aHNGaWVsZCIsInRpdGxlTWFwIiwiZmxhdHRlbk1lbnVEYXRhIiwiZGF0YSIsInBhdGhzIiwiZm9yRWFjaCIsIm1lbnVJdGVtIiwic2V0IiwiY29uY2F0IiwiZ2V0IiwiY2hpbGROb2RlcyIsImdldEVmZmVjdGl2ZU5vZGVLZXlzIiwiYnJlYWRjcnVtYk1hcCIsInNlYXJjaFRleHQiLCJrZXlzIiwiT2JqZWN0Iiwia2V5IiwiaSIsIml0ZW0iLCJTdHJpbmciLCJpbmRleE9mIiwibWFwIiwidiIsImdldEVmZmVjdGl2ZU1lbnVEYXRhcyIsIm1lbnVzRGF0YXMiLCJjb2xvciIsIm5ld01lbnVzRGF0YXMiLCJsZW5ndGgiLCJpc0V4aXN0IiwidGl0bGUiLCJzcGxpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJiZWZvcmUiLCJzdWJzdHJpbmciLCJhZnRlciIsImZvbnQiLCJnZXRTZWFyY2hNZW51RGF0YXMiLCJ0aGl6IiwiY2FjaGVrZXkiLCJnZXRNb2RlbCIsImdldENsb25lTW9kZWxEYXRhIiwidHJlZURhdGFzIiwiZGF0YXMiLCJvcGVuS2V5cyIsInB1c2giXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE9BQVAsTUFBb0IsZ0JBQXBCO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixPQUFsQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxTQUFTQyxnQkFBVCxDQUNMQyxTQURLLEVBR0w7QUFBQSxNQURBQyxXQUNBLHVFQURjO0FBQUVDLElBQUFBLFFBQVEsRUFBRSxLQUFaO0FBQW1CQyxJQUFBQSxVQUFVLEVBQUUsT0FBL0I7QUFBd0NDLElBQUFB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ZTNCLGFBQS9CO0FBQ0Q7QUFDRixHQVhELE1BV087QUFDTEEsSUFBQUEsYUFBYSxHQUFHakIsZ0JBQWdCLENBQUM2QixVQUFELEVBQWEzQixXQUFiLENBQWhDO0FBQ0Q7O0FBQ0QsTUFBTWlCLElBQUksR0FBR0gsb0JBQW9CLENBQUNDLGFBQUQsRUFBZ0JDLFVBQWhCLEVBQTRCaEIsV0FBNUIsQ0FBakM7QUFDQSxNQUFNOEMsS0FBSyxHQUFHcEIscUJBQXFCLENBQ2pDQyxVQURpQyxFQUVqQ1YsSUFGaUMsRUFHakNXLEtBQUssR0FBR1osVUFBSCxHQUFnQixJQUhZLEVBSWpDaEIsV0FKaUMsRUFLakM0QixLQUxpQyxDQUFuQztBQU9BLE1BQUltQixRQUFRLEdBQUcsRUFBZjtBQUNBN0IsRUFBQUEsTUFBTSxDQUFDRCxJQUFQLENBQVlBLElBQVosRUFBa0JULE9BQWxCLENBQTBCLFVBQUNXLEdBQUQsRUFBTUMsQ0FBTixFQUFZO0FBQ3BDMkIsSUFBQUEsUUFBUSxDQUFDQyxJQUFULENBQWM3QixHQUFkO0FBQ0QsR0FGRDtBQUdBLFNBQU87QUFDTDRCLElBQUFBLFFBQVEsRUFBRUEsUUFETDtBQUVMRixJQUFBQSxTQUFTLEVBQUVDO0FBRk4sR0FBUDtBQUlEO0FBRUQsZUFBZTtBQUNiaEQsRUFBQUEsZ0JBQWdCLEVBQWhCQSxnQkFEYTtBQUViZ0IsRUFBQUEsb0JBQW9CLEVBQXBCQSxvQkFGYTtBQUdiWSxFQUFBQSxxQkFBcUIsRUFBckJBLHFCQUhhO0FBSWJjLEVBQUFBLGtCQUFrQixFQUFsQkE7QUFKYSxDQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGlzRXF1YWwgZnJvbSBcImxvZGFzaC9pc0VxdWFsXCI7XHJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcclxuXHJcbi8qKlxyXG4gKiDojrflj5bpnaLljIXlsZHmmKDlsIRcclxuICoge1xyXG4gKiAgICBrZXkxOntwYXRoczpbJ2tleTEnXSx0aXRsZTon57O757uf566h55CGJ31cclxuICogICAga2V5Mjp7cGF0aHM6WydrZXkxJywna2V5MiddLHRpdGxlOiflip/og73phY3nva4nfVxyXG4gKiAgICBrZXkzOntwYXRoczpbJ2tleTEnLCdrZXkyJywna2V5MyddLHRpdGxlOifoj5zljZXnrqHnkIYnLHBhdGg6Jy9wbGF0Zm9ybS9tZW51J31cclxuICogfVxyXG4gKiBAcGFyYW0ge29iamVjdFtdfSBtZW51RGF0YXMgIOagkeW9oue7k+aehOaVsOaNrlxyXG4gKiBAcGFyYW0ge09iamVjdH0gZmllbGRPcHRpb24gIOWFs+mUruWtl+auteWQjeensO+8jOe8uuecgXsga2V5RmllbGQ6ICdrZXknLCB0aXRsZUZpZWxkOiAndGl0bGUnLHBhdGhzRmllbGQ6J3BhdGhzJyB9XHJcbiAqIEByZXR1cm5zIHtNYXB9XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnJlYWRjcnVtYk1hcChcclxuICBtZW51RGF0YXMsXHJcbiAgZmllbGRPcHRpb24gPSB7IGtleUZpZWxkOiBcImtleVwiLCB0aXRsZUZpZWxkOiBcInRpdGxlXCIsIHBhdGhzRmllbGQ6IFwicGF0aHNcIiB9XHJcbikge1xyXG4gIGNvbnN0IHRpdGxlTWFwID0ge307XHJcbiAgY29uc3QgZmxhdHRlbk1lbnVEYXRhID0gKGRhdGEsIHBhdGhzID0gW10pID0+IHtcclxuICAgIGRhdGEuZm9yRWFjaCgobWVudUl0ZW0pID0+IHtcclxuICAgICAgbWVudUl0ZW0uc2V0KFxyXG4gICAgICAgIGZpZWxkT3B0aW9uLnBhdGhzRmllbGQsXHJcbiAgICAgICAgcGF0aHMuY29uY2F0KG1lbnVJdGVtLmdldChmaWVsZE9wdGlvbi5rZXlGaWVsZCkpXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChtZW51SXRlbS5jaGlsZE5vZGVzKSB7XHJcbiAgICAgICAgZmxhdHRlbk1lbnVEYXRhKFxyXG4gICAgICAgICAgbWVudUl0ZW0uY2hpbGROb2RlcyxcclxuICAgICAgICAgIG1lbnVJdGVtLmdldChmaWVsZE9wdGlvbi5wYXRoc0ZpZWxkKVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1lbnVJdGVtLmdldChmaWVsZE9wdGlvbi5rZXlGaWVsZCkpIHtcclxuICAgICAgICB0aXRsZU1hcFttZW51SXRlbS5nZXQoZmllbGRPcHRpb24ua2V5RmllbGQpXSA9IG1lbnVJdGVtO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9O1xyXG4gIGZsYXR0ZW5NZW51RGF0YShtZW51RGF0YXMpO1xyXG4gIHJldHVybiB0aXRsZU1hcDtcclxufVxyXG5cclxuLyoqXHJcbiAqIOWIpOaWreiPnOWNlU1hcOWvueixoeS4reespuWQiOadoeS7tueahOWvueixoVxyXG4gKiAgICBrZXkxOntwYXRoczpbJ2tleTEnXSx0aXRsZTon57O757uf566h55CGJ31cclxuICogICAga2V5Mjp7cGF0aHM6WydrZXkxJywna2V5MiddLHRpdGxlOiflip/og73phY3nva4nfVxyXG4gKiAgICBrZXkzOntwYXRoczpbJ2tleTEnLCdrZXkyJywna2V5MyddLHRpdGxlOifoj5zljZXnrqHnkIYnLHBhdGg6Jy9wbGF0Zm9ybS9tZW51J31cclxuICog5pCc57Si44CK566h55CG44CL5ZCO6L+U5ZueXHJcbiAqICAgIHtrZXkxOidrZXkxJyxrZXkyOidrZXkyJyxrZXkzOidrZXkzJ31cclxuICogQHBhcmFtIHtNYXA8U3RyaW5nLE9iamVjdD59IGJyZWFkY3J1bWJNYXAgIOiPnOWNlemdouWMheWxkVxyXG4gKiBAcGFyYW0geyBTdHJpbmcgfSBzZWFyY2hUZXh0ICDmkJzntKLlhoXlrrlcclxuICogQHBhcmFtIHtPYmplY3R9IGZpZWxkT3B0aW9uICDlhbPplK7lrZfmrrXlkI3np7DvvIznvLrnnIF7IGtleUZpZWxkOiAna2V5JywgdGl0bGVGaWVsZDogJ3RpdGxlJyxwYXRoc0ZpZWxkOidwYXRocycgfVxyXG4gKiBAcmV0dXJucyB7TWFwPFN0cmluZyxTdHJpbmc+fVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVmZmVjdGl2ZU5vZGVLZXlzKFxyXG4gIGJyZWFkY3J1bWJNYXAsXHJcbiAgc2VhcmNoVGV4dCxcclxuICBmaWVsZE9wdGlvbiA9IHsga2V5RmllbGQ6IFwia2V5XCIsIHRpdGxlRmllbGQ6IFwidGl0bGVcIiwgcGF0aHNGaWVsZDogXCJwYXRoc1wiIH1cclxuKSB7XHJcbiAgY29uc3Qga2V5cyA9IHt9O1xyXG4gIE9iamVjdC5rZXlzKGJyZWFkY3J1bWJNYXApLmZvckVhY2goKGtleSwgaSkgPT4ge1xyXG4gICAgY29uc3QgaXRlbSA9IGJyZWFkY3J1bWJNYXBba2V5XTtcclxuICAgIGlmIChTdHJpbmcoaXRlbS5nZXQoZmllbGRPcHRpb24udGl0bGVGaWVsZCkpLmluZGV4T2Yoc2VhcmNoVGV4dCkgIT0gLTEpIHtcclxuICAgICAgY29uc3QgcGF0aHMgPSBpdGVtLmdldChmaWVsZE9wdGlvbi5wYXRoc0ZpZWxkKTtcclxuICAgICAgcGF0aHMubWFwKCh2KSA9PiB7XHJcbiAgICAgICAga2V5c1t2XSA9IHY7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH0pO1xyXG4gIHJldHVybiBrZXlzO1xyXG59XHJcblxyXG4vKipcclxuICog6I635Y+W6L+H5ruk5ZCO5pi+56S655qE6I+c5Y2V5pWw5o2uXHJcbiAqIEBwYXJhbSB7T2JqZWN0W119IG1lbnVzRGF0YXMgIOagkeW9oue7k+aehOaVsOaNrlxyXG4gKiBAcGFyYW0ge1N0cmluZ1tdfSBrZXlzICDmnInmlYjnmoToj5zljZXoioLngrlcclxuICogQHBhcmFtIHtTdHJpbmd9IHNlYXJjaFRleHQgIOaQnOe0ouWGheWuue+8jOmdnuW/heWhq1xyXG4gKiBAcGFyYW0ge09iamVjdH0gZmllbGRPcHRpb24gIOWFs+mUruWtl+auteWQjeensO+8jOe8uuecgXsga2V5RmllbGQ6ICdrZXknLCB0aXRsZUZpZWxkOiAndGl0bGUnLHBhdGhzRmllbGQ6J3BhdGhzJyB9XHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2xvciAgIOaQnOe0ouWGheWuuemHjeeCueminOiJsuagh+ivhu+8jOmdnuW/heWhq++8jOe8uuecgXJlZFxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEVmZmVjdGl2ZU1lbnVEYXRhcyhcclxuICBtZW51c0RhdGFzLFxyXG4gIGtleXMsXHJcbiAgc2VhcmNoVGV4dCxcclxuICBmaWVsZE9wdGlvbiA9IHsga2V5RmllbGQ6IFwia2V5XCIsIHRpdGxlRmllbGQ6IFwidGl0bGVcIiwgcGF0aHNGaWVsZDogXCJwYXRoc1wiIH0sXHJcbiAgY29sb3IgPSBcInJlZFwiXHJcbikge1xyXG4gIGNvbnN0IG5ld01lbnVzRGF0YXMgPSBbXTtcclxuICBjb25zdCBmbGF0dGVuTWVudURhdGEgPSAoZGF0YSkgPT4ge1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkYXRhLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSBkYXRhW2ldO1xyXG4gICAgICBjb25zdCBpc0V4aXN0ID0ga2V5c1tpdGVtLmdldChmaWVsZE9wdGlvbi5rZXlGaWVsZCldICE9IG51bGw7XHJcbiAgICAgIGNvbnN0IHRpdGxlID0gU3RyaW5nKGl0ZW0uZ2V0KGZpZWxkT3B0aW9uLnRpdGxlRmllbGQpKTtcclxuICAgICAgaWYgKCFpc0V4aXN0KSB7XHJcbiAgICAgICAgZGF0YS5zcGxpY2UoaSwgMSk7IC8vIOWwhuS9v+WQjumdoueahOWFg+e0oOS+neasoeWJjeenu++8jOaVsOe7hOmVv+W6puWHjzFcclxuICAgICAgICBpLS07IC8vIOWmguaenOS4jeWHj++8jOWwhua8j+aOieS4gOS4quWFg+e0oFxyXG4gICAgICB9IGVsc2UgaWYgKHNlYXJjaFRleHQgJiYgdGl0bGUuaW5kZXhPZihzZWFyY2hUZXh0KSAhPSAtMSkge1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSB0aXRsZS5pbmRleE9mKHNlYXJjaFRleHQpO1xyXG4gICAgICAgIGNvbnN0IGVuZEluZGV4ID0gc3RhcnRJbmRleCArIHNlYXJjaFRleHQubGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IHRpdGxlLnN1YnN0cmluZygwLCBzdGFydEluZGV4KTtcclxuICAgICAgICBjb25zdCBhZnRlciA9IHRpdGxlLnN1YnN0cmluZyhlbmRJbmRleCwgdGl0bGUubGVuZ3RoKTtcclxuICAgICAgICBjb25zdCBmb250OiBSZWFjdC5SZWFjdEVsZW1lbnQgPSAoXHJcbiAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvciB9fT57c2VhcmNoVGV4dH08L3NwYW4+XHJcbiAgICAgICAgKTtcclxuICAgICAgICBpdGVtLnNldChcclxuICAgICAgICAgIGZpZWxkT3B0aW9uLnRpdGxlRmllbGQsXHJcbiAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAge2JlZm9yZX1cclxuICAgICAgICAgICAge2ZvbnR9XHJcbiAgICAgICAgICAgIHthZnRlcn1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpc0V4aXN0ICYmIGl0ZW0uY2hpbGROb2Rlcykge1xyXG4gICAgICAgIGZsYXR0ZW5NZW51RGF0YShpdGVtLmNoaWxkTm9kZXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICBmbGF0dGVuTWVudURhdGEobWVudXNEYXRhcyk7XHJcbiAgcmV0dXJuIG1lbnVzRGF0YXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDmkJzntKLoj5zljZXmlbDmja7vvIznp7vpmaTkuI3nrKblkIjnmoToj5zljZXlkozkuI3pnIDopoHnmoTnm67lvZXnu5PmnoTvvIznvLrnnIHnrKblkIjlhoXlrrnmoIfnuqJcclxuICogQHBhcmFtIHtPYmplY3R9IHRoaXogIG1lbnXoj5zljZXlr7nosaHvvIznvJPlrZjml7blgJnlrZjlgqjmlbDmja7kvb/nlKhcclxuICogQHBhcmFtIHtTdHJpbmd9IHNlYXJjaFRleHQgIOaQnOe0ouWGheWuuVxyXG4gKiBAcGFyYW0ge09iamVjdH0gZmllbGRPcHRpb24gIOWFs+mUruWtl+auteWQjeensO+8jOe8uuecgXsga2V5RmllbGQ6ICdrZXknLCB0aXRsZUZpZWxkOiAndGl0bGUnLHBhdGhzRmllbGQ6J3BhdGhzJyB9XHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2xvciAgIOaQnOe0ouWGheWuuemHjeeCueminOiJsuagh+ivhu+8jOmdnuW/heWhq++8jOe8uuecgXJlZCzlvZNmYWxzZeaXtuWAme+8jOS4lOS4jemHjeeCueagh+azqOminOiJslxyXG4gKiBAcGFyYW0ge1N0cmluZ30gY2FjaGVrZXkgICDnvJPlrZjmlbDmja7lrZjlgqhrZXnvvIznvLrnnIFuc2NfbWVudV9jYWNoZVxyXG4gKiBAcmV0dXJucyB7Kn0ge29wZW5LZXlzOnt9LHRyZWVEYXRhczpbXX1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWFyY2hNZW51RGF0YXMoXHJcbiAgdGhpeixcclxuICBzZWFyY2hUZXh0LFxyXG4gIGZpZWxkT3B0aW9uID0geyBrZXlGaWVsZDogXCJrZXlcIiwgdGl0bGVGaWVsZDogXCJ0aXRsZVwiLCBwYXRoc0ZpZWxkOiBcInBhdGhzXCIgfSxcclxuICBjb2xvciA9IFwicmVkXCIsXHJcbiAgY2FjaGVrZXkgPSBcIm5zY19tZW51X2NhY2hlXCJcclxuKSB7XHJcbiAgbGV0IGJyZWFkY3J1bWJNYXAgPSB7fSxcclxuICAgIG1lbnVzRGF0YXMgPSB0aGl6LmdldE1vZGVsKCkuZ2V0Q2xvbmVNb2RlbERhdGEoKTtcclxuICBpZiAodGhpeikge1xyXG4gICAgaWYgKCF0aGl6W2NhY2hla2V5XSkgdGhpeltjYWNoZWtleV0gPSB7fTtcclxuICAgIGlmICghaXNFcXVhbChtZW51c0RhdGFzLCB0aGl6W2NhY2hla2V5XS50cmVlRGF0YXMpKSB7XHJcbiAgICAgIHRoaXpbY2FjaGVrZXldLmJyZWFkY3J1bWJNYXAgPSBicmVhZGNydW1iTWFwID0gZ2V0QnJlYWRjcnVtYk1hcChcclxuICAgICAgICBtZW51c0RhdGFzLFxyXG4gICAgICAgIGZpZWxkT3B0aW9uXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXpbY2FjaGVrZXldLnRyZWVEYXRhcyA9IG1lbnVzRGF0YXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBicmVhZGNydW1iTWFwID0gdGhpeltjYWNoZWtleV0uYnJlYWRjcnVtYk1hcDtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgYnJlYWRjcnVtYk1hcCA9IGdldEJyZWFkY3J1bWJNYXAobWVudXNEYXRhcywgZmllbGRPcHRpb24pO1xyXG4gIH1cclxuICBjb25zdCBrZXlzID0gZ2V0RWZmZWN0aXZlTm9kZUtleXMoYnJlYWRjcnVtYk1hcCwgc2VhcmNoVGV4dCwgZmllbGRPcHRpb24pO1xyXG4gIGNvbnN0IGRhdGFzID0gZ2V0RWZmZWN0aXZlTWVudURhdGFzKFxyXG4gICAgbWVudXNEYXRhcyxcclxuICAgIGtleXMsXHJcbiAgICBjb2xvciA/IHNlYXJjaFRleHQgOiBudWxsLFxyXG4gICAgZmllbGRPcHRpb24sXHJcbiAgICBjb2xvclxyXG4gICk7XHJcbiAgbGV0IG9wZW5LZXlzID0gW107XHJcbiAgT2JqZWN0LmtleXMoa2V5cykuZm9yRWFjaCgoa2V5LCBpKSA9PiB7XHJcbiAgICBvcGVuS2V5cy5wdXNoKGtleSk7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHtcclxuICAgIG9wZW5LZXlzOiBvcGVuS2V5cyxcclxuICAgIHRyZWVEYXRhczogZGF0YXMsXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGdldEJyZWFkY3J1bWJNYXAsXHJcbiAgZ2V0RWZmZWN0aXZlTm9kZUtleXMsXHJcbiAgZ2V0RWZmZWN0aXZlTWVudURhdGFzLFxyXG4gIGdldFNlYXJjaE1lbnVEYXRhcyxcclxufTtcclxuIl19
184
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL3RyZWVVdGlscy50c3giXSwibmFtZXMiOlsiaXNFcXVhbCIsIlJlYWN0IiwiZ2V0QnJlYWRjcnVtYk1hcCIsIm1lbnVEYXRhcyIsImZpZWxkT3B0aW9uIiwia2V5RmllbGQiLCJ0aXRsZUZpZWxkIiwicGF0aHNGaWVsZCIsInRpdGxlTWFwIiwiZmxhdHRlbk1lbnVEYXRhIiwiZGF0YSIsInBhdGhzIiwiZm9yRWFjaCIsIm1lbnVJdGVtIiwic2V0IiwiY29uY2F0IiwiZ2V0IiwiY2hpbGROb2RlcyIsImdldEVmZmVjdGl2ZU5vZGVLZXlzIiwiYnJlYWRjcnVtYk1hcCIsInNlYXJjaFRleHQiLCJrZXlzIiwiT2JqZWN0Iiwia2V5IiwiaSIsIml0ZW0iLCJTdHJpbmciLCJpbmRleE9mIiwibWFwIiwidiIsImdldEVmZmVjdGl2ZU1lbnVEYXRhcyIsIm1lbnVzRGF0YXMiLCJjb2xvciIsIm5ld01lbnVzRGF0YXMiLCJsZW5ndGgiLCJpc0V4aXN0IiwidGl0bGUiLCJzcGxpY2UiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJiZWZvcmUiLCJzdWJzdHJpbmciLCJhZnRlciIsImZvbnQiLCJzdWJ0aXRsZSIsImF0dHJpYnV0ZSIsInRpdGxlTm9kZSIsImNvbnNvbGUiLCJsb2ciLCJzaG93dGl0bGUiLCJnZXRTZWFyY2hNZW51RGF0YXMiLCJ0aGl6IiwiY2FjaGVrZXkiLCJnZXRNb2RlbCIsImdldENsb25lTW9kZWxEYXRhIiwidHJlZURhdGFzIiwiZGF0YXMiLCJvcGVuS2V5cyIsInB1c2giXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE9BQVAsTUFBb0IsZ0JBQXBCO0FBQ0EsT0FBT0MsS0FBUCxNQUFrQixPQUFsQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxTQUFTQyxnQkFBVCxDQUNMQyxTQURLLEVBR0w7QUFBQSxNQURBQyxXQUNBLHVFQURjO0FBQUVD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Q0FBQ0MsSUFBVCxDQUFjbkMsR0FBZDtBQUNELEdBRkQ7QUFHQSxTQUFPO0FBQ0xrQyxJQUFBQSxRQUFRLEVBQUVBLFFBREw7QUFFTEYsSUFBQUEsU0FBUyxFQUFFQztBQUZOLEdBQVA7QUFJRDtBQUVELGVBQWU7QUFDYnRELEVBQUFBLGdCQUFnQixFQUFoQkEsZ0JBRGE7QUFFYmdCLEVBQUFBLG9CQUFvQixFQUFwQkEsb0JBRmE7QUFHYlksRUFBQUEscUJBQXFCLEVBQXJCQSxxQkFIYTtBQUlib0IsRUFBQUEsa0JBQWtCLEVBQWxCQTtBQUphLENBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaXNFcXVhbCBmcm9tIFwibG9kYXNoL2lzRXF1YWxcIjtcclxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5cclxuLyoqXHJcbiAqIOiOt+WPlumdouWMheWxkeaYoOWwhFxyXG4gKiB7XHJcbiAqICAgIGtleTE6e3BhdGhzOlsna2V5MSddLHRpdGxlOifns7vnu5/nrqHnkIYnfVxyXG4gKiAgICBrZXkyOntwYXRoczpbJ2tleTEnLCdrZXkyJ10sdGl0bGU6J+WKn+iDvemFjee9rid9XHJcbiAqICAgIGtleTM6e3BhdGhzOlsna2V5MScsJ2tleTInLCdrZXkzJ10sdGl0bGU6J+iPnOWNleeuoeeQhicscGF0aDonL3BsYXRmb3JtL21lbnUnfVxyXG4gKiB9XHJcbiAqIEBwYXJhbSB7b2JqZWN0W119IG1lbnVEYXRhcyAg5qCR5b2i57uT5p6E5pWw5o2uXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBmaWVsZE9wdGlvbiAg5YWz6ZSu5a2X5q615ZCN56ew77yM57y655yBeyBrZXlGaWVsZDogJ2tleScsIHRpdGxlRmllbGQ6ICd0aXRsZScscGF0aHNGaWVsZDoncGF0aHMnIH1cclxuICogQHJldHVybnMge01hcH1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCcmVhZGNydW1iTWFwKFxyXG4gIG1lbnVEYXRhcyxcclxuICBmaWVsZE9wdGlvbiA9IHsga2V5RmllbGQ6IFwia2V5XCIsIHRpdGxlRmllbGQ6IFwidGl0bGVcIiwgcGF0aHNGaWVsZDogXCJwYXRoc1wiIH1cclxuKSB7XHJcbiAgY29uc3QgdGl0bGVNYXAgPSB7fTtcclxuICBjb25zdCBmbGF0dGVuTWVudURhdGEgPSAoZGF0YSwgcGF0aHMgPSBbXSkgPT4ge1xyXG4gICAgZGF0YS5mb3JFYWNoKChtZW51SXRlbSkgPT4ge1xyXG4gICAgICBtZW51SXRlbS5zZXQoXHJcbiAgICAgICAgZmllbGRPcHRpb24ucGF0aHNGaWVsZCxcclxuICAgICAgICBwYXRocy5jb25jYXQobWVudUl0ZW0uZ2V0KGZpZWxkT3B0aW9uLmtleUZpZWxkKSlcclxuICAgICAgKTtcclxuICAgICAgaWYgKG1lbnVJdGVtLmNoaWxkTm9kZXMpIHtcclxuICAgICAgICBmbGF0dGVuTWVudURhdGEoXHJcbiAgICAgICAgICBtZW51SXRlbS5jaGlsZE5vZGVzLFxyXG4gICAgICAgICAgbWVudUl0ZW0uZ2V0KGZpZWxkT3B0aW9uLnBhdGhzRmllbGQpXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobWVudUl0ZW0uZ2V0KGZpZWxkT3B0aW9uLmtleUZpZWxkKSkge1xyXG4gICAgICAgIHRpdGxlTWFwW21lbnVJdGVtLmdldChmaWVsZE9wdGlvbi5rZXlGaWVsZCldID0gbWVudUl0ZW07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH07XHJcbiAgZmxhdHRlbk1lbnVEYXRhKG1lbnVEYXRhcyk7XHJcbiAgcmV0dXJuIHRpdGxlTWFwO1xyXG59XHJcblxyXG4vKipcclxuICog5Yik5pat6I+c5Y2VTWFw5a+56LGh5Lit56ym5ZCI5p2h5Lu255qE5a+56LGhXHJcbiAqICAgIGtleTE6e3BhdGhzOlsna2V5MSddLHRpdGxlOifns7vnu5/nrqHnkIYnfVxyXG4gKiAgICBrZXkyOntwYXRoczpbJ2tleTEnLCdrZXkyJ10sdGl0bGU6J+WKn+iDvemFjee9rid9XHJcbiAqICAgIGtleTM6e3BhdGhzOlsna2V5MScsJ2tleTInLCdrZXkzJ10sdGl0bGU6J+iPnOWNleeuoeeQhicscGF0aDonL3BsYXRmb3JtL21lbnUnfVxyXG4gKiDmkJzntKLjgIrnrqHnkIbjgIvlkI7ov5Tlm55cclxuICogICAge2tleTE6J2tleTEnLGtleTI6J2tleTInLGtleTM6J2tleTMnfVxyXG4gKiBAcGFyYW0ge01hcDxTdHJpbmcsT2JqZWN0Pn0gYnJlYWRjcnVtYk1hcCAg6I+c5Y2V6Z2i5YyF5bGRXHJcbiAqIEBwYXJhbSB7IFN0cmluZyB9IHNlYXJjaFRleHQgIOaQnOe0ouWGheWuuVxyXG4gKiBAcGFyYW0ge09iamVjdH0gZmllbGRPcHRpb24gIOWFs+mUruWtl+auteWQjeensO+8jOe8uuecgXsga2V5RmllbGQ6ICdrZXknLCB0aXRsZUZpZWxkOiAndGl0bGUnLHBhdGhzRmllbGQ6J3BhdGhzJyB9XHJcbiAqIEByZXR1cm5zIHtNYXA8U3RyaW5nLFN0cmluZz59XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWZmZWN0aXZlTm9kZUtleXMoXHJcbiAgYnJlYWRjcnVtYk1hcCxcclxuICBzZWFyY2hUZXh0LFxyXG4gIGZpZWxkT3B0aW9uID0geyBrZXlGaWVsZDogXCJrZXlcIiwgdGl0bGVGaWVsZDogXCJ0aXRsZVwiLCBwYXRoc0ZpZWxkOiBcInBhdGhzXCIgfVxyXG4pIHtcclxuICBjb25zdCBrZXlzID0ge307XHJcbiAgT2JqZWN0LmtleXMoYnJlYWRjcnVtYk1hcCkuZm9yRWFjaCgoa2V5LCBpKSA9PiB7XHJcbiAgICBjb25zdCBpdGVtID0gYnJlYWRjcnVtYk1hcFtrZXldO1xyXG4gICAgaWYgKFN0cmluZyhpdGVtLmdldChmaWVsZE9wdGlvbi50aXRsZUZpZWxkKSkuaW5kZXhPZihzZWFyY2hUZXh0KSAhPSAtMSkge1xyXG4gICAgICBjb25zdCBwYXRocyA9IGl0ZW0uZ2V0KGZpZWxkT3B0aW9uLnBhdGhzRmllbGQpO1xyXG4gICAgICBwYXRocy5tYXAoKHYpID0+IHtcclxuICAgICAgICBrZXlzW3ZdID0gdjtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbiAgcmV0dXJuIGtleXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDojrflj5bov4fmu6TlkI7mmL7npLrnmoToj5zljZXmlbDmja5cclxuICogQHBhcmFtIHtPYmplY3RbXX0gbWVudXNEYXRhcyAg5qCR5b2i57uT5p6E5pWw5o2uXHJcbiAqIEBwYXJhbSB7U3RyaW5nW119IGtleXMgIOacieaViOeahOiPnOWNleiKgueCuVxyXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VhcmNoVGV4dCAg5pCc57Si5YaF5a6577yM6Z2e5b+F5aGrXHJcbiAqIEBwYXJhbSB7T2JqZWN0fSBmaWVsZE9wdGlvbiAg5YWz6ZSu5a2X5q615ZCN56ew77yM57y655yBeyBrZXlGaWVsZDogJ2tleScsIHRpdGxlRmllbGQ6ICd0aXRsZScscGF0aHNGaWVsZDoncGF0aHMnIH1cclxuICogQHBhcmFtIHtTdHJpbmd9IGNvbG9yICAg5pCc57Si5YaF5a656YeN54K56aKc6Imy5qCH6K+G77yM6Z2e5b+F5aGr77yM57y655yBcmVkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWZmZWN0aXZlTWVudURhdGFzKFxyXG4gIG1lbnVzRGF0YXMsXHJcbiAga2V5cyxcclxuICBzZWFyY2hUZXh0LFxyXG4gIGZpZWxkT3B0aW9uID0geyBrZXlGaWVsZDogXCJrZXlcIiwgdGl0bGVGaWVsZDogXCJ0aXRsZVwiLCBwYXRoc0ZpZWxkOiBcInBhdGhzXCIgfSxcclxuICBjb2xvciA9IFwicmVkXCJcclxuKSB7XHJcbiAgY29uc3QgbmV3TWVudXNEYXRhcyA9IFtdO1xyXG4gIGNvbnN0IGZsYXR0ZW5NZW51RGF0YSA9IChkYXRhKSA9PiB7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgaXRlbSA9IGRhdGFbaV07XHJcbiAgICAgIGNvbnN0IGlzRXhpc3QgPSBrZXlzW2l0ZW0uZ2V0KGZpZWxkT3B0aW9uLmtleUZpZWxkKV0gIT0gbnVsbDtcclxuICAgICAgY29uc3QgdGl0bGUgPSBTdHJpbmcoaXRlbS5nZXQoZmllbGRPcHRpb24udGl0bGVGaWVsZCkpO1xyXG4gICAgICBpZiAoIWlzRXhpc3QpIHtcclxuICAgICAgICBkYXRhLnNwbGljZShpLCAxKTsgLy8g5bCG5L2/5ZCO6Z2i55qE5YWD57Sg5L6d5qyh5YmN56e777yM5pWw57uE6ZW/5bqm5YePMVxyXG4gICAgICAgIGktLTsgLy8g5aaC5p6c5LiN5YeP77yM5bCG5ryP5o6J5LiA5Liq5YWD57SgXHJcbiAgICAgIH0gZWxzZSBpZiAoc2VhcmNoVGV4dCAmJiB0aXRsZS5pbmRleE9mKHNlYXJjaFRleHQpICE9IC0xKSB7XHJcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IHRpdGxlLmluZGV4T2Yoc2VhcmNoVGV4dCk7XHJcbiAgICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgc2VhcmNoVGV4dC5sZW5ndGg7XHJcbiAgICAgICAgY29uc3QgYmVmb3JlID0gdGl0bGUuc3Vic3RyaW5nKDAsIHN0YXJ0SW5kZXgpO1xyXG4gICAgICAgIGNvbnN0IGFmdGVyID0gdGl0bGUuc3Vic3RyaW5nKGVuZEluZGV4LCB0aXRsZS5sZW5ndGgpO1xyXG4gICAgICAgIGNvbnN0IGZvbnQ6IFJlYWN0LlJlYWN0RWxlbWVudCA9IChcclxuICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGNvbG9yIH19PntzZWFyY2hUZXh0fTwvc3Bhbj5cclxuICAgICAgICApO1xyXG4gICAgICAgIGNvbnN0IHN1YnRpdGxlID0gaXRlbS5hdHRyaWJ1dGUuc3VidGl0bGUgPyAoXHJcbiAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogXCJyZ2JhKDAsMCwwLC40NSlcIiB9fVxyXG4gICAgICAgICAgPntg77yIJHtpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZX3vvIlgfTwvc3Bhbj5cclxuICAgICAgICApIDogbnVsbDtcclxuICAgICAgICBsZXQgdGl0bGVOb2RlID0gbnVsbDtcclxuICAgICAgICBjb25zb2xlLmxvZyhcInRpdGxlXCIsIHRpdGxlKTtcclxuICAgICAgICBjb25zdCBzaG93dGl0bGUgPSBpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZVxyXG4gICAgICAgICAgPyB0aXRsZSArIFwi77yIXCIgKyBpdGVtLmF0dHJpYnV0ZS5zdWJ0aXRsZSArIFwi77yJXCJcclxuICAgICAgICAgIDogdGl0bGU7XHJcbiAgICAgICAgaXRlbS5zZXQoXHJcbiAgICAgICAgICBmaWVsZE9wdGlvbi50aXRsZUZpZWxkLFxyXG4gICAgICAgICAgPHNwYW4gdGl0bGU9e3Nob3d0aXRsZX0+XHJcbiAgICAgICAgICAgIHtiZWZvcmV9XHJcbiAgICAgICAgICAgIHtmb250fVxyXG4gICAgICAgICAgICB7YWZ0ZXJ9XHJcbiAgICAgICAgICAgIHtzdWJ0aXRsZX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChpc0V4aXN0ICYmIGl0ZW0uY2hpbGROb2Rlcykge1xyXG4gICAgICAgIGZsYXR0ZW5NZW51RGF0YShpdGVtLmNoaWxkTm9kZXMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICBmbGF0dGVuTWVudURhdGEobWVudXNEYXRhcyk7XHJcbiAgcmV0dXJuIG1lbnVzRGF0YXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDmkJzntKLoj5zljZXmlbDmja7vvIznp7vpmaTkuI3nrKblkIjnmoToj5zljZXlkozkuI3pnIDopoHnmoTnm67lvZXnu5PmnoTvvIznvLrnnIHnrKblkIjlhoXlrrnmoIfnuqJcclxuICogQHBhcmFtIHtPYmplY3R9IHRoaXogIG1lbnXoj5zljZXlr7nosaHvvIznvJPlrZjml7blgJnlrZjlgqjmlbDmja7kvb/nlKhcclxuICogQHBhcmFtIHtTdHJpbmd9IHNlYXJjaFRleHQgIOaQnOe0ouWGheWuuVxyXG4gKiBAcGFyYW0ge09iamVjdH0gZmllbGRPcHRpb24gIOWFs+mUruWtl+auteWQjeensO+8jOe8uuecgXsga2V5RmllbGQ6ICdrZXknLCB0aXRsZUZpZWxkOiAndGl0bGUnLHBhdGhzRmllbGQ6J3BhdGhzJyB9XHJcbiAqIEBwYXJhbSB7U3RyaW5nfSBjb2xvciAgIOaQnOe0ouWGheWuuemHjeeCueminOiJsuagh+ivhu+8jOmdnuW/heWhq++8jOe8uuecgXJlZCzlvZNmYWxzZeaXtuWAme+8jOS4lOS4jemHjeeCueagh+azqOminOiJslxyXG4gKiBAcGFyYW0ge1N0cmluZ30gY2FjaGVrZXkgICDnvJPlrZjmlbDmja7lrZjlgqhrZXnvvIznvLrnnIFuc2NfbWVudV9jYWNoZVxyXG4gKiBAcmV0dXJucyB7Kn0ge29wZW5LZXlzOnt9LHRyZWVEYXRhczpbXX1cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRTZWFyY2hNZW51RGF0YXMoXHJcbiAgdGhpeixcclxuICBzZWFyY2hUZXh0LFxyXG4gIGZpZWxkT3B0aW9uID0geyBrZXlGaWVsZDogXCJrZXlcIiwgdGl0bGVGaWVsZDogXCJ0aXRsZVwiLCBwYXRoc0ZpZWxkOiBcInBhdGhzXCIgfSxcclxuICBjb2xvciA9IFwicmVkXCIsXHJcbiAgY2FjaGVrZXkgPSBcIm5zY19tZW51X2NhY2hlXCJcclxuKSB7XHJcbiAgbGV0IGJyZWFkY3J1bWJNYXAgPSB7fSxcclxuICAgIG1lbnVzRGF0YXMgPSB0aGl6LmdldE1vZGVsKCkuZ2V0Q2xvbmVNb2RlbERhdGEoKTtcclxuICBpZiAodGhpeikge1xyXG4gICAgaWYgKCF0aGl6W2NhY2hla2V5XSkgdGhpeltjYWNoZWtleV0gPSB7fTtcclxuICAgIGlmICghaXNFcXVhbChtZW51c0RhdGFzLCB0aGl6W2NhY2hla2V5XS50cmVlRGF0YXMpKSB7XHJcbiAgICAgIHRoaXpbY2FjaGVrZXldLmJyZWFkY3J1bWJNYXAgPSBicmVhZGNydW1iTWFwID0gZ2V0QnJlYWRjcnVtYk1hcChcclxuICAgICAgICBtZW51c0RhdGFzLFxyXG4gICAgICAgIGZpZWxkT3B0aW9uXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXpbY2FjaGVrZXldLnRyZWVEYXRhcyA9IG1lbnVzRGF0YXM7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBicmVhZGNydW1iTWFwID0gdGhpeltjYWNoZWtleV0uYnJlYWRjcnVtYk1hcDtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgYnJlYWRjcnVtYk1hcCA9IGdldEJyZWFkY3J1bWJNYXAobWVudXNEYXRhcywgZmllbGRPcHRpb24pO1xyXG4gIH1cclxuICBjb25zdCBrZXlzID0gZ2V0RWZmZWN0aXZlTm9kZUtleXMoYnJlYWRjcnVtYk1hcCwgc2VhcmNoVGV4dCwgZmllbGRPcHRpb24pO1xyXG4gIGNvbnN0IGRhdGFzID0gZ2V0RWZmZWN0aXZlTWVudURhdGFzKFxyXG4gICAgbWVudXNEYXRhcyxcclxuICAgIGtleXMsXHJcbiAgICBjb2xvciA/IHNlYXJjaFRleHQgOiBudWxsLFxyXG4gICAgZmllbGRPcHRpb24sXHJcbiAgICBjb2xvclxyXG4gICk7XHJcbiAgbGV0IG9wZW5LZXlzID0gW107XHJcbiAgT2JqZWN0LmtleXMoa2V5cykuZm9yRWFjaCgoa2V5LCBpKSA9PiB7XHJcbiAgICBvcGVuS2V5cy5wdXNoKGtleSk7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHtcclxuICAgIG9wZW5LZXlzOiBvcGVuS2V5cyxcclxuICAgIHRyZWVEYXRhczogZGF0YXMsXHJcbiAgfTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGdldEJyZWFkY3J1bWJNYXAsXHJcbiAgZ2V0RWZmZWN0aXZlTm9kZUtleXMsXHJcbiAgZ2V0RWZmZWN0aXZlTWVudURhdGFzLFxyXG4gIGdldFNlYXJjaE1lbnVEYXRhcyxcclxufTtcclxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.2.14",
3
+ "version": "2.2.17",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {