nsc-react-component 4.3.6 → 4.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -76,7 +76,7 @@ class NscForm extends PureComponent {
76
76
  let newState = {
77
77
  formDrawerProps: drawerProps
78
78
  };
79
- if (drawerProps.visible !== null && drawerProps.visible !== undefined) {
79
+ if ((drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== null && (drawerProps === null || drawerProps === void 0 ? void 0 : drawerProps.visible) !== undefined) {
80
80
  newState.formVisible = drawerProps.visible;
81
81
  }
82
82
  return newState;
@@ -349,4 +349,4 @@ class NscForm extends PureComponent {
349
349
  }
350
350
  }
351
351
  export default NscForm;
352
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwiaXNDaGFuZ2UiLCJleHBhbmQiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImFmdGVyUmVuZGVyIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwic2hvd01vZGVsIiwiT2JqZWN0IiwiaXMiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiLCJnZXRGaWVsZEVycm9yIiwibmFtZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudCIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRJbnN0YW5jZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDIiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiX3RoaXMkZm9ybVJlZiIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJzY3JvbGxUb0ZpZWxkIiwib3B0aW9ucyIsInNldEZpZWxkcyIsImZpbGRzIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQzIiwic3VibWl0Iiwib25TdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfb2JqZWN0U3ByZWFkIiwidG9Mb3dlckNhc2UiLCJhdXRvUHJlZml4IiwidGhlbiIsInJlcyIsImNvZGUiLCJfbWVzc2FnZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiaGlkZSIsImUiLCJfdGhpcyIsIm9uQ2FuY2VsIiwib25DbG9zZSIsImhpZGVGb3JtIiwicmVzZXRWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldFN0YXRlIiwic2hvd0Zvcm0iLCJ2YWx1ZSIsIm9wdGlvbiIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJjbG9uZUVsZW1lbnQiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJvblZhbHVlc0NoYW5nZSIsInZhbCIsImFsbFZhbCIsInJlbmRlclBhbmVsIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJQYW5lIiwiY3JlYXRlRWxlbWVudCIsIl9Gb3JtIiwiX2V4dGVuZHMiLCJyZWYiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJiaW5kIiwicHJlc2VydmUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsIm9wZW4iLCJzcGlubmluZyIsIkZyYWdtZW50IiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9mb3JtL0Zvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1Qcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcywgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgTnNjTW9kYWxQb3JwcyB9IGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiIHwgXCJhdXRvXCI7XHJcbiAgbW9kYWxQcm9wcz86IE5zY01vZGFsUG9ycHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHtcclxuICAgIG9uT2s/OiBhbnk7XHJcbiAgICBva0J1dHRvblByb3BzPzogT2JqZWN0O1xyXG4gICAgZm9ybUV4cGFuZD86IE9iamVjdDtcclxuICB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbiAgbG9hZGluZz86IGJvb2xlYW47IC8v6KGo5Y2V5Yqg6L2954q25oCBXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzLnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoZHJhd2VyUHJvcHMudmlzaWJsZSAhPT0gbnVsbCAmJiBkcmF3ZXJQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gZHJhd2VyUHJvcHMudmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE6ZSZ6K+v5L+h5oGvXHJcbiAgZ2V0RmllbGRFcnJvcihuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkRXJyb3IobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWunuS+i1xyXG4gIGdldEZpZWxkSW5zdGFuY2UobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50Py5nZXRGaWVsZEluc3RhbmNlKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTplJnor6/kv6Hmga/vvIzov5Tlm57kuLrmlbDnu4TlvaLlvI9cclxuICBnZXRGaWVsZHNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5nZXRGaWVsZHNFcnJvcigpO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5bkuIDnu4TlrZfmrrXlkI3lr7nlupTnmoTlgLzvvIzkvJrmjInnhaflr7nlupTnu5PmnoTov5Tlm55cclxuICBnZXRGaWVsZHNWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWY/LmN1cnJlbnQ/LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluWvueW6lOWtl+auteWQjeeahOWAvFxyXG4gIGdldEZpZWxkVmFsdWUobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkVmFsdWUobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuiiq+eUqOaIt+aTjeS9nOi/h1xyXG4gIGlzRmllbGRzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkc1RvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5a+55bqU5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZFRvdWNoZWQobmFtZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRUb3VjaGVkKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6XkuIDnu4TlrZfmrrXmmK/lkKbmraPlnKjmoKHpqoxcclxuICBpc0ZpZWxkVmFsaWRhdGluZyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFZhbGlkYXRpbmcobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+mHjee9ruS4gOe7hOWtl+auteWIsFxyXG4gIHJlc2V0RmllbGRzKCkge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQucmVzZXRGaWVsZHMoKTtcclxuICB9XHJcblxyXG4gIHNjcm9sbFRvRmllbGQobmFtZSwgb3B0aW9ucykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkcyhmaWxkcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQuc2V0RmllbGRzKGZpbGRzKTtcclxuICB9XHJcblxyXG4gIHNldEZpZWxkc1ZhbHVlKHZhbHVlcykge1xyXG4gICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zdWJtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KFxyXG4gICAgdXJsPzogc3RyaW5nLFxyXG4gICAgb3B0aW9ucz86IGFueSxcclxuICAgIGNhbGxiYWNrPzogKHJlcz86IGFueSkgPT4gdm9pZCxcclxuICAgIG1zZz86IGJvb2xlYW5cclxuICApIHtcclxuICAgIGNvbnN0IHsgdXJsOiBwcm9wc1VybCwgZW5jcnlwdEZpZWxkczogZW5jcnlwdFByb3BwcyA9IFtdIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgaWYgKCF1cmwgJiYgIXByb3BzVXJsKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIuayoeacieS4iuS8oOeahHVybCFcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IG1ldGhvZCA9IFwicG9zdFwiIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IHJlcXVlc3RVcmwgPSB1cmwgPyB1cmwgOiBwcm9wc1VybDtcclxuICAgIGxldCByZXF1ZXN0RGF0YSA9IHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc1ZhbHVlKCk7XHJcbiAgICBsZXQgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0UHJvcHBzO1xyXG4gICAgbGV0IHJlcXVlc3RQYXJhbSA9IHsgbWV0aG9kOiBtZXRob2QsIGRhdGE6IHJlcXVlc3REYXRhIH0gYXMgeyBkYXRhOiBhbnkgfTtcclxuICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgIGNvbnN0IHsgZGF0YSwgZW5jcnlwdEZpZWxkcywgLi4ucGFyYW1zIH0gPSBvcHRpb25zO1xyXG4gICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zIH07XHJcbiAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgZGVsZXRlIHJlcXVlc3RQYXJhbS5kYXRhO1xyXG4gICAgICAgIGlmIChtZXRob2QudG9Mb3dlckNhc2UoKSA9PSBcImdldFwiKSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBwYXJhbXM6IGRhdGEgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVxdWVzdFBhcmFtID0geyAuLi5yZXF1ZXN0UGFyYW0sIC4uLnBhcmFtcywgZGF0YTogZGF0YSB9O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZW5jcnlwdEZpZWxkcykge1xyXG4gICAgICAgIHJlcXVlc3RFbmNyeXB0ID0gZW5jcnlwdEZpZWxkcztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlcXVlc3QocmVxdWVzdFVybCwge1xyXG4gICAgICBhdXRvUHJlZml4OiB0cnVlLFxyXG4gICAgICAuLi5yZXF1ZXN0UGFyYW0sXHJcbiAgICAgIGVuY3J5cHRGaWVsZHM6IHJlcXVlc3RFbmNyeXB0LFxyXG4gICAgfSlcclxuICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgeyBjb2RlIH0gPSByZXM7XHJcbiAgICAgICAgaWYgKG1zZykge1xyXG4gICAgICAgICAgaWYgKGNvZGUgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBtZXNzYWdlLnN1Y2Nlc3MoXCLmj5DkuqTmiJDlip9cIik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBtZXNzYWdlLmVycm9yKFwi5o+Q5Lqk5aSx6LSlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjYWxsYmFjayAmJiBjYWxsYmFjayhyZXMpO1xyXG4gICAgICB9KVxyXG4gICAgICAuY2F0Y2goZnVuY3Rpb24gKGVycm9yOiBhbnkpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZUZpZWxkcyhuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQudmFsaWRhdGVGaWVsZHMobmFtZSk7XHJcbiAgfVxyXG5cclxuICBoaWRlKGUpIHtcclxuICAgIGNvbnN0IHsgc2hvd01vZGVsLCBtb2RhbFByb3BzID0ge30sIGRyYXdlclByb3BzID0ge30gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgY29uc3QgeyBvbkNhbmNlbCB9ID0gbW9kYWxQcm9wcztcclxuICAgIGNvbnN0IHsgb25DbG9zZSB9ID0gZHJhd2VyUHJvcHM7XHJcbiAgICBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIgJiYgb25DbG9zZSkge1xyXG4gICAgICBvbkNsb3NlKGUpO1xyXG4gICAgfSBlbHNlIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiICYmIG9uQ2FuY2VsKSB7XHJcbiAgICAgIG9uQ2FuY2VsKGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3RoaXMuaGlkZUZvcm0oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhpZGVGb3JtKHJlc2V0VmFsdWUgPSB0cnVlKSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IGZhbHNlLFxyXG4gICAgICAgIGlzQ2hhbmdlOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXNldFZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNob3dGb3JtKHZhbHVlPzogYW55LCBvcHRpb246IGFueSA9IHt9KSB7XHJcbiAgICB0aGlzLnNldFN0YXRlKFxyXG4gICAgICB7XHJcbiAgICAgICAgZm9ybVZpc2libGU6IHRydWUsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LnNldEZpZWxkc1ZhbHVlKHZhbHVlKTtcclxuICAgICAgICBjb25zdCB7IGFmdGVyUmVuZGVyIH0gPSBvcHRpb247XHJcbiAgICAgICAgdXRpbHMuY2FsbGJhY2soYWZ0ZXJSZW5kZXIsIHRoaXMpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2xvbmVFbGVtZW50KGl0ZW0sIGluZGV4ID0gMCkge1xyXG4gICAgbGV0IF90aGlzID0gdGhpcztcclxuICAgIGlmICh0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiKSByZXR1cm4gaXRlbTtcclxuICAgIGxldCBwcm9wcyA9IHt9IGFzIHsga2V5OiBudW1iZXI7IGNoaWxkcmVuOiBhbnkgfTtcclxuICAgIHByb3BzLmtleSA9IGluZGV4O1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGl0ZW0ucHJvcHMgJiYgaXRlbS5wcm9wcy5jaGlsZHJlbikge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0ucHJvcHMuY2hpbGRyZW4pKSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IFJlYWN0LkNoaWxkcmVuLm1hcChcclxuICAgICAgICAgICAgaXRlbS5wcm9wcy5jaGlsZHJlbixcclxuICAgICAgICAgICAgZnVuY3Rpb24gKGNoaWxkLCBpbmRleCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBfdGhpcy5jbG9uZUVsZW1lbnQoY2hpbGQsIGluZGV4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcHJvcHMuY2hpbGRyZW4gPSB0aGlzLmNsb25lRWxlbWVudChpdGVtLnByb3BzLmNoaWxkcmVuLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIFJlYWN0LmNsb25lRWxlbWVudChpdGVtLCBwcm9wcyk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuICBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCkge1xyXG4gICAgY29uc3QgeyBvblZhbHVlc0NoYW5nZSB9ID0gdGhpcy5wcm9wcztcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBpc0NoYW5nZTogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgb25WYWx1ZXNDaGFuZ2UgJiYgb25WYWx1ZXNDaGFuZ2UodmFsLCBhbGxWYWwpO1xyXG4gIH1cclxuICByZW5kZXJQYW5lbChuZXdDaGlsZHJlbiwgcHJvcHMpIHtcclxuICAgIGNvbnN0IHtcclxuICAgICAgc2hvd01vZGVsLFxyXG4gICAgICBkcmF3ZXJQcm9wcyA9IHt9LFxyXG4gICAgICBtb2RhbFByb3BzID0ge30sXHJcbiAgICAgIGxvYWRpbmcgPSBmYWxzZSxcclxuICAgICAgY2hhbmdlVmFsaWQgPSB0cnVlLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1WaXNpYmxlIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3QgbGF5b3V0ID0ge1xyXG4gICAgICBsYWJlbENvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDQgfSxcclxuICAgICAgd3JhcHBlckNvbDogeyBzcGFuOiB0aGlzLnByb3BzLmxheW91dCA9PSBcInZlcnRpY2FsXCIgPyAyNCA6IDIwIH0sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgUGFuZSA9ICgpID0+IHtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8Rm9ybVxyXG4gICAgICAgICAgcmVmPXt0aGlzLmZvcm1SZWZ9XHJcbiAgICAgICAgICB2YWxpZGF0ZVRyaWdnZXI9e1tcIm9uQmx1clwiLCBcIm9uQ2hhbmdlXCJdfVxyXG4gICAgICAgICAgLy8gZHJhZ2dhYmxlPXt0cnVlfVxyXG4gICAgICAgICAgey4uLmxheW91dH1cclxuICAgICAgICAgIHsuLi5wcm9wc31cclxuICAgICAgICAgIG9uVmFsdWVzQ2hhbmdlPXt0aGlzLm9uVmFsdWVzQ2hhbmdlLmJpbmQodGhpcyl9XHJcbiAgICAgICAgICBwcmVzZXJ2ZT17ZmFsc2V9XHJcbiAgICAgICAgLz5cclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBpZiAoc2hvd01vZGVsKSB7XHJcbiAgICAgIGxldCBuZXdNb2RhbFByb3BzID0gb21pdChtb2RhbFByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbmV3TW9kYWxQcm9wcyA9IHsgLi4ubmV3TW9kYWxQcm9wcyB9O1xyXG4gICAgICBsZXQgbmV3RHJhd2VyUHJvcHMgPSBvbWl0KGRyYXdlclByb3BzLCBbXCJ2aXNpYmxlXCJdKTtcclxuICAgICAgbGV0IGRlZmF1bHRwcm9wcyA9IHtcclxuICAgICAgICBtYXNrQ2xvc2FibGU6ICF0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIGZvcm1FeHBhbmQ6IHtcclxuICAgICAgICAgIGV4cGFuZDogdHJ1ZSxcclxuICAgICAgICAgIHZhbGlkOiBjaGFuZ2VWYWxpZCxcclxuICAgICAgICAgIGNoYW5nZTogdGhpcy5zdGF0ZS5pc0NoYW5nZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHNob3dNb2RlbCxcclxuICAgICAgfSBhcyBhbnk7XHJcbiAgICAgIGxldCBtb2RhbHByb3BzID0geyAuLi5kZWZhdWx0cHJvcHMgfTtcclxuICAgICAgbW9kYWxwcm9wcyA9IHtcclxuICAgICAgICAuLi5kZWZhdWx0cHJvcHMsXHJcbiAgICAgICAgLi4ubmV3TW9kYWxQcm9wcyxcclxuICAgICAgICAuLi5uZXdEcmF3ZXJQcm9wcyxcclxuICAgICAgICBvbkNhbmNlbDogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgICAgLy8gb25DbG9zZTogdGhpcy5oaWRlLmJpbmQodGhpcyksXHJcbiAgICAgIH07XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPE1vZGFsIG9wZW49e2Zvcm1WaXNpYmxlfSB7Li4ubW9kYWxwcm9wc30+XHJcbiAgICAgICAgICB7bG9hZGluZyA/IDxTcGluIHNwaW5uaW5nPXtsb2FkaW5nfT57UGFuZSgpfTwvU3Bpbj4gOiBQYW5lKCl9XHJcbiAgICAgICAgPC9Nb2RhbD5cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiA8Pntsb2FkaW5nID8gPFNwaW4gc3Bpbm5pbmc9e2xvYWRpbmd9PntQYW5lKCl9PC9TcGluPiA6IFBhbmUoKX08Lz47XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbmRlcigpIHtcclxuICAgIGNvbnN0IHByb3BzID0gb21pdCh0aGlzLnByb3BzLCBbXHJcbiAgICAgIFwiZm9ybVwiLFxyXG4gICAgICBcInNob3dNb2RlbFwiLFxyXG4gICAgICBcIm1vZGFsUHJvcHNcIixcclxuICAgICAgXCJkcmF3ZXJQcm9wc1wiLFxyXG4gICAgICBcInVybFwiLFxyXG4gICAgICBcImVuY3J5cHRGaWVsZHNcIixcclxuICAgICAgXCJjaGFuZ2VWYWxpZFwiLFxyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gPD57dGhpcy5yZW5kZXJQYW5lbChwcm9wcy5jaGlsZHJlbiwgcHJvcHMpfTwvPjtcclxuICB9XHJcbn1cclxuZXhwb3J0IGRlZmF1bHQgTnNjRm9ybTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPQSxLQUFLLElBQUlDLGFBQWEsUUFBUSxPQUFPO0FBRTVDLE9BQU9DLEtBQUssTUFBTSxVQUFVO0FBRTVCLFNBQVNDLE9BQU8sUUFBUSx1QkFBdUI7QUFDL0MsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFFMUIsT0FBT0MsSUFBSSxNQUFNLFNBQVM7QUFDMUIsU0FBU0MsS0FBSyxRQUFRLHVCQUF1QjtBQWU3QyxNQUFNQyxPQUFPLFNBQVNOLGFBQWEsQ0FBYTtFQXVCOUNPLFdBQVdBLENBQUNDLEtBQUssRUFBRTtJQUNqQixLQUFLLENBQUNBLEtBQUssQ0FBQztJQUFDQyxlQUFBLCtCQXZCTFYsS0FBSyxDQUFDVyxTQUFTLENBQWUsQ0FBQztJQUFBRCxlQUFBLGdCQUNqQztNQUNORSxXQUFXLEVBQUUsS0FB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
352
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlB1cmVDb21wb25lbnQiLCJNb2RhbCIsInJlcXVlc3QiLCJvbWl0IiwiU3BpbiIsInV0aWxzIiwiTnNjRm9ybSIsImNvbnN0cnVjdG9yIiwicHJvcHMiLCJfZGVmaW5lUHJvcGVydHkiLCJjcmVhdGVSZWYiLCJmb3JtVmlzaWJsZSIsImZvcm1Nb2RhbFByb3BzIiwiZm9ybURyYXdlclByb3BzIiwiaXNDaGFuZ2UiLCJleHBhbmQiLCJzY29wZSIsInBhcmFtcyIsImJlZm9yZVJlbmRlciIsImNhbGxiYWNrQmVmb3JlQ2xvc2UiLCJjYWxsYmFjayIsImFmdGVyUmVuZGVyIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibmV4dFByb3BzIiwicHJldlN0YXRlIiwibW9kYWxQcm9wcyIsImRyYXdlclByb3BzIiwic2hvd01vZGVsIiwiT2JqZWN0IiwiaXMiLCJuZXdTdGF0ZSIsInZpc2libGUiLCJ1bmRlZmluZWQiLCJnZXRGaWVsZEVycm9yIiwibmFtZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudCIsImZvcm1SZWYiLCJjdXJyZW50IiwiZ2V0RmllbGRJbnN0YW5jZSIsIl90aGlzJGZvcm1SZWYkY3VycmVudDIiLCJnZXRGaWVsZHNFcnJvciIsImdldEZpZWxkc1ZhbHVlIiwiX3RoaXMkZm9ybVJlZiIsImdldEZpZWxkVmFsdWUiLCJpc0ZpZWxkc1RvdWNoZWQiLCJpc0ZpZWxkVG91Y2hlZCIsImlzRmllbGRWYWxpZGF0aW5nIiwicmVzZXRGaWVsZHMiLCJzY3JvbGxUb0ZpZWxkIiwib3B0aW9ucyIsInNldEZpZWxkcyIsImZpbGRzIiwic2V0RmllbGRzVmFsdWUiLCJ2YWx1ZXMiLCJfdGhpcyRmb3JtUmVmJGN1cnJlbnQzIiwic3VibWl0Iiwib25TdWJtaXQiLCJ1cmwiLCJtc2ciLCJwcm9wc1VybCIsImVuY3J5cHRGaWVsZHMiLCJlbmNyeXB0UHJvcHBzIiwiRXJyb3IiLCJtZXRob2QiLCJyZXF1ZXN0VXJsIiwicmVxdWVzdERhdGEiLCJyZXF1ZXN0RW5jcnlwdCIsInJlcXVlc3RQYXJhbSIsImRhdGEiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJfZXhjbHVkZWQiLCJfb2JqZWN0U3ByZWFkIiwidG9Mb3dlckNhc2UiLCJhdXRvUHJlZml4IiwidGhlbiIsInJlcyIsImNvZGUiLCJfbWVzc2FnZSIsInN1Y2Nlc3MiLCJlcnJvciIsImNhdGNoIiwiY29uc29sZSIsImxvZyIsInZhbGlkYXRlRmllbGRzIiwiaGlkZSIsImUiLCJfdGhpcyIsIm9uQ2FuY2VsIiwib25DbG9zZSIsImhpZGVGb3JtIiwicmVzZXRWYWx1ZSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNldFN0YXRlIiwic2hvd0Zvcm0iLCJ2YWx1ZSIsIm9wdGlvbiIsIl90aGlzJGZvcm1SZWYkY3VycmVudDQiLCJjbG9uZUVsZW1lbnQiLCJpdGVtIiwiaW5kZXgiLCJrZXkiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIkNoaWxkcmVuIiwibWFwIiwiY2hpbGQiLCJvblZhbHVlc0NoYW5nZSIsInZhbCIsImFsbFZhbCIsInJlbmRlclBhbmVsIiwibmV3Q2hpbGRyZW4iLCJsb2FkaW5nIiwiY2hhbmdlVmFsaWQiLCJzdGF0ZSIsImxheW91dCIsImxhYmVsQ29sIiwic3BhbiIsIndyYXBwZXJDb2wiLCJQYW5lIiwiY3JlYXRlRWxlbWVudCIsIl9Gb3JtIiwiX2V4dGVuZHMiLCJyZWYiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJiaW5kIiwicHJlc2VydmUiLCJuZXdNb2RhbFByb3BzIiwibmV3RHJhd2VyUHJvcHMiLCJkZWZhdWx0cHJvcHMiLCJtYXNrQ2xvc2FibGUiLCJmb3JtRXhwYW5kIiwidmFsaWQiLCJjaGFuZ2UiLCJ0eXBlIiwibW9kYWxwcm9wcyIsIm9wZW4iLCJzcGlubmluZyIsIkZyYWdtZW50IiwicmVuZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYmFzZS9mb3JtL0Zvcm0udHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIEBEZXNjcmlwdHRpb2466KGo5Y2V57uE5Lu2XHJcbiAqIEB2ZXJzaW9uOlxyXG4gKiBAQXV0aG9yOiByeHpodVxyXG4gKiBARGF0ZTogMjAyMS0wNC0wOSAwOToxODozNFxyXG4gKiBATGFzdEVkaXRvcnM6IHJ4emh1XHJcbiAqIEBMYXN0RWRpdFRpbWU6IDIwMjEtMDQtMjMgMTU6MjM6NTRcclxuICovXHJcbmltcG9ydCBSZWFjdCwgeyBQdXJlQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcbmltcG9ydCB7IEZvcm0sIEZvcm1Qcm9wcywgRHJhd2VyLCBEcmF3ZXJQcm9wcywgbWVzc2FnZSB9IGZyb20gXCJhbnRkXCI7XHJcbmltcG9ydCBNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IHsgRm9ybUluc3RhbmNlIH0gZnJvbSBcImFudGQvbGliL2Zvcm1cIjtcclxuaW1wb3J0IHsgcmVxdWVzdCB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuaW1wb3J0IG9taXQgZnJvbSBcIm9taXQuanNcIjtcclxuaW1wb3J0IHsgTnNjTW9kYWxQb3JwcyB9IGZyb20gXCIuLi9tb2RhbFwiO1xyXG5pbXBvcnQgU3BpbiBmcm9tIFwiLi4vc3BpblwiO1xyXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gXCJAYmotbnNjL21zbi9saWIvdXRpbHNcIjtcclxuZXhwb3J0IGludGVyZmFjZSBJRm9ybVByb3BzIGV4dGVuZHMgRm9ybVByb3BzIHtcclxuICBzaG93TW9kZWw/OiBcIm1vZGFsXCIgfCBcImRyYXdlclwiIHwgXCJhdXRvXCI7XHJcbiAgbW9kYWxQcm9wcz86IE5zY01vZGFsUG9ycHM7XHJcbiAgZHJhd2VyUHJvcHM/OiBEcmF3ZXJQcm9wcyAmIHtcclxuICAgIG9uT2s/OiBhbnk7XHJcbiAgICBva0J1dHRvblByb3BzPzogT2JqZWN0O1xyXG4gICAgZm9ybUV4cGFuZD86IE9iamVjdDtcclxuICB9O1xyXG4gIHVybD86IHN0cmluZztcclxuICBlbmNyeXB0RmllbGRzPzogQXJyYXk8U3RyaW5nPjtcclxuICBjaGFuZ2VWYWxpZD86IGJvb2xlYW47IC8v5pWw5o2u5L+u5pS55YWz6Zet5qCh6aqMXHJcbiAgbG9hZGluZz86IGJvb2xlYW47IC8v6KGo5Y2V5Yqg6L2954q25oCBXHJcbn1cclxuXHJcbmNsYXNzIE5zY0Zvcm0gZXh0ZW5kcyBQdXJlQ29tcG9uZW50PElGb3JtUHJvcHM+IHtcclxuICBmb3JtUmVmID0gUmVhY3QuY3JlYXRlUmVmPEZvcm1JbnN0YW5jZT4oKTtcclxuICBzdGF0ZSA9IHtcclxuICAgIGZvcm1WaXNpYmxlOiBmYWxzZSxcclxuICAgIGZvcm1Nb2RhbFByb3BzOiB7fSxcclxuICAgIGZvcm1EcmF3ZXJQcm9wczoge30sXHJcbiAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICBleHBhbmQ6IGZhbHNlLFxyXG4gIH07XHJcbiAgb3B0aW9uOiBhbnkgPSB7XHJcbiAgICAvL+Wbnuiwg+S9nOeUqOWfn1xyXG4gICAgc2NvcGU6IHRoaXMsXHJcbiAgICAvL29wZW7kvKDpgJLov4fmnaXnmoTpobXpnaLlj4LmlbBcclxuICAgIHBhcmFtczoge30sXHJcbiAgICAvL+aYvuekuuS5i+WJjeWbnuiwg1xyXG4gICAgYmVmb3JlUmVuZGVyOiBudWxsLFxyXG4gICAgLy/lhbPpl63kuYvliY3lm57osIPvvIzlpoLmnpxyZXR1cm4gZmFsc2XvvIzkuJTnqpflj6PkuI3lhbPpl61cclxuICAgIGNhbGxiYWNrQmVmb3JlQ2xvc2U6IG51bGwsXHJcbiAgICAvL+WFs+mXreWQjuWbnuiwg++8jOW8guatpeaTjeS9nFxyXG4gICAgY2FsbGJhY2s6IG51bGwsXHJcbiAgICAvL+aYvuekuuS5i+WQjuWbnuiwg1xyXG4gICAgYWZ0ZXJSZW5kZXI6IG51bGwsXHJcbiAgfTtcclxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xyXG4gICAgc3VwZXIocHJvcHMpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgY29uc3QgeyBtb2RhbFByb3BzLCBkcmF3ZXJQcm9wcywgc2hvd01vZGVsIH0gPSBuZXh0UHJvcHM7XHJcbiAgICBjb25zdCB7IGZvcm1Nb2RhbFByb3BzLCBmb3JtRHJhd2VyUHJvcHMgfSA9IHByZXZTdGF0ZTtcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJtb2RhbFwiKSB7XHJcbiAgICAgIC8vIEpTT04uc3RyaW5naWZ5KGZvcm1Nb2RhbFByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkobW9kYWxQcm9wcylcclxuICAgICAgaWYgKCFPYmplY3QuaXMoZm9ybU1vZGFsUHJvcHMsIG1vZGFsUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBtb2RhbFByb3BzLFxyXG4gICAgICAgIH0gYXMgYW55O1xyXG4gICAgICAgIGlmIChtb2RhbFByb3BzLnZpc2libGUgIT09IG51bGwgJiYgbW9kYWxQcm9wcy52aXNpYmxlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIG5ld1N0YXRlLmZvcm1WaXNpYmxlID0gbW9kYWxQcm9wcy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoc2hvd01vZGVsID09IFwiZHJhd2VyXCIpIHtcclxuICAgICAgLy8gSlNPTi5zdHJpbmdpZnkoZm9ybURyYXdlclByb3BzKSAhPT0gSlNPTi5zdHJpbmdpZnkoZHJhd2VyUHJvcHMpXHJcbiAgICAgIGlmICghT2JqZWN0LmlzKGZvcm1EcmF3ZXJQcm9wcywgZHJhd2VyUHJvcHMpKSB7XHJcbiAgICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgICAgZm9ybURyYXdlclByb3BzOiBkcmF3ZXJQcm9wcyxcclxuICAgICAgICB9IGFzIGFueTtcclxuICAgICAgICBpZiAoZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IG51bGwgJiYgZHJhd2VyUHJvcHM/LnZpc2libGUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgbmV3U3RhdGUuZm9ybVZpc2libGUgPSBkcmF3ZXJQcm9wcy52aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3U3RhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy/ojrflj5blr7nlupTlrZfmrrXlkI3nmoTplJnor6/kv6Hmga9cclxuICBnZXRGaWVsZEVycm9yKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudD8uZ2V0RmllbGRFcnJvcihuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615a6e5L6LXHJcbiAgZ2V0RmllbGRJbnN0YW5jZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQ/LmdldEZpZWxkSW5zdGFuY2UobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOmUmeivr+S/oeaBr++8jOi/lOWbnuS4uuaVsOe7hOW9ouW8j1xyXG4gIGdldEZpZWxkc0Vycm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmdldEZpZWxkc0Vycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvL+iOt+WPluS4gOe7hOWtl+auteWQjeWvueW6lOeahOWAvO+8jOS8muaMieeFp+WvueW6lOe7k+aehOi/lOWbnlxyXG4gIGdldEZpZWxkc1ZhbHVlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZj8uY3VycmVudD8uZ2V0RmllbGRzVmFsdWUoKTtcclxuICB9XHJcblxyXG4gIC8v6I635Y+W5a+55bqU5a2X5q615ZCN55qE5YC8XHJcbiAgZ2V0RmllbGRWYWx1ZShuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuZ2V0RmllbGRWYWx1ZShuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v5qOA5p+l5LiA57uE5a2X5q615piv5ZCm6KKr55So5oi35pON5L2c6L+HXHJcbiAgaXNGaWVsZHNUb3VjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybVJlZi5jdXJyZW50LmlzRmllbGRzVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgLy/mo4Dmn6Xlr7nlupTlrZfmrrXmmK/lkKbooqvnlKjmiLfmk43kvZzov4dcclxuICBpc0ZpZWxkVG91Y2hlZChuYW1lKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtUmVmLmN1cnJlbnQuaXNGaWVsZFRvdWNoZWQobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvL+ajgOafpeS4gOe7hOWtl+auteaYr+WQpuato+WcqOagoemqjFxyXG4gIGlzRmllbGRWYWxpZGF0aW5nKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC5pc0ZpZWxkVmFsaWRhdGluZyhuYW1lKTtcclxuICB9XHJcblxyXG4gIC8v6YeN572u5LiA57uE5a2X5q615YiwXHJcbiAgcmVzZXRGaWVsZHMoKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5yZXNldEZpZWxkcygpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsVG9GaWVsZChuYW1lLCBvcHRpb25zKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zY3JvbGxUb0ZpZWxkKG5hbWUsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzKGZpbGRzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudC5zZXRGaWVsZHMoZmlsZHMpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmllbGRzVmFsdWUodmFsdWVzKSB7XHJcbiAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWVzKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50LnN1Ym1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoXHJcbiAgICB1cmw/OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zPzogYW55LFxyXG4gICAgY2FsbGJhY2s/OiAocmVzPzogYW55KSA9PiB2b2lkLFxyXG4gICAgbXNnPzogYm9vbGVhblxyXG4gICkge1xyXG4gICAgY29uc3QgeyB1cmw6IHByb3BzVXJsLCBlbmNyeXB0RmllbGRzOiBlbmNyeXB0UHJvcHBzID0gW10gfSA9IHRoaXMucHJvcHM7XHJcbiAgICBpZiAoIXVybCAmJiAhcHJvcHNVcmwpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwi5rKh5pyJ5LiK5Lyg55qEdXJsIVwiKTtcclxuICAgIH1cclxuICAgIGNvbnN0IHsgbWV0aG9kID0gXCJwb3N0XCIgfSA9IG9wdGlvbnM7XHJcbiAgICBsZXQgcmVxdWVzdFVybCA9IHVybCA/IHVybCA6IHByb3BzVXJsO1xyXG4gICAgbGV0IHJlcXVlc3REYXRhID0gdGhpcy5mb3JtUmVmLmN1cnJlbnQuZ2V0RmllbGRzVmFsdWUoKTtcclxuICAgIGxldCByZXF1ZXN0RW5jcnlwdCA9IGVuY3J5cHRQcm9wcHM7XHJcbiAgICBsZXQgcmVxdWVzdFBhcmFtID0geyBtZXRob2Q6IG1ldGhvZCwgZGF0YTogcmVxdWVzdERhdGEgfSBhcyB7IGRhdGE6IGFueSB9O1xyXG4gICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgY29uc3QgeyBkYXRhLCBlbmNyeXB0RmllbGRzLCAuLi5wYXJhbXMgfSA9IG9wdGlvbnM7XHJcbiAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMgfTtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICBkZWxldGUgcmVxdWVzdFBhcmFtLmRhdGE7XHJcbiAgICAgICAgaWYgKG1ldGhvZC50b0xvd2VyQ2FzZSgpID09IFwiZ2V0XCIpIHtcclxuICAgICAgICAgIHJlcXVlc3RQYXJhbSA9IHsgLi4ucmVxdWVzdFBhcmFtLCAuLi5wYXJhbXMsIHBhcmFtczogZGF0YSB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXF1ZXN0UGFyYW0gPSB7IC4uLnJlcXVlc3RQYXJhbSwgLi4ucGFyYW1zLCBkYXRhOiBkYXRhIH07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChlbmNyeXB0RmllbGRzKSB7XHJcbiAgICAgICAgcmVxdWVzdEVuY3J5cHQgPSBlbmNyeXB0RmllbGRzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdChyZXF1ZXN0VXJsLCB7XHJcbiAgICAgIGF1dG9QcmVmaXg6IHRydWUsXHJcbiAgICAgIC4uLnJlcXVlc3RQYXJhbSxcclxuICAgICAgZW5jcnlwdEZpZWxkczogcmVxdWVzdEVuY3J5cHQsXHJcbiAgICB9KVxyXG4gICAgICAudGhlbihmdW5jdGlvbiAocmVzOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB7IGNvZGUgfSA9IHJlcztcclxuICAgICAgICBpZiAobXNnKSB7XHJcbiAgICAgICAgICBpZiAoY29kZSA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2Uuc3VjY2VzcyhcIuaPkOS6pOaIkOWKn1wiKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UuZXJyb3IoXCLmj5DkuqTlpLHotKVcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhbGxiYWNrICYmIGNhbGxiYWNrKHJlcyk7XHJcbiAgICAgIH0pXHJcbiAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyb3IpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlRmllbGRzKG5hbWUpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm1SZWYuY3VycmVudC52YWxpZGF0ZUZpZWxkcyhuYW1lKTtcclxuICB9XHJcblxyXG4gIGhpZGUoZSkge1xyXG4gICAgY29uc3QgeyBzaG93TW9kZWwsIG1vZGFsUHJvcHMgPSB7fSwgZHJhd2VyUHJvcHMgPSB7fSB9ID0gdGhpcy5wcm9wcztcclxuICAgIGxldCBfdGhpcyA9IHRoaXM7XHJcbiAgICBjb25zdCB7IG9uQ2FuY2VsIH0gPSBtb2RhbFByb3BzO1xyXG4gICAgY29uc3QgeyBvbkNsb3NlIH0gPSBkcmF3ZXJQcm9wcztcclxuICAgIGlmIChzaG93TW9kZWwgPT0gXCJkcmF3ZXJcIiAmJiBvbkNsb3NlKSB7XHJcbiAgICAgIG9uQ2xvc2UoZSk7XHJcbiAgICB9IGVsc2UgaWYgKHNob3dNb2RlbCA9PSBcIm1vZGFsXCIgJiYgb25DYW5jZWwpIHtcclxuICAgICAgb25DYW5jZWwoZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfdGhpcy5oaWRlRm9ybSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGlkZUZvcm0ocmVzZXRWYWx1ZSA9IHRydWUpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogZmFsc2UsXHJcbiAgICAgICAgaXNDaGFuZ2U6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc2V0VmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZm9ybVJlZi5jdXJyZW50LnJlc2V0RmllbGRzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Zvcm0odmFsdWU/OiBhbnksIG9wdGlvbjogYW55ID0ge30pIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoXHJcbiAgICAgIHtcclxuICAgICAgICBmb3JtVmlzaWJsZTogdHJ1ZSxcclxuICAgICAgICBpc0NoYW5nZTogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgICgpID0+IHtcclxuICAgICAgICB0aGlzLmZvcm1SZWYuY3VycmVudD8uc2V0RmllbGRzVmFsdWUodmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IHsgYWZ0ZXJSZW5kZXIgfSA9IG9wdGlvbjtcclxuICAgICAgICB1dGlscy5jYWxsYmFjayhhZnRlclJlbmRlciwgdGhpcyk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjbG9uZUVsZW1lbnQoaXRlbSwgaW5kZXggPSAwKSB7XHJcbiAgICBsZXQgX3RoaXMgPSB0aGlzO1xyXG4gICAgaWYgKHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIpIHJldHVybiBpdGVtO1xyXG4gICAgbGV0IHByb3BzID0ge30gYXMgeyBrZXk6IG51bWJlcjsgY2hpbGRyZW46IGFueSB9O1xyXG4gICAgcHJvcHMua2V5ID0gaW5kZXg7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoaXRlbS5wcm9wcyAmJiBpdGVtLnByb3BzLmNoaWxkcmVuKSB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5wcm9wcy5jaGlsZHJlbikpIHtcclxuICAgICAgICAgIHByb3BzLmNoaWxkcmVuID0gUmVhY3QuQ2hpbGRyZW4ubWFwKFxyXG4gICAgICAgICAgICBpdGVtLnByb3BzLmNoaWxkcmVuLFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAoY2hpbGQsIGluZGV4KSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIF90aGlzLmNsb25lRWxlbWVudChjaGlsZCwgaW5kZXgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBwcm9wcy5jaGlsZHJlbiA9IHRoaXMuY2xvbmVFbGVtZW50KGl0ZW0ucHJvcHMuY2hpbGRyZW4sIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGl0ZW0sIHByb3BzKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uVmFsdWVzQ2hhbmdlKHZhbCwgYWxsVmFsKSB7XHJcbiAgICBjb25zdCB7IG9uVmFsdWVzQ2hhbmdlIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIGlzQ2hhbmdlOiB0cnVlLFxyXG4gICAgfSk7XHJcbiAgICBvblZhbHVlc0NoYW5nZSAmJiBvblZhbHVlc0NoYW5nZSh2YWwsIGFsbFZhbCk7XHJcbiAgfVxyXG4gIHJlbmRlclBhbmVsKG5ld0NoaWxkcmVuLCBwcm9wcykge1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBzaG93TW9kZWwsXHJcbiAgICAgIGRyYXdlclByb3BzID0ge30sXHJcbiAgICAgIG1vZGFsUHJvcHMgPSB7fSxcclxuICAgICAgbG9hZGluZyA9IGZhbHNlLFxyXG4gICAgICBjaGFuZ2VWYWxpZCA9IHRydWUsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IHsgZm9ybVZpc2libGUgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBsYXlvdXQgPSB7XHJcbiAgICAgIGxhYmVsQ29sOiB7IHNwYW46IHRoaXMucHJvcHMubGF5b3V0ID09IFwidmVydGljYWxcIiA/IDI0IDogNCB9LFxyXG4gICAgICB3cmFwcGVyQ29sOiB7IHNwYW46IHRoaXMucHJvcHMubGF5b3V0ID09IFwidmVydGljYWxcIiA/IDI0IDogMjAgfSxcclxuICAgIH07XHJcbiAgICBjb25zdCBQYW5lID0gKCkgPT4ge1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIDxGb3JtXHJcbiAgICAgICAgICByZWY9e3RoaXMuZm9ybVJlZn1cclxuICAgICAgICAgIHZhbGlkYXRlVHJpZ2dlcj17W1wib25CbHVyXCIsIFwib25DaGFuZ2VcIl19XHJcbiAgICAgICAgICAvLyBkcmFnZ2FibGU9e3RydWV9XHJcbiAgICAgICAgICB7Li4ubGF5b3V0fVxyXG4gICAgICAgICAgey4uLnByb3BzfVxyXG4gICAgICAgICAgb25WYWx1ZXNDaGFuZ2U9e3RoaXMub25WYWx1ZXNDaGFuZ2UuYmluZCh0aGlzKX1cclxuICAgICAgICAgIHByZXNlcnZlPXtmYWxzZX1cclxuICAgICAgICAvPlxyXG4gICAgICApO1xyXG4gICAgfTtcclxuICAgIGlmIChzaG93TW9kZWwpIHtcclxuICAgICAgbGV0IG5ld01vZGFsUHJvcHMgPSBvbWl0KG1vZGFsUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBuZXdNb2RhbFByb3BzID0geyAuLi5uZXdNb2RhbFByb3BzIH07XHJcbiAgICAgIGxldCBuZXdEcmF3ZXJQcm9wcyA9IG9taXQoZHJhd2VyUHJvcHMsIFtcInZpc2libGVcIl0pO1xyXG4gICAgICBsZXQgZGVmYXVsdHByb3BzID0ge1xyXG4gICAgICAgIG1hc2tDbG9zYWJsZTogIXRoaXMuc3RhdGUuaXNDaGFuZ2UsXHJcbiAgICAgICAgZm9ybUV4cGFuZDoge1xyXG4gICAgICAgICAgZXhwYW5kOiB0cnVlLFxyXG4gICAgICAgICAgdmFsaWQ6IGNoYW5nZVZhbGlkLFxyXG4gICAgICAgICAgY2hhbmdlOiB0aGlzLnN0YXRlLmlzQ2hhbmdlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogc2hvd01vZGVsLFxyXG4gICAgICB9IGFzIGFueTtcclxuICAgICAgbGV0IG1vZGFscHJvcHMgPSB7IC4uLmRlZmF1bHRwcm9wcyB9O1xyXG4gICAgICBtb2RhbHByb3BzID0ge1xyXG4gICAgICAgIC4uLmRlZmF1bHRwcm9wcyxcclxuICAgICAgICAuLi5uZXdNb2RhbFByb3BzLFxyXG4gICAgICAgIC4uLm5ld0RyYXdlclByb3BzLFxyXG4gICAgICAgIG9uQ2FuY2VsOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgICAvLyBvbkNsb3NlOiB0aGlzLmhpZGUuYmluZCh0aGlzKSxcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIChcclxuICAgICAgICA8TW9kYWwgb3Blbj17Zm9ybVZpc2libGV9IHsuLi5tb2RhbHByb3BzfT5cclxuICAgICAgICAgIHtsb2FkaW5nID8gPFNwaW4gc3Bpbm5pbmc9e2xvYWRpbmd9PntQYW5lKCl9PC9TcGluPiA6IFBhbmUoKX1cclxuICAgICAgICA8L01vZGFsPlxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIDw+e2xvYWRpbmcgPyA8U3BpbiBzcGlubmluZz17bG9hZGluZ30+e1BhbmUoKX08L1NwaW4+IDogUGFuZSgpfTwvPjtcclxuICAgIH1cclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgcHJvcHMgPSBvbWl0KHRoaXMucHJvcHMsIFtcclxuICAgICAgXCJmb3JtXCIsXHJcbiAgICAgIFwic2hvd01vZGVsXCIsXHJcbiAgICAgIFwibW9kYWxQcm9wc1wiLFxyXG4gICAgICBcImRyYXdlclByb3BzXCIsXHJcbiAgICAgIFwidXJsXCIsXHJcbiAgICAgIFwiZW5jcnlwdEZpZWxkc1wiLFxyXG4gICAgICBcImNoYW5nZVZhbGlkXCIsXHJcbiAgICBdKTtcclxuICAgIHJldHVybiA8Pnt0aGlzLnJlbmRlclBhbmVsKHByb3BzLmNoaWxkcmVuLCBwcm9wcyl9PC8+O1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBOc2NGb3JtO1xyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU9BLEtBQUssSUFBSUMsYUFBYSxRQUFRLE9BQU87QUFFNUMsT0FBT0MsS0FBSyxNQUFNLFVBQVU7QUFFNUIsU0FBU0MsT0FBTyxRQUFRLHVCQUF1QjtBQUMvQyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUUxQixPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixTQUFTQyxLQUFLLFFBQVEsdUJBQXVCO0FBZTdDLE1BQU1DLE9BQU8sU0FBU04sYUFBYSxDQUFhO0VBdUI5Q08sV0FBV0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQ2pCLEtBQUssQ0FBQ0EsS0FBSyxDQUFDO0lBQUNDLGVBQUEsK0JBdkJMVixLQUFLLENBQUNXLFNBQVMsQ0FBZSxDQUFDO0lBQUFELGVBQUEsZ0JBQ2pDO01BQ05FLFdBQVcsRUFBRSxL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
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","omit","Spin","utils","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","bind","preserve","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (drawerProps.visible !== null && drawerProps.visible !== undefined) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"vertical\" ? 24 : 4 },\r\n wrapperCol: { span: this.props.layout == \"vertical\" ? 24 : 20 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n // draggable={true}\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n newModalProps = { ...newModalProps };\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","names":["React","PureComponent","Modal","request","omit","Spin","utils","NscForm","constructor","props","_defineProperty","createRef","formVisible","formModalProps","formDrawerProps","isChange","expand","scope","params","beforeRender","callbackBeforeClose","callback","afterRender","getDerivedStateFromProps","nextProps","prevState","modalProps","drawerProps","showModel","Object","is","newState","visible","undefined","getFieldError","name","_this$formRef$current","formRef","current","getFieldInstance","_this$formRef$current2","getFieldsError","getFieldsValue","_this$formRef","getFieldValue","isFieldsTouched","isFieldTouched","isFieldValidating","resetFields","scrollToField","options","setFields","filds","setFieldsValue","values","_this$formRef$current3","submit","onSubmit","url","msg","propsUrl","encryptFields","encryptPropps","Error","method","requestUrl","requestData","requestEncrypt","requestParam","data","_objectWithoutProperties","_excluded","_objectSpread","toLowerCase","autoPrefix","then","res","code","_message","success","error","catch","console","log","validateFields","hide","e","_this","onCancel","onClose","hideForm","resetValue","arguments","length","setState","showForm","value","option","_this$formRef$current4","cloneElement","item","index","key","children","Array","isArray","Children","map","child","onValuesChange","val","allVal","renderPanel","newChildren","loading","changeValid","state","layout","labelCol","span","wrapperCol","Pane","createElement","_Form","_extends","ref","validateTrigger","bind","preserve","newModalProps","newDrawerProps","defaultprops","maskClosable","formExpand","valid","change","type","modalprops","open","spinning","Fragment","render"],"sources":["../../../src/components/base/form/Form.tsx"],"sourcesContent":["/*\r\n * @Descripttion:表单组件\r\n * @version:\r\n * @Author: rxzhu\r\n * @Date: 2021-04-09 09:18:34\r\n * @LastEditors: rxzhu\r\n * @LastEditTime: 2021-04-23 15:23:54\r\n */\r\nimport React, { PureComponent } from \"react\";\r\nimport { Form, FormProps, Drawer, DrawerProps, message } from \"antd\";\r\nimport Modal from \"../modal\";\r\nimport { FormInstance } from \"antd/lib/form\";\r\nimport { request } from \"@bj-nsc/msn/lib/utils\";\r\nimport omit from \"omit.js\";\r\nimport { NscModalPorps } from \"../modal\";\r\nimport Spin from \"../spin\";\r\nimport { utils } from \"@bj-nsc/msn/lib/utils\";\r\nexport interface IFormProps extends FormProps {\r\n showModel?: \"modal\" | \"drawer\" | \"auto\";\r\n modalProps?: NscModalPorps;\r\n drawerProps?: DrawerProps & {\r\n onOk?: any;\r\n okButtonProps?: Object;\r\n formExpand?: Object;\r\n };\r\n url?: string;\r\n encryptFields?: Array<String>;\r\n changeValid?: boolean; //数据修改关闭校验\r\n loading?: boolean; //表单加载状态\r\n}\r\n\r\nclass NscForm extends PureComponent<IFormProps> {\r\n formRef = React.createRef<FormInstance>();\r\n state = {\r\n formVisible: false,\r\n formModalProps: {},\r\n formDrawerProps: {},\r\n isChange: false,\r\n expand: false,\r\n };\r\n option: any = {\r\n //回调作用域\r\n scope: this,\r\n //open传递过来的页面参数\r\n params: {},\r\n //显示之前回调\r\n beforeRender: null,\r\n //关闭之前回调,如果return false,且窗口不关闭\r\n callbackBeforeClose: null,\r\n //关闭后回调,异步操作\r\n callback: null,\r\n //显示之后回调\r\n afterRender: null,\r\n };\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n const { modalProps, drawerProps, showModel } = nextProps;\r\n const { formModalProps, formDrawerProps } = prevState;\r\n if (showModel == \"modal\") {\r\n // JSON.stringify(formModalProps) !== JSON.stringify(modalProps)\r\n if (!Object.is(formModalProps, modalProps)) {\r\n let newState = {\r\n formDrawerProps: modalProps,\r\n } as any;\r\n if (modalProps.visible !== null && modalProps.visible !== undefined) {\r\n newState.formVisible = modalProps.visible;\r\n }\r\n return newState;\r\n }\r\n } else if (showModel == \"drawer\") {\r\n // JSON.stringify(formDrawerProps) !== JSON.stringify(drawerProps)\r\n if (!Object.is(formDrawerProps, drawerProps)) {\r\n let newState = {\r\n formDrawerProps: drawerProps,\r\n } as any;\r\n if (drawerProps?.visible !== null && drawerProps?.visible !== undefined) {\r\n newState.formVisible = drawerProps.visible;\r\n }\r\n return newState;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n //获取对应字段名的错误信息\r\n getFieldError(name) {\r\n return this.formRef.current?.getFieldError(name);\r\n }\r\n\r\n //获取对应字段实例\r\n getFieldInstance(name) {\r\n return this.formRef.current?.getFieldInstance(name);\r\n }\r\n\r\n //获取一组字段名对应的错误信息,返回为数组形式\r\n getFieldsError() {\r\n return this.formRef.current.getFieldsError();\r\n }\r\n\r\n //获取一组字段名对应的值,会按照对应结构返回\r\n getFieldsValue() {\r\n return this.formRef?.current?.getFieldsValue();\r\n }\r\n\r\n //获取对应字段名的值\r\n getFieldValue(name) {\r\n return this.formRef.current.getFieldValue(name);\r\n }\r\n\r\n //检查一组字段是否被用户操作过\r\n isFieldsTouched() {\r\n return this.formRef.current.isFieldsTouched();\r\n }\r\n\r\n //检查对应字段是否被用户操作过\r\n isFieldTouched(name) {\r\n return this.formRef.current.isFieldTouched(name);\r\n }\r\n\r\n //检查一组字段是否正在校验\r\n isFieldValidating(name) {\r\n return this.formRef.current.isFieldValidating(name);\r\n }\r\n\r\n //重置一组字段到\r\n resetFields() {\r\n this.formRef.current.resetFields();\r\n }\r\n\r\n scrollToField(name, options) {\r\n this.formRef.current.scrollToField(name, options);\r\n }\r\n\r\n setFields(filds) {\r\n this.formRef.current.setFields(filds);\r\n }\r\n\r\n setFieldsValue(values) {\r\n this.formRef.current?.setFieldsValue(values);\r\n }\r\n\r\n submit() {\r\n this.formRef.current.submit();\r\n }\r\n\r\n onSubmit(\r\n url?: string,\r\n options?: any,\r\n callback?: (res?: any) => void,\r\n msg?: boolean\r\n ) {\r\n const { url: propsUrl, encryptFields: encryptPropps = [] } = this.props;\r\n if (!url && !propsUrl) {\r\n throw new Error(\"没有上传的url!\");\r\n }\r\n const { method = \"post\" } = options;\r\n let requestUrl = url ? url : propsUrl;\r\n let requestData = this.formRef.current.getFieldsValue();\r\n let requestEncrypt = encryptPropps;\r\n let requestParam = { method: method, data: requestData } as { data: any };\r\n if (options) {\r\n const { data, encryptFields, ...params } = options;\r\n requestParam = { ...requestParam, ...params };\r\n if (data) {\r\n delete requestParam.data;\r\n if (method.toLowerCase() == \"get\") {\r\n requestParam = { ...requestParam, ...params, params: data };\r\n } else {\r\n requestParam = { ...requestParam, ...params, data: data };\r\n }\r\n }\r\n if (encryptFields) {\r\n requestEncrypt = encryptFields;\r\n }\r\n }\r\n\r\n request(requestUrl, {\r\n autoPrefix: true,\r\n ...requestParam,\r\n encryptFields: requestEncrypt,\r\n })\r\n .then(function (res: any) {\r\n const { code } = res;\r\n if (msg) {\r\n if (code === 200) {\r\n message.success(\"提交成功\");\r\n } else {\r\n message.error(\"提交失败\");\r\n }\r\n }\r\n callback && callback(res);\r\n })\r\n .catch(function (error: any) {\r\n console.log(\"error\", error);\r\n });\r\n }\r\n\r\n validateFields(name) {\r\n return this.formRef.current.validateFields(name);\r\n }\r\n\r\n hide(e) {\r\n const { showModel, modalProps = {}, drawerProps = {} } = this.props;\r\n let _this = this;\r\n const { onCancel } = modalProps;\r\n const { onClose } = drawerProps;\r\n if (showModel == \"drawer\" && onClose) {\r\n onClose(e);\r\n } else if (showModel == \"modal\" && onCancel) {\r\n onCancel(e);\r\n } else {\r\n _this.hideForm();\r\n }\r\n }\r\n\r\n hideForm(resetValue = true) {\r\n this.setState(\r\n {\r\n formVisible: false,\r\n isChange: false,\r\n },\r\n () => {\r\n if (resetValue) {\r\n this.formRef.current.resetFields();\r\n }\r\n }\r\n );\r\n }\r\n\r\n showForm(value?: any, option: any = {}) {\r\n this.setState(\r\n {\r\n formVisible: true,\r\n isChange: false,\r\n },\r\n () => {\r\n this.formRef.current?.setFieldsValue(value);\r\n const { afterRender } = option;\r\n utils.callback(afterRender, this);\r\n }\r\n );\r\n }\r\n\r\n cloneElement(item, index = 0) {\r\n let _this = this;\r\n if (typeof item == \"string\") return item;\r\n let props = {} as { key: number; children: any };\r\n props.key = index;\r\n try {\r\n if (item.props && item.props.children) {\r\n if (Array.isArray(item.props.children)) {\r\n props.children = React.Children.map(\r\n item.props.children,\r\n function (child, index) {\r\n return _this.cloneElement(child, index);\r\n }\r\n );\r\n } else {\r\n props.children = this.cloneElement(item.props.children, 0);\r\n }\r\n }\r\n return React.cloneElement(item, props);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n onValuesChange(val, allVal) {\r\n const { onValuesChange } = this.props;\r\n this.setState({\r\n isChange: true,\r\n });\r\n onValuesChange && onValuesChange(val, allVal);\r\n }\r\n renderPanel(newChildren, props) {\r\n const {\r\n showModel,\r\n drawerProps = {},\r\n modalProps = {},\r\n loading = false,\r\n changeValid = true,\r\n } = this.props;\r\n const { formVisible } = this.state;\r\n const layout = {\r\n labelCol: { span: this.props.layout == \"vertical\" ? 24 : 4 },\r\n wrapperCol: { span: this.props.layout == \"vertical\" ? 24 : 20 },\r\n };\r\n const Pane = () => {\r\n return (\r\n <Form\r\n ref={this.formRef}\r\n validateTrigger={[\"onBlur\", \"onChange\"]}\r\n // draggable={true}\r\n {...layout}\r\n {...props}\r\n onValuesChange={this.onValuesChange.bind(this)}\r\n preserve={false}\r\n />\r\n );\r\n };\r\n if (showModel) {\r\n let newModalProps = omit(modalProps, [\"visible\"]);\r\n newModalProps = { ...newModalProps };\r\n let newDrawerProps = omit(drawerProps, [\"visible\"]);\r\n let defaultprops = {\r\n maskClosable: !this.state.isChange,\r\n formExpand: {\r\n expand: true,\r\n valid: changeValid,\r\n change: this.state.isChange,\r\n },\r\n type: showModel,\r\n } as any;\r\n let modalprops = { ...defaultprops };\r\n modalprops = {\r\n ...defaultprops,\r\n ...newModalProps,\r\n ...newDrawerProps,\r\n onCancel: this.hide.bind(this),\r\n // onClose: this.hide.bind(this),\r\n };\r\n return (\r\n <Modal open={formVisible} {...modalprops}>\r\n {loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}\r\n </Modal>\r\n );\r\n } else {\r\n return <>{loading ? <Spin spinning={loading}>{Pane()}</Spin> : Pane()}</>;\r\n }\r\n }\r\n render() {\r\n const props = omit(this.props, [\r\n \"form\",\r\n \"showModel\",\r\n \"modalProps\",\r\n \"drawerProps\",\r\n \"url\",\r\n \"encryptFields\",\r\n \"changeValid\",\r\n ]);\r\n return <>{this.renderPanel(props.children, props)}</>;\r\n }\r\n}\r\nexport default NscForm;\r\n"],"mappings":"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"}
@@ -74,14 +74,12 @@ class NscImportData extends React.PureComponent {
74
74
  if (res.code == 200) {
75
75
  var _res$data, _res$data2;
76
76
  // message.success("导入成功!");
77
-
78
77
  if (((_res$data = res.data) === null || _res$data === void 0 || (_res$data = _res$data.warnings) === null || _res$data === void 0 ? void 0 : _res$data.length) > 0) {
79
78
  this.setState({
80
79
  requestStatus: "warning",
81
80
  warnList: res.data.warnings
82
81
  });
83
- }
84
- if (((_res$data2 = res.data) === null || _res$data2 === void 0 || (_res$data2 = _res$data2.errors) === null || _res$data2 === void 0 ? void 0 : _res$data2.length) > 0) {
82
+ } else if (((_res$data2 = res.data) === null || _res$data2 === void 0 || (_res$data2 = _res$data2.errors) === null || _res$data2 === void 0 ? void 0 : _res$data2.length) > 0) {
85
83
  // message.success("导入失败!");
86
84
  this.setState({
87
85
  requestStatus: "error",
@@ -106,11 +104,15 @@ class NscImportData extends React.PureComponent {
106
104
  renderErrorContent(list) {
107
105
  return list.map((item, index) => {
108
106
  if (this.state.requestStatus == "warning") {
109
- return typeof item == "string" ? /*#__PURE__*/React.createElement("div", null, item) : /*#__PURE__*/React.createElement("div", {
107
+ return typeof item == "string" ? /*#__PURE__*/React.createElement("div", {
108
+ key: index
109
+ }, item) : /*#__PURE__*/React.createElement("div", {
110
110
  key: index
111
111
  }, "第" + item.rowNum + "行数据重复;");
112
112
  } else {
113
- return typeof item == "string" ? /*#__PURE__*/React.createElement("div", null, item) : /*#__PURE__*/React.createElement("div", {
113
+ return typeof item == "string" ? /*#__PURE__*/React.createElement("div", {
114
+ key: index
115
+ }, item) : /*#__PURE__*/React.createElement("div", {
114
116
  key: index
115
117
  }, item.errorMsg);
116
118
  }
@@ -336,4 +338,4 @@ class NscImportData extends React.PureComponent {
336
338
  }
337
339
  }
338
340
  export default NscImportData;
339
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJOc2NJbXBvcnREYXRhIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiZmlsZSIsImN1cnJlbnRTdGVwIiwicmVxdWVzdFN0YXR1cyIsImVycm9yTGlzdCIsIndhcm5MaXN0IiwiYnV0dG9uTG9hZGluZyIsImNyZWF0ZVJlZiIsImZpbGVTaXplS2IiLCJudW1iZXIiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ0b0ZpeGVkIiwic2hvdyIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbiIsIm1vZGFsUmVmIiwiY3VycmVudCIsImhpZGUiLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4yIiwicmVzZXREYXRhIiwiaW1wb3J0RGF0YSIsImlzT3ZlcndyaXRlIiwicmVxdWVzdENvbmZpZyIsImltcG9ydFVybCIsIm9uQ2FsbEJhY2tzIiwicHJvcHMiLCJkYXRhIiwiY29uZmlnIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwic2V0U3RhdGUiLCJpbXBvcnRGaWxlIiwidXJsIiwiX29iamVjdFNwcmVhZCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX3JlcyRkYXRhIiwiX3JlcyRkYXRhMiIsIndhcm5pbmdzIiwiZXJyb3JzIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwiaW1wb3J0Q2FsbEJhY2siLCJlcnJvciIsInJlbmRlckVycm9yQ29udGVudCIsImxpc3QiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzdGF0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyb3dOdW0iLCJlcnJvck1zZyIsInJlbmRlclJlc3VsdCIsImFsZXJ0X21zZ19tYXAiLCJ3YXJuaW5nIiwiX2FsZXJ0X21zZ19tYXAkcmVxdWVzIiwic3R5bGUiLCJtYXJnaW5Ub3AiLCJtZXNzYWdlIiwidHlwZSIsInNob3dJY29uIiwiZXhwYW5kSWNvblBvc2l0aW9uIiwiY2xhc3NOYW1lIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiZGVmYXVsdEFjdGl2ZUtleSIsIlBhbmVsIiwiaGVhZGVyIiwiY29sb3IiLCJleHRyYSIsImJhY2tncm91bmQiLCJyZW5kZXIiLCJkb3duTG9hZFRlbXBsZXQiLCJkb3duVGVtcGxldFVybCIsImNoZWNrRGF0YSIsImNoZWNrVXJsIiwiZm9vdGVyIiwib25DbGljayIsImVycm9yQ291bnQiLCJkdXBsaWNhdGVDb3VudCIsImR1cGxpY2F0ZUxpc3QiLCJkaXNhYmxlZCIsImljb24iLCJtYXJnaW5MZWZ0IiwiY2hpbGRyZW4iLCJGcmFnbWVudCIsInNob3dCdXR0b24iLCJ0aXRsZSIsIndpZHRoIiwid3JhcENsYXNzTmFtZSIsInJlZiIsIm9uQ2FuY2VsIiwiZGlzcGxheSIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0IiwibmFtZSIsInNpemUiLCJpdGVtcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1wb3J0RGF0YS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IE5zY1VwbG9hZCBmcm9tIFwiLi4vdXBsb2FkXCI7XHJcbmltcG9ydCBOU0NCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgTnNjRG93bkxvYWQgZnJvbSBcIi4uL2Rvd25sb2FkXCI7XHJcbmltcG9ydCBOc2NNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBVcGxvYWRPdXRsaW5lZCxcclxuICBGb2xkZXJPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBTdGVwcyBmcm9tIFwiLi4vc3RlcHNcIjtcclxuaW1wb3J0IG5zY0ZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgQWxlcnQgZnJvbSBcIi4uL2FsZXJ0XCI7XHJcbmltcG9ydCBDb2xsYXBzZSBmcm9tIFwiLi4vY29sbGFwc2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uL2NvbW1vbi9JY29uXCI7XHJcblxyXG5pbnRlcmZhY2UgSW1wb3J0UHJvcG9zIHtcclxuICBjaGVja0RhdGE/OiBib29sZWFuOyAvL+aYr+WQpui/m+ihjOaVsOaNruagoemqjO+8jOm7mOiupGZhbHNlXHJcbiAgY2hlY2tVcmw/OiBzdHJpbmc7IC8v5pWw5o2u5qCh6aqM5o6l5Y+j5Zyw5Z2AXHJcbiAgaW1wb3J0VXJsOiBzdHJpbmc7IC8v5pWw5o2u5a+85YWl5Zyw5Z2AXHJcbiAgcmVxdWVzdENvbmZpZz86IGFueTtcclxuICBkb3duTG9hZFRlbXBsZXQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuS4i+i9veaooeadv+aMiemSrlxyXG4gIGRvd25UZW1wbGV0VXJsPzogc3RyaW5nOyAvL+S4i+i9veaooeadv+WcsOWdgFxyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgY2hlY2tDYWxsQmFjaz86IGFueTsgLy/mlbDmja7moKHpqozlm57osINcclxuICAgIGltcG9ydENhbGxCYWNrPzogYW55OyAvL+aVsOaNruWvvOWFpeWbnuiwg1xyXG4gICAgY2xvc2VDYWxsQmFjaz86IGFueTtcclxuICB9O1xyXG4gIHNob3dCdXR0b24/OiBib29sZWFuO1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jbGFzcyBOc2NJbXBvcnREYXRhIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJbXBvcnRQcm9wb3MsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgc3RhdHVzOiAxLFxyXG4gICAgZmlsZTogbnVsbCxcclxuICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgcmVxdWVzdFN0YXR1czogXCJcIixcclxuICAgIGVycm9yTGlzdDogW10sXHJcbiAgICB3YXJuTGlzdDogW10sXHJcbiAgICBidXR0b25Mb2FkaW5nOiBmYWxzZSxcclxuICB9O1xyXG4gIG1vZGFsUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBmaWxlU2l6ZUtiKG51bWJlciA9IDApIHtcclxuICAgIHJldHVybiAobnVtYmVyIC8gMTAyNCkudG9GaXhlZCgyKTtcclxuICB9XHJcbiAgc2hvdygpIHtcclxuICAgIHRoaXMubW9kYWxSZWYuY3VycmVudD8uc2hvdygpO1xyXG4gIH1cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5tb2RhbFJlZi5jdXJyZW50Py5oaWRlKCk7XHJcbiAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gIH1cclxuICBpbXBvcnREYXRhKGZpbGUsIGlzT3ZlcndyaXRlKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RDb25maWcgPSB7fSwgaW1wb3J0VXJsLCBvbkNhbGxCYWNrcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZGF0YSA9IHt9LCAuLi5jb25maWcgfSA9IHJlcXVlc3RDb25maWc7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYnV0dG9uTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgLy8gbGV0IGZvcm1EYXRhID0gey4uLmRhdGF9XHJcblxyXG4gICAgbnNjRmlsZVxyXG4gICAgICAuaW1wb3J0RmlsZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IGltcG9ydFVybCxcclxuICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSwgaXNPdmVyd3JpdGU6IGlzT3ZlcndyaXRlIH0sXHJcbiAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgIClcclxuICAgICAgLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBidXR0b25Mb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAvLyBtZXNzYWdlLnN1Y2Nlc3MoXCLlr7zlhaXmiJDlip/vvIFcIik7XHJcblxyXG4gICAgICAgICAgaWYgKHJlcy5kYXRhPy53YXJuaW5ncz8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcIndhcm5pbmdcIixcclxuICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEud2FybmluZ3MsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHJlcy5kYXRhPy5lcnJvcnM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgLy8gbWVzc2FnZS5zdWNjZXNzKFwi5a+85YWl5aSx6LSl77yBXCIpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgZXJyb3JMaXN0OiByZXMuZGF0YS5lcnJvcnMsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5a+85YWl5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcInN1Y2Nlc3NcIixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvbkNhbGxCYWNrcz8uaW1wb3J0Q2FsbEJhY2sgJiYgb25DYWxsQmFja3M/LmltcG9ydENhbGxCYWNrKHJlcyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWvvOWFpeWksei0pe+8gVwiKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJFcnJvckNvbnRlbnQobGlzdCkge1xyXG4gICAgcmV0dXJuIGxpc3QubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5zdGF0ZS5yZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIgPyAoXHJcbiAgICAgICAgICA8ZGl2PntpdGVtfTwvZGl2PlxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PntcIuesrFwiICsgaXRlbS5yb3dOdW0gKyBcIuihjOaVsOaNrumHjeWkje+8m1wifTwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIgPyAoXHJcbiAgICAgICAgICA8ZGl2PntpdGVtfTwvZGl2PlxyXG4gICAgICAgICkgOiAoXHJcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PntpdGVtLmVycm9yTXNnfTwvZGl2PlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJSZXN1bHQoKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RTdGF0dXMsIGVycm9yTGlzdCwgd2Fybkxpc3QgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCBhbGVydF9tc2dfbWFwID0ge1xyXG4gICAgICBzdWNjZXNzOiBcIuWvvOWFpeaIkOWKn1wiLFxyXG4gICAgICBlcnJvcjogXCLlr7zlhaXlpLHotKVcIixcclxuICAgICAgd2FybmluZzogXCLlkYrorabmj5DnpLpcIixcclxuICAgIH07XHJcbiAgICBpZiAocmVxdWVzdFN0YXR1cykge1xyXG4gICAgICBpZiAocmVxdWVzdFN0YXR1cyA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICA8QWxlcnRcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luVG9wOiBcIjhweFwiIH19XHJcbiAgICAgICAgICAgIG1lc3NhZ2U9e2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c10gPz8gXCLmj5DnpLpcIn1cclxuICAgICAgICAgICAgdHlwZT17XCJzdWNjZXNzXCJ9XHJcbiAgICAgICAgICAgIHNob3dJY29uXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxDb2xsYXBzZVxyXG4gICAgICAgICAgICBleHBhbmRJY29uUG9zaXRpb249XCJyaWdodFwiXHJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17XHJcbiAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiY29udGVudC13YXJuaW5nXCIgOiBcImNvbnRlbnQtZXJyb3JcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOlxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZDRTFBQlwiIDogXCIjZmZmMmYwXCIsXHJcbiAgICAgICAgICAgICAgYm9yZGVyOlxyXG4gICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgICA/IFwiMXB4IHNvbGlkICNGQ0UxQUJcIlxyXG4gICAgICAgICAgICAgICAgICA6IFwiMXB4IHNvbGlkICNGRkNDQzdcIixcclxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IFwiMnB4XCIsXHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGRlZmF1bHRBY3RpdmVLZXk9e1tcIjFcIl19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxDb2xsYXBzZS5QYW5lbFxyXG4gICAgICAgICAgICAgIGtleT1cIjFcIlxyXG4gICAgICAgICAgICAgIGhlYWRlcj17XHJcbiAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgICAgICAgICAgPENsb3NlQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgICAgIHthbGVydF9tc2dfbWFwW3JlcXVlc3RTdGF0dXNdfVxyXG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZXh0cmE9e1xyXG4gICAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IFwiI0ZBQUQxNFwiIDogXCIjZjYwXCIsXHJcbiAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCLmn6XnnItcIiA6IFwi5p+l55yL6ZSZ6K+vXCJ9XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDpcclxuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkZGREY2XCIgOiBcIiNmZmY5ZjlcIixcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjb250ZW50LWVycm9yX19tc2dcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt0aGlzLnJlbmRlckVycm9yQ29udGVudChcclxuICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiA/IHdhcm5MaXN0IDogZXJyb3JMaXN0XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L0NvbGxhcHNlLlBhbmVsPlxyXG4gICAgICAgICAgPC9Db2xsYXBzZT5cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlc2V0RGF0YSgpIHtcclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBzdGF0dXM6IDEsXHJcbiAgICAgIGZpbGU6IG51bGwsXHJcbiAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICByZXF1ZXN0U3RhdHVzOiBcIlwiLFxyXG4gICAgICBlcnJvckxpc3Q6IFtdLFxyXG4gICAgICB3YXJuTGlzdDogW10sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVuZGVyKCkge1xyXG4gICAgY29uc3QgeyBmaWxlLCBzdGF0dXMsIGN1cnJlbnRTdGVwLCByZXF1ZXN0U3RhdHVzIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgY29uc3Qge1xyXG4gICAgICBkb3duTG9hZFRlbXBsZXQsXHJcbiAgICAgIGRvd25UZW1wbGV0VXJsLFxyXG4gICAgICBjaGVja0RhdGEsXHJcbiAgICAgIGNoZWNrVXJsLFxyXG4gICAgICByZXF1ZXN0Q29uZmlnLFxyXG4gICAgfSA9IHRoaXMucHJvcHM7XHJcbiAgICBjb25zdCBmb290ZXIgPSAoXHJcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9vdGVyXCI+XHJcbiAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg5Y+W5raIXHJcbiAgICAgICAgPC9OU0NCdXR0b24+XHJcblxyXG4gICAgICAgIHtzdGF0dXMgPT0gMSAmJiB0aGlzLnN0YXRlLmZpbGUgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICBzdGF0dXM6IDIsXHJcbiAgICAgICAgICAgICAgICBjdXJyZW50U3RlcDogMSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBpZiAoY2hlY2tEYXRhKSB7XHJcbiAgICAgICAgICAgICAgICBuc2NGaWxlXHJcbiAgICAgICAgICAgICAgICAgIC5pbXBvcnRGaWxlKHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6IGNoZWNrVXJsLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGU6IGZpbGUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogcmVxdWVzdENvbmZpZz8uZGF0YSB8fCB7fSxcclxuICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5lcnJvckNvdW50ID09IDAgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEuZHVwbGljYXRlQ291bnQgPT0gMFxyXG4gICAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKGZpbGUsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmVycm9yQ291bnQgPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwiZXJyb3JcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvckxpc3Q6IHJlcy5kYXRhLmVycm9yTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJ3YXJuaW5nXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2Fybkxpc3Q6IHJlcy5kYXRhLmR1cGxpY2F0ZUxpc3QsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKGZpbGUsIGZhbHNlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGRpc2FibGVkPXtmaWxlID8gZmFsc2UgOiB0cnVlfVxyXG4gICAgICAgICAgICBpY29uPXs8VXBsb2FkT3V0bGluZWQgLz59XHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOW8gOWni+S4iuS8oFxyXG4gICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgKX1cclxuICAgICAgICB7cmVxdWVzdFN0YXR1cyA9PSBcIndhcm5pbmdcIiAmJiBzdGF0dXMgPT0gMiAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuaW1wb3J0RGF0YSh0aGlzLnN0YXRlLmZpbGUsIGZhbHNlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuYnV0dG9uTG9hZGluZ31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5LiN6KaG55uW5pWw5o2uXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiICYmIHN0YXR1cyA9PSAyICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKHRoaXMuc3RhdGUuZmlsZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnN0YXRlLmJ1dHRvbkxvYWRpbmd9XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIOimhuebluaVsOaNrlxyXG4gICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgKX1cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAge3RoaXMucHJvcHMuY2hpbGRyZW4gPyAoXHJcbiAgICAgICAgICB0aGlzLnByb3BzLmNoaWxkcmVuXHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDw+XHJcbiAgICAgICAgICAgIHt0aGlzLnByb3BzLnNob3dCdXR0b24gJiYgKFxyXG4gICAgICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zaG93KCk7XHJcbiAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIOaVsOaNruWvvOWFpVxyXG4gICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC8+XHJcbiAgICAgICAgKX1cclxuXHJcbiAgICAgICAgPE5zY01vZGFsXHJcbiAgICAgICAgICB0aXRsZT1cIuaVsOaNruWvvOWFpVwiXHJcbiAgICAgICAgICB3aWR0aD17ODAwfVxyXG4gICAgICAgICAgd3JhcENsYXNzTmFtZT17XCJpbXBvcnQtbW9kYWxcIn1cclxuICAgICAgICAgIHJlZj17dGhpcy5tb2RhbFJlZn1cclxuICAgICAgICAgIGZvb3Rlcj17Zm9vdGVyfVxyXG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5oaWRlKCk7XHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxyXG4gICAgICAgICAgICB7c3RhdHVzID09IDEgPyAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogXCJmbGV4XCIgfX0+XHJcbiAgICAgICAgICAgICAgICAgIDxOc2NVcGxvYWRcclxuICAgICAgICAgICAgICAgICAgICBiZWZvcmVVcGxvYWQ9eyhmaWxlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb3dGaWxlU3VmZml4PXtbXCJ4bHNcIiwgXCJ4bHN4XCJdfVxyXG4gICAgICAgICAgICAgICAgICAgIGFjY2VwdD17XCIueGxzLC54bHN4XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgc2hvd1VwbG9hZExpc3Q9e2ZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT17XCJwcmltYXJ5XCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmlsZSA/IHRydWUgOiBmYWxzZX1cclxuICAgICAgICAgICAgICAgICAgICAgIGljb249ezxGb2xkZXJPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICDpgInmi6nmlofku7ZcclxuICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPC9Oc2NVcGxvYWQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICB7ZG93bkxvYWRUZW1wbGV0ICYmIChcclxuICAgICAgICAgICAgICAgICAgICA8TnNjRG93bkxvYWQgdXJsPXtkb3duVGVtcGxldFVybH0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8TlNDQnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIOaooeadv+S4i+i9vVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9Oc2NEb3duTG9hZD5cclxuICAgICAgICAgICAgICAgICAgKX1cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLXRpcC1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQgLz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLXRpcC1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDHjgIHmlK/mjIFFeGNlbCAyMDA35Y+K5Lul5LiK54mI5pys77yM5LiU5q+P5qyh5Y+q6IO95LiK5Lyg5LiA5Liq5paH5Lu277ybXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdj4y44CB5a+85YWl5YmN5YWI5LiL6L295qih5p2/77yM5bm25qC55o2u5qih5p2/5aGr5YaZ5pWw5o2u77ybPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAge2ZpbGUgJiYgKFxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC1maWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxGaWxlSWNvbiB0eXBlPVwiZXhjZWxcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS1jb250ZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtdGl0bGVcIj57ZmlsZS5uYW1lfTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWRlc2NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAg5paH5Lu25aSn5bCP77yae3RoaXMuZmlsZVNpemVLYihmaWxlLnNpemUpICsgXCJLQlwifVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApIDogKFxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8U3RlcHNcclxuICAgICAgICAgICAgICAgICAgY3VycmVudD17Y3VycmVudFN0ZXB9XHJcbiAgICAgICAgICAgICAgICAgIGl0ZW1zPXtbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5pWw5o2u5YiG5p6QXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7mj5LlhaVcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICBdfVxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtcInJlc3VsdC1jb250ZW50XCJ9Pnt0aGlzLnJlbmRlclJlc3VsdCgpfTwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICApfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9Oc2NNb2RhbD5cclxuICAgICAgPC9kaXY+XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG5leHBvcnQgZGVmYXVsdCBOc2NJbXBvcnREYXRhO1xyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBQ3pCLE9BQU8sY0FBYztBQUNyQixPQUFPQyxTQUFTLE1BQU0sV0FBVztBQUNqQyxPQUFPQyxTQUFTLE1BQU0sV0FBVztBQUNqQyxPQUFPQyxXQUFXLE1BQU0sYUFBYTtBQUNyQyxPQUFPQyxRQUFRLE1BQU0sVUFBVTtBQUMvQixPQUFPQyxRQUFRLE1BQU0sb0JBQW9CO0FBQ3pDLFNBQ0VDLGNBQWMsRUFDZEMsY0FBYyxFQUNkQyxtQkFBbUIsRUFDbkJDLHlCQUF5QixRQUNwQixtQkFBbUI7QUFDMUIsT0FBT0MsS0FBSyxNQUFNLFVBQVU7QUFDNUIsT0FBT0MsT0FBTyxNQUFNLFVBQVU7QUFFOUIsT0FBT0MsS0FBSyxNQUFNLFVBQVU7QUFDNUIsT0FBT0MsUUFBUSxNQUFNLGFBQWE7QUFrQmxDLE1BQU1DLGFBQWEsU0FBU2QsS0FBSyxDQUFDZSxhQUFhLENBQW9CO0VBQUFDLFlBQUE7SUFBQSxTQUFBQyxTQUFBO0lBQUFDLGVBQUEsZ0JBQ3pEO01BQ05DLE1BQU0sRUFBRSxDQUFDO01BQ1RDLElBQUksRUFBRSxJQUFJO01BQ1ZDLFdBQVcsRUFBRSxDQUFDO01BQ2RDLGFBQWEsRUFBRSxFQUFFO01BQ2pCQyxTQUFTLEVBQUUsRUFBRTtNQUNiQyxRQUFRLEVBQUUsRUFBRTtNQUNaQyxhQUFhLEVBQUU7SUFDakIsQ0FBQztJQUFBUCxlQUFB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
341
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIk5zY1VwbG9hZCIsIk5TQ0J1dHRvbiIsIk5zY0Rvd25Mb2FkIiwiTnNjTW9kYWwiLCJGaWxlSWNvbiIsIlVwbG9hZE91dGxpbmVkIiwiRm9sZGVyT3V0bGluZWQiLCJDbG9zZUNpcmNsZU91dGxpbmVkIiwiRXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCIsIlN0ZXBzIiwibnNjRmlsZSIsIkFsZXJ0IiwiQ29sbGFwc2UiLCJOc2NJbXBvcnREYXRhIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5Iiwic3RhdHVzIiwiZmlsZSIsImN1cnJlbnRTdGVwIiwicmVxdWVzdFN0YXR1cyIsImVycm9yTGlzdCIsIndhcm5MaXN0IiwiYnV0dG9uTG9hZGluZyIsImNyZWF0ZVJlZiIsImZpbGVTaXplS2IiLCJudW1iZXIiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ0b0ZpeGVkIiwic2hvdyIsIl90aGlzJG1vZGFsUmVmJGN1cnJlbiIsIm1vZGFsUmVmIiwiY3VycmVudCIsImhpZGUiLCJfdGhpcyRtb2RhbFJlZiRjdXJyZW4yIiwicmVzZXREYXRhIiwiaW1wb3J0RGF0YSIsImlzT3ZlcndyaXRlIiwicmVxdWVzdENvbmZpZyIsImltcG9ydFVybCIsIm9uQ2FsbEJhY2tzIiwicHJvcHMiLCJkYXRhIiwiY29uZmlnIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwic2V0U3RhdGUiLCJpbXBvcnRGaWxlIiwidXJsIiwiX29iamVjdFNwcmVhZCIsInRoZW4iLCJyZXMiLCJjb2RlIiwiX3JlcyRkYXRhIiwiX3JlcyRkYXRhMiIsIndhcm5pbmdzIiwiZXJyb3JzIiwiX21lc3NhZ2UiLCJzdWNjZXNzIiwiaW1wb3J0Q2FsbEJhY2siLCJlcnJvciIsInJlbmRlckVycm9yQ29udGVudCIsImxpc3QiLCJtYXAiLCJpdGVtIiwiaW5kZXgiLCJzdGF0ZSIsImNyZWF0ZUVsZW1lbnQiLCJrZXkiLCJyb3dOdW0iLCJlcnJvck1zZyIsInJlbmRlclJlc3VsdCIsImFsZXJ0X21zZ19tYXAiLCJ3YXJuaW5nIiwiX2FsZXJ0X21zZ19tYXAkcmVxdWVzIiwic3R5bGUiLCJtYXJnaW5Ub3AiLCJtZXNzYWdlIiwidHlwZSIsInNob3dJY29uIiwiZXhwYW5kSWNvblBvc2l0aW9uIiwiY2xhc3NOYW1lIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyIiwiYm9yZGVyUmFkaXVzIiwiZGVmYXVsdEFjdGl2ZUtleSIsIlBhbmVsIiwiaGVhZGVyIiwiY29sb3IiLCJleHRyYSIsImJhY2tncm91bmQiLCJyZW5kZXIiLCJkb3duTG9hZFRlbXBsZXQiLCJkb3duVGVtcGxldFVybCIsImNoZWNrRGF0YSIsImNoZWNrVXJsIiwiZm9vdGVyIiwib25DbGljayIsImVycm9yQ291bnQiLCJkdXBsaWNhdGVDb3VudCIsImR1cGxpY2F0ZUxpc3QiLCJkaXNhYmxlZCIsImljb24iLCJtYXJnaW5MZWZ0IiwiY2hpbGRyZW4iLCJGcmFnbWVudCIsInNob3dCdXR0b24iLCJ0aXRsZSIsIndpZHRoIiwid3JhcENsYXNzTmFtZSIsInJlZiIsIm9uQ2FuY2VsIiwiZGlzcGxheSIsImJlZm9yZVVwbG9hZCIsImFsbG93RmlsZVN1ZmZpeCIsImFjY2VwdCIsInNob3dVcGxvYWRMaXN0IiwibmFtZSIsInNpemUiLCJpdGVtcyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2Jhc2UvaW1wb3J0RGF0YS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xyXG5pbXBvcnQgXCIuL2luZGV4Lmxlc3NcIjtcclxuaW1wb3J0IE5zY1VwbG9hZCBmcm9tIFwiLi4vdXBsb2FkXCI7XHJcbmltcG9ydCBOU0NCdXR0b24gZnJvbSBcIi4uL2J1dHRvblwiO1xyXG5pbXBvcnQgTnNjRG93bkxvYWQgZnJvbSBcIi4uL2Rvd25sb2FkXCI7XHJcbmltcG9ydCBOc2NNb2RhbCBmcm9tIFwiLi4vbW9kYWxcIjtcclxuaW1wb3J0IEZpbGVJY29uIGZyb20gXCIuLi9jb21tb24vRmlsZUljb25cIjtcclxuaW1wb3J0IHtcclxuICBVcGxvYWRPdXRsaW5lZCxcclxuICBGb2xkZXJPdXRsaW5lZCxcclxuICBDbG9zZUNpcmNsZU91dGxpbmVkLFxyXG4gIEV4Y2xhbWF0aW9uQ2lyY2xlT3V0bGluZWQsXHJcbn0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XHJcbmltcG9ydCBTdGVwcyBmcm9tIFwiLi4vc3RlcHNcIjtcclxuaW1wb3J0IG5zY0ZpbGUgZnJvbSBcIm5zYy1maWxlXCI7XHJcbmltcG9ydCB7IG1lc3NhZ2UgfSBmcm9tIFwiYW50ZFwiO1xyXG5pbXBvcnQgQWxlcnQgZnJvbSBcIi4uL2FsZXJ0XCI7XHJcbmltcG9ydCBDb2xsYXBzZSBmcm9tIFwiLi4vY29sbGFwc2VcIjtcclxuaW1wb3J0IEljb24gZnJvbSBcIi4uL2NvbW1vbi9JY29uXCI7XHJcblxyXG5pbnRlcmZhY2UgSW1wb3J0UHJvcG9zIHtcclxuICBjaGVja0RhdGE/OiBib29sZWFuOyAvL+aYr+WQpui/m+ihjOaVsOaNruagoemqjO+8jOm7mOiupGZhbHNlXHJcbiAgY2hlY2tVcmw/OiBzdHJpbmc7IC8v5pWw5o2u5qCh6aqM5o6l5Y+j5Zyw5Z2AXHJcbiAgaW1wb3J0VXJsOiBzdHJpbmc7IC8v5pWw5o2u5a+85YWl5Zyw5Z2AXHJcbiAgcmVxdWVzdENvbmZpZz86IGFueTtcclxuICBkb3duTG9hZFRlbXBsZXQ/OiBib29sZWFuOyAvL+aYr+WQpuaYvuekuuS4i+i9veaooeadv+aMiemSrlxyXG4gIGRvd25UZW1wbGV0VXJsPzogc3RyaW5nOyAvL+S4i+i9veaooeadv+WcsOWdgFxyXG4gIG9uQ2FsbEJhY2tzPzoge1xyXG4gICAgY2hlY2tDYWxsQmFjaz86IGFueTsgLy/mlbDmja7moKHpqozlm57osINcclxuICAgIGltcG9ydENhbGxCYWNrPzogYW55OyAvL+aVsOaNruWvvOWFpeWbnuiwg1xyXG4gICAgY2xvc2VDYWxsQmFjaz86IGFueTtcclxuICB9O1xyXG4gIHNob3dCdXR0b24/OiBib29sZWFuO1xyXG4gIFtwcm9wc05hbWU6IHN0cmluZ106IGFueTtcclxufVxyXG5jbGFzcyBOc2NJbXBvcnREYXRhIGV4dGVuZHMgUmVhY3QuUHVyZUNvbXBvbmVudDxJbXBvcnRQcm9wb3MsIGFueT4ge1xyXG4gIHN0YXRlID0ge1xyXG4gICAgc3RhdHVzOiAxLFxyXG4gICAgZmlsZTogbnVsbCxcclxuICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgcmVxdWVzdFN0YXR1czogXCJcIixcclxuICAgIGVycm9yTGlzdDogW10sXHJcbiAgICB3YXJuTGlzdDogW10sXHJcbiAgICBidXR0b25Mb2FkaW5nOiBmYWxzZSxcclxuICB9O1xyXG4gIG1vZGFsUmVmID0gUmVhY3QuY3JlYXRlUmVmPGFueT4oKTtcclxuICBmaWxlU2l6ZUtiKG51bWJlciA9IDApIHtcclxuICAgIHJldHVybiAobnVtYmVyIC8gMTAyNCkudG9GaXhlZCgyKTtcclxuICB9XHJcbiAgc2hvdygpIHtcclxuICAgIHRoaXMubW9kYWxSZWYuY3VycmVudD8uc2hvdygpO1xyXG4gIH1cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5tb2RhbFJlZi5jdXJyZW50Py5oaWRlKCk7XHJcbiAgICB0aGlzLnJlc2V0RGF0YSgpO1xyXG4gIH1cclxuICBpbXBvcnREYXRhKGZpbGUsIGlzT3ZlcndyaXRlKSB7XHJcbiAgICBjb25zdCB7IHJlcXVlc3RDb25maWcgPSB7fSwgaW1wb3J0VXJsLCBvbkNhbGxCYWNrcyA9IHt9IH0gPSB0aGlzLnByb3BzO1xyXG4gICAgbGV0IHsgZGF0YSA9IHt9LCAuLi5jb25maWcgfSA9IHJlcXVlc3RDb25maWc7XHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgYnV0dG9uTG9hZGluZzogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgLy8gbGV0IGZvcm1EYXRhID0gey4uLmRhdGF9XHJcblxyXG4gICAgbnNjRmlsZVxyXG4gICAgICAuaW1wb3J0RmlsZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICB1cmw6IGltcG9ydFVybCxcclxuICAgICAgICAgIGRhdGE6IHsgLi4uZGF0YSwgaXNPdmVyd3JpdGU6IGlzT3ZlcndyaXRlIH0sXHJcbiAgICAgICAgICBmaWxlOiBmaWxlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29uZmlnXHJcbiAgICAgIClcclxuICAgICAgLnRoZW4oKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICBidXR0b25Mb2FkaW5nOiBmYWxzZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAvLyBtZXNzYWdlLnN1Y2Nlc3MoXCLlr7zlhaXmiJDlip/vvIFcIik7XHJcbiAgICAgICAgICBpZiAocmVzLmRhdGE/Lndhcm5pbmdzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXM6IFwid2FybmluZ1wiLFxyXG4gICAgICAgICAgICAgIHdhcm5MaXN0OiByZXMuZGF0YS53YXJuaW5ncyxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5kYXRhPy5lcnJvcnM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgLy8gbWVzc2FnZS5zdWNjZXNzKFwi5a+85YWl5aSx6LSl77yBXCIpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICAgICAgZXJyb3JMaXN0OiByZXMuZGF0YS5lcnJvcnMsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbWVzc2FnZS5zdWNjZXNzKFwi5a+85YWl5oiQ5Yqf77yBXCIpO1xyXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcInN1Y2Nlc3NcIixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBvbkNhbGxCYWNrcz8uaW1wb3J0Q2FsbEJhY2sgJiYgb25DYWxsQmFja3M/LmltcG9ydENhbGxCYWNrKHJlcyk7XHJcbiAgICAgICAgICAvLyB0aGlzLmhpZGUoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbWVzc2FnZS5lcnJvcihcIuWvvOWFpeWksei0pe+8gVwiKTtcclxuICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcImVycm9yXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXJFcnJvckNvbnRlbnQobGlzdCkge1xyXG4gICAgcmV0dXJuIGxpc3QubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5zdGF0ZS5yZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiKSB7XHJcbiAgICAgICAgcmV0dXJuIHR5cGVvZiBpdGVtID09IFwic3RyaW5nXCIgPyAoXHJcbiAgICAgICAgICA8ZGl2ICBrZXk9e2luZGV4fT57aXRlbX08L2Rpdj5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT57XCLnrKxcIiArIGl0ZW0ucm93TnVtICsgXCLooYzmlbDmja7ph43lpI3vvJtcIn08L2Rpdj5cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgaXRlbSA9PSBcInN0cmluZ1wiID8gKFxyXG4gICAgICAgICAgPGRpdiAga2V5PXtpbmRleH0+e2l0ZW19PC9kaXY+XHJcbiAgICAgICAgKSA6IChcclxuICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0+e2l0ZW0uZXJyb3JNc2d9PC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHJlbmRlclJlc3VsdCgpIHtcclxuICAgIGNvbnN0IHsgcmVxdWVzdFN0YXR1cywgZXJyb3JMaXN0LCB3YXJuTGlzdCB9ID0gdGhpcy5zdGF0ZTtcclxuICAgIGNvbnN0IGFsZXJ0X21zZ19tYXAgPSB7XHJcbiAgICAgIHN1Y2Nlc3M6IFwi5a+85YWl5oiQ5YqfXCIsXHJcbiAgICAgIGVycm9yOiBcIuWvvOWFpeWksei0pVwiLFxyXG4gICAgICB3YXJuaW5nOiBcIuWRiuitpuaPkOekulwiLFxyXG4gICAgfTtcclxuICAgIGlmIChyZXF1ZXN0U3RhdHVzKSB7XHJcbiAgICAgIGlmIChyZXF1ZXN0U3RhdHVzID09IFwic3VjY2Vzc1wiKSB7XHJcbiAgICAgICAgcmV0dXJuIChcclxuICAgICAgICAgIDxBbGVydFxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5Ub3A6IFwiOHB4XCIgfX1cclxuICAgICAgICAgICAgbWVzc2FnZT17YWxlcnRfbXNnX21hcFtyZXF1ZXN0U3RhdHVzXSA/PyBcIuaPkOekulwifVxyXG4gICAgICAgICAgICB0eXBlPXtcInN1Y2Nlc3NcIn1cclxuICAgICAgICAgICAgc2hvd0ljb25cclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPENvbGxhcHNlXHJcbiAgICAgICAgICAgIGV4cGFuZEljb25Qb3NpdGlvbj1cInJpZ2h0XCJcclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtcclxuICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCJjb250ZW50LXdhcm5pbmdcIiA6IFwiY29udGVudC1lcnJvclwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkNFMUFCXCIgOiBcIiNmZmYyZjBcIixcclxuICAgICAgICAgICAgICBib3JkZXI6XHJcbiAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgID8gXCIxcHggc29saWQgI0ZDRTFBQlwiXHJcbiAgICAgICAgICAgICAgICAgIDogXCIxcHggc29saWQgI0ZGQ0NDN1wiLFxyXG4gICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCIycHhcIixcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGVmYXVsdEFjdGl2ZUtleT17W1wiMVwiXX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPENvbGxhcHNlLlBhbmVsXHJcbiAgICAgICAgICAgICAga2V5PVwiMVwiXHJcbiAgICAgICAgICAgICAgaGVhZGVyPXtcclxuICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICA8Q2xvc2VDaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgICAgICAge2FsZXJ0X21zZ19tYXBbcmVxdWVzdFN0YXR1c119XHJcbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBleHRyYT17XHJcbiAgICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gXCIjRkFBRDE0XCIgOiBcIiNmNjBcIixcclxuICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIuafpeeci1wiIDogXCLmn6XnnIvplJnor69cIn1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgPyBcIiNGRkZERjZcIiA6IFwiI2ZmZjlmOVwiLFxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNvbnRlbnQtZXJyb3JfX21zZ1wiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAge3RoaXMucmVuZGVyRXJyb3JDb250ZW50KFxyXG4gICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiID8gd2Fybkxpc3QgOiBlcnJvckxpc3RcclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvQ29sbGFwc2UuUGFuZWw+XHJcbiAgICAgICAgICA8L0NvbGxhcHNlPlxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmVzZXREYXRhKCkge1xyXG4gICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgIHN0YXR1czogMSxcclxuICAgICAgZmlsZTogbnVsbCxcclxuICAgICAgY3VycmVudFN0ZXA6IDEsXHJcbiAgICAgIHJlcXVlc3RTdGF0dXM6IFwiXCIsXHJcbiAgICAgIGVycm9yTGlzdDogW10sXHJcbiAgICAgIHdhcm5MaXN0OiBbXSxcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW5kZXIoKSB7XHJcbiAgICBjb25zdCB7IGZpbGUsIHN0YXR1cywgY3VycmVudFN0ZXAsIHJlcXVlc3RTdGF0dXMgfSA9IHRoaXMuc3RhdGU7XHJcbiAgICBjb25zdCB7XHJcbiAgICAgIGRvd25Mb2FkVGVtcGxldCxcclxuICAgICAgZG93blRlbXBsZXRVcmwsXHJcbiAgICAgIGNoZWNrRGF0YSxcclxuICAgICAgY2hlY2tVcmwsXHJcbiAgICAgIHJlcXVlc3RDb25maWcsXHJcbiAgICB9ID0gdGhpcy5wcm9wcztcclxuICAgIGNvbnN0IGZvb3RlciA9IChcclxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmb290ZXJcIj5cclxuICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xyXG4gICAgICAgICAgfX1cclxuICAgICAgICA+XHJcbiAgICAgICAgICDlj5bmtohcclxuICAgICAgICA8L05TQ0J1dHRvbj5cclxuXHJcbiAgICAgICAge3N0YXR1cyA9PSAxICYmIHRoaXMuc3RhdGUuZmlsZSAmJiAoXHJcbiAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogMixcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRTdGVwOiAxLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIGlmIChjaGVja0RhdGEpIHtcclxuICAgICAgICAgICAgICAgIG5zY0ZpbGVcclxuICAgICAgICAgICAgICAgICAgLmltcG9ydEZpbGUoe1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogY2hlY2tVcmwsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZTogZmlsZSxcclxuICAgICAgICAgICAgICAgICAgICBkYXRhOiByZXF1ZXN0Q29uZmlnPy5kYXRhIHx8IHt9LFxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgICAudGhlbigocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmVycm9yQ291bnQgPT0gMCAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5kdXBsaWNhdGVDb3VudCA9PSAwXHJcbiAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudFN0ZXA6IDIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuZXJyb3JDb3VudCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdFN0YXR1czogXCJlcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTGlzdDogcmVzLmRhdGEuZXJyb3JMaXN0LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmR1cGxpY2F0ZUNvdW50ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0U3RhdHVzOiBcIndhcm5pbmdcIixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3YXJuTGlzdDogcmVzLmRhdGEuZHVwbGljYXRlTGlzdCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEoZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbGUgPyBmYWxzZSA6IHRydWV9XHJcbiAgICAgICAgICAgIGljb249ezxVcGxvYWRPdXRsaW5lZCAvPn1cclxuICAgICAgICAgICAgc3R5bGU9e3sgbWFyZ2luTGVmdDogMjAgfX1cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg5byA5aeL5LiK5LygXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICAgIHtyZXF1ZXN0U3RhdHVzID09IFwid2FybmluZ1wiICYmIHN0YXR1cyA9PSAyICYmIChcclxuICAgICAgICAgIDxOU0NCdXR0b25cclxuICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fVxyXG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5pbXBvcnREYXRhKHRoaXMuc3RhdGUuZmlsZSwgZmFsc2UpO1xyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5zdGF0ZS5idXR0b25Mb2FkaW5nfVxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICDkuI3opobnm5bmlbDmja5cclxuICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICl9XHJcbiAgICAgICAge3JlcXVlc3RTdGF0dXMgPT0gXCJ3YXJuaW5nXCIgJiYgc3RhdHVzID09IDIgJiYgKFxyXG4gICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgIHN0eWxlPXt7IG1hcmdpbkxlZnQ6IDIwIH19XHJcbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmltcG9ydERhdGEodGhpcy5zdGF0ZS5maWxlLCB0cnVlKTtcclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMuc3RhdGUuYnV0dG9uTG9hZGluZ31cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAg6KaG55uW5pWw5o2uXHJcbiAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICApfVxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgPGRpdj5cclxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbiA/IChcclxuICAgICAgICAgIHRoaXMucHJvcHMuY2hpbGRyZW5cclxuICAgICAgICApIDogKFxyXG4gICAgICAgICAgPD5cclxuICAgICAgICAgICAge3RoaXMucHJvcHMuc2hvd0J1dHRvbiAmJiAoXHJcbiAgICAgICAgICAgICAgPE5TQ0J1dHRvblxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNob3coKTtcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAg5pWw5o2u5a+85YWlXHJcbiAgICAgICAgICAgICAgPC9OU0NCdXR0b24+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8Lz5cclxuICAgICAgICApfVxyXG5cclxuICAgICAgICA8TnNjTW9kYWxcclxuICAgICAgICAgIHRpdGxlPVwi5pWw5o2u5a+85YWlXCJcclxuICAgICAgICAgIHdpZHRoPXs4MDB9XHJcbiAgICAgICAgICB3cmFwQ2xhc3NOYW1lPXtcImltcG9ydC1tb2RhbFwifVxyXG4gICAgICAgICAgcmVmPXt0aGlzLm1vZGFsUmVmfVxyXG4gICAgICAgICAgZm9vdGVyPXtmb290ZXJ9XHJcbiAgICAgICAgICBvbkNhbmNlbD17KCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmhpZGUoKTtcclxuICAgICAgICAgIH19XHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50XCI+XHJcbiAgICAgICAgICAgIHtzdGF0dXMgPT0gMSA/IChcclxuICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiBcImZsZXhcIiB9fT5cclxuICAgICAgICAgICAgICAgICAgPE5zY1VwbG9hZFxyXG4gICAgICAgICAgICAgICAgICAgIGJlZm9yZVVwbG9hZD17KGZpbGUpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICBhbGxvd0ZpbGVTdWZmaXg9e1tcInhsc1wiLCBcInhsc3hcIl19XHJcbiAgICAgICAgICAgICAgICAgICAgYWNjZXB0PXtcIi54bHMsLnhsc3hcIn1cclxuICAgICAgICAgICAgICAgICAgICBzaG93VXBsb2FkTGlzdD17ZmFsc2V9XHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8TlNDQnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPXtcInByaW1hcnlcIn1cclxuICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWxlID8gdHJ1ZSA6IGZhbHNlfVxyXG4gICAgICAgICAgICAgICAgICAgICAgaWNvbj17PEZvbGRlck91dGxpbmVkIC8+fVxyXG4gICAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICAgIOmAieaLqeaWh+S7tlxyXG4gICAgICAgICAgICAgICAgICAgIDwvTlNDQnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8L05zY1VwbG9hZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgIHtkb3duTG9hZFRlbXBsZXQgJiYgKFxyXG4gICAgICAgICAgICAgICAgICAgIDxOc2NEb3duTG9hZCB1cmw9e2Rvd25UZW1wbGV0VXJsfT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxOU0NCdXR0b24gdHlwZT1cInByaW1hcnlcIiBzdHlsZT17eyBtYXJnaW5MZWZ0OiAyMCB9fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAg5qih5p2/5LiL6L29XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L05TQ0J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L05zY0Rvd25Mb2FkPlxyXG4gICAgICAgICAgICAgICAgICApfVxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInVwbG9hZC10aXBcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8RXhjbGFtYXRpb25DaXJjbGVPdXRsaW5lZCAvPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1cGxvYWQtdGlwLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgMeOAgeaUr+aMgUV4Y2VsIDIwMDflj4rku6XkuIrniYjmnKzvvIzkuJTmr4/mrKHlj6rog73kuIrkvKDkuIDkuKrmlofku7bvvJtcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PjLjgIHlr7zlhaXliY3lhYjkuIvovb3mqKHmnb/vvIzlubbmoLnmja7mqKHmnb/loavlhpnmlbDmja7vvJs8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICB7ZmlsZSAmJiAoXHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBsb2FkLWZpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPEZpbGVJY29uIHR5cGU9XCJleGNlbFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxlLWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsZS10aXRsZVwiPntmaWxlLm5hbWV9PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGUtZGVzY1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICDmlofku7blpKflsI/vvJp7dGhpcy5maWxlU2l6ZUtiKGZpbGUuc2l6ZSkgKyBcIktCXCJ9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICl9XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICkgOiAoXHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxTdGVwc1xyXG4gICAgICAgICAgICAgICAgICBjdXJyZW50PXtjdXJyZW50U3RlcH1cclxuICAgICAgICAgICAgICAgICAgaXRlbXM9e1tcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlbDmja7liIbmnpBcIixcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaVsOaNruaPkuWFpVwiLFxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIF19XHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1wicmVzdWx0LWNvbnRlbnRcIn0+e3RoaXMucmVuZGVyUmVzdWx0KCl9PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICl9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L05zY01vZGFsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBkZWZhdWx0IE5zY0ltcG9ydERhdGE7XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsT0FBTyxjQUFjO0FBQ3JCLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFNBQVMsTUFBTSxXQUFXO0FBQ2pDLE9BQU9DLFdBQVcsTUFBTSxhQUFhO0FBQ3JDLE9BQU9DLFFBQVEsTUFBTSxVQUFVO0FBQy9CLE9BQU9DLFFBQVEsTUFBTSxvQkFBb0I7QUFDekMsU0FDRUMsY0FBYyxFQUNkQyxjQUFjLEVBQ2RDLG1CQUFtQixFQUNuQkMseUJBQXlCLFFBQ3BCLG1CQUFtQjtBQUMxQixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxPQUFPLE1BQU0sVUFBVTtBQUU5QixPQUFPQyxLQUFLLE1BQU0sVUFBVTtBQUM1QixPQUFPQyxRQUFRLE1BQU0sYUFBYTtBQWtCbEMsTUFBTUMsYUFBYSxTQUFTZCxLQUFLLENBQUNlLGFBQWEsQ0FBb0I7RUFBQUMsWUFBQTtJQUFBLFNBQUFDLFNBQUE7SUFBQUMsZUFBQSxnQkFDekQ7TUFDTkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsSUFBSSxFQUFFLElBQUk7TUFDVkMsV0FBVyxFQUFFLENBQUM7TUFDZEMsYUFBYSxFQUFFLEVBQUU7TUFDakJDLFNBQVMsRUFBRSxFQUFFO01BQ2JDLFFBQVEsRUFBRSxFQUFFO01BQ1pDLGFBQWEsRUFBRTtJQUNqQixD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
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","NscUpload","NSCButton","NscDownLoad","NscModal","FileIcon","UploadOutlined","FolderOutlined","CloseCircleOutlined","ExclamationCircleOutlined","Steps","nscFile","Alert","Collapse","NscImportData","PureComponent","constructor","arguments","_defineProperty","status","file","currentStep","requestStatus","errorList","warnList","buttonLoading","createRef","fileSizeKb","number","length","undefined","toFixed","show","_this$modalRef$curren","modalRef","current","hide","_this$modalRef$curren2","resetData","importData","isOverwrite","requestConfig","importUrl","onCallBacks","props","data","config","_objectWithoutProperties","_excluded","setState","importFile","url","_objectSpread","then","res","code","_res$data","_res$data2","warnings","errors","_message","success","importCallBack","error","renderErrorContent","list","map","item","index","state","createElement","key","rowNum","errorMsg","renderResult","alert_msg_map","warning","_alert_msg_map$reques","style","marginTop","message","type","showIcon","expandIconPosition","className","backgroundColor","border","borderRadius","defaultActiveKey","Panel","header","color","extra","background","render","downLoadTemplet","downTempletUrl","checkData","checkUrl","footer","onClick","errorCount","duplicateCount","duplicateList","disabled","icon","marginLeft","children","Fragment","showButton","title","width","wrapClassName","ref","onCancel","display","beforeUpload","allowFileSuffix","accept","showUploadList","name","size","items"],"sources":["../../../src/components/base/importData/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport \"./index.less\";\r\nimport NscUpload from \"../upload\";\r\nimport NSCButton from \"../button\";\r\nimport NscDownLoad from \"../download\";\r\nimport NscModal from \"../modal\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n UploadOutlined,\r\n FolderOutlined,\r\n CloseCircleOutlined,\r\n ExclamationCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport Steps from \"../steps\";\r\nimport nscFile from \"nsc-file\";\r\nimport { message } from \"antd\";\r\nimport Alert from \"../alert\";\r\nimport Collapse from \"../collapse\";\r\nimport Icon from \"../common/Icon\";\r\n\r\ninterface ImportPropos {\r\n checkData?: boolean; //是否进行数据校验,默认false\r\n checkUrl?: string; //数据校验接口地址\r\n importUrl: string; //数据导入地址\r\n requestConfig?: any;\r\n downLoadTemplet?: boolean; //是否显示下载模板按钮\r\n downTempletUrl?: string; //下载模板地址\r\n onCallBacks?: {\r\n checkCallBack?: any; //数据校验回调\r\n importCallBack?: any; //数据导入回调\r\n closeCallBack?: any;\r\n };\r\n showButton?: boolean;\r\n [propsName: string]: any;\r\n}\r\nclass NscImportData extends React.PureComponent<ImportPropos, any> {\r\n state = {\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n buttonLoading: false,\r\n };\r\n modalRef = React.createRef<any>();\r\n fileSizeKb(number = 0) {\r\n return (number / 1024).toFixed(2);\r\n }\r\n show() {\r\n this.modalRef.current?.show();\r\n }\r\n hide() {\r\n this.modalRef.current?.hide();\r\n this.resetData();\r\n }\r\n importData(file, isOverwrite) {\r\n const { requestConfig = {}, importUrl, onCallBacks = {} } = this.props;\r\n let { data = {}, ...config } = requestConfig;\r\n this.setState({\r\n buttonLoading: true,\r\n });\r\n // let formData = {...data}\r\n\r\n nscFile\r\n .importFile(\r\n {\r\n url: importUrl,\r\n data: { ...data, isOverwrite: isOverwrite },\r\n file: file,\r\n },\r\n config\r\n )\r\n .then((res: any) => {\r\n this.setState({\r\n buttonLoading: false,\r\n });\r\n if (res.code == 200) {\r\n // message.success(\"导入成功!\");\r\n\r\n if (res.data?.warnings?.length > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.warnings,\r\n });\r\n }\r\n if (res.data?.errors?.length > 0) {\r\n // message.success(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errors,\r\n });\r\n } else {\r\n message.success(\"导入成功!\");\r\n this.setState({\r\n requestStatus: \"success\",\r\n });\r\n }\r\n onCallBacks?.importCallBack && onCallBacks?.importCallBack(res);\r\n // this.hide();\r\n } else {\r\n message.error(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n });\r\n }\r\n });\r\n }\r\n renderErrorContent(list) {\r\n return list.map((item, index) => {\r\n if (this.state.requestStatus == \"warning\") {\r\n return typeof item == \"string\" ? (\r\n <div>{item}</div>\r\n ) : (\r\n <div key={index}>{\"第\" + item.rowNum + \"行数据重复;\"}</div>\r\n );\r\n } else {\r\n return typeof item == \"string\" ? (\r\n <div>{item}</div>\r\n ) : (\r\n <div key={index}>{item.errorMsg}</div>\r\n );\r\n }\r\n });\r\n }\r\n renderResult() {\r\n const { requestStatus, errorList, warnList } = this.state;\r\n const alert_msg_map = {\r\n success: \"导入成功\",\r\n error: \"导入失败\",\r\n warning: \"告警提示\",\r\n };\r\n if (requestStatus) {\r\n if (requestStatus == \"success\") {\r\n return (\r\n <Alert\r\n style={{ marginTop: \"8px\" }}\r\n message={alert_msg_map[requestStatus] ?? \"提示\"}\r\n type={\"success\"}\r\n showIcon\r\n />\r\n );\r\n } else {\r\n return (\r\n <Collapse\r\n expandIconPosition=\"right\"\r\n className={\r\n requestStatus == \"warning\" ? \"content-warning\" : \"content-error\"\r\n }\r\n style={{\r\n backgroundColor:\r\n requestStatus == \"warning\" ? \"#FCE1AB\" : \"#fff2f0\",\r\n border:\r\n requestStatus == \"warning\"\r\n ? \"1px solid #FCE1AB\"\r\n : \"1px solid #FFCCC7\",\r\n borderRadius: \"2px\",\r\n }}\r\n defaultActiveKey={[\"1\"]}\r\n >\r\n <Collapse.Panel\r\n key=\"1\"\r\n header={\r\n <div>\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? (\r\n <ExclamationCircleOutlined />\r\n ) : (\r\n <CloseCircleOutlined />\r\n )}\r\n {alert_msg_map[requestStatus]}\r\n </span>\r\n </div>\r\n }\r\n extra={\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? \"查看\" : \"查看错误\"}\r\n </span>\r\n }\r\n >\r\n <div\r\n style={{\r\n background:\r\n requestStatus == \"warning\" ? \"#FFFDF6\" : \"#fff9f9\",\r\n }}\r\n className=\"content-error__msg\"\r\n >\r\n {this.renderErrorContent(\r\n requestStatus == \"warning\" ? warnList : errorList\r\n )}\r\n </div>\r\n </Collapse.Panel>\r\n </Collapse>\r\n );\r\n }\r\n }\r\n }\r\n resetData() {\r\n this.setState({\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n });\r\n }\r\n render() {\r\n const { file, status, currentStep, requestStatus } = this.state;\r\n const {\r\n downLoadTemplet,\r\n downTempletUrl,\r\n checkData,\r\n checkUrl,\r\n requestConfig,\r\n } = this.props;\r\n const footer = (\r\n <div className=\"footer\">\r\n <NSCButton\r\n onClick={() => {\r\n this.hide();\r\n }}\r\n >\r\n 取消\r\n </NSCButton>\r\n\r\n {status == 1 && this.state.file && (\r\n <NSCButton\r\n onClick={() => {\r\n this.setState({\r\n status: 2,\r\n currentStep: 1,\r\n });\r\n if (checkData) {\r\n nscFile\r\n .importFile({\r\n url: checkUrl,\r\n file: file,\r\n data: requestConfig?.data || {},\r\n })\r\n .then((res: any) => {\r\n if (res.code == 200) {\r\n if (\r\n res.data.errorCount == 0 &&\r\n res.data.duplicateCount == 0\r\n ) {\r\n this.setState({\r\n currentStep: 2,\r\n requestStatus: \"success\",\r\n });\r\n this.importData(file, false);\r\n return;\r\n }\r\n if (res.data.errorCount > 0) {\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errorList,\r\n });\r\n return;\r\n }\r\n if (res.data.duplicateCount > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.duplicateList,\r\n });\r\n return;\r\n }\r\n }\r\n });\r\n } else {\r\n this.importData(file, false);\r\n }\r\n }}\r\n disabled={file ? false : true}\r\n icon={<UploadOutlined />}\r\n style={{ marginLeft: 20 }}\r\n >\r\n 开始上传\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, false);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 不覆盖数据\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, true);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 覆盖数据\r\n </NSCButton>\r\n )}\r\n </div>\r\n );\r\n\r\n return (\r\n <div>\r\n {this.props.children ? (\r\n this.props.children\r\n ) : (\r\n <>\r\n {this.props.showButton && (\r\n <NSCButton\r\n type=\"primary\"\r\n onClick={() => {\r\n this.show();\r\n }}\r\n >\r\n 数据导入\r\n </NSCButton>\r\n )}\r\n </>\r\n )}\r\n\r\n <NscModal\r\n title=\"数据导入\"\r\n width={800}\r\n wrapClassName={\"import-modal\"}\r\n ref={this.modalRef}\r\n footer={footer}\r\n onCancel={() => {\r\n this.hide();\r\n }}\r\n >\r\n <div className=\"content\">\r\n {status == 1 ? (\r\n <div>\r\n <div style={{ display: \"flex\" }}>\r\n <NscUpload\r\n beforeUpload={(file) => {\r\n this.setState({\r\n file,\r\n });\r\n return false;\r\n }}\r\n allowFileSuffix={[\"xls\", \"xlsx\"]}\r\n accept={\".xls,.xlsx\"}\r\n showUploadList={false}\r\n >\r\n <NSCButton\r\n type={\"primary\"}\r\n disabled={file ? true : false}\r\n icon={<FolderOutlined />}\r\n >\r\n 选择文件\r\n </NSCButton>\r\n </NscUpload>\r\n\r\n {downLoadTemplet && (\r\n <NscDownLoad url={downTempletUrl}>\r\n <NSCButton type=\"primary\" style={{ marginLeft: 20 }}>\r\n 模板下载\r\n </NSCButton>\r\n </NscDownLoad>\r\n )}\r\n </div>\r\n <div className=\"upload-tip\">\r\n <div className=\"upload-tip-left\">\r\n <ExclamationCircleOutlined />\r\n </div>\r\n <div className=\"upload-tip-content\">\r\n <div>\r\n 1、支持Excel 2007及以上版本,且每次只能上传一个文件;\r\n </div>\r\n <div>2、导入前先下载模板,并根据模板填写数据;</div>\r\n </div>\r\n </div>\r\n\r\n {file && (\r\n <div className=\"upload-file\">\r\n <div className=\"file-icon\">\r\n <FileIcon type=\"excel\" />\r\n </div>\r\n <div className=\"file-content\">\r\n <div className=\"file-title\">{file.name}</div>\r\n <div className=\"file-desc\">\r\n <span>\r\n 文件大小:{this.fileSizeKb(file.size) + \"KB\"}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n ) : (\r\n <div>\r\n <Steps\r\n current={currentStep}\r\n items={[\r\n {\r\n title: \"数据分析\",\r\n },\r\n {\r\n title: \"数据插入\",\r\n },\r\n ]}\r\n />\r\n <div className={\"result-content\"}>{this.renderResult()}</div>\r\n </div>\r\n )}\r\n </div>\r\n </NscModal>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default NscImportData;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","NscUpload","NSCButton","NscDownLoad","NscModal","FileIcon","UploadOutlined","FolderOutlined","CloseCircleOutlined","ExclamationCircleOutlined","Steps","nscFile","Alert","Collapse","NscImportData","PureComponent","constructor","arguments","_defineProperty","status","file","currentStep","requestStatus","errorList","warnList","buttonLoading","createRef","fileSizeKb","number","length","undefined","toFixed","show","_this$modalRef$curren","modalRef","current","hide","_this$modalRef$curren2","resetData","importData","isOverwrite","requestConfig","importUrl","onCallBacks","props","data","config","_objectWithoutProperties","_excluded","setState","importFile","url","_objectSpread","then","res","code","_res$data","_res$data2","warnings","errors","_message","success","importCallBack","error","renderErrorContent","list","map","item","index","state","createElement","key","rowNum","errorMsg","renderResult","alert_msg_map","warning","_alert_msg_map$reques","style","marginTop","message","type","showIcon","expandIconPosition","className","backgroundColor","border","borderRadius","defaultActiveKey","Panel","header","color","extra","background","render","downLoadTemplet","downTempletUrl","checkData","checkUrl","footer","onClick","errorCount","duplicateCount","duplicateList","disabled","icon","marginLeft","children","Fragment","showButton","title","width","wrapClassName","ref","onCancel","display","beforeUpload","allowFileSuffix","accept","showUploadList","name","size","items"],"sources":["../../../src/components/base/importData/index.tsx"],"sourcesContent":["import React from \"react\";\r\nimport \"./index.less\";\r\nimport NscUpload from \"../upload\";\r\nimport NSCButton from \"../button\";\r\nimport NscDownLoad from \"../download\";\r\nimport NscModal from \"../modal\";\r\nimport FileIcon from \"../common/FileIcon\";\r\nimport {\r\n UploadOutlined,\r\n FolderOutlined,\r\n CloseCircleOutlined,\r\n ExclamationCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport Steps from \"../steps\";\r\nimport nscFile from \"nsc-file\";\r\nimport { message } from \"antd\";\r\nimport Alert from \"../alert\";\r\nimport Collapse from \"../collapse\";\r\nimport Icon from \"../common/Icon\";\r\n\r\ninterface ImportPropos {\r\n checkData?: boolean; //是否进行数据校验,默认false\r\n checkUrl?: string; //数据校验接口地址\r\n importUrl: string; //数据导入地址\r\n requestConfig?: any;\r\n downLoadTemplet?: boolean; //是否显示下载模板按钮\r\n downTempletUrl?: string; //下载模板地址\r\n onCallBacks?: {\r\n checkCallBack?: any; //数据校验回调\r\n importCallBack?: any; //数据导入回调\r\n closeCallBack?: any;\r\n };\r\n showButton?: boolean;\r\n [propsName: string]: any;\r\n}\r\nclass NscImportData extends React.PureComponent<ImportPropos, any> {\r\n state = {\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n buttonLoading: false,\r\n };\r\n modalRef = React.createRef<any>();\r\n fileSizeKb(number = 0) {\r\n return (number / 1024).toFixed(2);\r\n }\r\n show() {\r\n this.modalRef.current?.show();\r\n }\r\n hide() {\r\n this.modalRef.current?.hide();\r\n this.resetData();\r\n }\r\n importData(file, isOverwrite) {\r\n const { requestConfig = {}, importUrl, onCallBacks = {} } = this.props;\r\n let { data = {}, ...config } = requestConfig;\r\n this.setState({\r\n buttonLoading: true,\r\n });\r\n // let formData = {...data}\r\n\r\n nscFile\r\n .importFile(\r\n {\r\n url: importUrl,\r\n data: { ...data, isOverwrite: isOverwrite },\r\n file: file,\r\n },\r\n config\r\n )\r\n .then((res: any) => {\r\n this.setState({\r\n buttonLoading: false,\r\n });\r\n if (res.code == 200) {\r\n // message.success(\"导入成功!\");\r\n if (res.data?.warnings?.length > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.warnings,\r\n });\r\n } else if (res.data?.errors?.length > 0) {\r\n // message.success(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errors,\r\n });\r\n } else {\r\n message.success(\"导入成功!\");\r\n this.setState({\r\n requestStatus: \"success\",\r\n });\r\n }\r\n onCallBacks?.importCallBack && onCallBacks?.importCallBack(res);\r\n // this.hide();\r\n } else {\r\n message.error(\"导入失败!\");\r\n this.setState({\r\n requestStatus: \"error\",\r\n });\r\n }\r\n });\r\n }\r\n renderErrorContent(list) {\r\n return list.map((item, index) => {\r\n if (this.state.requestStatus == \"warning\") {\r\n return typeof item == \"string\" ? (\r\n <div key={index}>{item}</div>\r\n ) : (\r\n <div key={index}>{\"第\" + item.rowNum + \"行数据重复;\"}</div>\r\n );\r\n } else {\r\n return typeof item == \"string\" ? (\r\n <div key={index}>{item}</div>\r\n ) : (\r\n <div key={index}>{item.errorMsg}</div>\r\n );\r\n }\r\n });\r\n }\r\n renderResult() {\r\n const { requestStatus, errorList, warnList } = this.state;\r\n const alert_msg_map = {\r\n success: \"导入成功\",\r\n error: \"导入失败\",\r\n warning: \"告警提示\",\r\n };\r\n if (requestStatus) {\r\n if (requestStatus == \"success\") {\r\n return (\r\n <Alert\r\n style={{ marginTop: \"8px\" }}\r\n message={alert_msg_map[requestStatus] ?? \"提示\"}\r\n type={\"success\"}\r\n showIcon\r\n />\r\n );\r\n } else {\r\n return (\r\n <Collapse\r\n expandIconPosition=\"right\"\r\n className={\r\n requestStatus == \"warning\" ? \"content-warning\" : \"content-error\"\r\n }\r\n style={{\r\n backgroundColor:\r\n requestStatus == \"warning\" ? \"#FCE1AB\" : \"#fff2f0\",\r\n border:\r\n requestStatus == \"warning\"\r\n ? \"1px solid #FCE1AB\"\r\n : \"1px solid #FFCCC7\",\r\n borderRadius: \"2px\",\r\n }}\r\n defaultActiveKey={[\"1\"]}\r\n >\r\n <Collapse.Panel\r\n key=\"1\"\r\n header={\r\n <div>\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? (\r\n <ExclamationCircleOutlined />\r\n ) : (\r\n <CloseCircleOutlined />\r\n )}\r\n {alert_msg_map[requestStatus]}\r\n </span>\r\n </div>\r\n }\r\n extra={\r\n <span\r\n style={{\r\n color: requestStatus == \"warning\" ? \"#FAAD14\" : \"#f60\",\r\n }}\r\n >\r\n {requestStatus == \"warning\" ? \"查看\" : \"查看错误\"}\r\n </span>\r\n }\r\n >\r\n <div\r\n style={{\r\n background:\r\n requestStatus == \"warning\" ? \"#FFFDF6\" : \"#fff9f9\",\r\n }}\r\n className=\"content-error__msg\"\r\n >\r\n {this.renderErrorContent(\r\n requestStatus == \"warning\" ? warnList : errorList\r\n )}\r\n </div>\r\n </Collapse.Panel>\r\n </Collapse>\r\n );\r\n }\r\n }\r\n }\r\n resetData() {\r\n this.setState({\r\n status: 1,\r\n file: null,\r\n currentStep: 1,\r\n requestStatus: \"\",\r\n errorList: [],\r\n warnList: [],\r\n });\r\n }\r\n render() {\r\n const { file, status, currentStep, requestStatus } = this.state;\r\n const {\r\n downLoadTemplet,\r\n downTempletUrl,\r\n checkData,\r\n checkUrl,\r\n requestConfig,\r\n } = this.props;\r\n const footer = (\r\n <div className=\"footer\">\r\n <NSCButton\r\n onClick={() => {\r\n this.hide();\r\n }}\r\n >\r\n 取消\r\n </NSCButton>\r\n\r\n {status == 1 && this.state.file && (\r\n <NSCButton\r\n onClick={() => {\r\n this.setState({\r\n status: 2,\r\n currentStep: 1,\r\n });\r\n if (checkData) {\r\n nscFile\r\n .importFile({\r\n url: checkUrl,\r\n file: file,\r\n data: requestConfig?.data || {},\r\n })\r\n .then((res: any) => {\r\n if (res.code == 200) {\r\n if (\r\n res.data.errorCount == 0 &&\r\n res.data.duplicateCount == 0\r\n ) {\r\n this.setState({\r\n currentStep: 2,\r\n requestStatus: \"success\",\r\n });\r\n this.importData(file, false);\r\n return;\r\n }\r\n if (res.data.errorCount > 0) {\r\n this.setState({\r\n requestStatus: \"error\",\r\n errorList: res.data.errorList,\r\n });\r\n return;\r\n }\r\n if (res.data.duplicateCount > 0) {\r\n this.setState({\r\n requestStatus: \"warning\",\r\n warnList: res.data.duplicateList,\r\n });\r\n return;\r\n }\r\n }\r\n });\r\n } else {\r\n this.importData(file, false);\r\n }\r\n }}\r\n disabled={file ? false : true}\r\n icon={<UploadOutlined />}\r\n style={{ marginLeft: 20 }}\r\n >\r\n 开始上传\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, false);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 不覆盖数据\r\n </NSCButton>\r\n )}\r\n {requestStatus == \"warning\" && status == 2 && (\r\n <NSCButton\r\n type=\"primary\"\r\n style={{ marginLeft: 20 }}\r\n onClick={() => {\r\n this.importData(this.state.file, true);\r\n }}\r\n disabled={this.state.buttonLoading}\r\n >\r\n 覆盖数据\r\n </NSCButton>\r\n )}\r\n </div>\r\n );\r\n\r\n return (\r\n <div>\r\n {this.props.children ? (\r\n this.props.children\r\n ) : (\r\n <>\r\n {this.props.showButton && (\r\n <NSCButton\r\n type=\"primary\"\r\n onClick={() => {\r\n this.show();\r\n }}\r\n >\r\n 数据导入\r\n </NSCButton>\r\n )}\r\n </>\r\n )}\r\n\r\n <NscModal\r\n title=\"数据导入\"\r\n width={800}\r\n wrapClassName={\"import-modal\"}\r\n ref={this.modalRef}\r\n footer={footer}\r\n onCancel={() => {\r\n this.hide();\r\n }}\r\n >\r\n <div className=\"content\">\r\n {status == 1 ? (\r\n <div>\r\n <div style={{ display: \"flex\" }}>\r\n <NscUpload\r\n beforeUpload={(file) => {\r\n this.setState({\r\n file,\r\n });\r\n return false;\r\n }}\r\n allowFileSuffix={[\"xls\", \"xlsx\"]}\r\n accept={\".xls,.xlsx\"}\r\n showUploadList={false}\r\n >\r\n <NSCButton\r\n type={\"primary\"}\r\n disabled={file ? true : false}\r\n icon={<FolderOutlined />}\r\n >\r\n 选择文件\r\n </NSCButton>\r\n </NscUpload>\r\n\r\n {downLoadTemplet && (\r\n <NscDownLoad url={downTempletUrl}>\r\n <NSCButton type=\"primary\" style={{ marginLeft: 20 }}>\r\n 模板下载\r\n </NSCButton>\r\n </NscDownLoad>\r\n )}\r\n </div>\r\n <div className=\"upload-tip\">\r\n <div className=\"upload-tip-left\">\r\n <ExclamationCircleOutlined />\r\n </div>\r\n <div className=\"upload-tip-content\">\r\n <div>\r\n 1、支持Excel 2007及以上版本,且每次只能上传一个文件;\r\n </div>\r\n <div>2、导入前先下载模板,并根据模板填写数据;</div>\r\n </div>\r\n </div>\r\n\r\n {file && (\r\n <div className=\"upload-file\">\r\n <div className=\"file-icon\">\r\n <FileIcon type=\"excel\" />\r\n </div>\r\n <div className=\"file-content\">\r\n <div className=\"file-title\">{file.name}</div>\r\n <div className=\"file-desc\">\r\n <span>\r\n 文件大小:{this.fileSizeKb(file.size) + \"KB\"}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n ) : (\r\n <div>\r\n <Steps\r\n current={currentStep}\r\n items={[\r\n {\r\n title: \"数据分析\",\r\n },\r\n {\r\n title: \"数据插入\",\r\n },\r\n ]}\r\n />\r\n <div className={\"result-content\"}>{this.renderResult()}</div>\r\n </div>\r\n )}\r\n </div>\r\n </NscModal>\r\n </div>\r\n );\r\n }\r\n}\r\nexport default NscImportData;\r\n"],"mappings":"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"}