nsc-react-component 2.1.20 → 2.2.0

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.
@@ -382,7 +382,9 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
382
382
  _this$props3$drawerPr = _this$props3.drawerProps,
383
383
  drawerProps = _this$props3$drawerPr === void 0 ? {} : _this$props3$drawerPr,
384
384
  _this$props3$modalPro = _this$props3.modalProps,
385
- modalProps = _this$props3$modalPro === void 0 ? {} : _this$props3$modalPro;
385
+ modalProps = _this$props3$modalPro === void 0 ? {} : _this$props3$modalPro,
386
+ _this$props3$changeVa = _this$props3.changeValid,
387
+ changeValid = _this$props3$changeVa === void 0 ? true : _this$props3$changeVa;
386
388
  var formVisible = this.state.formVisible;
387
389
  var layout = {
388
390
  labelCol: {
@@ -457,7 +459,11 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
457
459
  maskClosable: !this.state.isChange,
458
460
  title: title,
459
461
  closable: false,
460
- className: this.state.expand ? getLess(styles, "allsreen") : ""
462
+ className: this.state.expand ? getLess(styles, "allsreen") : "",
463
+ width: this.state.expand ? "100vw" : newModalProps.width,
464
+ style: {
465
+ maxWidth: "100vw"
466
+ }
461
467
  }), /*#__PURE__*/React.createElement(_Form, _extends({
462
468
  ref: this.formRef
463
469
  }, layout, props, {
@@ -474,7 +480,7 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
474
480
  maskClosable: !this.state.isChange,
475
481
  title: title,
476
482
  closable: false,
477
- className: this.state.expand ? getLess(styles, "allsreen") : ""
483
+ width: this.state.expand ? "100vw" : newDrawerProps.width
478
484
  }), /*#__PURE__*/React.createElement(_Form, _extends({
479
485
  ref: this.formRef
480
486
  }, layout, props, {
@@ -547,4 +553,4 @@ var NscForm = /*#__PURE__*/function (_PureComponent) {
547
553
  }(PureComponent);
548
554
 
549
555
  export default NscForm;
550
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZXF1ZXN0Iiwib21pdCIsIkJ1dHRvbiIsInN0eWxlcyIsImdldExlc3MiLCJQbHVzQ2lyY2xlT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiQ2xvc2VPdXRsaW5lZCIsIkV4cGFuZE91dGxpbmVkIiwiQ29tcHJlc3NPdXRsaW5lZCIsIk5zY0Zvcm0iLCJwcm9wcyIsImNyZWF0ZVJlZiIsImZvcm1WaXNpYmxlIiwiZm9ybU1vZGFsUHJvcHMiLCJmb3JtRHJhd2VyUHJvcHMiLCJpc0NoYW5nZSIsImV4cGFuZCIsIm5hbWUiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkRXJyb3IiLCJnZXRGaWVsZEluc3RhbmNlIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJvcHRpb25zIiwic2Nyb2xsVG9GaWVsZCIsImZpbGRzIiwic2V0RmllbGRzIiwidmFsdWVzIiwic2V0RmllbGRzVmFsdWUiLCJzdWJtaXQiLCJ1cmwiLCJjYWxsYmFjayIsIm1zZyIsInByb3BzVXJsIiwiZW5jcnlwdEZpZWxkcyIsImVuY3J5cHRQcm9wcHMiLCJFcnJvciIsIm1ldGhvZCIsInJlcXVlc3RVcmwiLCJyZXF1ZXN0RGF0YSIsInJlcXVlc3RFbmNyeXB0IiwicmVxdWVzdFBhcmFtIiwiZGF0YSIsInBhcmFtcyIsInRvTG93ZXJDYXNlIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ2YWxpZGF0ZUZpZWxkcyIsImUiLCJzdGF0ZSIsImNoYW5nZVZhbGlkIiwic2hvd01vZGVsIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwiX3RoaXMiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJjb25maXJtIiwidGl0bGUiLCJjYW5jZWxUZXh0Iiwib2tUZXh0IiwiY2VudGVyZWQiLCJvbk9rIiwiaGlkZUZvcm0iLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInZhbCIsImFsbFZhbCIsIm9uVmFsdWVzQ2hhbmdlIiwibmV3Q2hpbGRyZW4iLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwib3JndGl0bGUiLCJjbG9zYWJsZSIsImhpZGUiLCJiaW5kIiwibWFyZ2luUmlnaHQiLCJmb290ZXIiLCJmb3JtVmFsdWUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJyZW5kZXJQYW5lbCIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsIk9iamVjdCIsImlzIiwibmV3U3RhdGUiLCJ2aXNpYmxlIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFQLElBQWdCQyxhQUFoQixRQUFxQyxPQUFyQztBQVdBLFNBQVNDLE9BQVQsUUFBd0IsdUJBQXhCO0FBQ0EsT0FBT0MsSUFBUCxNQUFpQixTQUFqQjtBQUNBLE9BQU9DLE1BQVAsTUFBbUIsV0FBbkI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLGNBQW5CO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixhQUF4QjtBQUNBLFNBQ0VDLGtCQURGLEVBRUVDLG1CQUZGLEVBR0VDLGFBSEYsRUFJRUMsY0FKRixFQUtFQyxnQkFMRixRQU1PLG1CQU5QOztJQWlCTUMsTzs7Ozs7QUFVSixtQkFBWUMsS0FBWixF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QnFELFdBQXZCLGFBQXVCQSxXQUF2Qix1QkFBdUJBLFdBQVcsQ0FBRStDLE9BQXBDO0FBQ0Q7O0FBQ0QsaUJBQU9ELFNBQVA7QUFDRDtBQUNGOztBQUNELGFBQU8sSUFBUDtBQUNEOzs7O0VBNUNtQmpILGE7O0FBcVp0QixlQUFlVyxPQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQERlc2NyaXB0dGlvbjrooajljZXnu4Tku7ZcclxuICogQHZlcnNpb246XHJcbiAqIEBBdXRob3I6IHJ4emh1XHJcbiAqIEBEYXRlOiAyMDIxLTA0LTA5IDA5OjE4OjM0XHJcbiAqIEBMYXN0RWRpdG9yczogcnh6aHVcclxuICogQExhc3RFZGl0VGltZTogMjAyMS0wNC0yMyAxNToyMzo1NFxyXG4gKi9cclxuaW1wb3J0IFJlYWN0LCB7IFB1cmVDb21wb25lbnQgfSBmcm9tIFwicmVhY3RcIjtcclxuaW1wb3J0IHtcclxuICBGb3JtLFxyXG4gIEZvcm1Qcm9wcyxcclxuICBNb2RhbCxcclxuICBEcmF3ZXIsXHJcbiAgTW9kYWxQcm9wcyxcclxuICBEcmF3ZXJQcm9wcyxcclxuICBtZXNzYWdlLFxyXG59IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCB7IEZvcm1JbnN0YW5jZSB9IGZyb20gXCJhbnRkL2xpYi9mb3JtXCI7XHJcbmltcG9ydCB7IHJlcXVlc3QgfSBmcm9tIFwiQGJqLW5zYy9tc24vbGliL3V0aWxzXCI7XHJcbmltcG9ydCBvbWl0IGZyb20gXCJvbWl0LmpzXCI7XHJcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IHsgZ2V0TGVzcyB9IGZyb20gXCIuLi8uLi91dGlsc1wiO1xyXG5pbXBvcnQge1xyXG4gIFBsdXNDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIENsb3NlT3V0bGluZWQsXHJcbiAgRXhwYW5kT3V0bGluZWQsXHJcbiAgQ29tcHJlc3NPdXRsaW5lZCxcclxufSBmcm9tIFwiQGFudC1kZXNpZ24vaWNvbnNcIjtcclxuaW1wb3J0IFBvcGNvbmZpcm0gZnJvbSBcIi4uL3BvcGNvbmZpcm1cIjtcclxuaW50ZXJmYWNlIElGb3JtUHJvcHMgZXh0ZW5kcyBGb3JtUHJvcHMge1xyXG4gIHNob3dNb2RlbD86IFwibW9kYWxcIiB8IFwiZHJhd2VyXCI7XHJcbiAgbW9kYWxQcm9wcz86IE1vZGFsUHJvcHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHsgb25Paz86IGFueSB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XHJcbiAgICBzdXBlcihwcm9wcyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wcywgcHJldlN0YXRlKSB7XHJcbiAgICBjb25zdCB7IG1vZGFsUHJvcHMsIGRyYXdlclByb3BzLCBzaG93TW9kZWwgfSA9IG5leHRQcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybU1vZGFsUHJvcHMsIGZvcm1EcmF3ZXJQcm9wcyB9ID0gcHJldlN0YXRlO1xyXG4gICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybU1vZGFsUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShtb2RhbFByb3BzKVxyXG4gICAgICBpZiAoIU9iamVjdC5pcyhmb3JtTW9kYWxQcm9wcywgbW9kYWxQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IG1vZGFsUHJvcHMsXHJcbiAgICAgICAgfSBhcyBhbnk7XHJcbiAgICAgICAgaWYgKG1vZGFsUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IG1vZGFsUHJvcHM/LnZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdTdGF0ZTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICAvLyBKU09OLnN0cmluZ2lmeShmb3JtRHJhd2VyUHJvcHMpICE9PSBKU09OLnN0cmluZ2lmeShkcmF3ZXJQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybURyYXdlclByb3BzLCBkcmF3ZXJQcm9wcykpIHtcclxuICAgICAgICBsZXQgbmV3U3RhdGUgPSB7XHJcbiAgICAgICAgICBmb3JtRHJhd2VyUHJvcHM6IGRyYXdlclByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGRyYXdlclByb3BzPy52aXNpYmxlICE9PSBudWxsICYmXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBuZXdTdGF0ZS5mb3JtVmlzaWJsZSA9IGRyYXdlclByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTplJnor6/kv6Hmga9cclxuICBnZXRGaWVsZEVycm9yKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRFcnJvcihuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615a6e5L6LXHJcbiAgZ2V0RmllbGRJbnN0YW5jZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkSW5zdGFuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOmUmeivr+S/oeaBr++8jOi/lOWbnuS4uuaVsOe7hOW9ouW8j1xyXG4gIGdldEZpZWxkc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE5YC8XHJcbiAgZ2V0RmllbGRWYWx1ZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZHNUb3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeWvueW6lOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRUb3VjaGVkKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFRvdWNoZWQobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuato+WcqOagoemqjFxyXG4gIGlzRmllbGRWYWxpZGF0aW5nKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzKGZpbGRzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc3VibWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdChcclxuICAgIHVybD86IHN0cmluZyxcclxuICAgIG9wdGlvbnM/OiBhbnksXHJcbiAgICBjYWxsYmFjaz86IChyZXM/OiBhbnkpID0+IHZvaWQsXHJcbiAgICBtc2c/OiBib29sZWFuXHJcbiAgKSB7XHJcbiAgICBjb25zdCB7IHVybDogcHJvcHNVcmwsIGVuY3J5cHRGaWVsZHM6IGVuY3J5cHRQcm9wcHMgPSBbXSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGlmICghdXJsICYmICFwcm9wc1VybCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCLmsqHmnInkuIrkvKDnmoR1cmwhXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBtZXRob2QgPSBcInBvc3RcIiB9ID0gb3B0aW9ucztcclxuICAgIGxldCByZXF1ZXN0VXJsID0gdXJsID8gdXJsIDogcHJvcHNVcmw7XHJcbiAgICBsZXQgcmVxdWVzdERhdGEgPSB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgbGV0IHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdFByb3BwcztcclxuICAgIGxldCByZXF1ZXN0UGFyYW0gPSB7IG1ldGhvZDogbWV0aG9kLCBkYXRhOiByZXF1ZXN0RGF0YSB9IGFzIHsgZGF0YTogYW55IH07XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBjb25zdCB7IGRhdGEsIGVuY3J5cHRGaWVsZHMsIC4uLnBhcmFtcyB9ID0gb3B0aW9ucztcclxuICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcyB9O1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIGRlbGV0ZSByZXF1ZXN0UGFyYW0uZGF0YTtcclxuICAgICAgICBpZiAobWV0aG9kLnRvTG93ZXJDYXNlKCkgPT0gXCJnZXRcIikge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgcGFyYW1zOiBkYXRhIH07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIGRhdGE6IGRhdGEgfTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGVuY3J5cHRGaWVsZHMpIHtcclxuICAgICAgICByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRGaWVsZHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXF1ZXN0KHJlcXVlc3RVcmwsIHtcclxuICAgICAgLi4ucmVxdWVzdFBhcmFtLFxyXG4gICAgICBlbmNyeXB0RmllbGRzOiByZXF1ZXN0RW5jcnlwdCxcclxuICAgIH0pXHJcbiAgICAgIC50aGVuKGZ1bmN0aW9uIChyZXM6IGFueSkge1xyXG4gICAgICAgIGNvbnN0IHsgY29kZSB9ID0gcmVzO1xyXG4gICAgICAgIGlmIChtc2cpIHtcclxuICAgICAgICAgIGlmIChjb2RlID09PSAyMDApIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5o+Q5Lqk5oiQ5YqfXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuaPkOS6pOWksei0pVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY2FsbGJhY2sgJiYgY2FsbGJhY2socmVzKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJlcnJvclwiLCBlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVGaWVsZHMobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LnZhbGlkYXRlRmllbGRzKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGlkZShlKSB7XHJcbiAgICBjb25zdCB7IGlzQ2hhbmdlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBjaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICAgIHNob3dNb2RlbCxcclxuICAgICAgbW9kYWxQcm9wcyA9IHt9LFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoY2hhbmdlVmFsaWQgJiYgaXNDaGFuZ2UpIHtcclxuICAgICAgTW9kYWwuY29uZmlybSh7XHJcbiAgICAgICAgdGl0bGU6IFwi5b2T5YmN6K6w5b2V5bey5L+u5pS55bCa5pyq5L+d5a2Y77yM56Gu5a6a6KaB5pS+5byD5L+u5pS55ZCX77yfXCIsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogXCLlj5bmtohcIixcclxuICAgICAgICBva1RleHQ6IFwi56Gu5a6aXCIsXHJcbiAgICAgICAgY2VudGVyZWQ6IHRydWUsXHJcbiAgICAgICAgb25PaygpIHtcclxuICAgICAgICAgIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIiAmJiBvbkNsb3NlKSB7XHJcbiAgICAgICAgICAgIG9uQ2xvc2UoZSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgJiYgb25DYW5jZWwpIHtcclxuICAgICAgICAgICAgb25DYW5jZWwoZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBfdGhpcy5oaWRlRm9ybSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHNob3dNb2RlbCA9PSBcImRyYXdlclwiICYmIG9uQ2xvc2UpIHtcclxuICAgICAgICBvbkNsb3NlKGUpO1xyXG4gICAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgJiYgb25DYW5jZWwpIHtcclxuICAgICAgICBvbkNhbmNlbChlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBfdGhpcy5oaWRlRm9ybSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlRm9ybShyZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgICAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICBpZiAocmVzZXRWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAocmVzZXRWYWx1ZSkgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBkcmF3ZXJQcm9wcyA9IHt9LCBtb2RhbFByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiA0IH0sXHJcbiAgICAgIHdyYXBwZXJDb2w6IHsgc3BhbjogMjAgfSxcclxuICAgIH07XHJcbiAgICBsZXQgb3JndGl0bGUgPSBzaG93TW9kZWwgPT0gXCJtb2RhbFwiID8gbW9kYWxQcm9wcy50aXRsZSA6IGRyYXdlclByb3BzLnRpdGxlO1xyXG4gICAgY29uc3QgY2xvc2FibGUgPVxyXG4gICAgICBzaG93TW9kZWwgPT0gXCJtb2RhbFwiID8gbW9kYWxQcm9wcy5jbG9zYWJsZSA6IGRyYXdlclByb3BzLmNsb3NhYmxlO1xyXG4gICAgY29uc3QgdGl0bGUgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0aXRsZVwiKX0+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25zXCIpfT5cclxuICAgICAgICAgIHshdGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogdHJ1ZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxFeHBhbmRPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7dGhpcy5zdGF0ZS5leHBhbmQgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGV4cGFuZDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImljb25cIil9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q29tcHJlc3NPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgICB7Y2xvc2FibGUgIT09IGZhbHNlICYmIChcclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGlkZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgICBzdHlsZT17e21hcmdpblJpZ2h0OjB9fVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPENsb3NlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICApfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJ0aXRsZS1jb250ZW50XCIpfT57b3JndGl0bGV9PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcImZvb3RlclwiKX0+XHJcbiAgICAgICAgPEJ1dHRvblxyXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgICAgICAgICAgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgICAgICAgICBtb2RhbFByb3BzLm9uT2sgJiYgbW9kYWxQcm9wcy5vbk9rKGZvcm1WYWx1ZSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgZHJhd2VyUHJvcHMub25PayAmJiBkcmF3ZXJQcm9wcy5vbk9rKGZvcm1WYWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH19XHJcbiAgICAgICAgICBpY29uPXs8UGx1c0NpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOS/neWtmFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhpZGUuYmluZCh0aGlzKX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiYnV0dG9uLW1hcmdpblwiKX1cclxuICAgICAgICAgIGljb249ezxDbG9zZUNpcmNsZU91dGxpbmVkIC8+fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIOWPlua2iFxyXG4gICAgICAgIDwvQnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgICBpZiAoc2hvd01vZGVsICYmIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyBjZW50ZXJlZDogdHJ1ZSwgZm9vdGVyLCAuLi5uZXdNb2RhbFByb3BzIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsXHJcbiAgICAgICAgICB2aXNpYmxlPXtmb3JtVmlzaWJsZX1cclxuICAgICAgICAgIGZvb3Rlcj17Zm9vdGVyfVxyXG4gICAgICAgICAgey4uLm5ld01vZGFsUHJvcHN9XHJcbiAgICAgICAgICBvbkNhbmNlbD17dGhpcy5oaWRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBtYXNrQ2xvc2FibGU9eyF0aGlzLnN0YXRlLmlzQ2hhbmdlfVxyXG4gICAgICAgICAgdGl0bGU9e3RpdGxlfVxyXG4gICAgICAgICAgY2xvc2FibGU9e2ZhbHNlfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXt0aGlzLnN0YXRlLmV4cGFuZCA/IGdldExlc3Moc3R5bGVzLCBcImFsbHNyZWVuXCIpIDogXCJcIn1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCIsIFwib25Pa1wiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgdmlzaWJsZT17Zm9ybVZpc2libGV9XHJcbiAgICAgICAgICBmb290ZXI9e2Zvb3Rlcn1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGlkZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgbWFza0Nsb3NhYmxlPXshdGhpcy5zdGF0ZS5pc0NoYW5nZX1cclxuICAgICAgICAgIHRpdGxlPXt0aXRsZX1cclxuICAgICAgICAgIGNsb3NhYmxlPXtmYWxzZX1cclxuICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5zdGF0ZS5leHBhbmQgPyBnZXRMZXNzKHN0eWxlcywgXCJhbGxzcmVlblwiKSA6IFwiXCJ9XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPEZvcm1cclxuICAgICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgICAgb25WYWx1ZXNDaGFuZ2U9e3RoaXMub25WYWx1ZXNDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9EcmF3ZXI+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtXHJcbiAgICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICAgIHsuLi5sYXlvdXR9XHJcbiAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgIC8+XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IF90aGlzID0gdGhpcyxcclxuICAgICAgeyBjaGlsZHJlbiwgc2hvd01vZGVsIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgLy8gY29uc3QgbmV3Q2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgIC8vICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgLy8gfSk7XHJcbiAgICBjb25zdCBwcm9wcyA9IG9taXQodGhpcy5wcm9wcywgW1xyXG4gICAgICBcImZvcm1cIixcclxuICAgICAgXCJzaG93TW9kZWxcIixcclxuICAgICAgXCJtb2RhbFByb3BzXCIsXHJcbiAgICAgIFwiZHJhd2VyUHJvcHNcIixcclxuICAgICAgXCJ1cmxcIixcclxuICAgICAgXCJlbmNyeXB0RmllbGRzXCIsXHJcbiAgICBdKTtcclxuXHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl19
556
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvZm9ybS9Gb3JtLnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJyZXF1ZXN0Iiwib21pdCIsIkJ1dHRvbiIsInN0eWxlcyIsImdldExlc3MiLCJQbHVzQ2lyY2xlT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiQ2xvc2VPdXRsaW5lZCIsIkV4cGFuZE91dGxpbmVkIiwiQ29tcHJlc3NPdXRsaW5lZCIsIk5zY0Zvcm0iLCJwcm9wcyIsImNyZWF0ZVJlZiIsImZvcm1WaXNpYmxlIiwiZm9ybU1vZGFsUHJvcHMiLCJmb3JtRHJhd2VyUHJvcHMiLCJpc0NoYW5nZSIsImV4cGFuZCIsIm5hbWUiLCJmb3JtUmVmIiwiY3VycmVudCIsImdldEZpZWxkRXJyb3IiLCJnZXRGaWVsZEluc3RhbmNlIiwiZ2V0RmllbGRzRXJyb3IiLCJnZXRGaWVsZHNWYWx1ZSIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJvcHRpb25zIiwic2Nyb2xsVG9GaWVsZCIsImZpbGRzIiwic2V0RmllbGRzIiwidmFsdWVzIiwic2V0RmllbGRzVmFsdWUiLCJzdWJtaXQiLCJ1cmwiLCJjYWxsYmFjayIsIm1zZyIsInByb3BzVXJsIiwiZW5jcnlwdEZpZWxkcyIsImVuY3J5cHRQcm9wcHMiLCJFcnJvciIsIm1ldGhvZCIsInJlcXVlc3RVcmwiLCJyZXF1ZXN0RGF0YSIsInJlcXVlc3RFbmNyeXB0IiwicmVxdWVzdFBhcmFtIiwiZGF0YSIsInBhcmFtcyIsInRvTG93ZXJDYXNlIiwidGhlbiIsInJlcyIsImNvZGUiLCJzdWNjZXNzIiwiZXJyb3IiLCJjYXRjaCIsImNvbnNvbGUiLCJsb2ciLCJ2YWxpZGF0ZUZpZWxkcyIsImUiLCJzdGF0ZSIsImNoYW5nZVZhbGlkIiwic2hvd01vZGVsIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwiX3RoaXMiLCJvbkNhbmNlbCIsIm9uQ2xvc2UiLCJjb25maXJtIiwidGl0bGUiLCJjYW5jZWxUZXh0Iiwib2tUZXh0IiwiY2VudGVyZWQiLCJvbk9rIiwiaGlkZUZvcm0iLCJyZXNldFZhbHVlIiwic2V0U3RhdGUiLCJ2YWx1ZSIsIml0ZW0iLCJpbmRleCIsImtleSIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwiQ2hpbGRyZW4iLCJtYXAiLCJjaGlsZCIsImNsb25lRWxlbWVudCIsInZhbCIsImFsbFZhbCIsIm9uVmFsdWVzQ2hhbmdlIiwibmV3Q2hpbGRyZW4iLCJsYXlvdXQiLCJsYWJlbENvbCIsInNwYW4iLCJ3cmFwcGVyQ29sIiwib3JndGl0bGUiLCJjbG9zYWJsZSIsImhpZGUiLCJiaW5kIiwibWFyZ2luUmlnaHQiLCJmb290ZXIiLCJmb3JtVmFsdWUiLCJuZXdNb2RhbFByb3BzIiwid2lkdGgiLCJtYXhXaWR0aCIsIm5ld0RyYXdlclByb3BzIiwicmVuZGVyUGFuZWwiLCJuZXh0UHJvcHMiLCJwcmV2U3RhdGUiLCJPYmplY3QiLCJpcyIsIm5ld1N0YXRlIiwidmlzaWJsZSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBT0EsS0FBUCxJQUFnQkMsYUFBaEIsUUFBcUMsT0FBckM7QUFXQSxTQUFTQyxPQUFULFFBQXdCLHVCQUF4QjtBQUNBLE9BQU9DLElBQVAsTUFBaUIsU0FBakI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFdBQW5CO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixjQUFuQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IsYUFBeEI7QUFDQSxTQUNFQyxrQkFERixFQUVFQyxtQkFGRixFQUdFQyxhQUhGLEVBSUVDLGNBSkYsRUFLRUMsZ0JBTEYsUUFNTyxtQkFOUDs7SUFpQk1DLE87Ozs7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QUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRWlELE9BQWIsTUFBeUIsSUFBekIsSUFDQSxDQUFBakQsV0FBVyxTQUFYLElBQUFBLFdBQVcsV0FBWCxZQUFBQSxXQUFXLENBQUVpRCxPQUFiLE1BQXlCQyxTQUYzQixFQUdFO0FBQ0FGLFlBQUFBLFNBQVEsQ0FBQ3JHLFdBQVQsR0FBdUJxRCxXQUF2QixhQUF1QkEsV0FBdkIsdUJBQXVCQSxXQUFXLENBQUVpRCxPQUFwQztBQUNEOztBQUNELGlCQUFPRCxTQUFQO0FBQ0Q7QUFDRjs7QUFDRCxhQUFPLElBQVA7QUFDRDs7OztFQTVDbUJuSCxhOztBQTRadEIsZUFBZVcsT0FBZiIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7XHJcbiAgRm9ybSxcclxuICBGb3JtUHJvcHMsXHJcbiAgTW9kYWwsXHJcbiAgRHJhd2VyLFxyXG4gIE1vZGFsUHJvcHMsXHJcbiAgRHJhd2VyUHJvcHMsXHJcbiAgbWVzc2FnZSxcclxufSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgeyBGb3JtSW5zdGFuY2UgfSBmcm9tIFwiYW50ZC9saWIvZm9ybVwiO1xyXG5pbXBvcnQgeyByZXF1ZXN0IH0gZnJvbSBcIkBiai1uc2MvbXNuL2xpYi91dGlsc1wiO1xyXG5pbXBvcnQgb21pdCBmcm9tIFwib21pdC5qc1wiO1xyXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi9idXR0b25cIjtcclxuaW1wb3J0IHN0eWxlcyBmcm9tIFwiLi9pbmRleC5sZXNzXCI7XHJcbmltcG9ydCB7IGdldExlc3MgfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcclxuaW1wb3J0IHtcclxuICBQbHVzQ2lyY2xlT3V0bGluZWQsXHJcbiAgQ2xvc2VDaXJjbGVPdXRsaW5lZCxcclxuICBDbG9zZU91dGxpbmVkLFxyXG4gIEV4cGFuZE91dGxpbmVkLFxyXG4gIENvbXByZXNzT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBQb3Bjb25maXJtIGZyb20gXCIuLi9wb3Bjb25maXJtXCI7XHJcbmludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiO1xyXG4gIG1vZGFsUHJvcHM/OiBNb2RhbFByb3BzO1xyXG4gIGRyYXdlclByb3BzPzogRHJhd2VyUHJvcHMgJiB7IG9uT2s/OiBhbnkgfTtcclxuICB1cmw/OiBzdHJpbmc7XHJcbiAgZW5jcnlwdEZpZWxkcz86IEFycmF5PFN0cmluZz47XHJcbiAgY2hhbmdlVmFsaWQ/OiBib29sZWFuOyAvL+aVsOaNruS/ruaUueWFs+mXreagoemqjFxyXG59XHJcblxyXG5jbGFzcyBOc2NGb3JtIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxJRm9ybVByb3BzPiB7XHJcbiAgZm9ybVJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxGb3JtSW5zdGFuY2U+KCk7XHJcbiAgc3RhdGUgPSB7XHJcbiAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICBmb3JtTW9kYWxQcm9wczoge30sXHJcbiAgICBmb3JtRHJhd2VyUHJvcHM6IHt9LFxyXG4gICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgZXhwYW5kOiBmYWxzZSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzPy52aXNpYmxlICE9PSBudWxsICYmIG1vZGFsUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBtb2RhbFByb3BzPy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBkcmF3ZXJQcm9wcz8udmlzaWJsZSAhPT0gbnVsbCAmJlxyXG4gICAgICAgICAgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcz8udmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRzRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5LiA57uE5a2X5q615ZCN5a+55bqU55qE5YC877yM5Lya5oyJ54Wn5a+55bqU57uT5p6E6L+U5ZueXHJcbiAgZ2V0RmllbGRzVmFsdWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZFZhbHVlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkc1RvdWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6Xlr7nlupTlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkVG91Y2hlZChuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmlzRmllbGRWYWxpZGF0aW5nKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ph43nva7kuIDnu4TlrZfmrrXliLBcclxuICByZXNldEZpZWxkcygpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkcyhmaWxkcyk7XHJcbiAgfVxyXG5cclxuICBzZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5zZXRGaWVsZHNWYWx1ZSh2YWx1ZXMpO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0KCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnN1Ym1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zPzogYW55LFxyXG4gICAgY2FsbGJhY2s/OiAocmVzPzogYW55KSA9PiB2b2lkLFxyXG4gICAgbXNnPzogYm9vbGVhblxyXG4gICkge1xyXG4gICAgY29uc3QgeyB1cmw6IHByb3BzVXJsLCBlbmNyeXB0RmllbGRzOiBlbmNyeXB0UHJvcHBzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXVybCAmJiAhcHJvcHNVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwi5rKh5pyJ5LiK5Lyg55qEdXJsIVwiKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgbWV0aG9kID0gXCJwb3N0XCIgfSA9IG9wdGlvbnM7XHJcbiAgICBsZXQgcmVxdWVzdFVybCA9IHVybCA/IHVybCA6IHByb3BzVXJsO1xyXG4gICAgbGV0IHJlcXVlc3REYXRhID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQuZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRQcm9wcHM7XHJcbiAgICBsZXQgcmVxdWVzdFBhcmFtID0geyBtZXRob2Q6IG1ldGhvZCwgZGF0YTogcmVxdWVzdERhdGEgfSBhcyB7IGRhdGE6IGFueSB9O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlbmNyeXB0RmllbGRzLCAuLi5wYXJhbXMgfSA9IG9wdGlvbnM7XHJcbiAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMgfTtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICBkZWxldGUgcmVxdWVzdFBhcmFtLmRhdGE7XHJcbiAgICAgICAgaWYgKG1ldGhvZC50b0xvd2VyQ2FzZSgpID09IFwiZ2V0XCIpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIHBhcmFtczogZGF0YSB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBkYXRhOiBkYXRhIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChlbmNyeXB0RmllbGRzKSB7XHJcbiAgICAgICAgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0RmllbGRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdChyZXF1ZXN0VXJsLCB7XHJcbiAgICAgIC4uLnJlcXVlc3RQYXJhbSxcclxuICAgICAgZW5jcnlwdEZpZWxkczogcmVxdWVzdEVuY3J5cHQsXHJcbiAgICB9KVxyXG4gICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICBpZiAobXNnKSB7XHJcbiAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuaPkOS6pOaIkOWKn1wiKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmj5DkuqTlpLHotKVcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlcyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRmllbGRzKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC52YWxpZGF0ZUZpZWxkcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIGhpZGUoZSkge1xyXG4gICAgY29uc3QgeyBpc0NoYW5nZSB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IHtcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgICBzaG93TW9kZWwsXHJcbiAgICAgIG1vZGFsUHJvcHMgPSB7fSxcclxuICAgICAgZHJhd2VyUHJvcHMgPSB7fSxcclxuICAgIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGNvbnN0IHsgb25DYW5jZWwgfSA9IG1vZGFsUHJvcHM7XHJcbiAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IGRyYXdlclByb3BzO1xyXG4gICAgaWYgKGNoYW5nZVZhbGlkICYmIGlzQ2hhbmdlKSB7XHJcbiAgICAgIE1vZGFsLmNvbmZpcm0oe1xyXG4gICAgICAgIHRpdGxlOiBcIuW9k+WJjeiusOW9leW3suS/ruaUueWwmuacquS/neWtmO+8jOehruWumuimgeaUvuW8g+S/ruaUueWQl++8n1wiLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6IFwi5Y+W5raIXCIsXHJcbiAgICAgICAgb2tUZXh0OiBcIuehruWumlwiLFxyXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxyXG4gICAgICAgIG9uT2soKSB7XHJcbiAgICAgICAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICAgICAgICBvbkNsb3NlKGUpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIiAmJiBvbkNsb3NlKSB7XHJcbiAgICAgICAgb25DbG9zZShlKTtcclxuICAgICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgICAgb25DYW5jZWwoZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0ocmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCByZXNldFZhbHVlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGZvcm1WaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNsb25lRWxlbWVudChpdGVtLCBpbmRleCA9IDApIHtcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBpZiAodHlwZW9mIGl0ZW0gPT0gXCJzdHJpbmdcIikgcmV0dXJuIGl0ZW07XHJcbiAgICBsZXQgcHJvcHMgPSB7fSBhcyB7IGtleTogbnVtYmVyOyBjaGlsZHJlbjogYW55IH07XHJcbiAgICBwcm9wcy5rZXkgPSBpbmRleDtcclxuICAgIHRyeSB7XHJcbiAgICAgIGlmIChpdGVtLnByb3BzICYmIGl0ZW0ucHJvcHMuY2hpbGRyZW4pIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnByb3BzLmNoaWxkcmVuKSkge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSBSZWFjdC5DaGlsZHJlbi5tYXAoXHJcbiAgICAgICAgICAgIGl0ZW0ucHJvcHMuY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIChjaGlsZCwgaW5kZXgpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gX3RoaXMuY2xvbmVFbGVtZW50KGNoaWxkLCBpbmRleCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gdGhpcy5jbG9uZUVsZW1lbnQoaXRlbS5wcm9wcy5jaGlsZHJlbiwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBSZWFjdC5jbG9uZUVsZW1lbnQoaXRlbSwgcHJvcHMpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpIHtcclxuICAgIGNvbnN0IHsgb25WYWx1ZXNDaGFuZ2UgfSA9IHRoaXMucHJvcHM7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgaXNDaGFuZ2U6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIG9uVmFsdWVzQ2hhbmdlICYmIG9uVmFsdWVzQ2hhbmdlKHZhbCwgYWxsVmFsKTtcclxuICB9XHJcbiAgcmVuZGVyUGFuZWwobmV3Q2hpbGRyZW4sIHByb3BzKSB7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIHNob3dNb2RlbCxcclxuICAgICAgZHJhd2VyUHJvcHMgPSB7fSxcclxuICAgICAgbW9kYWxQcm9wcyA9IHt9LFxyXG4gICAgICBjaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybVZpc2libGUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBsYXlvdXQgPSB7XHJcbiAgICAgIGxhYmVsQ29sOiB7IHNwYW46IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiAyMCB9LFxyXG4gICAgfTtcclxuICAgIGxldCBvcmd0aXRsZSA9IHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgPyBtb2RhbFByb3BzLnRpdGxlIDogZHJhd2VyUHJvcHMudGl0bGU7XHJcbiAgICBjb25zdCBjbG9zYWJsZSA9XHJcbiAgICAgIHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgPyBtb2RhbFByb3BzLmNsb3NhYmxlIDogZHJhd2VyUHJvcHMuY2xvc2FibGU7XHJcbiAgICBjb25zdCB0aXRsZSA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlXCIpfT5cclxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvbnNcIil9PlxyXG4gICAgICAgICAgeyF0aGlzLnN0YXRlLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiB0cnVlIH0pO1xyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPEV4cGFuZE91dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHt0aGlzLnN0YXRlLmV4cGFuZCAmJiAoXHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgZXhwYW5kOiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiaWNvblwiKX1cclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxDb21wcmVzc091dGxpbmVkIC8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgKX1cclxuICAgICAgICAgIHtjbG9zYWJsZSAhPT0gZmFsc2UgJiYgKFxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oaWRlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJpY29uXCIpfVxyXG4gICAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAwIH19XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8Q2xvc2VPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICl9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2dldExlc3Moc3R5bGVzLCBcInRpdGxlLWNvbnRlbnRcIil9Pntvcmd0aXRsZX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gICAgY29uc3QgZm9vdGVyID0gKFxyXG4gICAgICA8ZGl2IGNsYXNzTmFtZT17Z2V0TGVzcyhzdHlsZXMsIFwiZm9vdGVyXCIpfT5cclxuICAgICAgICA8QnV0dG9uXHJcbiAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZHNWYWx1ZSgpO1xyXG4gICAgICAgICAgICBpZiAoc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICAgICAgICAgIG1vZGFsUHJvcHMub25PayAmJiBtb2RhbFByb3BzLm9uT2soZm9ybVZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICBkcmF3ZXJQcm9wcy5vbk9rICYmIGRyYXdlclByb3BzLm9uT2soZm9ybVZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfX1cclxuICAgICAgICAgIGljb249ezxQbHVzQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg5L+d5a2YXHJcbiAgICAgICAgPC9CdXR0b24+XHJcblxyXG4gICAgICAgIDxCdXR0b25cclxuICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGlkZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgY2xhc3NOYW1lPXtnZXRMZXNzKHN0eWxlcywgXCJidXR0b24tbWFyZ2luXCIpfVxyXG4gICAgICAgICAgaWNvbj17PENsb3NlQ2lyY2xlT3V0bGluZWQgLz59XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg5Y+W5raIXHJcbiAgICAgICAgPC9CdXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgKTtcclxuICAgIGlmIChzaG93TW9kZWwgJiYgc2hvd01vZGVsID09IFwibW9kYWxcIikge1xyXG4gICAgICBsZXQgbmV3TW9kYWxQcm9wcyA9IG9taXQobW9kYWxQcm9wcywgW1widmlzaWJsZVwiXSk7XHJcbiAgICAgIG5ld01vZGFsUHJvcHMgPSB7IGNlbnRlcmVkOiB0cnVlLCBmb290ZXIsIC4uLm5ld01vZGFsUHJvcHMgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWxcclxuICAgICAgICAgIHZpc2libGU9e2Zvcm1WaXNpYmxlfVxyXG4gICAgICAgICAgZm9vdGVyPXtmb290ZXJ9XHJcbiAgICAgICAgICB7Li4ubmV3TW9kYWxQcm9wc31cclxuICAgICAgICAgIG9uQ2FuY2VsPXt0aGlzLmhpZGUuYmluZCh0aGlzKX1cclxuICAgICAgICAgIG1hc2tDbG9zYWJsZT17IXRoaXMuc3RhdGUuaXNDaGFuZ2V9XHJcbiAgICAgICAgICB0aXRsZT17dGl0bGV9XHJcbiAgICAgICAgICBjbG9zYWJsZT17ZmFsc2V9XHJcbiAgICAgICAgICBjbGFzc05hbWU9e3RoaXMuc3RhdGUuZXhwYW5kID8gZ2V0TGVzcyhzdHlsZXMsIFwiYWxsc3JlZW5cIikgOiBcIlwifVxyXG4gICAgICAgICAgd2lkdGg9e3RoaXMuc3RhdGUuZXhwYW5kID8gXCIxMDB2d1wiIDogbmV3TW9kYWxQcm9wcy53aWR0aH1cclxuICAgICAgICAgIHN0eWxlPXt7IG1heFdpZHRoOiBcIjEwMHZ3XCIgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgICBvblZhbHVlc0NoYW5nZT17dGhpcy5vblZhbHVlc0NoYW5nZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvTW9kYWw+XHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCAmJiBzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIikge1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCIsIFwib25Pa1wiXSk7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPERyYXdlclxyXG4gICAgICAgICAgdmlzaWJsZT17Zm9ybVZpc2libGV9XHJcbiAgICAgICAgICBmb290ZXI9e2Zvb3Rlcn1cclxuICAgICAgICAgIHsuLi5uZXdEcmF3ZXJQcm9wc31cclxuICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGlkZS5iaW5kKHRoaXMpfVxyXG4gICAgICAgICAgbWFza0Nsb3NhYmxlPXshdGhpcy5zdGF0ZS5pc0NoYW5nZX1cclxuICAgICAgICAgIHRpdGxlPXt0aXRsZX1cclxuICAgICAgICAgIGNsb3NhYmxlPXtmYWxzZX1cclxuICAgICAgICAgIHdpZHRoPXt0aGlzLnN0YXRlLmV4cGFuZCA/IFwiMTAwdndcIiA6IG5ld0RyYXdlclByb3BzLndpZHRofVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxGb3JtXHJcbiAgICAgICAgICAgIHJlZj17dGhpcy5mb3JtUmVmfVxyXG4gICAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgICB7Li4ucHJvcHN9XHJcbiAgICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvRHJhd2VyPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgb25WYWx1ZXNDaGFuZ2U9e3RoaXMub25WYWx1ZXNDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCBfdGhpcyA9IHRoaXMsXHJcbiAgICAgIHsgY2hpbGRyZW4sIHNob3dNb2RlbCB9ID0gdGhpcy5wcm9wcztcclxuICAgIC8vIGNvbnN0IG5ld0NoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAvLyAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgIC8vIH0pO1xyXG4gICAgY29uc3QgcHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJmb3JtXCIsXHJcbiAgICAgIFwic2hvd01vZGVsXCIsXHJcbiAgICAgIFwibW9kYWxQcm9wc1wiLFxyXG4gICAgICBcImRyYXdlclByb3BzXCIsXHJcbiAgICAgIFwidXJsXCIsXHJcbiAgICAgIFwiZW5jcnlwdEZpZWxkc1wiLFxyXG4gICAgXSk7XHJcblxyXG4gICAgcmV0dXJuIDw+e3RoaXMucmVuZGVyUGFuZWwocHJvcHMuY2hpbGRyZW4sIHByb3BzKX08Lz47XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0Zvcm07XHJcbiJdfQ==
@@ -31,19 +31,11 @@
31
31
 
32
32
  .allsreen {
33
33
  :global {
34
- .ant-modal {
35
- max-width: 100vw !important;
36
- height: 100vh;
37
- width: 100vw !important;
38
- }
39
34
  .ant-modal-content {
40
- height: 100%;
35
+ height: 100vh;
41
36
  }
42
37
  .ant-modal-body {
43
- height: calc(100% - 100px);
44
- }
45
- .ant-drawer-content-wrapper {
46
- width: 100vw !important;
38
+ height: calc(100vh - 100px);
47
39
  }
48
40
  }
49
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nsc-react-component",
3
- "version": "2.1.20",
3
+ "version": "2.2.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {