jt
2022-08-04 542911aed8878db304c2de590c917058fb704782
unpackage/dist/dev/app-plus/app-service.js
@@ -300,16 +300,20 @@
            on: { click: _vm.logind }
          },
          [_vm._v(_vm._$s(18, "t0-0", _vm._s(_vm.login)))]
        )
        ),
        _c("p", [
          _c("span"),
          _c("span", [_vm._v(_vm._$s(21, "t0-0", _vm._s(_vm.version)))])
        ]),
        _c("div")
      ]
    ),
    _c("div"),
    _c(
      "view",
      [
        _c(
          "uni-popup",
          { ref: "inputDialog", attrs: { type: "dialog", _i: 21 } },
          { ref: "inputDialog", attrs: { type: "dialog", _i: 24 } },
          [
            _c("uni-popup-dialog", {
              ref: "inputClose",
@@ -318,7 +322,7 @@
                title: "设置",
                value: _vm.userServer,
                placeholder: "请输入内容",
                _i: 22
                _i: 25
              },
              on: { confirm: _vm.dialogInputConfirm }
            })
@@ -1652,7 +1656,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n// import {\n// \tmapState,\n// \tmapMutations,\n// \tmapActions ,\n// } from 'vuex'\nvar _default = {\n  data: function data() {\n    //获取全局参数:url-服务器地址\n    var server = uni.getStorageSync('server');\n    var account = uni.getStorageSync('account');\n    var password = uni.getStorageSync('password');\n    var url = this.$store.state.url;\n    var username = this.$store.state.username;\n    var userpwd = this.$store.state.userpwd;\n    var ischecked = false;\n    if (!server)\n    server = url;\n    if (!account)\n    account = username;\n    if (account && password)\n    ischecked = true;\n    // console.log(url);\n    return {\n      login: \"开始登录\",\n      userServer: server,\n      userName: account,\n      userPwd: password,\n      ischecked: ischecked };\n\n  },\n  // computed: mapState({\n  // \t// 从state中拿到数据 箭头函数可使代码更简练\n  // \thasLogin: state => state.hasLogin,\n  // \tloginprovider: state => state.loginProvider,\n  // \tappinfo:state=>state.appInfo\n  // }),\n  methods: {\n    // ...mapMutations({\n    // \tmutatLogin:'login'\n    // }),\n    // ...mapActions({\n    // \tactionLogin:'login'\n    // }),\n    inputDialogToggle: function inputDialogToggle() {\n      this.$refs.inputDialog.open();\n    },\n    dialogInputConfirm: function dialogInputConfirm(val) {\n      // console.log(val);\n      // uni.showLoading({\n      // \ttitle: '3秒后会关闭'\n      // })\n      // setTimeout(() => {\n      // uni.hideLoading();\n      this.userServer = val;\n      uni.setStorageSync('server', val);\n      // this.value = val\n      // 关闭窗口后,恢复默认内容\n      this.$refs.inputDialog.close();\n      // }, 3000)\n    },\n    rememberPwd: function rememberPwd(e) {//记住密码\n      __f__(\"log\", e.target, \" at pages/login/index.vue:227\");\n      uni.setStorageSync('account', '');\n      uni.setStorageSync('password', '');\n      if (e.target.value[0] == '1') {\n        uni.setStorageSync('account', this.userName);\n        uni.setStorageSync('password', this.userPwd);\n      }\n    },\n    // getCookie(key){\n    // \tif(document.cookie.length>0){\n    // \t\tvar start = document.cookie.indexOf(key +'=');\n    // \t\tif(start !== -1){\n    // \t\t\tstart = start+key.length+1;\n    // \t\t\tvar end = document.cookie.indexOf(';',start);\n    // \t\t\tif(end === -1) end=document.cookie.length;\n    // \t\t\treturn document.cookie.substring(start,end);\n    // \t\t}\n    // \t}\n    // \treturn '';\n    // },\n    // setCookie(cName,value,expiredays){\n    // \tvar exdate = new Date();\n    // \texdate.setDate(exdate.getDate(),expiredays)\n    // \tdocument.cookie = cName+'='+ documentURLComponent(value)+\n    // \t((expiredays==null)?'':';expires='+exdate.toGMTString());\n\n    // },\n    logind: function logind() {var _this = this;\n      //检查 \"登录状态/锁屏状态\" 结束\n      var loginInfo = {\n        server: this.userServer,\n        uname: this.userName,\n        pwd: this.userPwd,\n        cname: plus.device.model,\n        type: \"0\" };\n\n      __f__(\"log\", loginInfo, \" at pages/login/index.vue:263\");\n\n      this.$data.login = \"loading......\";\n      //登录\n      this.$store.dispatch('login', loginInfo).then(function (success) {\n        // console.log(success);\n        if (success.code == '00000') {\n          //设置全局参数:user-用户信息\n          uni.setStorageSync('server', loginInfo.server);\n          // uni.setStorageSync('account',loginInfo.uname);\n          // uni.setStorageSync('password',loginInfo.pwd);\n          // this.mutatLogin({loginid:success});\n          _this.$store.commit('login', {\n            loginid: success });\n\n          uni.navigateTo({\n            url: '../index/index?args=9999999999' });\n\n          // uni.redirectTo({\n          // \turl:'../index/index?args=9999999999'\n          // });\n          _this.login = \"开始登录\";\n        } else {\n          uni.showModal({ title: \"错误\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n          _this.login = \"开始登录\";\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n        _this.login = \"开始登录\";\n      });\n    } },\n\n  onLoad: function onLoad() {\n\n  } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vaW5kZXgudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO2VBQ0E7QUFDQSxNQURBLGtCQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFEQTtBQUVBLHdCQUZBO0FBR0EsdUJBSEE7QUFJQSx1QkFKQTtBQUtBLDBCQUxBOztBQU9BLEdBeEJBO0FBeUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBUEEsK0JBT0E7QUFDQTtBQUNBLEtBVEE7QUFVQSxzQkFWQSw4QkFVQSxHQVZBLEVBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXZCQTtBQXdCQSxlQXhCQSx1QkF3QkEsQ0F4QkEsRUF3QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBaENBO0FBaUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQXBEQSxvQkFvREE7QUFDQTtBQUNBO0FBQ0EsK0JBREE7QUFFQSw0QkFGQTtBQUdBLHlCQUhBO0FBSUEsZ0NBSkE7QUFLQSxpQkFMQTs7QUFPQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBREE7O0FBR0E7QUFDQSxpREFEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBaEJBLE1BZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0F0QkEsRUFzQkEsS0F0QkEsQ0FzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQTFCQTtBQTJCQSxLQTVGQSxFQS9CQTs7QUE2SEEsUUE3SEEsb0JBNkhBOztBQUVBLEdBL0hBLEUiLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuPHN0eWxlPlxyXG5cdGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuXHRcdGZvbnQtc2l6ZTogMTJycHg7XHJcblx0fVxyXG5cdCNoZWFkciB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjNDM0MzQzO1xyXG5cdFx0Lyogd2lkdGg6IDM3NXB4OyAqL1xyXG5cdFx0aGVpZ2h0OiAyNTBycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNDM4RUI5O1xyXG5cdFx0LyogYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9sb2dpbi9yb290LnBuZykgIWltcG9ydGFudDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsgXHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7ICovXHJcblx0fVxyXG5cdC5TZXRTZXJ2ZXJ7ICAgIFxyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRtYXJnaW4tbGVmdDogMjBycHg7XHJcblx0fVxyXG5cdC5jaGVja19yZW1lbWJlclB3ZHtcclxuXHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdH1cclxuXHQubG9nbyB7XHJcblx0XHRoZWlnaHQ6IDE4MHJweDtcclxuXHRcdHdpZHRoOiAxODBycHg7IFxyXG5cdFx0bWFyZ2luLXRvcDogMTcwcnB4O1xyXG5cdH1cclxuXHQubG9nb19pbnB1dCB7XHJcblx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0d2lkdGg6IDQwcnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDQwcnB4O1xyXG5cdH1cclxuXHQubG9nb19pY29uIHtcclxuXHRcdGhlaWdodDogNTBycHg7XHJcblx0XHR3aWR0aDogNTBycHg7XHJcblx0XHRtYXJnaW4tbGVmdDogMTVycHg7XHJcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHR9XHJcblx0Lm11aS1jb250ZW50e1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cGFkZGluZy10b3A6IDE0MHJweDtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHQubXVpLWlucHV0LWdyb3VwIC5sYV9pY29uIHtcclxuXHQgICAgd2lkdGg6IDEwMHJweDtcclxuXHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdCAgICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJyxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcclxuXHQgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuXHQgICAgZmxvYXQ6IGxlZnQ7XHJcblx0ICAgIHBhZGRpbmc6IDdweCAxM3B4O1xyXG5cdH1cclxuXHQubXVpLWlucHV0LWdyb3VwIC5tdWktaW5wdXQtcm93IHtcclxuXHQgICAgaGVpZ2h0OiA4NXJweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGNsZWFyOiBsZWZ0O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblx0Lm11aS1pbnB1dC1yb3c6Zmlyc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNjOGM3Y2M7XHJcblx0fVxyXG5cdC5tdWktaW5wdXQtcm93Omxhc3QtY2hpbGQge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOGM3Y2M7XHJcblx0fVxyXG5cdC5tdWktaW5wdXQtZ3JvdXAgLm11aS1pbnB1dC1yb3c6bGFzdC1jaGlsZDphZnRlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcblx0fVxyXG5cdC5tdWktaW5wdXQtZ3JvdXAgLm11aS1pbnB1dC1yb3c6YWZ0ZXIge1xyXG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ICAgIHJpZ2h0OiAwO1xyXG5cdCAgICBib3R0b206IDA7XHJcblx0ICAgIGxlZnQ6IDE1cHg7XHJcblx0ICAgIGhlaWdodDogMXB4O1xyXG5cdCAgICBjb250ZW50OiAnJztcclxuXHQgICAgdHJhbnNmb3JtOiBzY2FsZVkoLjUpO1xyXG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjN2NjO1xyXG5cdH1cclxuXHQubXVpLWlucHV0LXJvdyBpbnB1dCB7XHJcblx0XHRmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJyxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcclxuXHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHRcdHdpZHRoOiA0ODBycHg7XHJcblx0XHQvKiBmbG9hdDogcmlnaHQ7ICovXHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMHJweDtcclxuXHRcdC8qIHBhZGRpbmctcmlnaHQ6IDEwcnB4OyAqL1xyXG5cdFx0LyogbGluZS1oZWlnaHQ6IDMwcnB4OyAqL1xyXG5cdFx0aGVpZ2h0OiA4NXJweDtcclxuXHRcdC8qIHBhZGRpbmc6IDdweCA0MHB4IDdweCAwcHg7ICovXHJcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0O1xyXG5cdFx0LyogYm9yZGVyOiAwOyAqL1xyXG5cdFx0LyogYm9yZGVyLXJhZGl1czogMDsgKi9cclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRvdXRsaW5lOiAwO1xyXG5cdFx0YmFja2dyb3VuZDogMCAwO1xyXG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdH1cclxuXHRcclxuXHQubXVpLWlucHV0LWdyb3VwIGxhYmVsLm11aS1uYXZpZ2F0ZS1yaWdodCB7XHJcblx0XHRmb250LXNpemU6IDI1cHg7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0d2lkdGg6IDgwcnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiA1cnB4O1xyXG5cdFx0bWFyZ2luLXRvcDogLTg4cnB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHRcclxuXHRidXR0b24uYnRuX2xvZ2luIHtcclxuXHRcdG1hcmdpbi10b3A6IDUwcnB4O1xyXG5cdFx0cGFkZGluZzogMjBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0YmFja2dyb3VuZDogIzI3QTZFMTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuPC9zdHlsZT5cclxuIFxyXG5cclxuPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiXCIgc3R5bGU9XCJ3aWR0aDogMTAwdnc7aGVpZ2h0OiA2NHZoO1wiPlxyXG5cdFx0PGRpdiBpZD1cImhlYWRyXCIgY2xhc3M9XCJtdWktYmFyIG11aS1iYXItbmF2XCI+XHJcblx0XHRcdDxpbWFnZSBjbGFzcz1cImxvZ29cIiBzcmM9XCIuLi8uLi9pbWFnZXMvbG9naW4vbW9ib3hfbG9nXzIwMC5wbmdcIj48L2ltYWdlPlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwibXVpLWNvbnRlbnRcIj5cclxuXHRcdFx0PGZvcm0gaWQ9J2xvZ2luLWZvcm0nIGNsYXNzPVwibXVpLWlucHV0LWdyb3VwXCI+XHJcblx0XHRcdFx0PGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIGNsYXNzPVwiU2V0U2VydmVyXCIgQGNsaWNrPVwiaW5wdXREaWFsb2dUb2dnbGVcIj7phY3nva48L2E+XHJcblx0XHRcdFx0PCEtLSA8ZGl2IGNsYXNzPVwibXVpLWlucHV0LXJvd1wiPlxyXG5cdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwibGFfaWNvblwiPjxpbWFnZSBjbGFzcz1cImxvZ29faW5wdXRcIiBzcmM9XCIuLi8uLi9pbWFnZXMvbG9naW4vc3ZyXzMwLnBuZ1wiPjwvaW1hZ2U+PC9sYWJlbD5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwibXVpLWlucHV0XCIgdi1tb2RlbD1cInVzZXJTZXJ2ZXJcIiBwbGFjZWhvbGRlcj1cIuacjeWKoeWZqOWcsOWdgFwiPlxyXG5cdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwibXVpLW5hdmlnYXRlLXJpZ2h0XCIgaWQ9XCJzZXJzZWxcIj48aW1hZ2UgY2xhc3M9XCJsb2dvX2ljb25cIiBzcmM9XCIuLi8uLi9pbWFnZXMvbG9naW4vc2VsX2xlZnQucG5nXCIgPjwvaW1hZ2U+PC9sYWJlbD5cclxuXHRcdFx0XHQ8L2Rpdj4gLS0+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cIm11aS1pbnB1dC1yb3dcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImxhX2ljb25cIiA+PGltYWdlIGNsYXNzPVwibG9nb19pbnB1dFwiIHNyYz1cIi4uLy4uL2ltYWdlcy9sb2dpbi9wZXJzb25fMzAucG5nXCI+PC9pbWFnZT48L2xhYmVsPlxyXG5cdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJtdWktaW5wdXRcIiB2LW1vZGVsPVwidXNlck5hbWVcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpei0puWPt1wiPlxyXG5cdFx0XHRcdFx0PCEtLSA8bGFiZWwgY2xhc3M9XCJtdWktbmF2aWdhdGUtcmlnaHRcIiBpZD1cIm5hbXNlbFwiPjxpbWFnZSBjbGFzcz1cImxvZ29faWNvblwiIHNyYz1cIi4uLy4uL2ltYWdlcy9sb2dpbi91c2VyLXBob3RvLnBuZzwvaW1hZ2U+PC9sYWJlbD4gLS0+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cIm11aS1pbnB1dC1yb3dcIj5cclxuXHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cImxhX2ljb25cIiA+PGltYWdlIGNsYXNzPVwibG9nb19pbnB1dFwiIHNyYz1cIi4uLy4uL2ltYWdlcy9sb2dpbi9sb2NrXzMwLnBuZ1wiPjwvaW1hZ2U+PC9sYWJlbD5cclxuXHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzcz1cIm11aS1pbnB1dFwiIHYtbW9kZWw9XCJ1c2VyUHdkXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlr4bnoIFcIj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8Y2hlY2tib3gtZ3JvdXAgY2xhc3M9XCJjaGVja19yZW1lbWJlclB3ZFwiIEBjaGFuZ2U9XCJyZW1lbWJlclB3ZFwiPlxyXG5cdFx0XHRcdFx0PGxhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8Y2hlY2tib3ggdmFsdWU9XCIxXCIgOmNoZWNrZWQ9XCJpc2NoZWNrZWRcIi8+XHJcblx0XHRcdFx0XHRcdDx0ZXh0PuiusOS9j+WvhueggTwvdGV4dD5cclxuXHRcdFx0XHRcdDwvbGFiZWw+XHJcblx0XHRcdFx0PC9jaGVja2JveC1ncm91cD5cclxuXHRcdFx0PC9mb3JtPlxyXG5cdFx0XHRcdDxidXR0b24gaWQ9J2xvZ2luJyB0eXBlPVwiZGVmYXVsdFwiIEB0YXA9XCJsb2dpbmRcIiBjbGFzcz1cImJ0bl9sb2dpblwiPnt7bG9naW59fTwvYnV0dG9uPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cIlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO2JhY2tncm91bmQ6IHdoaXRlO2JvcmRlci10b3A6IDBweCBzb2xpZCAjQzBDMEMwO2NvbG9yOiAjN2NkMGY4O3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAyNHB4O3BhZGRpbmctdG9wOjNweDtmb250LXNpemU6IDExcHg7XCI+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8dmlldz5cclxuXHRcdFx0PCEtLSDovpPlhaXmoYbnpLrkvosgLS0+XHJcblx0XHRcdDx1bmktcG9wdXAgcmVmPVwiaW5wdXREaWFsb2dcIiB0eXBlPVwiZGlhbG9nXCI+XHJcblx0XHRcdFx0PHVuaS1wb3B1cC1kaWFsb2cgcmVmPVwiaW5wdXRDbG9zZVwiICBtb2RlPVwiaW5wdXRcIiB0aXRsZT1cIuiuvue9rlwiIDp2YWx1ZT1cInVzZXJTZXJ2ZXJcIlxyXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCLor7fovpPlhaXlhoXlrrlcIiBAY29uZmlybT1cImRpYWxvZ0lucHV0Q29uZmlybVwiPjwvdW5pLXBvcHVwLWRpYWxvZz5cclxuXHRcdFx0PC91bmktcG9wdXA+XHJcblx0XHQ8L3ZpZXc+XHJcblx0PC92aWV3PlxyXG5cdCBcclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+IFxyXG5cdC8vIGltcG9ydCB7XHJcblx0Ly8gXHRtYXBTdGF0ZSxcclxuXHQvLyBcdG1hcE11dGF0aW9ucyxcclxuXHQvLyBcdG1hcEFjdGlvbnMgLFxyXG5cdC8vIH0gZnJvbSAndnVleCdcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCl7XHJcblx0XHRcdC8v6I635Y+W5YWo5bGA5Y+C5pWw77yadXJsLeacjeWKoeWZqOWcsOWdgFxyXG5cdFx0XHR2YXIgc2VydmVyID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdzZXJ2ZXInKTtcclxuXHRcdFx0dmFyIGFjY291bnQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnKTtcclxuXHRcdFx0dmFyIHBhc3N3b3JkID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdwYXNzd29yZCcpO1xyXG5cdFx0XHR2YXIgdXJsID0gdGhpcy4kc3RvcmUuc3RhdGUudXJsO1xyXG5cdFx0XHR2YXIgdXNlcm5hbWUgPSB0aGlzLiRzdG9yZS5zdGF0ZS51c2VybmFtZTtcclxuXHRcdFx0dmFyIHVzZXJwd2QgPSB0aGlzLiRzdG9yZS5zdGF0ZS51c2VycHdkO1xyXG5cdFx0XHR2YXIgaXNjaGVja2VkPWZhbHNlO1xyXG5cdFx0XHRpZighc2VydmVyKVxyXG5cdFx0XHRcdHNlcnZlciA9IHVybDtcclxuXHRcdFx0aWYoIWFjY291bnQpXHJcblx0XHRcdFx0YWNjb3VudCA9IHVzZXJuYW1lO1xyXG5cdFx0XHRpZihhY2NvdW50ICYmIHBhc3N3b3JkKVxyXG5cdFx0XHRcdGlzY2hlY2tlZD10cnVlO1xyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyh1cmwpO1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxvZ2luOlwi5byA5aeL55m75b2VXCIsXHJcblx0XHRcdFx0dXNlclNlcnZlcjpzZXJ2ZXIsXHJcblx0XHRcdFx0dXNlck5hbWU6YWNjb3VudCxcclxuXHRcdFx0XHR1c2VyUHdkOnBhc3N3b3JkLFxyXG5cdFx0XHRcdGlzY2hlY2tlZDppc2NoZWNrZWQsXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHQvLyBjb21wdXRlZDogbWFwU3RhdGUoe1xyXG5cdFx0Ly8gXHQvLyDku45zdGF0ZeS4reaLv+WIsOaVsOaNriDnrq3lpLTlh73mlbDlj6/kvb/ku6PnoIHmm7TnroDnu4NcclxuXHRcdC8vIFx0aGFzTG9naW46IHN0YXRlID0+IHN0YXRlLmhhc0xvZ2luLFxyXG5cdFx0Ly8gXHRsb2dpbnByb3ZpZGVyOiBzdGF0ZSA9PiBzdGF0ZS5sb2dpblByb3ZpZGVyLFxyXG5cdFx0Ly8gXHRhcHBpbmZvOnN0YXRlPT5zdGF0ZS5hcHBJbmZvXHJcblx0XHQvLyB9KSxcclxuXHRcdG1ldGhvZHM6e1xyXG5cdFx0XHQvLyAuLi5tYXBNdXRhdGlvbnMoe1xyXG5cdFx0XHQvLyBcdG11dGF0TG9naW46J2xvZ2luJ1xyXG5cdFx0XHQvLyB9KSxcclxuXHRcdFx0Ly8gLi4ubWFwQWN0aW9ucyh7XHJcblx0XHRcdC8vIFx0YWN0aW9uTG9naW46J2xvZ2luJ1xyXG5cdFx0XHQvLyB9KSxcclxuXHRcdFx0aW5wdXREaWFsb2dUb2dnbGUoKSB7XHJcblx0XHRcdFx0dGhpcy4kcmVmcy5pbnB1dERpYWxvZy5vcGVuKClcclxuXHRcdFx0fSxcclxuXHRcdFx0ZGlhbG9nSW5wdXRDb25maXJtKHZhbCkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHZhbCk7XHJcblx0XHRcdFx0Ly8gdW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHQvLyBcdHRpdGxlOiAnM+enkuWQjuS8muWFs+mXrSdcclxuXHRcdFx0XHQvLyB9KVxyXG5cdFx0XHRcdC8vIHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdC8vIHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdHRoaXMudXNlclNlcnZlciA9IHZhbDtcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3NlcnZlcicsdmFsKTtcclxuXHRcdFx0XHQvLyB0aGlzLnZhbHVlID0gdmFsXHJcblx0XHRcdFx0Ly8g5YWz6Zet56qX5Y+j5ZCO77yM5oGi5aSN6buY6K6k5YaF5a65XHJcblx0XHRcdFx0dGhpcy4kcmVmcy5pbnB1dERpYWxvZy5jbG9zZSgpXHJcblx0XHRcdFx0Ly8gfSwgMzAwMClcclxuXHRcdFx0fSxcclxuXHRcdFx0cmVtZW1iZXJQd2QoZSl7ICAvL+iusOS9j+WvhueggVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUudGFyZ2V0KTtcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnLCcnKTtcclxuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3Bhc3N3b3JkJywnJyk7XHJcblx0XHRcdFx0aWYoZS50YXJnZXQudmFsdWVbMF09PScxJyl7XHJcblx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnLHRoaXMudXNlck5hbWUpO1xyXG5cdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdwYXNzd29yZCcsdGhpcy51c2VyUHdkKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIGdldENvb2tpZShrZXkpe1xyXG5cdFx0XHQvLyBcdGlmKGRvY3VtZW50LmNvb2tpZS5sZW5ndGg+MCl7XHJcblx0XHRcdC8vIFx0XHR2YXIgc3RhcnQgPSBkb2N1bWVudC5jb29raWUuaW5kZXhPZihrZXkgKyc9Jyk7XHJcblx0XHRcdC8vIFx0XHRpZihzdGFydCAhPT0gLTEpe1xyXG5cdFx0XHQvLyBcdFx0XHRzdGFydCA9IHN0YXJ0K2tleS5sZW5ndGgrMTtcclxuXHRcdFx0Ly8gXHRcdFx0dmFyIGVuZCA9IGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCc7JyxzdGFydCk7XHJcblx0XHRcdC8vIFx0XHRcdGlmKGVuZCA9PT0gLTEpIGVuZD1kb2N1bWVudC5jb29raWUubGVuZ3RoO1xyXG5cdFx0XHQvLyBcdFx0XHRyZXR1cm4gZG9jdW1lbnQuY29va2llLnN1YnN0cmluZyhzdGFydCxlbmQpO1xyXG5cdFx0XHQvLyBcdFx0fVxyXG5cdFx0XHQvLyBcdH1cclxuXHRcdFx0Ly8gXHRyZXR1cm4gJyc7XHJcblx0XHRcdC8vIH0sXHJcblx0XHRcdC8vIHNldENvb2tpZShjTmFtZSx2YWx1ZSxleHBpcmVkYXlzKXtcclxuXHRcdFx0Ly8gXHR2YXIgZXhkYXRlID0gbmV3IERhdGUoKTtcclxuXHRcdFx0Ly8gXHRleGRhdGUuc2V0RGF0ZShleGRhdGUuZ2V0RGF0ZSgpLGV4cGlyZWRheXMpXHJcblx0XHRcdC8vIFx0ZG9jdW1lbnQuY29va2llID0gY05hbWUrJz0nKyBkb2N1bWVudFVSTENvbXBvbmVudCh2YWx1ZSkrXHJcblx0XHRcdC8vIFx0KChleHBpcmVkYXlzPT1udWxsKT8nJzonO2V4cGlyZXM9JytleGRhdGUudG9HTVRTdHJpbmcoKSk7XHJcblx0XHRcdFx0XHJcblx0XHRcdC8vIH0sXHJcblx0XHRcdGxvZ2luZCgpe1xyXG5cdFx0XHRcdC8v5qOA5p+lIFwi55m75b2V54q25oCBL+mUgeWxj+eKtuaAgVwiIOe7k+adn1xyXG5cdFx0XHRcdHZhciBsb2dpbkluZm8gPSB7XHJcblx0XHRcdFx0XHRzZXJ2ZXI6IHRoaXMudXNlclNlcnZlcixcclxuXHRcdFx0XHRcdHVuYW1lOiB0aGlzLnVzZXJOYW1lLFxyXG5cdFx0XHRcdFx0cHdkOiB0aGlzLnVzZXJQd2QsXHJcblx0XHRcdFx0XHRjbmFtZTogcGx1cy5kZXZpY2UubW9kZWwsXHJcblx0XHRcdFx0XHR0eXBlOlwiMFwiXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhsb2dpbkluZm8pO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHRoaXMuJGRhdGEubG9naW49XCJsb2FkaW5nLi4uLi4uXCI7XHJcblx0XHRcdFx0Ly/nmbvlvZVcclxuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnbG9naW4nLGxvZ2luSW5mbykudGhlbihzdWNjZXNzPT57XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhzdWNjZXNzKTtcclxuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGUgPT0gJzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHQvL+iuvue9ruWFqOWxgOWPguaVsO+8mnVzZXIt55So5oi35L+h5oGvXHJcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnc2VydmVyJyxsb2dpbkluZm8uc2VydmVyKTtcclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnNldFN0b3JhZ2VTeW5jKCdhY2NvdW50Jyxsb2dpbkluZm8udW5hbWUpO1xyXG5cdFx0XHRcdFx0XHQvLyB1bmkuc2V0U3RvcmFnZVN5bmMoJ3Bhc3N3b3JkJyxsb2dpbkluZm8ucHdkKTtcclxuXHRcdFx0XHRcdFx0Ly8gdGhpcy5tdXRhdExvZ2luKHtsb2dpbmlkOnN1Y2Nlc3N9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdsb2dpbicse1xyXG5cdFx0XHRcdFx0XHRcdGxvZ2luaWQ6c3VjY2VzcyBcclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHR1cmw6Jy4uL2luZGV4L2luZGV4P2FyZ3M9OTk5OTk5OTk5OSdcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0Ly8gdW5pLnJlZGlyZWN0VG8oe1xyXG5cdFx0XHRcdFx0XHQvLyBcdHVybDonLi4vaW5kZXgvaW5kZXg/YXJncz05OTk5OTk5OTk5J1xyXG5cdFx0XHRcdFx0XHQvLyB9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2dpbj1cIuW8gOWni+eZu+W9lVwiO1xyXG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2dpbj1cIuW8gOWni+eZu+W9lVwiO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pLmNhdGNoKGV4PT57XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivr1wiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdFx0dGhpcy5sb2dpbj1cIuW8gOWni+eZu+W9lVwiO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKCkge1xyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///34\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n// import {\n// \tmapState,\n// \tmapMutations,\n// \tmapActions ,\n// } from 'vuex'\nvar _default = {\n  data: function data() {\n    //获取全局参数:url-服务器地址\n    var server = uni.getStorageSync('server');\n    var account = uni.getStorageSync('account');\n    var password = uni.getStorageSync('password');\n    var url = this.$store.state.url;\n    var username = this.$store.state.username;\n    var userpwd = this.$store.state.userpwd;\n    var ischecked = false;\n    if (!server)\n    server = url;\n    if (!account)\n    account = username;\n    if (account && password)\n    ischecked = true;\n    // console.log(url);\n    return {\n      login: \"开始登录\",\n      userServer: server,\n      userName: account,\n      userPwd: password,\n      ischecked: ischecked,\n      version: \"1.0.0\" };\n\n  },\n  // computed: mapState({\n  // \t// 从state中拿到数据 箭头函数可使代码更简练\n  // \thasLogin: state => state.hasLogin,\n  // \tloginprovider: state => state.loginProvider,\n  // \tappinfo:state=>state.appInfo\n  // }),\n  methods: {\n    // ...mapMutations({\n    // \tmutatLogin:'login'\n    // }),\n    // ...mapActions({\n    // \tactionLogin:'login'\n    // }),\n    inputDialogToggle: function inputDialogToggle() {\n      this.$refs.inputDialog.open();\n    },\n    dialogInputConfirm: function dialogInputConfirm(val) {\n      // console.log(val);\n      // uni.showLoading({\n      // \ttitle: '3秒后会关闭'\n      // })\n      // setTimeout(() => {\n      // uni.hideLoading();\n      this.userServer = val;\n      uni.setStorageSync('server', val);\n      // this.value = val\n      // 关闭窗口后,恢复默认内容\n      this.$refs.inputDialog.close();\n      // }, 3000)\n    },\n    rememberPwd: function rememberPwd(e) {//记住密码\n      __f__(\"log\", e.target, \" at pages/login/index.vue:231\");\n      uni.setStorageSync('account', '');\n      uni.setStorageSync('password', '');\n      if (e.target.value[0] == '1') {\n        uni.setStorageSync('account', this.userName);\n        uni.setStorageSync('password', this.userPwd);\n      }\n    },\n    // getCookie(key){\n    // \tif(document.cookie.length>0){\n    // \t\tvar start = document.cookie.indexOf(key +'=');\n    // \t\tif(start !== -1){\n    // \t\t\tstart = start+key.length+1;\n    // \t\t\tvar end = document.cookie.indexOf(';',start);\n    // \t\t\tif(end === -1) end=document.cookie.length;\n    // \t\t\treturn document.cookie.substring(start,end);\n    // \t\t}\n    // \t}\n    // \treturn '';\n    // },\n    // setCookie(cName,value,expiredays){\n    // \tvar exdate = new Date();\n    // \texdate.setDate(exdate.getDate(),expiredays)\n    // \tdocument.cookie = cName+'='+ documentURLComponent(value)+\n    // \t((expiredays==null)?'':';expires='+exdate.toGMTString());\n\n    // },\n    logind: function logind() {var _this = this;\n      if (!this.userServer) {\n        uni.showModal({ title: \"提示\", content: \"未输入网站地址,请重新配置输入!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      if (!this.userName) {\n        uni.showModal({ title: \"提示\", content: \"未输入用户名,请重新输入!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      if (!this.userPwd) {\n        uni.showModal({ title: \"提示\", content: \"未输入密码,请重新输入!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      //检查 \"登录状态/锁屏状态\" 结束\n      var loginInfo = {\n        server: this.userServer,\n        uname: this.userName,\n        pwd: this.userPwd,\n        cname: plus.device.model,\n        type: \"0\" };\n\n      __f__(\"log\", loginInfo, \" at pages/login/index.vue:279\");\n\n      this.$data.login = \"loading......\";\n      //登录\n      this.$store.dispatch('login', loginInfo).then(function (success) {\n        // console.log(success);\n        if (success.code == '00000') {\n          //设置全局参数:user-用户信息\n          uni.setStorageSync('server', loginInfo.server);\n          // uni.setStorageSync('account',loginInfo.uname);\n          // uni.setStorageSync('password',loginInfo.pwd);\n          // this.mutatLogin({loginid:success});\n          _this.$store.commit('login', {\n            loginid: success });\n\n          uni.navigateTo({\n            url: '../index/index?args=9999999999' });\n\n          // uni.redirectTo({\n          // \turl:'../index/index?args=9999999999'\n          // });\n          _this.login = \"开始登录\";\n        } else {\n          uni.showModal({ title: \"错误\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n          _this.login = \"开始登录\";\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n        _this.login = \"开始登录\";\n      });\n    } },\n\n  onLoad: function onLoad() {var _this2 = this;\n    plus.runtime.getProperty(plus.runtime.appid, function (info) {\n      // console.log(info);\n      _this2.$data.version = info.version;\n    });\n  } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJzZXJ2ZXIiLCJ1bmkiLCJnZXRTdG9yYWdlU3luYyIsImFjY291bnQiLCJwYXNzd29yZCIsInVybCIsIiRzdG9yZSIsInN0YXRlIiwidXNlcm5hbWUiLCJ1c2VycHdkIiwiaXNjaGVja2VkIiwibG9naW4iLCJ1c2VyU2VydmVyIiwidXNlck5hbWUiLCJ1c2VyUHdkIiwidmVyc2lvbiIsIm1ldGhvZHMiLCJpbnB1dERpYWxvZ1RvZ2dsZSIsIiRyZWZzIiwiaW5wdXREaWFsb2ciLCJvcGVuIiwiZGlhbG9nSW5wdXRDb25maXJtIiwidmFsIiwic2V0U3RvcmFnZVN5bmMiLCJjbG9zZSIsInJlbWVtYmVyUHdkIiwiZSIsInRhcmdldCIsInZhbHVlIiwibG9naW5kIiwic2hvd01vZGFsIiwidGl0bGUiLCJjb250ZW50Iiwic2hvd0NhbmNlbCIsImNvbmZpcm1UZXh0IiwibG9naW5JbmZvIiwidW5hbWUiLCJwd2QiLCJjbmFtZSIsInBsdXMiLCJkZXZpY2UiLCJtb2RlbCIsInR5cGUiLCIkZGF0YSIsImRpc3BhdGNoIiwidGhlbiIsInN1Y2Nlc3MiLCJjb2RlIiwiY29tbWl0IiwibG9naW5pZCIsIm5hdmlnYXRlVG8iLCJtc2ciLCJjYXRjaCIsImV4IiwiZXJyTXNnIiwib25Mb2FkIiwicnVudGltZSIsImdldFByb3BlcnR5IiwiYXBwaWQiLCJpbmZvIl0sIm1hcHBpbmdzIjoicUlBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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QixFQUFFLENBQUNDLE1BQXZCLEVBQThCckIsVUFBVSxFQUFDLEtBQXpDLEVBQStDQyxXQUFXLEVBQUMsSUFBM0QsRUFBZDtBQUNBLGFBQUksQ0FBQ3ZCLEtBQUwsR0FBVyxNQUFYO0FBQ0EsT0ExQkQ7QUEyQkEsS0F4R00sRUFoQ007O0FBMElkNEMsUUExSWMsb0JBMElMO0FBQ1JoQixRQUFJLENBQUNpQixPQUFMLENBQWFDLFdBQWIsQ0FBeUJsQixJQUFJLENBQUNpQixPQUFMLENBQWFFLEtBQXRDLEVBQTRDLFVBQUNDLElBQUQsRUFBUTtBQUNuRDtBQUNBLFlBQUksQ0FBQ2hCLEtBQUwsQ0FBVzVCLE9BQVgsR0FBbUI0QyxJQUFJLENBQUM1QyxPQUF4QjtBQUNBLEtBSEQ7QUFJQSxHQS9JYSxFIiwiZmlsZSI6IjM0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbi8vIGltcG9ydCB7XG4vLyBcdG1hcFN0YXRlLFxuLy8gXHRtYXBNdXRhdGlvbnMsXG4vLyBcdG1hcEFjdGlvbnMgLFxuLy8gfSBmcm9tICd2dWV4J1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCl7XG5cdFx0Ly/ojrflj5blhajlsYDlj4LmlbDvvJp1cmwt5pyN5Yqh5Zmo5Zyw5Z2AXG5cdFx0dmFyIHNlcnZlciA9IHVuaS5nZXRTdG9yYWdlU3luYygnc2VydmVyJyk7XG5cdFx0dmFyIGFjY291bnQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnKTtcblx0XHR2YXIgcGFzc3dvcmQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3Bhc3N3b3JkJyk7XG5cdFx0dmFyIHVybCA9IHRoaXMuJHN0b3JlLnN0YXRlLnVybDtcblx0XHR2YXIgdXNlcm5hbWUgPSB0aGlzLiRzdG9yZS5zdGF0ZS51c2VybmFtZTtcblx0XHR2YXIgdXNlcnB3ZCA9IHRoaXMuJHN0b3JlLnN0YXRlLnVzZXJwd2Q7XG5cdFx0dmFyIGlzY2hlY2tlZD1mYWxzZTtcblx0XHRpZighc2VydmVyKVxuXHRcdFx0c2VydmVyID0gdXJsO1xuXHRcdGlmKCFhY2NvdW50KVxuXHRcdFx0YWNjb3VudCA9IHVzZXJuYW1lO1xuXHRcdGlmKGFjY291bnQgJiYgcGFzc3dvcmQpXG5cdFx0XHRpc2NoZWNrZWQ9dHJ1ZTtcblx0XHQvLyBjb25zb2xlLmxvZyh1cmwpO1xuXHRcdHJldHVybiB7XG5cdFx0XHRsb2dpbjpcIuW8gOWni+eZu+W9lVwiLFxuXHRcdFx0dXNlclNlcnZlcjpzZXJ2ZXIsXG5cdFx0XHR1c2VyTmFtZTphY2NvdW50LFxuXHRcdFx0dXNlclB3ZDpwYXNzd29yZCxcblx0XHRcdGlzY2hlY2tlZDppc2NoZWNrZWQsXG5cdFx0XHR2ZXJzaW9uOlwiMS4wLjBcIixcblx0XHR9XG5cdH0sXG5cdC8vIGNvbXB1dGVkOiBtYXBTdGF0ZSh7XG5cdC8vIFx0Ly8g5LuOc3RhdGXkuK3mi7/liLDmlbDmja4g566t5aS05Ye95pWw5Y+v5L2/5Luj56CB5pu0566A57uDXG5cdC8vIFx0aGFzTG9naW46IHN0YXRlID0+IHN0YXRlLmhhc0xvZ2luLFxuXHQvLyBcdGxvZ2lucHJvdmlkZXI6IHN0YXRlID0+IHN0YXRlLmxvZ2luUHJvdmlkZXIsXG5cdC8vIFx0YXBwaW5mbzpzdGF0ZT0+c3RhdGUuYXBwSW5mb1xuXHQvLyB9KSxcblx0bWV0aG9kczp7XG5cdFx0Ly8gLi4ubWFwTXV0YXRpb25zKHtcblx0XHQvLyBcdG11dGF0TG9naW46J2xvZ2luJ1xuXHRcdC8vIH0pLFxuXHRcdC8vIC4uLm1hcEFjdGlvbnMoe1xuXHRcdC8vIFx0YWN0aW9uTG9naW46J2xvZ2luJ1xuXHRcdC8vIH0pLFxuXHRcdGlucHV0RGlhbG9nVG9nZ2xlKCkge1xuXHRcdFx0dGhpcy4kcmVmcy5pbnB1dERpYWxvZy5vcGVuKClcblx0XHR9LFxuXHRcdGRpYWxvZ0lucHV0Q29uZmlybSh2YWwpIHtcblx0XHRcdC8vIGNvbnNvbGUubG9nKHZhbCk7XG5cdFx0XHQvLyB1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0Ly8gXHR0aXRsZTogJzPnp5LlkI7kvJrlhbPpl60nXG5cdFx0XHQvLyB9KVxuXHRcdFx0Ly8gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHQvLyB1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdHRoaXMudXNlclNlcnZlciA9IHZhbDtcblx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnc2VydmVyJyx2YWwpO1xuXHRcdFx0Ly8gdGhpcy52YWx1ZSA9IHZhbFxuXHRcdFx0Ly8g5YWz6Zet56qX5Y+j5ZCO77yM5oGi5aSN6buY6K6k5YaF5a65XG5cdFx0XHR0aGlzLiRyZWZzLmlucHV0RGlhbG9nLmNsb3NlKClcblx0XHRcdC8vIH0sIDMwMDApXG5cdFx0fSxcblx0XHRyZW1lbWJlclB3ZChlKXsgIC8v6K6w5L2P5a+G56CBXG5cdFx0XHRjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnLCcnKTtcblx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygncGFzc3dvcmQnLCcnKTtcblx0XHRcdGlmKGUudGFyZ2V0LnZhbHVlWzBdPT0nMScpe1xuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnLHRoaXMudXNlck5hbWUpO1xuXHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3Bhc3N3b3JkJyx0aGlzLnVzZXJQd2QpO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Ly8gZ2V0Q29va2llKGtleSl7XG5cdFx0Ly8gXHRpZihkb2N1bWVudC5jb29raWUubGVuZ3RoPjApe1xuXHRcdC8vIFx0XHR2YXIgc3RhcnQgPSBkb2N1bWVudC5jb29raWUuaW5kZXhPZihrZXkgKyc9Jyk7XG5cdFx0Ly8gXHRcdGlmKHN0YXJ0ICE9PSAtMSl7XG5cdFx0Ly8gXHRcdFx0c3RhcnQgPSBzdGFydCtrZXkubGVuZ3RoKzE7XG5cdFx0Ly8gXHRcdFx0dmFyIGVuZCA9IGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKCc7JyxzdGFydCk7XG5cdFx0Ly8gXHRcdFx0aWYoZW5kID09PSAtMSkgZW5kPWRvY3VtZW50LmNvb2tpZS5sZW5ndGg7XG5cdFx0Ly8gXHRcdFx0cmV0dXJuIGRvY3VtZW50LmNvb2tpZS5zdWJzdHJpbmcoc3RhcnQsZW5kKTtcblx0XHQvLyBcdFx0fVxuXHRcdC8vIFx0fVxuXHRcdC8vIFx0cmV0dXJuICcnO1xuXHRcdC8vIH0sXG5cdFx0Ly8gc2V0Q29va2llKGNOYW1lLHZhbHVlLGV4cGlyZWRheXMpe1xuXHRcdC8vIFx0dmFyIGV4ZGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0Ly8gXHRleGRhdGUuc2V0RGF0ZShleGRhdGUuZ2V0RGF0ZSgpLGV4cGlyZWRheXMpXG5cdFx0Ly8gXHRkb2N1bWVudC5jb29raWUgPSBjTmFtZSsnPScrIGRvY3VtZW50VVJMQ29tcG9uZW50KHZhbHVlKStcblx0XHQvLyBcdCgoZXhwaXJlZGF5cz09bnVsbCk/Jyc6JztleHBpcmVzPScrZXhkYXRlLnRvR01UU3RyaW5nKCkpO1xuXHRcdFx0XG5cdFx0Ly8gfSxcblx0XHRsb2dpbmQoKXtcblx0XHRcdGlmKCF0aGlzLnVzZXJTZXJ2ZXIpe1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6XCLmnKrovpPlhaXnvZHnq5nlnLDlnYDvvIzor7fph43mlrDphY3nva7ovpPlhaXvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0aWYoIXRoaXMudXNlck5hbWUpe1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6XCLmnKrovpPlhaXnlKjmiLflkI3vvIzor7fph43mlrDovpPlhaXvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0aWYoIXRoaXMudXNlclB3ZCl7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuacqui+k+WFpeWvhuegge+8jOivt+mHjeaWsOi+k+WFpe+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHQvL+ajgOafpSBcIueZu+W9leeKtuaAgS/plIHlsY/nirbmgIFcIiDnu5PmnZ9cblx0XHRcdHZhciBsb2dpbkluZm8gPSB7XG5cdFx0XHRcdHNlcnZlcjogdGhpcy51c2VyU2VydmVyLFxuXHRcdFx0XHR1bmFtZTogdGhpcy51c2VyTmFtZSxcblx0XHRcdFx0cHdkOiB0aGlzLnVzZXJQd2QsXG5cdFx0XHRcdGNuYW1lOiBwbHVzLmRldmljZS5tb2RlbCxcblx0XHRcdFx0dHlwZTpcIjBcIlxuXHRcdFx0fTtcblx0XHRcdGNvbnNvbGUubG9nKGxvZ2luSW5mbyk7XG5cdFx0XHRcblx0XHRcdHRoaXMuJGRhdGEubG9naW49XCJsb2FkaW5nLi4uLi4uXCI7XG5cdFx0XHQvL+eZu+W9lVxuXHRcdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2xvZ2luJyxsb2dpbkluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhzdWNjZXNzKTtcblx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZSA9PSAnMDAwMDAnKSB7XG5cdFx0XHRcdFx0Ly/orr7nva7lhajlsYDlj4LmlbDvvJp1c2VyLeeUqOaIt+S/oeaBr1xuXHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnc2VydmVyJyxsb2dpbkluZm8uc2VydmVyKTtcblx0XHRcdFx0XHQvLyB1bmkuc2V0U3RvcmFnZVN5bmMoJ2FjY291bnQnLGxvZ2luSW5mby51bmFtZSk7XG5cdFx0XHRcdFx0Ly8gdW5pLnNldFN0b3JhZ2VTeW5jKCdwYXNzd29yZCcsbG9naW5JbmZvLnB3ZCk7XG5cdFx0XHRcdFx0Ly8gdGhpcy5tdXRhdExvZ2luKHtsb2dpbmlkOnN1Y2Nlc3N9KTtcblx0XHRcdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoJ2xvZ2luJyx7XG5cdFx0XHRcdFx0XHRsb2dpbmlkOnN1Y2Nlc3MgXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0dXJsOicuLi9pbmRleC9pbmRleD9hcmdzPTk5OTk5OTk5OTknXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQvLyB1bmkucmVkaXJlY3RUbyh7XG5cdFx0XHRcdFx0Ly8gXHR1cmw6Jy4uL2luZGV4L2luZGV4P2FyZ3M9OTk5OTk5OTk5OSdcblx0XHRcdFx0XHQvLyB9KTtcblx0XHRcdFx0XHR0aGlzLmxvZ2luPVwi5byA5aeL55m75b2VXCI7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHR0aGlzLmxvZ2luPVwi5byA5aeL55m75b2VXCI7XG5cdFx0XHRcdH1cblx0XHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGV4KTtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor69cIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0dGhpcy5sb2dpbj1cIuW8gOWni+eZu+W9lVwiO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LFxuXHRvbkxvYWQoKSB7XG5cdFx0cGx1cy5ydW50aW1lLmdldFByb3BlcnR5KHBsdXMucnVudGltZS5hcHBpZCwoaW5mbyk9Pntcblx0XHRcdC8vIGNvbnNvbGUubG9nKGluZm8pO1xuXHRcdFx0dGhpcy4kZGF0YS52ZXJzaW9uPWluZm8udmVyc2lvbjtcblx0XHR9KTtcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///34\n");
/***/ }),
/* 35 */
@@ -1771,10 +1775,10 @@
                      },
                      [
                        _c("i", {
                          staticClass: _vm._$s(
                          class: _vm._$s(
                            "6-" + $30 + "-" + $31,
                            "sc",
                            "fu-sys_log"
                            "c",
                            app.ImgFontStyle
                          ),
                          style: _vm._$s("6-" + $30 + "-" + $31, "s", {
                            color: app.TxtColor
@@ -1843,7 +1847,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  onNavigationBarButtonTap: function onNavigationBarButtonTap(e) {\n    // console.log(e.text);\n    // console.log(e.fontSize);\n    this.$store.state.areaFunc = '';\n    this.$store.commit(\"classAttrList\", null);\n    this.$store.commit(\"classGridStyleInfo\", null);\n    this.$store.commit(\"dicValueInfo\", null);\n    //刷新当前页面\n    // location.reload();\n    uni.redirectTo({\n      url: '../index/index?args=9999999999' });\n\n  },\n  data: function data() {\n    return {\n      title: 'Hello',\n      data: [] };\n\n  },\n  onLoad: function onLoad(options) {var _this = this;\n    __f__(\"log\", options, \" at pages/index/index.vue:94\");\n\n    // 获取所有AppType=\"MES\",ClientType=\"2\"(PDA)的引用领域功能点信息\n    if (this.$store.state.areaFunc)\n    this.data = this.$store.state.areaFunc.data;else\n\n    this.$store.dispatch('areaFunc', {}).then(function (success) {\n      __f__(\"log\", success, \" at pages/index/index.vue:101\");\n      if (success.code == '00000') {\n        _this.data = success.data;\n      } else {\n        uni.showModal({ title: \"错误\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n      }\n    }).catch(function (ex) {\n      // console.log(ex);\n      uni.showModal({ title: \"错误\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n    });\n\n    // var data = {\n    // \t\tin1:\"ll1\",\n    // \t\tin2:\"ll2\",\n    // \t\tin3:\"ll3\",\n    // \t\tin4:\"ll4\",\n    // \t\tin5:\"ll5\",\n    // \t\tin6:\"ll6\",\n    // \t};\n    // for(var i in data)\n    // \tthis.$data.keys.push(i)\n    // this.$data.data = data;\n    // console.log(this.$data.keys);\n  },\n  methods: {\n    appCreate: function appCreate(app) {//点击功能点跳转页面\n      __f__(\"log\", app, \" at pages/index/index.vue:127\");\n      uni.navigateTo({\n        url: '../modal/classAttr?param=' + app.Param });\n\n      // uni.redirectTo({\n      // \turl:'../index/index?args=9999999999'\n      // });\n    },\n    ontap: function ontap(e) {var _this2 = this; //扫码功能\n      // console.log(e.target)\n      getApp().onScan(function (result) {\n        // console.log(result.decodedata);\n        _this2.$data.data[e.target.dataset['key']] = result.decodedata;\n      });\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdFQTtBQUNBLDBCQURBLG9DQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQURBOztBQUdBLEdBYkE7QUFjQSxNQWRBLGtCQWNBO0FBQ0E7QUFDQSxvQkFEQTtBQUVBLGNBRkE7O0FBSUEsR0FuQkE7QUFvQkEsUUFwQkEsa0JBb0JBLE9BcEJBLEVBb0JBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBLEtBUEEsRUFPQSxLQVBBLENBT0E7QUFDQTtBQUNBO0FBQ0EsS0FWQTs7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQW5EQTtBQW9EQTtBQUNBLGFBREEscUJBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBLG9EQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBLEtBVEE7QUFVQSxTQVZBLGlCQVVBLENBVkEsRUFVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FIQTtBQUlBLEtBaEJBLEVBcERBLEUiLCJmaWxlIjoiMzkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8c3R5bGU+XHJcblx0LmNvbnRlbnQge1xyXG5cdFx0LyogZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7ICovXHJcblx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRoZWlnaHQ6IDEwMHZoO1xyXG5cdFx0YmFja2dyb3VuZDogI0VBRUFFQTtcclxuXHRcdHBhZGRpbmc6IDFycHggMHJweDtcclxuXHR9XHJcblx0LnYtYXJlYXtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEycnB4O1xyXG5cdFx0bWFyZ2luOiAzMHJweDtcclxuXHRcdHBhZGRpbmc6IDEwcnB4O1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRkZGRjsgICAgXHJcblx0fVxyXG5cdC5hcmVhTGlzdHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cdC5hcmVhTGlzdCBsaXtcclxuXHRcdC8qIGJvcmRlcjogMXB4IHNvbGlkICMwMDYyQ0M7ICovXHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0d2lkdGg6IDEyMHJweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHBhZGRpbmc6IDMwcnB4IDIwcnB4IDE2cnB4IDI0cnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHQubG9nbyB7XHJcblx0XHRoZWlnaHQ6IDEyMHJweDtcclxuXHRcdHdpZHRoOiAxMjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDE4cnB4O1xyXG5cdFx0Y29sb3I6ICMwMDAwMDA7XHJcblx0XHRib3JkZXI6IDBweCBzb2xpZCByZ2IoMjIxLCAyMjEsIDIyMSk7XHJcblx0fVxyXG5cdC5sb2dvIGl7XHJcblx0XHRjb2xvcjogIzAwMDAwMDtcclxuXHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1M3B4O1xyXG5cdH1cclxuXHRcclxuPC9zdHlsZT5cclxuXHJcbjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdDx2aWV3IGNsYXNzPVwidi1hcmVhXCIgdi1mb3I9XCIoYXJlYSxpbmRleCkgaW4gZGF0YVwiPlxyXG5cdFx0XHQ8cCA6ZGF0YS1rZXk9XCJhcmVhLklEXCI+e3sgYXJlYS5OYW1lIH19PC9wPlxyXG5cdFx0XHQ8dWwgY2xhc3M9XCJhcmVhTGlzdFwiPlxyXG5cdFx0XHRcdDxsaSAgdi1mb3I9XCIoYXBwLGtleSkgaW4gYXJlYS5BcHBcIj5cclxuXHRcdFx0XHRcdDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBAdGFwPVwiYXBwQ3JlYXRlKGFwcClcIiBjbGFzcz1cImxvZ29cIiA6c3R5bGU9XCJ7J2JhY2tncm91bmQtY29sb3InOmFwcC5Ca0NvbG9yLCdjb2xvcic6YXBwLkJrQ29sb3J9XCI+XHJcblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiZnUtc3lzX2xvZ1wiIDpzdHlsZT1cInsnY29sb3InOmFwcC5UeHRDb2xvcn1cIj48L2k+XHJcblx0XHRcdFx0XHQ8L2E+XHJcblx0XHRcdFx0XHQ8cCA6ZGF0YS1rZXk9XCJhcmVhLklEXCI+e3sgYXBwLk5hbWUgfX08L3A+XHJcblx0XHRcdFx0PC9saT5cclxuXHRcdFx0PC91bD5cclxuXHRcdDwvdmlldz5cclxuXHRcdFxyXG5cdFx0PCEtLSA8aW1hZ2UgY2xhc3M9XCJsb2dvXCIgc3JjPVwiL3N0YXRpYy9sb2dvLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHQ8dmlldyBjbGFzcz1cInRleHQtYXJlYVwiPlxyXG5cdFx0XHQ8dGV4dCBjbGFzcz1cInRpdGxlXCI+e3t0aXRsZX19PC90ZXh0PlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJcIiB2LWZvcj1cIih2LGluZGV4KSBpbiBkYXRhXCI+XHJcblx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cInZcIiBAZm9jdXM9XCJvbnRhcFwiIDpkYXRhLWtleT1cImluZGV4XCIgIDprZXk9XCJpbmRleFwiLz5cclxuXHRcdDwvdmlldz4gLS0+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPiBcclxuXHJcbjxzY3JpcHQ+XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0b25OYXZpZ2F0aW9uQmFyQnV0dG9uVGFwKGUpIHtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coZS50ZXh0KTtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coZS5mb250U2l6ZSk7XHJcblx0XHRcdHRoaXMuJHN0b3JlLnN0YXRlLmFyZWFGdW5jPScnO1xyXG5cdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoXCJjbGFzc0F0dHJMaXN0XCIsbnVsbCk7XHJcblx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdChcImNsYXNzR3JpZFN0eWxlSW5mb1wiLG51bGwpO1xyXG5cdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoXCJkaWNWYWx1ZUluZm9cIixudWxsKTtcclxuXHRcdFx0Ly/liLfmlrDlvZPliY3pobXpnaJcclxuXHRcdFx0Ly8gbG9jYXRpb24ucmVsb2FkKCk7XHJcblx0XHRcdHVuaS5yZWRpcmVjdFRvKHtcclxuXHRcdFx0XHR1cmw6Jy4uL2luZGV4L2luZGV4P2FyZ3M9OTk5OTk5OTk5OSdcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHRpdGxlOiAnSGVsbG8nLFxyXG5cdFx0XHRcdGRhdGE6W11cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKG9wdGlvbnMpO1xyXG5cdFx0XHRcclxuXHRcdFx0Ly8g6I635Y+W5omA5pyJQXBwVHlwZT1cIk1FU1wiLENsaWVudFR5cGU9XCIyXCIoUERBKeeahOW8leeUqOmihuWfn+WKn+iDveeCueS/oeaBr1xyXG5cdFx0XHRpZih0aGlzLiRzdG9yZS5zdGF0ZS5hcmVhRnVuYylcclxuXHRcdFx0XHR0aGlzLmRhdGEgPSB0aGlzLiRzdG9yZS5zdGF0ZS5hcmVhRnVuYy5kYXRhO1xyXG5cdFx0XHRlbHNlXHJcblx0XHRcdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2FyZWFGdW5jJyx7fSkudGhlbihzdWNjZXNzPT57XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhzdWNjZXNzKTtcclxuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5kYXRhID0gc3VjY2Vzcy5kYXRhO1xyXG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor69cIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHJcblx0XHRcdC8vIHZhciBkYXRhID0ge1xyXG5cdFx0XHQvLyBcdFx0aW4xOlwibGwxXCIsXHJcblx0XHRcdC8vIFx0XHRpbjI6XCJsbDJcIixcclxuXHRcdFx0Ly8gXHRcdGluMzpcImxsM1wiLFxyXG5cdFx0XHQvLyBcdFx0aW40OlwibGw0XCIsXHJcblx0XHRcdC8vIFx0XHRpbjU6XCJsbDVcIixcclxuXHRcdFx0Ly8gXHRcdGluNjpcImxsNlwiLFxyXG5cdFx0XHQvLyBcdH07XHJcblx0XHRcdC8vIGZvcih2YXIgaSBpbiBkYXRhKVxyXG5cdFx0XHQvLyBcdHRoaXMuJGRhdGEua2V5cy5wdXNoKGkpXHJcblx0XHRcdC8vIHRoaXMuJGRhdGEuZGF0YSA9IGRhdGE7XHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMuJGRhdGEua2V5cyk7XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRhcHBDcmVhdGUoYXBwKXsgLy/ngrnlh7vlip/og73ngrnot7PovazpobXpnaJcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhhcHApO1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDonLi4vbW9kYWwvY2xhc3NBdHRyP3BhcmFtPScrYXBwLlBhcmFtXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyB1bmkucmVkaXJlY3RUbyh7XHJcblx0XHRcdFx0Ly8gXHR1cmw6Jy4uL2luZGV4L2luZGV4P2FyZ3M9OTk5OTk5OTk5OSdcclxuXHRcdFx0XHQvLyB9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0b250YXAoZSl7IC8v5omr56CB5Yqf6IO9XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZS50YXJnZXQpXHJcblx0XHRcdFx0Z2V0QXBwKCkub25TY2FuKChyZXN1bHQpPT57XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXN1bHQuZGVjb2RlZGF0YSk7XHJcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmRhdGFbZS50YXJnZXQuZGF0YXNldFsna2V5J11dPXJlc3VsdC5kZWNvZGVkYXRhO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///39\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  onNavigationBarButtonTap: function onNavigationBarButtonTap(e) {\n    // console.log(e.text);\n    // console.log(e.fontSize);\n    this.$store.state.areaFunc = '';\n    this.$store.commit(\"classAttrList\", null);\n    this.$store.commit(\"classGridStyleInfo\", null);\n    this.$store.commit(\"dicValueInfo\", null);\n    //刷新当前页面\n    // location.reload();\n    uni.redirectTo({\n      url: '../index/index?args=9999999999' });\n\n  },\n  data: function data() {\n    return {\n      title: 'Hello',\n      data: [] };\n\n  },\n  onLoad: function onLoad(options) {var _this = this;\n    __f__(\"log\", options, \" at pages/index/index.vue:106\");\n\n    // 获取所有AppType=\"MES\",ClientType=\"2\"(PDA)的引用领域功能点信息\n    if (this.$store.state.areaFunc)\n    this.data = this.$store.state.areaFunc.data;else\n\n    this.$store.dispatch('areaFunc', {}).then(function (success) {\n      __f__(\"log\", success, \" at pages/index/index.vue:113\");\n      if (success.code == '00000') {\n        _this.data = success.data;\n      } else {\n        uni.showModal({ title: \"错误\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n      }\n    }).catch(function (ex) {\n      // console.log(ex);\n      uni.showModal({ title: \"错误\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n    });\n\n    // var data = {\n    // \t\tin1:\"ll1\",\n    // \t\tin2:\"ll2\",\n    // \t\tin3:\"ll3\",\n    // \t\tin4:\"ll4\",\n    // \t\tin5:\"ll5\",\n    // \t\tin6:\"ll6\",\n    // \t};\n    // for(var i in data)\n    // \tthis.$data.keys.push(i)\n    // this.$data.data = data;\n    // console.log(this.$data.keys);\n  },\n  methods: {\n    appCreate: function appCreate(app) {//点击功能点跳转页面\n      __f__(\"log\", app, \" at pages/index/index.vue:139\");\n      if (!app.Param) {\n        uni.showModal({ title: \"提示\", content: \"该功能点未配置参数,请重新配置参数!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      uni.navigateTo({\n        url: '../modal/classAttr?param=' + app.Param + \"&titlename=\" + app.Name });\n\n      // uni.redirectTo({\n      // \turl:'../index/index?args=9999999999'\n      // });\n    },\n    ontap: function ontap(e) {var _this2 = this; //扫码功能\n      // console.log(e.target)\n      getApp().onScan(function (result) {\n        // console.log(result.decodedata);\n        _this2.$data.data[e.target.dataset['key']] = result.decodedata;\n      });\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbIm9uTmF2aWdhdGlvbkJhckJ1dHRvblRhcCIsImUiLCIkc3RvcmUiLCJzdGF0ZSIsImFyZWFGdW5jIiwiY29tbWl0IiwidW5pIiwicmVkaXJlY3RUbyIsInVybCIsImRhdGEiLCJ0aXRsZSIsIm9uTG9hZCIsIm9wdGlvbnMiLCJkaXNwYXRjaCIsInRoZW4iLCJzdWNjZXNzIiwiY29kZSIsInNob3dNb2RhbCIsImNvbnRlbnQiLCJtc2ciLCJzaG93Q2FuY2VsIiwiY29uZmlybVRleHQiLCJjYXRjaCIsImV4IiwiZXJyTXNnIiwibWV0aG9kcyIsImFwcENyZWF0ZSIsImFwcCIsIlBhcmFtIiwibmF2aWdhdGVUbyIsIk5hbWUiLCJvbnRhcCIsImdldEFwcCIsIm9uU2NhbiIsInJlc3VsdCIsIiRkYXRhIiwidGFyZ2V0IiwiZGF0YXNldCIsImRlY29kZWRhdGEiXSwibWFwcGluZ3MiOiJxSUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2RBLDBCQURjLG9DQUNXQyxDQURYLEVB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bnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0b25OYXZpZ2F0aW9uQmFyQnV0dG9uVGFwKGUpIHtcblx0XHQvLyBjb25zb2xlLmxvZyhlLnRleHQpO1xuXHRcdC8vIGNvbnNvbGUubG9nKGUuZm9udFNpemUpO1xuXHRcdHRoaXMuJHN0b3JlLnN0YXRlLmFyZWFGdW5jPScnO1xuXHRcdHRoaXMuJHN0b3JlLmNvbW1pdChcImNsYXNzQXR0ckxpc3RcIixudWxsKTtcblx0XHR0aGlzLiRzdG9yZS5jb21taXQoXCJjbGFzc0dyaWRTdHlsZUluZm9cIixudWxsKTtcblx0XHR0aGlzLiRzdG9yZS5jb21taXQoXCJkaWNWYWx1ZUluZm9cIixudWxsKTtcblx0XHQvL+WIt+aWsOW9k+WJjemhtemdolxuXHRcdC8vIGxvY2F0aW9uLnJlbG9hZCgpO1xuXHRcdHVuaS5yZWRpcmVjdFRvKHtcblx0XHRcdHVybDonLi4vaW5kZXgvaW5kZXg/YXJncz05OTk5OTk5OTk5J1xuXHRcdH0pXG5cdH0sXG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHRpdGxlOiAnSGVsbG8nLFxuXHRcdFx0ZGF0YTpbXVxuXHRcdH1cblx0fSxcblx0b25Mb2FkKG9wdGlvbnMpIHtcblx0XHRjb25zb2xlLmxvZyhvcHRpb25zKTtcblx0XHRcblx0XHQvLyDojrflj5bmiYDmnIlBcHBUeXBlPVwiTUVTXCIsQ2xpZW50VHlwZT1cIjJcIihQREEp55qE5byV55So6aKG5Z+f5Yqf6IO954K55L+h5oGvXG5cdFx0aWYodGhpcy4kc3RvcmUuc3RhdGUuYXJlYUZ1bmMpXG5cdFx0XHR0aGlzLmRhdGEgPSB0aGlzLiRzdG9yZS5zdGF0ZS5hcmVhRnVuYy5kYXRhO1xuXHRcdGVsc2Vcblx0XHRcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdhcmVhRnVuYycse30pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHRjb25zb2xlLmxvZyhzdWNjZXNzKTtcblx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRcdHRoaXMuZGF0YSA9IHN1Y2Nlc3MuZGF0YTtcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor69cIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KS5jYXRjaChleD0+e1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vXCIsY29udGVudDpleC5lcnJNc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHR9KTtcblx0XHRcblx0XHQvLyB2YXIgZGF0YSA9IHtcblx0XHQvLyBcdFx0aW4xOlwibGwxXCIsXG5cdFx0Ly8gXHRcdGluMjpcImxsMlwiLFxuXHRcdC8vIFx0XHRpbjM6XCJsbDNcIixcblx0XHQvLyBcdFx0aW40OlwibGw0XCIsXG5cdFx0Ly8gXHRcdGluNTpcImxsNVwiLFxuXHRcdC8vIFx0XHRpbjY6XCJsbDZcIixcblx0XHQvLyBcdH07XG5cdFx0Ly8gZm9yKHZhciBpIGluIGRhdGEpXG5cdFx0Ly8gXHR0aGlzLiRkYXRhLmtleXMucHVzaChpKVxuXHRcdC8vIHRoaXMuJGRhdGEuZGF0YSA9IGRhdGE7XG5cdFx0Ly8gY29uc29sZS5sb2codGhpcy4kZGF0YS5rZXlzKTtcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdGFwcENyZWF0ZShhcHApeyAvL+eCueWHu+WKn+iDveeCuei3s+i9rOmhtemdolxuXHRcdFx0Y29uc29sZS5sb2coYXBwKTtcblx0XHRcdGlmKCFhcHAuUGFyYW0pe1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6XCLor6Xlip/og73ngrnmnKrphY3nva7lj4LmlbDvvIzor7fph43mlrDphY3nva7lj4LmlbDvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHR1cmw6Jy4uL21vZGFsL2NsYXNzQXR0cj9wYXJhbT0nK2FwcC5QYXJhbStcIiZ0aXRsZW5hbWU9XCIrYXBwLk5hbWVcblx0XHRcdH0pXG5cdFx0XHQvLyB1bmkucmVkaXJlY3RUbyh7XG5cdFx0XHQvLyBcdHVybDonLi4vaW5kZXgvaW5kZXg/YXJncz05OTk5OTk5OTk5J1xuXHRcdFx0Ly8gfSk7XG5cdFx0fSxcblx0XHRvbnRhcChlKXsgLy/miavnoIHlip/og71cblx0XHRcdC8vIGNvbnNvbGUubG9nKGUudGFyZ2V0KVxuXHRcdFx0Z2V0QXBwKCkub25TY2FuKChyZXN1bHQpPT57XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlc3VsdC5kZWNvZGVkYXRhKTtcblx0XHRcdFx0dGhpcy4kZGF0YS5kYXRhW2UudGFyZ2V0LmRhdGFzZXRbJ2tleSddXT1yZXN1bHQuZGVjb2RlZGF0YTtcblx0XHRcdH0pXG5cdFx0fVxuXHRcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///39\n");
/***/ }),
/* 40 */
@@ -4353,11 +4357,15 @@
            ),
            0
          ),
          _c("button", {
            staticClass: _vm._$s("131-" + $30, "sc", "btn_add"),
            attrs: { _i: "131-" + $30 },
            on: { click: _vm.sava }
          })
          _c(
            "button",
            {
              staticClass: _vm._$s("131-" + $30, "sc", "btn_add"),
              attrs: { _i: "131-" + $30 },
              on: { click: _vm.sava }
            },
            [_vm._v(_vm._$s("131-" + $30, "t0-0", _vm._s(_vm.title)))]
          )
        ]
      )
    }),
@@ -4390,7 +4398,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 45));\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _pickerAddress = _interopRequireDefault(__webpack_require__(/*! ../../js/pickerAddress/pickerAddress.vue */ 48));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);}_next(undefined);});};}var _default =\n{\n  components: {\n    pickerAddress: _pickerAddress.default },\n\n  data: function data() {\n    return {\n      title: '新增',\n      param: {},\n      classAttrList: [],\n      classGridStyle: [],\n      edit_inital_event: \"\", //弹窗初始化事件ID\n      edit_ok_event: \"\", //弹窗点击OK 触发事件ID\n      edit_select_compose_event: \"\", //选择组成对象时调用\n      edit_compose_cls_id: \"\",\n      global_attr: [],\n      refdatastore: [] //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}\n    };\n\n  },\n  onLoad: function onLoad(options) {\n    var param = JSON.parse(options.param);\n    // console.log(param);\n    this.$data.param = param;\n    var edit_dlg = {\n      Model: param.EditDlgMode,\n      Name: param.Edit_dlg.Name };\n\n    var dataInfo = {\n      class_id: param.clsid };\n\n    var $this = this;\n    $this.$store.state.thisareaFuncID = param.clsid;\n    // console.log($this.$store.getters.getclassAttrList);\n    //获取\n    if ($this.$store.getters.getclassAttrList) {\n      $this.$data.classAttrList = $this.$store.getters.getclassAttrList.data;\n      $this.classGridStyleInfo();\n    } else\n    $this.$store.dispatch('classAttrList', dataInfo).then(function (success) {\n      // console.log(success);\n      if (success.code == '00000') {\n        $this.$data.classAttrList = success.data;\n\n        $this.classGridStyleInfo();\n      } else {\n        uni.showModal({ title: \"错误1\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n      }\n    }).catch(function (ex) {\n      // console.log(ex);\n      uni.showModal({ title: \"错误1.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n    });\n\n\n  },\n  methods: {\n    classGridStyleInfo: function classGridStyleInfo() {var _this = this;return _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {var $this, gridstyleInfo;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:\n                $this = _this;\n                gridstyleInfo = {\n                  class_id: $this.$data.param.clsid,\n                  name: $this.$data.param.Edit_dlg.Name,\n                  type: '2' };\n\n                $this.$store.state.thisEditName = $this.$data.param.Edit_dlg.Name;\n                // console.log($this.$store.getters.getclassGridStyleInfo);\n                //获取\n                if ($this.$store.getters.getclassGridStyleInfo) {\n                  $this.$data.classGridStyle = $this.$store.getters.getclassGridStyleInfo.data;\n                  $this.class_attr_init();\n                } else {\n                  //console.log(gridstyleInfo);\n                  $this.$store.dispatch('classGridStyleInfo', gridstyleInfo).then(function (success) {\n                    // console.log(success);\n                    if (success.code == '00000') {\n                      success.data.StyleDef = JSON.parse(success.data.StyleDef);\n                      $this.$data.classGridStyle = success.data;\n\n                      $this.class_attr_init();\n                    } else {\n                      uni.showModal({ title: \"错误1.2\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n                    }\n                  }).catch(function (ex) {\n                    // console.log(ex);\n                    uni.showModal({ title: \"错误1.3\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n                  });\n                }case 4:case \"end\":return _context.stop();}}}, _callee);}))();\n    },\n    ontap: function ontap(e) {var _this2 = this; //扫码功能\n      //console.log(e.target)\n      getApp().onScan(function (result) {\n        //console.log(result.decodedata);\n        _this2.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = result.decodedata;\n      });\n    },\n    onarrow: function onarrow(index, open) {\n      // console.log(index+'--'+open);\n      this.$data.classAttrList[index].Open = open == true ? false : true;\n    },\n    ondateTime: function ondateTime(e) {\n      //console.log(e.target)\n      this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.target.value;\n    },\n    onchange: function onchange(e) {\n      // console.log(e.target);\n      var value = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].dictitem[e.target.value];\n      var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];\n      // console.log(data_attr);\n      if (value.Name != data_attr.Value) {\n        this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = value.Name;\n        var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;\n        if (eventid) {\n          // self.event_no_sub = 1;\n          var req = [];\n          var attrlist = this.$data.classAttrList;\n          for (var i = 0; i < attrlist.length; i++) {\n            var attr = attrlist[i].Attr;\n            for (var j = 0; j < attr.length; j++) {\n              var ar = attr[j];\n              if (ar.Type == '引用对象(多个)')\n              if (ar.Value == '请') ar.Value = '';\n              if (ar.Type == '引用人员' || ar.Type == '引用项目')\n              req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n              if (ar.Type == '布尔值')\n              req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n              req.push({ attr: ar.Name, val: ar.Value ? ar.Value : '' });\n            }\n          }\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.DataObjRunCustomEvent(info);\n        }\n      }\n\n    },\n    onevent: function onevent(e) {\n      // console.log(e.target);\n      var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];\n      // console.log(data_attr);\n      if (e.target.value != data_attr.Value) {\n        this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.target.value;\n        var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;\n        if (eventid) {\n          // self.event_no_sub = 1;\n          var req = [];\n          var attrlist = this.$data.classAttrList;\n          for (var i = 0; i < attrlist.length; i++) {\n            var attr = attrlist[i].Attr;\n            for (var j = 0; j < attr.length; j++) {\n              var ar = attr[j];\n              if (ar.Type == '引用对象(多个)')\n              if (ar.Value == '请') ar.Value = '';\n              if (ar.Type == '引用人员' || ar.Type == '引用项目')\n              req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n              if (ar.Type == '布尔值')\n              req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n              req.push({ attr: ar.Name, val: ar.Value ? ar.Value : '' });\n            }\n          }\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.DataObjRunCustomEvent(info, data_attr);\n        }\n      }\n\n    },\n    oncheck: function oncheck(e) {\n      // console.log(e.target);\n      var ischecked = e.target.dataset.ischeck ? false : true;\n      var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];\n      // console.log(data_attr);\n      if (ischecked != data_attr.Value) {\n        this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = ischecked;\n        var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;\n        if (eventid) {\n          // self.event_no_sub = 1;\n          var req = [];\n          var attrlist = this.$data.classAttrList;\n          for (var i = 0; i < attrlist.length; i++) {\n            var attr = attrlist[i].Attr;\n            for (var j = 0; j < attr.length; j++) {\n              var ar = attr[j];\n              if (ar.Type == '引用对象(多个)')\n              if (ar.Value == '请') ar.Value = '';\n              if (ar.Type == '引用人员' || ar.Type == '引用项目')\n              req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n              if (ar.Type == '布尔值')\n              req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n              req.push({ attr: ar.Name, val: ar.Value ? ar.Value : '' });\n\n            }\n          }\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.DataObjRunCustomEvent(info);\n        }\n      }\n\n    },\n    addresschange: function addresschange(e) {\n      // console.log(e.target);\n      __f__(\"log\", e.data.join(';'), \" at pages/modal/classAttr.vue:570\");\n      this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.data.join(';');\n    },\n    classAttr_extButton: function classAttr_extButton(index, iindex) {\n      var $this = this;\n      var before_click_button = $this.$data.classAttrList[index].Attr[iindex].before_click_button;\n      var button_callback = $this.$data.classAttrList[index].Attr[iindex].button_callback;\n      if (!before_click_button) {\n        uni.showModal({ title: \"提示\", content: \"before_click_button-event_id为空!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      if (!button_callback) {\n        uni.showModal({ title: \"提示\", content: \"button_callback-event_id为空!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      var data_attr = this.$data.classAttrList[index].Attr[iindex];\n      this.DataObjRunCustomEvent_Return(before_click_button, data_attr, button_callback, index, iindex);\n    },\n    classAttr_AddPer: function classAttr_AddPer(index, iindex) {\n      var param = { index: index, iindex: iindex };\n      var $this = this;\n      uni.navigateTo({\n        url: '../selpsn/index?mulit=false&param=' + JSON.stringify(param),\n        events: {\n          AddPer: function AddPer(data, param) {\n            // console.log(param);\n            __f__(\"log\", data, \" at pages/modal/classAttr.vue:596\");\n            $this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;\n            $this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].Login + ';' + data[0].Name;\n\n            var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;\n            if (eventid) {\n              eventid = eventid.trim();\n              if (eventid) {\n                var info = {\n                  eventid: eventid,\n                  edtype: \"4\",\n                  projectid: \"\",\n                  rclsid: \"\",\n                  robjid: \"\",\n                  userlogin: data[0].Login,\n                  clsid: $this.$data.param.clsid,\n                  objid: \"\",\n                  attr: [] };\n\n\n                // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];\n                $this.DataObjRunCustomEvent(info);\n              }\n            }\n          } } });\n\n\n    },\n    classAttr_AddRef: function classAttr_AddRef(e) {\n      __f__(\"log\", e.target, \" at pages/modal/classAttr.vue:625\");\n      uni.showModal({ title: \"提示\", content: \"此功能还未实现!\", showCancel: false, confirmText: \"取消\" });\n      // var value=this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].RelCls[e.target.value];\n      // this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=value;\n    },\n    classAttr_AddPrj: function classAttr_AddPrj(index, iindex) {\n      var param = { index: index, iindex: iindex };\n      var $this = this;\n      uni.navigateTo({\n        url: '../selPrj/index?relation=-1&param=' + JSON.stringify(param),\n        events: {\n          AddPer: function AddPer(data, param) {\n            // console.log(param);\n            // console.log(data);\n            $this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;\n            $this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].ID + ';' + data[0].Name;\n\n            var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;\n            if (eventid) {\n              eventid = eventid.trim();\n              if (eventid) {\n                var info = {\n                  eventid: eventid,\n                  edtype: \"2\",\n                  projectid: data[0].ID,\n                  rclsid: \"\",\n                  robjid: \"\",\n                  userlogin: \"\",\n                  clsid: $this.$data.param.clsid,\n                  objid: \"\",\n                  attr: [] };\n\n\n                // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];\n                $this.DataObjRunCustomEvent(info);\n              }\n            }\n          } } });\n\n\n    },\n    sava: function sava() {\n      if (this.$data.edit_ok_event)\n      this.OKDataObjRunCustomEvent();else\n\n      this.add();\n    },\n    add: function add() {var _this3 = this;\n      var req = [];\n      var attrlist = this.$data.classAttrList;\n      for (var i = 0; i < attrlist.length; i++) {\n        var attr = attrlist[i].Attr;\n        for (var j = 0; j < attr.length; j++) {\n          var ar = attr[j];\n          if (ar.NotEmpty == '1') {\n            uni.showModal({ title: \"提示\", content: '字段:' + ar.Name + ',值不能为空!', showCancel: false, confirmText: \"取消\" });\n            return;\n          }\n          if (ar.Value == '请选择') ar.Value = '';\n          if (ar.Type == '引用对象(多个)')\n          if (ar.Value == '请') ar.Value = '';\n          if (ar.Type == '引用人员' || ar.Type == '引用项目')\n          req.push({ name: ar.Name, value: ar.ValID ? ar.ValID : '' });else\n          if (ar.Type == '布尔值')\n          req.push({ name: ar.Name, value: ar.Value ? '1' : '0' });else\n\n          req.push({ name: ar.Name, value: ar.Value ? ar.Value : '' });\n        }\n      }\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid } };\n\n\n\n      var dataInfo = {\n        class_id: this.$data.param.clsid, data_obj_id: '', masterclsid: '',\n        req: JSON.stringify(req), upfile: JSON.stringify([]), post_data: JSON.stringify({}),\n        compose: JSON.stringify([]), refdatastore: JSON.stringify([]), extinfo: JSON.stringify(enviroment),\n        not_trigger_sys_event: '' };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:710\");\n      this.$store.dispatch('addclassattr', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:712\");\n        if (success.code == '00000') {\n          _this3.class_attr_init();\n        } else {\n          uni.showModal({ title: \"错误5\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误5.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    class_attr_init: function class_attr_init() {\n      var attrlist = this.$data.classGridStyle.StyleDef.show_style;\n      var newattrlist = [];\n      if (this.$data.classAttrList.length > 0) {\n        for (var i = 0; i < attrlist.length; i++) {\n          var open = attrlist[i].open;\n          var name = attrlist[i].attrgroup_name;\n          var attrs = attrlist[i].attrs;\n          for (var s = 0; s < this.$data.classAttrList.length; s++) {\n            var clsattr = this.$data.classAttrList[s];\n            if (name == clsattr.Name) {\n              var attr = [];\n              for (var j = 0; j < attrs.length; j++) {\n                for (var l = 0; l < clsattr.Attr.length; l++) {\n                  var ca = clsattr.Attr[l];\n                  if (attrs[j].attr == ca.Name) {\n                    ca.action = attrs[j].action;\n                    ca.edit = attrs[j].edit;\n                    ca.notempty = attrs[j].notempty;\n                    ca.ext_button = attrs[j].ext_button;\n                    ca.button_img = attrs[j].button_img;\n                    ca.button_tooltip = attrs[j].button_tooltip;\n                    ca.before_click_button = attrs[j].before_click_button;\n                    ca.button_callback = attrs[j].button_callback;\n                    ca.hidden = attrs[j].hidden;\n                    attr.push(ca);\n                    if (ca.dictitem) {\n                      // var dictitem=ca.dictitem;\n                      // var dictitemlist=[];\n                      // for (var d = 0; d < dictitem.length; d++) {\n                      // \tdictitemlist.push(dictitem[d].CN_S_NAME);\n                      // }\n                      // ca.dictitemlist = dictitemlist;\n                      ca.Value = ca.dictitem[0].CN_S_NAME;\n                    }\n                    if (ca.Type == '日期' || ca.Type == '时间') {\n                      var nowDate = new Date();\n                      var date = { year: nowDate.getFullYear(), month: nowDate.getMonth() + 1, day: nowDate.getDate() };\n                      ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day);\n                    }\n                    if (ca.Type == '引用对象(多个)') {\n                      var relClsList = [];\n                      var attr_rescls = ca.RelCls.split(',');\n                      for (var ii in attr_rescls) {\n                        var rescls = attr_rescls[ii].split('|');\n                        relClsList.push({ id: rescls[0], name: rescls[1] });\n                      }\n                      ca.RelClsList = relClsList;\n                      ca.Value = '请';\n                    }\n                    if (ca.Type == '省市区')\n                    ca.Value = '请选择';\n                    if (ca.Type == '布尔值')\n                    ca.Value = false;\n                  }\n                }\n              }\n              newattrlist.push({\n                BkColor: clsattr.BkColor,\n                HasAce: clsattr.HasAce,\n                ImgFontStyle: clsattr.ImgFontStyle,\n                Name: clsattr.Name,\n                Order: clsattr.Order,\n                Open: open,\n                Attr: attr,\n                control_style: this.$data.classGridStyle.StyleDef.control_style,\n                title_p_wdith: this.$data.classGridStyle.StyleDef.title_p_wdith });\n\n            }\n          }\n        }\n        if (newattrlist.length > 0) {\n          this.$data.classAttrList = newattrlist;\n        }\n        var req = [];\n        if (this.$data.classGridStyle.StyleDef) {\n          if (this.$data.classGridStyle.StyleDef.show_style.length > 0) {\n            var attrlist = this.$data.classGridStyle.StyleDef.show_style;\n            // $el.find('.attr_field').prop('readonly', true);\n            // $el.find('.attr_field').prop('disabled', true);\n            for (var i = 0; i < attrlist.length; i++) {\n              var attr = attrlist[i].attrs;\n              for (var j = 0; j < attr.length; j++) {\n                var ar = attr[j];\n                req.push({ attr: ar.attr, val: ar.value ? ar.value : '' });\n              }\n            }\n          }\n        }\n\n        var eventlist = this.$data.classGridStyle.StyleDef.event;\n        if (eventlist) {\n          if (eventlist.length > 0) {\n            for (var i = 0; i < eventlist.length; i++) {\n              if (eventlist[i].event_id == 'before_ok') {\n                this.$data.edit_ok_event = eventlist[i];\n              } else if (eventlist[i].event_id == 'initial') {\n                this.$data.edit_inital_event = eventlist[i];\n              } else if (eventlist[i].event_id == 'before_select_compose') {\n                this.$data.edit_select_compose_event = eventlist[i].scrip_id;\n                this.$data.edit_compose_cls_id = eventlist[i].compose_cls_id;\n              }\n            }\n          }\n        }\n        __f__(\"log\", req, \" at pages/modal/classAttr.vue:828\");\n        if (this.$data.edit_inital_event) {\n          var eventid = this.$data.edit_inital_event.scrip_id;\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.ini_DataObjRunCustomEvent(info);\n        }\n        __f__(\"log\", this.$data.classGridStyle, \" at pages/modal/classAttr.vue:844\");\n        __f__(\"log\", this.$data.classAttrList, \" at pages/modal/classAttr.vue:845\");\n\n      } else {\n        uni.showModal({ title: \"提示\", content: \"未找到可显示的的属性\", showCancel: false, confirmText: \"取消\" });\n      }\n    },\n    ini_DataObjRunCustomEvent: function ini_DataObjRunCustomEvent(info) {var _this4 = this;\n      var param = {\n        EditStyle: this.$data.param.Edit_dlg.Name,\n        ViewStyle: this.$data.param.Edit_dlg.Name,\n        NotTriggerSysEvent: 0,\n        enviroment: {\n          'function': '3000', // 功能点编号\n          cls_id: this.$data.param.clsid, // 功能点主数据类标识\n          'button': 'top', // top/bottom\n          button_name: '新增',\n          master: {\n            cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n            //obj_id: ''  // button=bottom时 master的obj_id\n          } } };\n\n\n      var inputparameter = '';\n      var global_attr = '';\n\n      var dataInfo = {\n        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,\n        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,\n        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param), inputparameter: inputparameter, global_attr: global_attr };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:875\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:877\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          var actionlist = data.action;\n          if (actionlist) {\n            for (var j = 0; j < actionlist.length; j++) {\n              var action = actionlist[j];\n              var action_type = action.action_type;\n              var value = action.value;\n              if (action_type == 'set_dlg_attr') {\n                if (value) {\n                  var val = value;\n                  if (typeof value == 'string') {\n                    val = JSON.parse(value);\n                  }\n                  __f__(\"log\", val, \" at pages/modal/classAttr.vue:892\");\n                  for (var i = 0; i < val.length; i++) {\n                    for (var l = 0; l < _this4.$data.classAttrList.Attr.length; l++) {\n                      var ca = _this4.$data.classAttrList.Attr[l];\n                      if (val[i].attr == ca.Name) {\n                        ca.value = val[i].value;\n                      }\n                    }\n                    // if ($el_attr.data('type') == 'bool') {\n                    //     $el_attr.prop('checked', val[i].value == 'Y' || val[i].value == 'y' || val[i].value == '1')\n                    // }\n                    // else {\n                    // if (val[i].choice_list) {\n                    //     $el_attr.empty();\n                    //     val[i].choice_list.forEach(function (list) {\n                    //         $el_attr.append('<option value=\"' + list + '\">' + list + '</option>');\n                    //     })\n                    // }\n                    //     $el_attr.val(val[i].value);\n                    // }\n                    // $el_attr.data('val', val[i].value);\n\n                    var length = 0;\n                    if (!_this4.$data.refdatastore.filter(function (s) {\n                      return val[i].attr == s.attr;\n                    }).length) {\n                      length = 1;\n                      _this4.$data.refdatastore.push(val[i]);\n                    }\n                    if (length == 0) {\n                      for (var j = 0; j < _this4.$data.refdatastore.length; j++) {\n                        if (_this4.$data.refdatastore[j].attr == val[i].attr) {\n                          _this4.$data.refdatastore[j].value = val[i].value;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              if (action_type = 'open_select_userdlg') {\n                uni.showModal({ title: \"错误2.2\", content: \"open_select_userdlg这个action_type还未处理!\", showCancel: false, confirmText: \"取消\" });\n              }\n            }\n          }\n\n        } else {\n          uni.showModal({ title: \"错误2\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误2.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    DataObjRunCustomEvent: function DataObjRunCustomEvent(info, data_attr) {\n      var $this = this;\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n          //obj_id: ''  // button=bottom时 master的obj_id\n        } };\n\n      if (data_attr) {\n        enviroment.edit_dlg = {\n          type: 'small', //小窗口\n          class_id: this.$data.param.clsid //当前数据类id\n        };\n        if (data_attr) {\n          enviroment.edit_dlg.form_control = { //所属的表单控件\n            name: data_attr.Name, //字段属性\n            text: data_attr.DispName, //显示文本\n            group_name: data_attr.GroupName, //属性组\n            type: data_attr.Type, //字段类型\n            readonly: data_attr.ReadOnly, //是否只读\n            button_img: data_attr.button_img, //引用按钮的图标\n            button_tooltip: data_attr.button_tooltip //引用按钮的tooltip\n          };\n        }\n      }\n      var dataInfo = {\n        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{', '').replace('}', ''),\n        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,\n        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: '', global_attr: JSON.stringify(this.$data.global_attr) };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:979\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:981\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          var actionlist = data.action;\n\n          if (actionlist) {\n            __f__(\"log\", actionlist, \" at pages/modal/classAttr.vue:987\");\n            for (var i = 0; i < actionlist.length; i++) {\n              var action = actionlist[i];\n              if (action.action_type == 'set_dlg_attr') {\n                var result = action.value;\n                for (var i = 0; i < result.length; i++) {\n                  if (result[i].choice_list) {\n                    for (var c = 0; c < $this.$data.classAttrList.length; c++) {\n                      var attr = $this.$data.classAttrList[c].Attr;\n                      for (var j = 0; j < attr.length; j++) {\n                        if (attr[j].Name == result[i].attr) {\n                          if (attr[j].Type == '字典' || attr[j].Type == '字典-字符串') {\n                            attr[j].dictitem = result[i].choice_list;\n                          }\n                        }\n                      }\n                    }\n                  }\n                  for (var c = 0; c < $this.$data.classAttrList.length; c++) {\n                    var attr = $this.$data.classAttrList[c].Attr;\n                    for (var j = 0; j < attr.length; j++) {\n                      __f__(\"log\", attr[j].Name + '==' + result[i].attr, \" at pages/modal/classAttr.vue:1008\");\n                      if (attr[j].Name == result[i].attr) {\n                        attr[j].Value = result[i].value;\n                      }\n                    }\n                  }\n                  var length = 0;\n                  if (!$this.$data.refdatastore.filter(function (s) {\n                    return result[i].attr == s.attr;\n                  }).length) {\n                    length = 1;\n                    $this.$data.refdatastore.push(result[i]);\n                  }\n                  if (length == 0) {\n                    for (var j = 0; j < $this.$data.refdatastore.length; j++) {\n                      if ($this.$data.refdatastore[j].attr == result[i].attr) {\n                        $this.$data.refdatastore[j].value = result[i].value;\n                      }\n                    }\n                  }\n                }\n              } else if (data.action[i].action_type == 'set_global_attr') {\n                $this.$data.global_attr = data.action[i].value || [];\n              }\n            }\n          }\n\n          if (data.result) {\n            var result = data.result;\n            for (var i = 0; i < result.length; i++) {\n              for (var c = 0; c < $this.$data.classAttrList.length; c++) {\n                var attr = $this.$data.classAttrList[c].Attr;\n                for (var j = 0; j < attr.length; j++) {\n                  if (attr[j].Name == result[i].attr) {\n                    attr[j].Value = result[i].value;\n                  }\n                }\n              }\n\n              var length = 0;\n              if (!$this.$data.refdatastore.filter(function (s) {\n                return result[i].attr == s.attr;\n              }).length) {\n                length = 1;\n                $this.$data.refdatastore.push(result[i]);\n              }\n              if (length == 0) {\n                for (var j = 0; j < $this.$data.refdatastore.length; j++) {\n                  if ($this.$data.refdatastore[j].attr == result[i].attr) {\n                    $this.$data.refdatastore[j].value = result[i].value;\n                  }\n                }\n              }\n            }\n          }\n        } else {\n          uni.showModal({ title: \"错误3\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误3.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    OKDataObjRunCustomEvent: function OKDataObjRunCustomEvent() {var _this5 = this;\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n        } };\n\n\n\n      var eventid = this.$data.edit_ok_event.scrip_id;\n      var req = [];\n      var attrlist = this.$data.classAttrList;\n      for (var i = 0; i < attrlist.length; i++) {\n        var attr = attrlist[i].Attr;\n        for (var j = 0; j < attr.length; j++) {\n          var ar = attr[j];\n          if (ar.Value == '请选择') ar.Value = '';\n          if (ar.Type == '引用对象(多个)')\n          if (ar.Value == '请') ar.Value = '';\n          if (ar.Type == '引用人员' || ar.Type == '引用项目')\n          req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n          if (ar.Type == '布尔值')\n          req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n          req.push({ attr: ar.Name, val: ar.Value });\n        }\n      }\n\n      if (this.$data.refdatastore.length > 0) {\n        for (var i = 0; i < this.$data.refdatastore.length; i++) {\n          if (!req.filter(function (s) {\n            return this.$data.refdatastore[i].attr == s.name;\n          }).length) {\n            length = 1;\n            req.push({ 'attr': this.$data.refdatastore[i].attr, 'val': this.$data.refdatastore[i].value });\n          }\n        }\n      }\n      var info = {\n        eventid: eventid,\n        edtype: \"0\",\n        projectid: '',\n        rclsid: '',\n        robjid: '',\n        userlogin: '',\n        clsid: this.$data.param.clsid,\n        objid: \"\",\n        attr: req };\n\n      var dataInfo = {\n        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid, rclsid: info.rclsid,\n        robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,\n        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), global_attr: JSON.stringify(this.$data.global_attr) };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:1128\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:1130\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          var result = data.result;\n          for (var i = 0; i < result.length; i++) {\n            // self.class_attr_ele.find('.attr_field[data-field=\"' + result[i].attr + '\"]').val(result[i].value).data('val', result[i].value);\n            var length = 0;\n            if (!_this5.$data.refdatastore.filter(function (s) {\n              return result[i].attr == s.attr;\n            }).length) {\n              length = 1;\n              _this5.$data.refdatastore.push(result[i]);\n            }\n            if (length == 0) {\n              for (var j = 0; j < _this5.$data.refdatastore.length; j++) {\n                if (_this5.$data.refdatastore[j].attr == result[i].attr) {\n                  _this5.$data.refdatastore[j].value = result[i].value;\n                }\n              }\n            }\n          }\n\n          _this5.add();\n        } else {\n          uni.showModal({ title: \"错误4\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误4.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    DataObjRunCustomEvent_Return: function DataObjRunCustomEvent_Return(eventid, data_attr, button_callback, index, iindex) {var _this6 = this;\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n          //obj_id: ''  // button=bottom时 master的obj_id\n        } };\n\n      var req = [];\n      var attrlist = this.$data.classAttrList;\n      for (var i = 0; i < attrlist.length; i++) {\n        var attr = attrlist[i].Attr;\n        for (var j = 0; j < attr.length; j++) {\n          var ar = attr[j];\n          if (ar.Value == '请选择') ar.Value = '';\n          if (ar.Type == '引用对象(多个)')\n          if (ar.Value == '请') ar.Value = '';\n          if (ar.Type == '引用人员' || ar.Type == '引用项目')\n          req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n          if (ar.Type == '布尔值')\n          req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n          req.push({ attr: ar.Name, val: ar.Value });\n        }\n      }\n      if (this.$data.refdatastore.length > 0) {\n        for (var i = 0; i < this.$data.refdatastore.length; i++) {\n          if (!req.filter(function (s) {\n            return this.$data.refdatastore[i].attr == s.name;\n          }).length) {\n            length = 1;\n            req.push({ 'attr': this.$data.refdatastore[i].attr, 'val': this.$data.refdatastore[i].value });\n          }\n        }\n      }\n      var extinfo = enviroment;\n      extinfo.edit_dlg = {\n        type: 'small', //小窗口\n        class_id: this.$data.param.clsid //当前数据类id\n      };\n      if (data_attr) {\n        extinfo.edit_dlg.form_control = { //所属的表单控件\n          name: data_attr.Name, //字段属性\n          text: data_attr.DispName, //显示文本\n          group_name: data_attr.GroupName, //属性组\n          type: data_attr.Type, //字段类型\n          readonly: data_attr.ReadOnly, //是否只读\n          button_img: data_attr.button_img, //引用按钮的图标\n          button_tooltip: data_attr.button_tooltip //引用按钮的tooltip\n        };\n      }\n      var dataInfo = {\n        edtype: \"0\", eventid: eventid, projectid: '', rclsid: '', robjid: '', userlogin: '',\n        clsid: this.$data.param.clsid, objid: '', attr: JSON.stringify(req),\n        extinfo: JSON.stringify(extinfo), global_attr: JSON.stringify(this.$data.global_attr) };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:1220\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:1222\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          if (data != \"\") {\n\n            var actions = data.action;\n            __f__(\"log\", actions, \" at pages/modal/classAttr.vue:1228\");\n            if (actions) {\n              for (var i = 0; i < actions.length; i++) {\n                var action = actions[i];\n                var val = action.value;\n                var enviroment = JSON.stringify(enviroment);\n\n                if (action.action_type == 'open_panel') {\n                  var d = dialog({\n                    title: '<i class=\"ace-icon fa fa-info-circle\"></i> ' + '提示',\n                    content: action.action_type + '此action尚未处理!' });\n\n                  d.show();\n                } else\n                if (action.action_type == 'open_select_userdlg') {\n                  var style = val.style;\n                  // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''\n                  var $this = _this6;\n                  var param = {\n                    index: index,\n                    iindex: iindex,\n                    button_callback: button_callback,\n                    req: req,\n                    data_attr: data_attr };\n\n                  uni.navigateTo({\n                    url: '../selpsn/index?mulit=false&param=' + JSON.stringify(param),\n                    events: {\n                      AddPer: function AddPer(data, param) {\n                        // console.log(param);\n                        __f__(\"log\", data, \" at pages/modal/classAttr.vue:1258\");\n                        var callback_eventid = param.button_callback.trim();\n                        var info = {\n                          eventid: callback_eventid,\n                          edtype: \"0\",\n                          projectid: '',\n                          rclsid: '',\n                          robjid: '',\n                          userlogin: '',\n                          clsid: $this.$data.param.clsid,\n                          objid: \"\",\n                          attr: param.req,\n                          inputparameter: data };\n\n                        $this.DataObjRunCustomEvent(info, param.data_attr);\n                      } } });\n\n\n                } else\n                if (action.action_type == 'open_data_query_dlg') {\n\n                } else\n                if (action.action_type == 'open_common_dlg') {\n                  var value = action.value;\n                  var d = dialog({\n                    title: '<i class=\"ace-icon fa fa-info-circle\"></i> ' + '提示',\n                    content: action.action_type + '此action尚未处理!' });\n\n                  d.show();\n                } else\n                if (action.action_type == 'open_project_query_dlg') {\n                  //console.log(action.value.select_range);\n                  //console.log(action.value.mulit_select);\n                  var priRel = '-1';\n                  if (action.value.select_range == '全部相关')\n                  priRel = '0';else\n                  if (action.value.select_range == '我负责的项目')\n                  priRel = '1';else\n                  if (action.value.select_range == '我创建的')\n                  priRel = '2';else\n                  if (action.value.select_range == '我参与的' || action.value.select_range == '我参加的')\n                  priRel = '3';else\n                  if (action.value.select_range == '我关注的')\n                  priRel = '4';else\n                  if (action.value.select_range == '我下属的项目')\n                  priRel = '5';\n\n                  var $this = _this6;\n                  var param_ = {\n                    index: index,\n                    iindex: iindex,\n                    button_callback: button_callback,\n                    req: req };\n\n                  uni.navigateTo({\n                    url: '../selPrj/index?relation=' + priRel + '&param=' + JSON.stringify(param_),\n                    events: {\n                      AddPer: function AddPer(data, param) {\n                        $this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;\n                        $this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].ID + ';' + data[0].Name;\n                        var callback_eventid = param.button_callback.trim();\n                        if (callback_eventid) {\n                          var info = {\n                            eventid: callback_eventid,\n                            edtype: \"2\",\n                            projectid: data[0].ID,\n                            rclsid: \"\",\n                            robjid: \"\",\n                            userlogin: \"\",\n                            clsid: $this.$data.param.clsid,\n                            objid: \"\",\n                            attr: param.req };\n\n\n                          $this.DataObjRunCustomEvent(info);\n                        }\n                      } } });\n\n\n                } else {\n                  var d = dialog({\n                    title: '<i class=\"ace-icon fa fa-info-circle\"></i> ' + '提示',\n                    content: action.action_type + '此action尚未处理!' });\n\n                  d.show();\n                }\n              }\n            }\n          } else {\n            uni.showModal({ title: \"错误5.2\", content: '调用 before_click_button 脚本返回空,event_id' + eventid, showCancel: false, confirmText: \"取消\" });\n          }\n        } else {\n          uni.showModal({ title: \"错误5\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误5.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbW9kYWwvY2xhc3NBdHRyLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtVkEscUg7QUFDQTtBQUNBO0FBQ0EseUNBREEsRUFEQTs7QUFJQSxNQUpBLGtCQUlBO0FBQ0E7QUFDQSxpQkFEQTtBQUVBLGVBRkE7QUFHQSx1QkFIQTtBQUlBLHdCQUpBO0FBS0EsMkJBTEEsRUFLQTtBQUNBLHVCQU5BLEVBTUE7QUFDQSxtQ0FQQSxFQU9BO0FBQ0EsNkJBUkE7QUFTQSxxQkFUQTtBQVVBLHNCQVZBLENBVUE7QUFWQTs7QUFhQSxHQWxCQTtBQW1CQSxRQW5CQSxrQkFtQkEsT0FuQkEsRUFtQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQURBO0FBRUEsK0JBRkE7O0FBSUE7QUFDQSwyQkFEQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBSEE7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BSkEsTUFJQTtBQUNBO0FBQ0E7QUFDQSxLQVRBLEVBU0EsS0FUQSxDQVNBO0FBQ0E7QUFDQTtBQUNBLEtBWkE7OztBQWVBLEdBckRBO0FBc0RBO0FBQ0Esc0JBREEsZ0NBQ0E7QUFD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REE7QUFFQTtBQUNBLCtCQURBO0FBRUE7QUFDQSwrQkFEQTtBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdDQURBO0FBRUEsa0NBRkE7QUFHQSxvREFIQTtBQUlBLDRCQUpBOztBQU1BO0FBQ0Esa0dBREE7QUFFQTtBQUNBLDRCQURBLGtCQUNBLElBREEsRUFDQSxLQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBREE7QUFFQSx1Q0FGQTtBQUdBLGlEQUhBO0FBSUEsc0NBSkE7QUFLQSxzQ0FMQTtBQU1BLHlDQU5BO0FBT0EsMERBUEE7QUFRQSxxQ0FSQTtBQVNBLDJDQVRBOzs7QUFZQTtBQUNBO0FBQ0EsdUJBcEJBLEVBRkE7OztBQXlCQSxpQkFqREEsTUFpREE7QUFDQTtBQUNBLCtFQURBO0FBRUEsZ0VBRkE7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQXpIQSxNQXlIQTtBQUNBO0FBQ0E7QUFDQSxTQTlIQSxNQThIQTtBQUNBO0FBQ0E7QUFDQSxPQW5JQSxFQW1JQSxLQW5JQSxDQW1JQTtBQUNBO0FBQ0E7QUFDQSxPQXRJQTtBQXVJQSxLQWo4QkEsRUF0REEsRSIsImZpbGUiOiI0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjxzdHlsZT5cclxuXHQuY2xhc3NfYXR0cl90aXRsZSB7XHJcblx0XHRmb250LXNpemU6IDQ0cnB4O1xyXG5cdCAgICBwYWRkaW5nLWJvdHRvbTogMjJycHg7XHJcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR9XHJcblx0LmNsYXNzX2F0dHJfdGl0bGUgLnRpdGxlX2xpbmUge1xyXG5cdCAgICBib3JkZXItYm90dG9tOiAycnB4IHNvbGlkICNhYWE7XHJcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQgICAgYm90dG9tOiAtNTBycHg7XHJcblx0ICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOTBycHgpO1xyXG5cdCAgICBtYXJnaW4tbGVmdDogMTAwcHg7XHJcblx0fVxyXG5cdC5jbGFzc19hdHRyX3RpdGxlIC50aXRsZV9pY29uIHtcclxuXHQgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG5cdCAgICB3aWR0aDogMTAwcnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDY0cnB4O1xyXG5cdCAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0ICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0ICAgIHBhZGRpbmctdG9wOiAxMHJweDsgICAgXHJcblx0XHRwYWRkaW5nLWxlZnQ6IDIwcnB4O1xyXG5cdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ICAgIGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHQuY2xhc3NfYXR0cl90aXRsZSBpIHtcclxuXHQgICAgY29sb3I6ICMyYzZhYTAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuY2xhc3NfYXR0cl90aXRsZSAudGl0bGVfaWNvbiBpIHtcclxuXHQgICAgZm9udC1zaXplOiA4MHJweDtcclxuXHR9XHJcblx0LmNsYXNzX2F0dHJfdGl0bGUgLnRpdGxlIHtcclxuXHQgICAgcGFkZGluZy1yaWdodDogMjJycHg7XHJcblx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCAgICBib3R0b206IC04cnB4O1xyXG5cdH1cclxuXHQuY2xhc3NfYXR0cl90aXRsZSAuYXJyb3cge1xyXG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDZycHg7XHJcblx0XHRyaWdodDogMzBycHg7XHJcblx0XHRmb250LXNpemU6IDYwcnB4O1xyXG5cdH1cclxuXHRpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0XHRmb250LXNpemU6IDEycnB4O1xyXG5cdH1cclxuXHR0ZXh0YXJlYXtcclxuXHRcdHdpZHRoOiA5OCU7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDVkNWQ1O1xyXG5cdFx0cGFkZGluZzogMTBycHggOHJweCAxMnJweDtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRmb250LXNpemU6IDM0cnB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xyXG5cdFx0Y29sb3I6ICMwNDZkYjM7XHJcblx0XHRtYXJnaW4tdG9wOiA0cHg7XHJcblx0fVxyXG5cdGlucHV0e1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2Q1ZDVkNTtcclxuXHRcdHdpZHRoOiA5OCU7XHJcblx0XHRoZWlnaHQ6IDUycnB4O1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuXHRcdGNvbG9yOiAjMDQ2ZGIzO1xyXG5cdFx0cGFkZGluZzogMTBycHggOHJweCAxMnJweDtcclxuXHRcdGZvbnQtc2l6ZTogMzRycHg7XHJcblx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XHJcblx0XHRtYXJnaW4tdG9wOiA0cnB4O1xyXG5cdH1cclxuXHQuc2VsZWN0eyAgICBcclxuXHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcblx0LmNsYXNzX2F0dHJfYm9keSAuZm9ybS1ncm91cCB7XHJcblx0XHRtYXJnaW46IDIwcnB4IDMwcnB4O1xyXG5cdCAgICAvKiBtYXJnaW4tbGVmdDogLTEycHg7XHJcblx0ICAgIG1hcmdpbi1yaWdodDogLTEycHg7ICovXHJcblx0fVxyXG5cdC5mb3JtLWdyb3VwID4gbGFiZWxbY2xhc3MqPVwiY29sLVwiXSB7XHJcblx0ICAgIG1hcmdpbi1ib3R0b206IDhycHg7XHJcblx0XHRmb250LXNpemU6IDMycnB4O1xyXG5cdH1cclxuXHQuZm9ybS1ncm91cCBsYWJlbCB7XHJcblx0ICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0ICAgIGxpbmUtaGVpZ2h0OiA2MHJweDtcclxuXHR9XHJcblx0Lm5vLXBhZGRpbmctcmlnaHQge1xyXG5cdCAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC5jb2wteHMtMTIge1xyXG5cdCAgICB3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0LnR4X3RpdGxle1xyXG5cdFx0Zm9udC1zaXplOiAzNnJweDtcclxuXHR9XHJcblx0LnR4X3RpdGxlMntcclxuXHRcdGZvbnQtc2l6ZTogMzZycHg7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHZlcnRpY2FsLWFsaWduOiAtMnB4O1xyXG5cdH1cclxuXHQudGV4dC1yaWdodHtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBycHg7XHJcblx0XHRtYXJnaW4tdG9wOiAtNnJweDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZsb2F0OiByaWdodDtcclxuXHRcdGZvbnQtc2l6ZTogNDRycHg7XHJcblx0fVxyXG5cdC50ZXh0LXJpZ2h0MiB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogLTRweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiA5cHg7XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHRcdGZvbnQtc2l6ZTogNDRycHg7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cdC5zZWN0aW9uX2lwdXR7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDVkNWQ1O1xyXG5cdFx0d2lkdGg6IDk4JTtcclxuXHRcdGhlaWdodDogNjJycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG5cdFx0Y29sb3I6ICMwNDZkYjM7XHJcblx0XHRwYWRkaW5nOiAxMHJweCA4cnB4IDEwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcclxuXHR9XHJcblx0LmRhdGVfaXB1dHtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNWQ1ZDU7XHJcblx0XHQvKiB3aWR0aDogOTglOyAqL1xyXG5cdFx0aGVpZ2h0OiA2MnJweDtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRjb2xvcjogIzA0NmRiMztcclxuXHRcdHBhZGRpbmc6IDEwcnB4IDhycHggNHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMzRycHg7XHJcblx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XHJcblx0fVxyXG5cdGJ1dHRvbi5idG5fYWRkIHtcclxuXHRcdG1hcmdpbi10b3A6IDUwcnB4O1xyXG5cdFx0cGFkZGluZzogMjBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0YmFja2dyb3VuZDogIzI3QTZFMTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuXHQuaV90aXNoaXtcclxuXHRcdGNvbG9yOiByZWQ7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogc3ViO1xyXG5cdFx0Zm9udC1zdHlsZTogaW5pdGlhbDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMTdweDtcclxuXHR9XHJcblx0LmF0dHJfZmllbGR7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDhweDtcclxuXHRcdC8qIHdpZHRoOiA3MSU7ICovXHJcblx0fVxyXG48L3N0eWxlPlxyXG5cclxuPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiY29udGVudFwiPlxyXG5cdFx0XHJcblx0XHRcclxuXHRcdDx2aWV3IGNsYXNzPVwidi1hcmVhXCIgdi1mb3I9XCIoY2xhc3NhdHRyLGluZGV4KSBpbiBjbGFzc0F0dHJMaXN0XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjbGFzc19hdHRyX3RpdGxlXCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cInRpdGxlX2xpbmVcIj48L2Rpdj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGl0bGVfaWNvblwiIDpzdHlsZT1cInsnYmFja2dyb3VuZC1jb2xvcic6Y2xhc3NhdHRyLkJrQ29sb3J9XCI+ICAgXHJcblx0XHRcdFx0XHQ8aSBjbGFzcz1cImFjZS1pY29uIGZhXCIgOmNsYXNzPVwiY2xhc3NhdHRyLkltZ0ZvbnRTdHlsZVwiPjwvaT5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRpdGxlXCI+e3tjbGFzc2F0dHIuTmFtZX19PC9zcGFuPlxyXG5cdFx0XHRcdDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cImFycm93XCIgQHRhcD1cIm9uYXJyb3coaW5kZXgsY2xhc3NhdHRyLk9wZW4pXCI+PGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBcIjpjbGFzcz1cImNsYXNzYXR0ci5PcGVuPydmYS1hbmdsZS1kb3duJzonZmEtYW5nbGUtdXAnXCI+PC9pPjwvYT5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJjbGFzc19hdHRyX2JvZHlcIiA6c3R5bGU9XCJ7J2Rpc3BsYXknOmNsYXNzYXR0ci5PcGVuPydibG9jayc6J25vbmUnfVwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJkdl9maWVsZF9kaXZcIiB2LWZvcj1cIihhdHRyLGlpbmRleCkgaW4gY2xhc3NhdHRyLkF0dHJcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZm9ybS1ncm91cFwiIHYtaWY9XCJhdHRyLlR5cGU9PSflrZfnrKbkuLInIHx8IGF0dHIuVHlwZT09J+WPr+WPmOmVv+Wtl+espuS4sicgfHwgYXR0ci5UeXBlPT0n5pW05pWwJyB8fCBhdHRyLlR5cGU9PSfmta7ngrnmlbAnXCIgOnN0eWxlPVwieydkaXNwbGF5JzphdHRyLmhpZGRlbiA9PSAnVHJ1ZSc/J25vbmUnOicnfVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSfkuIrkuIvluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0eF90aXRsZVwiIDpzdHlsZT1cInsnd2lkdGgnOmNsYXNzYXR0ci50aXRsZV9wX3dkaXRoKyclJ31cIj57e2F0dHIuRGlzcE5hbWV9fTo8aSBjbGFzcz1cImlfdGlzaGlcIiB2LWlmPVwiYXR0ci5Ob3RFbXB0eT09JzEnXCI+KjwvaT48L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIiB2LWlmPVwiYXR0ci5leHRfYnV0dG9uPT10cnVlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8YSBAdGFwPVwiY2xhc3NBdHRyX2V4dEJ1dHRvbihpbmRleCxpaW5kZXgpXCIgPjxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtcGx1cy1jaXJjbGVcIj48L2k+PC9hPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cImF0dHIuVmFsdWVcIiBAZm9jdXM9XCJvbnRhcFwiIEBibHVyPVwib25ldmVudFwiIHYtaWY9XCJhdHRyLkhlaWdodD09JzEnXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnd2lkdGgnOmF0dHIuV2lkdGh9XCIgOnJlYWRvbmx5PVwiYXR0ci5lZGl0PT0nRmxhc2UnP3RydWU6ZmFsc2VcIiA+XHJcblx0XHRcdFx0XHRcdFx0PHRleHRhcmVhIDp2YWx1ZT1cImF0dHIuVmFsdWVcIiBAZm9jdXM9XCJvbnRhcFwiIEBibHVyPVwib25ldmVudFwiIHYtZWxzZS1pZj1cImF0dHIuSGVpZ2h0PT0nMidcIiA6ZGF0YS1pbmRleD1cImluZGV4XCI6ZGF0YS1paW5kZXg9XCJpaW5kZXhcIiBzdHlsZT1cImhlaWdodDo2MHB4O1wiIDpzdHlsZT1cInsnd2lkdGgnOmF0dHIuV2lkdGh9XCIgOnJlYWRvbmx5PVwiYXR0ci5lZGl0PT0nRmxhc2UnP3RydWU6ZmFsc2VcIj48L3RleHRhcmVhPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0YXJlYSA6dmFsdWU9XCJhdHRyLlZhbHVlXCIgQGZvY3VzPVwib250YXBcIiBAYmx1cj1cIm9uZXZlbnRcIiB2LWVsc2UtaWY9XCJhdHRyLkhlaWdodD09JzMnXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiOmRhdGEtaWluZGV4PVwiaWluZGV4XCIgc3R5bGU9XCJoZWlnaHQ6OTBweDtcIiA6c3R5bGU9XCJ7J3dpZHRoJzphdHRyLldpZHRofVwiIDpyZWFkb25seT1cImF0dHIuZWRpdD09J0ZsYXNlJz90cnVlOmZhbHNlXCI+PC90ZXh0YXJlYT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSflt6blj7PluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJ0eF90aXRsZTJcIiA6c3R5bGU9XCJ7J3dpZHRoJzpjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCsnJSd9XCI+e3thdHRyLkRpc3BOYW1lfX06PC9wPlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYXR0cl9maWVsZFwiIDp2YWx1ZT1cImF0dHIuVmFsdWVcIiBAZm9jdXM9XCJvbnRhcFwiIEBibHVyPVwib25ldmVudFwiIHYtaWY9XCJhdHRyLkhlaWdodD09JzEnXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnd2lkdGgnOiBhdHRyLldpZHRoLnNwbGl0KCclJylbMF0gLSBjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCAtIChhdHRyLk5vdEVtcHR5PT0nMSc/MTA6NSkgLSAoYXR0ci5leHRfYnV0dG9uPT10cnVlPzk6MCkgKyclJ31cIiA6cmVhZG9ubHk9XCJhdHRyLmVkaXQ9PSdGbGFzZSc/dHJ1ZTpmYWxzZVwiID5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dGFyZWEgY2xhc3M9XCJhdHRyX2ZpZWxkXCIgOnZhbHVlPVwiYXR0ci5WYWx1ZVwiIEBmb2N1cz1cIm9udGFwXCIgQGJsdXI9XCJvbmV2ZW50XCIgdi1lbHNlLWlmPVwiYXR0ci5IZWlnaHQ9PScyJ1wiIDpkYXRhLWluZGV4PVwiaW5kZXhcIjpkYXRhLWlpbmRleD1cImlpbmRleFwiIHN0eWxlPVwiaGVpZ2h0OjYwcHg7XCIgOnN0eWxlPVwieyd3aWR0aCc6IGF0dHIuV2lkdGguc3BsaXQoJyUnKVswXSAtIGNsYXNzYXR0ci50aXRsZV9wX3dkaXRoIC0gKGF0dHIuTm90RW1wdHk9PScxJz8xMDo1KSAtIChhdHRyLmV4dF9idXR0b249PXRydWU/OTowKSArJyUnfVwiIDpyZWFkb25seT1cImF0dHIuZWRpdD09J0ZsYXNlJz90cnVlOmZhbHNlXCI+PC90ZXh0YXJlYT5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dGFyZWEgY2xhc3M9XCJhdHRyX2ZpZWxkXCIgOnZhbHVlPVwiYXR0ci5WYWx1ZVwiIEBmb2N1cz1cIm9udGFwXCIgQGJsdXI9XCJvbmV2ZW50XCIgdi1lbHNlLWlmPVwiYXR0ci5IZWlnaHQ9PSczJ1wiIDpkYXRhLWluZGV4PVwiaW5kZXhcIjpkYXRhLWlpbmRleD1cImlpbmRleFwiIHN0eWxlPVwiaGVpZ2h0OjkwcHg7XCIgOnN0eWxlPVwieyd3aWR0aCc6IGF0dHIuV2lkdGguc3BsaXQoJyUnKVswXSAtIGNsYXNzYXR0ci50aXRsZV9wX3dkaXRoIC0gKGF0dHIuTm90RW1wdHk9PScxJz8xMDo1KSAtIChhdHRyLmV4dF9idXR0b249PXRydWU/OTowKSArJyUnfVwiIDpyZWFkb25seT1cImF0dHIuZWRpdD09J0ZsYXNlJz90cnVlOmZhbHNlXCI+PC90ZXh0YXJlYT5cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGV4dC1yaWdodDJcIiB2LWlmPVwiYXR0ci5leHRfYnV0dG9uPT10cnVlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8YSBAdGFwPVwiY2xhc3NBdHRyX2V4dEJ1dHRvbihpbmRleCxpaW5kZXgpXCIgPjxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtcGx1cy1jaXJjbGVcIj48L2k+PC9hPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiaV90aXNoaVwiIHYtaWY9XCJhdHRyLk5vdEVtcHR5PT0nMSdcIj4qPC9pPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZvcm0tZ3JvdXBcIiB2LWlmPVwiYXR0ci5UeXBlPT0n5biD5bCU5YC8J1wiIDpzdHlsZT1cInsnZGlzcGxheSc6YXR0ci5oaWRkZW4gPT0gJ1RydWUnPydub25lJzonJ31cIj5cclxuXHRcdFx0XHRcdFx0PGNoZWNrYm94LWdyb3VwIGNsYXNzPVwiY2hlY2tfcmVtZW1iZXJQd2RcIiBAY2hhbmdlPVwib25jaGVja1wiIDpkYXRhLWlzY2hlY2s9XCJhdHRyLlZhbHVlXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnbWFyZ2luLWxlZnQnOiBjbGFzc2F0dHIuY29udHJvbF9zdHlsZT09J+W3puWPs+W4g+WxgCc/Y2xhc3NhdHRyLnRpdGxlX3Bfd2RpdGgrMiArJyUnOicxMHJweCd9XCI+XHJcblx0XHRcdFx0XHRcdFx0PGxhYmVsPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGNoZWNrYm94IDp2YWx1ZT1cImF0dHIuVmFsdWVcIiA6Y2hlY2tlZD1cImF0dHIuVmFsdWVcIi8+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dGV4dD57e2F0dHIuRGlzcE5hbWV9fTxpIGNsYXNzPVwiaV90aXNoaVwiIHYtaWY9XCJhdHRyLk5vdEVtcHR5PT0nMSdcIj4qPC9pPjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8L2xhYmVsPlxyXG5cdFx0XHRcdFx0XHQ8L2NoZWNrYm94LWdyb3VwPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmb3JtLWdyb3VwXCIgdi1pZj1cImF0dHIuVHlwZT09J+aXpeacnycgfHwgYXR0ci5UeXBlPT0n5pe26Ze0J1wiIDpzdHlsZT1cInsnZGlzcGxheSc6YXR0ci5oaWRkZW4gPT0gJ1RydWUnPydub25lJzonJ31cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cImNsYXNzYXR0ci5jb250cm9sX3N0eWxlPT0n5LiK5LiL5biD5bGAJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidHhfdGl0bGVcIiA6c3R5bGU9XCJ7J3dpZHRoJzpjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCsnJSd9XCI+e3thdHRyLkRpc3BOYW1lfX06PGkgY2xhc3M9XCJpX3Rpc2hpXCIgdi1pZj1cImF0dHIuTm90RW1wdHk9PScxJ1wiPio8L2k+PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDxwaWNrZXIgbW9kZT1cImRhdGVcIiA6dmFsdWU9XCJhdHRyLlZhbHVlXCIgQGNoYW5nZT1cIm9uZGF0ZVRpbWVcIiBjbGFzcz1cImRhdGVfaXB1dFwiIDpkYXRhLWluZGV4PVwiaW5kZXhcIiA6ZGF0YS1paW5kZXg9XCJpaW5kZXhcIiA6c3R5bGU9XCJ7J3dpZHRoJzphdHRyLldpZHRofVwiPlxyXG5cdFx0XHRcdFx0XHRcdCAgIDx2aWV3IGNsYXNzPVwicGlja2VyXCI+e3thdHRyLlZhbHVlfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC9waWNrZXI+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cImNsYXNzYXR0ci5jb250cm9sX3N0eWxlPT0n5bem5Y+z5biD5bGAJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdDxwIGNsYXNzPVwidHhfdGl0bGUyXCIgOnN0eWxlPVwieyd3aWR0aCc6Y2xhc3NhdHRyLnRpdGxlX3Bfd2RpdGgrJyUnfVwiPnt7YXR0ci5EaXNwTmFtZX19OjwvcD5cclxuXHRcdFx0XHRcdFx0XHQ8cGlja2VyIG1vZGU9XCJkYXRlXCIgOnZhbHVlPVwiYXR0ci5WYWx1ZVwiIEBjaGFuZ2U9XCJvbmRhdGVUaW1lXCIgY2xhc3M9XCJkYXRlX2lwdXQgYXR0cl9maWVsZFwiIDpkYXRhLWluZGV4PVwiaW5kZXhcIiA6ZGF0YS1paW5kZXg9XCJpaW5kZXhcIiA6c3R5bGU9XCJ7J3dpZHRoJzogYXR0ci5XaWR0aC5zcGxpdCgnJScpWzBdIC0gY2xhc3NhdHRyLnRpdGxlX3Bfd2RpdGggLSAoYXR0ci5Ob3RFbXB0eT09JzEnPzEwOjUpICsnJSd9XCI+XHJcblx0XHRcdFx0XHRcdFx0ICAgPHZpZXcgY2xhc3M9XCJwaWNrZXJcIj57e2F0dHIuVmFsdWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3BpY2tlcj5cclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImlfdGlzaGlcIiB2LWlmPVwiYXR0ci5Ob3RFbXB0eT09JzEnXCI+KjwvaT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmb3JtLWdyb3VwXCIgdi1pZj1cImF0dHIuVHlwZT09J+Wtl+WFuCcgfHwgYXR0ci5UeXBlPT0n5a2X5YW4LeWtl+espuS4sidcIiA6c3R5bGU9XCJ7J2Rpc3BsYXknOmF0dHIuaGlkZGVuID09ICdUcnVlJz8nbm9uZSc6Jyd9XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJjbGFzc2F0dHIuY29udHJvbF9zdHlsZT09J+S4iuS4i+W4g+WxgCdcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInR4X3RpdGxlXCI+e3thdHRyLkRpc3BOYW1lfX06PGkgY2xhc3M9XCJpX3Rpc2hpXCIgdi1pZj1cImF0dHIuTm90RW1wdHk9PScxJ1wiPio8L2k+PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDxwaWNrZXIgY2xhc3M9XCJzZWN0aW9uX2lwdXRcIiBAY2hhbmdlPVwib25jaGFuZ2VcIiA6cmFuZ2U9XCJhdHRyLmRpY3RpdGVtXCIgcmFuZ2Uta2V5PVwiQ05fU19OQU1FXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnd2lkdGgnOmF0dHIuV2lkdGh9XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8bGFiZWwgY2xhc3M9XCJcIj57eyBhdHRyLlZhbHVlIH19PC9sYWJlbD5cclxuXHRcdFx0XHRcdFx0XHQ8L3BpY2tlcj5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSflt6blj7PluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJ0eF90aXRsZTJcIiA6c3R5bGU9XCJ7J3dpZHRoJzpjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCsnJSd9XCI+e3thdHRyLkRpc3BOYW1lfX06PC9wPlxyXG5cdFx0XHRcdFx0XHRcdDxwaWNrZXIgY2xhc3M9XCJzZWN0aW9uX2lwdXQgYXR0cl9maWVsZFwiIEBjaGFuZ2U9XCJvbmNoYW5nZVwiIDpyYW5nZT1cImF0dHIuZGljdGl0ZW1cIiByYW5nZS1rZXk9XCJDTl9TX05BTUVcIiA6ZGF0YS1pbmRleD1cImluZGV4XCIgOmRhdGEtaWluZGV4PVwiaWluZGV4XCIgOnN0eWxlPVwieyd3aWR0aCc6IGF0dHIuV2lkdGguc3BsaXQoJyUnKVswXSAtIGNsYXNzYXR0ci50aXRsZV9wX3dkaXRoIC0gKGF0dHIuTm90RW1wdHk9PScxJz8xMDo1KSArJyUnfVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwiXCI+e3sgYXR0ci5WYWx1ZSB9fTwvbGFiZWw+XHJcblx0XHRcdFx0XHRcdFx0PC9waWNrZXI+XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJpX3Rpc2hpXCIgdi1pZj1cImF0dHIuTm90RW1wdHk9PScxJ1wiPio8L2k+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZm9ybS1ncm91cFwiIHYtaWY9XCJhdHRyLlR5cGU9PSflvJXnlKjlr7nosaEo5Y2V5LiqKScgfHwgYXR0ci5UeXBlPT0n5byV55So5a+56LGhKOWkmuS4qiknXCIgOnN0eWxlPVwieydkaXNwbGF5JzphdHRyLmhpZGRlbiA9PSAnVHJ1ZSc/J25vbmUnOicnfVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSfkuIrkuIvluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0eF90aXRsZVwiPnt7YXR0ci5EaXNwTmFtZX19OjxpIGNsYXNzPVwiaV90aXNoaVwiIHYtaWY9XCJhdHRyLk5vdEVtcHR5PT0nMSdcIj4qPC9pPjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiIHYtaWY9XCJhdHRyLlR5cGU9PSflvJXnlKjlr7nosaEo5Y2V5LiqKSdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxhIEB0YXA9XCJjbGFzc0F0dHJfQWRkUmVmXCIgOmRhdGEtY2xhc3NpZD1cImF0dHIuUmVsQ2xzLnNwbGl0KCd8JylbMF1cIiA6ZGF0YS1jbGFzc25hbWU9XCJhdHRyLlJlbENscy5zcGxpdCgnfCcpWzFdXCIgPjxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtcGx1cy1jaXJjbGVcIj48L2k+PC9hPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCIgdi1pZj1cImF0dHIuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHBpY2tlciBjbGFzcz1cInNlbGVjdFwiIEBjaGFuZ2U9XCJjbGFzc0F0dHJfQWRkUmVmXCIgOnJhbmdlPVwiYXR0ci5SZWxDbHNMaXN0XCIgcmFuZ2Uta2V5PVwibmFtZVwiIDpkYXRhLWluZGV4PVwiaW5kZXhcIiA6ZGF0YS1paW5kZXg9XCJpaW5kZXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGxhYmVsIGNsYXNzPVwiXCI+e3sgYXR0ci5WYWx1ZSB9fTwvbGFiZWw+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3BpY2tlcj5cclxuXHRcdFx0XHRcdFx0XHRcdDxhIGNsYXNzPVwiY2xhc3NfYXR0cl9hZGRfcmVmXCI+PGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1wbHVzLWNpcmNsZVwiPjwvaT48L2E+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnd2lkdGgnOmF0dHIuV2lkdGh9XCIgZGlzYWJsZWQ9XCJ0cnVlXCIgPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJjbGFzc2F0dHIuY29udHJvbF9zdHlsZT09J+W3puWPs+W4g+WxgCdcIj5cclxuXHRcdFx0XHRcdFx0XHQ8cCBjbGFzcz1cInR4X3RpdGxlMlwiIDpzdHlsZT1cInsnd2lkdGgnOmNsYXNzYXR0ci50aXRsZV9wX3dkaXRoKyclJ31cIj57e2F0dHIuRGlzcE5hbWV9fTo8L3A+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJhdHRyX2ZpZWxkXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnd2lkdGgnOiBhdHRyLldpZHRoLnNwbGl0KCclJylbMF0gLSBjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCAtIChhdHRyLk5vdEVtcHR5PT0nMSc/MTA6NSkgLSA5ICsnJSd9XCIgZGlzYWJsZWQ9XCJ0cnVlXCIgPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0MlwiIHYtaWY9XCJhdHRyLlR5cGU9PSflvJXnlKjlr7nosaEo5Y2V5LiqKSdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxhIEB0YXA9XCJjbGFzc0F0dHJfQWRkUmVmXCIgOmRhdGEtY2xhc3NpZD1cImF0dHIuUmVsQ2xzLnNwbGl0KCd8JylbMF1cIiA6ZGF0YS1jbGFzc25hbWU9XCJhdHRyLlJlbENscy5zcGxpdCgnfCcpWzFdXCIgPjxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtcGx1cy1jaXJjbGVcIj48L2k+PC9hPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0MlwiIHYtaWY9XCJhdHRyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKSdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxwaWNrZXIgY2xhc3M9XCJzZWxlY3RcIiBAY2hhbmdlPVwiY2xhc3NBdHRyX0FkZFJlZlwiIDpyYW5nZT1cImF0dHIuUmVsQ2xzTGlzdFwiIHJhbmdlLWtleT1cIm5hbWVcIiA6ZGF0YS1pbmRleD1cImluZGV4XCIgOmRhdGEtaWluZGV4PVwiaWluZGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxsYWJlbCBjbGFzcz1cIlwiPnt7IGF0dHIuVmFsdWUgfX08L2xhYmVsPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9waWNrZXI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8YSBjbGFzcz1cImNsYXNzX2F0dHJfYWRkX3JlZlwiPjxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtcGx1cy1jaXJjbGVcIj48L2k+PC9hPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiaV90aXNoaVwiIHYtaWY9XCJhdHRyLk5vdEVtcHR5PT0nMSdcIj4qPC9pPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZvcm0tZ3JvdXBcIiB2LWlmPVwiYXR0ci5UeXBlPT0n5byV55So5Lq65ZGYJ1wiIDpzdHlsZT1cInsnZGlzcGxheSc6YXR0ci5oaWRkZW4gPT0gJ1RydWUnPydub25lJzonJ31cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cImNsYXNzYXR0ci5jb250cm9sX3N0eWxlPT0n5LiK5LiL5biD5bGAJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidHhfdGl0bGVcIj57e2F0dHIuRGlzcE5hbWV9fTo8aSBjbGFzcz1cImlfdGlzaGlcIiB2LWlmPVwiYXR0ci5Ob3RFbXB0eT09JzEnXCI+KjwvaT48L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxhIGNsYXNzPVwiY2xhc3NfYXR0cl9hZGRfcGVyXCIgQHRhcD1cImNsYXNzQXR0cl9BZGRQZXIoaW5kZXgsaWluZGV4KVwiPjxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtcGx1cy1jaXJjbGVcIj48L2k+PC9hPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIDp2YWx1ZT1cImF0dHIuVmFsdWVcIiA6c3R5bGU9XCJ7J3dpZHRoJzphdHRyLldpZHRofVwiIGRpc2FibGVkPVwidHJ1ZVwiID5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSflt6blj7PluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJ0eF90aXRsZTJcIiA6c3R5bGU9XCJ7J3dpZHRoJzpjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCsnJSd9XCI+e3thdHRyLkRpc3BOYW1lfX06PC9wPlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYXR0cl9maWVsZFwiIDp2YWx1ZT1cImF0dHIuVmFsdWVcIiA6c3R5bGU9XCJ7J3dpZHRoJzogYXR0ci5XaWR0aC5zcGxpdCgnJScpWzBdIC0gY2xhc3NhdHRyLnRpdGxlX3Bfd2RpdGggLSAoYXR0ci5Ob3RFbXB0eT09JzEnPzEwOjUpIC0gOSArJyUnfVwiIGRpc2FibGVkPVwidHJ1ZVwiID5cclxuXHRcdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGV4dC1yaWdodDJcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxhIGNsYXNzPVwiY2xhc3NfYXR0cl9hZGRfcGVyXCIgQHRhcD1cImNsYXNzQXR0cl9BZGRQZXIoaW5kZXgsaWluZGV4KVwiPjxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtcGx1cy1jaXJjbGVcIj48L2k+PC9hPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiaV90aXNoaVwiIHYtaWY9XCJhdHRyLk5vdEVtcHR5PT0nMSdcIj4qPC9pPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZvcm0tZ3JvdXBcIiB2LWlmPVwiYXR0ci5UeXBlPT0n5byV55So6aG555uuJ1wiIDpzdHlsZT1cInsnZGlzcGxheSc6YXR0ci5oaWRkZW4gPT0gJ1RydWUnPydub25lJzonJ31cIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cImNsYXNzYXR0ci5jb250cm9sX3N0eWxlPT0n5LiK5LiL5biD5bGAJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidHhfdGl0bGVcIj57e2F0dHIuRGlzcE5hbWV9fTo8aSBjbGFzcz1cImlfdGlzaGlcIiB2LWlmPVwiYXR0ci5Ob3RFbXB0eT09JzEnXCI+KjwvaT48L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjbGFzc19hdHRyX2FkZF9wcmpcIiBAdGFwPVwiY2xhc3NBdHRyX0FkZFByaihpbmRleCxpaW5kZXgpXCI+PGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1wbHVzLWNpcmNsZVwiPjwvaT48L2E+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwiYXR0ci5WYWx1ZVwiIDpzdHlsZT1cInsnd2lkdGgnOmF0dHIuV2lkdGh9XCIgZGlzYWJsZWQ9XCJ0cnVlXCIgPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJjbGFzc2F0dHIuY29udHJvbF9zdHlsZT09J+W3puWPs+W4g+WxgCdcIj5cclxuXHRcdFx0XHRcdFx0XHQ8cCBjbGFzcz1cInR4X3RpdGxlMlwiIDpzdHlsZT1cInsnd2lkdGgnOmNsYXNzYXR0ci50aXRsZV9wX3dkaXRoKyclJ31cIj57e2F0dHIuRGlzcE5hbWV9fTo8L3A+XHJcblx0XHRcdFx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJhdHRyX2ZpZWxkXCIgOnZhbHVlPVwiYXR0ci5WYWx1ZVwiIDpzdHlsZT1cInsnd2lkdGgnOiBhdHRyLldpZHRoLnNwbGl0KCclJylbMF0gLSBjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCAtIChhdHRyLk5vdEVtcHR5PT0nMSc/MTA6NSkgLSA5ICsnJSd9XCIgZGlzYWJsZWQ9XCJ0cnVlXCIgPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0MlwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGEgY2xhc3M9XCJjbGFzc19hdHRyX2FkZF9wcmpcIiBAdGFwPVwiY2xhc3NBdHRyX0FkZFByaihpbmRleCxpaW5kZXgpXCI+PGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1wbHVzLWNpcmNsZVwiPjwvaT48L2E+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJpX3Rpc2hpXCIgdi1pZj1cImF0dHIuTm90RW1wdHk9PScxJ1wiPio8L2k+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZm9ybS1ncm91cFwiIHYtaWY9XCJhdHRyLlR5cGU9PSfnvJbnoIEnXCIgOnN0eWxlPVwieydkaXNwbGF5JzphdHRyLmhpZGRlbiA9PSAnVHJ1ZSc/J25vbmUnOicnfVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSfkuIrkuIvluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0eF90aXRsZVwiPnt7YXR0ci5EaXNwTmFtZX19OjxpIGNsYXNzPVwiaV90aXNoaVwiIHYtaWY9XCJhdHRyLk5vdEVtcHR5PT0nMSdcIj4qPC9pPjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiA6ZGF0YS1pbmRleD1cImluZGV4XCIgOmRhdGEtaWluZGV4PVwiaWluZGV4XCIgOnN0eWxlPVwieyd3aWR0aCc6YXR0ci5XaWR0aH1cIiA6cmVhZG9ubHk9XCJhdHRyLmVkaXQ9PSdGbGFzZSc/dHJ1ZTpmYWxzZVwiID5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSflt6blj7PluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHAgY2xhc3M9XCJ0eF90aXRsZTJcIiA6c3R5bGU9XCJ7J3dpZHRoJzpjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCsnJSd9XCI+e3thdHRyLkRpc3BOYW1lfX06PC9wPlxyXG5cdFx0XHRcdFx0XHRcdDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYXR0cl9maWVsZFwiIDpkYXRhLWluZGV4PVwiaW5kZXhcIiA6ZGF0YS1paW5kZXg9XCJpaW5kZXhcIiA6c3R5bGU9XCJ7J3dpZHRoJzogYXR0ci5XaWR0aC5zcGxpdCgnJScpWzBdIC0gY2xhc3NhdHRyLnRpdGxlX3Bfd2RpdGggLSAoYXR0ci5Ob3RFbXB0eT09JzEnPzEwOjUpICsnJSd9XCIgOnJlYWRvbmx5PVwiYXR0ci5lZGl0PT0nRmxhc2UnP3RydWU6ZmFsc2VcIiA+XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJpX3Rpc2hpXCIgdi1pZj1cImF0dHIuTm90RW1wdHk9PScxJ1wiPio8L2k+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZm9ybS1ncm91cFwiIHYtaWY9XCJhdHRyLlR5cGU9PSfnnIHluILljLonXCIgOnN0eWxlPVwieydkaXNwbGF5JzphdHRyLmhpZGRlbiA9PSAnVHJ1ZSc/J25vbmUnOicnfVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiY2xhc3NhdHRyLmNvbnRyb2xfc3R5bGU9PSfkuIrkuIvluIPlsYAnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0eF90aXRsZVwiPnt7YXR0ci5EaXNwTmFtZX19OjxpIGNsYXNzPVwiaV90aXNoaVwiIHYtaWY9XCJhdHRyLk5vdEVtcHR5PT0nMSdcIj4qPC9pPjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8cGlja2VyQWRkcmVzcyBjbGFzcz1cImRhdGVfaXB1dFwiIEBjaGFuZ2U9XCJhZGRyZXNzY2hhbmdlXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnd2lkdGgnOmF0dHIuV2lkdGh9XCIgPnt7YXR0ci5WYWx1ZX19PC9waWNrZXJBZGRyZXNzPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJjbGFzc2F0dHIuY29udHJvbF9zdHlsZT09J+W3puWPs+W4g+WxgCdcIj5cclxuXHRcdFx0XHRcdFx0XHQ8cCBjbGFzcz1cInR4X3RpdGxlMlwiIDpzdHlsZT1cInsnd2lkdGgnOmNsYXNzYXR0ci50aXRsZV9wX3dkaXRoKyclJ31cIj57e2F0dHIuRGlzcE5hbWV9fTo8L3A+XHJcblx0XHRcdFx0XHRcdFx0PHBpY2tlckFkZHJlc3MgY2xhc3M9XCJkYXRlX2lwdXQgYXR0cl9maWVsZFwiIEBjaGFuZ2U9XCJhZGRyZXNzY2hhbmdlXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiIDpkYXRhLWlpbmRleD1cImlpbmRleFwiIDpzdHlsZT1cInsnd2lkdGgnOiBhdHRyLldpZHRoLnNwbGl0KCclJylbMF0gLSBjbGFzc2F0dHIudGl0bGVfcF93ZGl0aCAtIChhdHRyLk5vdEVtcHR5PT0nMSc/MTA6NSkgKyclJ31cIj57e2F0dHIuVmFsdWV9fTwvcGlja2VyQWRkcmVzcz5cclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImlfdGlzaGlcIiB2LWlmPVwiYXR0ci5Ob3RFbXB0eT09JzEnXCI+KjwvaT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHJcblx0XHRcdFxyXG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgQHRhcD1cInNhdmFcIiBjbGFzcz1cImJ0bl9hZGRcIj7mlrDlop48L2J1dHRvbj5cclxuXHRcdDwvdmlldz5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+IFxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgcGlja2VyQWRkcmVzcyBmcm9tICcuLi8uLi9qcy9waWNrZXJBZGRyZXNzL3BpY2tlckFkZHJlc3MudnVlJ1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuICAgICAgICAgICAgcGlja2VyQWRkcmVzc1xyXG4gICAgICAgIH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHRpdGxlOiAn5paw5aKeJyxcclxuXHRcdFx0XHRwYXJhbTp7fSxcclxuXHRcdFx0XHRjbGFzc0F0dHJMaXN0OltdLFxyXG5cdFx0XHRcdGNsYXNzR3JpZFN0eWxlOltdLFxyXG5cdFx0XHRcdGVkaXRfaW5pdGFsX2V2ZW50OlwiXCIsICAvL+W8ueeql+WIneWni+WMluS6i+S7tklEXHJcblx0XHRcdFx0ZWRpdF9va19ldmVudDpcIlwiLCAgICAgIC8v5by556qX54K55Ye7T0sg6Kem5Y+R5LqL5Lu2SURcclxuXHRcdFx0XHRlZGl0X3NlbGVjdF9jb21wb3NlX2V2ZW50OlwiXCIsICAvL+mAieaLqee7hOaIkOWvueixoeaXtuiwg+eUqFxyXG5cdFx0XHRcdGVkaXRfY29tcG9zZV9jbHNfaWQ6XCJcIixcclxuXHRcdFx0XHRnbG9iYWxfYXR0cjpbXSxcclxuXHRcdFx0XHRyZWZkYXRhc3RvcmU6IFtdLFx0ICAgLy/lvJXnlKjmlbDmja7lrZjlgqjljLovLyB7YXR0cjonR19QUkpfJyArIGJpbmRhdHRyICsgJ19JRCcsIHZhbHVlOmluZm8uaWR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQob3B0aW9ucykge1xyXG5cdFx0XHR2YXIgcGFyYW0gPSBKU09OLnBhcnNlKG9wdGlvbnMucGFyYW0pO1xyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhwYXJhbSk7XHJcblx0XHRcdHRoaXMuJGRhdGEucGFyYW0gPSBwYXJhbTtcclxuXHRcdFx0dmFyIGVkaXRfZGxnID0ge1xyXG5cdFx0XHQgICAgTW9kZWw6ICBwYXJhbS5FZGl0RGxnTW9kZSxcclxuXHRcdFx0ICAgIE5hbWU6ICBwYXJhbS5FZGl0X2RsZy5OYW1lXHJcblx0XHRcdH1cclxuXHRcdFx0dmFyIGRhdGFJbmZvID0ge1xyXG5cdFx0XHRcdGNsYXNzX2lkOiBwYXJhbS5jbHNpZFxyXG5cdFx0XHR9O1xyXG5cdFx0XHR2YXIgJHRoaXMgPSB0aGlzO1xyXG5cdFx0XHQkdGhpcy4kc3RvcmUuc3RhdGUudGhpc2FyZWFGdW5jSUQgPSBwYXJhbS5jbHNpZDtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coJHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Y2xhc3NBdHRyTGlzdCk7XHJcblx0XHRcdCAvL+iOt+WPllxyXG5cdFx0XHRpZigkdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRjbGFzc0F0dHJMaXN0KXtcclxuXHRcdFx0IFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdCA9ICR0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldGNsYXNzQXR0ckxpc3QuZGF0YTtcclxuXHRcdFx0XHQkdGhpcy5jbGFzc0dyaWRTdHlsZUluZm8oKTtcclxuXHRcdFx0fWVsc2VcclxuXHRcdFx0XHQkdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2NsYXNzQXR0ckxpc3QnLGRhdGFJbmZvKS50aGVuKHN1Y2Nlc3M9PntcclxuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xyXG5cdFx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0ID0gc3VjY2Vzcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0JHRoaXMuY2xhc3NHcmlkU3R5bGVJbmZvKCk7XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68xXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68xLjFcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHJcblx0XHRcdFxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0YXN5bmMgY2xhc3NHcmlkU3R5bGVJbmZvKCl7XHJcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcclxuXHRcdFx0XHR2YXIgZ3JpZHN0eWxlSW5mbyA9IHtcclxuXHRcdFx0XHRcdGNsYXNzX2lkOiAkdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcclxuXHRcdFx0XHRcdG5hbWU6ICR0aGlzLiRkYXRhLnBhcmFtLkVkaXRfZGxnLk5hbWUsXHJcblx0XHRcdFx0XHR0eXBlOiAnMidcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdCR0aGlzLiRzdG9yZS5zdGF0ZS50aGlzRWRpdE5hbWUgPSAkdGhpcy4kZGF0YS5wYXJhbS5FZGl0X2RsZy5OYW1lXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coJHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Y2xhc3NHcmlkU3R5bGVJbmZvKTtcclxuXHRcdFx0XHQgLy/ojrflj5ZcclxuXHRcdFx0XHRpZigkdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRjbGFzc0dyaWRTdHlsZUluZm8pe1xyXG5cdFx0XHRcdCBcdCR0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlID0gJHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Y2xhc3NHcmlkU3R5bGVJbmZvLmRhdGE7XHJcblx0XHRcdFx0XHQkdGhpcy5jbGFzc19hdHRyX2luaXQoKTtcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdC8vY29uc29sZS5sb2coZ3JpZHN0eWxlSW5mbyk7XHJcblx0XHRcdFx0XHQkdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2NsYXNzR3JpZFN0eWxlSW5mbycsZ3JpZHN0eWxlSW5mbykudGhlbihzdWNjZXNzPT57XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xyXG5cdFx0XHRcdFx0XHRpZiAoc3VjY2Vzcy5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0c3VjY2Vzcy5kYXRhLlN0eWxlRGVmID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEuU3R5bGVEZWYpO1xyXG5cdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlID0gc3VjY2Vzcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdCR0aGlzLmNsYXNzX2F0dHJfaW5pdCgpO1xyXG5cdFx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzEuMlwiLGNvbnRlbnQ6c3VjY2Vzcy5tc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pLmNhdGNoKGV4PT57XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGV4KTtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68xLjNcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0b250YXAoZSl7IC8v5omr56CB5Yqf6IO9XHJcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhlLnRhcmdldClcclxuXHRcdFx0XHRnZXRBcHAoKS5vblNjYW4oKHJlc3VsdCk9PntcclxuXHRcdFx0XHRcdC8vY29uc29sZS5sb2cocmVzdWx0LmRlY29kZWRhdGEpO1xyXG5cdFx0XHRcdFx0dGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLlZhbHVlPXJlc3VsdC5kZWNvZGVkYXRhO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdG9uYXJyb3coaW5kZXgsb3Blbil7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coaW5kZXgrJy0tJytvcGVuKTtcclxuXHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbaW5kZXhdLk9wZW49b3Blbj09dHJ1ZT9mYWxzZTp0cnVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRvbmRhdGVUaW1lKGUpIHtcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKGUudGFyZ2V0KVxyXG5cdFx0XHRcdHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT1lLnRhcmdldC52YWx1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0b25jaGFuZ2UoZSkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUudGFyZ2V0KTtcclxuXHRcdFx0XHR2YXIgdmFsdWU9dGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLmRpY3RpdGVtW2UudGFyZ2V0LnZhbHVlXTtcclxuXHRcdFx0XHR2YXIgZGF0YV9hdHRyID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGRhdGFfYXR0cik7XHJcblx0XHRcdFx0aWYgKHZhbHVlLk5hbWUgIT0gZGF0YV9hdHRyLlZhbHVlKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9dmFsdWUuTmFtZTtcclxuXHRcdFx0XHRcdHZhciBldmVudGlkID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLmFjdGlvbjtcclxuXHRcdFx0XHRcdGlmIChldmVudGlkKSB7XHJcblx0XHRcdFx0ICAgICAgICAvLyBzZWxmLmV2ZW50X25vX3N1YiA9IDE7XHJcblx0XHRcdFx0ICAgICAgICB2YXIgcmVxPVtdO1xyXG5cdFx0XHRcdCAgICAgICAgdmFyIGF0dHJsaXN0ID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0O1xyXG5cdFx0XHRcdCAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdCAgICAgICAgXHR2YXIgYXR0ciA9IGF0dHJsaXN0W2ldLkF0dHI7XHJcblx0XHRcdFx0ICAgICAgICBcdGZvciAodmFyIGogPSAwOyBqIDwgYXR0ci5sZW5ndGg7IGorKykge1xyXG5cdFx0XHRcdCAgICAgICAgXHRcdHZhciBhciA9IGF0dHJbal07XHJcblx0XHRcdFx0ICAgICAgICBcdFx0aWYoYXIuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJylcclxuXHRcdFx0XHQgICAgICAgIFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+3JykgYXIuVmFsdWU9Jyc7XHJcblx0XHRcdFx0ICAgICAgICBcdFx0aWYoYXIuVHlwZT09J+W8leeUqOS6uuWRmCcgfHwgYXIuVHlwZT09J+W8leeUqOmhueebricpXHJcblx0XHRcdFx0ICAgICAgICBcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsSUQgP2FyLlZhbElEIDonJyB9KTtcclxuXHRcdFx0XHQgICAgICAgIFx0XHRlbHNlIGlmKGFyLlR5cGU9PSfluIPlsJTlgLwnKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWU/JzEnOicwJ30pO1xyXG5cdFx0XHRcdCAgICAgICAgXHRcdGVsc2VcclxuXHRcdFx0XHQgICAgICAgIFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZSA/YXIuVmFsdWUgOicnfSk7XHJcblx0XHRcdFx0ICAgICAgICBcdH1cclxuXHRcdFx0XHQgICAgICAgIH1cclxuXHRcdFx0XHQgICAgICAgIHZhciBpbmZvID0ge1xyXG5cdFx0XHRcdCAgICAgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXHJcblx0XHRcdFx0ICAgICAgICAgICAgZWR0eXBlOiBcIjBcIixcclxuXHRcdFx0XHQgICAgICAgICAgICBwcm9qZWN0aWQ6ICcnLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIHJjbHNpZDogJycsXHJcblx0XHRcdFx0ICAgICAgICAgICAgcm9iamlkOiAnJyxcclxuXHRcdFx0XHQgICAgICAgICAgICB1c2VybG9naW46ICcnLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIG9iamlkOiBcIlwiLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIGF0dHI6IHJlcSxcclxuXHRcdFx0XHQgICAgICAgIH1cclxuXHRcdFx0XHQgICAgICAgIHRoaXMuRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pO1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRvbmV2ZW50KGUpe1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUudGFyZ2V0KTtcclxuXHRcdFx0XHR2YXIgZGF0YV9hdHRyID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGRhdGFfYXR0cik7XHJcblx0XHRcdFx0aWYgKGUudGFyZ2V0LnZhbHVlICE9IGRhdGFfYXR0ci5WYWx1ZSkge1xyXG5cdFx0XHRcdFx0dGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLlZhbHVlPWUudGFyZ2V0LnZhbHVlO1xyXG5cdFx0XHRcdFx0dmFyIGV2ZW50aWQgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uYWN0aW9uO1xyXG5cdFx0XHRcdFx0aWYgKGV2ZW50aWQpIHtcclxuXHRcdFx0XHQgICAgICAgIC8vIHNlbGYuZXZlbnRfbm9fc3ViID0gMTtcclxuXHRcdFx0XHQgICAgICAgIHZhciByZXE9W107XHJcblx0XHRcdFx0ICAgICAgICB2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XHJcblx0XHRcdFx0ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJsaXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0ICAgICAgICBcdHZhciBhdHRyID0gYXR0cmxpc3RbaV0uQXR0cjtcclxuXHRcdFx0XHQgICAgICAgIFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0ICAgICAgICBcdFx0dmFyIGFyID0gYXR0cltqXTtcclxuXHRcdFx0XHQgICAgICAgIFx0XHRpZihhci5UeXBlPT0n5byV55So5a+56LGhKOWkmuS4qiknKVxyXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcclxuXHRcdFx0XHQgICAgICAgIFx0XHRpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcclxuXHRcdFx0XHQgICAgICAgIFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWxJRCA/YXIuVmFsSUQgOicnIH0pO1xyXG5cdFx0XHRcdCAgICAgICAgXHRcdGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXHJcblx0XHRcdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZT8nMSc6JzAnfSk7XHJcblx0XHRcdFx0ICAgICAgICBcdFx0ZWxzZVxyXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlID9hci5WYWx1ZSA6Jyd9KTtcclxuXHRcdFx0XHQgICAgICAgIFx0fVxyXG5cdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdCAgICAgICAgdmFyIGluZm8gPSB7XHJcblx0XHRcdFx0ICAgICAgICAgICAgZXZlbnRpZDogZXZlbnRpZCxcclxuXHRcdFx0XHQgICAgICAgICAgICBlZHR5cGU6IFwiMFwiLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIHByb2plY3RpZDogJycsXHJcblx0XHRcdFx0ICAgICAgICAgICAgcmNsc2lkOiAnJyxcclxuXHRcdFx0XHQgICAgICAgICAgICByb2JqaWQ6ICcnLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIHVzZXJsb2dpbjogJycsXHJcblx0XHRcdFx0ICAgICAgICAgICAgY2xzaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsXHJcblx0XHRcdFx0ICAgICAgICAgICAgb2JqaWQ6IFwiXCIsXHJcblx0XHRcdFx0ICAgICAgICAgICAgYXR0cjogcmVxLFxyXG5cdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdCAgICAgICAgdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbywgZGF0YV9hdHRyKTtcclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0b25jaGVjayhlKSB7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZS50YXJnZXQpO1xyXG5cdFx0XHRcdHZhciBpc2NoZWNrZWQgPSBlLnRhcmdldC5kYXRhc2V0LmlzY2hlY2s/ZmFsc2U6dHJ1ZTtcclxuXHRcdFx0XHR2YXIgZGF0YV9hdHRyID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGRhdGFfYXR0cik7XHJcblx0XHRcdFx0aWYgKGlzY2hlY2tlZCAhPSBkYXRhX2F0dHIuVmFsdWUpIHtcclxuXHRcdFx0XHRcdHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT1pc2NoZWNrZWQ7XHJcblx0XHRcdFx0XHR2YXIgZXZlbnRpZCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5hY3Rpb247XHJcblx0XHRcdFx0XHRpZiAoZXZlbnRpZCkge1xyXG5cdFx0XHRcdCAgICAgICAgLy8gc2VsZi5ldmVudF9ub19zdWIgPSAxO1xyXG5cdFx0XHRcdCAgICAgICAgdmFyIHJlcT1bXTtcclxuXHRcdFx0XHQgICAgICAgIHZhciBhdHRybGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdDtcclxuXHRcdFx0XHQgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmxpc3QubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHQgICAgICAgIFx0dmFyIGF0dHIgPSBhdHRybGlzdFtpXS5BdHRyO1xyXG5cdFx0XHRcdCAgICAgICAgXHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcclxuXHRcdFx0XHQgICAgICAgIFx0XHR2YXIgYXIgPSBhdHRyW2pdO1xyXG5cdFx0XHRcdCAgICAgICAgXHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXHJcblx0XHRcdFx0ICAgICAgICBcdFx0XHRpZihhci5WYWx1ZT09J+ivtycpIGFyLlZhbHVlPScnO1xyXG5cdFx0XHRcdCAgICAgICAgXHRcdGlmKGFyLlR5cGU9PSflvJXnlKjkurrlkZgnIHx8IGFyLlR5cGU9PSflvJXnlKjpobnnm64nKVxyXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbElEID9hci5WYWxJRCA6JycgfSk7XHJcblx0XHRcdFx0ICAgICAgICBcdFx0ZWxzZSBpZihhci5UeXBlPT0n5biD5bCU5YC8JylcclxuXHRcdFx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlPycxJzonMCd9KTtcclxuXHRcdFx0XHRcdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlID9hci5WYWx1ZSA6Jyd9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdCAgICAgICAgXHR9XHJcblx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgICB2YXIgaW5mbyA9IHtcclxuXHRcdFx0XHQgICAgICAgICAgICBldmVudGlkOiBldmVudGlkLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIGVkdHlwZTogXCIwXCIsXHJcblx0XHRcdFx0ICAgICAgICAgICAgcHJvamVjdGlkOiAnJyxcclxuXHRcdFx0XHQgICAgICAgICAgICByY2xzaWQ6ICcnLFxyXG5cdFx0XHRcdCAgICAgICAgICAgIHJvYmppZDogJycsXHJcblx0XHRcdFx0ICAgICAgICAgICAgdXNlcmxvZ2luOiAnJyxcclxuXHRcdFx0XHQgICAgICAgICAgICBjbHNpZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcclxuXHRcdFx0XHQgICAgICAgICAgICBvYmppZDogXCJcIixcclxuXHRcdFx0XHQgICAgICAgICAgICBhdHRyOiByZXEsXHJcblx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgICB0aGlzLkRhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvKTtcclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0YWRkcmVzc2NoYW5nZShlKSB7XHJcblx0XHRcdCAgICAvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XHJcblx0XHRcdCAgICBjb25zb2xlLmxvZyhlLmRhdGEuam9pbignOycpKVxyXG5cdFx0XHRcdHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT1lLmRhdGEuam9pbignOycpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbGFzc0F0dHJfZXh0QnV0dG9uKGluZGV4LGlpbmRleCl7XHJcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcclxuXHRcdFx0XHR2YXIgYmVmb3JlX2NsaWNrX2J1dHRvbiA9ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbaW5kZXhdLkF0dHJbaWluZGV4XS5iZWZvcmVfY2xpY2tfYnV0dG9uO1xyXG5cdFx0XHRcdHZhciBidXR0b25fY2FsbGJhY2sgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2luZGV4XS5BdHRyW2lpbmRleF0uYnV0dG9uX2NhbGxiYWNrO1xyXG5cdFx0XHRcdGlmKCFiZWZvcmVfY2xpY2tfYnV0dG9uKXtcclxuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcImJlZm9yZV9jbGlja19idXR0b24tZXZlbnRfaWTkuLrnqbrvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYoIWJ1dHRvbl9jYWxsYmFjayl7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6XCJidXR0b25fY2FsbGJhY2stZXZlbnRfaWTkuLrnqbrvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dmFyIGRhdGFfYXR0ciA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtpbmRleF0uQXR0cltpaW5kZXhdO1xyXG5cdFx0XHRcdHRoaXMuRGF0YU9ialJ1bkN1c3RvbUV2ZW50X1JldHVybihiZWZvcmVfY2xpY2tfYnV0dG9uLCBkYXRhX2F0dHIsIGJ1dHRvbl9jYWxsYmFjaywgaW5kZXgsaWluZGV4KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2xhc3NBdHRyX0FkZFBlcihpbmRleCxpaW5kZXgpe1xyXG5cdFx0XHRcdHZhciBwYXJhbT17aW5kZXg6aW5kZXgsaWluZGV4OmlpbmRleH07XHJcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6Jy4uL3NlbHBzbi9pbmRleD9tdWxpdD1mYWxzZSZwYXJhbT0nK0pTT04uc3RyaW5naWZ5KHBhcmFtKSxcclxuXHRcdFx0XHRcdGV2ZW50czp7XHJcblx0XHRcdFx0XHRcdEFkZFBlcihkYXRhLHBhcmFtKXsgXHJcblx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocGFyYW0pO1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGRhdGEpO1xyXG5cdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5WYWx1ZT1kYXRhWzBdLk5hbWU7XHJcblx0XHRcdFx0XHRcdFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLlZhbElEPWRhdGFbMF0uTG9naW4rJzsnK2RhdGFbMF0uTmFtZTtcclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHR2YXIgZXZlbnRpZCA9ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5hY3Rpb247XHJcblx0XHRcdFx0XHRcdFx0aWYgKGV2ZW50aWQpIHtcclxuXHRcdFx0XHRcdFx0XHQgICAgZXZlbnRpZCA9IGV2ZW50aWQudHJpbSgpO1xyXG5cdFx0XHRcdFx0XHRcdCAgICBpZiAoZXZlbnRpZCkge1xyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgdmFyIGluZm8gPSB7XHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgZXZlbnRpZDogZXZlbnRpZCxcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBlZHR5cGU6IFwiNFwiLFxyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHByb2plY3RpZDogXCJcIixcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICByY2xzaWQ6IFwiXCIsXHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgcm9iamlkOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHVzZXJsb2dpbjogZGF0YVswXS5Mb2dpbixcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBjbHNpZDogJHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsXHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgb2JqaWQ6IFwiXCIsXHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgYXR0cjogW10sXHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgZGF0YV9hdHRyID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdO1xyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgJHRoaXMuRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pO1xyXG5cdFx0XHRcdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNsYXNzQXR0cl9BZGRSZWYoZSl7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coZS50YXJnZXQpO1xyXG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuatpOWKn+iDvei/mOacquWunueOsO+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdC8vIHZhciB2YWx1ZT10aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uUmVsQ2xzW2UudGFyZ2V0LnZhbHVlXTtcclxuXHRcdFx0XHQvLyB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9dmFsdWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNsYXNzQXR0cl9BZGRQcmooaW5kZXgsaWluZGV4KXtcclxuXHRcdFx0XHR2YXIgcGFyYW09e2luZGV4OmluZGV4LGlpbmRleDppaW5kZXh9O1xyXG5cdFx0XHRcdHZhciAkdGhpcyA9IHRoaXM7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOicuLi9zZWxQcmovaW5kZXg/cmVsYXRpb249LTEmcGFyYW09JytKU09OLnN0cmluZ2lmeShwYXJhbSksXHJcblx0XHRcdFx0XHRldmVudHM6e1xyXG5cdFx0XHRcdFx0XHRBZGRQZXIoZGF0YSxwYXJhbSl7IFxyXG5cdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHBhcmFtKTtcclxuXHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhkYXRhKTtcclxuXHRcdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uVmFsdWU9ZGF0YVswXS5OYW1lO1xyXG5cdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5WYWxJRD1kYXRhWzBdLklEKyc7JytkYXRhWzBdLk5hbWU7XHJcblx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0dmFyIGV2ZW50aWQgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uYWN0aW9uO1xyXG5cdFx0XHRcdFx0XHRcdGlmIChldmVudGlkKSB7XHJcblx0XHRcdFx0XHRcdFx0ICAgIGV2ZW50aWQgPSBldmVudGlkLnRyaW0oKTtcclxuXHRcdFx0XHRcdFx0XHQgICAgaWYgKGV2ZW50aWQpIHtcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgIHZhciBpbmZvID0ge1xyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWR0eXBlOiBcIjJcIixcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBwcm9qZWN0aWQ6IGRhdGFbMF0uSUQsXHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgcmNsc2lkOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHJvYmppZDogXCJcIixcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICB1c2VybG9naW46IFwiXCIsXHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgY2xzaWQ6ICR0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIG9iamlkOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGF0dHI6IFtdLFxyXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHQgICAgICAgIC8vIHZhciBkYXRhX2F0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF07XHJcblx0XHRcdFx0XHRcdFx0ICAgICAgICAkdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbyk7XHJcblx0XHRcdFx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2YSgpe1xyXG5cdFx0XHRcdGlmICh0aGlzLiRkYXRhLmVkaXRfb2tfZXZlbnQpXHJcblx0XHRcdFx0XHR0aGlzLk9LRGF0YU9ialJ1bkN1c3RvbUV2ZW50KCk7XHJcblx0XHRcdFx0ZWxzZVxyXG5cdFx0XHRcdFx0dGhpcy5hZGQoKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0YWRkKCl7XHJcblx0XHRcdFx0dmFyIHJlcT1bXTtcclxuXHRcdFx0XHR2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XHJcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0dmFyIGF0dHIgPSBhdHRybGlzdFtpXS5BdHRyO1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdHZhciBhciA9IGF0dHJbal07XHJcblx0XHRcdFx0XHRcdGlmKGFyLk5vdEVtcHR5PT0nMScpe1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDon5a2X5q6177yaJythci5OYW1lKyfvvIzlgLzkuI3og73kuLrnqbrvvIEnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZihhci5WYWx1ZT09J+ivt+mAieaLqScpIGFyLlZhbHVlPScnO1xyXG5cdFx0XHRcdFx0XHRpZihhci5UeXBlPT0n5byV55So5a+56LGhKOWkmuS4qiknKVxyXG5cdFx0XHRcdFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+3JykgYXIuVmFsdWU9Jyc7XHJcblx0XHRcdFx0ICAgICAgICBpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcclxuXHRcdFx0XHQgICAgICAgIFx0cmVxLnB1c2goeyBuYW1lOiBhci5OYW1lLCB2YWx1ZTogYXIuVmFsSUQgP2FyLlZhbElEIDonJyB9KTtcclxuXHRcdFx0XHQgICAgICAgIGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXHJcblx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBuYW1lOiBhci5OYW1lLCB2YWx1ZTogYXIuVmFsdWU/JzEnOicwJ30pO1xyXG5cdFx0XHRcdFx0XHRlbHNlXHJcblx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBuYW1lOiBhci5OYW1lLCB2YWx1ZTogYXIuVmFsdWUgP2FyLlZhbHVlIDonJ30pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR2YXIgZW52aXJvbWVudCA9IHtcclxuXHRcdFx0XHQgICAgICdmdW5jdGlvbic6ICczMDAwJywgLy8g5Yqf6IO954K557yW5Y+3XHJcblx0XHRcdFx0ICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsICAgICAvLyDlip/og73ngrnkuLvmlbDmja7nsbvmoIfor4ZcclxuXHRcdFx0XHQgICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXHJcblx0XHRcdFx0ICAgICBidXR0b25fbmFtZTogJ+aWsOWinicsXHJcblx0XHRcdFx0ICAgICBtYXN0ZXI6IHtcclxuXHRcdFx0XHQgICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIFxyXG5cdFx0XHRcdCAgICAgfVxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0IFxyXG5cdFx0XHRcdHZhciBkYXRhSW5mbz17XHJcblx0XHRcdFx0ICAgIGNsYXNzX2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLCBkYXRhX29ial9pZDogJycsIG1hc3RlcmNsc2lkOiAnJyxcclxuXHRcdFx0XHQgICAgcmVxOiBKU09OLnN0cmluZ2lmeShyZXEpLCB1cGZpbGU6IEpTT04uc3RyaW5naWZ5KFtdKSwgcG9zdF9kYXRhOiBKU09OLnN0cmluZ2lmeSh7fSksXHJcblx0XHRcdFx0ICAgIGNvbXBvc2U6IEpTT04uc3RyaW5naWZ5KFtdKSwgcmVmZGF0YXN0b3JlOiBKU09OLnN0cmluZ2lmeShbXSksIGV4dGluZm86IEpTT04uc3RyaW5naWZ5KGVudmlyb21lbnQpLCBcclxuXHRcdFx0XHRcdG5vdF90cmlnZ2VyX3N5c19ldmVudDogJydcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGRhdGFJbmZvKTtcclxuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnYWRkY2xhc3NhdHRyJyxkYXRhSW5mbykudGhlbihzdWNjZXNzPT57XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhzdWNjZXNzKTtcclxuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5jbGFzc19hdHRyX2luaXQoKTtcclxuXHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzVcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pLmNhdGNoKGV4PT57XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzUuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbGFzc19hdHRyX2luaXQoKXtcclxuXHRcdFx0XHR2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnNob3dfc3R5bGVcclxuXHRcdFx0XHR2YXIgbmV3YXR0cmxpc3QgPSBbXTtcclxuXHRcdFx0XHRpZiAodGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdCAgICAgICAgdmFyIG9wZW4gPSBhdHRybGlzdFtpXS5vcGVuO1xyXG5cdFx0XHRcdCAgICAgICAgdmFyIG5hbWUgPSBhdHRybGlzdFtpXS5hdHRyZ3JvdXBfbmFtZTtcclxuXHRcdFx0XHQgICAgICAgIHZhciBhdHRycyA9IGF0dHJsaXN0W2ldLmF0dHJzO1xyXG5cdFx0XHRcdCAgICAgICAgZm9yICh2YXIgcyA9IDA7IHMgPCB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoOyBzKyspIHtcclxuXHRcdFx0XHQgICAgICAgICAgICB2YXIgY2xzYXR0ciA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtzXTtcclxuXHRcdFx0XHQgICAgICAgICAgICBpZiAobmFtZSA9PSBjbHNhdHRyLk5hbWUpIHtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgdmFyIGF0dHIgPSBbXTtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhdHRycy5sZW5ndGg7IGorKykge1xyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBjbHNhdHRyLkF0dHIubGVuZ3RoOyBsKyspIHtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2EgPSBjbHNhdHRyLkF0dHJbbF07XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF0dHJzW2pdLmF0dHIgPT0gY2EuTmFtZSkge1xyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5hY3Rpb24gPSBhdHRyc1tqXS5hY3Rpb247XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmVkaXQgPSBhdHRyc1tqXS5lZGl0O1xyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5ub3RlbXB0eSA9IGF0dHJzW2pdLm5vdGVtcHR5O1xyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5leHRfYnV0dG9uID0gYXR0cnNbal0uZXh0X2J1dHRvbjtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2EuYnV0dG9uX2ltZyA9IGF0dHJzW2pdLmJ1dHRvbl9pbWc7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmJ1dHRvbl90b29sdGlwID0gYXR0cnNbal0uYnV0dG9uX3Rvb2x0aXA7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmJlZm9yZV9jbGlja19idXR0b24gPSBhdHRyc1tqXS5iZWZvcmVfY2xpY2tfYnV0dG9uO1xyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5idXR0b25fY2FsbGJhY2sgPSBhdHRyc1tqXS5idXR0b25fY2FsbGJhY2s7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmhpZGRlbiA9IGF0dHJzW2pdLmhpZGRlbjtcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci5wdXNoKGNhKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmKGNhLmRpY3RpdGVtKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGRpY3RpdGVtPWNhLmRpY3RpdGVtO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgZGljdGl0ZW1saXN0PVtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBmb3IgKHZhciBkID0gMDsgZCA8IGRpY3RpdGVtLmxlbmd0aDsgZCsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0ZGljdGl0ZW1saXN0LnB1c2goZGljdGl0ZW1bZF0uQ05fU19OQU1FKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBjYS5kaWN0aXRlbWxpc3QgPSBkaWN0aXRlbWxpc3Q7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNhLlZhbHVlID0gY2EuZGljdGl0ZW1bMF0uQ05fU19OQU1FO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoY2EuVHlwZT09J+aXpeacnycgfHwgY2EuVHlwZT09J+aXtumXtCcpe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgbm93RGF0ZSA9IG5ldyBEYXRlKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBkYXRlID0ge3llYXI6IG5vd0RhdGUuZ2V0RnVsbFllYXIoKSxtb250aDogbm93RGF0ZS5nZXRNb250aCgpICsgMSxkYXk6IG5vd0RhdGUuZ2V0RGF0ZSgpfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjYS5WYWx1ZSA9IGRhdGUueWVhciArICctJyArIChkYXRlLm1vbnRoID49IDEwID8gZGF0ZS5tb250aCA6ICcwJyArIGRhdGUubW9udGgpICsgJy0nICsgKGRhdGUuZGF5ID49IDEwID8gZGF0ZS5kYXkgOiAnMCcgKyBkYXRlLmRheSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZihjYS5UeXBlPT0n5byV55So5a+56LGhKOWkmuS4qiknKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIHJlbENsc0xpc3Q9W107XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBhdHRyX3Jlc2NscyA9IGNhLlJlbENscy5zcGxpdCgnLCcpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3IodmFyIGlpIGluIGF0dHJfcmVzY2xzKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgcmVzY2xzID0gYXR0cl9yZXNjbHNbaWldLnNwbGl0KCd8Jyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmVsQ2xzTGlzdC5wdXNoKHtpZDpyZXNjbHNbMF0sbmFtZTpyZXNjbHNbMV19KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjYS5SZWxDbHNMaXN0ID0gcmVsQ2xzTGlzdDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2EuVmFsdWUgPSAn6K+3JztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmKGNhLlR5cGU9PSfnnIHluILljLonKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjYS5WYWx1ZSA9ICfor7fpgInmi6knO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoY2EuVHlwZT09J+W4g+WwlOWAvCcpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNhLlZhbHVlID0gZmFsc2U7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgIG5ld2F0dHJsaXN0LnB1c2goe1xyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgQmtDb2xvcjogY2xzYXR0ci5Ca0NvbG9yLFxyXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgSGFzQWNlOiBjbHNhdHRyLkhhc0FjZSxcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIEltZ0ZvbnRTdHlsZTogY2xzYXR0ci5JbWdGb250U3R5bGUsXHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBOYW1lOiBjbHNhdHRyLk5hbWUsXHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBPcmRlcjogY2xzYXR0ci5PcmRlcixcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIE9wZW46IG9wZW4sXHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBBdHRyOiBhdHRyLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb250cm9sX3N0eWxlOnRoaXMuJGRhdGEuY2xhc3NHcmlkU3R5bGUuU3R5bGVEZWYuY29udHJvbF9zdHlsZSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGVfcF93ZGl0aDp0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnRpdGxlX3Bfd2RpdGhcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgfSlcclxuXHRcdFx0XHQgICAgICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHQgICAgaWYgKG5ld2F0dHJsaXN0Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHQgICAgICAgIHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdCA9IG5ld2F0dHJsaXN0O1xyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0XHR2YXIgcmVxPVtdO1xyXG5cdFx0XHRcdCAgICBpZiAodGhpcy4kZGF0YS5jbGFzc0dyaWRTdHlsZS5TdHlsZURlZikge1xyXG5cdFx0XHRcdCAgICAgICAgIGlmICh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnNob3dfc3R5bGUubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdCAgICAgICAgICAgIHZhciBhdHRybGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NHcmlkU3R5bGUuU3R5bGVEZWYuc2hvd19zdHlsZVxyXG5cdFx0XHRcdCAgICAgICAgICAgIC8vICRlbC5maW5kKCcuYXR0cl9maWVsZCcpLnByb3AoJ3JlYWRvbmx5JywgdHJ1ZSk7XHJcblx0XHRcdFx0ICAgICAgICAgICAgLy8gJGVsLmZpbmQoJy5hdHRyX2ZpZWxkJykucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTtcclxuXHRcdFx0XHQgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJsaXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgIHZhciBhdHRyID0gYXR0cmxpc3RbaV0uYXR0cnNcclxuXHRcdFx0XHQgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICB2YXIgYXIgPSBhdHRyW2pdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLmF0dHIsIHZhbDogYXIudmFsdWU/YXIudmFsdWU6JycgfSk7XHJcblx0XHRcdFx0ICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHQgICAgICAgICAgICB9XHJcblx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0dmFyIGV2ZW50bGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NHcmlkU3R5bGUuU3R5bGVEZWYuZXZlbnQ7XHJcblx0XHRcdFx0XHRpZiAoZXZlbnRsaXN0KSB7XHJcblx0XHRcdFx0XHQgICAgaWYgKGV2ZW50bGlzdC5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHQgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRsaXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICBpZiAoZXZlbnRsaXN0W2ldLmV2ZW50X2lkID09ICdiZWZvcmVfb2snKSB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5lZGl0X29rX2V2ZW50ID0gZXZlbnRsaXN0W2ldO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgfSBlbHNlIGlmIChldmVudGxpc3RbaV0uZXZlbnRfaWQgPT0gJ2luaXRpYWwnKSB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5lZGl0X2luaXRhbF9ldmVudCA9IGV2ZW50bGlzdFtpXTtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnRsaXN0W2ldLmV2ZW50X2lkID09ICdiZWZvcmVfc2VsZWN0X2NvbXBvc2UnKSB7XHJcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5lZGl0X3NlbGVjdF9jb21wb3NlX2V2ZW50ID0gZXZlbnRsaXN0W2ldLnNjcmlwX2lkO1xyXG5cdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRoaXMuJGRhdGEuZWRpdF9jb21wb3NlX2Nsc19pZCA9IGV2ZW50bGlzdFtpXS5jb21wb3NlX2Nsc19pZDtcclxuXHRcdFx0XHRcdCAgICAgICAgICAgIH1cclxuXHRcdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXEpO1xyXG5cdFx0XHRcdFx0aWYgKHRoaXMuJGRhdGEuZWRpdF9pbml0YWxfZXZlbnQpIHtcclxuXHRcdFx0XHRcdCAgICB2YXIgZXZlbnRpZCA9IHRoaXMuJGRhdGEuZWRpdF9pbml0YWxfZXZlbnQuc2NyaXBfaWQ7XHJcblx0XHRcdFx0XHQgICAgdmFyIGluZm8gPSB7XHJcblx0XHRcdFx0XHQgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXHJcblx0XHRcdFx0XHQgICAgICAgIGVkdHlwZTogXCIwXCIsXHJcblx0XHRcdFx0XHQgICAgICAgIHByb2plY3RpZDogJycsXHJcblx0XHRcdFx0XHQgICAgICAgIHJjbHNpZDogJycsXHJcblx0XHRcdFx0XHQgICAgICAgIHJvYmppZDogJycsXHJcblx0XHRcdFx0XHQgICAgICAgIHVzZXJsb2dpbjogJycsXHJcblx0XHRcdFx0XHQgICAgICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxyXG5cdFx0XHRcdFx0ICAgICAgICBvYmppZDogXCJcIixcclxuXHRcdFx0XHRcdCAgICAgICAgYXR0cjogcmVxLFxyXG5cdFx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHRcdCAgICB0aGlzLmluaV9EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlKTtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdCk7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLmj5DnpLpcIixjb250ZW50Olwi5pyq5om+5Yiw5Y+v5pi+56S655qE55qE5bGe5oCnXCIsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbmlfRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pe1xyXG5cdFx0XHRcdHZhciBwYXJhbSA9IHtcclxuXHRcdFx0XHQgICAgRWRpdFN0eWxlOiB0aGlzLiRkYXRhLnBhcmFtLkVkaXRfZGxnLk5hbWUsXHJcblx0XHRcdFx0ICAgIFZpZXdTdHlsZTogdGhpcy4kZGF0YS5wYXJhbS5FZGl0X2RsZy5OYW1lLFxyXG5cdFx0XHRcdCAgICBOb3RUcmlnZ2VyU3lzRXZlbnQ6IDAsXHJcblx0XHRcdFx0ICAgIGVudmlyb21lbnQ6IHtcclxuXHRcdFx0XHQgICAgICAgICdmdW5jdGlvbic6ICczMDAwJywgLy8g5Yqf6IO954K557yW5Y+3XHJcblx0XHRcdFx0ICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsICAgICAvLyDlip/og73ngrnkuLvmlbDmja7nsbvmoIfor4ZcclxuXHRcdFx0XHQgICAgICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXHJcblx0XHRcdFx0ICAgICAgICBidXR0b25fbmFtZTogJ+aWsOWinicsXHJcblx0XHRcdFx0ICAgICAgICBtYXN0ZXI6IHtcclxuXHRcdFx0XHQgICAgICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEY2xzX2lkXHJcblx0XHRcdFx0ICAgICAgICAgICAgLy9vYmpfaWQ6ICcnICAvLyBidXR0b249Ym90dG9t5pe2IG1hc3RlcueahG9ial9pZFxyXG5cdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHZhciBpbnB1dHBhcmFtZXRlciA9ICcnO1xyXG5cdFx0XHRcdHZhciBnbG9iYWxfYXR0ciA9ICcnO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHZhciBkYXRhSW5mbyA9IHtcclxuICAgICAgICAgICAgICAgICAgICBlZHR5cGU6IGluZm8uZWR0eXBlLCBldmVudGlkOiBpbmZvLmV2ZW50aWQsIHByb2plY3RpZDogaW5mby5wcm9qZWN0aWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcmNsc2lkOiBpbmZvLnJjbHNpZCwgcm9iamlkOiBpbmZvLnJvYmppZCwgdXNlcmxvZ2luOiBpbmZvLnVzZXJsb2dpbiwgY2xzaWQ6IGluZm8uY2xzaWQsIG9iamlkOiBpbmZvLm9iamlkLFxyXG4gICAgICAgICAgICAgICAgICAgIGF0dHI6IEpTT04uc3RyaW5naWZ5KGluZm8uYXR0ciksIGV4dGluZm86IEpTT04uc3RyaW5naWZ5KHBhcmFtKSwgaW5wdXRwYXJhbWV0ZXI6IGlucHV0cGFyYW1ldGVyLCBnbG9iYWxfYXR0cjogZ2xvYmFsX2F0dHJcclxuICAgICAgICAgICAgICAgIH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhSW5mbyk7XHJcblx0XHRcdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ0RhdGFPYmpSdW5DdXN0b21FdmVudEluZm8nLGRhdGFJbmZvKS50aGVuKHN1Y2Nlc3M9PntcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xyXG5cdFx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHR2YXIgZGF0YSA9IEpTT04ucGFyc2Uoc3VjY2Vzcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0dmFyIGFjdGlvbmxpc3QgPSBkYXRhLmFjdGlvbjtcclxuXHRcdFx0XHRcdFx0aWYgKGFjdGlvbmxpc3QpIHtcclxuXHRcdFx0XHRcdFx0ICAgIGZvciAodmFyIGogPSAwOyBqIDwgYWN0aW9ubGlzdC5sZW5ndGg7IGorKykge1xyXG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciBhY3Rpb24gPSBhY3Rpb25saXN0W2pdXHJcblx0XHRcdFx0XHRcdCAgICAgICAgdmFyIGFjdGlvbl90eXBlID0gYWN0aW9uLmFjdGlvbl90eXBlO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciB2YWx1ZSA9IGFjdGlvbi52YWx1ZTtcclxuXHRcdFx0XHRcdFx0ICAgICAgICBpZiAoYWN0aW9uX3R5cGUgPT0gJ3NldF9kbGdfYXR0cicpIHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgaWYgKHZhbHVlKSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICB2YXIgdmFsID0gdmFsdWU7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgdmFsID0gSlNPTi5wYXJzZSh2YWx1ZSk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codmFsKTtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsLmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBsID0gMDsgbCA8IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdC5BdHRyLmxlbmd0aDsgbCsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgdmFyIGNhID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0LkF0dHJbbF07XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgaWYgKHZhbFtpXS5hdHRyICA9PSBjYS5OYW1lKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIGNhLnZhbHVlID0gdmFsW2ldLnZhbHVlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgLy8gaWYgKCRlbF9hdHRyLmRhdGEoJ3R5cGUnKSA9PSAnYm9vbCcpIHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyAgICAgJGVsX2F0dHIucHJvcCgnY2hlY2tlZCcsIHZhbFtpXS52YWx1ZSA9PSAnWScgfHwgdmFsW2ldLnZhbHVlID09ICd5JyB8fCB2YWxbaV0udmFsdWUgPT0gJzEnKVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyBlbHNlIHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKHZhbFtpXS5jaG9pY2VfbGlzdCkge1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgJGVsX2F0dHIuZW1wdHkoKTtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIHZhbFtpXS5jaG9pY2VfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0KSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgJGVsX2F0dHIuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPVwiJyArIGxpc3QgKyAnXCI+JyArIGxpc3QgKyAnPC9vcHRpb24+Jyk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICB9KVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgLy8gICAgICRlbF9hdHRyLnZhbCh2YWxbaV0udmFsdWUpO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyAkZWxfYXR0ci5kYXRhKCd2YWwnLCB2YWxbaV0udmFsdWUpO1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgdmFyIGxlbmd0aCA9IDA7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbFtpXS5hdHRyID09IHMuYXR0clxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIH0pLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSAxO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5wdXNoKHZhbFtpXSk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIGlmIChsZW5ndGggPT0gMCkge1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0uYXR0ciA9PSB2YWxbaV0uYXR0cikge1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2pdLnZhbHVlID0gdmFsW2ldLnZhbHVlO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB9XHJcblx0XHRcdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgICAgIGlmIChhY3Rpb25fdHlwZSA9ICdvcGVuX3NlbGVjdF91c2VyZGxnJykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzIuMlwiLGNvbnRlbnQ6XCJvcGVuX3NlbGVjdF91c2VyZGxn6L+Z5LiqYWN0aW9uX3R5cGXov5jmnKrlpITnkIbvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68yXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68yLjFcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdCAgICBEYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbyxkYXRhX2F0dHIpe1xyXG5cdFx0XHRcdHZhciAkdGhpcyA9IHRoaXM7XHJcblx0XHQgICAgXHR2YXIgZW52aXJvbWVudCA9IHtcclxuXHRcdCAgICBcdCAgICAnZnVuY3Rpb24nOiAnMzAwMCcsIC8vIOWKn+iDveeCuee8luWPt1xyXG5cdFx0ICAgIFx0ICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgICAgIC8vIOWKn+iDveeCueS4u+aVsOaNruexu+agh+ivhlxyXG5cdFx0ICAgIFx0ICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXHJcblx0XHQgICAgXHQgICAgYnV0dG9uX25hbWU6ICfmlrDlop4nLFxyXG5cdFx0ICAgIFx0ICAgIG1hc3Rlcjoge1xyXG5cdFx0ICAgIFx0ICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEY2xzX2lkXHJcblx0XHQgICAgXHQgICAgICAgIC8vb2JqX2lkOiAnJyAgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRvYmpfaWRcclxuXHRcdCAgICBcdCAgICB9XHJcblx0XHQgICAgXHR9O1xyXG5cdFx0ICAgIFx0aWYoZGF0YV9hdHRyKXtcclxuXHRcdFx0XHRcdGVudmlyb21lbnQuZWRpdF9kbGcgPSB7XHJcblx0XHRcdFx0XHQgICAgdHlwZTogJ3NtYWxsJywvL+Wwj+eql+WPo1xyXG5cdFx0XHRcdFx0ICAgIGNsYXNzX2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLC8v5b2T5YmN5pWw5o2u57G7aWRcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmIChkYXRhX2F0dHIpIHtcclxuXHRcdFx0XHRcdCAgICBlbnZpcm9tZW50LmVkaXRfZGxnLmZvcm1fY29udHJvbCA9IHsvL+aJgOWxnueahOihqOWNleaOp+S7tlxyXG5cdFx0XHRcdFx0ICAgICAgICBuYW1lOiBkYXRhX2F0dHIuTmFtZSwvL+Wtl+auteWxnuaAp1xyXG5cdFx0XHRcdFx0ICAgICAgICB0ZXh0OiBkYXRhX2F0dHIuRGlzcE5hbWUsLy/mmL7npLrmlofmnKxcclxuXHRcdFx0XHRcdCAgICAgICAgZ3JvdXBfbmFtZTogZGF0YV9hdHRyLkdyb3VwTmFtZSwvL+WxnuaAp+e7hFxyXG5cdFx0XHRcdFx0ICAgICAgICB0eXBlOiBkYXRhX2F0dHIuVHlwZSwvL+Wtl+auteexu+Wei1xyXG5cdFx0XHRcdFx0ICAgICAgICByZWFkb25seTogZGF0YV9hdHRyLlJlYWRPbmx5LC8v5piv5ZCm5Y+q6K+7XHJcblx0XHRcdFx0XHQgICAgICAgIGJ1dHRvbl9pbWc6IGRhdGFfYXR0ci5idXR0b25faW1nLC8v5byV55So5oyJ6ZKu55qE5Zu+5qCHXHJcblx0XHRcdFx0XHQgICAgICAgIGJ1dHRvbl90b29sdGlwOiBkYXRhX2F0dHIuYnV0dG9uX3Rvb2x0aXAvL+W8leeUqOaMiemSrueahHRvb2x0aXBcclxuXHRcdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0ICAgIFx0dmFyIGRhdGFJbmZvID0ge1xyXG5cdFx0ICAgICAgICAgICAgZWR0eXBlOiBpbmZvLmVkdHlwZSwgZXZlbnRpZDogaW5mby5ldmVudGlkLCBwcm9qZWN0aWQ6IGluZm8ucHJvamVjdGlkLnJlcGxhY2UoJ3snLCcnKS5yZXBsYWNlKCd9JywnJyksXHJcblx0XHQgICAgICAgICAgICByY2xzaWQ6IGluZm8ucmNsc2lkLCByb2JqaWQ6IGluZm8ucm9iamlkLCB1c2VybG9naW46IGluZm8udXNlcmxvZ2luLCBjbHNpZDogaW5mby5jbHNpZCwgb2JqaWQ6IGluZm8ub2JqaWQsXHJcblx0XHQgICAgICAgICAgICBhdHRyOiBKU09OLnN0cmluZ2lmeShpbmZvLmF0dHIpLCBleHRpbmZvOiBKU09OLnN0cmluZ2lmeShlbnZpcm9tZW50KSwgaW5wdXRwYXJhbWV0ZXI6ICcnLCBnbG9iYWxfYXR0cjogSlNPTi5zdHJpbmdpZnkodGhpcy4kZGF0YS5nbG9iYWxfYXR0cilcclxuXHRcdCAgICAgICAgfVxyXG5cdFx0ICAgIFx0Y29uc29sZS5sb2coZGF0YUluZm8pO1xyXG5cdFx0ICAgIFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ0RhdGFPYmpSdW5DdXN0b21FdmVudEluZm8nLGRhdGFJbmZvKS50aGVuKHN1Y2Nlc3M9PntcclxuXHRcdCAgICBcdFx0Y29uc29sZS5sb2coc3VjY2Vzcyk7XHJcblx0XHQgICAgXHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0dmFyIGRhdGEgPSBKU09OLnBhcnNlKHN1Y2Nlc3MuZGF0YSk7XHJcblx0XHQgICAgXHRcdFx0dmFyIGFjdGlvbmxpc3QgPSBkYXRhLmFjdGlvbjtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHJcblx0XHQgICAgXHRcdFx0aWYgKGFjdGlvbmxpc3QpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhhY3Rpb25saXN0KTtcclxuXHRcdCAgICBcdFx0XHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY3Rpb25saXN0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICB2YXIgYWN0aW9uID0gYWN0aW9ubGlzdFtpXTtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ3NldF9kbGdfYXR0cicpIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICB2YXIgcmVzdWx0ID0gYWN0aW9uLnZhbHVlO1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAocmVzdWx0W2ldLmNob2ljZV9saXN0KSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBjID0gMDsgYyA8ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoOyBjKyspIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGF0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2NdLkF0dHI7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgYXR0ci5sZW5ndGg7IGorKykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmKGF0dHJbal0uTmFtZT09cmVzdWx0W2ldLmF0dHIpe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoYXR0cltqXS5UeXBlPT0n5a2X5YW4JyB8fCBhdHRyW2pdLlR5cGU9PSflrZflhbgt5a2X56ym5LiyJyl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGF0dHJbal0uZGljdGl0ZW0gPSByZXN1bHRbaV0uY2hvaWNlX2xpc3Q7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIH1cclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgZm9yICh2YXIgYyA9IDA7IGMgPCAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0Lmxlbmd0aDsgYysrKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIFx0dmFyIGF0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2NdLkF0dHI7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGF0dHJbal0uTmFtZSsnPT0nK3Jlc3VsdFtpXS5hdHRyKTtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgXHRcdGlmKGF0dHJbal0uTmFtZT09cmVzdWx0W2ldLmF0dHIpe1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBcdFx0XHRhdHRyW2pdLlZhbHVlID0gcmVzdWx0W2ldLnZhbHVlO1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBcdFx0fVxyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBcdH1cclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBsZW5ndGggPSAwO1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBpZiAoISR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHRbaV0uYXR0ciA9PSBzLmF0dHJcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgfSkubGVuZ3RoKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSAxO1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICAgICAgJHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLnB1c2gocmVzdWx0W2ldKTtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgfVxyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBpZiAobGVuZ3RoID09IDApIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgJHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaisrKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS5hdHRyID09IHJlc3VsdFtpXS5hdHRyKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS52YWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICB9XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIH1cclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICB9XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICB9IGVsc2UgaWYgKGRhdGEuYWN0aW9uW2ldLmFjdGlvbl90eXBlID09ICdzZXRfZ2xvYmFsX2F0dHInKSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICR0aGlzLiRkYXRhLmdsb2JhbF9hdHRyID0gZGF0YS5hY3Rpb25baV0udmFsdWUgfHwgW107XHJcblx0XHRcdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0ICAgIFx0XHRcdCAgICB9XHJcblx0XHQgICAgXHRcdFx0fVxyXG5cdFx0ICAgIFx0XHRcdFxyXG5cdFx0ICAgIFx0XHRcdGlmIChkYXRhLnJlc3VsdCkge1xyXG5cdFx0ICAgIFx0XHRcdCAgICB2YXIgcmVzdWx0ID0gZGF0YS5yZXN1bHQ7XHJcblx0XHQgICAgXHRcdFx0ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICBmb3IgKHZhciBjID0gMDsgYyA8ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoOyBjKyspIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgIFx0dmFyIGF0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2NdLkF0dHI7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICBcdGZvciAodmFyIGogPSAwOyBqIDwgYXR0ci5sZW5ndGg7IGorKykge1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgXHRcdGlmKGF0dHJbal0uTmFtZT09cmVzdWx0W2ldLmF0dHIpe1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgXHRcdFx0YXR0cltqXS5WYWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgIFx0XHR9XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICBcdH1cclxuXHRcdCAgICBcdFx0XHQgICAgICAgIH1cclxuXHRcdFx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIGxlbmd0aCA9IDA7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICBpZiAoISR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICByZXR1cm4gcmVzdWx0W2ldLmF0dHIgPT0gcy5hdHRyXHJcblx0XHQgICAgXHRcdFx0ICAgICAgICB9KS5sZW5ndGgpIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICBsZW5ndGggPSAxO1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5wdXNoKHJlc3VsdFtpXSk7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICB9XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICBpZiAobGVuZ3RoID09IDApIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8ICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGg7IGorKykge1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBpZiAoJHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2pdLmF0dHIgPT0gcmVzdWx0W2ldLmF0dHIpIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS52YWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgfVxyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIH1cclxuXHRcdCAgICBcdFx0XHQgICAgICAgIH1cclxuXHRcdCAgICBcdFx0XHQgICAgfVxyXG5cdFx0ICAgIFx0XHRcdH1cclxuXHRcdCAgICBcdFx0fWVsc2V7XHJcblx0XHQgICAgXHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68zXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdCAgICBcdFx0fVxyXG5cdFx0ICAgIFx0fSkuY2F0Y2goZXg9PntcclxuXHRcdCAgICBcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0ICAgIFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzMuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0ICAgIFx0fSk7XHJcblx0XHQgICAgfSxcclxuXHRcdFx0T0tEYXRhT2JqUnVuQ3VzdG9tRXZlbnQoKXtcclxuXHRcdCAgICBcdHZhciBlbnZpcm9tZW50ID0ge1xyXG5cdFx0XHRcdCAgICAnZnVuY3Rpb24nOiAnMzAwMCcsIC8vIOWKn+iDveeCuee8luWPt1xyXG5cdFx0XHRcdCAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsICAgICAvLyDlip/og73ngrnkuLvmlbDmja7nsbvmoIfor4ZcclxuXHRcdFx0XHQgICAgJ2J1dHRvbic6ICd0b3AnLCAgIC8vIHRvcC9ib3R0b21cclxuXHRcdFx0XHQgICAgYnV0dG9uX25hbWU6ICfmlrDlop4nLFxyXG5cdFx0XHRcdCAgICBtYXN0ZXI6IHtcclxuXHRcdFx0XHQgICAgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRjbHNfaWRcclxuXHRcdFx0XHQgICAgICAgIFxyXG5cdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0fTtcclxuXHRcdCAgICBcdFxyXG5cdFx0XHRcdHZhciBldmVudGlkID0gdGhpcy4kZGF0YS5lZGl0X29rX2V2ZW50LnNjcmlwX2lkO1xyXG5cdFx0XHRcdHZhciByZXE9W107XHJcblx0XHRcdFx0dmFyIGF0dHJsaXN0ID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0O1xyXG5cdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmxpc3QubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdHZhciBhdHRyID0gYXR0cmxpc3RbaV0uQXR0cjtcclxuXHRcdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgYXR0ci5sZW5ndGg7IGorKykge1xyXG5cdFx0XHRcdFx0XHR2YXIgYXIgPSBhdHRyW2pdO1xyXG5cdFx0XHRcdFx0XHRpZihhci5WYWx1ZT09J+ivt+mAieaLqScpIGFyLlZhbHVlPScnO1xyXG5cdFx0XHRcdFx0XHRpZihhci5UeXBlPT0n5byV55So5a+56LGhKOWkmuS4qiknKVxyXG5cdFx0XHRcdFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+3JykgYXIuVmFsdWU9Jyc7XHJcblx0XHRcdFx0ICAgICAgICBpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcclxuXHRcdFx0XHQgICAgICAgIFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbElEID9hci5WYWxJRCA6JycgfSk7XHJcblx0XHRcdFx0ICAgICAgICBlbHNlIGlmKGFyLlR5cGU9PSfluIPlsJTlgLwnKVxyXG5cdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZT8nMSc6JzAnfSk7XHJcblx0XHRcdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWUgfSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdFxyXG5cdFx0ICAgIFx0aWYgKHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aCA+IDApIHtcclxuXHRcdCAgICBcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaSsrKSB7XHJcblx0XHQgICAgXHQgICAgICAgIGlmICghcmVxLmZpbHRlcihmdW5jdGlvbiAocykge1xyXG5cdFx0ICAgIFx0ICAgICAgICAgICAgcmV0dXJuIHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2ldLmF0dHIgPT0gcy5uYW1lXHJcblx0XHQgICAgXHQgICAgICAgIH0pLmxlbmd0aCkge1xyXG5cdFx0ICAgIFx0ICAgICAgICAgICAgbGVuZ3RoID0gMTtcclxuXHRcdCAgICBcdCAgICAgICAgICAgIHJlcS5wdXNoKHsgJ2F0dHInOiB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtpXS5hdHRyLCAndmFsJzogdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbaV0udmFsdWUgfSk7XHJcblx0XHQgICAgXHQgICAgICAgIH1cclxuXHRcdCAgICBcdCAgICB9XHJcblx0XHQgICAgXHR9XHJcblx0XHQgICAgXHR2YXIgaW5mbyA9IHtcclxuXHRcdCAgICBcdCAgICBldmVudGlkOiBldmVudGlkLFxyXG5cdFx0ICAgIFx0ICAgIGVkdHlwZTogXCIwXCIsXHJcblx0XHQgICAgXHQgICAgcHJvamVjdGlkOiAnJyxcclxuXHRcdCAgICBcdCAgICByY2xzaWQ6ICcnLFxyXG5cdFx0ICAgIFx0ICAgIHJvYmppZDogJycsXHJcblx0XHQgICAgXHQgICAgdXNlcmxvZ2luOiAnJyxcclxuXHRcdCAgICBcdCAgICBjbHNpZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcclxuXHRcdCAgICBcdCAgICBvYmppZDogXCJcIixcclxuXHRcdCAgICBcdCAgICBhdHRyOiByZXEsXHJcblx0XHQgICAgXHR9XHJcblx0XHQgICAgXHR2YXIgZGF0YUluZm8gPSB7XHJcblx0XHQgICAgICAgICAgICBlZHR5cGU6IGluZm8uZWR0eXBlLCBldmVudGlkOiBpbmZvLmV2ZW50aWQsIHByb2plY3RpZDogaW5mby5wcm9qZWN0aWQscmNsc2lkOiBpbmZvLnJjbHNpZCwgXHJcblx0XHRcdFx0XHRyb2JqaWQ6IGluZm8ucm9iamlkLCB1c2VybG9naW46IGluZm8udXNlcmxvZ2luLCBjbHNpZDogaW5mby5jbHNpZCwgb2JqaWQ6IGluZm8ub2JqaWQsXHJcblx0XHRcdFx0XHRhdHRyOiBKU09OLnN0cmluZ2lmeShpbmZvLmF0dHIpLCBleHRpbmZvOiBKU09OLnN0cmluZ2lmeShlbnZpcm9tZW50KSwgZ2xvYmFsX2F0dHI6IEpTT04uc3RyaW5naWZ5KHRoaXMuJGRhdGEuZ2xvYmFsX2F0dHIpXHJcblx0XHQgICAgICAgIH1cclxuXHRcdCAgICBcdGNvbnNvbGUubG9nKGRhdGFJbmZvKTtcclxuXHRcdCAgICBcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdEYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvJyxkYXRhSW5mbykudGhlbihzdWNjZXNzPT57XHJcblx0XHQgICAgXHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xyXG5cdFx0ICAgIFx0XHRpZiAoc3VjY2Vzcy5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdHZhciBkYXRhID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEpO1x0XHRcclxuXHRcdCAgICBcdFx0XHR2YXIgcmVzdWx0ID0gZGF0YS5yZXN1bHQ7XHJcblx0XHQgICAgXHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspIHtcclxuXHRcdCAgICBcdFx0XHQgICAgLy8gc2VsZi5jbGFzc19hdHRyX2VsZS5maW5kKCcuYXR0cl9maWVsZFtkYXRhLWZpZWxkPVwiJyArIHJlc3VsdFtpXS5hdHRyICsgJ1wiXScpLnZhbChyZXN1bHRbaV0udmFsdWUpLmRhdGEoJ3ZhbCcsIHJlc3VsdFtpXS52YWx1ZSk7XHJcblx0XHQgICAgXHRcdFx0ICAgIHZhciBsZW5ndGggPSAwO1xyXG5cdFx0ICAgIFx0XHRcdCAgICBpZiAoIXRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmZpbHRlcihmdW5jdGlvbiAocykge1xyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgcmV0dXJuIHJlc3VsdFtpXS5hdHRyID09IHMuYXR0clxyXG5cdFx0ICAgIFx0XHRcdCAgICB9KS5sZW5ndGgpIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgIGxlbmd0aCA9IDE7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5wdXNoKHJlc3VsdFtpXSk7XHJcblx0XHQgICAgXHRcdFx0ICAgIH1cclxuXHRcdCAgICBcdFx0XHQgICAgaWYgKGxlbmd0aCA9PSAwKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaisrKSB7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgaWYgKHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2pdLmF0dHIgPT0gcmVzdWx0W2ldLmF0dHIpIHtcclxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0udmFsdWUgPSByZXN1bHRbaV0udmFsdWU7XHJcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgfVxyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgfVxyXG5cdFx0ICAgIFx0XHRcdCAgICB9XHJcblx0XHQgICAgXHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0dGhpcy5hZGQoKTtcclxuXHRcdCAgICBcdFx0fWVsc2V7XHJcblx0XHQgICAgXHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor680XCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdCAgICBcdFx0fVxyXG5cdFx0ICAgIFx0fSkuY2F0Y2goZXg9PntcclxuXHRcdCAgICBcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0ICAgIFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzQuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0ICAgIFx0fSk7XHJcblx0XHQgICAgfSxcclxuXHRcdCAgICBEYXRhT2JqUnVuQ3VzdG9tRXZlbnRfUmV0dXJuKGV2ZW50aWQsZGF0YV9hdHRyLGJ1dHRvbl9jYWxsYmFjayxpbmRleCxpaW5kZXgpe1xyXG5cdFx0XHRcdHZhciBlbnZpcm9tZW50ID0ge1xyXG5cdFx0XHRcdCAgICAnZnVuY3Rpb24nOiAnMzAwMCcsIC8vIOWKn+iDveeCuee8luWPt1xyXG5cdFx0XHRcdCAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsICAgICAvLyDlip/og73ngrnkuLvmlbDmja7nsbvmoIfor4ZcclxuXHRcdFx0XHQgICAgJ2J1dHRvbic6ICd0b3AnLCAgIC8vIHRvcC9ib3R0b21cclxuXHRcdFx0XHQgICAgYnV0dG9uX25hbWU6ICfmlrDlop4nLFxyXG5cdFx0XHRcdCAgICBtYXN0ZXI6IHtcclxuXHRcdFx0XHQgICAgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRjbHNfaWRcclxuXHRcdFx0XHQgICAgICAgIC8vb2JqX2lkOiAnJyAgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRvYmpfaWRcclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dmFyIHJlcT1bXTtcclxuXHRcdFx0XHR2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XHJcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0dmFyIGF0dHIgPSBhdHRybGlzdFtpXS5BdHRyO1xyXG5cdFx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XHJcblx0XHRcdFx0XHRcdHZhciBhciA9IGF0dHJbal07XHJcblx0XHRcdFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+36YCJ5oupJykgYXIuVmFsdWU9Jyc7XHJcblx0XHRcdFx0XHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXHJcblx0XHRcdFx0XHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcclxuXHRcdFx0XHQgICAgICAgIGlmKGFyLlR5cGU9PSflvJXnlKjkurrlkZgnIHx8IGFyLlR5cGU9PSflvJXnlKjpobnnm64nKVxyXG5cdFx0XHRcdCAgICAgICAgXHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsSUQgP2FyLlZhbElEIDonJyB9KTtcclxuXHRcdFx0XHQgICAgICAgIGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXHJcblx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlPycxJzonMCd9KTtcclxuXHRcdFx0XHRcdFx0ZWxzZVxyXG5cdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZSB9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdCAgICAgICAgaWYgKCFyZXEuZmlsdGVyKGZ1bmN0aW9uIChzKSB7XHJcblx0XHRcdFx0ICAgICAgICAgICAgcmV0dXJuIHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2ldLmF0dHIgPT0gcy5uYW1lXHJcblx0XHRcdFx0ICAgICAgICB9KS5sZW5ndGgpIHtcclxuXHRcdFx0XHQgICAgICAgICAgICBsZW5ndGggPSAxO1xyXG5cdFx0XHRcdCAgICAgICAgICAgIHJlcS5wdXNoKHsgJ2F0dHInOiB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtpXS5hdHRyLCAndmFsJzogdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbaV0udmFsdWUgfSk7XHJcblx0XHRcdFx0ICAgICAgICB9XHJcblx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dmFyIGV4dGluZm8gPSBlbnZpcm9tZW50O1xyXG5cdFx0XHRcdGV4dGluZm8uZWRpdF9kbGcgPSB7XHJcblx0XHRcdFx0ICAgIHR5cGU6ICdzbWFsbCcsLy/lsI/nqpflj6NcclxuXHRcdFx0XHQgICAgY2xhc3NfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsLy/lvZPliY3mlbDmja7nsbtpZFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoZGF0YV9hdHRyKSB7XHJcblx0XHRcdFx0ICAgIGV4dGluZm8uZWRpdF9kbGcuZm9ybV9jb250cm9sID0gey8v5omA5bGe55qE6KGo5Y2V5o6n5Lu2XHJcblx0XHRcdFx0ICAgICAgICBuYW1lOiBkYXRhX2F0dHIuTmFtZSwvL+Wtl+auteWxnuaAp1xyXG5cdFx0XHRcdCAgICAgICAgdGV4dDogZGF0YV9hdHRyLkRpc3BOYW1lLC8v5pi+56S65paH5pysXHJcblx0XHRcdFx0ICAgICAgICBncm91cF9uYW1lOiBkYXRhX2F0dHIuR3JvdXBOYW1lLC8v5bGe5oCn57uEXHJcblx0XHRcdFx0ICAgICAgICB0eXBlOiBkYXRhX2F0dHIuVHlwZSwvL+Wtl+auteexu+Wei1xyXG5cdFx0XHRcdCAgICAgICAgcmVhZG9ubHk6IGRhdGFfYXR0ci5SZWFkT25seSwvL+aYr+WQpuWPquivu1xyXG5cdFx0XHRcdCAgICAgICAgYnV0dG9uX2ltZzogZGF0YV9hdHRyLmJ1dHRvbl9pbWcsLy/lvJXnlKjmjInpkq7nmoTlm77moIdcclxuXHRcdFx0XHQgICAgICAgIGJ1dHRvbl90b29sdGlwOiBkYXRhX2F0dHIuYnV0dG9uX3Rvb2x0aXAvL+W8leeUqOaMiemSrueahHRvb2x0aXBcclxuXHRcdFx0XHQgICAgfVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR2YXIgZGF0YUluZm8gPSB7XHJcblx0XHRcdFx0XHRlZHR5cGU6ICBcIjBcIiwgZXZlbnRpZDogZXZlbnRpZCwgcHJvamVjdGlkOiAnJyxyY2xzaWQ6ICcnLCByb2JqaWQ6ICcnLCB1c2VybG9naW46ICcnLCBcclxuXHRcdFx0XHRcdGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLCBvYmppZDogJycsYXR0cjogSlNPTi5zdHJpbmdpZnkocmVxKSwgXHJcblx0XHRcdFx0XHRleHRpbmZvOiBKU09OLnN0cmluZ2lmeShleHRpbmZvKSwgZ2xvYmFsX2F0dHI6IEpTT04uc3RyaW5naWZ5KHRoaXMuJGRhdGEuZ2xvYmFsX2F0dHIpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGRhdGFJbmZvKTtcclxuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnRGF0YU9ialJ1bkN1c3RvbUV2ZW50SW5mbycsZGF0YUluZm8pLnRoZW4oc3VjY2Vzcz0+e1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coc3VjY2Vzcyk7XHJcblx0XHRcdFx0XHRpZiAoc3VjY2Vzcy5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdHZhciBkYXRhID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEpO1xyXG5cdFx0XHRcdFx0XHRpZiAoZGF0YSAhPSBcIlwiKSB7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0dmFyIGFjdGlvbnMgPSBkYXRhLmFjdGlvbjtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coYWN0aW9ucyk7XHJcblx0XHRcdFx0XHRcdGlmIChhY3Rpb25zKSB7XHJcblx0XHRcdFx0XHRcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFjdGlvbnMubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICB2YXIgYWN0aW9uID0gYWN0aW9uc1tpXTtcclxuXHRcdFx0XHRcdFx0ICAgICAgICB2YXIgdmFsID0gYWN0aW9uLnZhbHVlO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciBlbnZpcm9tZW50ID0gSlNPTi5zdHJpbmdpZnkoZW52aXJvbWVudCk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgXHJcblx0XHRcdFx0XHRcdCAgICAgICAgaWYgKGFjdGlvbi5hY3Rpb25fdHlwZSA9PSAnb3Blbl9wYW5lbCcpIHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICB2YXIgZCA9IGRpYWxvZyh7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgIHRpdGxlOiAnPGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4gJyArICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICBjb250ZW50OiBhY3Rpb24uYWN0aW9uX3R5cGUgKyAn5q2kYWN0aW9u5bCa5pyq5aSE55CG77yBJ1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgIH0pO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgIGQuc2hvdygpO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgIH1cclxuXHRcdFx0XHRcdFx0ICAgICAgICBlbHNlIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ29wZW5fc2VsZWN0X3VzZXJkbGcnKSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBzdHlsZSA9IHZhbC5zdHlsZTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gc3R5bGUgPT0gJ3VzZXInID8gJ+mAieaLqeS6uuWRmCcgOiBzdHlsZSA9PSAnZGVwYXJ0bWVudCcgPyAn6YCJ5oup6YOo6ZeoJyA6IHN0eWxlID09ICdyb2xlJyA/ICfpgInmi6nop5LoibInIDogJydcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgdmFyICR0aGlzID0gdGhpcztcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIHBhcmFtPXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpbmRleDogaW5kZXgsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWluZGV4OmlpbmRleCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRidXR0b25fY2FsbGJhY2s6YnV0dG9uX2NhbGxiYWNrLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJlcTpyZXEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGF0YV9hdHRyOmRhdGFfYXR0clxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHR1cmw6Jy4uL3NlbHBzbi9pbmRleD9tdWxpdD1mYWxzZSZwYXJhbT0nK0pTT04uc3RyaW5naWZ5KHBhcmFtKSxcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRldmVudHM6e1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdFx0QWRkUGVyKGRhdGEscGFyYW0peyBcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdFx0Ly8gY29uc29sZS5sb2cocGFyYW0pO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdFx0XHRjb25zb2xlLmxvZyhkYXRhKTtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdFx0dmFyIGNhbGxiYWNrX2V2ZW50aWQgPSBwYXJhbS5idXR0b25fY2FsbGJhY2sudHJpbSgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW5mbyA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIGV2ZW50aWQ6IGNhbGxiYWNrX2V2ZW50aWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICBlZHR5cGU6IFwiMFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgcHJvamVjdGlkOiAnJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIHJjbHNpZDogJycsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICByb2JqaWQ6ICcnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgdXNlcmxvZ2luOiAnJyxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIGNsc2lkOiAkdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIG9iamlkOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgYXR0cjogcGFyYW0ucmVxLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgaW5wdXRwYXJhbWV0ZXI6IGRhdGFcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbywgcGFyYW0uZGF0YV9hdHRyKTtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdH1cclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHR9XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIH0pO1x0XHJcblx0XHRcdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgICAgIGVsc2UgaWYgKGFjdGlvbi5hY3Rpb25fdHlwZSA9PSAnb3Blbl9kYXRhX3F1ZXJ5X2RsZycpIHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHJcblx0XHRcdFx0XHRcdCAgICAgICAgfVxyXG5cdFx0XHRcdFx0XHQgICAgICAgIGVsc2UgaWYgKGFjdGlvbi5hY3Rpb25fdHlwZSA9PSAnb3Blbl9jb21tb25fZGxnJykge1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB2YXIgdmFsdWUgPSBhY3Rpb24udmFsdWU7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBkID0gZGlhbG9nKHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRpdGxlOiAnPGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4gJyArICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgY29udGVudDogYWN0aW9uLmFjdGlvbl90eXBlICsgJ+atpGFjdGlvbuWwmuacquWkhOeQhu+8gSdcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgfSk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGQuc2hvdygpO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgIH1cclxuXHRcdFx0XHRcdFx0ICAgICAgICBlbHNlIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ29wZW5fcHJvamVjdF9xdWVyeV9kbGcnKSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIC8vY29uc29sZS5sb2coYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIC8vY29uc29sZS5sb2coYWN0aW9uLnZhbHVlLm11bGl0X3NlbGVjdCk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBwcmlSZWwgPSAnLTEnO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBpZiAoYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5YWo6YOo55u45YWzJylcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHByaVJlbCA9ICcwJztcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWxzZSBpZiAoYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5oiR6LSf6LSj55qE6aG555uuJylcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHByaVJlbCA9ICcxJztcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWxzZSBpZiAoYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5oiR5Yib5bu655qEJylcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHByaVJlbCA9ICcyJztcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWxzZSBpZiAoYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5oiR5Y+C5LiO55qEJyB8fCBhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICfmiJHlj4LliqDnmoQnKVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgcHJpUmVsID0gJzMnO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBlbHNlIGlmIChhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICfmiJHlhbPms6jnmoQnKVxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgcHJpUmVsID0gJzQnO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBlbHNlIGlmIChhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICfmiJHkuIvlsZ7nmoTpobnnm64nKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHByaVJlbCA9ICc1JztcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcclxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIHBhcmFtXz17XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aW5kZXg6IGluZGV4LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlpbmRleDppaW5kZXgsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0YnV0dG9uX2NhbGxiYWNrOmJ1dHRvbl9jYWxsYmFjayxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXE6cmVxXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVybDonLi4vc2VsUHJqL2luZGV4P3JlbGF0aW9uPScrcHJpUmVsKycmcGFyYW09JytKU09OLnN0cmluZ2lmeShwYXJhbV8pLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGV2ZW50czp7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRBZGRQZXIoZGF0YSxwYXJhbSl7IFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uVmFsdWU9ZGF0YVswXS5OYW1lO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uVmFsSUQ9ZGF0YVswXS5JRCsnOycrZGF0YVswXS5OYW1lO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdFx0XHR2YXIgY2FsbGJhY2tfZXZlbnRpZCA9IHBhcmFtLmJ1dHRvbl9jYWxsYmFjay50cmltKCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmIChjYWxsYmFja19ldmVudGlkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICB2YXIgaW5mbyA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBldmVudGlkOiBjYWxsYmFja19ldmVudGlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIGVkdHlwZTogXCIyXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgcHJvamVjdGlkOiBkYXRhWzBdLklELFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIHJjbHNpZDogXCJcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICByb2JqaWQ6IFwiXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgdXNlcmxvZ2luOiBcIlwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIGNsc2lkOiAkdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBvYmppZDogXCJcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBhdHRyOiBwYXJhbS5yZXEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICB9XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAkdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgIH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBkID0gZGlhbG9nKHtcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRpdGxlOiAnPGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4gJyArICfmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgY29udGVudDogYWN0aW9uLmFjdGlvbl90eXBlICsgJ+atpGFjdGlvbuWwmuacquWkhOeQhu+8gSdcclxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgfSk7XHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGQuc2hvdygpO1xyXG5cdFx0XHRcdFx0XHQgICAgICAgIH1cclxuXHRcdFx0XHRcdFx0ICAgIH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzUuMlwiLGNvbnRlbnQ6ICfosIPnlKggYmVmb3JlX2NsaWNrX2J1dHRvbiDohJrmnKzov5Tlm57nqbrvvIxldmVudF9pZCcgKyBldmVudGlkLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor681XCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor681LjFcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdCAgICB9LFxyXG5cdFx0ICAgIFxyXG5cdFx0XHRcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///44\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _regenerator = _interopRequireDefault(__webpack_require__(/*! ./node_modules/@babel/runtime/regenerator */ 45));\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _pickerAddress = _interopRequireDefault(__webpack_require__(/*! ../../js/pickerAddress/pickerAddress.vue */ 48));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);}_next(undefined);});};}var _default =\n{\n  components: {\n    pickerAddress: _pickerAddress.default },\n\n  data: function data() {\n    return {\n      title: '新增',\n      param: {},\n      classAttrList: [],\n      classGridStyle: [],\n      edit_inital_event: \"\", //弹窗初始化事件ID\n      edit_ok_event: \"\", //弹窗点击OK 触发事件ID\n      edit_select_compose_event: \"\", //选择组成对象时调用\n      edit_compose_cls_id: \"\",\n      global_attr: [],\n      refdatastore: [] //引用数据存储区// {attr:'G_PRJ_' + bindattr + '_ID', value:info.id}\n    };\n\n  },\n  onLoad: function onLoad(options) {\n    // console.log(options);\n    uni.setNavigationBarTitle({ title: options.titlename }); //设置顶部标题 \n    var param = JSON.parse(options.param);\n    this.$data.title = param.Add_BtnName ? param.Add_BtnName : options.titlename; //设置按钮文字\n    // console.log(param);\n    if (!param.EditDlgMode) {\n      uni.showModal({ title: \"提示\", content: \"该功能点未配置编辑窗口,请重新配置!\", showCancel: false, confirmText: \"取消\" });\n      return;\n    }\n    if (!param.Edit_dlg.Name) {\n      uni.showModal({ title: \"提示\", content: \"该功能点未配置窗口样式,请重新配置!\", showCancel: false, confirmText: \"取消\" });\n      return;\n    }\n    this.$data.param = param;\n    var edit_dlg = {\n      Model: param.EditDlgMode,\n      Name: param.Edit_dlg.Name };\n\n    var dataInfo = {\n      class_id: param.clsid };\n\n    var $this = this;\n    $this.$store.state.thisareaFuncID = param.clsid;\n    // console.log($this.$store.getters.getclassAttrList);\n    //获取\n    if ($this.$store.getters.getclassAttrList) {\n      $this.$data.classAttrList = $this.$store.getters.getclassAttrList.data;\n      $this.classGridStyleInfo();\n    } else\n    $this.$store.dispatch('classAttrList', dataInfo).then(function (success) {\n      // console.log(success);\n      if (success.code == '00000') {\n        $this.$data.classAttrList = success.data;\n\n        $this.classGridStyleInfo();\n      } else {\n        uni.showModal({ title: \"错误1\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n      }\n    }).catch(function (ex) {\n      // console.log(ex);\n      uni.showModal({ title: \"错误1.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n    });\n\n  },\n  methods: {\n    classGridStyleInfo: function classGridStyleInfo() {var _this = this;return _asyncToGenerator( /*#__PURE__*/_regenerator.default.mark(function _callee() {var $this, gridstyleInfo;return _regenerator.default.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:\n                $this = _this;\n                gridstyleInfo = {\n                  class_id: $this.$data.param.clsid,\n                  name: $this.$data.param.Edit_dlg.Name,\n                  type: '2' };\n\n                $this.$store.state.thisEditName = $this.$data.param.Edit_dlg.Name;\n                // console.log($this.$store.getters.getclassGridStyleInfo);\n                //获取\n                if ($this.$store.getters.getclassGridStyleInfo) {\n                  $this.$data.classGridStyle = $this.$store.getters.getclassGridStyleInfo.data;\n                  $this.class_attr_init();\n                } else {\n                  //console.log(gridstyleInfo);\n                  $this.$store.dispatch('classGridStyleInfo', gridstyleInfo).then(function (success) {\n                    // console.log(success);\n                    if (success.code == '00000') {\n                      success.data.StyleDef = JSON.parse(success.data.StyleDef);\n                      $this.$data.classGridStyle = success.data;\n\n                      $this.class_attr_init();\n                    } else {\n                      uni.showModal({ title: \"错误1.2\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n                    }\n                  }).catch(function (ex) {\n                    __f__(\"log\", ex, \" at pages/modal/classAttr.vue:430\");\n                    uni.showModal({ title: \"错误1.3\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n                  });\n                }case 4:case \"end\":return _context.stop();}}}, _callee);}))();\n    },\n    ontap: function ontap(e) {var _this2 = this; //扫码功能\n      //console.log(e.target)\n      getApp().onScan(function (result) {\n        //console.log(result.decodedata);\n        _this2.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = result.decodedata;\n      });\n    },\n    onarrow: function onarrow(index, open) {\n      // console.log(index+'--'+open);\n      this.$data.classAttrList[index].Open = open == true ? false : true;\n    },\n    ondateTime: function ondateTime(e) {\n      //console.log(e.target)\n      this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.target.value;\n    },\n    onchange: function onchange(e) {\n      __f__(\"log\", e.target, \" at pages/modal/classAttr.vue:451\");\n      var value = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].dictitem[e.target.value];\n      var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];\n      __f__(\"log\", data_attr, \" at pages/modal/classAttr.vue:454\");\n      if (value.Name != data_attr.Value) {\n        this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = value.Name;\n        __f__(\"log\", this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value, \" at pages/modal/classAttr.vue:457\");\n        var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;\n        if (eventid) {\n          // self.event_no_sub = 1;\n          var req = [];\n          var attrlist = this.$data.classAttrList;\n          for (var i = 0; i < attrlist.length; i++) {\n            var attr = attrlist[i].Attr;\n            for (var j = 0; j < attr.length; j++) {\n              var ar = attr[j];\n              if (ar.Type == '引用对象(多个)')\n              if (ar.Value == '请') ar.Value = '';\n              if (ar.Type == '引用人员' || ar.Type == '引用项目')\n              req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n              if (ar.Type == '布尔值')\n              req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n              req.push({ attr: ar.Name, val: ar.Value ? ar.Value : '' });\n            }\n          }\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.DataObjRunCustomEvent(info);\n        }\n      }\n\n    },\n    onevent: function onevent(e) {\n      // console.log(e.target);\n      var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];\n      // console.log(data_attr);\n      if (e.target.value != data_attr.Value) {\n        this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.target.value;\n        var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;\n        if (eventid) {\n          // self.event_no_sub = 1;\n          var req = [];\n          var attrlist = this.$data.classAttrList;\n          for (var i = 0; i < attrlist.length; i++) {\n            var attr = attrlist[i].Attr;\n            for (var j = 0; j < attr.length; j++) {\n              var ar = attr[j];\n              if (ar.Type == '引用对象(多个)')\n              if (ar.Value == '请') ar.Value = '';\n              if (ar.Type == '引用人员' || ar.Type == '引用项目')\n              req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n              if (ar.Type == '布尔值')\n              req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n              req.push({ attr: ar.Name, val: ar.Value ? ar.Value : '' });\n            }\n          }\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.DataObjRunCustomEvent(info, data_attr);\n        }\n      }\n\n    },\n    oncheck: function oncheck(e) {\n      // console.log(e.target);\n      var ischecked = e.target.dataset.ischeck ? false : true;\n      var data_attr = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']];\n      // console.log(data_attr);\n      if (ischecked != data_attr.Value) {\n        this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = ischecked;\n        var eventid = this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].action;\n        if (eventid) {\n          // self.event_no_sub = 1;\n          var req = [];\n          var attrlist = this.$data.classAttrList;\n          for (var i = 0; i < attrlist.length; i++) {\n            var attr = attrlist[i].Attr;\n            for (var j = 0; j < attr.length; j++) {\n              var ar = attr[j];\n              if (ar.Type == '引用对象(多个)')\n              if (ar.Value == '请') ar.Value = '';\n              if (ar.Type == '引用人员' || ar.Type == '引用项目')\n              req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n              if (ar.Type == '布尔值')\n              req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n              req.push({ attr: ar.Name, val: ar.Value ? ar.Value : '' });\n\n            }\n          }\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.DataObjRunCustomEvent(info);\n        }\n      }\n\n    },\n    addresschange: function addresschange(e) {\n      // console.log(e.target);\n      __f__(\"log\", e.data.join(';'), \" at pages/modal/classAttr.vue:579\");\n      this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value = e.data.join(';');\n    },\n    classAttr_extButton: function classAttr_extButton(index, iindex) {\n      var $this = this;\n      var before_click_button = $this.$data.classAttrList[index].Attr[iindex].before_click_button;\n      var button_callback = $this.$data.classAttrList[index].Attr[iindex].button_callback;\n      if (!before_click_button) {\n        uni.showModal({ title: \"提示\", content: \"before_click_button-event_id为空!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      if (!button_callback) {\n        uni.showModal({ title: \"提示\", content: \"button_callback-event_id为空!\", showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      var data_attr = this.$data.classAttrList[index].Attr[iindex];\n      this.DataObjRunCustomEvent_Return(before_click_button, data_attr, button_callback, index, iindex);\n    },\n    classAttr_AddPer: function classAttr_AddPer(index, iindex) {\n      var param = { index: index, iindex: iindex };\n      var $this = this;\n      uni.navigateTo({\n        url: '../selpsn/index?mulit=false&param=' + JSON.stringify(param),\n        events: {\n          AddPer: function AddPer(data, param) {\n            // console.log(param);\n            __f__(\"log\", data, \" at pages/modal/classAttr.vue:605\");\n            $this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;\n            $this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].Login + ';' + data[0].Name;\n\n            var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;\n            if (eventid) {\n              eventid = eventid.trim();\n              if (eventid) {\n                var info = {\n                  eventid: eventid,\n                  edtype: \"4\",\n                  projectid: \"\",\n                  rclsid: \"\",\n                  robjid: \"\",\n                  userlogin: data[0].Login,\n                  clsid: $this.$data.param.clsid,\n                  objid: \"\",\n                  attr: [] };\n\n\n                // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];\n                $this.DataObjRunCustomEvent(info);\n              }\n            }\n          } } });\n\n\n    },\n    classAttr_AddRef: function classAttr_AddRef(e) {\n      __f__(\"log\", e.target, \" at pages/modal/classAttr.vue:634\");\n      uni.showModal({ title: \"提示\", content: \"此功能还未实现!\", showCancel: false, confirmText: \"取消\" });\n      // var value=this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].RelCls[e.target.value];\n      // this.$data.classAttrList[e.target.dataset['index']].Attr[e.target.dataset['iindex']].Value=value;\n    },\n    classAttr_AddPrj: function classAttr_AddPrj(index, iindex) {\n      var param = { index: index, iindex: iindex };\n      var $this = this;\n      uni.navigateTo({\n        url: '../selPrj/index?relation=-1&param=' + JSON.stringify(param),\n        events: {\n          AddPer: function AddPer(data, param) {\n            // console.log(param);\n            // console.log(data);\n            $this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;\n            $this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].ID + ';' + data[0].Name;\n\n            var eventid = $this.$data.classAttrList[param.index].Attr[param.iindex].action;\n            if (eventid) {\n              eventid = eventid.trim();\n              if (eventid) {\n                var info = {\n                  eventid: eventid,\n                  edtype: \"2\",\n                  projectid: data[0].ID,\n                  rclsid: \"\",\n                  robjid: \"\",\n                  userlogin: \"\",\n                  clsid: $this.$data.param.clsid,\n                  objid: \"\",\n                  attr: [] };\n\n\n                // var data_attr = $this.$data.classAttrList[param.index].Attr[param.iindex];\n                $this.DataObjRunCustomEvent(info);\n              }\n            }\n          } } });\n\n\n    },\n    sava: function sava() {\n      if (this.$data.edit_ok_event)\n      this.OKDataObjRunCustomEvent();else\n\n      this.add();\n    },\n    add: function add() {var _this3 = this;\n      var req = [];\n      var attrlist = this.$data.classAttrList;\n      for (var i = 0; i < attrlist.length; i++) {\n        var attr = attrlist[i].Attr;\n        for (var j = 0; j < attr.length; j++) {\n          var ar = attr[j];\n          if (ar.NotEmpty == '1') {\n            uni.showModal({ title: \"提示\", content: '字段:' + ar.Name + ',值不能为空!', showCancel: false, confirmText: \"取消\" });\n            return;\n          }\n          if (ar.Value == '请选择') ar.Value = '';\n          if (ar.Type == '引用对象(多个)')\n          if (ar.Value == '请') ar.Value = '';\n          if (ar.Type == '引用人员' || ar.Type == '引用项目')\n          req.push({ name: ar.Name, value: ar.ValID ? ar.ValID : '' });else\n          if (ar.Type == '布尔值')\n          req.push({ name: ar.Name, value: ar.Value ? '1' : '0' });else\n\n          req.push({ name: ar.Name, value: ar.Value ? ar.Value : '' });\n        }\n      }\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid } };\n\n\n\n      var dataInfo = {\n        class_id: this.$data.param.clsid, data_obj_id: '', masterclsid: '',\n        req: JSON.stringify(req), upfile: JSON.stringify([]), post_data: JSON.stringify({}),\n        compose: JSON.stringify([]), refdatastore: JSON.stringify([]), extinfo: JSON.stringify(enviroment),\n        not_trigger_sys_event: '' };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:719\");\n      this.$store.dispatch('addclassattr', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:721\");\n        if (success.code == '00000') {\n          uni.showModal({ title: \"提示\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n          _this3.class_attr_init();\n        } else {\n          uni.showModal({ title: \"错误5\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误5.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    class_attr_init: function class_attr_init() {\n      var attrlist = this.$data.classGridStyle.StyleDef.show_style;\n      var newattrlist = [];\n      if (this.$data.classAttrList.length > 0) {\n        for (var i = 0; i < attrlist.length; i++) {\n          var open = attrlist[i].open;\n          var name = attrlist[i].attrgroup_name;\n          var attrs = attrlist[i].attrs;\n          for (var s = 0; s < this.$data.classAttrList.length; s++) {\n            var clsattr = this.$data.classAttrList[s];\n            if (name == clsattr.Name) {\n              var attr = [];\n              for (var j = 0; j < attrs.length; j++) {\n                for (var l = 0; l < clsattr.Attr.length; l++) {\n                  var ca = clsattr.Attr[l];\n                  if (attrs[j].attr == ca.Name) {\n                    ca.action = attrs[j].action;\n                    ca.edit = attrs[j].edit;\n                    ca.notempty = attrs[j].notempty;\n                    ca.ext_button = attrs[j].ext_button;\n                    ca.button_img = attrs[j].button_img;\n                    ca.button_tooltip = attrs[j].button_tooltip;\n                    ca.before_click_button = attrs[j].before_click_button;\n                    ca.button_callback = attrs[j].button_callback;\n                    ca.hidden = attrs[j].hidden;\n                    ca.Value = \"\";\n                    if (ca.dictitem) {\n                      // var dictitem=ca.dictitem;\n                      // var dictitemlist=[];\n                      // for (var d = 0; d < dictitem.length; d++) {\n                      // \tdictitemlist.push(dictitem[d].CN_S_NAME);\n                      // }\n                      // ca.dictitemlist = dictitemlist;\n                      ca.Value = ca.dictitem[0].CN_S_NAME;\n                    }\n                    if (ca.Type == '日期' || ca.Type == '时间') {\n                      var nowDate = new Date();\n                      var date = { year: nowDate.getFullYear(), month: nowDate.getMonth() + 1, day: nowDate.getDate() };\n                      ca.Value = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day);\n                    }\n                    if (ca.Type == '引用对象(多个)') {\n                      var relClsList = [];\n                      var attr_rescls = ca.RelCls.split(',');\n                      for (var ii in attr_rescls) {\n                        var rescls = attr_rescls[ii].split('|');\n                        relClsList.push({ id: rescls[0], name: rescls[1] });\n                      }\n                      ca.RelClsList = relClsList;\n                      ca.Value = '请';\n                    }\n                    if (ca.Type == '省市区')\n                    ca.Value = '请选择';\n                    if (ca.Type == '布尔值')\n                    ca.Value = false;\n\n                    attr.push(ca);\n                  }\n                }\n              }\n              newattrlist.push({\n                BkColor: clsattr.BkColor,\n                HasAce: clsattr.HasAce,\n                ImgFontStyle: clsattr.ImgFontStyle,\n                Name: clsattr.Name,\n                Order: clsattr.Order,\n                Open: open,\n                Attr: attr,\n                control_style: this.$data.classGridStyle.StyleDef.control_style,\n                title_p_wdith: this.$data.classGridStyle.StyleDef.title_p_wdith });\n\n            }\n          }\n        }\n        if (newattrlist.length > 0) {\n          this.$data.classAttrList = newattrlist;\n        }\n        var req = [];\n        if (this.$data.classGridStyle.StyleDef) {\n          if (this.$data.classGridStyle.StyleDef.show_style.length > 0) {\n            var attrlist = this.$data.classGridStyle.StyleDef.show_style;\n            // $el.find('.attr_field').prop('readonly', true);\n            // $el.find('.attr_field').prop('disabled', true);\n            for (var i = 0; i < attrlist.length; i++) {\n              var attr = attrlist[i].attrs;\n              for (var j = 0; j < attr.length; j++) {\n                var ar = attr[j];\n                req.push({ attr: ar.attr, val: ar.value ? ar.value : '' });\n              }\n            }\n          }\n        }\n\n        var eventlist = this.$data.classGridStyle.StyleDef.event;\n        if (eventlist) {\n          if (eventlist.length > 0) {\n            for (var i = 0; i < eventlist.length; i++) {\n              if (eventlist[i].event_id == 'before_ok') {\n                this.$data.edit_ok_event = eventlist[i];\n              } else if (eventlist[i].event_id == 'initial') {\n                this.$data.edit_inital_event = eventlist[i];\n              } else if (eventlist[i].event_id == 'before_select_compose') {\n                this.$data.edit_select_compose_event = eventlist[i].scrip_id;\n                this.$data.edit_compose_cls_id = eventlist[i].compose_cls_id;\n              }\n            }\n          }\n        }\n        __f__(\"log\", req, \" at pages/modal/classAttr.vue:840\");\n        if (this.$data.edit_inital_event) {\n          var eventid = this.$data.edit_inital_event.scrip_id;\n          var info = {\n            eventid: eventid,\n            edtype: \"0\",\n            projectid: '',\n            rclsid: '',\n            robjid: '',\n            userlogin: '',\n            clsid: this.$data.param.clsid,\n            objid: \"\",\n            attr: req };\n\n          this.ini_DataObjRunCustomEvent(info);\n        }\n        __f__(\"log\", this.$data.classGridStyle, \" at pages/modal/classAttr.vue:856\");\n        __f__(\"log\", this.$data.classAttrList, \" at pages/modal/classAttr.vue:857\");\n\n      } else {\n        uni.showModal({ title: \"提示\", content: \"未找到可显示的的属性\", showCancel: false, confirmText: \"取消\" });\n      }\n    },\n    ini_DataObjRunCustomEvent: function ini_DataObjRunCustomEvent(info) {var _this4 = this;\n      var param = {\n        EditStyle: this.$data.param.Edit_dlg.Name,\n        ViewStyle: this.$data.param.Edit_dlg.Name,\n        NotTriggerSysEvent: 0,\n        enviroment: {\n          'function': '3000', // 功能点编号\n          cls_id: this.$data.param.clsid, // 功能点主数据类标识\n          'button': 'top', // top/bottom\n          button_name: '新增',\n          master: {\n            cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n            //obj_id: ''  // button=bottom时 master的obj_id\n          } } };\n\n\n      var inputparameter = '';\n      var global_attr = '';\n\n      var dataInfo = {\n        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid,\n        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,\n        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(param), inputparameter: inputparameter, global_attr: global_attr };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:887\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:889\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          var actionlist = data.action;\n          if (actionlist) {\n            for (var j = 0; j < actionlist.length; j++) {\n              var action = actionlist[j];\n              var action_type = action.action_type;\n              var value = action.value;\n              if (action_type == 'set_dlg_attr') {\n                if (value) {\n                  var val = value;\n                  if (typeof value == 'string') {\n                    val = JSON.parse(value);\n                  }\n                  __f__(\"log\", val, \" at pages/modal/classAttr.vue:904\");\n                  for (var i = 0; i < val.length; i++) {\n                    for (var a = 0; a < _this4.$data.classAttrList.length; a++) {\n                      for (var l = 0; l < _this4.$data.classAttrList[a].Attr.length; l++) {\n                        var ca = _this4.$data.classAttrList[a].Attr[l];\n                        if (val[i].attr == ca.Name) {\n                          ca.value = val[i].value;\n                        }\n                      }\n                    }\n                    // if ($el_attr.data('type') == 'bool') {\n                    //     $el_attr.prop('checked', val[i].value == 'Y' || val[i].value == 'y' || val[i].value == '1')\n                    // }\n                    // else {\n                    // if (val[i].choice_list) {\n                    //     $el_attr.empty();\n                    //     val[i].choice_list.forEach(function (list) {\n                    //         $el_attr.append('<option value=\"' + list + '\">' + list + '</option>');\n                    //     })\n                    // }\n                    //     $el_attr.val(val[i].value);\n                    // }\n                    // $el_attr.data('val', val[i].value);\n\n                    var length = 0;\n                    if (!_this4.$data.refdatastore.filter(function (s) {\n                      return val[i].attr == s.attr;\n                    }).length) {\n                      length = 1;\n                      _this4.$data.refdatastore.push(val[i]);\n                    }\n                    if (length == 0) {\n                      for (var j = 0; j < _this4.$data.refdatastore.length; j++) {\n                        if (_this4.$data.refdatastore[j].attr == val[i].attr) {\n                          _this4.$data.refdatastore[j].value = val[i].value;\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n              if (action_type == 'open_select_userdlg') {\n                uni.showModal({ title: \"错误2.2\", content: \"open_select_userdlg这个action_type还未处理!\", showCancel: false, confirmText: \"取消\" });\n              }\n            }\n          }\n\n        } else {\n          uni.showModal({ title: \"错误2\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误2.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    DataObjRunCustomEvent: function DataObjRunCustomEvent(info, data_attr) {\n      var $this = this;\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n          //obj_id: ''  // button=bottom时 master的obj_id\n        } };\n\n      if (data_attr) {\n        enviroment.edit_dlg = {\n          type: 'small', //小窗口\n          class_id: this.$data.param.clsid //当前数据类id\n        };\n        if (data_attr) {\n          enviroment.edit_dlg.form_control = { //所属的表单控件\n            name: data_attr.Name, //字段属性\n            text: data_attr.DispName, //显示文本\n            group_name: data_attr.GroupName, //属性组\n            type: data_attr.Type, //字段类型\n            readonly: data_attr.ReadOnly, //是否只读\n            button_img: data_attr.button_img, //引用按钮的图标\n            button_tooltip: data_attr.button_tooltip //引用按钮的tooltip\n          };\n        }\n      }\n      var dataInfo = {\n        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid.replace('{', '').replace('}', ''),\n        rclsid: info.rclsid, robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,\n        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), inputparameter: '', global_attr: JSON.stringify(this.$data.global_attr) };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:993\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:995\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          var actionlist = data.action;\n\n          if (actionlist) {\n            __f__(\"log\", actionlist, \" at pages/modal/classAttr.vue:1001\");\n            for (var i = 0; i < actionlist.length; i++) {\n              var action = actionlist[i];\n              if (action.action_type == 'set_dlg_attr') {\n                var result = action.value;\n                for (var i = 0; i < result.length; i++) {\n                  if (result[i].choice_list) {\n                    for (var c = 0; c < $this.$data.classAttrList.length; c++) {\n                      var attr = $this.$data.classAttrList[c].Attr;\n                      for (var j = 0; j < attr.length; j++) {\n                        if (attr[j].Name == result[i].attr) {\n                          if (attr[j].Type == '字典' || attr[j].Type == '字典-字符串') {\n                            var dictItemList = [];\n                            for (var d in result[i].choice_list) {\n                              var val = result[i].choice_list[d];\n                              dictItemList.push({ \"CN_S_NAME\": val, \"Name\": val });\n                            }\n                            attr[j].dictitem = dictItemList;\n                            // attr[j].dictitem = result[i].choice_list;\n                          }\n                        }\n                      }\n                    }\n                  }\n                  for (var c = 0; c < $this.$data.classAttrList.length; c++) {\n                    var attr = $this.$data.classAttrList[c].Attr;\n                    for (var j = 0; j < attr.length; j++) {\n                      __f__(\"log\", attr[j].Name + '==' + result[i].attr, \" at pages/modal/classAttr.vue:1028\");\n                      if (attr[j].Name == result[i].attr) {\n                        attr[j].Value = result[i].value;\n                      }\n                    }\n                  }\n                  var length = 0;\n                  if (!$this.$data.refdatastore.filter(function (s) {\n                    return result[i].attr == s.attr;\n                  }).length) {\n                    length = 1;\n                    $this.$data.refdatastore.push(result[i]);\n                  }\n                  if (length == 0) {\n                    for (var j = 0; j < $this.$data.refdatastore.length; j++) {\n                      if ($this.$data.refdatastore[j].attr == result[i].attr) {\n                        $this.$data.refdatastore[j].value = result[i].value;\n                      }\n                    }\n                  }\n                }\n              } else if (data.action[i].action_type == 'set_global_attr') {\n                $this.$data.global_attr = data.action[i].value || [];\n              }\n            }\n          }\n\n          if (data.result) {\n            var result = data.result;\n            for (var i = 0; i < result.length; i++) {\n              for (var c = 0; c < $this.$data.classAttrList.length; c++) {\n                var attr = $this.$data.classAttrList[c].Attr;\n                for (var j = 0; j < attr.length; j++) {\n                  if (attr[j].Name == result[i].attr) {\n                    attr[j].Value = result[i].value;\n                  }\n                }\n              }\n\n              var length = 0;\n              if (!$this.$data.refdatastore.filter(function (s) {\n                return result[i].attr == s.attr;\n              }).length) {\n                length = 1;\n                $this.$data.refdatastore.push(result[i]);\n              }\n              if (length == 0) {\n                for (var j = 0; j < $this.$data.refdatastore.length; j++) {\n                  if ($this.$data.refdatastore[j].attr == result[i].attr) {\n                    $this.$data.refdatastore[j].value = result[i].value;\n                  }\n                }\n              }\n            }\n          }\n        } else {\n          uni.showModal({ title: \"错误3\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误3.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    OKDataObjRunCustomEvent: function OKDataObjRunCustomEvent() {var _this5 = this;\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n        } };\n\n\n\n      var eventid = this.$data.edit_ok_event.scrip_id;\n      var req = [];\n      var attrlist = this.$data.classAttrList;\n      for (var i = 0; i < attrlist.length; i++) {\n        var attr = attrlist[i].Attr;\n        for (var j = 0; j < attr.length; j++) {\n          var ar = attr[j];\n          if (ar.Value == '请选择') ar.Value = '';\n          if (ar.Type == '引用对象(多个)')\n          if (ar.Value == '请') ar.Value = '';\n          if (ar.Type == '引用人员' || ar.Type == '引用项目')\n          req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n          if (ar.Type == '布尔值')\n          req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n          req.push({ attr: ar.Name, val: ar.Value });\n        }\n      }\n\n      if (this.$data.refdatastore.length > 0) {\n        for (var i = 0; i < this.$data.refdatastore.length; i++) {\n          if (!req.filter(function (s) {\n            return this.$data.refdatastore[i].attr == s.name;\n          }).length) {\n            length = 1;\n            req.push({ 'attr': this.$data.refdatastore[i].attr, 'val': this.$data.refdatastore[i].value });\n          }\n        }\n      }\n      var info = {\n        eventid: eventid,\n        edtype: \"0\",\n        projectid: '',\n        rclsid: '',\n        robjid: '',\n        userlogin: '',\n        clsid: this.$data.param.clsid,\n        objid: \"\",\n        attr: req };\n\n      var dataInfo = {\n        edtype: info.edtype, eventid: info.eventid, projectid: info.projectid, rclsid: info.rclsid,\n        robjid: info.robjid, userlogin: info.userlogin, clsid: info.clsid, objid: info.objid,\n        attr: JSON.stringify(info.attr), extinfo: JSON.stringify(enviroment), global_attr: JSON.stringify(this.$data.global_attr) };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:1148\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:1150\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          var result = data.result;\n          for (var i = 0; i < result.length; i++) {\n            // self.class_attr_ele.find('.attr_field[data-field=\"' + result[i].attr + '\"]').val(result[i].value).data('val', result[i].value);\n            var length = 0;\n            if (!_this5.$data.refdatastore.filter(function (s) {\n              return result[i].attr == s.attr;\n            }).length) {\n              length = 1;\n              _this5.$data.refdatastore.push(result[i]);\n            }\n            if (length == 0) {\n              for (var j = 0; j < _this5.$data.refdatastore.length; j++) {\n                if (_this5.$data.refdatastore[j].attr == result[i].attr) {\n                  _this5.$data.refdatastore[j].value = result[i].value;\n                }\n              }\n            }\n          }\n\n          _this5.add();\n        } else {\n          uni.showModal({ title: \"错误4\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误4.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    },\n    DataObjRunCustomEvent_Return: function DataObjRunCustomEvent_Return(eventid, data_attr, button_callback, index, iindex) {var _this6 = this;\n      var enviroment = {\n        'function': '3000', // 功能点编号\n        cls_id: this.$data.param.clsid, // 功能点主数据类标识\n        'button': 'top', // top/bottom\n        button_name: '新增',\n        master: {\n          cls_id: this.$data.param.clsid // button=bottom时 master的cls_id\n          //obj_id: ''  // button=bottom时 master的obj_id\n        } };\n\n      var req = [];\n      var attrlist = this.$data.classAttrList;\n      for (var i = 0; i < attrlist.length; i++) {\n        var attr = attrlist[i].Attr;\n        for (var j = 0; j < attr.length; j++) {\n          var ar = attr[j];\n          if (ar.Value == '请选择') ar.Value = '';\n          if (ar.Type == '引用对象(多个)')\n          if (ar.Value == '请') ar.Value = '';\n          if (ar.Type == '引用人员' || ar.Type == '引用项目')\n          req.push({ attr: ar.Name, val: ar.ValID ? ar.ValID : '' });else\n          if (ar.Type == '布尔值')\n          req.push({ attr: ar.Name, val: ar.Value ? '1' : '0' });else\n\n          req.push({ attr: ar.Name, val: ar.Value });\n        }\n      }\n      if (this.$data.refdatastore.length > 0) {\n        for (var i = 0; i < this.$data.refdatastore.length; i++) {\n          if (!req.filter(function (s) {\n            return this.$data.refdatastore[i].attr == s.name;\n          }).length) {\n            length = 1;\n            req.push({ 'attr': this.$data.refdatastore[i].attr, 'val': this.$data.refdatastore[i].value });\n          }\n        }\n      }\n      var extinfo = enviroment;\n      extinfo.edit_dlg = {\n        type: 'small', //小窗口\n        class_id: this.$data.param.clsid //当前数据类id\n      };\n      if (data_attr) {\n        extinfo.edit_dlg.form_control = { //所属的表单控件\n          name: data_attr.Name, //字段属性\n          text: data_attr.DispName, //显示文本\n          group_name: data_attr.GroupName, //属性组\n          type: data_attr.Type, //字段类型\n          readonly: data_attr.ReadOnly, //是否只读\n          button_img: data_attr.button_img, //引用按钮的图标\n          button_tooltip: data_attr.button_tooltip //引用按钮的tooltip\n        };\n      }\n      var dataInfo = {\n        edtype: \"0\", eventid: eventid, projectid: '', rclsid: '', robjid: '', userlogin: '',\n        clsid: this.$data.param.clsid, objid: '', attr: JSON.stringify(req),\n        extinfo: JSON.stringify(extinfo), global_attr: JSON.stringify(this.$data.global_attr) };\n\n      __f__(\"log\", dataInfo, \" at pages/modal/classAttr.vue:1240\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:1242\");\n        if (success.code == '00000') {\n          var data = JSON.parse(success.data);\n          if (data != \"\") {\n\n            var actions = data.action;\n            __f__(\"log\", actions, \" at pages/modal/classAttr.vue:1248\");\n            if (actions) {\n              for (var i = 0; i < actions.length; i++) {\n                var action = actions[i];\n                var val = action.value;\n                var enviroment = JSON.stringify(enviroment);\n\n                if (action.action_type == 'open_panel') {\n                  var d = dialog({\n                    title: '<i class=\"ace-icon fa fa-info-circle\"></i> ' + '提示',\n                    content: action.action_type + '此action尚未处理!' });\n\n                  d.show();\n                } else\n                if (action.action_type == 'open_select_userdlg') {\n                  var style = val.style;\n                  // style == 'user' ? '选择人员' : style == 'department' ? '选择部门' : style == 'role' ? '选择角色' : ''\n                  var $this = _this6;\n                  var param = {\n                    index: index,\n                    iindex: iindex,\n                    button_callback: button_callback,\n                    req: req,\n                    data_attr: data_attr };\n\n                  uni.navigateTo({\n                    url: '../selpsn/index?mulit=false&param=' + JSON.stringify(param),\n                    events: {\n                      AddPer: function AddPer(data, param) {\n                        // console.log(param);\n                        __f__(\"log\", data, \" at pages/modal/classAttr.vue:1278\");\n                        var callback_eventid = param.button_callback.trim();\n                        var info = {\n                          eventid: callback_eventid,\n                          edtype: \"0\",\n                          projectid: '',\n                          rclsid: '',\n                          robjid: '',\n                          userlogin: '',\n                          clsid: $this.$data.param.clsid,\n                          objid: \"\",\n                          attr: param.req,\n                          inputparameter: data };\n\n                        $this.DataObjRunCustomEvent(info, param.data_attr);\n                      } } });\n\n\n                } else\n                if (action.action_type == 'open_data_query_dlg') {\n\n                } else\n                if (action.action_type == 'open_common_dlg') {\n                  var value = action.value;\n                  var d = dialog({\n                    title: '<i class=\"ace-icon fa fa-info-circle\"></i> ' + '提示',\n                    content: action.action_type + '此action尚未处理!' });\n\n                  d.show();\n                } else\n                if (action.action_type == 'open_project_query_dlg') {\n                  //console.log(action.value.select_range);\n                  //console.log(action.value.mulit_select);\n                  var priRel = '-1';\n                  if (action.value.select_range == '全部相关')\n                  priRel = '0';else\n                  if (action.value.select_range == '我负责的项目')\n                  priRel = '1';else\n                  if (action.value.select_range == '我创建的')\n                  priRel = '2';else\n                  if (action.value.select_range == '我参与的' || action.value.select_range == '我参加的')\n                  priRel = '3';else\n                  if (action.value.select_range == '我关注的')\n                  priRel = '4';else\n                  if (action.value.select_range == '我下属的项目')\n                  priRel = '5';\n\n                  var $this = _this6;\n                  var param_ = {\n                    index: index,\n                    iindex: iindex,\n                    button_callback: button_callback,\n                    req: req };\n\n                  uni.navigateTo({\n                    url: '../selPrj/index?relation=' + priRel + '&param=' + JSON.stringify(param_),\n                    events: {\n                      AddPer: function AddPer(data, param) {\n                        $this.$data.classAttrList[param.index].Attr[param.iindex].Value = data[0].Name;\n                        $this.$data.classAttrList[param.index].Attr[param.iindex].ValID = data[0].ID + ';' + data[0].Name;\n                        var callback_eventid = param.button_callback.trim();\n                        if (callback_eventid) {\n                          var info = {\n                            eventid: callback_eventid,\n                            edtype: \"2\",\n                            projectid: data[0].ID,\n                            rclsid: \"\",\n                            robjid: \"\",\n                            userlogin: \"\",\n                            clsid: $this.$data.param.clsid,\n                            objid: \"\",\n                            attr: param.req };\n\n\n                          $this.DataObjRunCustomEvent(info);\n                        }\n                      } } });\n\n\n                } else {\n                  var d = dialog({\n                    title: '<i class=\"ace-icon fa fa-info-circle\"></i> ' + '提示',\n                    content: action.action_type + '此action尚未处理!' });\n\n                  d.show();\n                }\n              }\n            }\n          } else {\n            uni.showModal({ title: \"错误5.2\", content: '调用 before_click_button 脚本返回空,event_id' + eventid, showCancel: false, confirmText: \"取消\" });\n          }\n        } else {\n          uni.showModal({ title: \"错误5\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误5.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbW9kYWwvY2xhc3NBdHRyLnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwicGlja2VyQWRkcmVzcyIsImRhdGEiLCJ0aXRsZSIsInBhcmFtIiwiY2xhc3NBdHRyTGlzdCIsImNsYXNzR3JpZFN0eWxlIiwiZWRpdF9pbml0YWxfZXZlbnQiLCJlZGl0X29rX2V2ZW50IiwiZWRpdF9zZWxlY3RfY29tcG9zZV9ldmVudCIsImVkaXRfY29tcG9zZV9jbHNfaWQiLCJnbG9iYWxfYXR0ciIsInJlZmRhdGFzdG9yZSIsIm9uTG9hZCIsIm9wdGlvbnMiLCJ1bmkiLCJzZXROYXZpZ2F0aW9uQmFyVGl0bGUiLCJ0aXRsZW5hbWUiLCJKU09OIiwicGFyc2UiLCIkZGF0YSIsIkFkZF9CdG5OYW1lIiwiRWRpdERsZ01vZGUiLCJzaG93TW9kYWwiLCJjb250ZW50Iiwic2hvd0NhbmNlbCIsImNvbmZpcm1UZXh0IiwiRWRpdF9kbGciLCJOYW1lIiwiZWRpdF9kbGciLCJNb2RlbCIsImRhdGFJbmZvIiwiY2xhc3NfaWQiLCJjbHNpZCIsIiR0aGlzIiwiJHN0b3JlIiwic3RhdGUiLCJ0aGlzYXJlYUZ1bmNJRCIsImdldHRlcnMiLCJnZXRjbGFzc0F0dHJMaXN0IiwiY2xhc3NHcmlkU3R5bGVJbmZvIiwiZGlzcGF0Y2giLCJ0aGVuIiwic3VjY2VzcyIsImNvZGUiLCJtc2ciLCJjYXRjaCIsImV4IiwiZXJyTXNnIiwibWV0aG9kcyIsImdyaWRzdHlsZUluZm8iLCJuYW1lIiwidHlwZSIsInRoaXNFZGl0TmFtZSIsImdldGNsYXNzR3JpZFN0eWxlSW5mbyIsImNsYXNzX2F0dHJfaW5pdCIsIlN0eWxlRGVmIiwib250YXAiLCJlIiwiZ2V0QXBwIiwib25TY2FuIiwicmVzdWx0IiwidGFyZ2V0IiwiZGF0YXNldCIsIkF0dHIiLCJWYWx1ZSIsImRlY29kZWRhdGEiLCJvbmFycm93IiwiaW5kZXgiLCJvcGVuIiwiT3BlbiIsIm9uZGF0ZVRpbWUiLCJ2YWx1ZSIsIm9uY2hhbmdlIiwiZGljdGl0ZW0iLCJkYXRhX2F0dHIiLCJldmVudGlkIiwiYWN0aW9uIiwicmVxIiwiYXR0cmxpc3QiLCJpIiwibGVuZ3RoIiwiYXR0ciIsImoiLCJhciIsIlR5cGUiLCJwdXNoIiwidmFsIiwiVmFsSUQiLCJpbmZvIiwiZWR0eXBlIiwicHJvamVjdGlkIiwicmNsc2lkIiwicm9iamlkIiwidXNlcmxvZ2luIiwib2JqaWQiLCJEYXRhT2JqUnVuQ3VzdG9tRXZlbnQiLCJvbmV2ZW50Iiwib25jaGVjayIsImlzY2hlY2tlZCIsImlzY2hlY2siLCJhZGRyZXNzY2hhbmdlIiwiam9pbiIsImNsYXNzQXR0cl9leHRCdXR0b24iLCJpaW5kZXgiLCJiZWZvcmVfY2xpY2tfYnV0dG9uIiwiYnV0dG9uX2NhbGxiYWNrIiwiRGF0YU9ialJ1bkN1c3RvbUV2ZW50X1JldHVybiIsImNsYXNzQXR0cl9BZGRQZXIiLCJuYXZpZ2F0ZVRvIiwidXJsIiwic3RyaW5naWZ5IiwiZXZlbnRzIiwiQWRkUGVyIiwiTG9naW4iLCJ0cmltIiwiY2xhc3NBdHRyX0FkZFJlZiIsImNsYXNzQXR0cl9BZGRQcmoiLCJJRCIsInNhdmEiLCJPS0RhdGFPYmpSdW5DdXN0b21FdmVudCIsImFkZCIsIk5vdEVtcHR5IiwiZW52aXJvbWVudCIsImNsc19pZCIsImJ1dHRvbl9uYW1lIiwibWFzdGVyIiwiZGF0YV9vYmpfaWQiLCJtYXN0ZXJjbHNpZCIsInVwZmlsZSIsInBvc3RfZGF0YSIsImNvbXBvc2UiLCJleHRpbmZvIiwibm90X3RyaWdnZXJfc3lzX2V2ZW50Iiwic2hvd19zdHlsZSIsIm5ld2F0dHJsaXN0IiwiYXR0cmdyb3VwX25hbWUiLCJhdHRycyIsInMiLCJjbHNhdHRyIiwibCIsImNhIiwiZWRpdCIsIm5vdGVtcHR5IiwiZXh0X2J1dHRvbiIsImJ1dHRvbl9pbWciLCJidXR0b25fdG9vbHRpcCIsImhpZGRlbiIsIkNOX1NfTkFNRSIsIm5vd0RhdGUiLCJEYXRlIiwiZGF0ZSIsInllYXIiLCJnZXRGdWxsWWVhciIsIm1vbnRoIiwiZ2V0TW9udGgiLCJkYXkiLCJnZXREYXRlIiwicmVsQ2xzTGlzdCIsImF0dHJfcmVzY2xzIiwiUmVsQ2xzIiwic3BsaXQiLCJpaSIsInJlc2NscyIsImlkIiwiUmVsQ2xzTGlzdCIsIkJrQ29sb3IiLCJIYXNBY2UiLCJJbWdGb250U3R5bGUiLCJPcmRlciIsImNvbnRyb2xfc3R5bGUiLCJ0aXRsZV9wX3dkaXRoIiwiZXZlbnRsaXN0IiwiZXZlbnQiLCJldmVudF9pZCIsInNjcmlwX2lkIiwiY29tcG9zZV9jbHNfaWQiLCJpbmlfRGF0YU9ialJ1bkN1c3RvbUV2ZW50IiwiRWRpdFN0eWxlIiwiVmlld1N0eWxlIiwiTm90VHJpZ2dlclN5c0V2ZW50IiwiaW5wdXRwYXJhbWV0ZXIiLCJhY3Rpb25saXN0IiwiYWN0aW9uX3R5cGUiLCJhIiwiZmlsdGVyIiwiZm9ybV9jb250cm9sIiwidGV4dCIsIkRpc3BOYW1lIiwiZ3JvdXBfbmFtZSIsIkdyb3VwTmFtZSIsInJlYWRvbmx5IiwiUmVhZE9ubHkiLCJyZXBsYWNlIiwiY2hvaWNlX2xpc3QiLCJjIiwiZGljdEl0ZW1MaXN0IiwiZCIsImFjdGlvbnMiLCJkaWFsb2ciLCJzaG93Iiwic3R5bGUiLCJjYWxsYmFja19ldmVudGlkIiwicHJpUmVsIiwic2VsZWN0X3JhbmdlIiwicGFyYW1fIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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V0FBVyxFQUFDLElBQTlELEVBQWQ7QUFDQTtBQUNELE9BbklELEVBbUlHb0IsS0FuSUgsQ0FtSVMsVUFBQUMsRUFBRSxFQUFFO0FBQ1o7QUFDQWhDLFdBQUcsQ0FBQ1EsU0FBSixDQUFjLEVBQUNwQixLQUFLLEVBQUMsT0FBUCxFQUFlcUIsT0FBTyxFQUFDdUIsRUFBRSxDQUFDQyxNQUExQixFQUFpQ3ZCLFVBQVUsRUFBQyxLQUE1QyxFQUFrREMsV0FBVyxFQUFDLElBQTlELEVBQWQ7QUFDQSxPQXRJRDtBQXVJRyxLQTc4QkksRUFoRUssRSIsImZpbGUiOiI0NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuXHRpbXBvcnQgcGlja2VyQWRkcmVzcyBmcm9tICcuLi8uLi9qcy9waWNrZXJBZGRyZXNzL3BpY2tlckFkZHJlc3MudnVlJ1xuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0Y29tcG9uZW50czoge1xuICAgICAgICAgICAgcGlja2VyQWRkcmVzc1xuICAgICAgICB9LFxuXHRcdGRhdGEoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR0aXRsZTogJ+aWsOWinicsXG5cdFx0XHRcdHBhcmFtOnt9LFxuXHRcdFx0XHRjbGFzc0F0dHJMaXN0OltdLFxuXHRcdFx0XHRjbGFzc0dyaWRTdHlsZTpbXSxcblx0XHRcdFx0ZWRpdF9pbml0YWxfZXZlbnQ6XCJcIiwgIC8v5by556qX5Yid5aeL5YyW5LqL5Lu2SURcblx0XHRcdFx0ZWRpdF9va19ldmVudDpcIlwiLCAgICAgIC8v5by556qX54K55Ye7T0sg6Kem5Y+R5LqL5Lu2SURcblx0XHRcdFx0ZWRpdF9zZWxlY3RfY29tcG9zZV9ldmVudDpcIlwiLCAgLy/pgInmi6nnu4TmiJDlr7nosaHml7bosIPnlKhcblx0XHRcdFx0ZWRpdF9jb21wb3NlX2Nsc19pZDpcIlwiLFxuXHRcdFx0XHRnbG9iYWxfYXR0cjpbXSxcblx0XHRcdFx0cmVmZGF0YXN0b3JlOiBbXSxcdCAgIC8v5byV55So5pWw5o2u5a2Y5YKo5Yy6Ly8ge2F0dHI6J0dfUFJKXycgKyBiaW5kYXR0ciArICdfSUQnLCB2YWx1ZTppbmZvLmlkfVxuXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9LFxuXHRcdG9uTG9hZChvcHRpb25zKSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZyhvcHRpb25zKTtcblx0XHRcdHVuaS5zZXROYXZpZ2F0aW9uQmFyVGl0bGUoeyB0aXRsZTogb3B0aW9ucy50aXRsZW5hbWV9KTsgLy/orr7nva7pobbpg6jmoIfpopggXG5cdFx0XHR2YXIgcGFyYW0gPSBKU09OLnBhcnNlKG9wdGlvbnMucGFyYW0pO1xuXHRcdFx0dGhpcy4kZGF0YS50aXRsZSA9IHBhcmFtLkFkZF9CdG5OYW1lP3BhcmFtLkFkZF9CdG5OYW1lOm9wdGlvbnMudGl0bGVuYW1lOyAvL+iuvue9ruaMiemSruaWh+Wtl1xuXHRcdFx0Ly8gY29uc29sZS5sb2cocGFyYW0pO1xuXHRcdFx0aWYoIXBhcmFtLkVkaXREbGdNb2RlKXtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLmj5DnpLpcIixjb250ZW50Olwi6K+l5Yqf6IO954K55pyq6YWN572u57yW6L6R56qX5Y+j77yM6K+36YeN5paw6YWN572u77yBXCIsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGlmKCFwYXJhbS5FZGl0X2RsZy5OYW1lKXtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLmj5DnpLpcIixjb250ZW50Olwi6K+l5Yqf6IO954K55pyq6YWN572u56qX5Y+j5qC35byP77yM6K+36YeN5paw6YWN572u77yBXCIsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdHRoaXMuJGRhdGEucGFyYW0gPSBwYXJhbTtcblx0XHRcdHZhciBlZGl0X2RsZyA9IHtcblx0XHRcdCAgICBNb2RlbDogcGFyYW0uRWRpdERsZ01vZGUsXG5cdFx0XHQgICAgTmFtZTogcGFyYW0uRWRpdF9kbGcuTmFtZVxuXHRcdFx0fVxuXHRcdFx0dmFyIGRhdGFJbmZvID0ge1xuXHRcdFx0XHRjbGFzc19pZDogcGFyYW0uY2xzaWRcblx0XHRcdH07XG5cdFx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXHRcdFx0JHRoaXMuJHN0b3JlLnN0YXRlLnRoaXNhcmVhRnVuY0lEID0gcGFyYW0uY2xzaWQ7XG5cdFx0XHQvLyBjb25zb2xlLmxvZygkdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRjbGFzc0F0dHJMaXN0KTtcblx0XHRcdCAvL+iOt+WPllxuXHRcdFx0aWYoJHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Y2xhc3NBdHRyTGlzdCl7XG5cdFx0XHQgXHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0ID0gJHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Y2xhc3NBdHRyTGlzdC5kYXRhO1xuXHRcdFx0XHQkdGhpcy5jbGFzc0dyaWRTdHlsZUluZm8oKTtcblx0XHRcdH1lbHNlXG5cdFx0XHRcdCR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY2xhc3NBdHRyTGlzdCcsZGF0YUluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcblx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QgPSBzdWNjZXNzLmRhdGE7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdCR0aGlzLmNsYXNzR3JpZFN0eWxlSW5mbygpO1xuXHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68xXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vMS4xXCIsY29udGVudDpleC5lcnJNc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRhc3luYyBjbGFzc0dyaWRTdHlsZUluZm8oKXtcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRcdFx0dmFyIGdyaWRzdHlsZUluZm8gPSB7XG5cdFx0XHRcdFx0Y2xhc3NfaWQ6ICR0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHRcdG5hbWU6ICR0aGlzLiRkYXRhLnBhcmFtLkVkaXRfZGxnLk5hbWUsXG5cdFx0XHRcdFx0dHlwZTogJzInXG5cdFx0XHRcdH07XG5cdFx0XHRcdCR0aGlzLiRzdG9yZS5zdGF0ZS50aGlzRWRpdE5hbWUgPSAkdGhpcy4kZGF0YS5wYXJhbS5FZGl0X2RsZy5OYW1lXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCR0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldGNsYXNzR3JpZFN0eWxlSW5mbyk7XG5cdFx0XHRcdCAvL+iOt+WPllxuXHRcdFx0XHRpZigkdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRjbGFzc0dyaWRTdHlsZUluZm8pe1xuXHRcdFx0XHQgXHQkdGhpcy4kZGF0YS5jbGFzc0dyaWRTdHlsZSA9ICR0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldGNsYXNzR3JpZFN0eWxlSW5mby5kYXRhO1xuXHRcdFx0XHRcdCR0aGlzLmNsYXNzX2F0dHJfaW5pdCgpO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHQvL2NvbnNvbGUubG9nKGdyaWRzdHlsZUluZm8pO1xuXHRcdFx0XHRcdCR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY2xhc3NHcmlkU3R5bGVJbmZvJyxncmlkc3R5bGVJbmZvKS50aGVuKHN1Y2Nlc3M9Pntcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRcdFx0XHRzdWNjZXNzLmRhdGEuU3R5bGVEZWYgPSBKU09OLnBhcnNlKHN1Y2Nlc3MuZGF0YS5TdHlsZURlZik7XG5cdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlID0gc3VjY2Vzcy5kYXRhO1xuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0JHRoaXMuY2xhc3NfYXR0cl9pbml0KCk7XG5cdFx0XHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68xLjJcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhleCk7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzEuM1wiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0b250YXAoZSl7IC8v5omr56CB5Yqf6IO9XG5cdFx0XHRcdC8vY29uc29sZS5sb2coZS50YXJnZXQpXG5cdFx0XHRcdGdldEFwcCgpLm9uU2NhbigocmVzdWx0KT0+e1xuXHRcdFx0XHRcdC8vY29uc29sZS5sb2cocmVzdWx0LmRlY29kZWRhdGEpO1xuXHRcdFx0XHRcdHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT1yZXN1bHQuZGVjb2RlZGF0YTtcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRvbmFycm93KGluZGV4LG9wZW4pe1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhpbmRleCsnLS0nK29wZW4pO1xuXHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbaW5kZXhdLk9wZW49b3Blbj09dHJ1ZT9mYWxzZTp0cnVlO1xuXHRcdFx0fSxcblx0XHRcdG9uZGF0ZVRpbWUoZSkge1xuXHRcdFx0XHQvL2NvbnNvbGUubG9nKGUudGFyZ2V0KVxuXHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9ZS50YXJnZXQudmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0b25jaGFuZ2UoZSkge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHRcdHZhciB2YWx1ZT10aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uZGljdGl0ZW1bZS50YXJnZXQudmFsdWVdO1xuXHRcdFx0XHR2YXIgZGF0YV9hdHRyID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dO1xuXHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhX2F0dHIpO1xuXHRcdFx0XHRpZiAodmFsdWUuTmFtZSAhPSBkYXRhX2F0dHIuVmFsdWUpIHtcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9dmFsdWUuTmFtZTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWUpO1xuXHRcdFx0XHRcdHZhciBldmVudGlkID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLmFjdGlvbjtcblx0XHRcdFx0XHRpZiAoZXZlbnRpZCkge1xuXHRcdFx0XHQgICAgICAgIC8vIHNlbGYuZXZlbnRfbm9fc3ViID0gMTtcblx0XHRcdFx0ICAgICAgICB2YXIgcmVxPVtdO1xuXHRcdFx0XHQgICAgICAgIHZhciBhdHRybGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdDtcblx0XHRcdFx0ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdCAgICAgICAgXHR2YXIgYXR0ciA9IGF0dHJsaXN0W2ldLkF0dHI7XG5cdFx0XHRcdCAgICAgICAgXHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ICAgICAgICBcdFx0dmFyIGFyID0gYXR0cltqXTtcblx0XHRcdFx0ICAgICAgICBcdFx0aWYoYXIuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJylcblx0XHRcdFx0ICAgICAgICBcdFx0XHRpZihhci5WYWx1ZT09J+ivtycpIGFyLlZhbHVlPScnO1xuXHRcdFx0XHQgICAgICAgIFx0XHRpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcblx0XHRcdFx0ICAgICAgICBcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsSUQgP2FyLlZhbElEIDonJyB9KTtcblx0XHRcdFx0ICAgICAgICBcdFx0ZWxzZSBpZihhci5UeXBlPT0n5biD5bCU5YC8Jylcblx0XHRcdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZT8nMSc6JzAnfSk7XG5cdFx0XHRcdCAgICAgICAgXHRcdGVsc2Vcblx0XHRcdFx0ICAgICAgICBcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWUgP2FyLlZhbHVlIDonJ30pO1xuXHRcdFx0XHQgICAgICAgIFx0fVxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICB2YXIgaW5mbyA9IHtcblx0XHRcdFx0ICAgICAgICAgICAgZXZlbnRpZDogZXZlbnRpZCxcblx0XHRcdFx0ICAgICAgICAgICAgZWR0eXBlOiBcIjBcIixcblx0XHRcdFx0ICAgICAgICAgICAgcHJvamVjdGlkOiAnJyxcblx0XHRcdFx0ICAgICAgICAgICAgcmNsc2lkOiAnJyxcblx0XHRcdFx0ICAgICAgICAgICAgcm9iamlkOiAnJyxcblx0XHRcdFx0ICAgICAgICAgICAgdXNlcmxvZ2luOiAnJyxcblx0XHRcdFx0ICAgICAgICAgICAgY2xzaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsXG5cdFx0XHRcdCAgICAgICAgICAgIG9iamlkOiBcIlwiLFxuXHRcdFx0XHQgICAgICAgICAgICBhdHRyOiByZXEsXG5cdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIHRoaXMuRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pO1xuXHRcdFx0XHQgICAgfVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0fSxcblx0XHRcdG9uZXZlbnQoZSl7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUudGFyZ2V0KTtcblx0XHRcdFx0dmFyIGRhdGFfYXR0ciA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXTtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZGF0YV9hdHRyKTtcblx0XHRcdFx0aWYgKGUudGFyZ2V0LnZhbHVlICE9IGRhdGFfYXR0ci5WYWx1ZSkge1xuXHRcdFx0XHRcdHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT1lLnRhcmdldC52YWx1ZTtcblx0XHRcdFx0XHR2YXIgZXZlbnRpZCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5hY3Rpb247XG5cdFx0XHRcdFx0aWYgKGV2ZW50aWQpIHtcblx0XHRcdFx0ICAgICAgICAvLyBzZWxmLmV2ZW50X25vX3N1YiA9IDE7XG5cdFx0XHRcdCAgICAgICAgdmFyIHJlcT1bXTtcblx0XHRcdFx0ICAgICAgICB2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XG5cdFx0XHRcdCAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHQgICAgICAgIFx0dmFyIGF0dHIgPSBhdHRybGlzdFtpXS5BdHRyO1xuXHRcdFx0XHQgICAgICAgIFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdCAgICAgICAgXHRcdHZhciBhciA9IGF0dHJbal07XG5cdFx0XHRcdCAgICAgICAgXHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0ICAgICAgICBcdFx0aWYoYXIuVHlwZT09J+W8leeUqOS6uuWRmCcgfHwgYXIuVHlwZT09J+W8leeUqOmhueebricpXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbElEID9hci5WYWxJRCA6JycgfSk7XG5cdFx0XHRcdCAgICAgICAgXHRcdGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWU/JzEnOicwJ30pO1xuXHRcdFx0XHQgICAgICAgIFx0XHRlbHNlXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlID9hci5WYWx1ZSA6Jyd9KTtcblx0XHRcdFx0ICAgICAgICBcdH1cblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgdmFyIGluZm8gPSB7XG5cdFx0XHRcdCAgICAgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0XHRcdCAgICAgICAgICAgIGVkdHlwZTogXCIwXCIsXG5cdFx0XHRcdCAgICAgICAgICAgIHByb2plY3RpZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHJjbHNpZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHJvYmppZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHVzZXJsb2dpbjogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHQgICAgICAgICAgICBvYmppZDogXCJcIixcblx0XHRcdFx0ICAgICAgICAgICAgYXR0cjogcmVxLFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICB0aGlzLkRhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvLCBkYXRhX2F0dHIpO1xuXHRcdFx0XHQgICAgfVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0fSxcblx0XHRcdG9uY2hlY2soZSkge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHRcdHZhciBpc2NoZWNrZWQgPSBlLnRhcmdldC5kYXRhc2V0LmlzY2hlY2s/ZmFsc2U6dHJ1ZTtcblx0XHRcdFx0dmFyIGRhdGFfYXR0ciA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXTtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZGF0YV9hdHRyKTtcblx0XHRcdFx0aWYgKGlzY2hlY2tlZCAhPSBkYXRhX2F0dHIuVmFsdWUpIHtcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9aXNjaGVja2VkO1xuXHRcdFx0XHRcdHZhciBldmVudGlkID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLmFjdGlvbjtcblx0XHRcdFx0XHRpZiAoZXZlbnRpZCkge1xuXHRcdFx0XHQgICAgICAgIC8vIHNlbGYuZXZlbnRfbm9fc3ViID0gMTtcblx0XHRcdFx0ICAgICAgICB2YXIgcmVxPVtdO1xuXHRcdFx0XHQgICAgICAgIHZhciBhdHRybGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdDtcblx0XHRcdFx0ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdCAgICAgICAgXHR2YXIgYXR0ciA9IGF0dHJsaXN0W2ldLkF0dHI7XG5cdFx0XHRcdCAgICAgICAgXHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ICAgICAgICBcdFx0dmFyIGFyID0gYXR0cltqXTtcblx0XHRcdFx0ICAgICAgICBcdFx0aWYoYXIuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJylcblx0XHRcdFx0ICAgICAgICBcdFx0XHRpZihhci5WYWx1ZT09J+ivtycpIGFyLlZhbHVlPScnO1xuXHRcdFx0XHQgICAgICAgIFx0XHRpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcblx0XHRcdFx0ICAgICAgICBcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsSUQgP2FyLlZhbElEIDonJyB9KTtcblx0XHRcdFx0ICAgICAgICBcdFx0ZWxzZSBpZihhci5UeXBlPT0n5biD5bCU5YC8Jylcblx0XHRcdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZT8nMSc6JzAnfSk7XG5cdFx0XHRcdFx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlID9hci5WYWx1ZSA6Jyd9KTtcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0ICAgICAgICBcdH1cblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgdmFyIGluZm8gPSB7XG5cdFx0XHRcdCAgICAgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0XHRcdCAgICAgICAgICAgIGVkdHlwZTogXCIwXCIsXG5cdFx0XHRcdCAgICAgICAgICAgIHByb2plY3RpZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHJjbHNpZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHJvYmppZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHVzZXJsb2dpbjogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHQgICAgICAgICAgICBvYmppZDogXCJcIixcblx0XHRcdFx0ICAgICAgICAgICAgYXR0cjogcmVxLFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICB0aGlzLkRhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvKTtcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH0sXG5cdFx0XHRhZGRyZXNzY2hhbmdlKGUpIHtcblx0XHRcdCAgICAvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHQgICAgY29uc29sZS5sb2coZS5kYXRhLmpvaW4oJzsnKSlcblx0XHRcdFx0dGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLlZhbHVlPWUuZGF0YS5qb2luKCc7Jyk7XG5cdFx0XHR9LFxuXHRcdFx0Y2xhc3NBdHRyX2V4dEJ1dHRvbihpbmRleCxpaW5kZXgpe1xuXHRcdFx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXHRcdFx0XHR2YXIgYmVmb3JlX2NsaWNrX2J1dHRvbiA9ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbaW5kZXhdLkF0dHJbaWluZGV4XS5iZWZvcmVfY2xpY2tfYnV0dG9uO1xuXHRcdFx0XHR2YXIgYnV0dG9uX2NhbGxiYWNrID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtpbmRleF0uQXR0cltpaW5kZXhdLmJ1dHRvbl9jYWxsYmFjaztcblx0XHRcdFx0aWYoIWJlZm9yZV9jbGlja19idXR0b24pe1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcImJlZm9yZV9jbGlja19idXR0b24tZXZlbnRfaWTkuLrnqbrvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYoIWJ1dHRvbl9jYWxsYmFjayl7XG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLmj5DnpLpcIixjb250ZW50OlwiYnV0dG9uX2NhbGxiYWNrLWV2ZW50X2lk5Li656m677yBXCIsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHZhciBkYXRhX2F0dHIgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbaW5kZXhdLkF0dHJbaWluZGV4XTtcblx0XHRcdFx0dGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnRfUmV0dXJuKGJlZm9yZV9jbGlja19idXR0b24sIGRhdGFfYXR0ciwgYnV0dG9uX2NhbGxiYWNrLCBpbmRleCxpaW5kZXgpO1xuXHRcdFx0fSxcblx0XHRcdGNsYXNzQXR0cl9BZGRQZXIoaW5kZXgsaWluZGV4KXtcblx0XHRcdFx0dmFyIHBhcmFtPXtpbmRleDppbmRleCxpaW5kZXg6aWluZGV4fTtcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdHVybDonLi4vc2VscHNuL2luZGV4P211bGl0PWZhbHNlJnBhcmFtPScrSlNPTi5zdHJpbmdpZnkocGFyYW0pLFxuXHRcdFx0XHRcdGV2ZW50czp7XG5cdFx0XHRcdFx0XHRBZGRQZXIoZGF0YSxwYXJhbSl7IFxuXHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhwYXJhbSk7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGRhdGEpO1xuXHRcdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uVmFsdWU9ZGF0YVswXS5OYW1lO1xuXHRcdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uVmFsSUQ9ZGF0YVswXS5Mb2dpbisnOycrZGF0YVswXS5OYW1lO1xuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0dmFyIGV2ZW50aWQgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uYWN0aW9uO1xuXHRcdFx0XHRcdFx0XHRpZiAoZXZlbnRpZCkge1xuXHRcdFx0XHRcdFx0XHQgICAgZXZlbnRpZCA9IGV2ZW50aWQudHJpbSgpO1xuXHRcdFx0XHRcdFx0XHQgICAgaWYgKGV2ZW50aWQpIHtcblx0XHRcdFx0XHRcdFx0ICAgICAgICB2YXIgaW5mbyA9IHtcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgZXZlbnRpZDogZXZlbnRpZCxcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWR0eXBlOiBcIjRcIixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgcHJvamVjdGlkOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICByY2xzaWQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHJvYmppZDogXCJcIixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgdXNlcmxvZ2luOiBkYXRhWzBdLkxvZ2luLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBjbHNpZDogJHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIG9iamlkOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBhdHRyOiBbXSxcblx0XHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHZhciBkYXRhX2F0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF07XG5cdFx0XHRcdFx0XHRcdCAgICAgICAgJHRoaXMuRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pO1xuXHRcdFx0XHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0XHRjbGFzc0F0dHJfQWRkUmVmKGUpe1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuatpOWKn+iDvei/mOacquWunueOsO+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHQvLyB2YXIgdmFsdWU9dGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLlJlbENsc1tlLnRhcmdldC52YWx1ZV07XG5cdFx0XHRcdC8vIHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT12YWx1ZTtcblx0XHRcdH0sXG5cdFx0XHRjbGFzc0F0dHJfQWRkUHJqKGluZGV4LGlpbmRleCl7XG5cdFx0XHRcdHZhciBwYXJhbT17aW5kZXg6aW5kZXgsaWluZGV4OmlpbmRleH07XG5cdFx0XHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHR1cmw6Jy4uL3NlbFByai9pbmRleD9yZWxhdGlvbj0tMSZwYXJhbT0nK0pTT04uc3RyaW5naWZ5KHBhcmFtKSxcblx0XHRcdFx0XHRldmVudHM6e1xuXHRcdFx0XHRcdFx0QWRkUGVyKGRhdGEscGFyYW0peyBcblx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocGFyYW0pO1xuXHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhkYXRhKTtcblx0XHRcdFx0XHRcdFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLlZhbHVlPWRhdGFbMF0uTmFtZTtcblx0XHRcdFx0XHRcdFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLlZhbElEPWRhdGFbMF0uSUQrJzsnK2RhdGFbMF0uTmFtZTtcblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdHZhciBldmVudGlkID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLmFjdGlvbjtcblx0XHRcdFx0XHRcdFx0aWYgKGV2ZW50aWQpIHtcblx0XHRcdFx0XHRcdFx0ICAgIGV2ZW50aWQgPSBldmVudGlkLnRyaW0oKTtcblx0XHRcdFx0XHRcdFx0ICAgIGlmIChldmVudGlkKSB7XG5cdFx0XHRcdFx0XHRcdCAgICAgICAgdmFyIGluZm8gPSB7XG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGVkdHlwZTogXCIyXCIsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHByb2plY3RpZDogZGF0YVswXS5JRCxcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgcmNsc2lkOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICByb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHVzZXJsb2dpbjogXCJcIixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgY2xzaWQ6ICR0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBvYmppZDogXCJcIixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgYXR0cjogW10sXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdCAgICAgICAgLy8gdmFyIGRhdGFfYXR0ciA9ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XTtcblx0XHRcdFx0XHRcdFx0ICAgICAgICAkdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbyk7XG5cdFx0XHRcdFx0XHRcdCAgICB9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHRcdHNhdmEoKXtcblx0XHRcdFx0aWYgKHRoaXMuJGRhdGEuZWRpdF9va19ldmVudClcblx0XHRcdFx0XHR0aGlzLk9LRGF0YU9ialJ1bkN1c3RvbUV2ZW50KCk7XG5cdFx0XHRcdGVsc2Vcblx0XHRcdFx0XHR0aGlzLmFkZCgpO1xuXHRcdFx0fSxcblx0XHRcdGFkZCgpe1xuXHRcdFx0XHR2YXIgcmVxPVtdO1xuXHRcdFx0XHR2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XG5cdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHR2YXIgYXR0ciA9IGF0dHJsaXN0W2ldLkF0dHI7XG5cdFx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdFx0XHR2YXIgYXIgPSBhdHRyW2pdO1xuXHRcdFx0XHRcdFx0aWYoYXIuTm90RW1wdHk9PScxJyl7XG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDon5a2X5q6177yaJythci5OYW1lKyfvvIzlgLzkuI3og73kuLrnqbrvvIEnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZihhci5WYWx1ZT09J+ivt+mAieaLqScpIGFyLlZhbHVlPScnO1xuXHRcdFx0XHRcdFx0aWYoYXIuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJylcblx0XHRcdFx0XHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0ICAgICAgICBpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcblx0XHRcdFx0ICAgICAgICBcdHJlcS5wdXNoKHsgbmFtZTogYXIuTmFtZSwgdmFsdWU6IGFyLlZhbElEID9hci5WYWxJRCA6JycgfSk7XG5cdFx0XHRcdCAgICAgICAgZWxzZSBpZihhci5UeXBlPT0n5biD5bCU5YC8Jylcblx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBuYW1lOiBhci5OYW1lLCB2YWx1ZTogYXIuVmFsdWU/JzEnOicwJ30pO1xuXHRcdFx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IG5hbWU6IGFyLk5hbWUsIHZhbHVlOiBhci5WYWx1ZSA/YXIuVmFsdWUgOicnfSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHZhciBlbnZpcm9tZW50ID0ge1xuXHRcdFx0XHQgICAgICdmdW5jdGlvbic6ICczMDAwJywgLy8g5Yqf6IO954K557yW5Y+3XG5cdFx0XHRcdCAgICAgY2xzX2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLCAgICAgLy8g5Yqf6IO954K55Li75pWw5o2u57G75qCH6K+GXG5cdFx0XHRcdCAgICAgJ2J1dHRvbic6ICd0b3AnLCAgIC8vIHRvcC9ib3R0b21cblx0XHRcdFx0ICAgICBidXR0b25fbmFtZTogJ+aWsOWinicsXG5cdFx0XHRcdCAgICAgbWFzdGVyOiB7XG5cdFx0XHRcdCAgICAgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgXG5cdFx0XHRcdCAgICAgfVxuXHRcdFx0XHR9O1xuXHRcdFx0XHQgXG5cdFx0XHRcdHZhciBkYXRhSW5mbz17XG5cdFx0XHRcdCAgICBjbGFzc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgZGF0YV9vYmpfaWQ6ICcnLCBtYXN0ZXJjbHNpZDogJycsXG5cdFx0XHRcdCAgICByZXE6IEpTT04uc3RyaW5naWZ5KHJlcSksIHVwZmlsZTogSlNPTi5zdHJpbmdpZnkoW10pLCBwb3N0X2RhdGE6IEpTT04uc3RyaW5naWZ5KHt9KSxcblx0XHRcdFx0ICAgIGNvbXBvc2U6IEpTT04uc3RyaW5naWZ5KFtdKSwgcmVmZGF0YXN0b3JlOiBKU09OLnN0cmluZ2lmeShbXSksIGV4dGluZm86IEpTT04uc3RyaW5naWZ5KGVudmlyb21lbnQpLCBcblx0XHRcdFx0XHRub3RfdHJpZ2dlcl9zeXNfZXZlbnQ6ICcnXG5cdFx0XHRcdH07XG5cdFx0XHRcdGNvbnNvbGUubG9nKGRhdGFJbmZvKTtcblx0XHRcdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2FkZGNsYXNzYXR0cicsZGF0YUluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHRcdHRoaXMuY2xhc3NfYXR0cl9pbml0KCk7XG5cdFx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzVcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuY2F0Y2goZXg9Pntcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor681LjFcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9LFxuXHRcdFx0Y2xhc3NfYXR0cl9pbml0KCl7XG5cdFx0XHRcdHZhciBhdHRybGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NHcmlkU3R5bGUuU3R5bGVEZWYuc2hvd19zdHlsZVxuXHRcdFx0XHR2YXIgbmV3YXR0cmxpc3QgPSBbXTtcblx0XHRcdFx0aWYgKHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdCAgICAgICAgdmFyIG9wZW4gPSBhdHRybGlzdFtpXS5vcGVuO1xuXHRcdFx0XHQgICAgICAgIHZhciBuYW1lID0gYXR0cmxpc3RbaV0uYXR0cmdyb3VwX25hbWU7XG5cdFx0XHRcdCAgICAgICAgdmFyIGF0dHJzID0gYXR0cmxpc3RbaV0uYXR0cnM7XG5cdFx0XHRcdCAgICAgICAgZm9yICh2YXIgcyA9IDA7IHMgPCB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoOyBzKyspIHtcblx0XHRcdFx0ICAgICAgICAgICAgdmFyIGNsc2F0dHIgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Rbc107XG5cdFx0XHRcdCAgICAgICAgICAgIGlmIChuYW1lID09IGNsc2F0dHIuTmFtZSkge1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgdmFyIGF0dHIgPSBbXTtcblx0XHRcdFx0ICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgYXR0cnMubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBsID0gMDsgbCA8IGNsc2F0dHIuQXR0ci5sZW5ndGg7IGwrKykge1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB2YXIgY2EgPSBjbHNhdHRyLkF0dHJbbF07XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhdHRyc1tqXS5hdHRyID09IGNhLk5hbWUpIHtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmFjdGlvbiA9IGF0dHJzW2pdLmFjdGlvbjtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmVkaXQgPSBhdHRyc1tqXS5lZGl0O1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Eubm90ZW1wdHkgPSBhdHRyc1tqXS5ub3RlbXB0eTtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmV4dF9idXR0b24gPSBhdHRyc1tqXS5leHRfYnV0dG9uO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2EuYnV0dG9uX2ltZyA9IGF0dHJzW2pdLmJ1dHRvbl9pbWc7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5idXR0b25fdG9vbHRpcCA9IGF0dHJzW2pdLmJ1dHRvbl90b29sdGlwO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2EuYmVmb3JlX2NsaWNrX2J1dHRvbiA9IGF0dHJzW2pdLmJlZm9yZV9jbGlja19idXR0b247XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5idXR0b25fY2FsbGJhY2sgPSBhdHRyc1tqXS5idXR0b25fY2FsbGJhY2s7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5oaWRkZW4gPSBhdHRyc1tqXS5oaWRkZW47XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2EuVmFsdWUgPVwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoY2EuZGljdGl0ZW0pe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGRpY3RpdGVtPWNhLmRpY3RpdGVtO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdmFyIGRpY3RpdGVtbGlzdD1bXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGZvciAodmFyIGQgPSAwOyBkIDwgZGljdGl0ZW0ubGVuZ3RoOyBkKyspIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0ZGljdGl0ZW1saXN0LnB1c2goZGljdGl0ZW1bZF0uQ05fU19OQU1FKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGNhLmRpY3RpdGVtbGlzdCA9IGRpY3RpdGVtbGlzdDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNhLlZhbHVlID0gY2EuZGljdGl0ZW1bMF0uQ05fU19OQU1FO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZihjYS5UeXBlPT0n5pel5pyfJyB8fCBjYS5UeXBlPT0n5pe26Ze0Jyl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgbm93RGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgZGF0ZSA9IHt5ZWFyOiBub3dEYXRlLmdldEZ1bGxZZWFyKCksbW9udGg6IG5vd0RhdGUuZ2V0TW9udGgoKSArIDEsZGF5OiBub3dEYXRlLmdldERhdGUoKX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNhLlZhbHVlID0gZGF0ZS55ZWFyICsgJy0nICsgKGRhdGUubW9udGggPj0gMTAgPyBkYXRlLm1vbnRoIDogJzAnICsgZGF0ZS5tb250aCkgKyAnLScgKyAoZGF0ZS5kYXkgPj0gMTAgPyBkYXRlLmRheSA6ICcwJyArIGRhdGUuZGF5KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoY2EuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJyl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgcmVsQ2xzTGlzdD1bXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBhdHRyX3Jlc2NscyA9IGNhLlJlbENscy5zcGxpdCgnLCcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9yKHZhciBpaSBpbiBhdHRyX3Jlc2Nscyl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciByZXNjbHMgPSBhdHRyX3Jlc2Nsc1tpaV0uc3BsaXQoJ3wnKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmVsQ2xzTGlzdC5wdXNoKHtpZDpyZXNjbHNbMF0sbmFtZTpyZXNjbHNbMV19KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNhLlJlbENsc0xpc3QgPSByZWxDbHNMaXN0O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2EuVmFsdWUgPSAn6K+3Jztcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoY2EuVHlwZT09J+ecgeW4guWMuicpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjYS5WYWx1ZSA9ICfor7fpgInmi6knO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmKGNhLlR5cGU9PSfluIPlsJTlgLwnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2EuVmFsdWUgPSBmYWxzZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyLnB1c2goY2EpO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgICAgICAgICAgbmV3YXR0cmxpc3QucHVzaCh7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgQmtDb2xvcjogY2xzYXR0ci5Ca0NvbG9yLFxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIEhhc0FjZTogY2xzYXR0ci5IYXNBY2UsXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgSW1nRm9udFN0eWxlOiBjbHNhdHRyLkltZ0ZvbnRTdHlsZSxcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBOYW1lOiBjbHNhdHRyLk5hbWUsXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgT3JkZXI6IGNsc2F0dHIuT3JkZXIsXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgT3Blbjogb3Blbixcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBBdHRyOiBhdHRyLFxuXHRcdFx0XHRcdFx0XHRcdFx0Y29udHJvbF9zdHlsZTp0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLmNvbnRyb2xfc3R5bGUsXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZV9wX3dkaXRoOnRoaXMuJGRhdGEuY2xhc3NHcmlkU3R5bGUuU3R5bGVEZWYudGl0bGVfcF93ZGl0aFxuXHRcdFx0XHQgICAgICAgICAgICAgICAgfSlcblx0XHRcdFx0ICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0ICAgIGlmIChuZXdhdHRybGlzdC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdCAgICAgICAgdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0ID0gbmV3YXR0cmxpc3Q7XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdFx0dmFyIHJlcT1bXTtcblx0XHRcdFx0ICAgIGlmICh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmKSB7XG5cdFx0XHRcdCAgICAgICAgIGlmICh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnNob3dfc3R5bGUubGVuZ3RoID4gMCkge1xuXHRcdFx0XHQgICAgICAgICAgICB2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnNob3dfc3R5bGVcblx0XHRcdFx0ICAgICAgICAgICAgLy8gJGVsLmZpbmQoJy5hdHRyX2ZpZWxkJykucHJvcCgncmVhZG9ubHknLCB0cnVlKTtcblx0XHRcdFx0ICAgICAgICAgICAgLy8gJGVsLmZpbmQoJy5hdHRyX2ZpZWxkJykucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTtcblx0XHRcdFx0ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgdmFyIGF0dHIgPSBhdHRybGlzdFtpXS5hdHRyc1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgdmFyIGFyID0gYXR0cltqXTtcblx0XHRcdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuYXR0ciwgdmFsOiBhci52YWx1ZT9hci52YWx1ZTonJyB9KTtcblx0XHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHR9XHRcblx0XHRcdFx0XHRcblx0XHRcdFx0XHR2YXIgZXZlbnRsaXN0ID0gdGhpcy4kZGF0YS5jbGFzc0dyaWRTdHlsZS5TdHlsZURlZi5ldmVudDtcblx0XHRcdFx0XHRpZiAoZXZlbnRsaXN0KSB7XG5cdFx0XHRcdFx0ICAgIGlmIChldmVudGxpc3QubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdCAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHQgICAgICAgICAgICBpZiAoZXZlbnRsaXN0W2ldLmV2ZW50X2lkID09ICdiZWZvcmVfb2snKSB7XG5cdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRoaXMuJGRhdGEuZWRpdF9va19ldmVudCA9IGV2ZW50bGlzdFtpXTtcblx0XHRcdFx0XHQgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50bGlzdFtpXS5ldmVudF9pZCA9PSAnaW5pdGlhbCcpIHtcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5lZGl0X2luaXRhbF9ldmVudCA9IGV2ZW50bGlzdFtpXTtcblx0XHRcdFx0XHQgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50bGlzdFtpXS5ldmVudF9pZCA9PSAnYmVmb3JlX3NlbGVjdF9jb21wb3NlJykge1xuXHRcdFx0XHRcdCAgICAgICAgICAgICAgICB0aGlzLiRkYXRhLmVkaXRfc2VsZWN0X2NvbXBvc2VfZXZlbnQgPSBldmVudGxpc3RbaV0uc2NyaXBfaWQ7XG5cdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRoaXMuJGRhdGEuZWRpdF9jb21wb3NlX2Nsc19pZCA9IGV2ZW50bGlzdFtpXS5jb21wb3NlX2Nsc19pZDtcblx0XHRcdFx0XHQgICAgICAgICAgICB9XG5cdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcSk7XG5cdFx0XHRcdFx0aWYgKHRoaXMuJGRhdGEuZWRpdF9pbml0YWxfZXZlbnQpIHtcblx0XHRcdFx0XHQgICAgdmFyIGV2ZW50aWQgPSB0aGlzLiRkYXRhLmVkaXRfaW5pdGFsX2V2ZW50LnNjcmlwX2lkO1xuXHRcdFx0XHRcdCAgICB2YXIgaW5mbyA9IHtcblx0XHRcdFx0XHQgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0XHRcdFx0ICAgICAgICBlZHR5cGU6IFwiMFwiLFxuXHRcdFx0XHRcdCAgICAgICAgcHJvamVjdGlkOiAnJyxcblx0XHRcdFx0XHQgICAgICAgIHJjbHNpZDogJycsXG5cdFx0XHRcdFx0ICAgICAgICByb2JqaWQ6ICcnLFxuXHRcdFx0XHRcdCAgICAgICAgdXNlcmxvZ2luOiAnJyxcblx0XHRcdFx0XHQgICAgICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHRcdCAgICAgICAgb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdFx0ICAgICAgICBhdHRyOiByZXEsXG5cdFx0XHRcdFx0ICAgIH1cblx0XHRcdFx0XHQgICAgdGhpcy5pbmlfRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlKTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QpO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuacquaJvuWIsOWPr+aYvuekuueahOeahOWxnuaAp1wiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aW5pX0RhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvKXtcblx0XHRcdFx0dmFyIHBhcmFtID0ge1xuXHRcdFx0XHQgICAgRWRpdFN0eWxlOiB0aGlzLiRkYXRhLnBhcmFtLkVkaXRfZGxnLk5hbWUsXG5cdFx0XHRcdCAgICBWaWV3U3R5bGU6IHRoaXMuJGRhdGEucGFyYW0uRWRpdF9kbGcuTmFtZSxcblx0XHRcdFx0ICAgIE5vdFRyaWdnZXJTeXNFdmVudDogMCxcblx0XHRcdFx0ICAgIGVudmlyb21lbnQ6IHtcblx0XHRcdFx0ICAgICAgICAnZnVuY3Rpb24nOiAnMzAwMCcsIC8vIOWKn+iDveeCuee8luWPt1xuXHRcdFx0XHQgICAgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgICAgIC8vIOWKn+iDveeCueS4u+aVsOaNruexu+agh+ivhlxuXHRcdFx0XHQgICAgICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXG5cdFx0XHRcdCAgICAgICAgYnV0dG9uX25hbWU6ICfmlrDlop4nLFxuXHRcdFx0XHQgICAgICAgIG1hc3Rlcjoge1xuXHRcdFx0XHQgICAgICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEY2xzX2lkXG5cdFx0XHRcdCAgICAgICAgICAgIC8vb2JqX2lkOiAnJyAgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRvYmpfaWRcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdH1cblx0XHRcdFx0dmFyIGlucHV0cGFyYW1ldGVyID0gJyc7XG5cdFx0XHRcdHZhciBnbG9iYWxfYXR0ciA9ICcnO1xuXHRcdFx0XHRcblx0XHRcdFx0dmFyIGRhdGFJbmZvID0ge1xuICAgICAgICAgICAgICAgICAgICBlZHR5cGU6IGluZm8uZWR0eXBlLCBldmVudGlkOiBpbmZvLmV2ZW50aWQsIHByb2plY3RpZDogaW5mby5wcm9qZWN0aWQsXG4gICAgICAgICAgICAgICAgICAgIHJjbHNpZDogaW5mby5yY2xzaWQsIHJvYmppZDogaW5mby5yb2JqaWQsIHVzZXJsb2dpbjogaW5mby51c2VybG9naW4sIGNsc2lkOiBpbmZvLmNsc2lkLCBvYmppZDogaW5mby5vYmppZCxcbiAgICAgICAgICAgICAgICAgICAgYXR0cjogSlNPTi5zdHJpbmdpZnkoaW5mby5hdHRyKSwgZXh0aW5mbzogSlNPTi5zdHJpbmdpZnkocGFyYW0pLCBpbnB1dHBhcmFtZXRlcjogaW5wdXRwYXJhbWV0ZXIsIGdsb2JhbF9hdHRyOiBnbG9iYWxfYXR0clxuICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0Y29uc29sZS5sb2coZGF0YUluZm8pO1xuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnRGF0YU9ialJ1bkN1c3RvbUV2ZW50SW5mbycsZGF0YUluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcblx0XHRcdFx0XHRcdHZhciBkYXRhID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEpO1xuXHRcdFx0XHRcdFx0dmFyIGFjdGlvbmxpc3QgPSBkYXRhLmFjdGlvbjtcblx0XHRcdFx0XHRcdGlmIChhY3Rpb25saXN0KSB7XG5cdFx0XHRcdFx0XHQgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhY3Rpb25saXN0Lmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciBhY3Rpb24gPSBhY3Rpb25saXN0W2pdXG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciBhY3Rpb25fdHlwZSA9IGFjdGlvbi5hY3Rpb25fdHlwZTtcblx0XHRcdFx0XHRcdCAgICAgICAgdmFyIHZhbHVlID0gYWN0aW9uLnZhbHVlO1xuXHRcdFx0XHRcdFx0ICAgICAgICBpZiAoYWN0aW9uX3R5cGUgPT0gJ3NldF9kbGdfYXR0cicpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHZhciB2YWwgPSB2YWx1ZTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIHZhbCA9IEpTT04ucGFyc2UodmFsdWUpO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codmFsKTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGEgPSAwOyBhIDwgdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0Lmxlbmd0aDsgYSsrKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBsID0gMDsgbCA8IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFthXS5BdHRyLmxlbmd0aDsgbCsrKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBjYSA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFthXS5BdHRyW2xdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAodmFsW2ldLmF0dHIgID09IGNhLk5hbWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjYS52YWx1ZSA9IHZhbFtpXS52YWx1ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgLy8gaWYgKCRlbF9hdHRyLmRhdGEoJ3R5cGUnKSA9PSAnYm9vbCcpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgLy8gICAgICRlbF9hdHRyLnByb3AoJ2NoZWNrZWQnLCB2YWxbaV0udmFsdWUgPT0gJ1knIHx8IHZhbFtpXS52YWx1ZSA9PSAneScgfHwgdmFsW2ldLnZhbHVlID09ICcxJylcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgLy8gfVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyBlbHNlIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmICh2YWxbaV0uY2hvaWNlX2xpc3QpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAkZWxfYXR0ci5lbXB0eSgpO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIHZhbFtpXS5jaG9pY2VfbGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChsaXN0KSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgICRlbF9hdHRyLmFwcGVuZCgnPG9wdGlvbiB2YWx1ZT1cIicgKyBsaXN0ICsgJ1wiPicgKyBsaXN0ICsgJzwvb3B0aW9uPicpO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIH0pXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIC8vICAgICAkZWxfYXR0ci52YWwodmFsW2ldLnZhbHVlKTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgLy8gfVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyAkZWxfYXR0ci5kYXRhKCd2YWwnLCB2YWxbaV0udmFsdWUpO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICB2YXIgbGVuZ3RoID0gMDtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxbaV0uYXR0ciA9PSBzLmF0dHJcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgfSkubGVuZ3RoKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSAxO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUucHVzaCh2YWxbaV0pO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIGlmIChsZW5ndGggPT0gMCkge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS5hdHRyID09IHZhbFtpXS5hdHRyKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2pdLnZhbHVlID0gdmFsW2ldLnZhbHVlO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICBpZiAoYWN0aW9uX3R5cGUgPT0gJ29wZW5fc2VsZWN0X3VzZXJkbGcnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzIuMlwiLGNvbnRlbnQ6XCJvcGVuX3NlbGVjdF91c2VyZGxn6L+Z5LiqYWN0aW9uX3R5cGXov5jmnKrlpITnkIbvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgIH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68yXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vMi4xXCIsY29udGVudDpleC5lcnJNc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHQgICAgRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8sZGF0YV9hdHRyKXtcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHQgICAgXHR2YXIgZW52aXJvbWVudCA9IHtcblx0XHQgICAgXHQgICAgJ2Z1bmN0aW9uJzogJzMwMDAnLCAvLyDlip/og73ngrnnvJblj7dcblx0XHQgICAgXHQgICAgY2xzX2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLCAgICAgLy8g5Yqf6IO954K55Li75pWw5o2u57G75qCH6K+GXG5cdFx0ICAgIFx0ICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXG5cdFx0ICAgIFx0ICAgIGJ1dHRvbl9uYW1lOiAn5paw5aKeJyxcblx0XHQgICAgXHQgICAgbWFzdGVyOiB7XG5cdFx0ICAgIFx0ICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEY2xzX2lkXG5cdFx0ICAgIFx0ICAgICAgICAvL29ial9pZDogJycgIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEb2JqX2lkXG5cdFx0ICAgIFx0ICAgIH1cblx0XHQgICAgXHR9O1xuXHRcdCAgICBcdGlmKGRhdGFfYXR0cil7XG5cdFx0XHRcdFx0ZW52aXJvbWVudC5lZGl0X2RsZyA9IHtcblx0XHRcdFx0XHQgICAgdHlwZTogJ3NtYWxsJywvL+Wwj+eql+WPo1xuXHRcdFx0XHRcdCAgICBjbGFzc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwvL+W9k+WJjeaVsOaNruexu2lkXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChkYXRhX2F0dHIpIHtcblx0XHRcdFx0XHQgICAgZW52aXJvbWVudC5lZGl0X2RsZy5mb3JtX2NvbnRyb2wgPSB7Ly/miYDlsZ7nmoTooajljZXmjqfku7Zcblx0XHRcdFx0XHQgICAgICAgIG5hbWU6IGRhdGFfYXR0ci5OYW1lLC8v5a2X5q615bGe5oCnXG5cdFx0XHRcdFx0ICAgICAgICB0ZXh0OiBkYXRhX2F0dHIuRGlzcE5hbWUsLy/mmL7npLrmlofmnKxcblx0XHRcdFx0XHQgICAgICAgIGdyb3VwX25hbWU6IGRhdGFfYXR0ci5Hcm91cE5hbWUsLy/lsZ7mgKfnu4Rcblx0XHRcdFx0XHQgICAgICAgIHR5cGU6IGRhdGFfYXR0ci5UeXBlLC8v5a2X5q6157G75Z6LXG5cdFx0XHRcdFx0ICAgICAgICByZWFkb25seTogZGF0YV9hdHRyLlJlYWRPbmx5LC8v5piv5ZCm5Y+q6K+7XG5cdFx0XHRcdFx0ICAgICAgICBidXR0b25faW1nOiBkYXRhX2F0dHIuYnV0dG9uX2ltZywvL+W8leeUqOaMiemSrueahOWbvuagh1xuXHRcdFx0XHRcdCAgICAgICAgYnV0dG9uX3Rvb2x0aXA6IGRhdGFfYXR0ci5idXR0b25fdG9vbHRpcC8v5byV55So5oyJ6ZKu55qEdG9vbHRpcFxuXHRcdFx0XHRcdCAgICB9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0ICAgIFx0dmFyIGRhdGFJbmZvID0ge1xuXHRcdCAgICAgICAgICAgIGVkdHlwZTogaW5mby5lZHR5cGUsIGV2ZW50aWQ6IGluZm8uZXZlbnRpZCwgcHJvamVjdGlkOiBpbmZvLnByb2plY3RpZC5yZXBsYWNlKCd7JywnJykucmVwbGFjZSgnfScsJycpLFxuXHRcdCAgICAgICAgICAgIHJjbHNpZDogaW5mby5yY2xzaWQsIHJvYmppZDogaW5mby5yb2JqaWQsIHVzZXJsb2dpbjogaW5mby51c2VybG9naW4sIGNsc2lkOiBpbmZvLmNsc2lkLCBvYmppZDogaW5mby5vYmppZCxcblx0XHQgICAgICAgICAgICBhdHRyOiBKU09OLnN0cmluZ2lmeShpbmZvLmF0dHIpLCBleHRpbmZvOiBKU09OLnN0cmluZ2lmeShlbnZpcm9tZW50KSwgaW5wdXRwYXJhbWV0ZXI6ICcnLCBnbG9iYWxfYXR0cjogSlNPTi5zdHJpbmdpZnkodGhpcy4kZGF0YS5nbG9iYWxfYXR0cilcblx0XHQgICAgICAgIH1cblx0XHQgICAgXHRjb25zb2xlLmxvZyhkYXRhSW5mbyk7XG5cdFx0ICAgIFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ0RhdGFPYmpSdW5DdXN0b21FdmVudEluZm8nLGRhdGFJbmZvKS50aGVuKHN1Y2Nlc3M9Pntcblx0XHQgICAgXHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdCAgICBcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRcdFx0dmFyIGRhdGEgPSBKU09OLnBhcnNlKHN1Y2Nlc3MuZGF0YSk7XG5cdFx0ICAgIFx0XHRcdHZhciBhY3Rpb25saXN0ID0gZGF0YS5hY3Rpb247XG5cdFx0XHRcdFx0XHRcdFx0XHRcblx0XHQgICAgXHRcdFx0aWYgKGFjdGlvbmxpc3QpIHtcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coYWN0aW9ubGlzdCk7XG5cdFx0ICAgIFx0XHRcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFjdGlvbmxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICB2YXIgYWN0aW9uID0gYWN0aW9ubGlzdFtpXTtcblx0XHQgICAgXHRcdFx0ICAgICAgICBpZiAoYWN0aW9uLmFjdGlvbl90eXBlID09ICdzZXRfZGxnX2F0dHInKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIHZhciByZXN1bHQgPSBhY3Rpb24udmFsdWU7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlc3VsdFtpXS5jaG9pY2VfbGlzdCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGMgPSAwOyBjIDwgJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdC5sZW5ndGg7IGMrKykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGF0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2NdLkF0dHI7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoYXR0cltqXS5OYW1lPT1yZXN1bHRbaV0uYXR0cil7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoYXR0cltqXS5UeXBlPT0n5a2X5YW4JyB8fCBhdHRyW2pdLlR5cGU9PSflrZflhbgt5a2X56ym5LiyJyl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgZGljdEl0ZW1MaXN0PVtdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9yKHZhciBkIGluIHJlc3VsdFtpXS5jaG9pY2VfbGlzdCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciB2YWwgPXJlc3VsdFtpXS5jaG9pY2VfbGlzdFtkXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGljdEl0ZW1MaXN0LnB1c2goe1wiQ05fU19OQU1FXCI6dmFsLFwiTmFtZVwiOnZhbH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YXR0cltqXS5kaWN0aXRlbSA9IGRpY3RJdGVtTGlzdDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGF0dHJbal0uZGljdGl0ZW0gPSByZXN1bHRbaV0uY2hvaWNlX2xpc3Q7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgfVxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgZm9yICh2YXIgYyA9IDA7IGMgPCAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0Lmxlbmd0aDsgYysrKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBcdHZhciBhdHRyID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtjXS5BdHRyO1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgXHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGF0dHJbal0uTmFtZSsnPT0nK3Jlc3VsdFtpXS5hdHRyKTtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIFx0XHRpZihhdHRyW2pdLk5hbWU9PXJlc3VsdFtpXS5hdHRyKXtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIFx0XHRcdGF0dHJbal0uVmFsdWUgPSByZXN1bHRbaV0udmFsdWU7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBcdFx0fVxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgXHR9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBsZW5ndGggPSAwO1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgaWYgKCEkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUuZmlsdGVyKGZ1bmN0aW9uIChzKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFtpXS5hdHRyID09IHMuYXR0clxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgfSkubGVuZ3RoKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gMTtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICAkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUucHVzaChyZXN1bHRbaV0pO1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgfVxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA9PSAwKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCAkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUubGVuZ3RoOyBqKyspIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS5hdHRyID09IHJlc3VsdFtpXS5hdHRyKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0udmFsdWUgPSByZXN1bHRbaV0udmFsdWU7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICB9IGVsc2UgaWYgKGRhdGEuYWN0aW9uW2ldLmFjdGlvbl90eXBlID09ICdzZXRfZ2xvYmFsX2F0dHInKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAkdGhpcy4kZGF0YS5nbG9iYWxfYXR0ciA9IGRhdGEuYWN0aW9uW2ldLnZhbHVlIHx8IFtdO1xuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICB9XG5cdFx0ICAgIFx0XHRcdH1cblx0XHQgICAgXHRcdFx0XG5cdFx0ICAgIFx0XHRcdGlmIChkYXRhLnJlc3VsdCkge1xuXHRcdCAgICBcdFx0XHQgICAgdmFyIHJlc3VsdCA9IGRhdGEucmVzdWx0O1xuXHRcdCAgICBcdFx0XHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICBmb3IgKHZhciBjID0gMDsgYyA8ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoOyBjKyspIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICBcdHZhciBhdHRyID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtjXS5BdHRyO1xuXHRcdCAgICBcdFx0XHQgICAgICAgIFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgXHRcdGlmKGF0dHJbal0uTmFtZT09cmVzdWx0W2ldLmF0dHIpe1xuXHRcdCAgICBcdFx0XHQgICAgICAgIFx0XHRcdGF0dHJbal0uVmFsdWUgPSByZXN1bHRbaV0udmFsdWU7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgXHRcdH1cblx0XHQgICAgXHRcdFx0ICAgICAgICBcdH1cblx0XHQgICAgXHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0dmFyIGxlbmd0aCA9IDA7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgaWYgKCEkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUuZmlsdGVyKGZ1bmN0aW9uIChzKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIHJldHVybiByZXN1bHRbaV0uYXR0ciA9PSBzLmF0dHJcblx0XHQgICAgXHRcdFx0ICAgICAgICB9KS5sZW5ndGgpIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgbGVuZ3RoID0gMTtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgJHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLnB1c2gocmVzdWx0W2ldKTtcblx0XHQgICAgXHRcdFx0ICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgaWYgKGxlbmd0aCA9PSAwKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgJHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaisrKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBpZiAoJHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2pdLmF0dHIgPT0gcmVzdWx0W2ldLmF0dHIpIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICAkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0udmFsdWUgPSByZXN1bHRbaV0udmFsdWU7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICB9XG5cdFx0ICAgIFx0XHRcdH1cblx0XHQgICAgXHRcdH1lbHNle1xuXHRcdCAgICBcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzNcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdCAgICBcdFx0fVxuXHRcdCAgICBcdH0pLmNhdGNoKGV4PT57XG5cdFx0ICAgIFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XG5cdFx0ICAgIFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzMuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdCAgICBcdH0pO1xuXHRcdCAgICB9LFxuXHRcdFx0T0tEYXRhT2JqUnVuQ3VzdG9tRXZlbnQoKXtcblx0XHQgICAgXHR2YXIgZW52aXJvbWVudCA9IHtcblx0XHRcdFx0ICAgICdmdW5jdGlvbic6ICczMDAwJywgLy8g5Yqf6IO954K557yW5Y+3XG5cdFx0XHRcdCAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsICAgICAvLyDlip/og73ngrnkuLvmlbDmja7nsbvmoIfor4Zcblx0XHRcdFx0ICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXG5cdFx0XHRcdCAgICBidXR0b25fbmFtZTogJ+aWsOWinicsXG5cdFx0XHRcdCAgICBtYXN0ZXI6IHtcblx0XHRcdFx0ICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEY2xzX2lkXG5cdFx0XHRcdCAgICAgICAgXG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdH07XG5cdFx0ICAgIFx0XG5cdFx0XHRcdHZhciBldmVudGlkID0gdGhpcy4kZGF0YS5lZGl0X29rX2V2ZW50LnNjcmlwX2lkO1xuXHRcdFx0XHR2YXIgcmVxPVtdO1xuXHRcdFx0XHR2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XG5cdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHR2YXIgYXR0ciA9IGF0dHJsaXN0W2ldLkF0dHI7XG5cdFx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdFx0XHR2YXIgYXIgPSBhdHRyW2pdO1xuXHRcdFx0XHRcdFx0aWYoYXIuVmFsdWU9PSfor7fpgInmi6knKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0XHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXG5cdFx0XHRcdFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+3JykgYXIuVmFsdWU9Jyc7XG5cdFx0XHRcdCAgICAgICAgaWYoYXIuVHlwZT09J+W8leeUqOS6uuWRmCcgfHwgYXIuVHlwZT09J+W8leeUqOmhueebricpXG5cdFx0XHRcdCAgICAgICAgXHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsSUQgP2FyLlZhbElEIDonJyB9KTtcblx0XHRcdFx0ICAgICAgICBlbHNlIGlmKGFyLlR5cGU9PSfluIPlsJTlgLwnKVxuXHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWU/JzEnOicwJ30pO1xuXHRcdFx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWUgfSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdCAgICBcdGlmICh0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGggPiAwKSB7XG5cdFx0ICAgIFx0ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUubGVuZ3RoOyBpKyspIHtcblx0XHQgICAgXHQgICAgICAgIGlmICghcmVxLmZpbHRlcihmdW5jdGlvbiAocykge1xuXHRcdCAgICBcdCAgICAgICAgICAgIHJldHVybiB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtpXS5hdHRyID09IHMubmFtZVxuXHRcdCAgICBcdCAgICAgICAgfSkubGVuZ3RoKSB7XG5cdFx0ICAgIFx0ICAgICAgICAgICAgbGVuZ3RoID0gMTtcblx0XHQgICAgXHQgICAgICAgICAgICByZXEucHVzaCh7ICdhdHRyJzogdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbaV0uYXR0ciwgJ3ZhbCc6IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2ldLnZhbHVlIH0pO1xuXHRcdCAgICBcdCAgICAgICAgfVxuXHRcdCAgICBcdCAgICB9XG5cdFx0ICAgIFx0fVxuXHRcdCAgICBcdHZhciBpbmZvID0ge1xuXHRcdCAgICBcdCAgICBldmVudGlkOiBldmVudGlkLFxuXHRcdCAgICBcdCAgICBlZHR5cGU6IFwiMFwiLFxuXHRcdCAgICBcdCAgICBwcm9qZWN0aWQ6ICcnLFxuXHRcdCAgICBcdCAgICByY2xzaWQ6ICcnLFxuXHRcdCAgICBcdCAgICByb2JqaWQ6ICcnLFxuXHRcdCAgICBcdCAgICB1c2VybG9naW46ICcnLFxuXHRcdCAgICBcdCAgICBjbHNpZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcblx0XHQgICAgXHQgICAgb2JqaWQ6IFwiXCIsXG5cdFx0ICAgIFx0ICAgIGF0dHI6IHJlcSxcblx0XHQgICAgXHR9XG5cdFx0ICAgIFx0dmFyIGRhdGFJbmZvID0ge1xuXHRcdCAgICAgICAgICAgIGVkdHlwZTogaW5mby5lZHR5cGUsIGV2ZW50aWQ6IGluZm8uZXZlbnRpZCwgcHJvamVjdGlkOiBpbmZvLnByb2plY3RpZCxyY2xzaWQ6IGluZm8ucmNsc2lkLCBcblx0XHRcdFx0XHRyb2JqaWQ6IGluZm8ucm9iamlkLCB1c2VybG9naW46IGluZm8udXNlcmxvZ2luLCBjbHNpZDogaW5mby5jbHNpZCwgb2JqaWQ6IGluZm8ub2JqaWQsXG5cdFx0XHRcdFx0YXR0cjogSlNPTi5zdHJpbmdpZnkoaW5mby5hdHRyKSwgZXh0aW5mbzogSlNPTi5zdHJpbmdpZnkoZW52aXJvbWVudCksIGdsb2JhbF9hdHRyOiBKU09OLnN0cmluZ2lmeSh0aGlzLiRkYXRhLmdsb2JhbF9hdHRyKVxuXHRcdCAgICAgICAgfVxuXHRcdCAgICBcdGNvbnNvbGUubG9nKGRhdGFJbmZvKTtcblx0XHQgICAgXHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnRGF0YU9ialJ1bkN1c3RvbUV2ZW50SW5mbycsZGF0YUluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdCAgICBcdFx0Y29uc29sZS5sb2coc3VjY2Vzcyk7XG5cdFx0ICAgIFx0XHRpZiAoc3VjY2Vzcy5jb2RlPT0nMDAwMDAnKSB7XG5cdFx0XHRcdFx0XHR2YXIgZGF0YSA9IEpTT04ucGFyc2Uoc3VjY2Vzcy5kYXRhKTtcdFx0XG5cdFx0ICAgIFx0XHRcdHZhciByZXN1bHQgPSBkYXRhLnJlc3VsdDtcblx0XHQgICAgXHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspIHtcblx0XHQgICAgXHRcdFx0ICAgIC8vIHNlbGYuY2xhc3NfYXR0cl9lbGUuZmluZCgnLmF0dHJfZmllbGRbZGF0YS1maWVsZD1cIicgKyByZXN1bHRbaV0uYXR0ciArICdcIl0nKS52YWwocmVzdWx0W2ldLnZhbHVlKS5kYXRhKCd2YWwnLCByZXN1bHRbaV0udmFsdWUpO1xuXHRcdCAgICBcdFx0XHQgICAgdmFyIGxlbmd0aCA9IDA7XG5cdFx0ICAgIFx0XHRcdCAgICBpZiAoIXRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmZpbHRlcihmdW5jdGlvbiAocykge1xuXHRcdCAgICBcdFx0XHQgICAgICAgIHJldHVybiByZXN1bHRbaV0uYXR0ciA9PSBzLmF0dHJcblx0XHQgICAgXHRcdFx0ICAgIH0pLmxlbmd0aCkge1xuXHRcdCAgICBcdFx0XHQgICAgICAgIGxlbmd0aCA9IDE7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUucHVzaChyZXN1bHRbaV0pO1xuXHRcdCAgICBcdFx0XHQgICAgfVxuXHRcdCAgICBcdFx0XHQgICAgaWYgKGxlbmd0aCA9PSAwKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGg7IGorKykge1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICBpZiAodGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0uYXR0ciA9PSByZXN1bHRbaV0uYXR0cikge1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0udmFsdWUgPSByZXN1bHRbaV0udmFsdWU7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICB9XG5cdFx0ICAgIFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0dGhpcy5hZGQoKTtcblx0XHQgICAgXHRcdH1lbHNle1xuXHRcdCAgICBcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzRcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdCAgICBcdFx0fVxuXHRcdCAgICBcdH0pLmNhdGNoKGV4PT57XG5cdFx0ICAgIFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XG5cdFx0ICAgIFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzQuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdCAgICBcdH0pO1xuXHRcdCAgICB9LFxuXHRcdCAgICBEYXRhT2JqUnVuQ3VzdG9tRXZlbnRfUmV0dXJuKGV2ZW50aWQsZGF0YV9hdHRyLGJ1dHRvbl9jYWxsYmFjayxpbmRleCxpaW5kZXgpe1xuXHRcdFx0XHR2YXIgZW52aXJvbWVudCA9IHtcblx0XHRcdFx0ICAgICdmdW5jdGlvbic6ICczMDAwJywgLy8g5Yqf6IO954K557yW5Y+3XG5cdFx0XHRcdCAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsICAgICAvLyDlip/og73ngrnkuLvmlbDmja7nsbvmoIfor4Zcblx0XHRcdFx0ICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXG5cdFx0XHRcdCAgICBidXR0b25fbmFtZTogJ+aWsOWinicsXG5cdFx0XHRcdCAgICBtYXN0ZXI6IHtcblx0XHRcdFx0ICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEY2xzX2lkXG5cdFx0XHRcdCAgICAgICAgLy9vYmpfaWQ6ICcnICAvLyBidXR0b249Ym90dG9t5pe2IG1hc3RlcueahG9ial9pZFxuXHRcdFx0XHQgICAgfVxuXHRcdFx0XHR9O1xuXHRcdFx0XHR2YXIgcmVxPVtdO1xuXHRcdFx0XHR2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XG5cdFx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHR2YXIgYXR0ciA9IGF0dHJsaXN0W2ldLkF0dHI7XG5cdFx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdFx0XHR2YXIgYXIgPSBhdHRyW2pdO1xuXHRcdFx0XHRcdFx0aWYoYXIuVmFsdWU9PSfor7fpgInmi6knKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0XHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXG5cdFx0XHRcdFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+3JykgYXIuVmFsdWU9Jyc7XG5cdFx0XHRcdCAgICAgICAgaWYoYXIuVHlwZT09J+W8leeUqOS6uuWRmCcgfHwgYXIuVHlwZT09J+W8leeUqOmhueebricpXG5cdFx0XHRcdCAgICAgICAgXHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsSUQgP2FyLlZhbElEIDonJyB9KTtcblx0XHRcdFx0ICAgICAgICBlbHNlIGlmKGFyLlR5cGU9PSfluIPlsJTlgLwnKVxuXHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWU/JzEnOicwJ30pO1xuXHRcdFx0XHRcdFx0ZWxzZVxuXHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWUgfSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdCAgICAgICAgaWYgKCFyZXEuZmlsdGVyKGZ1bmN0aW9uIChzKSB7XG5cdFx0XHRcdCAgICAgICAgICAgIHJldHVybiB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtpXS5hdHRyID09IHMubmFtZVxuXHRcdFx0XHQgICAgICAgIH0pLmxlbmd0aCkge1xuXHRcdFx0XHQgICAgICAgICAgICBsZW5ndGggPSAxO1xuXHRcdFx0XHQgICAgICAgICAgICByZXEucHVzaCh7ICdhdHRyJzogdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbaV0uYXR0ciwgJ3ZhbCc6IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2ldLnZhbHVlIH0pO1xuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0XHR2YXIgZXh0aW5mbyA9IGVudmlyb21lbnQ7XG5cdFx0XHRcdGV4dGluZm8uZWRpdF9kbGcgPSB7XG5cdFx0XHRcdCAgICB0eXBlOiAnc21hbGwnLC8v5bCP56qX5Y+jXG5cdFx0XHRcdCAgICBjbGFzc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwvL+W9k+WJjeaVsOaNruexu2lkXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGRhdGFfYXR0cikge1xuXHRcdFx0XHQgICAgZXh0aW5mby5lZGl0X2RsZy5mb3JtX2NvbnRyb2wgPSB7Ly/miYDlsZ7nmoTooajljZXmjqfku7Zcblx0XHRcdFx0ICAgICAgICBuYW1lOiBkYXRhX2F0dHIuTmFtZSwvL+Wtl+auteWxnuaAp1xuXHRcdFx0XHQgICAgICAgIHRleHQ6IGRhdGFfYXR0ci5EaXNwTmFtZSwvL+aYvuekuuaWh+acrFxuXHRcdFx0XHQgICAgICAgIGdyb3VwX25hbWU6IGRhdGFfYXR0ci5Hcm91cE5hbWUsLy/lsZ7mgKfnu4Rcblx0XHRcdFx0ICAgICAgICB0eXBlOiBkYXRhX2F0dHIuVHlwZSwvL+Wtl+auteexu+Wei1xuXHRcdFx0XHQgICAgICAgIHJlYWRvbmx5OiBkYXRhX2F0dHIuUmVhZE9ubHksLy/mmK/lkKblj6ror7tcblx0XHRcdFx0ICAgICAgICBidXR0b25faW1nOiBkYXRhX2F0dHIuYnV0dG9uX2ltZywvL+W8leeUqOaMiemSrueahOWbvuagh1xuXHRcdFx0XHQgICAgICAgIGJ1dHRvbl90b29sdGlwOiBkYXRhX2F0dHIuYnV0dG9uX3Rvb2x0aXAvL+W8leeUqOaMiemSrueahHRvb2x0aXBcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0XHR2YXIgZGF0YUluZm8gPSB7XG5cdFx0XHRcdFx0ZWR0eXBlOiAgXCIwXCIsIGV2ZW50aWQ6IGV2ZW50aWQsIHByb2plY3RpZDogJycscmNsc2lkOiAnJywgcm9iamlkOiAnJywgdXNlcmxvZ2luOiAnJywgXG5cdFx0XHRcdFx0Y2xzaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIG9iamlkOiAnJyxhdHRyOiBKU09OLnN0cmluZ2lmeShyZXEpLCBcblx0XHRcdFx0XHRleHRpbmZvOiBKU09OLnN0cmluZ2lmeShleHRpbmZvKSwgZ2xvYmFsX2F0dHI6IEpTT04uc3RyaW5naWZ5KHRoaXMuJGRhdGEuZ2xvYmFsX2F0dHIpXG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc29sZS5sb2coZGF0YUluZm8pO1xuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnRGF0YU9ialJ1bkN1c3RvbUV2ZW50SW5mbycsZGF0YUluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcblx0XHRcdFx0XHRcdHZhciBkYXRhID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEpO1xuXHRcdFx0XHRcdFx0aWYgKGRhdGEgIT0gXCJcIikge1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0dmFyIGFjdGlvbnMgPSBkYXRhLmFjdGlvbjtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGFjdGlvbnMpO1xuXHRcdFx0XHRcdFx0aWYgKGFjdGlvbnMpIHtcblx0XHRcdFx0XHRcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFjdGlvbnMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRcdCAgICAgICAgdmFyIGFjdGlvbiA9IGFjdGlvbnNbaV07XG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciB2YWwgPSBhY3Rpb24udmFsdWU7XG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciBlbnZpcm9tZW50ID0gSlNPTi5zdHJpbmdpZnkoZW52aXJvbWVudCk7XG5cdFx0XHRcdFx0XHQgICAgICAgIFxuXHRcdFx0XHRcdFx0ICAgICAgICBpZiAoYWN0aW9uLmFjdGlvbl90eXBlID09ICdvcGVuX3BhbmVsJykge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICB2YXIgZCA9IGRpYWxvZyh7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICB0aXRsZTogJzxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtaW5mby1jaXJjbGVcIj48L2k+ICcgKyAn5o+Q56S6Jyxcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgIGNvbnRlbnQ6IGFjdGlvbi5hY3Rpb25fdHlwZSArICfmraRhY3Rpb27lsJrmnKrlpITnkIbvvIEnXG5cdFx0XHRcdFx0XHQgICAgICAgICAgIH0pO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICBkLnNob3coKTtcblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICBlbHNlIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ29wZW5fc2VsZWN0X3VzZXJkbGcnKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB2YXIgc3R5bGUgPSB2YWwuc3R5bGU7XG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBzdHlsZSA9PSAndXNlcicgPyAn6YCJ5oup5Lq65ZGYJyA6IHN0eWxlID09ICdkZXBhcnRtZW50JyA/ICfpgInmi6npg6jpl6gnIDogc3R5bGUgPT0gJ3JvbGUnID8gJ+mAieaLqeinkuiJsicgOiAnJ1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgdmFyICR0aGlzID0gdGhpcztcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBwYXJhbT17XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGluZGV4OiBpbmRleCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWluZGV4OmlpbmRleCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0YnV0dG9uX2NhbGxiYWNrOmJ1dHRvbl9jYWxsYmFjayxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVxOnJlcSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGF0YV9hdHRyOmRhdGFfYXR0clxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHR1cmw6Jy4uL3NlbHBzbi9pbmRleD9tdWxpdD1mYWxzZSZwYXJhbT0nK0pTT04uc3RyaW5naWZ5KHBhcmFtKSxcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIFx0ZXZlbnRzOntcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIFx0XHRBZGRQZXIoZGF0YSxwYXJhbSl7IFxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdFx0Ly8gY29uc29sZS5sb2cocGFyYW0pO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdFx0Y29uc29sZS5sb2coZGF0YSk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdFx0XHR2YXIgY2FsbGJhY2tfZXZlbnRpZCA9IHBhcmFtLmJ1dHRvbl9jYWxsYmFjay50cmltKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgaW5mbyA9IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICBldmVudGlkOiBjYWxsYmFja19ldmVudGlkLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIGVkdHlwZTogXCIwXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgcHJvamVjdGlkOiAnJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICByY2xzaWQ6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIHJvYmppZDogJycsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgdXNlcmxvZ2luOiAnJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICBjbHNpZDogJHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgYXR0cjogcGFyYW0ucmVxLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIGlucHV0cGFyYW1ldGVyOiBkYXRhXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbywgcGFyYW0uZGF0YV9hdHRyKTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIFx0XHR9XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgIH0pO1x0XG5cdFx0XHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgZWxzZSBpZiAoYWN0aW9uLmFjdGlvbl90eXBlID09ICdvcGVuX2RhdGFfcXVlcnlfZGxnJykge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXG5cdFx0XHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgZWxzZSBpZiAoYWN0aW9uLmFjdGlvbl90eXBlID09ICdvcGVuX2NvbW1vbl9kbGcnKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB2YXIgdmFsdWUgPSBhY3Rpb24udmFsdWU7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB2YXIgZCA9IGRpYWxvZyh7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGl0bGU6ICc8aSBjbGFzcz1cImFjZS1pY29uIGZhIGZhLWluZm8tY2lyY2xlXCI+PC9pPiAnICsgJ+aPkOekuicsXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgY29udGVudDogYWN0aW9uLmFjdGlvbl90eXBlICsgJ+atpGFjdGlvbuWwmuacquWkhOeQhu+8gSdcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIH0pO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgZC5zaG93KCk7XG5cdFx0XHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgZWxzZSBpZiAoYWN0aW9uLmFjdGlvbl90eXBlID09ICdvcGVuX3Byb2plY3RfcXVlcnlfZGxnJykge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlKTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIC8vY29uc29sZS5sb2coYWN0aW9uLnZhbHVlLm11bGl0X3NlbGVjdCk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB2YXIgcHJpUmVsID0gJy0xJztcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGlmIChhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICflhajpg6jnm7jlhbMnKVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHByaVJlbCA9ICcwJztcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGVsc2UgaWYgKGFjdGlvbi52YWx1ZS5zZWxlY3RfcmFuZ2UgPT0gJ+aIkei0n+i0o+eahOmhueebricpXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgcHJpUmVsID0gJzEnO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWxzZSBpZiAoYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5oiR5Yib5bu655qEJylcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBwcmlSZWwgPSAnMic7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBlbHNlIGlmIChhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICfmiJHlj4LkuI7nmoQnIHx8IGFjdGlvbi52YWx1ZS5zZWxlY3RfcmFuZ2UgPT0gJ+aIkeWPguWKoOeahCcpXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgcHJpUmVsID0gJzMnO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWxzZSBpZiAoYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5oiR5YWz5rOo55qEJylcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBwcmlSZWwgPSAnNCc7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBlbHNlIGlmIChhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICfmiJHkuIvlsZ7nmoTpobnnm64nKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwcmlSZWwgPSAnNSc7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBwYXJhbV89e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpbmRleDogaW5kZXgsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlpbmRleDppaW5kZXgsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJ1dHRvbl9jYWxsYmFjazpidXR0b25fY2FsbGJhY2ssXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJlcTpyZXFcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOicuLi9zZWxQcmovaW5kZXg/cmVsYXRpb249JytwcmlSZWwrJyZwYXJhbT0nK0pTT04uc3RyaW5naWZ5KHBhcmFtXyksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGV2ZW50czp7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QWRkUGVyKGRhdGEscGFyYW0peyBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5WYWx1ZT1kYXRhWzBdLk5hbWU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF0uVmFsSUQ9ZGF0YVswXS5JRCsnOycrZGF0YVswXS5OYW1lO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdFx0dmFyIGNhbGxiYWNrX2V2ZW50aWQgPSBwYXJhbS5idXR0b25fY2FsbGJhY2sudHJpbSgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKGNhbGxiYWNrX2V2ZW50aWQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICB2YXIgaW5mbyA9IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgZXZlbnRpZDogY2FsbGJhY2tfZXZlbnRpZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgZWR0eXBlOiBcIjJcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgcHJvamVjdGlkOiBkYXRhWzBdLklELFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICByY2xzaWQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIHJvYmppZDogXCJcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgdXNlcmxvZ2luOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBjbHNpZDogJHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIG9iamlkOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBhdHRyOiBwYXJhbS5yZXEsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAkdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdCAgICAgICAgfSBlbHNlIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBkID0gZGlhbG9nKHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICB0aXRsZTogJzxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtaW5mby1jaXJjbGVcIj48L2k+ICcgKyAn5o+Q56S6Jyxcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBjb250ZW50OiBhY3Rpb24uYWN0aW9uX3R5cGUgKyAn5q2kYWN0aW9u5bCa5pyq5aSE55CG77yBJ1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgfSk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBkLnNob3coKTtcblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgIH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzUuMlwiLGNvbnRlbnQ6ICfosIPnlKggYmVmb3JlX2NsaWNrX2J1dHRvbiDohJrmnKzov5Tlm57nqbrvvIxldmVudF9pZCcgKyBldmVudGlkLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor681XCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vNS4xXCIsY29udGVudDpleC5lcnJNc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdH0pO1xuXHRcdCAgICB9LFxuXHRcdCAgICBcblx0XHRcdFxuXHRcdH1cblx0fVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///44\n");
/***/ }),
/* 45 */
@@ -5271,7 +5279,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\nvar _data = _interopRequireDefault(__webpack_require__(/*! @/js/pickerAddress/data.js */ 53));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\nvar selectVal = ['', '', ''];var _default = { data: function data() {return { value: [0, 0, 0],\n      array: [],\n      index: 0 };\n\n  },\n  created: function created() {\n    this.initSelect();\n  },\n  methods: {\n    // 初始化地址选项\n    initSelect: function initSelect() {\n      this.updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n    // 地址控件改变控件\n    columnchange: function columnchange(d) {\n      this.updateSelectIndex(d.detail.column, d.detail.value) // 更新选择索引\n      .updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n\n    /**\n        * 更新源数据\n        * */\n    updateSourceDate: function updateSourceDate() {\n      this.array = [];\n      this.array[0] = _data.default.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[1] = _data.default[this.value[0]].city.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[2] = _data.default[this.value[0]].city[this.value[1]].area.map(function (obj) {\n        return {\n          name: obj };\n\n      });\n      return this;\n    },\n\n    /**\n        * 更新索引\n        * */\n    updateSelectIndex: function updateSelectIndex(column, value) {\n      var arr = JSON.parse(JSON.stringify(this.value));\n      arr[column] = value;\n      if (column === 0) {\n        arr[1] = 0;\n        arr[2] = 0;\n      }\n      if (column === 1) {\n        arr[2] = 0;\n      }\n      this.value = arr;\n      return this;\n    },\n\n    /**\n        * 更新结果数据 \n        * */\n    updateAddressDate: function updateAddressDate() {\n      selectVal[0] = this.array[0][this.value[0]].name;\n      selectVal[1] = this.array[1][this.value[1]].name;\n      selectVal[2] = this.array[2][this.value[2]].name;\n      return this;\n    },\n\n    /**\n        * 点击确定\n        * */\n    bindPickerChange: function bindPickerChange(e) {\n      // console.log(e);\n      this.$emit('change', {\n        target: e.target,\n        data: selectVal });\n\n      return this;\n    } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vanMvcGlja2VyQWRkcmVzcy9waWNrZXJBZGRyZXNzLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0EsOEY7Ozs7OztBQUNBLDZCLGVBRUEsRUFDQSxJQURBLGtCQUNBLENBQ0EsU0FDQSxnQkFEQTtBQUVBLGVBRkE7QUFHQSxjQUhBOztBQUtBLEdBUEE7QUFRQSxTQVJBLHFCQVFBO0FBQ0E7QUFDQSxHQVZBO0FBV0E7QUFDQTtBQUNBLGNBRkEsd0JBRUE7QUFDQTtBQUFBLE9BQ0EsaUJBREEsR0FDQTtBQURBLE9BRUEsWUFGQSxHQURBLENBR0E7QUFDQSxLQU5BO0FBT0E7QUFDQSxnQkFSQSx3QkFRQSxDQVJBLEVBUUE7QUFDQTtBQUFBLE9BQ0EsZ0JBREEsR0FDQTtBQURBLE9BRUEsaUJBRkEsR0FFQTtBQUZBLE9BR0EsWUFIQSxHQURBLENBSUE7QUFDQSxLQWJBOztBQWVBOzs7QUFHQSxvQkFsQkEsOEJBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBREE7O0FBR0EsT0FKQTtBQUtBO0FBQ0E7QUFDQSx3QkFEQTs7QUFHQSxPQUpBO0FBS0E7QUFDQTtBQUNBLG1CQURBOztBQUdBLE9BSkE7QUFLQTtBQUNBLEtBcENBOztBQXNDQTs7O0FBR0EscUJBekNBLDZCQXlDQSxNQXpDQSxFQXlDQSxLQXpDQSxFQXlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXJEQTs7QUF1REE7OztBQUdBLHFCQTFEQSwrQkEwREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBL0RBOztBQWlFQTs7O0FBR0Esb0JBcEVBLDRCQW9FQSxDQXBFQSxFQW9FQTtBQUNBO0FBQ0E7QUFDQSx3QkFEQTtBQUVBLHVCQUZBOztBQUlBO0FBQ0EsS0EzRUEsRUFYQSxFIiwiZmlsZSI6IjUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPHBpY2tlciBAY2hhbmdlPVwiYmluZFBpY2tlckNoYW5nZVwiIEBjb2x1bW5jaGFuZ2U9XCJjb2x1bW5jaGFuZ2VcIiA6cmFuZ2U9XCJhcnJheVwiIHJhbmdlLWtleT1cIm5hbWVcIiA6dmFsdWU9XCJ2YWx1ZVwiIG1vZGU9XCJtdWx0aVNlbGVjdG9yXCI+XHJcbiAgICAgICAgPHNsb3Q+PC9zbG90PlxyXG4gICAgPC9waWNrZXI+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0IEFsbEFkZHJlc3MgZnJvbSAnQC9qcy9waWNrZXJBZGRyZXNzL2RhdGEuanMnXHJcbiAgICBsZXQgc2VsZWN0VmFsID0gWycnLCcnLCcnXVxyXG4gICAgXHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgZGF0YSgpIHtcclxuICAgICAgICAgICAgcmV0dXJue1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IFswLDAsMF0sXHJcbiAgICAgICAgICAgICAgICBhcnJheTogW10sXHJcbiAgICAgICAgICAgICAgICBpbmRleDogMFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcmVhdGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRTZWxlY3QoKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczp7XHJcbiAgICAgICAgICAgIC8vIOWIneWni+WMluWcsOWdgOmAiemhuVxyXG4gICAgICAgICAgICBpbml0U2VsZWN0KCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTb3VyY2VEYXRlKCkgLy8g5pu05paw5rqQ5pWw5o2uXHJcbiAgICAgICAgICAgICAgICAudXBkYXRlQWRkcmVzc0RhdGUoKSAvLyDmm7TmlrDnu5PmnpzmlbDmja5cclxuICAgICAgICAgICAgICAgIC4kZm9yY2VVcGRhdGUoKSAgLy8g6Kem5Y+R5Y+M5ZCR57uR5a6aXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8vIOWcsOWdgOaOp+S7tuaUueWPmOaOp+S7tlxyXG4gICAgICAgICAgICBjb2x1bW5jaGFuZ2UoZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RJbmRleChkLmRldGFpbC5jb2x1bW4sIGQuZGV0YWlsLnZhbHVlKSAvLyDmm7TmlrDpgInmi6nntKLlvJVcclxuICAgICAgICAgICAgICAgIC51cGRhdGVTb3VyY2VEYXRlKCkgLy8g5pu05paw5rqQ5pWw5o2uXHJcbiAgICAgICAgICAgICAgICAudXBkYXRlQWRkcmVzc0RhdGUoKSAvLyDmm7TmlrDnu5PmnpzmlbDmja5cclxuICAgICAgICAgICAgICAgIC4kZm9yY2VVcGRhdGUoKSAgLy8g6Kem5Y+R5Y+M5ZCR57uR5a6aXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICog5pu05paw5rqQ5pWw5o2uXHJcbiAgICAgICAgICAgICAqICovXHJcbiAgICAgICAgICAgIHVwZGF0ZVNvdXJjZURhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5ID0gW11cclxuICAgICAgICAgICAgICAgIHRoaXMuYXJyYXlbMF0gPSBBbGxBZGRyZXNzLm1hcChvYmogPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG9iai5uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIHRoaXMuYXJyYXlbMV0gPSBBbGxBZGRyZXNzW3RoaXMudmFsdWVbMF1dLmNpdHkubWFwKG9iaiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogb2JqLm5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcnJheVsyXSA9IEFsbEFkZHJlc3NbdGhpcy52YWx1ZVswXV0uY2l0eVt0aGlzLnZhbHVlWzFdXS5hcmVhLm1hcChvYmogPT4geyBcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBvYmpcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiDmm7TmlrDntKLlvJVcclxuICAgICAgICAgICAgICogKi9cclxuICAgICAgICAgICAgdXBkYXRlU2VsZWN0SW5kZXgoY29sdW1uLCB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgYXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnZhbHVlKSkgXHJcbiAgICAgICAgICAgICAgICBhcnJbY29sdW1uXSA9IHZhbHVlXHJcbiAgICAgICAgICAgICAgICBpZihjb2x1bW4gPT09IDAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXJyWzFdID0gMFxyXG4gICAgICAgICAgICAgICAgICAgIGFyclsyXSA9IDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGNvbHVtbiA9PT0gMSApIHtcclxuICAgICAgICAgICAgICAgICAgICBhcnJbMl0gPSAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gYXJyXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIOabtOaWsOe7k+aenOaVsOaNriBcclxuICAgICAgICAgICAgICogKi9cclxuICAgICAgICAgICAgdXBkYXRlQWRkcmVzc0RhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RWYWxbMF0gPSB0aGlzLmFycmF5WzBdW3RoaXMudmFsdWVbMF1dLm5hbWVcclxuICAgICAgICAgICAgICAgIHNlbGVjdFZhbFsxXSA9IHRoaXMuYXJyYXlbMV1bdGhpcy52YWx1ZVsxXV0ubmFtZSBcclxuICAgICAgICAgICAgICAgIHNlbGVjdFZhbFsyXSA9IHRoaXMuYXJyYXlbMl1bdGhpcy52YWx1ZVsyXV0ubmFtZSBcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICog54K55Ye756Gu5a6aXHJcbiAgICAgICAgICAgICAqICovXHJcbiAgICAgICAgICAgIGJpbmRQaWNrZXJDaGFuZ2UoZSkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogZS50YXJnZXQsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogc2VsZWN0VmFsXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///52\n");
eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\nvar _data = _interopRequireDefault(__webpack_require__(/*! @/js/pickerAddress/data.js */ 53));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\nvar selectVal = ['', '', ''];var _default = { data: function data() {return { value: [0, 0, 0],\n      array: [],\n      index: 0 };\n\n  },\n  created: function created() {\n    this.initSelect();\n  },\n  methods: {\n    // 初始化地址选项\n    initSelect: function initSelect() {\n      this.updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n    // 地址控件改变控件\n    columnchange: function columnchange(d) {\n      this.updateSelectIndex(d.detail.column, d.detail.value) // 更新选择索引\n      .updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n\n    /**\n        * 更新源数据\n        * */\n    updateSourceDate: function updateSourceDate() {\n      this.array = [];\n      this.array[0] = _data.default.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[1] = _data.default[this.value[0]].city.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[2] = _data.default[this.value[0]].city[this.value[1]].area.map(function (obj) {\n        return {\n          name: obj };\n\n      });\n      return this;\n    },\n\n    /**\n        * 更新索引\n        * */\n    updateSelectIndex: function updateSelectIndex(column, value) {\n      var arr = JSON.parse(JSON.stringify(this.value));\n      arr[column] = value;\n      if (column === 0) {\n        arr[1] = 0;\n        arr[2] = 0;\n      }\n      if (column === 1) {\n        arr[2] = 0;\n      }\n      this.value = arr;\n      return this;\n    },\n\n    /**\n        * 更新结果数据 \n        * */\n    updateAddressDate: function updateAddressDate() {\n      selectVal[0] = this.array[0][this.value[0]].name;\n      selectVal[1] = this.array[1][this.value[1]].name;\n      selectVal[2] = this.array[2][this.value[2]].name;\n      return this;\n    },\n\n    /**\n        * 点击确定\n        * */\n    bindPickerChange: function bindPickerChange(e) {\n      // console.log(e);\n      this.$emit('change', {\n        target: e.target,\n        data: selectVal });\n\n      return this;\n    } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vanMvcGlja2VyQWRkcmVzcy9waWNrZXJBZGRyZXNzLnZ1ZSJdLCJuYW1lcyI6WyJzZWxlY3RWYWwiLCJkYXRhIiwidmFsdWUiLCJhcnJheSIsImluZGV4IiwiY3JlYXRlZCIsImluaXRTZWxlY3QiLCJtZXRob2RzIiwidXBkYXRlU291cmNlRGF0ZSIsInVwZGF0ZUFkZHJlc3NEYXRlIiwiJGZvcmNlVXBkYXRlIiwiY29sdW1uY2hhbmdlIiwiZCIsInVwZGF0ZVNlbGVjdEluZGV4IiwiZGV0YWlsIiwiY29sdW1uIiwiQWxsQWRkcmVzcyIsIm1hcCIsIm9iaiIsIm5hbWUiLCJjaXR5IiwiYXJlYSIsImFyciIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImJpbmRQaWNrZXJDaGFuZ2UiLCJlIiwiJGVtaXQiLCJ0YXJnZXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFPSSw4Riw4RkFQSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHSSxJQUFJQSxTQUFTLEdBQUcsQ0FBQyxFQUFELEVBQUksRUFBSixFQUFPLEVBQVAsQ0FBaEIsQyxlQUVlLEVBQ1hDLElBRFcsa0JBQ0osQ0FDSCxPQUFNLEVBQ0ZDLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBRyxDQUFILEVBQUssQ0FBTCxDQURMO0FBRUZDLFdBQUssRUFBRSxFQUZMO0FBR0ZDLFdBQUssRUFBRSxDQUhMLEVBQU47O0FBS0gsR0FQVTtBQVFYQyxTQVJXLHFCQVFEO0FBQ04sU0FBS0MsVUFBTDtBQUNILEdBVlU7QUFXWEMsU0FBTyxFQUFDO0FBQ0o7QUFDQUQsY0FGSSx3QkFFUztBQUNULFdBQUtFLGdCQUFMLEdBQXdCO0FBQXhCLE9BQ0NDLGlCQURELEdBQ3FCO0FBRHJCLE9BRUNDLFlBRkQsR0FEUyxDQUdRO0FBQ3BCLEtBTkc7QUFPSjtBQUNBQyxnQkFSSSx3QkFRU0MsQ0FSVCxFQVFZO0FBQ1osV0FBS0MsaUJBQUwsQ0FBdUJELENBQUMsQ0FBQ0UsTUFBRixDQUFTQyxNQUFoQyxFQUF3Q0gsQ0FBQyxDQUFDRSxNQUFGLENBQVNaLEtBQWpELEVBQXdEO0FBQXhELE9BQ0NNLGdCQURELEdBQ29CO0FBRHBCLE9BRUNDLGlCQUZELEdBRXFCO0FBRnJCLE9BR0NDLFlBSEQsR0FEWSxDQUlLO0FBQ3BCLEtBYkc7O0FBZUo7OztBQUdBRixvQkFsQkksOEJBa0JlO0FBQ2YsV0FBS0wsS0FBTCxHQUFhLEVBQWI7QUFDQSxXQUFLQSxLQUFMLENBQVcsQ0FBWCxJQUFnQmEsY0FBV0MsR0FBWCxDQUFlLFVBQUFDLEdBQUcsRUFBSTtBQUNsQyxlQUFPO0FBQ0hDLGNBQUksRUFBRUQsR0FBRyxDQUFDQyxJQURQLEVBQVA7O0FBR0gsT0FKZSxDQUFoQjtBQUtBLFdBQUtoQixLQUFMLENBQVcsQ0FBWCxJQUFnQmEsY0FBVyxLQUFLZCxLQUFMLENBQVcsQ0FBWCxDQUFYLEVBQTBCa0IsSUFBMUIsQ0FBK0JILEdBQS9CLENBQW1DLFVBQUFDLEdBQUcsRUFBSTtBQUN0RCxlQUFPO0FBQ0hDLGNBQUksRUFBRUQsR0FBRyxDQUFDQyxJQURQLEVBQVA7O0FBR0gsT0FKZSxDQUFoQjtBQUtBLFdBQUtoQixLQUFMLENBQVcsQ0FBWCxJQUFnQmEsY0FBVyxLQUFLZCxLQUFMLENBQVcsQ0FBWCxDQUFYLEVBQTBCa0IsSUFBMUIsQ0FBK0IsS0FBS2xCLEtBQUwsQ0FBVyxDQUFYLENBQS9CLEVBQThDbUIsSUFBOUMsQ0FBbURKLEdBQW5ELENBQXVELFVBQUFDLEdBQUcsRUFBSTtBQUMxRSxlQUFPO0FBQ0hDLGNBQUksRUFBRUQsR0FESCxFQUFQOztBQUdILE9BSmUsQ0FBaEI7QUFLQSxhQUFPLElBQVA7QUFDSCxLQXBDRzs7QUFzQ0o7OztBQUdBTCxxQkF6Q0ksNkJBeUNjRSxNQXpDZCxFQXlDc0JiLEtBekN0QixFQXlDNEI7QUFDNUIsVUFBSW9CLEdBQUcsR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdELElBQUksQ0FBQ0UsU0FBTCxDQUFlLEtBQUt2QixLQUFwQixDQUFYLENBQVY7QUFDQW9CLFNBQUcsQ0FBQ1AsTUFBRCxDQUFILEdBQWNiLEtBQWQ7QUFDQSxVQUFHYSxNQUFNLEtBQUssQ0FBZCxFQUFrQjtBQUNkTyxXQUFHLENBQUMsQ0FBRCxDQUFILEdBQVMsQ0FBVDtBQUNBQSxXQUFHLENBQUMsQ0FBRCxDQUFILEdBQVMsQ0FBVDtBQUNIO0FBQ0QsVUFBR1AsTUFBTSxLQUFLLENBQWQsRUFBa0I7QUFDZE8sV0FBRyxDQUFDLENBQUQsQ0FBSCxHQUFTLENBQVQ7QUFDSDtBQUNELFdBQUtwQixLQUFMLEdBQWFvQixHQUFiO0FBQ0EsYUFBTyxJQUFQO0FBQ0gsS0FyREc7O0FBdURKOzs7QUFHQWIscUJBMURJLCtCQTBEZ0I7QUFDaEJULGVBQVMsQ0FBQyxDQUFELENBQVQsR0FBZSxLQUFLRyxLQUFMLENBQVcsQ0FBWCxFQUFjLEtBQUtELEtBQUwsQ0FBVyxDQUFYLENBQWQsRUFBNkJpQixJQUE1QztBQUNBbkIsZUFBUyxDQUFDLENBQUQsQ0FBVCxHQUFlLEtBQUtHLEtBQUwsQ0FBVyxDQUFYLEVBQWMsS0FBS0QsS0FBTCxDQUFXLENBQVgsQ0FBZCxFQUE2QmlCLElBQTVDO0FBQ0FuQixlQUFTLENBQUMsQ0FBRCxDQUFULEdBQWUsS0FBS0csS0FBTCxDQUFXLENBQVgsRUFBYyxLQUFLRCxLQUFMLENBQVcsQ0FBWCxDQUFkLEVBQTZCaUIsSUFBNUM7QUFDQSxhQUFPLElBQVA7QUFDSCxLQS9ERzs7QUFpRUo7OztBQUdBTyxvQkFwRUksNEJBb0VhQyxDQXBFYixFQW9FZ0I7QUFDNUI7QUFDWSxXQUFLQyxLQUFMLENBQVcsUUFBWCxFQUFxQjtBQUNqQkMsY0FBTSxFQUFFRixDQUFDLENBQUNFLE1BRE87QUFFakI1QixZQUFJLEVBQUVELFNBRlcsRUFBckI7O0FBSUEsYUFBTyxJQUFQO0FBQ0gsS0EzRUcsRUFYRyxFIiwiZmlsZSI6IjUyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG4gICAgaW1wb3J0IEFsbEFkZHJlc3MgZnJvbSAnQC9qcy9waWNrZXJBZGRyZXNzL2RhdGEuanMnXG4gICAgbGV0IHNlbGVjdFZhbCA9IFsnJywnJywnJ11cbiAgICBcbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm57XG4gICAgICAgICAgICAgICAgdmFsdWU6IFswLDAsMF0sXG4gICAgICAgICAgICAgICAgYXJyYXk6IFtdLFxuICAgICAgICAgICAgICAgIGluZGV4OiAwXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZWQoKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRTZWxlY3QoKVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOntcbiAgICAgICAgICAgIC8vIOWIneWni+WMluWcsOWdgOmAiemhuVxuICAgICAgICAgICAgaW5pdFNlbGVjdCgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNvdXJjZURhdGUoKSAvLyDmm7TmlrDmupDmlbDmja5cbiAgICAgICAgICAgICAgICAudXBkYXRlQWRkcmVzc0RhdGUoKSAvLyDmm7TmlrDnu5PmnpzmlbDmja5cbiAgICAgICAgICAgICAgICAuJGZvcmNlVXBkYXRlKCkgIC8vIOinpuWPkeWPjOWQkee7keWumlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIOWcsOWdgOaOp+S7tuaUueWPmOaOp+S7tlxuICAgICAgICAgICAgY29sdW1uY2hhbmdlKGQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdEluZGV4KGQuZGV0YWlsLmNvbHVtbiwgZC5kZXRhaWwudmFsdWUpIC8vIOabtOaWsOmAieaLqee0ouW8lVxuICAgICAgICAgICAgICAgIC51cGRhdGVTb3VyY2VEYXRlKCkgLy8g5pu05paw5rqQ5pWw5o2uXG4gICAgICAgICAgICAgICAgLnVwZGF0ZUFkZHJlc3NEYXRlKCkgLy8g5pu05paw57uT5p6c5pWw5o2uXG4gICAgICAgICAgICAgICAgLiRmb3JjZVVwZGF0ZSgpICAvLyDop6blj5Hlj4zlkJHnu5HlrppcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICog5pu05paw5rqQ5pWw5o2uXG4gICAgICAgICAgICAgKiAqL1xuICAgICAgICAgICAgdXBkYXRlU291cmNlRGF0ZSgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5ID0gW11cbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5WzBdID0gQWxsQWRkcmVzcy5tYXAob2JqID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG9iai5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHRoaXMuYXJyYXlbMV0gPSBBbGxBZGRyZXNzW3RoaXMudmFsdWVbMF1dLmNpdHkubWFwKG9iaiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBvYmoubmFtZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5WzJdID0gQWxsQWRkcmVzc1t0aGlzLnZhbHVlWzBdXS5jaXR5W3RoaXMudmFsdWVbMV1dLmFyZWEubWFwKG9iaiA9PiB7IFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogb2JqXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIOabtOaWsOe0ouW8lVxuICAgICAgICAgICAgICogKi9cbiAgICAgICAgICAgIHVwZGF0ZVNlbGVjdEluZGV4KGNvbHVtbiwgdmFsdWUpe1xuICAgICAgICAgICAgICAgIGxldCBhcnIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpKSBcbiAgICAgICAgICAgICAgICBhcnJbY29sdW1uXSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgaWYoY29sdW1uID09PSAwICkge1xuICAgICAgICAgICAgICAgICAgICBhcnJbMV0gPSAwXG4gICAgICAgICAgICAgICAgICAgIGFyclsyXSA9IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoY29sdW1uID09PSAxICkge1xuICAgICAgICAgICAgICAgICAgICBhcnJbMl0gPSAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBhcnJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiDmm7TmlrDnu5PmnpzmlbDmja4gXG4gICAgICAgICAgICAgKiAqL1xuICAgICAgICAgICAgdXBkYXRlQWRkcmVzc0RhdGUoKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0VmFsWzBdID0gdGhpcy5hcnJheVswXVt0aGlzLnZhbHVlWzBdXS5uYW1lXG4gICAgICAgICAgICAgICAgc2VsZWN0VmFsWzFdID0gdGhpcy5hcnJheVsxXVt0aGlzLnZhbHVlWzFdXS5uYW1lIFxuICAgICAgICAgICAgICAgIHNlbGVjdFZhbFsyXSA9IHRoaXMuYXJyYXlbMl1bdGhpcy52YWx1ZVsyXV0ubmFtZSBcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiDngrnlh7vnoa7lrppcbiAgICAgICAgICAgICAqICovXG4gICAgICAgICAgICBiaW5kUGlja2VyQ2hhbmdlKGUpIHtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGUudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBzZWxlY3RWYWxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///52\n");
/***/ }),
/* 53 */
@@ -5375,7 +5383,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\nvar _data = _interopRequireDefault(__webpack_require__(/*! @/js/pickerAddress/data.js */ 53));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\nvar selectVal = ['', '', ''];var _default = { data: function data() {return { value: [0, 0, 0],\n      array: [],\n      index: 0 };\n\n  },\n  created: function created() {\n    this.initSelect();\n  },\n  methods: {\n    // 初始化地址选项\n    initSelect: function initSelect() {\n      this.updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n    // 地址控件改变控件\n    columnchange: function columnchange(d) {\n      this.updateSelectIndex(d.detail.column, d.detail.value) // 更新选择索引\n      .updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n\n    /**\n        * 更新源数据\n        * */\n    updateSourceDate: function updateSourceDate() {\n      this.array = [];\n      this.array[0] = _data.default.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[1] = _data.default[this.value[0]].city.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[2] = _data.default[this.value[0]].city[this.value[1]].area.map(function (obj) {\n        return {\n          name: obj };\n\n      });\n      return this;\n    },\n\n    /**\n        * 更新索引\n        * */\n    updateSelectIndex: function updateSelectIndex(column, value) {\n      var arr = JSON.parse(JSON.stringify(this.value));\n      arr[column] = value;\n      if (column === 0) {\n        arr[1] = 0;\n        arr[2] = 0;\n      }\n      if (column === 1) {\n        arr[2] = 0;\n      }\n      this.value = arr;\n      return this;\n    },\n\n    /**\n        * 更新结果数据 \n        * */\n    updateAddressDate: function updateAddressDate() {\n      selectVal[0] = this.array[0][this.value[0]].name;\n      selectVal[1] = this.array[1][this.value[1]].name;\n      selectVal[2] = this.array[2][this.value[2]].name;\n      return this;\n    },\n\n    /**\n        * 点击确定\n        * */\n    bindPickerChange: function bindPickerChange(e) {\n      // console.log(e);\n      this.$emit('change', {\n        target: e.target,\n        data: selectVal });\n\n      return this;\n    } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vanMvcGlja2VyQWRkcmVzcy9waWNrZXJBZGRyZXNzLnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0EsOEY7Ozs7OztBQUNBLDZCLGVBRUEsRUFDQSxJQURBLGtCQUNBLENBQ0EsU0FDQSxnQkFEQTtBQUVBLGVBRkE7QUFHQSxjQUhBOztBQUtBLEdBUEE7QUFRQSxTQVJBLHFCQVFBO0FBQ0E7QUFDQSxHQVZBO0FBV0E7QUFDQTtBQUNBLGNBRkEsd0JBRUE7QUFDQTtBQUFBLE9BQ0EsaUJBREEsR0FDQTtBQURBLE9BRUEsWUFGQSxHQURBLENBR0E7QUFDQSxLQU5BO0FBT0E7QUFDQSxnQkFSQSx3QkFRQSxDQVJBLEVBUUE7QUFDQTtBQUFBLE9BQ0EsZ0JBREEsR0FDQTtBQURBLE9BRUEsaUJBRkEsR0FFQTtBQUZBLE9BR0EsWUFIQSxHQURBLENBSUE7QUFDQSxLQWJBOztBQWVBOzs7QUFHQSxvQkFsQkEsOEJBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBREE7O0FBR0EsT0FKQTtBQUtBO0FBQ0E7QUFDQSx3QkFEQTs7QUFHQSxPQUpBO0FBS0E7QUFDQTtBQUNBLG1CQURBOztBQUdBLE9BSkE7QUFLQTtBQUNBLEtBcENBOztBQXNDQTs7O0FBR0EscUJBekNBLDZCQXlDQSxNQXpDQSxFQXlDQSxLQXpDQSxFQXlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQXJEQTs7QUF1REE7OztBQUdBLHFCQTFEQSwrQkEwREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBL0RBOztBQWlFQTs7O0FBR0Esb0JBcEVBLDRCQW9FQSxDQXBFQSxFQW9FQTtBQUNBO0FBQ0E7QUFDQSx3QkFEQTtBQUVBLHVCQUZBOztBQUlBO0FBQ0EsS0EzRUEsRUFYQSxFIiwiZmlsZSI6IjU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gICAgPHBpY2tlciBAY2hhbmdlPVwiYmluZFBpY2tlckNoYW5nZVwiIEBjb2x1bW5jaGFuZ2U9XCJjb2x1bW5jaGFuZ2VcIiA6cmFuZ2U9XCJhcnJheVwiIHJhbmdlLWtleT1cIm5hbWVcIiA6dmFsdWU9XCJ2YWx1ZVwiIG1vZGU9XCJtdWx0aVNlbGVjdG9yXCI+XHJcbiAgICAgICAgPHNsb3Q+PC9zbG90PlxyXG4gICAgPC9waWNrZXI+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG4gICAgaW1wb3J0IEFsbEFkZHJlc3MgZnJvbSAnQC9qcy9waWNrZXJBZGRyZXNzL2RhdGEuanMnXHJcbiAgICBsZXQgc2VsZWN0VmFsID0gWycnLCcnLCcnXVxyXG4gICAgXHJcbiAgICBleHBvcnQgZGVmYXVsdCB7XHJcbiAgICAgICAgZGF0YSgpIHtcclxuICAgICAgICAgICAgcmV0dXJue1xyXG4gICAgICAgICAgICAgICAgdmFsdWU6IFswLDAsMF0sXHJcbiAgICAgICAgICAgICAgICBhcnJheTogW10sXHJcbiAgICAgICAgICAgICAgICBpbmRleDogMFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcmVhdGVkKCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRTZWxlY3QoKVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWV0aG9kczp7XHJcbiAgICAgICAgICAgIC8vIOWIneWni+WMluWcsOWdgOmAiemhuVxyXG4gICAgICAgICAgICBpbml0U2VsZWN0KCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTb3VyY2VEYXRlKCkgLy8g5pu05paw5rqQ5pWw5o2uXHJcbiAgICAgICAgICAgICAgICAudXBkYXRlQWRkcmVzc0RhdGUoKSAvLyDmm7TmlrDnu5PmnpzmlbDmja5cclxuICAgICAgICAgICAgICAgIC4kZm9yY2VVcGRhdGUoKSAgLy8g6Kem5Y+R5Y+M5ZCR57uR5a6aXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIC8vIOWcsOWdgOaOp+S7tuaUueWPmOaOp+S7tlxyXG4gICAgICAgICAgICBjb2x1bW5jaGFuZ2UoZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTZWxlY3RJbmRleChkLmRldGFpbC5jb2x1bW4sIGQuZGV0YWlsLnZhbHVlKSAvLyDmm7TmlrDpgInmi6nntKLlvJVcclxuICAgICAgICAgICAgICAgIC51cGRhdGVTb3VyY2VEYXRlKCkgLy8g5pu05paw5rqQ5pWw5o2uXHJcbiAgICAgICAgICAgICAgICAudXBkYXRlQWRkcmVzc0RhdGUoKSAvLyDmm7TmlrDnu5PmnpzmlbDmja5cclxuICAgICAgICAgICAgICAgIC4kZm9yY2VVcGRhdGUoKSAgLy8g6Kem5Y+R5Y+M5ZCR57uR5a6aXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICog5pu05paw5rqQ5pWw5o2uXHJcbiAgICAgICAgICAgICAqICovXHJcbiAgICAgICAgICAgIHVwZGF0ZVNvdXJjZURhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5ID0gW11cclxuICAgICAgICAgICAgICAgIHRoaXMuYXJyYXlbMF0gPSBBbGxBZGRyZXNzLm1hcChvYmogPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG9iai5uYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIHRoaXMuYXJyYXlbMV0gPSBBbGxBZGRyZXNzW3RoaXMudmFsdWVbMF1dLmNpdHkubWFwKG9iaiA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogb2JqLm5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgdGhpcy5hcnJheVsyXSA9IEFsbEFkZHJlc3NbdGhpcy52YWx1ZVswXV0uY2l0eVt0aGlzLnZhbHVlWzFdXS5hcmVhLm1hcChvYmogPT4geyBcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBvYmpcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIC8qKlxyXG4gICAgICAgICAgICAgKiDmm7TmlrDntKLlvJVcclxuICAgICAgICAgICAgICogKi9cclxuICAgICAgICAgICAgdXBkYXRlU2VsZWN0SW5kZXgoY29sdW1uLCB2YWx1ZSl7XHJcbiAgICAgICAgICAgICAgICBsZXQgYXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnZhbHVlKSkgXHJcbiAgICAgICAgICAgICAgICBhcnJbY29sdW1uXSA9IHZhbHVlXHJcbiAgICAgICAgICAgICAgICBpZihjb2x1bW4gPT09IDAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXJyWzFdID0gMFxyXG4gICAgICAgICAgICAgICAgICAgIGFyclsyXSA9IDBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmKGNvbHVtbiA9PT0gMSApIHtcclxuICAgICAgICAgICAgICAgICAgICBhcnJbMl0gPSAwXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gYXJyXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLyoqXHJcbiAgICAgICAgICAgICAqIOabtOaWsOe7k+aenOaVsOaNriBcclxuICAgICAgICAgICAgICogKi9cclxuICAgICAgICAgICAgdXBkYXRlQWRkcmVzc0RhdGUoKSB7XHJcbiAgICAgICAgICAgICAgICBzZWxlY3RWYWxbMF0gPSB0aGlzLmFycmF5WzBdW3RoaXMudmFsdWVbMF1dLm5hbWVcclxuICAgICAgICAgICAgICAgIHNlbGVjdFZhbFsxXSA9IHRoaXMuYXJyYXlbMV1bdGhpcy52YWx1ZVsxXV0ubmFtZSBcclxuICAgICAgICAgICAgICAgIHNlbGVjdFZhbFsyXSA9IHRoaXMuYXJyYXlbMl1bdGhpcy52YWx1ZVsyXV0ubmFtZSBcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAvKipcclxuICAgICAgICAgICAgICog54K55Ye756Gu5a6aXHJcbiAgICAgICAgICAgICAqICovXHJcbiAgICAgICAgICAgIGJpbmRQaWNrZXJDaGFuZ2UoZSkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywge1xyXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogZS50YXJnZXQsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0YTogc2VsZWN0VmFsXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///58\n");
eval("Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;\n\n\n\n\n\n\nvar _data = _interopRequireDefault(__webpack_require__(/*! @/js/pickerAddress/data.js */ 53));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };} //\n//\n//\n//\n//\n//\nvar selectVal = ['', '', ''];var _default = { data: function data() {return { value: [0, 0, 0],\n      array: [],\n      index: 0 };\n\n  },\n  created: function created() {\n    this.initSelect();\n  },\n  methods: {\n    // 初始化地址选项\n    initSelect: function initSelect() {\n      this.updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n    // 地址控件改变控件\n    columnchange: function columnchange(d) {\n      this.updateSelectIndex(d.detail.column, d.detail.value) // 更新选择索引\n      .updateSourceDate() // 更新源数据\n      .updateAddressDate() // 更新结果数据\n      .$forceUpdate(); // 触发双向绑定\n    },\n\n    /**\n        * 更新源数据\n        * */\n    updateSourceDate: function updateSourceDate() {\n      this.array = [];\n      this.array[0] = _data.default.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[1] = _data.default[this.value[0]].city.map(function (obj) {\n        return {\n          name: obj.name };\n\n      });\n      this.array[2] = _data.default[this.value[0]].city[this.value[1]].area.map(function (obj) {\n        return {\n          name: obj };\n\n      });\n      return this;\n    },\n\n    /**\n        * 更新索引\n        * */\n    updateSelectIndex: function updateSelectIndex(column, value) {\n      var arr = JSON.parse(JSON.stringify(this.value));\n      arr[column] = value;\n      if (column === 0) {\n        arr[1] = 0;\n        arr[2] = 0;\n      }\n      if (column === 1) {\n        arr[2] = 0;\n      }\n      this.value = arr;\n      return this;\n    },\n\n    /**\n        * 更新结果数据 \n        * */\n    updateAddressDate: function updateAddressDate() {\n      selectVal[0] = this.array[0][this.value[0]].name;\n      selectVal[1] = this.array[1][this.value[1]].name;\n      selectVal[2] = this.array[2][this.value[2]].name;\n      return this;\n    },\n\n    /**\n        * 点击确定\n        * */\n    bindPickerChange: function bindPickerChange(e) {\n      // console.log(e);\n      this.$emit('change', {\n        target: e.target,\n        data: selectVal });\n\n      return this;\n    } } };exports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vanMvcGlja2VyQWRkcmVzcy9waWNrZXJBZGRyZXNzLnZ1ZSJdLCJuYW1lcyI6WyJzZWxlY3RWYWwiLCJkYXRhIiwidmFsdWUiLCJhcnJheSIsImluZGV4IiwiY3JlYXRlZCIsImluaXRTZWxlY3QiLCJtZXRob2RzIiwidXBkYXRlU291cmNlRGF0ZSIsInVwZGF0ZUFkZHJlc3NEYXRlIiwiJGZvcmNlVXBkYXRlIiwiY29sdW1uY2hhbmdlIiwiZCIsInVwZGF0ZVNlbGVjdEluZGV4IiwiZGV0YWlsIiwiY29sdW1uIiwiQWxsQWRkcmVzcyIsIm1hcCIsIm9iaiIsIm5hbWUiLCJjaXR5IiwiYXJlYSIsImFyciIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImJpbmRQaWNrZXJDaGFuZ2UiLCJlIiwiJGVtaXQiLCJ0YXJnZXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFPSSw4Riw4RkFQSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHSSxJQUFJQSxTQUFTLEdBQUcsQ0FBQyxFQUFELEVBQUksRUFBSixFQUFPLEVBQVAsQ0FBaEIsQyxlQUVlLEVBQ1hDLElBRFcsa0JBQ0osQ0FDSCxPQUFNLEVBQ0ZDLEtBQUssRUFBRSxDQUFDLENBQUQsRUFBRyxDQUFILEVBQUssQ0FBTCxDQURMO0FBRUZDLFdBQUssRUFBRSxFQUZMO0FBR0ZDLFdBQUssRUFBRSxDQUhMLEVBQU47O0FBS0gsR0FQVTtBQVFYQyxTQVJXLHFCQVFEO0FBQ04sU0FBS0MsVUFBTDtBQUNILEdBVlU7QUFXWEMsU0FBTyxFQUFDO0FBQ0o7QUFDQUQsY0FGSSx3QkFFUztBQUNULFdBQUtFLGdCQUFMLEdBQXdCO0FBQXhCLE9BQ0NDLGlCQURELEdBQ3FCO0FBRHJCLE9BRUNDLFlBRkQsR0FEUyxDQUdRO0FBQ3BCLEtBTkc7QUFPSjtBQUNBQyxnQkFSSSx3QkFRU0MsQ0FSVCxFQVFZO0FBQ1osV0FBS0MsaUJBQUwsQ0FBdUJELENBQUMsQ0FBQ0UsTUFBRixDQUFTQyxNQUFoQyxFQUF3Q0gsQ0FBQyxDQUFDRSxNQUFGLENBQVNaLEtBQWpELEVBQXdEO0FBQXhELE9BQ0NNLGdCQURELEdBQ29CO0FBRHBCLE9BRUNDLGlCQUZELEdBRXFCO0FBRnJCLE9BR0NDLFlBSEQsR0FEWSxDQUlLO0FBQ3BCLEtBYkc7O0FBZUo7OztBQUdBRixvQkFsQkksOEJBa0JlO0FBQ2YsV0FBS0wsS0FBTCxHQUFhLEVBQWI7QUFDQSxXQUFLQSxLQUFMLENBQVcsQ0FBWCxJQUFnQmEsY0FBV0MsR0FBWCxDQUFlLFVBQUFDLEdBQUcsRUFBSTtBQUNsQyxlQUFPO0FBQ0hDLGNBQUksRUFBRUQsR0FBRyxDQUFDQyxJQURQLEVBQVA7O0FBR0gsT0FKZSxDQUFoQjtBQUtBLFdBQUtoQixLQUFMLENBQVcsQ0FBWCxJQUFnQmEsY0FBVyxLQUFLZCxLQUFMLENBQVcsQ0FBWCxDQUFYLEVBQTBCa0IsSUFBMUIsQ0FBK0JILEdBQS9CLENBQW1DLFVBQUFDLEdBQUcsRUFBSTtBQUN0RCxlQUFPO0FBQ0hDLGNBQUksRUFBRUQsR0FBRyxDQUFDQyxJQURQLEVBQVA7O0FBR0gsT0FKZSxDQUFoQjtBQUtBLFdBQUtoQixLQUFMLENBQVcsQ0FBWCxJQUFnQmEsY0FBVyxLQUFLZCxLQUFMLENBQVcsQ0FBWCxDQUFYLEVBQTBCa0IsSUFBMUIsQ0FBK0IsS0FBS2xCLEtBQUwsQ0FBVyxDQUFYLENBQS9CLEVBQThDbUIsSUFBOUMsQ0FBbURKLEdBQW5ELENBQXVELFVBQUFDLEdBQUcsRUFBSTtBQUMxRSxlQUFPO0FBQ0hDLGNBQUksRUFBRUQsR0FESCxFQUFQOztBQUdILE9BSmUsQ0FBaEI7QUFLQSxhQUFPLElBQVA7QUFDSCxLQXBDRzs7QUFzQ0o7OztBQUdBTCxxQkF6Q0ksNkJBeUNjRSxNQXpDZCxFQXlDc0JiLEtBekN0QixFQXlDNEI7QUFDNUIsVUFBSW9CLEdBQUcsR0FBR0MsSUFBSSxDQUFDQyxLQUFMLENBQVdELElBQUksQ0FBQ0UsU0FBTCxDQUFlLEtBQUt2QixLQUFwQixDQUFYLENBQVY7QUFDQW9CLFNBQUcsQ0FBQ1AsTUFBRCxDQUFILEdBQWNiLEtBQWQ7QUFDQSxVQUFHYSxNQUFNLEtBQUssQ0FBZCxFQUFrQjtBQUNkTyxXQUFHLENBQUMsQ0FBRCxDQUFILEdBQVMsQ0FBVDtBQUNBQSxXQUFHLENBQUMsQ0FBRCxDQUFILEdBQVMsQ0FBVDtBQUNIO0FBQ0QsVUFBR1AsTUFBTSxLQUFLLENBQWQsRUFBa0I7QUFDZE8sV0FBRyxDQUFDLENBQUQsQ0FBSCxHQUFTLENBQVQ7QUFDSDtBQUNELFdBQUtwQixLQUFMLEdBQWFvQixHQUFiO0FBQ0EsYUFBTyxJQUFQO0FBQ0gsS0FyREc7O0FBdURKOzs7QUFHQWIscUJBMURJLCtCQTBEZ0I7QUFDaEJULGVBQVMsQ0FBQyxDQUFELENBQVQsR0FBZSxLQUFLRyxLQUFMLENBQVcsQ0FBWCxFQUFjLEtBQUtELEtBQUwsQ0FBVyxDQUFYLENBQWQsRUFBNkJpQixJQUE1QztBQUNBbkIsZUFBUyxDQUFDLENBQUQsQ0FBVCxHQUFlLEtBQUtHLEtBQUwsQ0FBVyxDQUFYLEVBQWMsS0FBS0QsS0FBTCxDQUFXLENBQVgsQ0FBZCxFQUE2QmlCLElBQTVDO0FBQ0FuQixlQUFTLENBQUMsQ0FBRCxDQUFULEdBQWUsS0FBS0csS0FBTCxDQUFXLENBQVgsRUFBYyxLQUFLRCxLQUFMLENBQVcsQ0FBWCxDQUFkLEVBQTZCaUIsSUFBNUM7QUFDQSxhQUFPLElBQVA7QUFDSCxLQS9ERzs7QUFpRUo7OztBQUdBTyxvQkFwRUksNEJBb0VhQyxDQXBFYixFQW9FZ0I7QUFDNUI7QUFDWSxXQUFLQyxLQUFMLENBQVcsUUFBWCxFQUFxQjtBQUNqQkMsY0FBTSxFQUFFRixDQUFDLENBQUNFLE1BRE87QUFFakI1QixZQUFJLEVBQUVELFNBRlcsRUFBckI7O0FBSUEsYUFBTyxJQUFQO0FBQ0gsS0EzRUcsRUFYRyxFIiwiZmlsZSI6IjU4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG4gICAgaW1wb3J0IEFsbEFkZHJlc3MgZnJvbSAnQC9qcy9waWNrZXJBZGRyZXNzL2RhdGEuanMnXG4gICAgbGV0IHNlbGVjdFZhbCA9IFsnJywnJywnJ11cbiAgICBcbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm57XG4gICAgICAgICAgICAgICAgdmFsdWU6IFswLDAsMF0sXG4gICAgICAgICAgICAgICAgYXJyYXk6IFtdLFxuICAgICAgICAgICAgICAgIGluZGV4OiAwXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZWQoKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRTZWxlY3QoKVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOntcbiAgICAgICAgICAgIC8vIOWIneWni+WMluWcsOWdgOmAiemhuVxuICAgICAgICAgICAgaW5pdFNlbGVjdCgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNvdXJjZURhdGUoKSAvLyDmm7TmlrDmupDmlbDmja5cbiAgICAgICAgICAgICAgICAudXBkYXRlQWRkcmVzc0RhdGUoKSAvLyDmm7TmlrDnu5PmnpzmlbDmja5cbiAgICAgICAgICAgICAgICAuJGZvcmNlVXBkYXRlKCkgIC8vIOinpuWPkeWPjOWQkee7keWumlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIOWcsOWdgOaOp+S7tuaUueWPmOaOp+S7tlxuICAgICAgICAgICAgY29sdW1uY2hhbmdlKGQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdEluZGV4KGQuZGV0YWlsLmNvbHVtbiwgZC5kZXRhaWwudmFsdWUpIC8vIOabtOaWsOmAieaLqee0ouW8lVxuICAgICAgICAgICAgICAgIC51cGRhdGVTb3VyY2VEYXRlKCkgLy8g5pu05paw5rqQ5pWw5o2uXG4gICAgICAgICAgICAgICAgLnVwZGF0ZUFkZHJlc3NEYXRlKCkgLy8g5pu05paw57uT5p6c5pWw5o2uXG4gICAgICAgICAgICAgICAgLiRmb3JjZVVwZGF0ZSgpICAvLyDop6blj5Hlj4zlkJHnu5HlrppcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICog5pu05paw5rqQ5pWw5o2uXG4gICAgICAgICAgICAgKiAqL1xuICAgICAgICAgICAgdXBkYXRlU291cmNlRGF0ZSgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5ID0gW11cbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5WzBdID0gQWxsQWRkcmVzcy5tYXAob2JqID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IG9iai5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHRoaXMuYXJyYXlbMV0gPSBBbGxBZGRyZXNzW3RoaXMudmFsdWVbMF1dLmNpdHkubWFwKG9iaiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBvYmoubmFtZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB0aGlzLmFycmF5WzJdID0gQWxsQWRkcmVzc1t0aGlzLnZhbHVlWzBdXS5jaXR5W3RoaXMudmFsdWVbMV1dLmFyZWEubWFwKG9iaiA9PiB7IFxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogb2JqXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIOabtOaWsOe0ouW8lVxuICAgICAgICAgICAgICogKi9cbiAgICAgICAgICAgIHVwZGF0ZVNlbGVjdEluZGV4KGNvbHVtbiwgdmFsdWUpe1xuICAgICAgICAgICAgICAgIGxldCBhcnIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpKSBcbiAgICAgICAgICAgICAgICBhcnJbY29sdW1uXSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgaWYoY29sdW1uID09PSAwICkge1xuICAgICAgICAgICAgICAgICAgICBhcnJbMV0gPSAwXG4gICAgICAgICAgICAgICAgICAgIGFyclsyXSA9IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYoY29sdW1uID09PSAxICkge1xuICAgICAgICAgICAgICAgICAgICBhcnJbMl0gPSAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSBhcnJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiDmm7TmlrDnu5PmnpzmlbDmja4gXG4gICAgICAgICAgICAgKiAqL1xuICAgICAgICAgICAgdXBkYXRlQWRkcmVzc0RhdGUoKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0VmFsWzBdID0gdGhpcy5hcnJheVswXVt0aGlzLnZhbHVlWzBdXS5uYW1lXG4gICAgICAgICAgICAgICAgc2VsZWN0VmFsWzFdID0gdGhpcy5hcnJheVsxXVt0aGlzLnZhbHVlWzFdXS5uYW1lIFxuICAgICAgICAgICAgICAgIHNlbGVjdFZhbFsyXSA9IHRoaXMuYXJyYXlbMl1bdGhpcy52YWx1ZVsyXV0ubmFtZSBcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiDngrnlh7vnoa7lrppcbiAgICAgICAgICAgICAqICovXG4gICAgICAgICAgICBiaW5kUGlja2VyQ2hhbmdlKGUpIHtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgnY2hhbmdlJywge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IGUudGFyZ2V0LFxuICAgICAgICAgICAgICAgICAgICBkYXRhOiBzZWxlY3RWYWxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///58\n");
/***/ }),
/* 59 */
@@ -5545,7 +5553,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  data: function data() {\n    return {\n      title: '选择人员',\n      mulit: '',\n      param: {},\n      searchVal: '',\n      ischecked: false,\n      data: [] };\n\n  },\n  onLoad: function onLoad(options) {\n    __f__(\"log\", options, \" at pages/selpsn/index.vue:87\");\n    var param = JSON.parse(options.param);\n    this.$data.param = param;\n    this.$data.mulit = options.mulit;\n    // console.log(this.$data.param);\n  },\n  methods: {\n    onkeyup: function onkeyup(e) {var _this = this;\n      if (this.$data.searchVal) {\n        var datainfo = { jp: this.$data.searchVal, dept_id: '' };\n        this.$store.dispatch('querySelpsn', datainfo).then(function (success) {\n          // console.log(success);\n          if (success.code == '00000') {\n            for (var i in success.data) {\n              success.data[i].ischeck = false;\n            }\n\n            _this.$data.data = success.data;\n          } else {\n            uni.showModal({ title: \"错误\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n          }\n        }).catch(function (ex) {\n          // console.log(ex);\n          uni.showModal({ title: \"错误\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n        });\n      } else\n      this.$data.data = [];\n    },\n    onchange: function onchange(e) {\n      // console.log(e.target);\n      var data = this.$data.data;\n      this.$data.data = [];\n      if (this.$data.mulit == \"false\") {\n        for (var i in data) {\n          data[i].ischeck = false;\n        }\n      }\n\n      data[e.target.dataset.index].ischeck = e.target.dataset.ischeck ? false : true;\n      this.$data.data = data;\n    },\n    sava: function sava() {//点击功能点跳转页面\n      var data = [];\n      for (var i in this.$data.data) {\n        if (this.$data.data[i].ischeck == true) {\n          data.push(this.$data.data[i]);\n        }\n      }\n      if (data.length == 0) {\n        uni.showModal({ title: \"提示\", content: '未选择人员!', showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      var eventChannel = this.$scope.eventChannel;\n      // const eventChannel = this.getOpenerEventChannel();\n      eventChannel.emit('AddPer', data, this.$data.param);\n\n      uni.navigateBack();\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc2VscHNuL2luZGV4LnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBFQTtBQUNBLE1BREEsa0JBQ0E7QUFDQTtBQUNBLG1CQURBO0FBRUEsZUFGQTtBQUdBLGVBSEE7QUFJQSxtQkFKQTtBQUtBLHNCQUxBO0FBTUEsY0FOQTs7QUFRQSxHQVZBO0FBV0EsUUFYQSxrQkFXQSxPQVhBLEVBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FqQkE7QUFrQkE7QUFDQSxXQURBLG1CQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQU5BLE1BTUE7QUFDQTtBQUNBO0FBQ0EsU0FYQSxFQVdBLEtBWEEsQ0FXQTtBQUNBO0FBQ0E7QUFDQSxTQWRBO0FBZUEsT0FqQkE7QUFrQkE7QUFDQSxLQXJCQTtBQXNCQSxZQXRCQSxvQkFzQkEsQ0F0QkEsRUFzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQWxDQTtBQW1DQSxRQW5DQSxrQkFtQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBbkRBLEVBbEJBLEUiLCJmaWxlIjoiNjMuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8c3R5bGU+XHJcblx0LmNvbnRlbnQge1xyXG5cdFx0d2lkdGg6IDEwMHZ3O1xyXG5cdFx0aGVpZ2h0OiA5M3ZoO1xyXG5cdFx0YmFja2dyb3VuZDogI0VBRUFFQTtcclxuXHRcdHBhZGRpbmc6IDE0cnB4IDBycHggMHJweCAwcnB4O1xyXG5cdH1cclxuXHRpbnB1dHtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNWQ1ZDU7XHJcblx0XHR3aWR0aDogNzclO1xyXG5cdFx0aGVpZ2h0OiA4MHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDYwcnB4IWltcG9ydGFudDtcclxuXHRcdHBhZGRpbmc6IDAgNjBycHggMCA2NnJweDtcclxuXHRcdG1hcmdpbjogMHJweCAyMHJweCAxMHJweCAyMHJweDtcclxuXHRcdGJhY2tncm91bmQ6ICNGRkY7XHJcblx0fVxyXG5cdC5kdl9xdWVyeV9ib2R5IHtcclxuXHQgICAgaGVpZ2h0OiA5MSU7XHJcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0ICAgIGJvcmRlcjogMnJweCBzb2xpZCAjZDVkNWQ1O1xyXG5cdCAgICBwYWRkaW5nOiAxNHJweDtcclxuXHR9XHJcblx0LnBzbiB7XHJcblx0ICAgIG1hcmdpbjogMCAxMnJweCAxMnJweCAwO1xyXG5cdCAgICBwYWRkaW5nOiA4cnB4IDIwcnB4IDEwcnB4O1xyXG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTVhMWRkO1xyXG5cdCAgICBmb250LXNpemU6IDMwcnB4O1xyXG5cdCAgICBjb2xvcjogI2ZmZjtcclxuXHQgICAgYm9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHRidXR0b24uYnRuX3NhdmEge1xyXG5cdFx0bWFyZ2luLXRvcDogNjBycHg7XHJcblx0XHRwYWRkaW5nOiAyMHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0XHRiYWNrZ3JvdW5kOiAjMjdBNkUxO1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG48L3N0eWxlPlxyXG5cclxuPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiY29udGVudFwiPlxyXG5cdFx0PHZpZXcgc3R5bGU9XCJoZWlnaHQ6OTAlO1wiPlxyXG5cdFx0XHQ8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cInR4dF9zZWFyY2hcIiB2LW1vZGVsPVwic2VhcmNoVmFsXCIgIEBrZXl1cD1cIm9ua2V5dXBcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeS6uuWRmOWnk+WQjeaIlueugOaLvOi/m+ihjOafpeivolwiID5cclxuXHRcdFx0PCEtLSA8ZGl2IGNsYXNzPVwiZHZfcXVlcnlfYm9keVwiID5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicHNuXCI+XHJcblx0XHRcdFx0XHQ8Y2hlY2tib3gtZ3JvdXAgY2xhc3M9XCJpc2NoZWNrXCIgQGNoYW5nZT1cIm9uY2hhbmdlXCIgZGF0YS1pc2NoZWNrPVwiZmFsc2VcIiBkYXRhLWluZGV4PVwiMFwiID5cclxuXHRcdFx0XHRcdFx0PGxhYmVsPlxyXG5cdFx0XHRcdFx0XHRcdDxjaGVja2JveCBiYWx1ZT1cIjFcIiA6Y2hlY2tlZD1cImlzY2hlY2tlZFwiIC8+XHJcblx0XHRcdFx0XHRcdFx0PHRleHQ+dGVzdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdDwvY2hlY2tib3gtZ3JvdXA+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PiAtLT5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImR2X3F1ZXJ5X2JvZHlcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicHNuXCIgdi1mb3I9XCIocHNuLGluZGV4KSBpbiBkYXRhXCI+XHJcblx0XHRcdFx0XHQ8Y2hlY2tib3gtZ3JvdXAgY2xhc3M9XCJpc2NoZWNrXCIgQGNoYW5nZT1cIm9uY2hhbmdlXCIgOmRhdGEtaXNjaGVjaz1cInBzbi5pc2NoZWNrXCIgOmRhdGEtaW5kZXg9XCJpbmRleFwiID5cclxuXHRcdFx0XHRcdFx0PGxhYmVsPlxyXG5cdFx0XHRcdFx0XHRcdDxjaGVja2JveCA6Y2hlY2tlZD1cInBzbi5pc2NoZWNrXCIgLz5cclxuXHRcdFx0XHRcdFx0XHQ8dGV4dD57e3Bzbi5OYW1lfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvbGFiZWw+XHJcblx0XHRcdFx0XHQ8L2NoZWNrYm94LWdyb3VwPlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHJcblx0XHRcdDxidXR0b24gdHlwZT1cImRlZmF1bHRcIiBAdGFwPVwic2F2YVwiIGNsYXNzPVwiYnRuX3NhdmFcIj7noa7lrpo8L2J1dHRvbj5cclxuXHRcdDwvdmlldz5cclxuXHRcdFxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT4gXHJcblxyXG48c2NyaXB0PlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dGl0bGU6ICfpgInmi6nkurrlkZgnLFxyXG5cdFx0XHRcdG11bGl0OicnLFxyXG5cdFx0XHRcdHBhcmFtOnt9LFxyXG5cdFx0XHRcdHNlYXJjaFZhbDonJyxcclxuXHRcdFx0XHRpc2NoZWNrZWQ6ZmFsc2UsXHJcblx0XHRcdFx0ZGF0YTpbXVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0Y29uc29sZS5sb2cob3B0aW9ucyk7XHJcblx0XHRcdHZhciBwYXJhbSA9IEpTT04ucGFyc2Uob3B0aW9ucy5wYXJhbSk7XHJcblx0XHRcdHRoaXMuJGRhdGEucGFyYW09cGFyYW07XHJcblx0XHRcdHRoaXMuJGRhdGEubXVsaXQ9b3B0aW9ucy5tdWxpdDtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy4kZGF0YS5wYXJhbSk7XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRvbmtleXVwKGUpIHtcclxuXHRcdFx0XHRpZih0aGlzLiRkYXRhLnNlYXJjaFZhbCl7XHJcblx0XHRcdFx0XHR2YXIgZGF0YWluZm8gPXsganA6IHRoaXMuJGRhdGEuc2VhcmNoVmFsLCBkZXB0X2lkOiAnJyB9XHJcblx0XHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgncXVlcnlTZWxwc24nLGRhdGFpbmZvKS50aGVuKHN1Y2Nlc3M9PntcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coc3VjY2Vzcyk7XHJcblx0XHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0XHRmb3IodmFyIGkgaW4gc3VjY2Vzcy5kYXRhKXtcclxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3MuZGF0YVtpXS5pc2NoZWNrPWZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRkYXRhLmRhdGEgPSBzdWNjZXNzLmRhdGE7XHJcblx0XHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSkuY2F0Y2goZXg9PntcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivr1wiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIFxyXG5cdFx0XHRcdFx0dGhpcy4kZGF0YS5kYXRhID0gW107XHJcblx0XHRcdH0sXHJcblx0XHRcdG9uY2hhbmdlKGUpIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XHJcblx0XHRcdFx0dmFyIGRhdGEgPSB0aGlzLiRkYXRhLmRhdGE7XHJcblx0XHRcdFx0dGhpcy4kZGF0YS5kYXRhPVtdO1xyXG5cdFx0XHRcdGlmKHRoaXMuJGRhdGEubXVsaXQ9PVwiZmFsc2VcIil7XHJcblx0XHRcdFx0XHRmb3IodmFyIGkgaW4gZGF0YSl7XHJcblx0XHRcdFx0XHRcdGRhdGFbaV0uaXNjaGVjaz1mYWxzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0ZGF0YVtlLnRhcmdldC5kYXRhc2V0LmluZGV4XS5pc2NoZWNrPWUudGFyZ2V0LmRhdGFzZXQuaXNjaGVjaz9mYWxzZTp0cnVlXHJcblx0XHRcdFx0dGhpcy4kZGF0YS5kYXRhPWRhdGE7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNhdmEoKXsgLy/ngrnlh7vlip/og73ngrnot7PovazpobXpnaJcclxuXHRcdFx0XHR2YXIgZGF0YSA9IFtdO1xyXG5cdFx0XHRcdGZvcih2YXIgaSBpbiB0aGlzLiRkYXRhLmRhdGEpe1xyXG5cdFx0XHRcdFx0aWYodGhpcy4kZGF0YS5kYXRhW2ldLmlzY2hlY2s9PXRydWUpe1xyXG5cdFx0XHRcdFx0XHRkYXRhLnB1c2godGhpcy4kZGF0YS5kYXRhW2ldKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYoZGF0YS5sZW5ndGg9PTApe1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLmj5DnpLpcIixjb250ZW50OifmnKrpgInmi6nkurrlkZjvvIEnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCBldmVudENoYW5uZWwgPSB0aGlzLiRzY29wZS5ldmVudENoYW5uZWw7XHJcblx0XHRcdFx0Ly8gY29uc3QgZXZlbnRDaGFubmVsID0gdGhpcy5nZXRPcGVuZXJFdmVudENoYW5uZWwoKTtcclxuXHRcdFx0XHRldmVudENoYW5uZWwuZW1pdCgnQWRkUGVyJyxkYXRhLHRoaXMuJGRhdGEucGFyYW0pO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKVxyXG5cdFx0XHR9XHJcblx0XHRcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///63\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  data: function data() {\n    return {\n      title: '选择人员',\n      mulit: '',\n      param: {},\n      searchVal: '',\n      ischecked: false,\n      data: [] };\n\n  },\n  onLoad: function onLoad(options) {\n    __f__(\"log\", options, \" at pages/selpsn/index.vue:87\");\n    var param = JSON.parse(options.param);\n    this.$data.param = param;\n    this.$data.mulit = options.mulit;\n    // console.log(this.$data.param);\n  },\n  methods: {\n    onkeyup: function onkeyup(e) {var _this = this;\n      if (this.$data.searchVal) {\n        var datainfo = { jp: this.$data.searchVal, dept_id: '' };\n        this.$store.dispatch('querySelpsn', datainfo).then(function (success) {\n          // console.log(success);\n          if (success.code == '00000') {\n            for (var i in success.data) {\n              success.data[i].ischeck = false;\n            }\n\n            _this.$data.data = success.data;\n          } else {\n            uni.showModal({ title: \"错误\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n          }\n        }).catch(function (ex) {\n          // console.log(ex);\n          uni.showModal({ title: \"错误\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n        });\n      } else\n      this.$data.data = [];\n    },\n    onchange: function onchange(e) {\n      // console.log(e.target);\n      var data = this.$data.data;\n      this.$data.data = [];\n      if (this.$data.mulit == \"false\") {\n        for (var i in data) {\n          data[i].ischeck = false;\n        }\n      }\n\n      data[e.target.dataset.index].ischeck = e.target.dataset.ischeck ? false : true;\n      this.$data.data = data;\n    },\n    sava: function sava() {//点击功能点跳转页面\n      var data = [];\n      for (var i in this.$data.data) {\n        if (this.$data.data[i].ischeck == true) {\n          data.push(this.$data.data[i]);\n        }\n      }\n      if (data.length == 0) {\n        uni.showModal({ title: \"提示\", content: '未选择人员!', showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      var eventChannel = this.$scope.eventChannel;\n      // const eventChannel = this.getOpenerEventChannel();\n      eventChannel.emit('AddPer', data, this.$data.param);\n\n      uni.navigateBack();\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc2VscHNuL2luZGV4LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwidGl0bGUiLCJtdWxpdCIsInBhcmFtIiwic2VhcmNoVmFsIiwiaXNjaGVja2VkIiwib25Mb2FkIiwib3B0aW9ucyIsIkpTT04iLCJwYXJzZSIsIiRkYXRhIiwibWV0aG9kcyIsIm9ua2V5dXAiLCJlIiwiZGF0YWluZm8iLCJqcCIsImRlcHRfaWQiLCIkc3RvcmUiLCJkaXNwYXRjaCIsInRoZW4iLCJzdWNjZXNzIiwiY29kZSIsImkiLCJpc2NoZWNrIiwidW5pIiwic2hvd01vZGFsIiwiY29udGVudCIsIm1zZyIsInNob3dDYW5jZWwiLCJjb25maXJtVGV4dCIsImNhdGNoIiwiZXgiLCJlcnJNc2ciLCJvbmNoYW5nZSIsInRhcmdldCIsImRhdGFzZXQiLCJpbmRleCIsInNhdmEiLCJwdXNoIiwibGVuZ3RoIiwiZXZlbnRDaGFubmVsIiwiJHNjb3BlIiwiZW1pdCIsIm5hdmlnYXRlQmFjayJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVlO0FBQ2RBLE1BRGMsa0JBQ1A7QUFDTixXQUFPO0FBQ05DLFdBQUssRUFBRSxNQUREO0FB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LEtBQUwsQ0FBV1YsSUFBeEIsRUFBNkI7QUFDNUIsWUFBRyxLQUFLVSxLQUFMLENBQVdWLElBQVgsQ0FBZ0JzQixDQUFoQixFQUFtQkMsT0FBbkIsSUFBNEIsSUFBL0IsRUFBb0M7QUFDbkN2QixjQUFJLENBQUNzQyxJQUFMLENBQVUsS0FBSzVCLEtBQUwsQ0FBV1YsSUFBWCxDQUFnQnNCLENBQWhCLENBQVY7QUFDQTtBQUNEO0FBQ0QsVUFBR3RCLElBQUksQ0FBQ3VDLE1BQUwsSUFBYSxDQUFoQixFQUFrQjtBQUNqQmYsV0FBRyxDQUFDQyxTQUFKLENBQWMsRUFBQ3hCLEtBQUssRUFBQyxJQUFQLEVBQVl5QixPQUFPLEVBQUMsUUFBcEIsRUFBNkJFLFVBQVUsRUFBQyxLQUF4QyxFQUE4Q0MsV0FBVyxFQUFDLElBQTFELEVBQWQ7QUFDQTtBQUNBO0FBQ0QsVUFBTVcsWUFBWSxHQUFHLEtBQUtDLE1BQUwsQ0FBWUQsWUFBakM7QUFDQTtBQUNBQSxrQkFBWSxDQUFDRSxJQUFiLENBQWtCLFFBQWxCLEVBQTJCMUMsSUFBM0IsRUFBZ0MsS0FBS1UsS0FBTCxDQUFXUCxLQUEzQzs7QUFFQXFCLFNBQUcsQ0FBQ21CLFlBQUo7QUFDQSxLQW5ETyxFQWxCSyxFIiwiZmlsZSI6IjYzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR0aXRsZTogJ+mAieaLqeS6uuWRmCcsXG5cdFx0XHRtdWxpdDonJyxcblx0XHRcdHBhcmFtOnt9LFxuXHRcdFx0c2VhcmNoVmFsOicnLFxuXHRcdFx0aXNjaGVja2VkOmZhbHNlLFxuXHRcdFx0ZGF0YTpbXVxuXHRcdH1cblx0fSxcblx0b25Mb2FkKG9wdGlvbnMpIHtcblx0XHRjb25zb2xlLmxvZyhvcHRpb25zKTtcblx0XHR2YXIgcGFyYW0gPSBKU09OLnBhcnNlKG9wdGlvbnMucGFyYW0pO1xuXHRcdHRoaXMuJGRhdGEucGFyYW09cGFyYW07XG5cdFx0dGhpcy4kZGF0YS5tdWxpdD1vcHRpb25zLm11bGl0O1xuXHRcdC8vIGNvbnNvbGUubG9nKHRoaXMuJGRhdGEucGFyYW0pO1xuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0b25rZXl1cChlKSB7XG5cdFx0XHRpZih0aGlzLiRkYXRhLnNlYXJjaFZhbCl7XG5cdFx0XHRcdHZhciBkYXRhaW5mbyA9eyBqcDogdGhpcy4kZGF0YS5zZWFyY2hWYWwsIGRlcHRfaWQ6ICcnIH1cblx0XHRcdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ3F1ZXJ5U2VscHNuJyxkYXRhaW5mbykudGhlbihzdWNjZXNzPT57XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coc3VjY2Vzcyk7XG5cdFx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRcdFx0Zm9yKHZhciBpIGluIHN1Y2Nlc3MuZGF0YSl7XG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3MuZGF0YVtpXS5pc2NoZWNrPWZhbHNlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR0aGlzLiRkYXRhLmRhdGEgPSBzdWNjZXNzLmRhdGE7XG5cdFx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivr1wiLGNvbnRlbnQ6c3VjY2Vzcy5tc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGV4KTtcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivr1wiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSBcblx0XHRcdFx0dGhpcy4kZGF0YS5kYXRhID0gW107XG5cdFx0fSxcblx0XHRvbmNoYW5nZShlKSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHR2YXIgZGF0YSA9IHRoaXMuJGRhdGEuZGF0YTtcblx0XHRcdHRoaXMuJGRhdGEuZGF0YT1bXTtcblx0XHRcdGlmKHRoaXMuJGRhdGEubXVsaXQ9PVwiZmFsc2VcIil7XG5cdFx0XHRcdGZvcih2YXIgaSBpbiBkYXRhKXtcblx0XHRcdFx0XHRkYXRhW2ldLmlzY2hlY2s9ZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0ZGF0YVtlLnRhcmdldC5kYXRhc2V0LmluZGV4XS5pc2NoZWNrPWUudGFyZ2V0LmRhdGFzZXQuaXNjaGVjaz9mYWxzZTp0cnVlXG5cdFx0XHR0aGlzLiRkYXRhLmRhdGE9ZGF0YTtcblx0XHR9LFxuXHRcdHNhdmEoKXsgLy/ngrnlh7vlip/og73ngrnot7PovazpobXpnaJcblx0XHRcdHZhciBkYXRhID0gW107XG5cdFx0XHRmb3IodmFyIGkgaW4gdGhpcy4kZGF0YS5kYXRhKXtcblx0XHRcdFx0aWYodGhpcy4kZGF0YS5kYXRhW2ldLmlzY2hlY2s9PXRydWUpe1xuXHRcdFx0XHRcdGRhdGEucHVzaCh0aGlzLiRkYXRhLmRhdGFbaV0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZihkYXRhLmxlbmd0aD09MCl7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDon5pyq6YCJ5oup5Lq65ZGY77yBJyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgZXZlbnRDaGFubmVsID0gdGhpcy4kc2NvcGUuZXZlbnRDaGFubmVsO1xuXHRcdFx0Ly8gY29uc3QgZXZlbnRDaGFubmVsID0gdGhpcy5nZXRPcGVuZXJFdmVudENoYW5uZWwoKTtcblx0XHRcdGV2ZW50Q2hhbm5lbC5lbWl0KCdBZGRQZXInLGRhdGEsdGhpcy4kZGF0YS5wYXJhbSk7XG5cdFx0XHRcblx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKVxuXHRcdH1cblx0XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///63\n");
/***/ }),
/* 64 */
@@ -5726,7 +5734,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  data: function data() {\n    return {\n      title: '选择项目',\n      relation: '-1',\n      param: {},\n      searchVal: '',\n      ischecked: false,\n      data: [] };\n\n  },\n  onLoad: function onLoad(options) {var _this = this;\n    // console.log(options);\n    var param = JSON.parse(options.param);\n    this.$data.param = param;\n    this.$data.relation = options.relation;\n    // console.log(this.$data.param);\n\n\n    var datainfo = { relation: this.$data.relation, tag: '', type: '', kw: '', pindex: 1, psize: 999999999, state: '', order: 'CN_T_CREATE DESC', kwpmname: '', kwcode: '', sessionid: '' };\n\n    // console.log(datainfo);\n    this.$store.dispatch('ProjectGetAnalysisList', datainfo).then(function (success) {\n      __f__(\"log\", success, \" at pages/selPrj/index.vue:106\");\n      if (success.code == '00000') {\n        for (var i in success.data.Body) {\n          success.data.Body[i].ischeck = false;\n        }\n\n        _this.$data.data = success.data.Body;\n\n      } else {\n        uni.showModal({ title: \"错误1\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n      }\n    }).catch(function (ex) {\n      // console.log(ex);\n      uni.showModal({ title: \"错误1.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n    });\n  },\n  methods: {\n    onkeyup: function onkeyup(e) {var _this2 = this;\n      // console.log(e.target);\n      // console.log(this.$data.searchVal);\n      var datainfo = { relation: this.$data.priRel, tag: '', type: '', kw: this.$data.searchVal, pindex: 1, psize: 999999999, state: '', order: 'CN_T_CREATE DESC', kwpmname: '', kwcode: '', sessionid: '' };\n      this.$store.dispatch('ProjectGetAnalysisList', datainfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/selPrj/index.vue:128\");\n        if (success.code == '00000') {\n          for (var i in success.data.Body) {\n            success.data.Body[i].ischeck = false;\n          }\n\n          _this2.$data.data = success.data.Body;\n        } else {\n          uni.showModal({ title: \"错误2\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误2.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n\n    },\n    onchange: function onchange(e) {\n      // console.log(e.target);\n      var data = this.$data.data;\n      this.$data.data = [];\n      for (var i in data) {\n        data[i].ischeck = false;\n      }\n\n      data[e.target.dataset.index].ischeck = e.target.dataset.ischeck ? false : true;\n      this.$data.data = data;\n    },\n    sava: function sava() {//点击功能点跳转页面\n      // console.log(this.$data.data);\n      var data = [];\n      for (var i in this.$data.data) {\n        if (this.$data.data[i].ischeck == true) {\n          data.push(this.$data.data[i]);\n        }\n      }\n      if (data.length == 0) {\n        uni.showModal({ title: \"提示\", content: '未选择项目!', showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      var eventChannel = this.$scope.eventChannel;\n      // const eventChannel = this.getOpenerEventChannel();\n      eventChannel.emit('AddPer', data, this.$data.param);\n\n      uni.navigateBack();\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc2VsUHJqL2luZGV4LnZ1ZSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0ZBO0FBQ0EsTUFEQSxrQkFDQTtBQUNBO0FBQ0EsbUJBREE7QUFFQSxvQkFGQTtBQUdBLGVBSEE7QUFJQSxtQkFKQTtBQUtBLHNCQUxBO0FBTUEsY0FOQTs7QUFRQSxHQVZBO0FBV0EsUUFYQSxrQkFXQSxPQVhBLEVBV0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxPQVBBLE1BT0E7QUFDQTtBQUNBO0FBQ0EsS0FaQSxFQVlBLEtBWkEsQ0FZQTtBQUNBO0FBQ0E7QUFDQSxLQWZBO0FBZ0JBLEdBdENBO0FBdUNBO0FBQ0EsV0FEQSxtQkFDQSxDQURBLEVBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQU5BLE1BTUE7QUFDQTtBQUNBO0FBQ0EsT0FYQSxFQVdBLEtBWEEsQ0FXQTtBQUNBO0FBQ0E7QUFDQSxPQWRBOztBQWdCQSxLQXJCQTtBQXNCQSxZQXRCQSxvQkFzQkEsQ0F0QkEsRUFzQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBaENBO0FBaUNBLFFBakNBLGtCQWlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQWxEQSxFQXZDQSxFIiwiZmlsZSI6IjY4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHN0eWxlPlxyXG5cdC5jb250ZW50IHtcclxuXHRcdHdpZHRoOiAxMDB2dztcclxuXHRcdGhlaWdodDogOTN2aDtcclxuXHRcdGJhY2tncm91bmQ6ICNFQUVBRUE7XHJcblx0XHRwYWRkaW5nOiAxNHJweCAwcnB4IDBycHggMHJweDtcclxuXHR9XHJcblx0aW5wdXR7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDVkNWQ1O1xyXG5cdFx0d2lkdGg6IDc3JTtcclxuXHRcdGhlaWdodDogODBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA2MHJweCFpbXBvcnRhbnQ7XHJcblx0XHRwYWRkaW5nOiAwIDYwcnB4IDAgNjZycHg7XHJcblx0XHRtYXJnaW46IDBycHggMjBycHggMTBycHggMjBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGO1xyXG5cdH1cclxuXHQuZHZfcXVlcnlfYm9keSB7XHJcblx0ICAgIGhlaWdodDogOTElO1xyXG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdCAgICBib3JkZXI6IDJycHggc29saWQgI2Q1ZDVkNTtcclxuXHQgICAgcGFkZGluZzogMTRycHg7XHJcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdH1cclxuXHQucHNuIHtcclxuXHRcdHdpZHRoOiA5MyU7XHJcblx0ICAgIG1hcmdpbjogMCAxMnJweCAxMnJweCAwO1xyXG5cdCAgICBwYWRkaW5nOiA4cnB4IDIwcnB4IDEwcnB4O1xyXG5cdCAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTVhMWRkO1xyXG5cdCAgICBmb250LXNpemU6IDMwcnB4O1xyXG5cdCAgICBjb2xvcjogI2ZmZjtcclxuXHQgICAgYm9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHQgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHQuZHZfdGl0bGV7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR3aWR0aDogOTAlO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHR9XHJcblx0YnV0dG9uLmJ0bl9zYXZhIHtcclxuXHRcdG1hcmdpbi10b3A6IDYwcnB4O1xyXG5cdFx0cGFkZGluZzogMjBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0YmFja2dyb3VuZDogIzI3QTZFMTtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdH1cclxuPC9zdHlsZT5cclxuXHJcbjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdDx2aWV3IHN0eWxlPVwiaGVpZ2h0OjkwJTtcIj5cclxuXHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJ0eHRfc2VhcmNoXCIgdi1tb2RlbD1cInNlYXJjaFZhbFwiICBAa2V5dXA9XCJvbmtleXVwXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXpobnnm67lkI3np7Dov5vooYzmn6Xor6JcIiA+XHJcblx0XHRcdDwhLS0gPGRpdiBjbGFzcz1cImR2X3F1ZXJ5X2JvZHlcIiA+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cInBzblwiPlxyXG5cdFx0XHRcdFx0PGNoZWNrYm94LWdyb3VwIGNsYXNzPVwiaXNjaGVja1wiIEBjaGFuZ2U9XCJvbmNoYW5nZVwiIGRhdGEtaXNjaGVjaz1cImZhbHNlXCIgZGF0YS1pbmRleD1cIjBcIiA+XHJcblx0XHRcdFx0XHRcdDxsYWJlbD5cclxuXHRcdFx0XHRcdFx0XHQ8Y2hlY2tib3ggYmFsdWU9XCIxXCIgOmNoZWNrZWQ9XCJpc2NoZWNrZWRcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJkdl90aXRsZVwiPnRlc3Qt5rWL6K+VLSjmsZ/mtpspdGVzdC3mtYvor5UtKOaxn+a2myk8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PC9sYWJlbD5cclxuXHRcdFx0XHRcdDwvY2hlY2tib3gtZ3JvdXA+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZGl2PiAtLT5cclxuXHRcdFx0XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJkdl9xdWVyeV9ib2R5XCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cInBzblwiIHYtZm9yPVwiKHByaixpbmRleCkgaW4gZGF0YVwiPlxyXG5cdFx0XHRcdFx0PGNoZWNrYm94LWdyb3VwIGNsYXNzPVwiaXNjaGVja1wiIEBjaGFuZ2U9XCJvbmNoYW5nZVwiIDpkYXRhLWlzY2hlY2s9XCJwcmouaXNjaGVja1wiIDpkYXRhLWluZGV4PVwiaW5kZXhcIiA+XHJcblx0XHRcdFx0XHRcdDxsYWJlbD5cclxuXHRcdFx0XHRcdFx0XHQ8Y2hlY2tib3ggOmNoZWNrZWQ9XCJwcmouaXNjaGVja1wiICAvPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJkdl90aXRsZVwiPnt7cHJqLlByakNvZGV9fS17e3Byai5OYW1lfX0tKHt7cHJqLlBNTmFtZX19KTwvZGl2PlxyXG5cdFx0XHRcdFx0XHQ8L2xhYmVsPlxyXG5cdFx0XHRcdFx0PC9jaGVja2JveC1ncm91cD5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHRcdFxyXG5cdFx0XHQ8YnV0dG9uIHR5cGU9XCJkZWZhdWx0XCIgQHRhcD1cInNhdmFcIiBjbGFzcz1cImJ0bl9zYXZhXCI+56Gu5a6aPC9idXR0b24+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHRcclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+IFxyXG5cclxuPHNjcmlwdD5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHRpdGxlOiAn6YCJ5oup6aG555uuJyxcclxuXHRcdFx0XHRyZWxhdGlvbjonLTEnLFxyXG5cdFx0XHRcdHBhcmFtOnt9LFxyXG5cdFx0XHRcdHNlYXJjaFZhbDonJyxcclxuXHRcdFx0XHRpc2NoZWNrZWQ6ZmFsc2UsXHJcblx0XHRcdFx0ZGF0YTpbXVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2cob3B0aW9ucyk7XHJcblx0XHRcdHZhciBwYXJhbSA9IEpTT04ucGFyc2Uob3B0aW9ucy5wYXJhbSk7XHJcblx0XHRcdHRoaXMuJGRhdGEucGFyYW09cGFyYW07XHJcblx0XHRcdHRoaXMuJGRhdGEucmVsYXRpb249IG9wdGlvbnMucmVsYXRpb247XHJcblx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMuJGRhdGEucGFyYW0pO1xyXG5cdFx0XHRcclxuXHRcdFx0XHJcblx0XHRcdHZhciBkYXRhaW5mbyA9eyByZWxhdGlvbjogdGhpcy4kZGF0YS5yZWxhdGlvbiwgdGFnOiAnJywgdHlwZTogJycsIGt3OiAnJywgcGluZGV4OiAxLCBwc2l6ZTogOTk5OTk5OTk5LCBzdGF0ZTogJycsIG9yZGVyOiAnQ05fVF9DUkVBVEUgREVTQycsIGt3cG1uYW1lOiAnJywga3djb2RlOiAnJywgc2Vzc2lvbmlkOiAnJyB9O1xyXG5cdFx0XHRcclxuXHRcdFx0Ly8gY29uc29sZS5sb2coZGF0YWluZm8pO1xyXG5cdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnUHJvamVjdEdldEFuYWx5c2lzTGlzdCcsZGF0YWluZm8pLnRoZW4oc3VjY2Vzcz0+e1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xyXG5cdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdGZvcih2YXIgaSBpbiBzdWNjZXNzLmRhdGEuQm9keSl7XHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3MuZGF0YS5Cb2R5W2ldLmlzY2hlY2s9ZmFsc2U7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdHRoaXMuJGRhdGEuZGF0YSA9IHN1Y2Nlc3MuZGF0YS5Cb2R5O1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzFcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSkuY2F0Y2goZXg9PntcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XHJcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68xLjFcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0fSk7XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHRvbmtleXVwKGUpIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy4kZGF0YS5zZWFyY2hWYWwpO1xyXG5cdFx0XHRcdHZhciBkYXRhaW5mbyA9eyByZWxhdGlvbjogdGhpcy4kZGF0YS5wcmlSZWwsIHRhZzogJycsIHR5cGU6ICcnLCBrdzogdGhpcy4kZGF0YS5zZWFyY2hWYWwsIHBpbmRleDogMSwgcHNpemU6IDk5OTk5OTk5OSwgc3RhdGU6ICcnLCBvcmRlcjogJ0NOX1RfQ1JFQVRFIERFU0MnLCBrd3BtbmFtZTogJycsIGt3Y29kZTogJycsIHNlc3Npb25pZDogJycgfTtcclxuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnUHJvamVjdEdldEFuYWx5c2lzTGlzdCcsZGF0YWluZm8pLnRoZW4oc3VjY2Vzcz0+e1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coc3VjY2Vzcyk7XHJcblx0XHRcdFx0XHRpZiAoc3VjY2Vzcy5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdGZvcih2YXIgaSBpbiBzdWNjZXNzLmRhdGEuQm9keSl7XHJcblx0XHRcdFx0XHRcdFx0c3VjY2Vzcy5kYXRhLkJvZHlbaV0uaXNjaGVjaz1mYWxzZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0dGhpcy4kZGF0YS5kYXRhID0gc3VjY2Vzcy5kYXRhLkJvZHk7XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68yXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xyXG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68yLjFcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcclxuXHRcdFx0fSxcclxuXHRcdFx0b25jaGFuZ2UoZSkge1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGUudGFyZ2V0KTtcclxuXHRcdFx0XHR2YXIgZGF0YSA9IHRoaXMuJGRhdGEuZGF0YTtcclxuXHRcdFx0XHR0aGlzLiRkYXRhLmRhdGE9W107XHJcblx0XHRcdFx0Zm9yKHZhciBpIGluIGRhdGEpe1xyXG5cdFx0XHRcdFx0ZGF0YVtpXS5pc2NoZWNrPWZhbHNlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRkYXRhW2UudGFyZ2V0LmRhdGFzZXQuaW5kZXhdLmlzY2hlY2s9ZS50YXJnZXQuZGF0YXNldC5pc2NoZWNrP2ZhbHNlOnRydWVcclxuXHRcdFx0XHR0aGlzLiRkYXRhLmRhdGE9ZGF0YTtcclxuXHRcdFx0fSxcclxuXHRcdFx0c2F2YSgpeyAvL+eCueWHu+WKn+iDveeCuei3s+i9rOmhtemdolxyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMuJGRhdGEuZGF0YSk7XHJcblx0XHRcdFx0dmFyIGRhdGEgPSBbXTtcclxuXHRcdFx0XHRmb3IodmFyIGkgaW4gdGhpcy4kZGF0YS5kYXRhKXtcclxuXHRcdFx0XHRcdGlmKHRoaXMuJGRhdGEuZGF0YVtpXS5pc2NoZWNrPT10cnVlKXtcclxuXHRcdFx0XHRcdFx0ZGF0YS5wdXNoKHRoaXMuJGRhdGEuZGF0YVtpXSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmKGRhdGEubGVuZ3RoPT0wKXtcclxuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDon5pyq6YCJ5oup6aG555uu77yBJyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc3QgZXZlbnRDaGFubmVsID0gdGhpcy4kc2NvcGUuZXZlbnRDaGFubmVsO1xyXG5cdFx0XHRcdC8vIGNvbnN0IGV2ZW50Q2hhbm5lbCA9IHRoaXMuZ2V0T3BlbmVyRXZlbnRDaGFubmVsKCk7XHJcblx0XHRcdFx0ZXZlbnRDaGFubmVsLmVtaXQoJ0FkZFBlcicsZGF0YSx0aGlzLiRkYXRhLnBhcmFtKTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVCYWNrKClcclxuXHRcdFx0fVxyXG5cdFx0XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///68\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0; //\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default =\n{\n  data: function data() {\n    return {\n      title: '选择项目',\n      relation: '-1',\n      param: {},\n      searchVal: '',\n      ischecked: false,\n      data: [] };\n\n  },\n  onLoad: function onLoad(options) {var _this = this;\n    // console.log(options);\n    var param = JSON.parse(options.param);\n    this.$data.param = param;\n    this.$data.relation = options.relation;\n    // console.log(this.$data.param);\n\n\n    var datainfo = { relation: this.$data.relation, tag: '', type: '', kw: '', pindex: 1, psize: 999999999, state: '', order: 'CN_T_CREATE DESC', kwpmname: '', kwcode: '', sessionid: '' };\n\n    // console.log(datainfo);\n    this.$store.dispatch('ProjectGetAnalysisList', datainfo).then(function (success) {\n      __f__(\"log\", success, \" at pages/selPrj/index.vue:106\");\n      if (success.code == '00000') {\n        for (var i in success.data.Body) {\n          success.data.Body[i].ischeck = false;\n        }\n\n        _this.$data.data = success.data.Body;\n\n      } else {\n        uni.showModal({ title: \"错误1\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n      }\n    }).catch(function (ex) {\n      // console.log(ex);\n      uni.showModal({ title: \"错误1.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n    });\n  },\n  methods: {\n    onkeyup: function onkeyup(e) {var _this2 = this;\n      // console.log(e.target);\n      // console.log(this.$data.searchVal);\n      var datainfo = { relation: this.$data.priRel, tag: '', type: '', kw: this.$data.searchVal, pindex: 1, psize: 999999999, state: '', order: 'CN_T_CREATE DESC', kwpmname: '', kwcode: '', sessionid: '' };\n      this.$store.dispatch('ProjectGetAnalysisList', datainfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/selPrj/index.vue:128\");\n        if (success.code == '00000') {\n          for (var i in success.data.Body) {\n            success.data.Body[i].ischeck = false;\n          }\n\n          _this2.$data.data = success.data.Body;\n        } else {\n          uni.showModal({ title: \"错误2\", content: success.msg, showCancel: false, confirmText: \"取消\" });\n        }\n      }).catch(function (ex) {\n        // console.log(ex);\n        uni.showModal({ title: \"错误2.1\", content: ex.errMsg, showCancel: false, confirmText: \"取消\" });\n      });\n\n    },\n    onchange: function onchange(e) {\n      // console.log(e.target);\n      var data = this.$data.data;\n      this.$data.data = [];\n      for (var i in data) {\n        data[i].ischeck = false;\n      }\n\n      data[e.target.dataset.index].ischeck = e.target.dataset.ischeck ? false : true;\n      this.$data.data = data;\n    },\n    sava: function sava() {//点击功能点跳转页面\n      // console.log(this.$data.data);\n      var data = [];\n      for (var i in this.$data.data) {\n        if (this.$data.data[i].ischeck == true) {\n          data.push(this.$data.data[i]);\n        }\n      }\n      if (data.length == 0) {\n        uni.showModal({ title: \"提示\", content: '未选择项目!', showCancel: false, confirmText: \"取消\" });\n        return;\n      }\n      var eventChannel = this.$scope.eventChannel;\n      // const eventChannel = this.getOpenerEventChannel();\n      eventChannel.emit('AddPer', data, this.$data.param);\n\n      uni.navigateBack();\n    } } };exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc2VsUHJqL2luZGV4LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwidGl0bGUiLCJyZWxhdGlvbiIsInBhcmFtIiwic2VhcmNoVmFsIiwiaXNjaGVja2VkIiwib25Mb2FkIiwib3B0aW9ucyIsIkpTT04iLCJwYXJzZSIsIiRkYXRhIiwiZGF0YWluZm8iLCJ0YWciLCJ0eXBlIiwia3ciLCJwaW5kZXgiLCJwc2l6ZSIsInN0YXRlIiwib3JkZXIiLCJrd3BtbmFtZSIsImt3Y29kZSIsInNlc3Npb25pZCIsIiRzdG9yZSIsImRpc3BhdGNoIiwidGhlbiIsInN1Y2Nlc3MiLCJjb2RlIiwiaSIsIkJvZHkiLCJpc2NoZWNrIiwidW5pIiwic2hvd01vZGFsIiwiY29udGVudCIsIm1zZyIsInNob3dDYW5jZWwiLCJjb25maXJtVGV4dCIsImNhdGNoIiwiZXgiLCJlcnJNc2ciLCJtZXRob2RzIiwib25rZXl1cCIsImUiLCJwcmlSZWwiLCJvbmNoYW5nZSIsInRhcmdldCIsImRhdGFzZXQiLCJpbmRleCIsInNhdmEiLCJwdXNoIiwibGVuZ3RoIiwiZXZlbnRDaGFubmVsIiwiJHNjb3BlIiwiZW1pdCIsIm5hdmlnYXRlQmFjayJdLCJtYXBwaW5ncyI6InFJQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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QUNBLEtBbERPLEVBdkNLLEUiLCJmaWxlIjoiNjguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0dGl0bGU6ICfpgInmi6npobnnm64nLFxuXHRcdFx0cmVsYXRpb246Jy0xJyxcblx0XHRcdHBhcmFtOnt9LFxuXHRcdFx0c2VhcmNoVmFsOicnLFxuXHRcdFx0aXNjaGVja2VkOmZhbHNlLFxuXHRcdFx0ZGF0YTpbXVxuXHRcdH1cblx0fSxcblx0b25Mb2FkKG9wdGlvbnMpIHtcblx0XHQvLyBjb25zb2xlLmxvZyhvcHRpb25zKTtcblx0XHR2YXIgcGFyYW0gPSBKU09OLnBhcnNlKG9wdGlvbnMucGFyYW0pO1xuXHRcdHRoaXMuJGRhdGEucGFyYW09cGFyYW07XG5cdFx0dGhpcy4kZGF0YS5yZWxhdGlvbj0gb3B0aW9ucy5yZWxhdGlvbjtcblx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLiRkYXRhLnBhcmFtKTtcblx0XHRcblx0XHRcblx0XHR2YXIgZGF0YWluZm8gPXsgcmVsYXRpb246IHRoaXMuJGRhdGEucmVsYXRpb24sIHRhZzogJycsIHR5cGU6ICcnLCBrdzogJycsIHBpbmRleDogMSwgcHNpemU6IDk5OTk5OTk5OSwgc3RhdGU6ICcnLCBvcmRlcjogJ0NOX1RfQ1JFQVRFIERFU0MnLCBrd3BtbmFtZTogJycsIGt3Y29kZTogJycsIHNlc3Npb25pZDogJycgfTtcblx0XHRcblx0XHQvLyBjb25zb2xlLmxvZyhkYXRhaW5mbyk7XG5cdFx0dGhpcy4kc3RvcmUuZGlzcGF0Y2goJ1Byb2plY3RHZXRBbmFseXNpc0xpc3QnLGRhdGFpbmZvKS50aGVuKHN1Y2Nlc3M9Pntcblx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRmb3IodmFyIGkgaW4gc3VjY2Vzcy5kYXRhLkJvZHkpe1xuXHRcdFx0XHRcdHN1Y2Nlc3MuZGF0YS5Cb2R5W2ldLmlzY2hlY2s9ZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdHRoaXMuJGRhdGEuZGF0YSA9IHN1Y2Nlc3MuZGF0YS5Cb2R5O1xuXHRcdFx0XHRcblx0XHRcdH1lbHNle1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzFcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0fVxuXHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XG5cdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzEuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdH0pO1xuXHR9LFxuXHRtZXRob2RzOiB7XG5cdFx0b25rZXl1cChlKSB7XG5cdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLiRkYXRhLnNlYXJjaFZhbCk7XG5cdFx0XHR2YXIgZGF0YWluZm8gPXsgcmVsYXRpb246IHRoaXMuJGRhdGEucHJpUmVsLCB0YWc6ICcnLCB0eXBlOiAnJywga3c6IHRoaXMuJGRhdGEuc2VhcmNoVmFsLCBwaW5kZXg6IDEsIHBzaXplOiA5OTk5OTk5OTksIHN0YXRlOiAnJywgb3JkZXI6ICdDTl9UX0NSRUFURSBERVNDJywga3dwbW5hbWU6ICcnLCBrd2NvZGU6ICcnLCBzZXNzaW9uaWQ6ICcnIH07XG5cdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnUHJvamVjdEdldEFuYWx5c2lzTGlzdCcsZGF0YWluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHRjb25zb2xlLmxvZyhzdWNjZXNzKTtcblx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRcdGZvcih2YXIgaSBpbiBzdWNjZXNzLmRhdGEuQm9keSl7XG5cdFx0XHRcdFx0XHRzdWNjZXNzLmRhdGEuQm9keVtpXS5pc2NoZWNrPWZhbHNlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmRhdGEgPSBzdWNjZXNzLmRhdGEuQm9keTtcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68yXCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSkuY2F0Y2goZXg9Pntcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzIuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0fSk7XG5cdFx0XHRcblx0XHR9LFxuXHRcdG9uY2hhbmdlKGUpIHtcblx0XHRcdC8vIGNvbnNvbGUubG9nKGUudGFyZ2V0KTtcblx0XHRcdHZhciBkYXRhID0gdGhpcy4kZGF0YS5kYXRhO1xuXHRcdFx0dGhpcy4kZGF0YS5kYXRhPVtdO1xuXHRcdFx0Zm9yKHZhciBpIGluIGRhdGEpe1xuXHRcdFx0XHRkYXRhW2ldLmlzY2hlY2s9ZmFsc2U7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGRhdGFbZS50YXJnZXQuZGF0YXNldC5pbmRleF0uaXNjaGVjaz1lLnRhcmdldC5kYXRhc2V0LmlzY2hlY2s/ZmFsc2U6dHJ1ZVxuXHRcdFx0dGhpcy4kZGF0YS5kYXRhPWRhdGE7XG5cdFx0fSxcblx0XHRzYXZhKCl7IC8v54K55Ye75Yqf6IO954K56Lez6L2s6aG16Z2iXG5cdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLiRkYXRhLmRhdGEpO1xuXHRcdFx0dmFyIGRhdGEgPSBbXTtcblx0XHRcdGZvcih2YXIgaSBpbiB0aGlzLiRkYXRhLmRhdGEpe1xuXHRcdFx0XHRpZih0aGlzLiRkYXRhLmRhdGFbaV0uaXNjaGVjaz09dHJ1ZSl7XG5cdFx0XHRcdFx0ZGF0YS5wdXNoKHRoaXMuJGRhdGEuZGF0YVtpXSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGlmKGRhdGEubGVuZ3RoPT0wKXtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLmj5DnpLpcIixjb250ZW50OifmnKrpgInmi6npobnnm67vvIEnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRjb25zdCBldmVudENoYW5uZWwgPSB0aGlzLiRzY29wZS5ldmVudENoYW5uZWw7XG5cdFx0XHQvLyBjb25zdCBldmVudENoYW5uZWwgPSB0aGlzLmdldE9wZW5lckV2ZW50Q2hhbm5lbCgpO1xuXHRcdFx0ZXZlbnRDaGFubmVsLmVtaXQoJ0FkZFBlcicsZGF0YSx0aGlzLiRkYXRhLnBhcmFtKTtcblx0XHRcdFxuXHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpXG5cdFx0fVxuXHRcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///68\n");
/***/ }),
/* 69 */
@@ -5780,7 +5788,7 @@
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 69));\nvar _vuex = _interopRequireDefault(__webpack_require__(/*! vuex */ 74));\n\n\nvar _app = _interopRequireDefault(__webpack_require__(/*! ./modules/app */ 75));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}_vue.default.use(_vuex.default);\nvar store = new _vuex.default.Store({\n  modules: {\n    app: _app.default },\n\n  state: {\n    hasLogin: false,\n    loginProvider: \"\",\n    areaFunc: '',\n    thisareaFuncID: '',\n    thisEditName: '',\n    thisDictName: '',\n    _classAttrList: {},\n    _classGridStyleInfo: {},\n    _dicValueInfo: {},\n    DataObjRunCustomEventInfo: '',\n    querySelpsn: '',\n    ProjectGetAnalysisList: '',\n    addclassattr: '',\n    username: \"sa\",\n    userpwd: \"0000\",\n    url: \"39.100.224.211\" //192.168.1.184:5200 36.33.24.94:5200\n  },\n  mutations: {\n    setUrl: function setUrl(state, url) {\n      state.url = url;\n    },\n    login: function login(state, provider) {\n      state.hasLogin = true;\n      state.loginProvider = provider;\n    },\n    areaFunc: function areaFunc(state, ret) {\n      state.areaFunc = ret;\n    },\n    setareaFuncid: function setareaFuncid(state, id) {\n      state.thisareaFuncID = id;\n    },\n    seteditName: function seteditName(state, editName) {\n      state.thisEditName = editName;\n    },\n    setDictName: function setDictName(state, dictName) {\n      state.thisDictName = dictName;\n    },\n    classAttrList: function classAttrList(state, ret) {\n      // state._classAttrList[state.thisareaFuncID] = ret;\n      _vue.default.set(state._classAttrList, state.thisareaFuncID, ret);\n    },\n    classGridStyleInfo: function classGridStyleInfo(state, ret) {\n      // state._classGridStyleInfo[state.thisareaFuncID] = ret;\n      var data = {};\n      if (state._classGridStyleInfo[state.thisareaFuncID])\n      data = state._classGridStyleInfo[state.thisareaFuncID];\n      _vue.default.set(data, state.thisEditName, ret);\n      _vue.default.set(state._classGridStyleInfo, state.thisareaFuncID, data);\n    },\n    dicValueInfo: function dicValueInfo(state, ret) {\n      // state._dicValueInfo[state.thisareaFuncID] = ret;\n      _vue.default.set(state._dicValueInfo, state.thisDictName, ret);\n    },\n    DataObjRunCustomEventInfo: function DataObjRunCustomEventInfo(state, ret) {\n      state.DataObjRunCustomEventInfo = ret;\n    },\n    querySelpsn: function querySelpsn(state, ret) {\n      state.querySelpsn = ret;\n    },\n    ProjectGetAnalysisList: function ProjectGetAnalysisList(state, ret) {\n      state.ProjectGetAnalysisList = ret;\n    },\n    addclassattr: function addclassattr(state, ret) {\n      state.addclassattr = ret;\n    },\n    logout: function logout(state) {\n      state.hasLogin = false;\n    } },\n\n  getters: {\n    loginid: function loginid(state) {\n      return state.loginProvider.loginid;\n    },\n    getUrl: function getUrl(state) {\n      return state.url;\n    },\n    getclassAttrList: function getclassAttrList(state) {\n      return state._classAttrList[state.thisareaFuncID];\n    },\n    getclassGridStyleInfo: function getclassGridStyleInfo(state) {\n      if (state._classGridStyleInfo[state.thisareaFuncID])\n      return state._classGridStyleInfo[state.thisareaFuncID][state.thisEditName];else\n\n      return \"\";\n    },\n    getdicValueInfo: function getdicValueInfo(state) {\n      return state._dicValueInfo[state.thisDictName];\n    } },\n\n\n\n  actions: {\n    //{commit} 解构,\n    //univerifyInfo 自定义参数\n    login: function login(_ref,\n\n\n    univerifyInfo) {var commit = _ref.commit,state = _ref.state;\n      return new Promise(function (resolve, reject) {\n        univerifyInfo = univerifyInfo || {};\n        univerifyInfo.server = univerifyInfo.server || '';\n        univerifyInfo.uname = univerifyInfo.uname || '';\n        univerifyInfo.pwd = univerifyInfo.pwd || '';\n        // console.log(univerifyInfo);\n        if (univerifyInfo.server.length == 0) {\n          reject({ \"errMsg\": '服务器地址不能为空!' });\n        }\n        if (univerifyInfo.uname.length < 2) {\n          reject({ \"errMsg\": '账号最短为 2 个字符!' });\n        }\n        if (univerifyInfo.pwd.length < 1) {\n          reject({ \"errMsg\": '密码最短为 1个字符!' });\n        }\n        var openinfo = \"http://\" + univerifyInfo.server + \"/\"; //+\"/OrgWebS\"\n        //设置全局参数:url-服务器地址\n        commit(\"setUrl\", openinfo);\n\n        // if (univerifyInfo.server.split(':').length < 2)\n        // \tcgi = \"http://\" + univerifyInfo.server + \":5010\"; ///OrgWebS\n\n        // setTimeout(_=>{\n        // \tresolve(\"00000000000\")\n        // },3000)\n        // console.log(openinfo + \"PDA/SignIn\");\n        uni.request({\n          url: openinfo + \"PDA/SignIn\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res); \n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"login\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:154\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    areaFunc: function areaFunc(_ref2,\n\n\n    univerifyInfo) {var commit = _ref2.commit,state = _ref2.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDAArea\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res);\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"areaFunc\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            // console.log(err);\n            reject(err);\n          } });\n\n      });\n    },\n\n    classAttrList: function classAttrList(_ref3,\n\n\n    univerifyInfo) {var commit = _ref3.commit,state = _ref3.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDAAttrList\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:210\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"classAttrList\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            // console.log(err);\n            reject(err);\n          } });\n\n      });\n    },\n\n    classGridStyleInfo: function classGridStyleInfo(_ref4,\n\n\n    univerifyInfo) {var commit = _ref4.commit,state = _ref4.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDAGridStyleGetInfo\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res);\n            var ret = res.data;\n            if (ret.code == '00000') {\n              // var data ={};\n              // Vue.set(data,univerifyInfo.name,ret);\n              commit(\"classGridStyleInfo\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            // console.log(err);\n            reject(err);\n          } });\n\n      });\n    },\n\n    dicValueInfo: function dicValueInfo(_ref5,\n\n\n    univerifyInfo) {var commit = _ref5.commit,state = _ref5.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDADicValueGetInfo\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res);\n            var ret = res.data;\n            if (ret.code == '00000') {\n              state.thisDictName = univerifyInfo.dic_name;\n              commit(\"dicValueInfo\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:289\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    DataObjRunCustomEventInfo: function DataObjRunCustomEventInfo(_ref6,\n\n\n    univerifyInfo) {var commit = _ref6.commit,state = _ref6.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"PDA/PDADataObjRunCustomEvent\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:311\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"DataObjRunCustomEventInfo\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:321\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    querySelpsn: function querySelpsn(_ref7,\n\n\n    univerifyInfo) {var commit = _ref7.commit,state = _ref7.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"selpsn/queryjson\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res);\n            var ret = JSON.parse(res.data);\n            if (ret.code == '00000') {\n              commit(\"querySelpsn\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:353\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    ProjectGetAnalysisList: function ProjectGetAnalysisList(_ref8,\n\n\n    univerifyInfo) {var commit = _ref8.commit,state = _ref8.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"bpm/ProjectGetAnalysisList\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:375\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"ProjectGetAnalysisList\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:385\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    addclassattr: function addclassattr(_ref9,\n\n\n    univerifyInfo) {var commit = _ref9.commit,state = _ref9.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"workspace/addclassattr\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:407\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"addclassattr\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:417\");\n            reject(err);\n          } });\n\n      });\n    } } });var _default =\n\n\n\n\nstore;exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RvcmUvaW5kZXguanMiXSwibmFtZXMiOlsiVnVlIiwidXNlIiwiVnVleCIsInN0b3JlIiwiU3RvcmUiLCJtb2R1bGVzIiwiYXBwIiwic3RhdGUiLCJoYXNMb2dpbiIsImxvZ2luUHJvdmlkZXIiLCJhcmVhRnVuYyIsInRoaXNhcmVhRnVuY0lEIiwidGhpc0VkaXROYW1lIiwidGhpc0RpY3ROYW1lIiwiX2NsYXNzQXR0ckxpc3QiLCJfY2xhc3NHcmlkU3R5bGVJbmZvIiwiX2RpY1ZhbHVlSW5mbyIsIkRhdGFPYmpSdW5DdXN0b21FdmVudEluZm8iLCJxdWVyeVNlbHBzbiIsIlByb2plY3RHZXRBbmFseXNpc0xpc3QiLCJhZGRjbGFzc2F0dHIiLCJ1c2VybmFtZSIsInVzZXJwd2QiLCJ1cmwiLCJtdXRhdGlvbnMiLCJzZXRVcmwiLCJsb2dpbiIsInByb3ZpZGVyIiwicmV0Iiwic2V0YXJlYUZ1bmNpZCIsImlkIiwic2V0ZWRpdE5hbWUiLCJlZGl0TmFtZSIsInNldERpY3ROYW1lIiwiZGljdE5hbWUiLCJjbGFzc0F0dHJMaXN0Iiwic2V0IiwiY2xhc3NHcmlkU3R5bGVJbmZvIiwiZGF0YSIsImRpY1ZhbHVlSW5mbyIsImxvZ291dCIsImdldHRlcnMiLCJsb2dpbmlkIiwiZ2V0VXJsIiwiZ2V0Y2xhc3NBdHRyTGlzdCIsImdldGNsYXNzR3JpZFN0eWxlSW5mbyIsImdldGRpY1ZhbHVlSW5mbyIsImFjdGlvbnMiLCJ1bml2ZXJpZnlJbmZvIiwiY29tbWl0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJzZXJ2ZXIiLCJ1bmFtZSIsInB3ZCIsImxlbmd0aCIsIm9wZW5pbmZvIiwidW5pIiwicmVxdWVzdCIsIm1ldGhvZCIsImRhdGFUeXBlIiwiaGVhZGVyIiwic3VjY2VzcyIsInJlcyIsImNvZGUiLCJtc2ciLCJmYWlsIiwiZXJyIiwiZGljX25hbWUiLCJKU09OIiwicGFyc2UiXSwibWFwcGluZ3MiOiJvSUFBQTtBQUNBOzs7QUFH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LE1BSkU7QUFLWEMsZ0JBQU0sRUFBRTtBQUNQLDRCQUFnQixtQ0FEVCxFQUxHOztBQVFYQyxpQkFBTyxFQUFFLGlCQUFDQyxHQUFELEVBQVM7QUFDakIseUJBQVlBLEdBQVo7QUFDQSxnQkFBTXBDLEdBQUcsR0FBR29DLEdBQUcsQ0FBQzFCLElBQWhCO0FBQ0EsZ0JBQUlWLEdBQUcsQ0FBQ3FDLElBQUosSUFBVSxPQUFkLEVBQXVCO0FBQ3RCaEIsb0JBQU0sQ0FBQyxjQUFELEVBQWdCckIsR0FBaEIsQ0FBTjtBQUNBdUIscUJBQU8sQ0FBQ3ZCLEdBQUQsQ0FBUDtBQUNBLGFBSEQsTUFHTztBQUNOd0Isb0JBQU0sQ0FBQyxFQUFDLFVBQVN4QixHQUFHLENBQUNzQyxHQUFkLEVBQUQsQ0FBTjtBQUNBO0FBQ0QsV0FqQlU7QUFrQlhDLGNBQUksRUFBRSxjQUFDQyxHQUFELEVBQVM7QUFDZCx5QkFBWUEsR0FBWjtBQUNBaEIsa0JBQU0sQ0FBQ2dCLEdBQUQsQ0FBTjtBQUNBLFdBckJVLEVBQVo7O0FBdUJBLE9BekJNLENBQVA7QUEwQkEsS0FoVU8sRUFoR21CLEVBQWYsQ0FBZCxDOzs7OztBQXFhZWpFLEsiLCJmaWxlIjoiNzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcclxuaW1wb3J0IFZ1ZXggZnJvbSAndnVleCdcclxuVnVlLnVzZShWdWV4KVxyXG5cclxuaW1wb3J0IGFwcCBmcm9tICcuL21vZHVsZXMvYXBwJ1xyXG5jb25zdCBzdG9yZSA9IG5ldyBWdWV4LlN0b3JlKHtcclxuXHRtb2R1bGVzOntcclxuXHRcdGFwcCxcclxuXHR9LFxyXG5cdHN0YXRlOiB7XHJcblx0XHRoYXNMb2dpbjogZmFsc2UsXHJcblx0XHRsb2dpblByb3ZpZGVyOiBcIlwiLFxyXG5cdFx0YXJlYUZ1bmM6JycsXHJcblx0XHR0aGlzYXJlYUZ1bmNJRDonJyxcclxuXHRcdHRoaXNFZGl0TmFtZTonJyxcclxuXHRcdHRoaXNEaWN0TmFtZTonJyxcclxuXHRcdF9jbGFzc0F0dHJMaXN0Ont9LFxyXG5cdFx0X2NsYXNzR3JpZFN0eWxlSW5mbzp7fSxcclxuXHRcdF9kaWNWYWx1ZUluZm86e30sXHJcblx0XHREYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvOicnLFxyXG5cdFx0cXVlcnlTZWxwc246JycsXHJcblx0XHRQcm9qZWN0R2V0QW5hbHlzaXNMaXN0OicnLFxyXG5cdFx0YWRkY2xhc3NhdHRyOicnLFxyXG5cdFx0dXNlcm5hbWU6XCJzYVwiLFxyXG5cdFx0dXNlcnB3ZDpcIjAwMDBcIixcclxuXHRcdHVybDpcIjM5LjEwMC4yMjQuMjExXCIgLy8xOTIuMTY4LjEuMTg0OjUyMDAgMzYuMzMuMjQuOTQ6NTIwMFxyXG5cdH0sXHJcblx0bXV0YXRpb25zOiB7XHJcblx0XHRzZXRVcmwoc3RhdGUsIHVybCkge1xyXG5cdFx0XHRzdGF0ZS51cmwgPSB1cmw7XHJcblx0XHR9LFxyXG5cdFx0bG9naW4oc3RhdGUsIHByb3ZpZGVyKSB7XHJcblx0XHRcdHN0YXRlLmhhc0xvZ2luID0gdHJ1ZTtcclxuXHRcdFx0c3RhdGUubG9naW5Qcm92aWRlciA9IHByb3ZpZGVyO1xyXG5cdFx0fSxcclxuXHRcdGFyZWFGdW5jKHN0YXRlLCByZXQpIHtcclxuXHRcdFx0c3RhdGUuYXJlYUZ1bmMgPSByZXQ7XHJcblx0XHR9LFxyXG5cdFx0c2V0YXJlYUZ1bmNpZChzdGF0ZSxpZCl7XHJcblx0XHRcdHN0YXRlLnRoaXNhcmVhRnVuY0lEPWlkO1xyXG5cdFx0fSxcclxuXHRcdHNldGVkaXROYW1lKHN0YXRlLGVkaXROYW1lKXtcclxuXHRcdFx0c3RhdGUudGhpc0VkaXROYW1lPWVkaXROYW1lO1xyXG5cdFx0fSxcclxuXHRcdHNldERpY3ROYW1lKHN0YXRlLGRpY3ROYW1lKXtcclxuXHRcdFx0c3RhdGUudGhpc0RpY3ROYW1lPWRpY3ROYW1lO1xyXG5cdFx0fSxcclxuXHRcdGNsYXNzQXR0ckxpc3Qoc3RhdGUsIHJldCkge1xyXG5cdFx0XHQvLyBzdGF0ZS5fY2xhc3NBdHRyTGlzdFtzdGF0ZS50aGlzYXJlYUZ1bmNJRF0gPSByZXQ7XHJcblx0XHRcdFZ1ZS5zZXQoc3RhdGUuX2NsYXNzQXR0ckxpc3Qsc3RhdGUudGhpc2FyZWFGdW5jSUQscmV0KTtcclxuXHRcdH0sXHJcblx0XHRjbGFzc0dyaWRTdHlsZUluZm8oc3RhdGUsIHJldCkge1xyXG5cdFx0XHQvLyBzdGF0ZS5fY2xhc3NHcmlkU3R5bGVJbmZvW3N0YXRlLnRoaXNhcmVhRnVuY0lEXSA9IHJldDtcclxuXHRcdFx0dmFyIGRhdGEgPSB7fTtcclxuXHRcdFx0aWYoc3RhdGUuX2NsYXNzR3JpZFN0eWxlSW5mb1tzdGF0ZS50aGlzYXJlYUZ1bmNJRF0pXHJcblx0XHRcdFx0ZGF0YSA9IHN0YXRlLl9jbGFzc0dyaWRTdHlsZUluZm9bc3RhdGUudGhpc2FyZWFGdW5jSURdO1xyXG5cdFx0XHRWdWUuc2V0KGRhdGEsc3RhdGUudGhpc0VkaXROYW1lLHJldCk7XHJcblx0XHRcdFZ1ZS5zZXQoc3RhdGUuX2NsYXNzR3JpZFN0eWxlSW5mbyxzdGF0ZS50aGlzYXJlYUZ1bmNJRCxkYXRhKTtcclxuXHRcdH0sXHJcblx0XHRkaWNWYWx1ZUluZm8oc3RhdGUsIHJldCkge1xyXG5cdFx0XHQvLyBzdGF0ZS5fZGljVmFsdWVJbmZvW3N0YXRlLnRoaXNhcmVhRnVuY0lEXSA9IHJldDtcclxuXHRcdFx0VnVlLnNldChzdGF0ZS5fZGljVmFsdWVJbmZvLHN0YXRlLnRoaXNEaWN0TmFtZSxyZXQpO1xyXG5cdFx0fSxcclxuXHRcdERhdGFPYmpSdW5DdXN0b21FdmVudEluZm8oc3RhdGUsIHJldCkge1xyXG5cdFx0XHRzdGF0ZS5EYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvID0gcmV0O1xyXG5cdFx0fSxcclxuXHRcdHF1ZXJ5U2VscHNuKHN0YXRlLCByZXQpIHtcclxuXHRcdFx0c3RhdGUucXVlcnlTZWxwc24gPSByZXQ7XHJcblx0XHR9LFxyXG5cdFx0UHJvamVjdEdldEFuYWx5c2lzTGlzdChzdGF0ZSwgcmV0KSB7XHJcblx0XHRcdHN0YXRlLlByb2plY3RHZXRBbmFseXNpc0xpc3QgPSByZXQ7XHJcblx0XHR9LFxyXG5cdFx0YWRkY2xhc3NhdHRyKHN0YXRlLCByZXQpIHtcclxuXHRcdFx0c3RhdGUuYWRkY2xhc3NhdHRyID0gcmV0O1xyXG5cdFx0fSxcclxuXHRcdGxvZ291dChzdGF0ZSkge1xyXG5cdFx0XHRzdGF0ZS5oYXNMb2dpbiA9IGZhbHNlXHJcblx0XHR9LFxyXG5cdH0sXHJcblx0Z2V0dGVyczoge1xyXG5cdFx0bG9naW5pZChzdGF0ZSkge1xyXG5cdFx0XHRyZXR1cm4gc3RhdGUubG9naW5Qcm92aWRlci5sb2dpbmlkXHJcblx0XHR9LFxyXG5cdFx0Z2V0VXJsKHN0YXRlKSB7XHJcblx0XHRcdHJldHVybiBzdGF0ZS51cmxcclxuXHRcdH0sXHJcblx0XHRnZXRjbGFzc0F0dHJMaXN0KHN0YXRlKXtcclxuXHRcdFx0cmV0dXJuIHN0YXRlLl9jbGFzc0F0dHJMaXN0W3N0YXRlLnRoaXNhcmVhRnVuY0lEXTtcclxuXHRcdH0sXHJcblx0XHRnZXRjbGFzc0dyaWRTdHlsZUluZm8oc3RhdGUpe1xyXG5cdFx0XHRpZihzdGF0ZS5fY2xhc3NHcmlkU3R5bGVJbmZvW3N0YXRlLnRoaXNhcmVhRnVuY0lEXSlcclxuXHRcdFx0XHRyZXR1cm4gc3RhdGUuX2NsYXNzR3JpZFN0eWxlSW5mb1tzdGF0ZS50aGlzYXJlYUZ1bmNJRF1bc3RhdGUudGhpc0VkaXROYW1lXTtcclxuXHRcdFx0ZWxzZSBcclxuXHRcdFx0XHRyZXR1cm4gXCJcIjtcclxuXHRcdH0sXHJcblx0XHRnZXRkaWNWYWx1ZUluZm8oc3RhdGUpe1xyXG5cdFx0XHRyZXR1cm4gc3RhdGUuX2RpY1ZhbHVlSW5mb1tzdGF0ZS50aGlzRGljdE5hbWVdO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRcclxuXHR9LFxyXG5cdGFjdGlvbnM6IHtcclxuXHRcdC8ve2NvbW1pdH0g6Kej5p6E77yMXHJcblx0XHQvL3VuaXZlcmlmeUluZm8g6Ieq5a6a5LmJ5Y+C5pWwXHJcblx0XHRsb2dpbjogZnVuY3Rpb24oe1xyXG5cdFx0XHRjb21taXQsXHJcblx0XHRcdHN0YXRlXHJcblx0XHR9LCB1bml2ZXJpZnlJbmZvKSB7XHJcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0dW5pdmVyaWZ5SW5mbyA9IHVuaXZlcmlmeUluZm8gfHwge307XHJcblx0XHRcdFx0dW5pdmVyaWZ5SW5mby5zZXJ2ZXIgPSB1bml2ZXJpZnlJbmZvLnNlcnZlciB8fCAnJztcclxuXHRcdFx0XHR1bml2ZXJpZnlJbmZvLnVuYW1lID0gdW5pdmVyaWZ5SW5mby51bmFtZSB8fCAnJztcclxuXHRcdFx0XHR1bml2ZXJpZnlJbmZvLnB3ZCA9IHVuaXZlcmlmeUluZm8ucHdkIHx8ICcnO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHVuaXZlcmlmeUluZm8pO1xyXG5cdFx0XHRcdGlmICh1bml2ZXJpZnlJbmZvLnNlcnZlci5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOifmnI3liqHlmajlnLDlnYDkuI3og73kuLrnqbohJ30pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodW5pdmVyaWZ5SW5mby51bmFtZS5sZW5ndGggPCAyKSB7XHJcblx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6J+i0puWPt+acgOefreS4uiAyIOS4quWtl+espiEnfSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh1bml2ZXJpZnlJbmZvLnB3ZC5sZW5ndGggPCAxKSB7XHJcblx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6J+WvhueggeacgOefreS4uiAx5Liq5a2X56ymISd9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dmFyIG9wZW5pbmZvID0gXCJodHRwOi8vXCIgKyB1bml2ZXJpZnlJbmZvLnNlcnZlciArIFwiL1wiOyAvLytcIi9PcmdXZWJTXCJcclxuXHRcdFx0XHQvL+iuvue9ruWFqOWxgOWPguaVsO+8mnVybC3mnI3liqHlmajlnLDlnYBcclxuXHRcdFx0XHRjb21taXQoXCJzZXRVcmxcIixvcGVuaW5mbyk7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gaWYgKHVuaXZlcmlmeUluZm8uc2VydmVyLnNwbGl0KCc6JykubGVuZ3RoIDwgMilcclxuXHRcdFx0XHQvLyBcdGNnaSA9IFwiaHR0cDovL1wiICsgdW5pdmVyaWZ5SW5mby5zZXJ2ZXIgKyBcIjo1MDEwXCI7IC8vL09yZ1dlYlNcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBzZXRUaW1lb3V0KF89PntcclxuXHRcdFx0XHQvLyBcdHJlc29sdmUoXCIwMDAwMDAwMDAwMFwiKVxyXG5cdFx0XHRcdC8vIH0sMzAwMClcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhvcGVuaW5mbyArIFwiUERBL1NpZ25JblwiKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IG9wZW5pbmZvICsgXCJQREEvU2lnbkluXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB1bml2ZXJpZnlJbmZvLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0XHRkYXRhVHlwZTpcImpzb25cIixcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0ICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKTsgXHJcblx0XHRcdFx0XHRcdGNvbnN0IHJldCA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXQuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImxvZ2luXCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdGFyZWFGdW5jOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHQgXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcIlBEQS9QREFBcmVhXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB1bml2ZXJpZnlJbmZvLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0XHRkYXRhVHlwZTpcImpzb25cIixcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGNvbnN0IHJldCA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXQuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImFyZWFGdW5jXCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdGNsYXNzQXR0ckxpc3Q6IGZ1bmN0aW9uKHtcclxuXHRcdFx0Y29tbWl0LFxyXG5cdFx0XHRzdGF0ZVxyXG5cdFx0fSwgdW5pdmVyaWZ5SW5mbykge1xyXG5cdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdCAvLyBjb25zb2xlLmxvZyhzdGF0ZS51cmwpO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHRcdHVybDogc3RhdGUudXJsICsgXCJQREEvUERBQXR0ckxpc3RcIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29tbWl0KFwiY2xhc3NBdHRyTGlzdFwiLHJldCk7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHJlamVjdCh7XCJlcnJNc2dcIjpyZXQubXNnfSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGVycik7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0XHJcblx0XHRjbGFzc0dyaWRTdHlsZUluZm86IGZ1bmN0aW9uKHtcclxuXHRcdFx0Y29tbWl0LFxyXG5cdFx0XHRzdGF0ZVxyXG5cdFx0fSwgdW5pdmVyaWZ5SW5mbykge1xyXG5cdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdCAvLyBjb25zb2xlLmxvZyhzdGF0ZS51cmwpO1xyXG5cdFx0XHRcdCBcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHN0YXRlLnVybCArIFwiUERBL1BEQUdyaWRTdHlsZUdldEluZm9cIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gdmFyIGRhdGEgPXt9O1xyXG5cdFx0XHRcdFx0XHRcdC8vIFZ1ZS5zZXQoZGF0YSx1bml2ZXJpZnlJbmZvLm5hbWUscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRjb21taXQoXCJjbGFzc0dyaWRTdHlsZUluZm9cIixyZXQpO1xyXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUocmV0KTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6cmV0Lm1zZ30pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlcnIpO1xyXG5cdFx0XHRcdFx0XHRyZWplY3QoZXJyKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdFxyXG5cdFx0ZGljVmFsdWVJbmZvOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHQgXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcIlBEQS9QREFEaWNWYWx1ZUdldEluZm9cIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0c3RhdGUudGhpc0RpY3ROYW1lID0gdW5pdmVyaWZ5SW5mby5kaWNfbmFtZVxyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImRpY1ZhbHVlSW5mb1wiLHJldCk7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHJlamVjdCh7XCJlcnJNc2dcIjpyZXQubXNnfSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycik7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0XHJcblx0XHREYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHN0YXRlLnVybCArIFwiUERBL1BEQURhdGFPYmpSdW5DdXN0b21FdmVudFwiLFxyXG5cdFx0XHRcdFx0ZGF0YTogdW5pdmVyaWZ5SW5mbyxcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdFx0ZGF0YVR5cGU6XCJqc29uXCIsXHJcblx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZXQgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRpZiAocmV0LmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0XHRjb21taXQoXCJEYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvXCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdHF1ZXJ5U2VscHNuOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHN0YXRlLnVybCArIFwic2VscHNuL3F1ZXJ5anNvblwiLFxyXG5cdFx0XHRcdFx0ZGF0YTogdW5pdmVyaWZ5SW5mbyxcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdFx0ZGF0YVR5cGU6XCJqc29uXCIsXHJcblx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZXQgPSBKU09OLnBhcnNlKHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29tbWl0KFwicXVlcnlTZWxwc25cIixyZXQpO1xyXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUocmV0KTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6cmV0Lm1zZ30pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpO1xyXG5cdFx0XHRcdFx0XHRyZWplY3QoZXJyKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdFxyXG5cdFx0UHJvamVjdEdldEFuYWx5c2lzTGlzdDogZnVuY3Rpb24oe1xyXG5cdFx0XHRjb21taXQsXHJcblx0XHRcdHN0YXRlXHJcblx0XHR9LCB1bml2ZXJpZnlJbmZvKSB7XHJcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0IC8vIGNvbnNvbGUubG9nKHN0YXRlLnVybCk7XHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcImJwbS9Qcm9qZWN0R2V0QW5hbHlzaXNMaXN0XCIsXHJcblx0XHRcdFx0XHRkYXRhOiB1bml2ZXJpZnlJbmZvLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0XHRkYXRhVHlwZTpcImpzb25cIixcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGNvbnN0IHJldCA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRpZiAocmV0LmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0XHRjb21taXQoXCJQcm9qZWN0R2V0QW5hbHlzaXNMaXN0XCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdGFkZGNsYXNzYXR0cjogZnVuY3Rpb24oe1xyXG5cdFx0XHRjb21taXQsXHJcblx0XHRcdHN0YXRlXHJcblx0XHR9LCB1bml2ZXJpZnlJbmZvKSB7XHJcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0IC8vIGNvbnNvbGUubG9nKHN0YXRlLnVybCk7XHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcIndvcmtzcGFjZS9hZGRjbGFzc2F0dHJcIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGE7XHJcblx0XHRcdFx0XHRcdGlmIChyZXQuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImFkZGNsYXNzYXR0clwiLHJldCk7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHJlamVjdCh7XCJlcnJNc2dcIjpyZXQubXNnfSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycik7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcbn0pXHJcblxyXG5leHBvcnQgZGVmYXVsdCBzdG9yZVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///73\n");
eval("/* WEBPACK VAR INJECTION */(function(__f__) {Object.defineProperty(exports, \"__esModule\", { value: true });exports.default = void 0;var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 69));\nvar _vuex = _interopRequireDefault(__webpack_require__(/*! vuex */ 74));\n\n\nvar _app = _interopRequireDefault(__webpack_require__(/*! ./modules/app */ 75));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}_vue.default.use(_vuex.default);\nvar store = new _vuex.default.Store({\n  modules: {\n    app: _app.default },\n\n  state: {\n    hasLogin: false,\n    loginProvider: \"\",\n    areaFunc: '',\n    thisareaFuncID: '',\n    thisEditName: '',\n    thisDictName: '',\n    _classAttrList: {},\n    _classGridStyleInfo: {},\n    _dicValueInfo: {},\n    DataObjRunCustomEventInfo: '',\n    querySelpsn: '',\n    ProjectGetAnalysisList: '',\n    addclassattr: '',\n    username: \"sa\",\n    userpwd: \"0000\",\n    url: \"39.100.224.211\" //192.168.1.184:5200 36.33.24.94:5200\n  },\n  mutations: {\n    setUrl: function setUrl(state, url) {\n      state.url = url;\n    },\n    login: function login(state, provider) {\n      state.hasLogin = true;\n      state.loginProvider = provider;\n    },\n    areaFunc: function areaFunc(state, ret) {\n      state.areaFunc = ret;\n    },\n    setareaFuncid: function setareaFuncid(state, id) {\n      state.thisareaFuncID = id;\n    },\n    seteditName: function seteditName(state, editName) {\n      state.thisEditName = editName;\n    },\n    setDictName: function setDictName(state, dictName) {\n      state.thisDictName = dictName;\n    },\n    classAttrList: function classAttrList(state, ret) {\n      // state._classAttrList[state.thisareaFuncID] = ret;\n      _vue.default.set(state._classAttrList, state.thisareaFuncID, ret);\n    },\n    classGridStyleInfo: function classGridStyleInfo(state, ret) {\n      // state._classGridStyleInfo[state.thisareaFuncID] = ret;\n      var data = {};\n      if (state._classGridStyleInfo[state.thisareaFuncID])\n      data = state._classGridStyleInfo[state.thisareaFuncID];\n      _vue.default.set(data, state.thisEditName, ret);\n      _vue.default.set(state._classGridStyleInfo, state.thisareaFuncID, data);\n    },\n    dicValueInfo: function dicValueInfo(state, ret) {\n      // state._dicValueInfo[state.thisareaFuncID] = ret;\n      _vue.default.set(state._dicValueInfo, state.thisDictName, ret);\n    },\n    DataObjRunCustomEventInfo: function DataObjRunCustomEventInfo(state, ret) {\n      state.DataObjRunCustomEventInfo = ret;\n    },\n    querySelpsn: function querySelpsn(state, ret) {\n      state.querySelpsn = ret;\n    },\n    ProjectGetAnalysisList: function ProjectGetAnalysisList(state, ret) {\n      state.ProjectGetAnalysisList = ret;\n    },\n    addclassattr: function addclassattr(state, ret) {\n      state.addclassattr = ret;\n    },\n    logout: function logout(state) {\n      state.hasLogin = false;\n    } },\n\n  getters: {\n    loginid: function loginid(state) {\n      return state.loginProvider.loginid;\n    },\n    getUrl: function getUrl(state) {\n      return state.url;\n    },\n    getclassAttrList: function getclassAttrList(state) {\n      return state._classAttrList[state.thisareaFuncID];\n    },\n    getclassGridStyleInfo: function getclassGridStyleInfo(state) {\n      if (state._classGridStyleInfo[state.thisareaFuncID])\n      return state._classGridStyleInfo[state.thisareaFuncID][state.thisEditName];else\n\n      return \"\";\n    },\n    getdicValueInfo: function getdicValueInfo(state) {\n      return state._dicValueInfo[state.thisDictName];\n    } },\n\n\n\n  actions: {\n    //{commit} 解构,\n    //univerifyInfo 自定义参数\n    login: function login(_ref,\n\n\n    univerifyInfo) {var commit = _ref.commit,state = _ref.state;\n      return new Promise(function (resolve, reject) {\n        univerifyInfo = univerifyInfo || {};\n        univerifyInfo.server = univerifyInfo.server || '';\n        univerifyInfo.uname = univerifyInfo.uname || '';\n        univerifyInfo.pwd = univerifyInfo.pwd || '';\n        // console.log(univerifyInfo);\n        if (univerifyInfo.server.length == 0) {\n          reject({ \"errMsg\": '服务器地址不能为空!' });\n        }\n        if (univerifyInfo.uname.length < 2) {\n          reject({ \"errMsg\": '账号最短为 2 个字符!' });\n        }\n        if (univerifyInfo.pwd.length < 1) {\n          reject({ \"errMsg\": '密码最短为 1个字符!' });\n        }\n        var openinfo = \"http://\" + univerifyInfo.server + \"/\"; //+\"/OrgWebS\"\n        //设置全局参数:url-服务器地址\n        commit(\"setUrl\", openinfo);\n\n        // if (univerifyInfo.server.split(':').length < 2)\n        // \tcgi = \"http://\" + univerifyInfo.server + \":5010\"; ///OrgWebS\n\n        // setTimeout(_=>{\n        // \tresolve(\"00000000000\")\n        // },3000)\n        // console.log(openinfo + \"PDA/SignIn\");\n        uni.request({\n          url: openinfo + \"PDA/SignIn\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res); \n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"login\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:154\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    areaFunc: function areaFunc(_ref2,\n\n\n    univerifyInfo) {var commit = _ref2.commit,state = _ref2.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDAArea\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res);\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"areaFunc\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            // console.log(err);\n            reject(err);\n          } });\n\n      });\n    },\n\n    classAttrList: function classAttrList(_ref3,\n\n\n    univerifyInfo) {var commit = _ref3.commit,state = _ref3.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDAAttrList\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:210\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"classAttrList\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            // console.log(err);\n            reject(err);\n          } });\n\n      });\n    },\n\n    classGridStyleInfo: function classGridStyleInfo(_ref4,\n\n\n    univerifyInfo) {var commit = _ref4.commit,state = _ref4.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDAGridStyleGetInfo\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:243\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              // var data ={};\n              // Vue.set(data,univerifyInfo.name,ret);\n              commit(\"classGridStyleInfo\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            // console.log(err);\n            reject(err);\n          } });\n\n      });\n    },\n\n    dicValueInfo: function dicValueInfo(_ref5,\n\n\n    univerifyInfo) {var commit = _ref5.commit,state = _ref5.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n\n        uni.request({\n          url: state.url + \"PDA/PDADicValueGetInfo\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res);\n            var ret = res.data;\n            if (ret.code == '00000') {\n              state.thisDictName = univerifyInfo.dic_name;\n              commit(\"dicValueInfo\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:289\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    DataObjRunCustomEventInfo: function DataObjRunCustomEventInfo(_ref6,\n\n\n    univerifyInfo) {var commit = _ref6.commit,state = _ref6.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"PDA/PDADataObjRunCustomEvent\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:311\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"DataObjRunCustomEventInfo\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:321\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    querySelpsn: function querySelpsn(_ref7,\n\n\n    univerifyInfo) {var commit = _ref7.commit,state = _ref7.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"selpsn/queryjson\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            // console.log(res);\n            var ret = JSON.parse(res.data);\n            if (ret.code == '00000') {\n              commit(\"querySelpsn\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:353\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    ProjectGetAnalysisList: function ProjectGetAnalysisList(_ref8,\n\n\n    univerifyInfo) {var commit = _ref8.commit,state = _ref8.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"bpm/ProjectGetAnalysisList\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:375\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"ProjectGetAnalysisList\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:385\");\n            reject(err);\n          } });\n\n      });\n    },\n\n    addclassattr: function addclassattr(_ref9,\n\n\n    univerifyInfo) {var commit = _ref9.commit,state = _ref9.state;\n      return new Promise(function (resolve, reject) {\n        // console.log(state.url);\n        uni.request({\n          url: state.url + \"workspace/addclassattr\",\n          data: univerifyInfo,\n          method: 'POST',\n          dataType: \"json\",\n          header: {\n            'content-type': 'application/x-www-form-urlencoded' },\n\n          success: function success(res) {\n            __f__(\"log\", res, \" at store/index.js:407\");\n            var ret = res.data;\n            if (ret.code == '00000') {\n              commit(\"addclassattr\", ret);\n              resolve(ret);\n            } else {\n              reject({ \"errMsg\": ret.msg });\n            }\n          },\n          fail: function fail(err) {\n            __f__(\"log\", err, \" at store/index.js:417\");\n            reject(err);\n          } });\n\n      });\n    } } });var _default =\n\n\n\n\nstore;exports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 13)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vc3RvcmUvaW5kZXguanMiXSwibmFtZXMiOlsiVnVlIiwidXNlIiwiVnVleCIsInN0b3JlIiwiU3RvcmUiLCJtb2R1bGVzIiwiYXBwIiwic3RhdGUiLCJoYXNMb2dpbiIsImxvZ2luUHJvdmlkZXIiLCJhcmVhRnVuYyIsInRoaXNhcmVhRnVuY0lEIiwidGhpc0VkaXROYW1lIiwidGhpc0RpY3ROYW1lIiwiX2NsYXNzQXR0ckxpc3QiLCJfY2xhc3NHcmlkU3R5bGVJbmZvIiwiX2RpY1ZhbHVlSW5mbyIsIkRhdGFPYmpSdW5DdXN0b21FdmVudEluZm8iLCJxdWVyeVNlbHBzbiIsIlByb2plY3RHZXRBbmFseXNpc0xpc3QiLCJhZGRjbGFzc2F0dHIiLCJ1c2VybmFtZSIsInVzZXJwd2QiLCJ1cmwiLCJtdXRhdGlvbnMiLCJzZXRVcmwiLCJsb2dpbiIsInByb3ZpZGVyIiwicmV0Iiwic2V0YXJlYUZ1bmNpZCIsImlkIiwic2V0ZWRpdE5hbWUiLCJlZGl0TmFtZSIsInNldERpY3ROYW1lIiwiZGljdE5hbWUiLCJjbGFzc0F0dHJMaXN0Iiwic2V0IiwiY2xhc3NHcmlkU3R5bGVJbmZvIiwiZGF0YSIsImRpY1ZhbHVlSW5mbyIsImxvZ291dCIsImdldHRlcnMiLCJsb2dpbmlkIiwiZ2V0VXJsIiwiZ2V0Y2xhc3NBdHRyTGlzdCIsImdldGNsYXNzR3JpZFN0eWxlSW5mbyIsImdldGRpY1ZhbHVlSW5mbyIsImFjdGlvbnMiLCJ1bml2ZXJpZnlJbmZvIiwiY29tbWl0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJzZXJ2ZXIiLCJ1bmFtZSIsInB3ZCIsImxlbmd0aCIsIm9wZW5pbmZvIiwidW5pIiwicmVxdWVzdCIsIm1ldGhvZCIsImRhdGFUeXBlIiwiaGVhZGVyIiwic3VjY2VzcyIsInJlcyIsImNvZGUiLCJtc2ciLCJmYWlsIiwiZXJyIiwiZGljX25hbWUiLCJKU09OIiwicGFyc2UiXSwibWFwcGluZ3MiOiJvSUFBQTtBQUNBOzs7QUFHQSxnRiw2RkFGQUEsYUFBSUMsR0FBSixDQUFRQyxhQUFSO0FBR0EsSUFBTUMsS0FBSyxHQUFHLElBQUlELGNBQUtFLEtBQVQsQ0FBZTtBQUM1QkMsU0FBTyxFQUFDO0FBQ1BDLE9BQUcsRUFBSEEsWUFETyxFQURvQjs7QUFJNUJDLE9BQUssRUFBRTtBQUNOQyxZQUFRLEVBQUUsS0FESjtBQUVOQyxpQkFBYSxFQUFFLEVBRlQ7QUFHTkMsWUFBUSxFQUFDLEVBSEg7QUFJTkMsa0JBQWMsRUFBQyxFQUpUO0FBS05DLGdCQUFZLEVBQUMsRUFMUDtBQU1OQyxnQkFBWSxFQUFDLEVBTlA7QUFPTkMsa0JBQWMsRUFBQyxFQVBUO0FBUU5DLHVCQUFtQixFQUFDLEVBUmQ7QUFTTkMsaUJBQWEsRUFBQyxFQVRSO0FBVU5DLDZCQUF5QixFQUFDLEVBVnBCO0FBV05DLGVBQVcsRUFBQyxFQVhOO0FBWU5DLDBCQUFzQixFQUFDLEVBWmpCO0FBYU5DLGdCQUFZLEVBQUMsRUFiUDtBQWNOQyxZQUFRLEVBQUMsSUFkSDtBQWVOQyxXQUFPLEVBQUMsTUFmRjtBQWdCTkMsT0FBRyxFQUFDLGdCQWhCRSxDQWdCZTtBQWhCZixHQUpxQjtBQXNCNUJDLFdBQVMsRUFBRTtBQUNWQyxVQURVLGtCQUNIbEIsS0FERyxFQUNJZ0IsR0FESixFQUNTO0FBQ2xCaEIsV0FBSyxDQUFDZ0IsR0FBTixHQUFZQSxHQUFaO0FBQ0EsS0FIUztBQUlWRyxTQUpVLGlCQUlKbkIsS0FKSSxFQUlHb0IsUUFKSCxFQUlhO0FBQ3RCcEIsV0FBSyxDQUFDQyxRQUFOLEdBQWlCLElBQWpCO0FBQ0FELFdBQUssQ0FBQ0UsYUFBTixHQUFzQmtCLFFBQXRCO0FBQ0EsS0FQUztBQVFWakIsWUFSVSxvQkFRREgsS0FSQyxFQVFNcUIsR0FSTixFQVFXO0FBQ3BCckIsV0FBSyxDQUFDRyxRQUFOLEdBQWlCa0IsR0FBakI7QUFDQSxLQVZTO0FBV1ZDLGlCQVhVLHlCQVdJdEIsS0FYSixFQVdVdUIsRUFYVixFQVdhO0FBQ3RCdkIsV0FBSyxDQUFDSSxjQUFOLEdBQXFCbUIsRUFBckI7QUFDQSxLQWJTO0FBY1ZDLGVBZFUsdUJBY0V4QixLQWRGLEVBY1F5QixRQWRSLEVBY2lCO0FBQzFCekIsV0FBSyxDQUFDSyxZQUFOLEdBQW1Cb0IsUUFBbkI7QUFDQSxLQWhCUztBQWlCVkMsZUFqQlUsdUJBaUJFMUIsS0FqQkYsRUFpQlEyQixRQWpCUixFQWlCaUI7QUFDMUIzQixXQUFLLENBQUNNLFlBQU4sR0FBbUJxQixRQUFuQjtBQUNBLEtBbkJTO0FBb0JWQyxpQkFwQlUseUJBb0JJNUIsS0FwQkosRUFvQldxQixHQXBCWCxFQW9CZ0I7QUFDekI7QUFDQTVCLG1CQUFJb0MsR0FBSixDQUFRN0IsS0FBSyxDQUFDTyxjQUFkLEVBQTZCUCxLQUFLLENBQUNJLGNBQW5DLEVBQWtEaUIsR0FBbEQ7QUFDQSxLQXZCUztBQXdCVlMsc0JBeEJVLDhCQXdCUzlCLEtBeEJULEVBd0JnQnFCLEdBeEJoQixFQXdCcUI7QUFDOUI7QUFDQSxVQUFJVSxJQUFJLEdBQUcsRUFBWDtBQUNBLFVBQUcvQixLQUFLLENBQUNRLG1CQUFOLENBQTBCUixLQUFLLENBQUNJLGNBQWhDLENBQUg7QUFDQzJCLFVBQUksR0FBRy9CLEtBQUssQ0FBQ1EsbUJBQU4sQ0FBMEJSLEtBQUssQ0FBQ0ksY0FBaEMsQ0FBUDtBQUNEWCxtQkFBSW9DLEdBQUosQ0FBUUUsSUFBUixFQUFhL0IsS0FBSyxDQUFDSyxZQUFuQixFQUFnQ2dCLEdBQWhDO0FBQ0E1QixtQkFBSW9DLEdBQUosQ0FBUTdCLEtBQUssQ0FBQ1EsbUJBQWQsRUFBa0NSLEtBQUssQ0FBQ0ksY0FBeEMsRUFBdUQyQixJQUF2RDtBQUNBLEtBL0JTO0FBZ0NWQyxnQkFoQ1Usd0JBZ0NHaEMsS0FoQ0gsRUFnQ1VxQixHQWhDVixFQWdDZTtBQUN4QjtBQUNBNUIsbUJBQUlvQyxHQUFKLENBQVE3QixLQUFLLENBQUNTLGFBQWQsRUFBNEJULEtBQUssQ0FBQ00sWUFBbEMsRUFBK0NlLEdBQS9DO0FBQ0EsS0FuQ1M7QUFvQ1ZYLDZCQXBDVSxxQ0FvQ2dCVixLQXBDaEIsRUFvQ3VCcUIsR0FwQ3ZCLEVBb0M0QjtBQUNyQ3JCLFdBQUssQ0FBQ1UseUJBQU4sR0FBa0NXLEdBQWxDO0FBQ0EsS0F0Q1M7QUF1Q1ZWLGVBdkNVLHVCQXVDRVgsS0F2Q0YsRUF1Q1NxQixHQXZDVCxFQXVDYztBQUN2QnJCLFdBQUssQ0FBQ1csV0FBTixHQUFvQlUsR0FBcEI7QUFDQSxLQXpDUztBQTBDVlQsMEJBMUNVLGtDQTBDYVosS0ExQ2IsRUEwQ29CcUIsR0ExQ3BCLEVBMEN5QjtBQUNsQ3JCLFdBQUssQ0FBQ1ksc0JBQU4sR0FBK0JTLEdBQS9CO0FBQ0EsS0E1Q1M7QUE2Q1ZSLGdCQTdDVSx3QkE2Q0diLEtBN0NILEVBNkNVcUIsR0E3Q1YsRUE2Q2U7QUFDeEJyQixXQUFLLENBQUNhLFlBQU4sR0FBcUJRLEdBQXJCO0FBQ0EsS0EvQ1M7QUFnRFZZLFVBaERVLGtCQWdESGpDLEtBaERHLEVBZ0RJO0FBQ2JBLFdBQUssQ0FBQ0MsUUFBTixHQUFpQixLQUFqQjtBQUNBLEtBbERTLEVBdEJpQjs7QUEwRTVCaUMsU0FBTyxFQUFFO0FBQ1JDLFdBRFEsbUJBQ0FuQyxLQURBLEVBQ087QUFDZCxhQUFPQSxLQUFLLENBQUNFLGFBQU4sQ0FBb0JpQyxPQUEzQjtBQUNBLEtBSE87QUFJUkMsVUFKUSxrQkFJRHBDLEtBSkMsRUFJTTtBQUNiLGFBQU9BLEtBQUssQ0FBQ2dCLEdBQWI7QUFDQSxLQU5PO0FBT1JxQixvQkFQUSw0QkFPU3JDLEtBUFQsRUFPZTtBQUN0QixhQUFPQSxLQUFLLENBQUNPLGNBQU4sQ0FBcUJQLEtBQUssQ0FBQ0ksY0FBM0IsQ0FBUDtBQUNBLEtBVE87QUFVUmtDLHlCQVZRLGlDQVVjdEMsS0FWZCxFQVVvQjtBQUMzQixVQUFHQSxLQUFLLENBQUNRLG1CQUFOLENBQTBCUixLQUFLLENBQUNJLGNBQWhDLENBQUg7QUFDQyxhQUFPSixLQUFLLENBQUNRLG1CQUFOLENBQTBCUixLQUFLLENBQUNJLGNBQWhDLEVBQWdESixLQUFLLENBQUNLLFlBQXRELENBQVAsQ0FERDs7QUFHQyxhQUFPLEVBQVA7QUFDRCxLQWZPO0FBZ0JSa0MsbUJBaEJRLDJCQWdCUXZDLEtBaEJSLEVBZ0JjO0FBQ3JCLGFBQU9BLEtBQUssQ0FBQ1MsYUFBTixDQUFvQlQsS0FBSyxDQUFDTSxZQUExQixDQUFQO0FBQ0EsS0FsQk8sRUExRW1COzs7O0FBZ0c1QmtDLFNBQU8sRUFBRTtBQUNSO0FBQ0E7QUFDQXJCLFNBQUssRUFBRTs7O0FBR0pzQixpQkFISSxFQUdXLEtBRmpCQyxNQUVpQixRQUZqQkEsTUFFaUIsQ0FEakIxQyxLQUNpQixRQURqQkEsS0FDaUI7QUFDakIsYUFBTyxJQUFJMkMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN2Q0oscUJBQWEsR0FBR0EsYUFBYSxJQUFJLEVBQWpDO0FBQ0FBLHFCQUFhLENBQUNLLE1BQWQsR0FBdUJMLGFBQWEsQ0FBQ0ssTUFBZCxJQUF3QixFQUEvQztBQUNBTCxxQkFBYSxDQUFDTSxLQUFkLEdBQXNCTixhQUFhLENBQUNNLEtBQWQsSUFBdUIsRUFBN0M7QUFDQU4scUJBQWEsQ0FBQ08sR0FBZCxHQUFvQlAsYUFBYSxDQUFDTyxHQUFkLElBQXFCLEVBQXpDO0FBQ0E7QUFDQSxZQUFJUCxhQUFhLENBQUNLLE1BQWQsQ0FBcUJHLE1BQXJCLElBQStCLENBQW5DLEVBQXNDO0FBQ3JDSixnQkFBTSxDQUFDLEVBQUMsVUFBUyxZQUFWLEVBQUQsQ0FBTjtBQUNBO0FBQ0QsWUFBSUosYUFBYSxDQUFDTSxLQUFkLENBQW9CRSxNQUFwQixHQUE2QixDQUFqQyxFQUFvQztBQUNuQ0osZ0JBQU0sQ0FBQyxFQUFDLFVBQVMsY0FBVixFQUFELENBQU47QUFDQTtBQUNELFlBQUlKLGFBQWEsQ0FBQ08sR0FBZCxDQUFrQkMsTUFBbEIsR0FBMkIsQ0FBL0IsRUFBa0M7QUFDakNKLGdCQUFNLENBQUMsRUFBQyxVQUFTLGFBQVYsRUFBRCxDQUFOO0FBQ0E7QUFDRCxZQUFJSyxRQUFRLEdBQUcsWUFBWVQsYUFBYSxDQUFDSyxNQUExQixHQUFtQyxHQUFsRCxDQWZ1QyxDQWVnQjtBQUN2RDtBQUNBSixjQUFNLENBQUMsUUFBRCxFQUFVUSxRQUFWLENBQU47O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBQyxXQUFHLENBQUNDLE9BQUosQ0FBWTtBQUNYcEMsYUFBRyxFQUFFa0MsUUFBUSxHQUFHLFlBREw7QUFFWG5CLGNBQUksRUFBRVUsYUFGSztBQUdYWSxnQkFBTSxFQUFFLE1BSEc7QUFJWEMsa0JBQVEsRUFBQyxNQUpFO0FBS1hDLGdCQUFNLEVBQUU7QUFDSiw0QkFBZ0IsbUNBRFosRUFMRzs7QUFRWEMsaUJBQU8sRUFBRSxpQkFBQ0MsR0FBRCxFQUFTO0FBQ2pCO0FBQ0EsZ0JBQU1wQyxHQUFHLEdBQUdvQyxHQUFHLENBQUMxQixJQUFoQjtBQUNBLGdCQUFJVixHQUFHLENBQUNxQyxJQUFKLElBQVUsT0FBZCxFQUF1QjtBQUN0QmhCLG9CQUFNLENBQUMsT0FBRCxFQUFTckIsR0FBVCxDQUFOO0FBQ0F1QixxQkFBTyxDQUFDdkIsR0FBRCxDQUFQO0FBQ0EsYUFIRCxNQUdPO0FBQ053QixvQkFBTSxDQUFDLEVBQUMsVUFBU3hCLEdBQUcsQ0FBQ3NDLEdBQWQsRUFBRCxDQUFOO0FBQ0E7QUFDRCxXQWpCVTtBQWtCWEMsY0FBSSxFQUFFLGNBQUNDLEdBQUQsRUFBUztBQUNkLHlCQUFZQSxHQUFaO0FBQ0FoQixrQkFBTSxDQUFDZ0IsR0FBRCxDQUFOO0FBQ0EsV0FyQlUsRUFBWjs7QUF1QkEsT0FqRE0sQ0FBUDtBQWtEQSxLQXpETzs7QUEyRFIxRCxZQUFRLEVBQUU7OztBQUdQc0MsaUJBSE8sRUFHUSxLQUZqQkMsTUFFaUIsU0FGakJBLE1BRWlCLENBRGpCMUMsS0FDaUIsU0FEakJBLEtBQ2lCO0FBQ2pCLGFBQU8sSUFBSTJDLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDdEM7O0FBRURNLFdBQUcsQ0FBQ0MsT0FBSixDQUFZO0FBQ1hwQyxhQUFHLEVBQUVoQixLQUFLLENBQUNnQixHQUFOLEdBQVksYUFETjtBQUVYZSxjQUFJLEVBQUVVLGFBRks7QUFHWFksZ0JBQU0sRUFBRSxNQUhHO0FBSVhDLGtCQUFRLEVBQUMsTUFKRTtBQUtYQyxnQkFBTSxFQUFFO0FBQ1AsNEJBQWdCLG1DQURULEVBTEc7O0FBUVhDLGlCQUFPLEVBQUUsaUJBQUNDLEdBQUQsRUFBUztBQUNqQjtBQUNBLGdCQUFNcEMsR0FBRyxHQUFHb0MsR0FBRyxDQUFDMUIsSUFBaEI7QUFDQSxnQkFBSVYsR0FBRyxDQUFDcUMsSUFBSixJQUFVLE9BQWQsRUFBdUI7QUFDdEJoQixvQkFBTSxDQUFDLFVBQUQsRUFBWXJCLEdBQVosQ0FBTjtBQUNBdUIscUJBQU8sQ0FBQ3ZCLEdBQUQsQ0FBUDtBQUNBLGFBSEQsTUFHTztBQUNOd0Isb0JBQU0sQ0FBQyxFQUFDLFVBQVN4QixHQUFHLENBQUNzQyxHQUFkLEVBQUQsQ0FBTjtBQUNBO0FBQ0QsV0FqQlU7QUFrQlhDLGNBQUksRUFBRSxjQUFDQyxHQUFELEVBQVM7QUFDZDtBQUNBaEIsa0JBQU0sQ0FBQ2dCLEdBQUQsQ0FBTjtBQUNBLFdBckJVLEVBQVo7O0FBdUJBLE9BMUJNLENBQVA7QUEyQkEsS0ExRk87O0FBNEZSakMsaUJBQWEsRUFBRTs7O0FBR1phLGlCQUhZLEVBR0csS0FGakJDLE1BRWlCLFNBRmpCQSxNQUVpQixDQURqQjFDLEtBQ2lCLFNBRGpCQSxLQUNpQjtBQUNqQixhQUFPLElBQUkyQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDOztBQUVETSxXQUFHLENBQUNDLE9BQUosQ0FBWTtBQUNYcEMsYUFBRyxFQUFFaEIsS0FBSyxDQUFDZ0IsR0FBTixHQUFZLGlCQUROO0FBRVhlLGNBQUksRUFBRVUsYUFGSztBQUdYWSxnQkFBTSxFQUFFLE1BSEc7QUFJWEMsa0JBQVEsRUFBQyxNQUpFO0FBS1hDLGdCQUFNLEVBQUU7QUFDUCw0QkFBZ0IsbUNBRFQsRUFMRzs7QUFRWEMsaUJBQU8sRUFBRSxpQkFBQ0MsR0FBRCxFQUFTO0FBQ2pCLHlCQUFZQSxHQUFaO0FBQ0EsZ0JBQU1wQyxHQUFHLEdBQUdvQyxHQUFHLENBQUMxQixJQUFoQjtBQUNBLGdCQUFJVixHQUFHLENBQUNxQyxJQUFKLElBQVUsT0FBZCxFQUF1QjtBQUN0QmhCLG9CQUFNLENBQUMsZUFBRCxFQUFpQnJCLEdBQWpCLENBQU47QUFDQXVCLHFCQUFPLENBQUN2QixHQUFELENBQVA7QUFDQSxhQUhELE1BR087QUFDTndCLG9CQUFNLENBQUMsRUFBQyxVQUFTeEIsR0FBRyxDQUFDc0MsR0FBZCxFQUFELENBQU47QUFDQTtBQUNELFdBakJVO0FBa0JYQyxjQUFJLEVBQUUsY0FBQ0MsR0FBRCxFQUFTO0FBQ2Q7QUFDQWhCLGtCQUFNLENBQUNnQixHQUFELENBQU47QUFDQSxXQXJCVSxFQUFaOztBQXVCQSxPQTFCTSxDQUFQO0FBMkJBLEtBM0hPOztBQTZIUi9CLHNCQUFrQixFQUFFOzs7QUFHakJXLGlCQUhpQixFQUdGLEtBRmpCQyxNQUVpQixTQUZqQkEsTUFFaUIsQ0FEakIxQyxLQUNpQixTQURqQkEsS0FDaUI7QUFDakIsYUFBTyxJQUFJMkMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0Qzs7QUFFRE0sV0FBRyxDQUFDQyxPQUFKLENBQVk7QUFDWHBDLGFBQUcsRUFBRWhCLEtBQUssQ0FBQ2dCLEdBQU4sR0FBWSx5QkFETjtBQUVYZSxjQUFJLEVBQUVVLGFBRks7QUFHWFksZ0JBQU0sRUFBRSxNQUhHO0FBSVhDLGtCQUFRLEVBQUMsTUFKRTtBQUtYQyxnQkFBTSxFQUFFO0FBQ1AsNEJBQWdCLG1DQURULEVBTEc7O0FBUVhDLGlCQUFPLEVBQUUsaUJBQUNDLEdBQUQsRUFBUztBQUNqQix5QkFBWUEsR0FBWjtBQUNBLGdCQUFNcEMsR0FBRyxHQUFHb0MsR0FBRyxDQUFDMUIsSUFBaEI7QUFDQSxnQkFBSVYsR0FBRyxDQUFDcUMsSUFBSixJQUFVLE9BQWQsRUFBdUI7QUFDdEI7QUFDQTtBQUNBaEIsb0JBQU0sQ0FBQyxvQkFBRCxFQUFzQnJCLEdBQXRCLENBQU47QUFDQXVCLHFCQUFPLENBQUN2QixHQUFELENBQVA7QUFDQSxhQUxELE1BS087QUFDTndCLG9CQUFNLENBQUMsRUFBQyxVQUFTeEIsR0FBRyxDQUFDc0MsR0FBZCxFQUFELENBQU47QUFDQTtBQUNELFdBbkJVO0FBb0JYQyxjQUFJLEVBQUUsY0FBQ0MsR0FBRCxFQUFTO0FBQ2Q7QUFDQWhCLGtCQUFNLENBQUNnQixHQUFELENBQU47QUFDQSxXQXZCVSxFQUFaOztBQXlCQSxPQTVCTSxDQUFQO0FBNkJBLEtBOUpPOztBQWdLUjdCLGdCQUFZLEVBQUU7OztBQUdYUyxpQkFIVyxFQUdJLEtBRmpCQyxNQUVpQixTQUZqQkEsTUFFaUIsQ0FEakIxQyxLQUNpQixTQURqQkEsS0FDaUI7QUFDakIsYUFBTyxJQUFJMkMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0Qzs7QUFFRE0sV0FBRyxDQUFDQyxPQUFKLENBQVk7QUFDWHBDLGFBQUcsRUFBRWhCLEtBQUssQ0FBQ2dCLEdBQU4sR0FBWSx3QkFETjtBQUVYZSxjQUFJLEVBQUVVLGFBRks7QUFHWFksZ0JBQU0sRUFBRSxNQUhHO0FBSVhDLGtCQUFRLEVBQUMsTUFKRTtBQUtYQyxnQkFBTSxFQUFFO0FBQ1AsNEJBQWdCLG1DQURULEVBTEc7O0FBUVhDLGlCQUFPLEVBQUUsaUJBQUNDLEdBQUQsRUFBUztBQUNqQjtBQUNBLGdCQUFNcEMsR0FBRyxHQUFHb0MsR0FBRyxDQUFDMUIsSUFBaEI7QUFDQSxnQkFBSVYsR0FBRyxDQUFDcUMsSUFBSixJQUFVLE9BQWQsRUFBdUI7QUFDdEIxRCxtQkFBSyxDQUFDTSxZQUFOLEdBQXFCbUMsYUFBYSxDQUFDcUIsUUFBbkM7QUFDQXBCLG9CQUFNLENBQUMsY0FBRCxFQUFnQnJCLEdBQWhCLENBQU47QUFDQXVCLHFCQUFPLENBQUN2QixHQUFELENBQVA7QUFDQSxhQUpELE1BSU87QUFDTndCLG9CQUFNLENBQUMsRUFBQyxVQUFTeEIsR0FBRyxDQUFDc0MsR0FBZCxFQUFELENBQU47QUFDQTtBQUNELFdBbEJVO0FBbUJYQyxjQUFJLEVBQUUsY0FBQ0MsR0FBRCxFQUFTO0FBQ2QseUJBQVlBLEdBQVo7QUFDQWhCLGtCQUFNLENBQUNnQixHQUFELENBQU47QUFDQSxXQXRCVSxFQUFaOztBQXdCQSxPQTNCTSxDQUFQO0FBNEJBLEtBaE1POztBQWtNUm5ELDZCQUF5QixFQUFFOzs7QUFHeEIrQixpQkFId0IsRUFHVCxLQUZqQkMsTUFFaUIsU0FGakJBLE1BRWlCLENBRGpCMUMsS0FDaUIsU0FEakJBLEtBQ2lCO0FBQ2pCLGFBQU8sSUFBSTJDLE9BQUosQ0FBWSxVQUFDQyxPQUFELEVBQVVDLE1BQVYsRUFBcUI7QUFDdEM7QUFDRE0sV0FBRyxDQUFDQyxPQUFKLENBQVk7QUFDWHBDLGFBQUcsRUFBRWhCLEtBQUssQ0FBQ2dCLEdBQU4sR0FBWSw4QkFETjtBQUVYZSxjQUFJLEVBQUVVLGFBRks7QUFHWFksZ0JBQU0sRUFBRSxNQUhHO0FBSVhDLGtCQUFRLEVBQUMsTUFKRTtBQUtYQyxnQkFBTSxFQUFFO0FBQ1AsNEJBQWdCLG1DQURULEVBTEc7O0FBUVhDLGlCQUFPLEVBQUUsaUJBQUNDLEdBQUQsRUFBUztBQUNqQix5QkFBWUEsR0FBWjtBQUNBLGdCQUFNcEMsR0FBRyxHQUFHb0MsR0FBRyxDQUFDMUIsSUFBaEI7QUFDQSxnQkFBSVYsR0FBRyxDQUFDcUMsSUFBSixJQUFVLE9BQWQsRUFBdUI7QUFDdEJoQixvQkFBTSxDQUFDLDJCQUFELEVBQTZCckIsR0FBN0IsQ0FBTjtBQUNBdUIscUJBQU8sQ0FBQ3ZCLEdBQUQsQ0FBUDtBQUNBLGFBSEQsTUFHTztBQUNOd0Isb0JBQU0sQ0FBQyxFQUFDLFVBQVN4QixHQUFHLENBQUNzQyxHQUFkLEVBQUQsQ0FBTjtBQUNBO0FBQ0QsV0FqQlU7QUFrQlhDLGNBQUksRUFBRSxjQUFDQyxHQUFELEVBQVM7QUFDZCx5QkFBWUEsR0FBWjtBQUNBaEIsa0JBQU0sQ0FBQ2dCLEdBQUQsQ0FBTjtBQUNBLFdBckJVLEVBQVo7O0FBdUJBLE9BekJNLENBQVA7QUEwQkEsS0FoT087O0FBa09SbEQsZUFBVyxFQUFFOzs7QUFHVjhCLGlCQUhVLEVBR0ssS0FGakJDLE1BRWlCLFNBRmpCQSxNQUVpQixDQURqQjFDLEtBQ2lCLFNBRGpCQSxLQUNpQjtBQUNqQixhQUFPLElBQUkyQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDO0FBQ0RNLFdBQUcsQ0FBQ0MsT0FBSixDQUFZO0FBQ1hwQyxhQUFHLEVBQUVoQixLQUFLLENBQUNnQixHQUFOLEdBQVksa0JBRE47QUFFWGUsY0FBSSxFQUFFVSxhQUZLO0FBR1hZLGdCQUFNLEVBQUUsTUFIRztBQUlYQyxrQkFBUSxFQUFDLE1BSkU7QUFLWEMsZ0JBQU0sRUFBRTtBQUNQLDRCQUFnQixtQ0FEVCxFQUxHOztBQVFYQyxpQkFBTyxFQUFFLGlCQUFDQyxHQUFELEVBQVM7QUFDakI7QUFDQSxnQkFBTXBDLEdBQUcsR0FBRzBDLElBQUksQ0FBQ0MsS0FBTCxDQUFXUCxHQUFHLENBQUMxQixJQUFmLENBQVo7QUFDQSxnQkFBSVYsR0FBRyxDQUFDcUMsSUFBSixJQUFVLE9BQWQsRUFBdUI7QUFDdEJoQixvQkFBTSxDQUFDLGFBQUQsRUFBZXJCLEdBQWYsQ0FBTjtBQUNBdUIscUJBQU8sQ0FBQ3ZCLEdBQUQsQ0FBUDtBQUNBLGFBSEQsTUFHTztBQUNOd0Isb0JBQU0sQ0FBQyxFQUFDLFVBQVN4QixHQUFHLENBQUNzQyxHQUFkLEVBQUQsQ0FBTjtBQUNBO0FBQ0QsV0FqQlU7QUFrQlhDLGNBQUksRUFBRSxjQUFDQyxHQUFELEVBQVM7QUFDZCx5QkFBWUEsR0FBWjtBQUNBaEIsa0JBQU0sQ0FBQ2dCLEdBQUQsQ0FBTjtBQUNBLFdBckJVLEVBQVo7O0FBdUJBLE9BekJNLENBQVA7QUEwQkEsS0FoUU87O0FBa1FSakQsMEJBQXNCLEVBQUU7OztBQUdyQjZCLGlCQUhxQixFQUdOLEtBRmpCQyxNQUVpQixTQUZqQkEsTUFFaUIsQ0FEakIxQyxLQUNpQixTQURqQkEsS0FDaUI7QUFDakIsYUFBTyxJQUFJMkMsT0FBSixDQUFZLFVBQUNDLE9BQUQsRUFBVUMsTUFBVixFQUFxQjtBQUN0QztBQUNETSxXQUFHLENBQUNDLE9BQUosQ0FBWTtBQUNYcEMsYUFBRyxFQUFFaEIsS0FBSyxDQUFDZ0IsR0FBTixHQUFZLDRCQUROO0FBRVhlLGNBQUksRUFBRVUsYUFGSztBQUdYWSxnQkFBTSxFQUFFLE1BSEc7QUFJWEMsa0JBQVEsRUFBQyxNQUpFO0FBS1hDLGdCQUFNLEVBQUU7QUFDUCw0QkFBZ0IsbUNBRFQsRUFMRzs7QUFRWEMsaUJBQU8sRUFBRSxpQkFBQ0MsR0FBRCxFQUFTO0FBQ2pCLHlCQUFZQSxHQUFaO0FBQ0EsZ0JBQU1wQyxHQUFHLEdBQUdvQyxHQUFHLENBQUMxQixJQUFoQjtBQUNBLGdCQUFJVixHQUFHLENBQUNxQyxJQUFKLElBQVUsT0FBZCxFQUF1QjtBQUN0QmhCLG9CQUFNLENBQUMsd0JBQUQsRUFBMEJyQixHQUExQixDQUFOO0FBQ0F1QixxQkFBTyxDQUFDdkIsR0FBRCxDQUFQO0FBQ0EsYUFIRCxNQUdPO0FBQ053QixvQkFBTSxDQUFDLEVBQUMsVUFBU3hCLEdBQUcsQ0FBQ3NDLEdBQWQsRUFBRCxDQUFOO0FBQ0E7QUFDRCxXQWpCVTtBQWtCWEMsY0FBSSxFQUFFLGNBQUNDLEdBQUQsRUFBUztBQUNkLHlCQUFZQSxHQUFaO0FBQ0FoQixrQkFBTSxDQUFDZ0IsR0FBRCxDQUFOO0FBQ0EsV0FyQlUsRUFBWjs7QUF1QkEsT0F6Qk0sQ0FBUDtBQTBCQSxLQWhTTzs7QUFrU1JoRCxnQkFBWSxFQUFFOzs7QUFHWDRCLGlCQUhXLEVBR0ksS0FGakJDLE1BRWlCLFNBRmpCQSxNQUVpQixDQURqQjFDLEtBQ2lCLFNBRGpCQSxLQUNpQjtBQUNqQixhQUFPLElBQUkyQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ3RDO0FBQ0RNLFdBQUcsQ0FBQ0MsT0FBSixDQUFZO0FBQ1hwQyxhQUFHLEVBQUVoQixLQUFLLENBQUNnQixHQUFOLEdBQVksd0JBRE47QUFFWGUsY0FBSSxFQUFFVSxhQUZLO0FBR1hZLGdCQUFNLEVBQUUsTUFIRztBQUlYQyxrQkFBUSxFQUFDLE1BSkU7QUFLWEMsZ0JBQU0sRUFBRTtBQUNQLDRCQUFnQixtQ0FEVCxFQUxHOztBQVFYQyxpQkFBTyxFQUFFLGlCQUFDQyxHQUFELEVBQVM7QUFDakIseUJBQVlBLEdBQVo7QUFDQSxnQkFBTXBDLEdBQUcsR0FBR29DLEdBQUcsQ0FBQzFCLElBQWhCO0FBQ0EsZ0JBQUlWLEdBQUcsQ0FBQ3FDLElBQUosSUFBVSxPQUFkLEVBQXVCO0FBQ3RCaEIsb0JBQU0sQ0FBQyxjQUFELEVBQWdCckIsR0FBaEIsQ0FBTjtBQUNBdUIscUJBQU8sQ0FBQ3ZCLEdBQUQsQ0FBUDtBQUNBLGFBSEQsTUFHTztBQUNOd0Isb0JBQU0sQ0FBQyxFQUFDLFVBQVN4QixHQUFHLENBQUNzQyxHQUFkLEVBQUQsQ0FBTjtBQUNBO0FBQ0QsV0FqQlU7QUFrQlhDLGNBQUksRUFBRSxjQUFDQyxHQUFELEVBQVM7QUFDZCx5QkFBWUEsR0FBWjtBQUNBaEIsa0JBQU0sQ0FBQ2dCLEdBQUQsQ0FBTjtBQUNBLFdBckJVLEVBQVo7O0FBdUJBLE9BekJNLENBQVA7QUEwQkEsS0FoVU8sRUFoR21CLEVBQWYsQ0FBZCxDOzs7OztBQXFhZWpFLEsiLCJmaWxlIjoiNzMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcclxuaW1wb3J0IFZ1ZXggZnJvbSAndnVleCdcclxuVnVlLnVzZShWdWV4KVxyXG5cclxuaW1wb3J0IGFwcCBmcm9tICcuL21vZHVsZXMvYXBwJ1xyXG5jb25zdCBzdG9yZSA9IG5ldyBWdWV4LlN0b3JlKHtcclxuXHRtb2R1bGVzOntcclxuXHRcdGFwcCxcclxuXHR9LFxyXG5cdHN0YXRlOiB7XHJcblx0XHRoYXNMb2dpbjogZmFsc2UsXHJcblx0XHRsb2dpblByb3ZpZGVyOiBcIlwiLFxyXG5cdFx0YXJlYUZ1bmM6JycsXHJcblx0XHR0aGlzYXJlYUZ1bmNJRDonJyxcclxuXHRcdHRoaXNFZGl0TmFtZTonJyxcclxuXHRcdHRoaXNEaWN0TmFtZTonJyxcclxuXHRcdF9jbGFzc0F0dHJMaXN0Ont9LFxyXG5cdFx0X2NsYXNzR3JpZFN0eWxlSW5mbzp7fSxcclxuXHRcdF9kaWNWYWx1ZUluZm86e30sXHJcblx0XHREYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvOicnLFxyXG5cdFx0cXVlcnlTZWxwc246JycsXHJcblx0XHRQcm9qZWN0R2V0QW5hbHlzaXNMaXN0OicnLFxyXG5cdFx0YWRkY2xhc3NhdHRyOicnLFxyXG5cdFx0dXNlcm5hbWU6XCJzYVwiLFxyXG5cdFx0dXNlcnB3ZDpcIjAwMDBcIixcclxuXHRcdHVybDpcIjM5LjEwMC4yMjQuMjExXCIgLy8xOTIuMTY4LjEuMTg0OjUyMDAgMzYuMzMuMjQuOTQ6NTIwMFxyXG5cdH0sXHJcblx0bXV0YXRpb25zOiB7XHJcblx0XHRzZXRVcmwoc3RhdGUsIHVybCkge1xyXG5cdFx0XHRzdGF0ZS51cmwgPSB1cmw7XHJcblx0XHR9LFxyXG5cdFx0bG9naW4oc3RhdGUsIHByb3ZpZGVyKSB7XHJcblx0XHRcdHN0YXRlLmhhc0xvZ2luID0gdHJ1ZTtcclxuXHRcdFx0c3RhdGUubG9naW5Qcm92aWRlciA9IHByb3ZpZGVyO1xyXG5cdFx0fSxcclxuXHRcdGFyZWFGdW5jKHN0YXRlLCByZXQpIHtcclxuXHRcdFx0c3RhdGUuYXJlYUZ1bmMgPSByZXQ7XHJcblx0XHR9LFxyXG5cdFx0c2V0YXJlYUZ1bmNpZChzdGF0ZSxpZCl7XHJcblx0XHRcdHN0YXRlLnRoaXNhcmVhRnVuY0lEPWlkO1xyXG5cdFx0fSxcclxuXHRcdHNldGVkaXROYW1lKHN0YXRlLGVkaXROYW1lKXtcclxuXHRcdFx0c3RhdGUudGhpc0VkaXROYW1lPWVkaXROYW1lO1xyXG5cdFx0fSxcclxuXHRcdHNldERpY3ROYW1lKHN0YXRlLGRpY3ROYW1lKXtcclxuXHRcdFx0c3RhdGUudGhpc0RpY3ROYW1lPWRpY3ROYW1lO1xyXG5cdFx0fSxcclxuXHRcdGNsYXNzQXR0ckxpc3Qoc3RhdGUsIHJldCkge1xyXG5cdFx0XHQvLyBzdGF0ZS5fY2xhc3NBdHRyTGlzdFtzdGF0ZS50aGlzYXJlYUZ1bmNJRF0gPSByZXQ7XHJcblx0XHRcdFZ1ZS5zZXQoc3RhdGUuX2NsYXNzQXR0ckxpc3Qsc3RhdGUudGhpc2FyZWFGdW5jSUQscmV0KTtcclxuXHRcdH0sXHJcblx0XHRjbGFzc0dyaWRTdHlsZUluZm8oc3RhdGUsIHJldCkge1xyXG5cdFx0XHQvLyBzdGF0ZS5fY2xhc3NHcmlkU3R5bGVJbmZvW3N0YXRlLnRoaXNhcmVhRnVuY0lEXSA9IHJldDtcclxuXHRcdFx0dmFyIGRhdGEgPSB7fTtcclxuXHRcdFx0aWYoc3RhdGUuX2NsYXNzR3JpZFN0eWxlSW5mb1tzdGF0ZS50aGlzYXJlYUZ1bmNJRF0pXHJcblx0XHRcdFx0ZGF0YSA9IHN0YXRlLl9jbGFzc0dyaWRTdHlsZUluZm9bc3RhdGUudGhpc2FyZWFGdW5jSURdO1xyXG5cdFx0XHRWdWUuc2V0KGRhdGEsc3RhdGUudGhpc0VkaXROYW1lLHJldCk7XHJcblx0XHRcdFZ1ZS5zZXQoc3RhdGUuX2NsYXNzR3JpZFN0eWxlSW5mbyxzdGF0ZS50aGlzYXJlYUZ1bmNJRCxkYXRhKTtcclxuXHRcdH0sXHJcblx0XHRkaWNWYWx1ZUluZm8oc3RhdGUsIHJldCkge1xyXG5cdFx0XHQvLyBzdGF0ZS5fZGljVmFsdWVJbmZvW3N0YXRlLnRoaXNhcmVhRnVuY0lEXSA9IHJldDtcclxuXHRcdFx0VnVlLnNldChzdGF0ZS5fZGljVmFsdWVJbmZvLHN0YXRlLnRoaXNEaWN0TmFtZSxyZXQpO1xyXG5cdFx0fSxcclxuXHRcdERhdGFPYmpSdW5DdXN0b21FdmVudEluZm8oc3RhdGUsIHJldCkge1xyXG5cdFx0XHRzdGF0ZS5EYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvID0gcmV0O1xyXG5cdFx0fSxcclxuXHRcdHF1ZXJ5U2VscHNuKHN0YXRlLCByZXQpIHtcclxuXHRcdFx0c3RhdGUucXVlcnlTZWxwc24gPSByZXQ7XHJcblx0XHR9LFxyXG5cdFx0UHJvamVjdEdldEFuYWx5c2lzTGlzdChzdGF0ZSwgcmV0KSB7XHJcblx0XHRcdHN0YXRlLlByb2plY3RHZXRBbmFseXNpc0xpc3QgPSByZXQ7XHJcblx0XHR9LFxyXG5cdFx0YWRkY2xhc3NhdHRyKHN0YXRlLCByZXQpIHtcclxuXHRcdFx0c3RhdGUuYWRkY2xhc3NhdHRyID0gcmV0O1xyXG5cdFx0fSxcclxuXHRcdGxvZ291dChzdGF0ZSkge1xyXG5cdFx0XHRzdGF0ZS5oYXNMb2dpbiA9IGZhbHNlXHJcblx0XHR9LFxyXG5cdH0sXHJcblx0Z2V0dGVyczoge1xyXG5cdFx0bG9naW5pZChzdGF0ZSkge1xyXG5cdFx0XHRyZXR1cm4gc3RhdGUubG9naW5Qcm92aWRlci5sb2dpbmlkXHJcblx0XHR9LFxyXG5cdFx0Z2V0VXJsKHN0YXRlKSB7XHJcblx0XHRcdHJldHVybiBzdGF0ZS51cmxcclxuXHRcdH0sXHJcblx0XHRnZXRjbGFzc0F0dHJMaXN0KHN0YXRlKXtcclxuXHRcdFx0cmV0dXJuIHN0YXRlLl9jbGFzc0F0dHJMaXN0W3N0YXRlLnRoaXNhcmVhRnVuY0lEXTtcclxuXHRcdH0sXHJcblx0XHRnZXRjbGFzc0dyaWRTdHlsZUluZm8oc3RhdGUpe1xyXG5cdFx0XHRpZihzdGF0ZS5fY2xhc3NHcmlkU3R5bGVJbmZvW3N0YXRlLnRoaXNhcmVhRnVuY0lEXSlcclxuXHRcdFx0XHRyZXR1cm4gc3RhdGUuX2NsYXNzR3JpZFN0eWxlSW5mb1tzdGF0ZS50aGlzYXJlYUZ1bmNJRF1bc3RhdGUudGhpc0VkaXROYW1lXTtcclxuXHRcdFx0ZWxzZSBcclxuXHRcdFx0XHRyZXR1cm4gXCJcIjtcclxuXHRcdH0sXHJcblx0XHRnZXRkaWNWYWx1ZUluZm8oc3RhdGUpe1xyXG5cdFx0XHRyZXR1cm4gc3RhdGUuX2RpY1ZhbHVlSW5mb1tzdGF0ZS50aGlzRGljdE5hbWVdO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRcclxuXHR9LFxyXG5cdGFjdGlvbnM6IHtcclxuXHRcdC8ve2NvbW1pdH0g6Kej5p6E77yMXHJcblx0XHQvL3VuaXZlcmlmeUluZm8g6Ieq5a6a5LmJ5Y+C5pWwXHJcblx0XHRsb2dpbjogZnVuY3Rpb24oe1xyXG5cdFx0XHRjb21taXQsXHJcblx0XHRcdHN0YXRlXHJcblx0XHR9LCB1bml2ZXJpZnlJbmZvKSB7XHJcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0dW5pdmVyaWZ5SW5mbyA9IHVuaXZlcmlmeUluZm8gfHwge307XHJcblx0XHRcdFx0dW5pdmVyaWZ5SW5mby5zZXJ2ZXIgPSB1bml2ZXJpZnlJbmZvLnNlcnZlciB8fCAnJztcclxuXHRcdFx0XHR1bml2ZXJpZnlJbmZvLnVuYW1lID0gdW5pdmVyaWZ5SW5mby51bmFtZSB8fCAnJztcclxuXHRcdFx0XHR1bml2ZXJpZnlJbmZvLnB3ZCA9IHVuaXZlcmlmeUluZm8ucHdkIHx8ICcnO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHVuaXZlcmlmeUluZm8pO1xyXG5cdFx0XHRcdGlmICh1bml2ZXJpZnlJbmZvLnNlcnZlci5sZW5ndGggPT0gMCkge1xyXG5cdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOifmnI3liqHlmajlnLDlnYDkuI3og73kuLrnqbohJ30pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodW5pdmVyaWZ5SW5mby51bmFtZS5sZW5ndGggPCAyKSB7XHJcblx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6J+i0puWPt+acgOefreS4uiAyIOS4quWtl+espiEnfSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh1bml2ZXJpZnlJbmZvLnB3ZC5sZW5ndGggPCAxKSB7XHJcblx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6J+WvhueggeacgOefreS4uiAx5Liq5a2X56ymISd9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dmFyIG9wZW5pbmZvID0gXCJodHRwOi8vXCIgKyB1bml2ZXJpZnlJbmZvLnNlcnZlciArIFwiL1wiOyAvLytcIi9PcmdXZWJTXCJcclxuXHRcdFx0XHQvL+iuvue9ruWFqOWxgOWPguaVsO+8mnVybC3mnI3liqHlmajlnLDlnYBcclxuXHRcdFx0XHRjb21taXQoXCJzZXRVcmxcIixvcGVuaW5mbyk7XHJcblx0XHRcdFx0XHJcblx0XHRcdFx0Ly8gaWYgKHVuaXZlcmlmeUluZm8uc2VydmVyLnNwbGl0KCc6JykubGVuZ3RoIDwgMilcclxuXHRcdFx0XHQvLyBcdGNnaSA9IFwiaHR0cDovL1wiICsgdW5pdmVyaWZ5SW5mby5zZXJ2ZXIgKyBcIjo1MDEwXCI7IC8vL09yZ1dlYlNcclxuXHRcdFx0XHRcclxuXHRcdFx0XHQvLyBzZXRUaW1lb3V0KF89PntcclxuXHRcdFx0XHQvLyBcdHJlc29sdmUoXCIwMDAwMDAwMDAwMFwiKVxyXG5cdFx0XHRcdC8vIH0sMzAwMClcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhvcGVuaW5mbyArIFwiUERBL1NpZ25JblwiKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IG9wZW5pbmZvICsgXCJQREEvU2lnbkluXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB1bml2ZXJpZnlJbmZvLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0XHRkYXRhVHlwZTpcImpzb25cIixcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0ICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKTsgXHJcblx0XHRcdFx0XHRcdGNvbnN0IHJldCA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXQuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImxvZ2luXCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdGFyZWFGdW5jOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHQgXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcIlBEQS9QREFBcmVhXCIsXHJcblx0XHRcdFx0XHRkYXRhOiB1bml2ZXJpZnlJbmZvLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0XHRkYXRhVHlwZTpcImpzb25cIixcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGNvbnN0IHJldCA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXQuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImFyZWFGdW5jXCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdGNsYXNzQXR0ckxpc3Q6IGZ1bmN0aW9uKHtcclxuXHRcdFx0Y29tbWl0LFxyXG5cdFx0XHRzdGF0ZVxyXG5cdFx0fSwgdW5pdmVyaWZ5SW5mbykge1xyXG5cdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdCAvLyBjb25zb2xlLmxvZyhzdGF0ZS51cmwpO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHRcdHVybDogc3RhdGUudXJsICsgXCJQREEvUERBQXR0ckxpc3RcIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29tbWl0KFwiY2xhc3NBdHRyTGlzdFwiLHJldCk7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHJlamVjdCh7XCJlcnJNc2dcIjpyZXQubXNnfSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGVycik7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0XHJcblx0XHRjbGFzc0dyaWRTdHlsZUluZm86IGZ1bmN0aW9uKHtcclxuXHRcdFx0Y29tbWl0LFxyXG5cdFx0XHRzdGF0ZVxyXG5cdFx0fSwgdW5pdmVyaWZ5SW5mbykge1xyXG5cdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG5cdFx0XHRcdCAvLyBjb25zb2xlLmxvZyhzdGF0ZS51cmwpO1xyXG5cdFx0XHRcdCBcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHN0YXRlLnVybCArIFwiUERBL1BEQUdyaWRTdHlsZUdldEluZm9cIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0Ly8gdmFyIGRhdGEgPXt9O1xyXG5cdFx0XHRcdFx0XHRcdC8vIFZ1ZS5zZXQoZGF0YSx1bml2ZXJpZnlJbmZvLm5hbWUscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRjb21taXQoXCJjbGFzc0dyaWRTdHlsZUluZm9cIixyZXQpO1xyXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUocmV0KTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6cmV0Lm1zZ30pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlcnIpO1xyXG5cdFx0XHRcdFx0XHRyZWplY3QoZXJyKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdFxyXG5cdFx0ZGljVmFsdWVJbmZvOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHQgXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcIlBEQS9QREFEaWNWYWx1ZUdldEluZm9cIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0c3RhdGUudGhpc0RpY3ROYW1lID0gdW5pdmVyaWZ5SW5mby5kaWNfbmFtZVxyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImRpY1ZhbHVlSW5mb1wiLHJldCk7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHJlamVjdCh7XCJlcnJNc2dcIjpyZXQubXNnfSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycik7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9LFxyXG5cdFx0XHJcblx0XHREYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHN0YXRlLnVybCArIFwiUERBL1BEQURhdGFPYmpSdW5DdXN0b21FdmVudFwiLFxyXG5cdFx0XHRcdFx0ZGF0YTogdW5pdmVyaWZ5SW5mbyxcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdFx0ZGF0YVR5cGU6XCJqc29uXCIsXHJcblx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZXQgPSByZXMuZGF0YVxyXG5cdFx0XHRcdFx0XHRpZiAocmV0LmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0XHRjb21taXQoXCJEYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvXCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdHF1ZXJ5U2VscHNuOiBmdW5jdGlvbih7XHJcblx0XHRcdGNvbW1pdCxcclxuXHRcdFx0c3RhdGVcclxuXHRcdH0sIHVuaXZlcmlmeUluZm8pIHtcclxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuXHRcdFx0XHQgLy8gY29uc29sZS5sb2coc3RhdGUudXJsKTtcclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHN0YXRlLnVybCArIFwic2VscHNuL3F1ZXJ5anNvblwiLFxyXG5cdFx0XHRcdFx0ZGF0YTogdW5pdmVyaWZ5SW5mbyxcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdFx0ZGF0YVR5cGU6XCJqc29uXCIsXHJcblx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0J2NvbnRlbnQtdHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXMpO1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZXQgPSBKU09OLnBhcnNlKHJlcy5kYXRhKTtcclxuXHRcdFx0XHRcdFx0aWYgKHJldC5jb2RlPT0nMDAwMDAnKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29tbWl0KFwicXVlcnlTZWxwc25cIixyZXQpO1xyXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUocmV0KTtcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRyZWplY3Qoe1wiZXJyTXNnXCI6cmV0Lm1zZ30pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpO1xyXG5cdFx0XHRcdFx0XHRyZWplY3QoZXJyKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdFxyXG5cdFx0UHJvamVjdEdldEFuYWx5c2lzTGlzdDogZnVuY3Rpb24oe1xyXG5cdFx0XHRjb21taXQsXHJcblx0XHRcdHN0YXRlXHJcblx0XHR9LCB1bml2ZXJpZnlJbmZvKSB7XHJcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0IC8vIGNvbnNvbGUubG9nKHN0YXRlLnVybCk7XHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcImJwbS9Qcm9qZWN0R2V0QW5hbHlzaXNMaXN0XCIsXHJcblx0XHRcdFx0XHRkYXRhOiB1bml2ZXJpZnlJbmZvLFxyXG5cdFx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXHJcblx0XHRcdFx0XHRkYXRhVHlwZTpcImpzb25cIixcclxuXHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHQnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdGNvbnN0IHJldCA9IHJlcy5kYXRhO1xyXG5cdFx0XHRcdFx0XHRpZiAocmV0LmNvZGU9PScwMDAwMCcpIHtcclxuXHRcdFx0XHRcdFx0XHRjb21taXQoXCJQcm9qZWN0R2V0QW5hbHlzaXNMaXN0XCIscmV0KTtcclxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJldCk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0cmVqZWN0KHtcImVyck1zZ1wiOnJldC5tc2d9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKTtcclxuXHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRcclxuXHRcdGFkZGNsYXNzYXR0cjogZnVuY3Rpb24oe1xyXG5cdFx0XHRjb21taXQsXHJcblx0XHRcdHN0YXRlXHJcblx0XHR9LCB1bml2ZXJpZnlJbmZvKSB7XHJcblx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcblx0XHRcdFx0IC8vIGNvbnNvbGUubG9nKHN0YXRlLnVybCk7XHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBzdGF0ZS51cmwgKyBcIndvcmtzcGFjZS9hZGRjbGFzc2F0dHJcIixcclxuXHRcdFx0XHRcdGRhdGE6IHVuaXZlcmlmeUluZm8sXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcclxuXHRcdFx0XHRcdGRhdGFUeXBlOlwianNvblwiLFxyXG5cdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdCdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0Y29uc3QgcmV0ID0gcmVzLmRhdGE7XHJcblx0XHRcdFx0XHRcdGlmIChyZXQuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHRcdGNvbW1pdChcImFkZGNsYXNzYXR0clwiLHJldCk7XHJcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXQpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHJlamVjdCh7XCJlcnJNc2dcIjpyZXQubXNnfSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycik7XHJcblx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0pXHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcbn0pXHJcblxyXG5leHBvcnQgZGVmYXVsdCBzdG9yZVxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///73\n");
/***/ }),
/* 74 */