jt
2022-08-04 b28d525762c2570764f142bb0026e233bfc24c8b
unpackage/dist/dev/app-plus/app-service.js
@@ -1652,7 +1652,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// 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      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:275\");\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJzZXJ2ZXIiLCJ1bmkiLCJnZXRTdG9yYWdlU3luYyIsImFjY291bnQiLCJwYXNzd29yZCIsInVybCIsIiRzdG9yZSIsInN0YXRlIiwidXNlcm5hbWUiLCJ1c2VycHdkIiwiaXNjaGVja2VkIiwibG9naW4iLCJ1c2VyU2VydmVyIiwidXNlck5hbWUiLCJ1c2VyUHdkIiwibWV0aG9kcyIsImlucHV0RGlhbG9nVG9nZ2xlIiwiJHJlZnMiLCJpbnB1dERpYWxvZyIsIm9wZW4iLCJkaWFsb2dJbnB1dENvbmZpcm0iLCJ2YWwiLCJzZXRTdG9yYWdlU3luYyIsImNsb3NlIiwicmVtZW1iZXJQd2QiLCJlIiwidGFyZ2V0IiwidmFsdWUiLCJsb2dpbmQiLCJzaG93TW9kYWwiLCJ0aXRsZSIsImNvbnRlbnQiLCJzaG93Q2FuY2VsIiwiY29uZmlybVRleHQiLCJsb2dpbkluZm8iLCJ1bmFtZSIsInB3ZCIsImNuYW1lIiwicGx1cyIsImRldmljZSIsIm1vZGVsIiwidHlwZSIsIiRkYXRhIiwiZGlzcGF0Y2giLCJ0aGVuIiwic3VjY2VzcyIsImNvZGUiLCJjb21taXQiLCJsb2dpbmlkIiwibmF2aWdhdGVUbyIsIm1zZyIsImNhdGNoIiwiZXgiLCJlcnJNc2ciLCJvbkxvYWQiXSwibWFwcGluZ3MiOiJxSUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7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dEIsS0FBTCxHQUFXLE1BQVg7QUFDQSxPQTFCRDtBQTJCQSxLQXhHTSxFQS9CTTs7QUF5SWQyQyxRQXpJYyxvQkF5SUw7O0FBRVIsR0EzSWEsRSIsImZpbGUiOiIzNC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG4vLyBpbXBvcnQge1xuLy8gXHRtYXBTdGF0ZSxcbi8vIFx0bWFwTXV0YXRpb25zLFxuLy8gXHRtYXBBY3Rpb25zICxcbi8vIH0gZnJvbSAndnVleCdcbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpe1xuXHRcdC8v6I635Y+W5YWo5bGA5Y+C5pWw77yadXJsLeacjeWKoeWZqOWcsOWdgFxuXHRcdHZhciBzZXJ2ZXIgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3NlcnZlcicpO1xuXHRcdHZhciBhY2NvdW50ID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdhY2NvdW50Jyk7XG5cdFx0dmFyIHBhc3N3b3JkID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdwYXNzd29yZCcpO1xuXHRcdHZhciB1cmwgPSB0aGlzLiRzdG9yZS5zdGF0ZS51cmw7XG5cdFx0dmFyIHVzZXJuYW1lID0gdGhpcy4kc3RvcmUuc3RhdGUudXNlcm5hbWU7XG5cdFx0dmFyIHVzZXJwd2QgPSB0aGlzLiRzdG9yZS5zdGF0ZS51c2VycHdkO1xuXHRcdHZhciBpc2NoZWNrZWQ9ZmFsc2U7XG5cdFx0aWYoIXNlcnZlcilcblx0XHRcdHNlcnZlciA9IHVybDtcblx0XHRpZighYWNjb3VudClcblx0XHRcdGFjY291bnQgPSB1c2VybmFtZTtcblx0XHRpZihhY2NvdW50ICYmIHBhc3N3b3JkKVxuXHRcdFx0aXNjaGVja2VkPXRydWU7XG5cdFx0Ly8gY29uc29sZS5sb2codXJsKTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bG9naW46XCLlvIDlp4vnmbvlvZVcIixcblx0XHRcdHVzZXJTZXJ2ZXI6c2VydmVyLFxuXHRcdFx0dXNlck5hbWU6YWNjb3VudCxcblx0XHRcdHVzZXJQd2Q6cGFzc3dvcmQsXG5cdFx0XHRpc2NoZWNrZWQ6aXNjaGVja2VkLFxuXHRcdH1cblx0fSxcblx0Ly8gY29tcHV0ZWQ6IG1hcFN0YXRlKHtcblx0Ly8gXHQvLyDku45zdGF0ZeS4reaLv+WIsOaVsOaNriDnrq3lpLTlh73mlbDlj6/kvb/ku6PnoIHmm7TnroDnu4Ncblx0Ly8gXHRoYXNMb2dpbjogc3RhdGUgPT4gc3RhdGUuaGFzTG9naW4sXG5cdC8vIFx0bG9naW5wcm92aWRlcjogc3RhdGUgPT4gc3RhdGUubG9naW5Qcm92aWRlcixcblx0Ly8gXHRhcHBpbmZvOnN0YXRlPT5zdGF0ZS5hcHBJbmZvXG5cdC8vIH0pLFxuXHRtZXRob2RzOntcblx0XHQvLyAuLi5tYXBNdXRhdGlvbnMoe1xuXHRcdC8vIFx0bXV0YXRMb2dpbjonbG9naW4nXG5cdFx0Ly8gfSksXG5cdFx0Ly8gLi4ubWFwQWN0aW9ucyh7XG5cdFx0Ly8gXHRhY3Rpb25Mb2dpbjonbG9naW4nXG5cdFx0Ly8gfSksXG5cdFx0aW5wdXREaWFsb2dUb2dnbGUoKSB7XG5cdFx0XHR0aGlzLiRyZWZzLmlucHV0RGlhbG9nLm9wZW4oKVxuXHRcdH0sXG5cdFx0ZGlhbG9nSW5wdXRDb25maXJtKHZhbCkge1xuXHRcdFx0Ly8gY29uc29sZS5sb2codmFsKTtcblx0XHRcdC8vIHVuaS5zaG93TG9hZGluZyh7XG5cdFx0XHQvLyBcdHRpdGxlOiAnM+enkuWQjuS8muWFs+mXrSdcblx0XHRcdC8vIH0pXG5cdFx0XHQvLyBzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdC8vIHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0dGhpcy51c2VyU2VydmVyID0gdmFsO1xuXHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdzZXJ2ZXInLHZhbCk7XG5cdFx0XHQvLyB0aGlzLnZhbHVlID0gdmFsXG5cdFx0XHQvLyDlhbPpl63nqpflj6PlkI7vvIzmgaLlpI3pu5jorqTlhoXlrrlcblx0XHRcdHRoaXMuJHJlZnMuaW5wdXREaWFsb2cuY2xvc2UoKVxuXHRcdFx0Ly8gfSwgMzAwMClcblx0XHR9LFxuXHRcdHJlbWVtYmVyUHdkKGUpeyAgLy/orrDkvY/lr4bnoIFcblx0XHRcdGNvbnNvbGUubG9nKGUudGFyZ2V0KTtcblx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnYWNjb3VudCcsJycpO1xuXHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdwYXNzd29yZCcsJycpO1xuXHRcdFx0aWYoZS50YXJnZXQudmFsdWVbMF09PScxJyl7XG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygnYWNjb3VudCcsdGhpcy51c2VyTmFtZSk7XG5cdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygncGFzc3dvcmQnLHRoaXMudXNlclB3ZCk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvLyBnZXRDb29raWUoa2V5KXtcblx0XHQvLyBcdGlmKGRvY3VtZW50LmNvb2tpZS5sZW5ndGg+MCl7XG5cdFx0Ly8gXHRcdHZhciBzdGFydCA9IGRvY3VtZW50LmNvb2tpZS5pbmRleE9mKGtleSArJz0nKTtcblx0XHQvLyBcdFx0aWYoc3RhcnQgIT09IC0xKXtcblx0XHQvLyBcdFx0XHRzdGFydCA9IHN0YXJ0K2tleS5sZW5ndGgrMTtcblx0XHQvLyBcdFx0XHR2YXIgZW5kID0gZG9jdW1lbnQuY29va2llLmluZGV4T2YoJzsnLHN0YXJ0KTtcblx0XHQvLyBcdFx0XHRpZihlbmQgPT09IC0xKSBlbmQ9ZG9jdW1lbnQuY29va2llLmxlbmd0aDtcblx0XHQvLyBcdFx0XHRyZXR1cm4gZG9jdW1lbnQuY29va2llLnN1YnN0cmluZyhzdGFydCxlbmQpO1xuXHRcdC8vIFx0XHR9XG5cdFx0Ly8gXHR9XG5cdFx0Ly8gXHRyZXR1cm4gJyc7XG5cdFx0Ly8gfSxcblx0XHQvLyBzZXRDb29raWUoY05hbWUsdmFsdWUsZXhwaXJlZGF5cyl7XG5cdFx0Ly8gXHR2YXIgZXhkYXRlID0gbmV3IERhdGUoKTtcblx0XHQvLyBcdGV4ZGF0ZS5zZXREYXRlKGV4ZGF0ZS5nZXREYXRlKCksZXhwaXJlZGF5cylcblx0XHQvLyBcdGRvY3VtZW50LmNvb2tpZSA9IGNOYW1lKyc9JysgZG9jdW1lbnRVUkxDb21wb25lbnQodmFsdWUpK1xuXHRcdC8vIFx0KChleHBpcmVkYXlzPT1udWxsKT8nJzonO2V4cGlyZXM9JytleGRhdGUudG9HTVRTdHJpbmcoKSk7XG5cdFx0XHRcblx0XHQvLyB9LFxuXHRcdGxvZ2luZCgpe1xuXHRcdFx0aWYoIXRoaXMudXNlclNlcnZlcil7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuacqui+k+WFpee9keermeWcsOWdgO+8jOivt+mHjeaWsOmFjee9rui+k+WFpe+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZighdGhpcy51c2VyTmFtZSl7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuacqui+k+WFpeeUqOaIt+WQje+8jOivt+mHjeaWsOi+k+WFpe+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZighdGhpcy51c2VyUHdkKXtcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLmj5DnpLpcIixjb250ZW50Olwi5pyq6L6T5YWl5a+G56CB77yM6K+36YeN5paw6L6T5YWl77yBXCIsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdC8v5qOA5p+lIFwi55m75b2V54q25oCBL+mUgeWxj+eKtuaAgVwiIOe7k+adn1xuXHRcdFx0dmFyIGxvZ2luSW5mbyA9IHtcblx0XHRcdFx0c2VydmVyOiB0aGlzLnVzZXJTZXJ2ZXIsXG5cdFx0XHRcdHVuYW1lOiB0aGlzLnVzZXJOYW1lLFxuXHRcdFx0XHRwd2Q6IHRoaXMudXNlclB3ZCxcblx0XHRcdFx0Y25hbWU6IHBsdXMuZGV2aWNlLm1vZGVsLFxuXHRcdFx0XHR0eXBlOlwiMFwiXG5cdFx0XHR9O1xuXHRcdFx0Y29uc29sZS5sb2cobG9naW5JbmZvKTtcblx0XHRcdFxuXHRcdFx0dGhpcy4kZGF0YS5sb2dpbj1cImxvYWRpbmcuLi4uLi5cIjtcblx0XHRcdC8v55m75b2VXG5cdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnbG9naW4nLGxvZ2luSW5mbykudGhlbihzdWNjZXNzPT57XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRpZiAoc3VjY2Vzcy5jb2RlID09ICcwMDAwMCcpIHtcblx0XHRcdFx0XHQvL+iuvue9ruWFqOWxgOWPguaVsO+8mnVzZXIt55So5oi35L+h5oGvXG5cdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCdzZXJ2ZXInLGxvZ2luSW5mby5zZXJ2ZXIpO1xuXHRcdFx0XHRcdC8vIHVuaS5zZXRTdG9yYWdlU3luYygnYWNjb3VudCcsbG9naW5JbmZvLnVuYW1lKTtcblx0XHRcdFx0XHQvLyB1bmkuc2V0U3RvcmFnZVN5bmMoJ3Bhc3N3b3JkJyxsb2dpbkluZm8ucHdkKTtcblx0XHRcdFx0XHQvLyB0aGlzLm11dGF0TG9naW4oe2xvZ2luaWQ6c3VjY2Vzc30pO1xuXHRcdFx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnbG9naW4nLHtcblx0XHRcdFx0XHRcdGxvZ2luaWQ6c3VjY2VzcyBcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6Jy4uL2luZGV4L2luZGV4P2FyZ3M9OTk5OTk5OTk5OSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdC8vIHVuaS5yZWRpcmVjdFRvKHtcblx0XHRcdFx0XHQvLyBcdHVybDonLi4vaW5kZXgvaW5kZXg/YXJncz05OTk5OTk5OTk5J1xuXHRcdFx0XHRcdC8vIH0pO1xuXHRcdFx0XHRcdHRoaXMubG9naW49XCLlvIDlp4vnmbvlvZVcIjtcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor69cIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdHRoaXMubG9naW49XCLlvIDlp4vnmbvlvZVcIjtcblx0XHRcdFx0fVxuXHRcdFx0fSkuY2F0Y2goZXg9Pntcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivr1wiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHR0aGlzLmxvZ2luPVwi5byA5aeL55m75b2VXCI7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH0sXG5cdG9uTG9hZCgpIHtcblx0XHRcblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///34\n");
/***/ }),
/* 35 */
@@ -1843,7 +1843,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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9GQTtBQUNBLDBCQURBLG9DQUNBLENBREEsRUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQURBOztBQUdBLEdBYkE7QUFjQSxNQWRBLGtCQWNBO0FBQ0E7QUFDQSxvQkFEQTtBQUVBLGNBRkE7O0FBSUEsR0FuQkE7QUFvQkEsUUFwQkEsa0JBb0JBLE9BcEJBLEVBb0JBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQURBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FGQSxNQUVBO0FBQ0E7QUFDQTtBQUNBLEtBUEEsRUFPQSxLQVBBLENBT0E7QUFDQTtBQUNBO0FBQ0EsS0FWQTs7QUFZQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQW5EQTtBQW9EQTtBQUNBLGFBREEscUJBQ0EsR0FEQSxFQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0VBREE7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsS0FiQTtBQWNBLFNBZEEsaUJBY0EsQ0FkQSxFQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUhBO0FBSUEsS0FwQkEsRUFwREEsRSIsImZpbGUiOiIzOS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjxzdHlsZT5cclxuXHQuY29udGVudCB7XHJcblx0XHQvKiBkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgKi9cclxuXHRcdHdpZHRoOiAxMDB2dztcclxuXHRcdGhlaWdodDogMTAwdmg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRUFFQUVBO1xyXG5cdFx0cGFkZGluZzogMXJweCAwcnB4O1xyXG5cdH1cclxuXHQudi1hcmVhe1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMTJycHg7XHJcblx0XHRtYXJnaW46IDMwcnB4O1xyXG5cdFx0cGFkZGluZzogMTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGOyAgICBcclxuXHR9XHJcblx0LmFyZWFMaXN0e1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblx0LmFyZWFMaXN0IGxpe1xyXG5cdFx0LyogYm9yZGVyOiAxcHggc29saWQgIzAwNjJDQzsgKi9cclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHQvKiB3aWR0aDogMTIwcnB4OyAqL1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0cGFkZGluZzogMzBycHggMTZycHggMTZycHggMjBycHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0fVxyXG5cdC5sb2dvIHtcclxuXHRcdGhlaWdodDogMTIwcnB4O1xyXG5cdFx0d2lkdGg6IDEyMHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMThycHg7XHJcblx0XHRjb2xvcjogIzAwMDAwMDtcclxuXHRcdGJvcmRlcjogMHB4IHNvbGlkIHJnYigyMjEsIDIyMSwgMjIxKTtcclxuXHR9XHJcblx0LmxvZ28gaXtcclxuXHRcdGNvbG9yOiAjMDAwMDAwO1xyXG5cdFx0Zm9udC1zaXplOiA0MHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDUzcHg7XHJcblx0fVxyXG5cdFxyXG48L3N0eWxlPlxyXG5cclxuPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwiY29udGVudFwiPlxyXG5cdFx0PCEtLSA8dmlldyBjbGFzcz1cInYtYXJlYVwiPlxyXG5cdFx0XHQ8cD50dHR0dHR0dHR0PC9wPlxyXG5cdFx0XHQ8dWwgY2xhc3M9XCJhcmVhTGlzdFwiPlxyXG5cdFx0XHRcdDxsaT5cclxuXHRcdFx0XHRcdDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cImxvZ29cIiA+XHJcblx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiZnUtc3lzX2xvZ1wiPjwvaT5cclxuXHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdDxwID7mlrDlop7lhYPmlbDmja48L3A+XHJcblx0XHRcdFx0PC9saT5cclxuXHRcdFx0PC91bD5cclxuXHRcdDwvdmlldz4gLS0+XHJcblx0XHRcclxuXHRcdDx2aWV3IGNsYXNzPVwidi1hcmVhXCIgdi1mb3I9XCIoYXJlYSxpbmRleCkgaW4gZGF0YVwiPlxyXG5cdFx0XHQ8cCA6ZGF0YS1rZXk9XCJhcmVhLklEXCI+e3sgYXJlYS5OYW1lIH19PC9wPlxyXG5cdFx0XHQ8dWwgY2xhc3M9XCJhcmVhTGlzdFwiPlxyXG5cdFx0XHRcdDxsaSB2LWZvcj1cIihhcHAsa2V5KSBpbiBhcmVhLkFwcFwiPlxyXG5cdFx0XHRcdFx0PGEgaHJlZj1cImphdmFzY3JpcHQ6O1wiIEB0YXA9XCJhcHBDcmVhdGUoYXBwKVwiIGNsYXNzPVwibG9nb1wiIDpzdHlsZT1cInsnYmFja2dyb3VuZC1jb2xvcic6YXBwLkJrQ29sb3IsJ2NvbG9yJzphcHAuQmtDb2xvcn1cIj5cclxuXHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJmdS1zeXNfbG9nXCIgOnN0eWxlPVwieydjb2xvcic6YXBwLlR4dENvbG9yfVwiPjwvaT5cclxuXHRcdFx0XHRcdDwvYT5cclxuXHRcdFx0XHRcdDxwIDpkYXRhLWtleT1cImFyZWEuSURcIj57eyBhcHAuTmFtZSB9fTwvcD5cclxuXHRcdFx0XHQ8L2xpPlxyXG5cdFx0XHQ8L3VsPlxyXG5cdFx0PC92aWV3PlxyXG5cdFx0XHJcblx0XHQ8IS0tIDxpbWFnZSBjbGFzcz1cImxvZ29cIiBzcmM9XCIvc3RhdGljL2xvZ28ucG5nXCI+PC9pbWFnZT5cclxuXHRcdDx2aWV3IGNsYXNzPVwidGV4dC1hcmVhXCI+XHJcblx0XHRcdDx0ZXh0IGNsYXNzPVwidGl0bGVcIj57e3RpdGxlfX08L3RleHQ+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cIlwiIHYtZm9yPVwiKHYsaW5kZXgpIGluIGRhdGFcIj5cclxuXHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgOnZhbHVlPVwidlwiIEBmb2N1cz1cIm9udGFwXCIgOmRhdGEta2V5PVwiaW5kZXhcIiAgOmtleT1cImluZGV4XCIvPlxyXG5cdFx0PC92aWV3PiAtLT5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+IFxyXG5cclxuPHNjcmlwdD5cclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRvbk5hdmlnYXRpb25CYXJCdXR0b25UYXAoZSkge1xyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRleHQpO1xyXG5cdFx0XHQvLyBjb25zb2xlLmxvZyhlLmZvbnRTaXplKTtcclxuXHRcdFx0dGhpcy4kc3RvcmUuc3RhdGUuYXJlYUZ1bmM9Jyc7XHJcblx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdChcImNsYXNzQXR0ckxpc3RcIixudWxsKTtcclxuXHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KFwiY2xhc3NHcmlkU3R5bGVJbmZvXCIsbnVsbCk7XHJcblx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdChcImRpY1ZhbHVlSW5mb1wiLG51bGwpO1xyXG5cdFx0XHQvL+WIt+aWsOW9k+WJjemhtemdolxyXG5cdFx0XHQvLyBsb2NhdGlvbi5yZWxvYWQoKTtcclxuXHRcdFx0dW5pLnJlZGlyZWN0VG8oe1xyXG5cdFx0XHRcdHVybDonLi4vaW5kZXgvaW5kZXg/YXJncz05OTk5OTk5OTk5J1xyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dGl0bGU6ICdIZWxsbycsXHJcblx0XHRcdFx0ZGF0YTpbXVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0Y29uc29sZS5sb2cob3B0aW9ucyk7XHJcblx0XHRcdFxyXG5cdFx0XHQvLyDojrflj5bmiYDmnIlBcHBUeXBlPVwiTUVTXCIsQ2xpZW50VHlwZT1cIjJcIihQREEp55qE5byV55So6aKG5Z+f5Yqf6IO954K55L+h5oGvXHJcblx0XHRcdGlmKHRoaXMuJHN0b3JlLnN0YXRlLmFyZWFGdW5jKVxyXG5cdFx0XHRcdHRoaXMuZGF0YSA9IHRoaXMuJHN0b3JlLnN0YXRlLmFyZWFGdW5jLmRhdGE7XHJcblx0XHRcdGVsc2VcclxuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnYXJlYUZ1bmMnLHt9KS50aGVuKHN1Y2Nlc3M9PntcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xyXG5cdFx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmRhdGEgPSBzdWNjZXNzLmRhdGE7XHJcblx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor69cIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pLmNhdGNoKGV4PT57XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivr1wiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcclxuXHRcdFx0Ly8gdmFyIGRhdGEgPSB7XHJcblx0XHRcdC8vIFx0XHRpbjE6XCJsbDFcIixcclxuXHRcdFx0Ly8gXHRcdGluMjpcImxsMlwiLFxyXG5cdFx0XHQvLyBcdFx0aW4zOlwibGwzXCIsXHJcblx0XHRcdC8vIFx0XHRpbjQ6XCJsbDRcIixcclxuXHRcdFx0Ly8gXHRcdGluNTpcImxsNVwiLFxyXG5cdFx0XHQvLyBcdFx0aW42OlwibGw2XCIsXHJcblx0XHRcdC8vIFx0fTtcclxuXHRcdFx0Ly8gZm9yKHZhciBpIGluIGRhdGEpXHJcblx0XHRcdC8vIFx0dGhpcy4kZGF0YS5rZXlzLnB1c2goaSlcclxuXHRcdFx0Ly8gdGhpcy4kZGF0YS5kYXRhID0gZGF0YTtcclxuXHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy4kZGF0YS5rZXlzKTtcclxuXHRcdH0sXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdGFwcENyZWF0ZShhcHApeyAvL+eCueWHu+WKn+iDveeCuei3s+i9rOmhtemdolxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGFwcCk7XHJcblx0XHRcdFx0aWYoIWFwcC5QYXJhbSl7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6XCLor6Xlip/og73ngrnmnKrphY3nva7lj4LmlbDvvIzor7fph43mlrDphY3nva7lj4LmlbDvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcclxuXHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOicuLi9tb2RhbC9jbGFzc0F0dHI/cGFyYW09JythcHAuUGFyYW0rXCImdGl0bGVuYW1lPVwiK2FwcC5OYW1lXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyB1bmkucmVkaXJlY3RUbyh7XHJcblx0XHRcdFx0Ly8gXHR1cmw6Jy4uL2luZGV4L2luZGV4P2FyZ3M9OTk5OTk5OTk5OSdcclxuXHRcdFx0XHQvLyB9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0b250YXAoZSl7IC8v5omr56CB5Yqf6IO9XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZS50YXJnZXQpXHJcblx0XHRcdFx0Z2V0QXBwKCkub25TY2FuKChyZXN1bHQpPT57XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhyZXN1bHQuZGVjb2RlZGF0YSk7XHJcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmRhdGFbZS50YXJnZXQuZGF0YXNldFsna2V5J11dPXJlc3VsdC5kZWNvZGVkYXRhO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdFxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///39\n");
/***/ }),
/* 40 */
@@ -4353,11 +4353,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 +4394,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    this.$data.title = options.titlename; //设置按钮文字\n    uni.setNavigationBarTitle({ title: options.titlename }); //设置顶部标题 \n    var param = JSON.parse(options.param);\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  },\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: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          _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:837\");\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:853\");\n        __f__(\"log\", this.$data.classAttrList, \" at pages/modal/classAttr.vue:854\");\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:884\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:886\");\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:901\");\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:988\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:990\");\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:996\");\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:1017\");\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:1137\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:1139\");\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:1229\");\n      this.$store.dispatch('DataObjRunCustomEventInfo', dataInfo).then(function (success) {\n        __f__(\"log\", success, \" at pages/modal/classAttr.vue:1231\");\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:1237\");\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:1267\");\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbW9kYWwvY2xhc3NBdHRyLnZ1ZSJdLCJuYW1lcyI6WyJjb21wb25lbnRzIiwicGlja2VyQWRkcmVzcyIsImRhdGEiLCJ0aXRsZSIsInBhcmFtIiwiY2xhc3NBdHRyTGlzdCIsImNsYXNzR3JpZFN0eWxlIiwiZWRpdF9pbml0YWxfZXZlbnQiLCJlZGl0X29rX2V2ZW50IiwiZWRpdF9zZWxlY3RfY29tcG9zZV9ldmVudCIsImVkaXRfY29tcG9zZV9jbHNfaWQiLCJnbG9iYWxfYXR0ciIsInJlZmRhdGFzdG9yZSIsIm9uTG9hZCIsIm9wdGlvbnMiLCIkZGF0YSIsInRpdGxlbmFtZSIsInVuaSIsInNldE5hdmlnYXRpb25CYXJUaXRsZSIsIkpTT04iLCJwYXJzZSIsIkVkaXREbGdNb2RlIiwic2hvd01vZGFsIiwiY29udGVudCIsInNob3dDYW5jZWwiLCJjb25maXJtVGV4dCIsIkVkaXRfZGxnIiwiTmFtZSIsImVkaXRfZGxnIiwiTW9kZWwiLCJkYXRhSW5mbyIsImNsYXNzX2lkIiwiY2xzaWQiLCIkdGhpcyIsIiRzdG9yZSIsInN0YXRlIiwidGhpc2FyZWFGdW5jSUQiLCJnZXR0ZXJzIiwiZ2V0Y2xhc3NBdHRyTGlzdCIsImNsYXNzR3JpZFN0eWxlSW5mbyIsImRpc3BhdGNoIiwidGhlbiIsInN1Y2Nlc3MiLCJjb2RlIiwibXNnIiwiY2F0Y2giLCJleCIsImVyck1zZyIsIm1ldGhvZHMiLCJncmlkc3R5bGVJbmZvIiwibmFtZSIsInR5cGUiLCJ0aGlzRWRpdE5hbWUiLCJnZXRjbGFzc0dyaWRTdHlsZUluZm8iLCJjbGFzc19hdHRyX2luaXQiLCJTdHlsZURlZiIsIm9udGFwIiwiZSIsImdldEFwcCIsIm9uU2NhbiIsInJlc3VsdCIsInRhcmdldCIsImRhdGFzZXQiLCJBdHRyIiwiVmFsdWUiLCJkZWNvZGVkYXRhIiwib25hcnJvdyIsImluZGV4Iiwib3BlbiIsIk9wZW4iLCJvbmRhdGVUaW1lIiwidmFsdWUiLCJvbmNoYW5nZSIsImRpY3RpdGVtIiwiZGF0YV9hdHRyIiwiZXZlbnRpZCIsImFjdGlvbiIsInJlcSIsImF0dHJsaXN0IiwiaSIsImxlbmd0aCIsImF0dHIiLCJqIiwiYXIiLCJUeXBlIiwicHVzaCIsInZhbCIsIlZhbElEIiwiaW5mbyIsImVkdHlwZSIsInByb2plY3RpZCIsInJjbHNpZCIsInJvYmppZCIsInVzZXJsb2dpbiIsIm9iamlkIiwiRGF0YU9ialJ1bkN1c3RvbUV2ZW50Iiwib25ldmVudCIsIm9uY2hlY2siLCJpc2NoZWNrZWQiLCJpc2NoZWNrIiwiYWRkcmVzc2NoYW5nZSIsImpvaW4iLCJjbGFzc0F0dHJfZXh0QnV0dG9uIiwiaWluZGV4IiwiYmVmb3JlX2NsaWNrX2J1dHRvbiIsImJ1dHRvbl9jYWxsYmFjayIsIkRhdGFPYmpSdW5DdXN0b21FdmVudF9SZXR1cm4iLCJjbGFzc0F0dHJfQWRkUGVyIiwibmF2aWdhdGVUbyIsInVybCIsInN0cmluZ2lmeSIsImV2ZW50cyIsIkFkZFBlciIsIkxvZ2luIiwidHJpbSIsImNsYXNzQXR0cl9BZGRSZWYiLCJjbGFzc0F0dHJfQWRkUHJqIiwiSUQiLCJzYXZhIiwiT0tEYXRhT2JqUnVuQ3VzdG9tRXZlbnQiLCJhZGQiLCJOb3RFbXB0eSIsImVudmlyb21lbnQiLCJjbHNfaWQiLCJidXR0b25fbmFtZSIsIm1hc3RlciIsImRhdGFfb2JqX2lkIiwibWFzdGVyY2xzaWQiLCJ1cGZpbGUiLCJwb3N0X2RhdGEiLCJjb21wb3NlIiwiZXh0aW5mbyIsIm5vdF90cmlnZ2VyX3N5c19ldmVudCIsInNob3dfc3R5bGUiLCJuZXdhdHRybGlzdCIsImF0dHJncm91cF9uYW1lIiwiYXR0cnMiLCJzIiwiY2xzYXR0ciIsImwiLCJjYSIsImVkaXQiLCJub3RlbXB0eSIsImV4dF9idXR0b24iLCJidXR0b25faW1nIiwiYnV0dG9uX3Rvb2x0aXAiLCJoaWRkZW4iLCJDTl9TX05BTUUiLCJub3dEYXRlIiwiRGF0ZSIsImRhdGUiLCJ5ZWFyIiwiZ2V0RnVsbFllYXIiLCJtb250aCIsImdldE1vbnRoIiwiZGF5IiwiZ2V0RGF0ZSIsInJlbENsc0xpc3QiLCJhdHRyX3Jlc2NscyIsIlJlbENscyIsInNwbGl0IiwiaWkiLCJyZXNjbHMiLCJpZCIsIlJlbENsc0xpc3QiLCJCa0NvbG9yIiwiSGFzQWNlIiwiSW1nRm9udFN0eWxlIiwiT3JkZXIiLCJjb250cm9sX3N0eWxlIiwidGl0bGVfcF93ZGl0aCIsImV2ZW50bGlzdCIsImV2ZW50IiwiZXZlbnRfaWQiLCJzY3JpcF9pZCIsImNvbXBvc2VfY2xzX2lkIiwiaW5pX0RhdGFPYmpSdW5DdXN0b21FdmVudCIsIkVkaXRTdHlsZSIsIlZpZXdTdHlsZSIsIk5vdFRyaWdnZXJTeXNFdmVudCIsImlucHV0cGFyYW1ldGVyIiwiYWN0aW9ubGlzdCIsImFjdGlvbl90eXBlIiwiZmlsdGVyIiwiZm9ybV9jb250cm9sIiwidGV4dCIsIkRpc3BOYW1lIiwiZ3JvdXBfbmFtZSIsIkdyb3VwTmFtZSIsInJlYWRvbmx5IiwiUmVhZE9ubHkiLCJyZXBsYWNlIiwiY2hvaWNlX2xpc3QiLCJjIiwiYWN0aW9ucyIsImQiLCJkaWFsb2ciLCJzaG93Iiwic3R5bGUiLCJjYWxsYmFja19ldmVudGlkIiwicHJpUmVsIiwic2VsZWN0X3JhbmdlIiwicGFyYW1fIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QVAsRUFBYW9CLE9BQU8sRUFBQ21CLE9BQU8sQ0FBQ0UsR0FBN0IsRUFBaUNwQixVQUFVLEVBQUMsS0FBNUMsRUFBa0RDLFdBQVcsRUFBQyxJQUE5RCxFQUFkO0FBQ0E7QUFDRCxPQW5JRCxFQW1JR29CLEtBbklILENBbUlTLFVBQUFDLEVBQUUsRUFBRTtBQUNaO0FBQ0E3QixXQUFHLENBQUNLLFNBQUosQ0FBYyxFQUFDbkIsS0FBSyxFQUFDLE9BQVAsRUFBZW9CLE9BQU8sRUFBQ3VCLEVBQUUsQ0FBQ0MsTUFBMUIsRUFBaUN2QixVQUFVLEVBQUMsS0FBNUMsRUFBa0RDLFdBQVcsRUFBQyxJQUE5RCxFQUFkO0FBQ0EsT0F0SUQ7QUF1SUcsS0FqOEJJLEVBakVLLEUiLCJmaWxlIjoiNDQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cblx0aW1wb3J0IHBpY2tlckFkZHJlc3MgZnJvbSAnLi4vLi4vanMvcGlja2VyQWRkcmVzcy9waWNrZXJBZGRyZXNzLnZ1ZSdcblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIHBpY2tlckFkZHJlc3NcbiAgICAgICAgfSxcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dGl0bGU6ICfmlrDlop4nLFxuXHRcdFx0XHRwYXJhbTp7fSxcblx0XHRcdFx0Y2xhc3NBdHRyTGlzdDpbXSxcblx0XHRcdFx0Y2xhc3NHcmlkU3R5bGU6W10sXG5cdFx0XHRcdGVkaXRfaW5pdGFsX2V2ZW50OlwiXCIsICAvL+W8ueeql+WIneWni+WMluS6i+S7tklEXG5cdFx0XHRcdGVkaXRfb2tfZXZlbnQ6XCJcIiwgICAgICAvL+W8ueeql+eCueWHu09LIOinpuWPkeS6i+S7tklEXG5cdFx0XHRcdGVkaXRfc2VsZWN0X2NvbXBvc2VfZXZlbnQ6XCJcIiwgIC8v6YCJ5oup57uE5oiQ5a+56LGh5pe26LCD55SoXG5cdFx0XHRcdGVkaXRfY29tcG9zZV9jbHNfaWQ6XCJcIixcblx0XHRcdFx0Z2xvYmFsX2F0dHI6W10sXG5cdFx0XHRcdHJlZmRhdGFzdG9yZTogW10sXHQgICAvL+W8leeUqOaVsOaNruWtmOWCqOWMui8vIHthdHRyOidHX1BSSl8nICsgYmluZGF0dHIgKyAnX0lEJywgdmFsdWU6aW5mby5pZH1cblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkxvYWQob3B0aW9ucykge1xuXHRcdFx0Ly8gY29uc29sZS5sb2cob3B0aW9ucyk7XG5cdFx0XHR0aGlzLiRkYXRhLnRpdGxlID0gb3B0aW9ucy50aXRsZW5hbWU7IC8v6K6+572u5oyJ6ZKu5paH5a2XXG5cdFx0XHR1bmkuc2V0TmF2aWdhdGlvbkJhclRpdGxlKHsgdGl0bGU6IG9wdGlvbnMudGl0bGVuYW1lfSk7IC8v6K6+572u6aG26YOo5qCH6aKYIFxuXHRcdFx0dmFyIHBhcmFtID0gSlNPTi5wYXJzZShvcHRpb25zLnBhcmFtKTtcblx0XHRcdC8vIGNvbnNvbGUubG9nKHBhcmFtKTtcblx0XHRcdGlmKCFwYXJhbS5FZGl0RGxnTW9kZSl7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuivpeWKn+iDveeCueacqumFjee9rue8lui+keeql+WPo++8jOivt+mHjeaWsOmFjee9ru+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHRpZighcGFyYW0uRWRpdF9kbGcuTmFtZSl7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuivpeWKn+iDveeCueacqumFjee9rueql+WPo+agt+W8j++8jOivt+mHjeaWsOmFjee9ru+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0XHR0aGlzLiRkYXRhLnBhcmFtID0gcGFyYW07XG5cdFx0XHR2YXIgZWRpdF9kbGcgPSB7XG5cdFx0XHQgICAgTW9kZWw6IHBhcmFtLkVkaXREbGdNb2RlLFxuXHRcdFx0ICAgIE5hbWU6IHBhcmFtLkVkaXRfZGxnLk5hbWVcblx0XHRcdH1cblx0XHRcdHZhciBkYXRhSW5mbyA9IHtcblx0XHRcdFx0Y2xhc3NfaWQ6IHBhcmFtLmNsc2lkXG5cdFx0XHR9O1xuXHRcdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRcdCR0aGlzLiRzdG9yZS5zdGF0ZS50aGlzYXJlYUZ1bmNJRCA9IHBhcmFtLmNsc2lkO1xuXHRcdFx0Ly8gY29uc29sZS5sb2coJHRoaXMuJHN0b3JlLmdldHRlcnMuZ2V0Y2xhc3NBdHRyTGlzdCk7XG5cdFx0XHQgLy/ojrflj5Zcblx0XHRcdGlmKCR0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldGNsYXNzQXR0ckxpc3Qpe1xuXHRcdFx0IFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdCA9ICR0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldGNsYXNzQXR0ckxpc3QuZGF0YTtcblx0XHRcdFx0JHRoaXMuY2xhc3NHcmlkU3R5bGVJbmZvKCk7XG5cdFx0XHR9ZWxzZVxuXHRcdFx0XHQkdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2NsYXNzQXR0ckxpc3QnLGRhdGFJbmZvKS50aGVuKHN1Y2Nlc3M9Pntcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhzdWNjZXNzKTtcblx0XHRcdFx0XHRpZiAoc3VjY2Vzcy5jb2RlPT0nMDAwMDAnKSB7XG5cdFx0XHRcdFx0XHQkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0ID0gc3VjY2Vzcy5kYXRhO1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQkdGhpcy5jbGFzc0dyaWRTdHlsZUluZm8oKTtcblx0XHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vMVwiLGNvbnRlbnQ6c3VjY2Vzcy5tc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGV4KTtcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzEuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdFxuXHRcdFx0XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRhc3luYyBjbGFzc0dyaWRTdHlsZUluZm8oKXtcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRcdFx0dmFyIGdyaWRzdHlsZUluZm8gPSB7XG5cdFx0XHRcdFx0Y2xhc3NfaWQ6ICR0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHRcdG5hbWU6ICR0aGlzLiRkYXRhLnBhcmFtLkVkaXRfZGxnLk5hbWUsXG5cdFx0XHRcdFx0dHlwZTogJzInXG5cdFx0XHRcdH07XG5cdFx0XHRcdCR0aGlzLiRzdG9yZS5zdGF0ZS50aGlzRWRpdE5hbWUgPSAkdGhpcy4kZGF0YS5wYXJhbS5FZGl0X2RsZy5OYW1lXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKCR0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldGNsYXNzR3JpZFN0eWxlSW5mbyk7XG5cdFx0XHRcdCAvL+iOt+WPllxuXHRcdFx0XHRpZigkdGhpcy4kc3RvcmUuZ2V0dGVycy5nZXRjbGFzc0dyaWRTdHlsZUluZm8pe1xuXHRcdFx0XHQgXHQkdGhpcy4kZGF0YS5jbGFzc0dyaWRTdHlsZSA9ICR0aGlzLiRzdG9yZS5nZXR0ZXJzLmdldGNsYXNzR3JpZFN0eWxlSW5mby5kYXRhO1xuXHRcdFx0XHRcdCR0aGlzLmNsYXNzX2F0dHJfaW5pdCgpO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHQvL2NvbnNvbGUubG9nKGdyaWRzdHlsZUluZm8pO1xuXHRcdFx0XHRcdCR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnY2xhc3NHcmlkU3R5bGVJbmZvJyxncmlkc3R5bGVJbmZvKS50aGVuKHN1Y2Nlc3M9Pntcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRcdFx0XHRzdWNjZXNzLmRhdGEuU3R5bGVEZWYgPSBKU09OLnBhcnNlKHN1Y2Nlc3MuZGF0YS5TdHlsZURlZik7XG5cdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlID0gc3VjY2Vzcy5kYXRhO1xuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0JHRoaXMuY2xhc3NfYXR0cl9pbml0KCk7XG5cdFx0XHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68xLjJcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzEuM1wiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0b250YXAoZSl7IC8v5omr56CB5Yqf6IO9XG5cdFx0XHRcdC8vY29uc29sZS5sb2coZS50YXJnZXQpXG5cdFx0XHRcdGdldEFwcCgpLm9uU2NhbigocmVzdWx0KT0+e1xuXHRcdFx0XHRcdC8vY29uc29sZS5sb2cocmVzdWx0LmRlY29kZWRhdGEpO1xuXHRcdFx0XHRcdHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT1yZXN1bHQuZGVjb2RlZGF0YTtcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRvbmFycm93KGluZGV4LG9wZW4pe1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhpbmRleCsnLS0nK29wZW4pO1xuXHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbaW5kZXhdLk9wZW49b3Blbj09dHJ1ZT9mYWxzZTp0cnVlO1xuXHRcdFx0fSxcblx0XHRcdG9uZGF0ZVRpbWUoZSkge1xuXHRcdFx0XHQvL2NvbnNvbGUubG9nKGUudGFyZ2V0KVxuXHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9ZS50YXJnZXQudmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0b25jaGFuZ2UoZSkge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHRcdHZhciB2YWx1ZT10aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uZGljdGl0ZW1bZS50YXJnZXQudmFsdWVdO1xuXHRcdFx0XHR2YXIgZGF0YV9hdHRyID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dO1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhkYXRhX2F0dHIpO1xuXHRcdFx0XHRpZiAodmFsdWUuTmFtZSAhPSBkYXRhX2F0dHIuVmFsdWUpIHtcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9dmFsdWUuTmFtZTtcblx0XHRcdFx0XHR2YXIgZXZlbnRpZCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5hY3Rpb247XG5cdFx0XHRcdFx0aWYgKGV2ZW50aWQpIHtcblx0XHRcdFx0ICAgICAgICAvLyBzZWxmLmV2ZW50X25vX3N1YiA9IDE7XG5cdFx0XHRcdCAgICAgICAgdmFyIHJlcT1bXTtcblx0XHRcdFx0ICAgICAgICB2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XG5cdFx0XHRcdCAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHQgICAgICAgIFx0dmFyIGF0dHIgPSBhdHRybGlzdFtpXS5BdHRyO1xuXHRcdFx0XHQgICAgICAgIFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdCAgICAgICAgXHRcdHZhciBhciA9IGF0dHJbal07XG5cdFx0XHRcdCAgICAgICAgXHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0ICAgICAgICBcdFx0aWYoYXIuVHlwZT09J+W8leeUqOS6uuWRmCcgfHwgYXIuVHlwZT09J+W8leeUqOmhueebricpXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbElEID9hci5WYWxJRCA6JycgfSk7XG5cdFx0XHRcdCAgICAgICAgXHRcdGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWU/JzEnOicwJ30pO1xuXHRcdFx0XHQgICAgICAgIFx0XHRlbHNlXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlID9hci5WYWx1ZSA6Jyd9KTtcblx0XHRcdFx0ICAgICAgICBcdH1cblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgdmFyIGluZm8gPSB7XG5cdFx0XHRcdCAgICAgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0XHRcdCAgICAgICAgICAgIGVkdHlwZTogXCIwXCIsXG5cdFx0XHRcdCAgICAgICAgICAgIHByb2plY3RpZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHJjbHNpZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHJvYmppZDogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIHVzZXJsb2dpbjogJycsXG5cdFx0XHRcdCAgICAgICAgICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHQgICAgICAgICAgICBvYmppZDogXCJcIixcblx0XHRcdFx0ICAgICAgICAgICAgYXR0cjogcmVxLFxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICB0aGlzLkRhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvKTtcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH0sXG5cdFx0XHRvbmV2ZW50KGUpe1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhlLnRhcmdldCk7XG5cdFx0XHRcdHZhciBkYXRhX2F0dHIgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV07XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGRhdGFfYXR0cik7XG5cdFx0XHRcdGlmIChlLnRhcmdldC52YWx1ZSAhPSBkYXRhX2F0dHIuVmFsdWUpIHtcblx0XHRcdFx0XHR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9ZS50YXJnZXQudmFsdWU7XG5cdFx0XHRcdFx0dmFyIGV2ZW50aWQgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uYWN0aW9uO1xuXHRcdFx0XHRcdGlmIChldmVudGlkKSB7XG5cdFx0XHRcdCAgICAgICAgLy8gc2VsZi5ldmVudF9ub19zdWIgPSAxO1xuXHRcdFx0XHQgICAgICAgIHZhciByZXE9W107XG5cdFx0XHRcdCAgICAgICAgdmFyIGF0dHJsaXN0ID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0O1xuXHRcdFx0XHQgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0ICAgICAgICBcdHZhciBhdHRyID0gYXR0cmxpc3RbaV0uQXR0cjtcblx0XHRcdFx0ICAgICAgICBcdGZvciAodmFyIGogPSAwOyBqIDwgYXR0ci5sZW5ndGg7IGorKykge1xuXHRcdFx0XHQgICAgICAgIFx0XHR2YXIgYXIgPSBhdHRyW2pdO1xuXHRcdFx0XHQgICAgICAgIFx0XHRpZihhci5UeXBlPT0n5byV55So5a+56LGhKOWkmuS4qiknKVxuXHRcdFx0XHQgICAgICAgIFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+3JykgYXIuVmFsdWU9Jyc7XG5cdFx0XHRcdCAgICAgICAgXHRcdGlmKGFyLlR5cGU9PSflvJXnlKjkurrlkZgnIHx8IGFyLlR5cGU9PSflvJXnlKjpobnnm64nKVxuXHRcdFx0XHQgICAgICAgIFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWxJRCA/YXIuVmFsSUQgOicnIH0pO1xuXHRcdFx0XHQgICAgICAgIFx0XHRlbHNlIGlmKGFyLlR5cGU9PSfluIPlsJTlgLwnKVxuXHRcdFx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbHVlPycxJzonMCd9KTtcblx0XHRcdFx0ICAgICAgICBcdFx0ZWxzZVxuXHRcdFx0XHQgICAgICAgIFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZSA/YXIuVmFsdWUgOicnfSk7XG5cdFx0XHRcdCAgICAgICAgXHR9XG5cdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIHZhciBpbmZvID0ge1xuXHRcdFx0XHQgICAgICAgICAgICBldmVudGlkOiBldmVudGlkLFxuXHRcdFx0XHQgICAgICAgICAgICBlZHR5cGU6IFwiMFwiLFxuXHRcdFx0XHQgICAgICAgICAgICBwcm9qZWN0aWQ6ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICByY2xzaWQ6ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICByb2JqaWQ6ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICB1c2VybG9naW46ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICBjbHNpZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcblx0XHRcdFx0ICAgICAgICAgICAgb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdCAgICAgICAgICAgIGF0dHI6IHJlcSxcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbywgZGF0YV9hdHRyKTtcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH0sXG5cdFx0XHRvbmNoZWNrKGUpIHtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZS50YXJnZXQpO1xuXHRcdFx0XHR2YXIgaXNjaGVja2VkID0gZS50YXJnZXQuZGF0YXNldC5pc2NoZWNrP2ZhbHNlOnRydWU7XG5cdFx0XHRcdHZhciBkYXRhX2F0dHIgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV07XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGRhdGFfYXR0cik7XG5cdFx0XHRcdGlmIChpc2NoZWNrZWQgIT0gZGF0YV9hdHRyLlZhbHVlKSB7XG5cdFx0XHRcdFx0dGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2UudGFyZ2V0LmRhdGFzZXRbJ2luZGV4J11dLkF0dHJbZS50YXJnZXQuZGF0YXNldFsnaWluZGV4J11dLlZhbHVlPWlzY2hlY2tlZDtcblx0XHRcdFx0XHR2YXIgZXZlbnRpZCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5hY3Rpb247XG5cdFx0XHRcdFx0aWYgKGV2ZW50aWQpIHtcblx0XHRcdFx0ICAgICAgICAvLyBzZWxmLmV2ZW50X25vX3N1YiA9IDE7XG5cdFx0XHRcdCAgICAgICAgdmFyIHJlcT1bXTtcblx0XHRcdFx0ICAgICAgICB2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3Q7XG5cdFx0XHRcdCAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHQgICAgICAgIFx0dmFyIGF0dHIgPSBhdHRybGlzdFtpXS5BdHRyO1xuXHRcdFx0XHQgICAgICAgIFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdCAgICAgICAgXHRcdHZhciBhciA9IGF0dHJbal07XG5cdFx0XHRcdCAgICAgICAgXHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0ICAgICAgICBcdFx0aWYoYXIuVHlwZT09J+W8leeUqOS6uuWRmCcgfHwgYXIuVHlwZT09J+W8leeUqOmhueebricpXG5cdFx0XHRcdCAgICAgICAgXHRcdFx0cmVxLnB1c2goeyBhdHRyOiBhci5OYW1lLCB2YWw6IGFyLlZhbElEID9hci5WYWxJRCA6JycgfSk7XG5cdFx0XHRcdCAgICAgICAgXHRcdGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXEucHVzaCh7IGF0dHI6IGFyLk5hbWUsIHZhbDogYXIuVmFsdWU/JzEnOicwJ30pO1xuXHRcdFx0XHRcdFx0XHRcdGVsc2Vcblx0XHRcdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZSA/YXIuVmFsdWUgOicnfSk7XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdCAgICAgICAgXHR9XG5cdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIHZhciBpbmZvID0ge1xuXHRcdFx0XHQgICAgICAgICAgICBldmVudGlkOiBldmVudGlkLFxuXHRcdFx0XHQgICAgICAgICAgICBlZHR5cGU6IFwiMFwiLFxuXHRcdFx0XHQgICAgICAgICAgICBwcm9qZWN0aWQ6ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICByY2xzaWQ6ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICByb2JqaWQ6ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICB1c2VybG9naW46ICcnLFxuXHRcdFx0XHQgICAgICAgICAgICBjbHNpZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcblx0XHRcdFx0ICAgICAgICAgICAgb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdCAgICAgICAgICAgIGF0dHI6IHJlcSxcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgdGhpcy5EYXRhT2JqUnVuQ3VzdG9tRXZlbnQoaW5mbyk7XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHR9LFxuXHRcdFx0YWRkcmVzc2NoYW5nZShlKSB7XG5cdFx0XHQgICAgLy8gY29uc29sZS5sb2coZS50YXJnZXQpO1xuXHRcdFx0ICAgIGNvbnNvbGUubG9nKGUuZGF0YS5qb2luKCc7JykpXG5cdFx0XHRcdHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5WYWx1ZT1lLmRhdGEuam9pbignOycpO1xuXHRcdFx0fSxcblx0XHRcdGNsYXNzQXR0cl9leHRCdXR0b24oaW5kZXgsaWluZGV4KXtcblx0XHRcdFx0dmFyICR0aGlzID0gdGhpcztcblx0XHRcdFx0dmFyIGJlZm9yZV9jbGlja19idXR0b24gPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2luZGV4XS5BdHRyW2lpbmRleF0uYmVmb3JlX2NsaWNrX2J1dHRvbjtcblx0XHRcdFx0dmFyIGJ1dHRvbl9jYWxsYmFjayA9ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbaW5kZXhdLkF0dHJbaWluZGV4XS5idXR0b25fY2FsbGJhY2s7XG5cdFx0XHRcdGlmKCFiZWZvcmVfY2xpY2tfYnV0dG9uKXtcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6XCJiZWZvcmVfY2xpY2tfYnV0dG9uLWV2ZW50X2lk5Li656m677yBXCIsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmKCFidXR0b25fY2FsbGJhY2spe1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcImJ1dHRvbl9jYWxsYmFjay1ldmVudF9pZOS4uuepuu+8gVwiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0XHR2YXIgZGF0YV9hdHRyID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2luZGV4XS5BdHRyW2lpbmRleF07XG5cdFx0XHRcdHRoaXMuRGF0YU9ialJ1bkN1c3RvbUV2ZW50X1JldHVybihiZWZvcmVfY2xpY2tfYnV0dG9uLCBkYXRhX2F0dHIsIGJ1dHRvbl9jYWxsYmFjaywgaW5kZXgsaWluZGV4KTtcblx0XHRcdH0sXG5cdFx0XHRjbGFzc0F0dHJfQWRkUGVyKGluZGV4LGlpbmRleCl7XG5cdFx0XHRcdHZhciBwYXJhbT17aW5kZXg6aW5kZXgsaWluZGV4OmlpbmRleH07XG5cdFx0XHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHR1cmw6Jy4uL3NlbHBzbi9pbmRleD9tdWxpdD1mYWxzZSZwYXJhbT0nK0pTT04uc3RyaW5naWZ5KHBhcmFtKSxcblx0XHRcdFx0XHRldmVudHM6e1xuXHRcdFx0XHRcdFx0QWRkUGVyKGRhdGEscGFyYW0peyBcblx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2cocGFyYW0pO1xuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhKTtcblx0XHRcdFx0XHRcdFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLlZhbHVlPWRhdGFbMF0uTmFtZTtcblx0XHRcdFx0XHRcdFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLlZhbElEPWRhdGFbMF0uTG9naW4rJzsnK2RhdGFbMF0uTmFtZTtcblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdHZhciBldmVudGlkID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLmFjdGlvbjtcblx0XHRcdFx0XHRcdFx0aWYgKGV2ZW50aWQpIHtcblx0XHRcdFx0XHRcdFx0ICAgIGV2ZW50aWQgPSBldmVudGlkLnRyaW0oKTtcblx0XHRcdFx0XHRcdFx0ICAgIGlmIChldmVudGlkKSB7XG5cdFx0XHRcdFx0XHRcdCAgICAgICAgdmFyIGluZm8gPSB7XG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGVkdHlwZTogXCI0XCIsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHByb2plY3RpZDogXCJcIixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgcmNsc2lkOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICByb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHVzZXJsb2dpbjogZGF0YVswXS5Mb2dpbixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgY2xzaWQ6ICR0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBvYmppZDogXCJcIixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgYXR0cjogW10sXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgZGF0YV9hdHRyID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdO1xuXHRcdFx0XHRcdFx0XHQgICAgICAgICR0aGlzLkRhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvKTtcblx0XHRcdFx0XHRcdFx0ICAgIH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9LFxuXHRcdFx0Y2xhc3NBdHRyX0FkZFJlZihlKXtcblx0XHRcdFx0Y29uc29sZS5sb2coZS50YXJnZXQpO1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6XCLmraTlip/og73ov5jmnKrlrp7njrDvvIFcIixzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0Ly8gdmFyIHZhbHVlPXRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtlLnRhcmdldC5kYXRhc2V0WydpbmRleCddXS5BdHRyW2UudGFyZ2V0LmRhdGFzZXRbJ2lpbmRleCddXS5SZWxDbHNbZS50YXJnZXQudmFsdWVdO1xuXHRcdFx0XHQvLyB0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbZS50YXJnZXQuZGF0YXNldFsnaW5kZXgnXV0uQXR0cltlLnRhcmdldC5kYXRhc2V0WydpaW5kZXgnXV0uVmFsdWU9dmFsdWU7XG5cdFx0XHR9LFxuXHRcdFx0Y2xhc3NBdHRyX0FkZFByaihpbmRleCxpaW5kZXgpe1xuXHRcdFx0XHR2YXIgcGFyYW09e2luZGV4OmluZGV4LGlpbmRleDppaW5kZXh9O1xuXHRcdFx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0dXJsOicuLi9zZWxQcmovaW5kZXg/cmVsYXRpb249LTEmcGFyYW09JytKU09OLnN0cmluZ2lmeShwYXJhbSksXG5cdFx0XHRcdFx0ZXZlbnRzOntcblx0XHRcdFx0XHRcdEFkZFBlcihkYXRhLHBhcmFtKXsgXG5cdFx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHBhcmFtKTtcblx0XHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZGF0YSk7XG5cdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5WYWx1ZT1kYXRhWzBdLk5hbWU7XG5cdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5WYWxJRD1kYXRhWzBdLklEKyc7JytkYXRhWzBdLk5hbWU7XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHR2YXIgZXZlbnRpZCA9ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5hY3Rpb247XG5cdFx0XHRcdFx0XHRcdGlmIChldmVudGlkKSB7XG5cdFx0XHRcdFx0XHRcdCAgICBldmVudGlkID0gZXZlbnRpZC50cmltKCk7XG5cdFx0XHRcdFx0XHRcdCAgICBpZiAoZXZlbnRpZCkge1xuXHRcdFx0XHRcdFx0XHQgICAgICAgIHZhciBpbmZvID0ge1xuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBldmVudGlkOiBldmVudGlkLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBlZHR5cGU6IFwiMlwiLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICBwcm9qZWN0aWQ6IGRhdGFbMF0uSUQsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIHJjbHNpZDogXCJcIixcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgcm9iamlkOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgICAgICB1c2VybG9naW46IFwiXCIsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGNsc2lkOiAkdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcblx0XHRcdFx0XHRcdFx0ICAgICAgICAgICAgb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRcdCAgICAgICAgICAgIGF0dHI6IFtdLFxuXHRcdFx0XHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQgICAgICAgIC8vIHZhciBkYXRhX2F0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3BhcmFtLmluZGV4XS5BdHRyW3BhcmFtLmlpbmRleF07XG5cdFx0XHRcdFx0XHRcdCAgICAgICAgJHRoaXMuRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pO1xuXHRcdFx0XHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0XHRzYXZhKCl7XG5cdFx0XHRcdGlmICh0aGlzLiRkYXRhLmVkaXRfb2tfZXZlbnQpXG5cdFx0XHRcdFx0dGhpcy5PS0RhdGFPYmpSdW5DdXN0b21FdmVudCgpO1xuXHRcdFx0XHRlbHNlXG5cdFx0XHRcdFx0dGhpcy5hZGQoKTtcblx0XHRcdH0sXG5cdFx0XHRhZGQoKXtcblx0XHRcdFx0dmFyIHJlcT1bXTtcblx0XHRcdFx0dmFyIGF0dHJsaXN0ID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0O1xuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGF0dHJsaXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0dmFyIGF0dHIgPSBhdHRybGlzdFtpXS5BdHRyO1xuXHRcdFx0XHRcdGZvciAodmFyIGogPSAwOyBqIDwgYXR0ci5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRcdFx0dmFyIGFyID0gYXR0cltqXTtcblx0XHRcdFx0XHRcdGlmKGFyLk5vdEVtcHR5PT0nMScpe1xuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIuaPkOekulwiLGNvbnRlbnQ6J+Wtl+aute+8micrYXIuTmFtZSsn77yM5YC85LiN6IO95Li656m677yBJyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aWYoYXIuVmFsdWU9PSfor7fpgInmi6knKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0XHRcdGlmKGFyLlR5cGU9PSflvJXnlKjlr7nosaEo5aSa5LiqKScpXG5cdFx0XHRcdFx0XHRcdGlmKGFyLlZhbHVlPT0n6K+3JykgYXIuVmFsdWU9Jyc7XG5cdFx0XHRcdCAgICAgICAgaWYoYXIuVHlwZT09J+W8leeUqOS6uuWRmCcgfHwgYXIuVHlwZT09J+W8leeUqOmhueebricpXG5cdFx0XHRcdCAgICAgICAgXHRyZXEucHVzaCh7IG5hbWU6IGFyLk5hbWUsIHZhbHVlOiBhci5WYWxJRCA/YXIuVmFsSUQgOicnIH0pO1xuXHRcdFx0XHQgICAgICAgIGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXG5cdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgbmFtZTogYXIuTmFtZSwgdmFsdWU6IGFyLlZhbHVlPycxJzonMCd9KTtcblx0XHRcdFx0XHRcdGVsc2Vcblx0XHRcdFx0XHRcdFx0cmVxLnB1c2goeyBuYW1lOiBhci5OYW1lLCB2YWx1ZTogYXIuVmFsdWUgP2FyLlZhbHVlIDonJ30pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHR2YXIgZW52aXJvbWVudCA9IHtcblx0XHRcdFx0ICAgICAnZnVuY3Rpb24nOiAnMzAwMCcsIC8vIOWKn+iDveeCuee8luWPt1xuXHRcdFx0XHQgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgICAgIC8vIOWKn+iDveeCueS4u+aVsOaNruexu+agh+ivhlxuXHRcdFx0XHQgICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXG5cdFx0XHRcdCAgICAgYnV0dG9uX25hbWU6ICfmlrDlop4nLFxuXHRcdFx0XHQgICAgIG1hc3Rlcjoge1xuXHRcdFx0XHQgICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIFxuXHRcdFx0XHQgICAgIH1cblx0XHRcdFx0fTtcblx0XHRcdFx0IFxuXHRcdFx0XHR2YXIgZGF0YUluZm89e1xuXHRcdFx0XHQgICAgY2xhc3NfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIGRhdGFfb2JqX2lkOiAnJywgbWFzdGVyY2xzaWQ6ICcnLFxuXHRcdFx0XHQgICAgcmVxOiBKU09OLnN0cmluZ2lmeShyZXEpLCB1cGZpbGU6IEpTT04uc3RyaW5naWZ5KFtdKSwgcG9zdF9kYXRhOiBKU09OLnN0cmluZ2lmeSh7fSksXG5cdFx0XHRcdCAgICBjb21wb3NlOiBKU09OLnN0cmluZ2lmeShbXSksIHJlZmRhdGFzdG9yZTogSlNPTi5zdHJpbmdpZnkoW10pLCBleHRpbmZvOiBKU09OLnN0cmluZ2lmeShlbnZpcm9tZW50KSwgXG5cdFx0XHRcdFx0bm90X3RyaWdnZXJfc3lzX2V2ZW50OiAnJ1xuXHRcdFx0XHR9O1xuXHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhSW5mbyk7XG5cdFx0XHRcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdhZGRjbGFzc2F0dHInLGRhdGFJbmZvKS50aGVuKHN1Y2Nlc3M9Pntcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhzdWNjZXNzKTtcblx0XHRcdFx0XHRpZiAoc3VjY2Vzcy5jb2RlPT0nMDAwMDAnKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmNsYXNzX2F0dHJfaW5pdCgpO1xuXHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor681XCIsY29udGVudDpzdWNjZXNzLm1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGV4PT57XG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZXgpO1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vNS4xXCIsY29udGVudDpleC5lcnJNc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHRcdGNsYXNzX2F0dHJfaW5pdCgpe1xuXHRcdFx0XHR2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnNob3dfc3R5bGVcblx0XHRcdFx0dmFyIG5ld2F0dHJsaXN0ID0gW107XG5cdFx0XHRcdGlmICh0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoID4gMCkge1xuXHRcdFx0XHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHQgICAgICAgIHZhciBvcGVuID0gYXR0cmxpc3RbaV0ub3Blbjtcblx0XHRcdFx0ICAgICAgICB2YXIgbmFtZSA9IGF0dHJsaXN0W2ldLmF0dHJncm91cF9uYW1lO1xuXHRcdFx0XHQgICAgICAgIHZhciBhdHRycyA9IGF0dHJsaXN0W2ldLmF0dHJzO1xuXHRcdFx0XHQgICAgICAgIGZvciAodmFyIHMgPSAwOyBzIDwgdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0Lmxlbmd0aDsgcysrKSB7XG5cdFx0XHRcdCAgICAgICAgICAgIHZhciBjbHNhdHRyID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W3NdO1xuXHRcdFx0XHQgICAgICAgICAgICBpZiAobmFtZSA9PSBjbHNhdHRyLk5hbWUpIHtcblx0XHRcdFx0ICAgICAgICAgICAgICAgIHZhciBhdHRyID0gW107XG5cdFx0XHRcdCAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGF0dHJzLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBjbHNhdHRyLkF0dHIubGVuZ3RoOyBsKyspIHtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNhID0gY2xzYXR0ci5BdHRyW2xdO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXR0cnNbal0uYXR0ciA9PSBjYS5OYW1lKSB7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5hY3Rpb24gPSBhdHRyc1tqXS5hY3Rpb247XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5lZGl0ID0gYXR0cnNbal0uZWRpdDtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLm5vdGVtcHR5ID0gYXR0cnNbal0ubm90ZW1wdHk7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYS5leHRfYnV0dG9uID0gYXR0cnNbal0uZXh0X2J1dHRvbjtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmJ1dHRvbl9pbWcgPSBhdHRyc1tqXS5idXR0b25faW1nO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2EuYnV0dG9uX3Rvb2x0aXAgPSBhdHRyc1tqXS5idXR0b25fdG9vbHRpcDtcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhLmJlZm9yZV9jbGlja19idXR0b24gPSBhdHRyc1tqXS5iZWZvcmVfY2xpY2tfYnV0dG9uO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2EuYnV0dG9uX2NhbGxiYWNrID0gYXR0cnNbal0uYnV0dG9uX2NhbGxiYWNrO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2EuaGlkZGVuID0gYXR0cnNbal0uaGlkZGVuO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ci5wdXNoKGNhKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZihjYS5kaWN0aXRlbSl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgZGljdGl0ZW09Y2EuZGljdGl0ZW07XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB2YXIgZGljdGl0ZW1saXN0PVtdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gZm9yICh2YXIgZCA9IDA7IGQgPCBkaWN0aXRlbS5sZW5ndGg7IGQrKykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHRkaWN0aXRlbWxpc3QucHVzaChkaWN0aXRlbVtkXS5DTl9TX05BTUUpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gY2EuZGljdGl0ZW1saXN0ID0gZGljdGl0ZW1saXN0O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2EuVmFsdWUgPSBjYS5kaWN0aXRlbVswXS5DTl9TX05BTUU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmKGNhLlR5cGU9PSfml6XmnJ8nIHx8IGNhLlR5cGU9PSfml7bpl7QnKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBub3dEYXRlID0gbmV3IERhdGUoKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBkYXRlID0ge3llYXI6IG5vd0RhdGUuZ2V0RnVsbFllYXIoKSxtb250aDogbm93RGF0ZS5nZXRNb250aCgpICsgMSxkYXk6IG5vd0RhdGUuZ2V0RGF0ZSgpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2EuVmFsdWUgPSBkYXRlLnllYXIgKyAnLScgKyAoZGF0ZS5tb250aCA+PSAxMCA/IGRhdGUubW9udGggOiAnMCcgKyBkYXRlLm1vbnRoKSArICctJyArIChkYXRlLmRheSA+PSAxMCA/IGRhdGUuZGF5IDogJzAnICsgZGF0ZS5kYXkpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZihjYS5UeXBlPT0n5byV55So5a+56LGhKOWkmuS4qiknKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciByZWxDbHNMaXN0PVtdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGF0dHJfcmVzY2xzID0gY2EuUmVsQ2xzLnNwbGl0KCcsJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3IodmFyIGlpIGluIGF0dHJfcmVzY2xzKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIHJlc2NscyA9IGF0dHJfcmVzY2xzW2lpXS5zcGxpdCgnfCcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZWxDbHNMaXN0LnB1c2goe2lkOnJlc2Nsc1swXSxuYW1lOnJlc2Nsc1sxXX0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2EuUmVsQ2xzTGlzdCA9IHJlbENsc0xpc3Q7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjYS5WYWx1ZSA9ICfor7cnO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZihjYS5UeXBlPT0n55yB5biC5Yy6Jylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNhLlZhbHVlID0gJ+ivt+mAieaLqSc7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYoY2EuVHlwZT09J+W4g+WwlOWAvCcpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjYS5WYWx1ZSA9IGZhbHNlO1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgICAgICAgICAgbmV3YXR0cmxpc3QucHVzaCh7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgQmtDb2xvcjogY2xzYXR0ci5Ca0NvbG9yLFxuXHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIEhhc0FjZTogY2xzYXR0ci5IYXNBY2UsXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgSW1nRm9udFN0eWxlOiBjbHNhdHRyLkltZ0ZvbnRTdHlsZSxcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBOYW1lOiBjbHNhdHRyLk5hbWUsXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgT3JkZXI6IGNsc2F0dHIuT3JkZXIsXG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgT3Blbjogb3Blbixcblx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBBdHRyOiBhdHRyLFxuXHRcdFx0XHRcdFx0XHRcdFx0Y29udHJvbF9zdHlsZTp0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLmNvbnRyb2xfc3R5bGUsXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZV9wX3dkaXRoOnRoaXMuJGRhdGEuY2xhc3NHcmlkU3R5bGUuU3R5bGVEZWYudGl0bGVfcF93ZGl0aFxuXHRcdFx0XHQgICAgICAgICAgICAgICAgfSlcblx0XHRcdFx0ICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0ICAgIGlmIChuZXdhdHRybGlzdC5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdCAgICAgICAgdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0ID0gbmV3YXR0cmxpc3Q7XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdFx0dmFyIHJlcT1bXTtcblx0XHRcdFx0ICAgIGlmICh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmKSB7XG5cdFx0XHRcdCAgICAgICAgIGlmICh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnNob3dfc3R5bGUubGVuZ3RoID4gMCkge1xuXHRcdFx0XHQgICAgICAgICAgICB2YXIgYXR0cmxpc3QgPSB0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlLlN0eWxlRGVmLnNob3dfc3R5bGVcblx0XHRcdFx0ICAgICAgICAgICAgLy8gJGVsLmZpbmQoJy5hdHRyX2ZpZWxkJykucHJvcCgncmVhZG9ubHknLCB0cnVlKTtcblx0XHRcdFx0ICAgICAgICAgICAgLy8gJGVsLmZpbmQoJy5hdHRyX2ZpZWxkJykucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTtcblx0XHRcdFx0ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgdmFyIGF0dHIgPSBhdHRybGlzdFtpXS5hdHRyc1xuXHRcdFx0XHQgICAgICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgdmFyIGFyID0gYXR0cltqXTtcblx0XHRcdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuYXR0ciwgdmFsOiBhci52YWx1ZT9hci52YWx1ZTonJyB9KTtcblx0XHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0ICAgICAgICAgICAgfVxuXHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHR9XHRcblx0XHRcdFx0XHRcblx0XHRcdFx0XHR2YXIgZXZlbnRsaXN0ID0gdGhpcy4kZGF0YS5jbGFzc0dyaWRTdHlsZS5TdHlsZURlZi5ldmVudDtcblx0XHRcdFx0XHRpZiAoZXZlbnRsaXN0KSB7XG5cdFx0XHRcdFx0ICAgIGlmIChldmVudGxpc3QubGVuZ3RoID4gMCkge1xuXHRcdFx0XHRcdCAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudGxpc3QubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHQgICAgICAgICAgICBpZiAoZXZlbnRsaXN0W2ldLmV2ZW50X2lkID09ICdiZWZvcmVfb2snKSB7XG5cdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRoaXMuJGRhdGEuZWRpdF9va19ldmVudCA9IGV2ZW50bGlzdFtpXTtcblx0XHRcdFx0XHQgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50bGlzdFtpXS5ldmVudF9pZCA9PSAnaW5pdGlhbCcpIHtcblx0XHRcdFx0XHQgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5lZGl0X2luaXRhbF9ldmVudCA9IGV2ZW50bGlzdFtpXTtcblx0XHRcdFx0XHQgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50bGlzdFtpXS5ldmVudF9pZCA9PSAnYmVmb3JlX3NlbGVjdF9jb21wb3NlJykge1xuXHRcdFx0XHRcdCAgICAgICAgICAgICAgICB0aGlzLiRkYXRhLmVkaXRfc2VsZWN0X2NvbXBvc2VfZXZlbnQgPSBldmVudGxpc3RbaV0uc2NyaXBfaWQ7XG5cdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRoaXMuJGRhdGEuZWRpdF9jb21wb3NlX2Nsc19pZCA9IGV2ZW50bGlzdFtpXS5jb21wb3NlX2Nsc19pZDtcblx0XHRcdFx0XHQgICAgICAgICAgICB9XG5cdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcSk7XG5cdFx0XHRcdFx0aWYgKHRoaXMuJGRhdGEuZWRpdF9pbml0YWxfZXZlbnQpIHtcblx0XHRcdFx0XHQgICAgdmFyIGV2ZW50aWQgPSB0aGlzLiRkYXRhLmVkaXRfaW5pdGFsX2V2ZW50LnNjcmlwX2lkO1xuXHRcdFx0XHRcdCAgICB2YXIgaW5mbyA9IHtcblx0XHRcdFx0XHQgICAgICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0XHRcdFx0ICAgICAgICBlZHR5cGU6IFwiMFwiLFxuXHRcdFx0XHRcdCAgICAgICAgcHJvamVjdGlkOiAnJyxcblx0XHRcdFx0XHQgICAgICAgIHJjbHNpZDogJycsXG5cdFx0XHRcdFx0ICAgICAgICByb2JqaWQ6ICcnLFxuXHRcdFx0XHRcdCAgICAgICAgdXNlcmxvZ2luOiAnJyxcblx0XHRcdFx0XHQgICAgICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdFx0XHRcdCAgICAgICAgb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdFx0ICAgICAgICBhdHRyOiByZXEsXG5cdFx0XHRcdFx0ICAgIH1cblx0XHRcdFx0XHQgICAgdGhpcy5pbmlfRGF0YU9ialJ1bkN1c3RvbUV2ZW50KGluZm8pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLiRkYXRhLmNsYXNzR3JpZFN0eWxlKTtcblx0XHRcdFx0XHRjb25zb2xlLmxvZyh0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QpO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi5o+Q56S6XCIsY29udGVudDpcIuacquaJvuWIsOWPr+aYvuekuueahOeahOWxnuaAp1wiLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aW5pX0RhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvKXtcblx0XHRcdFx0dmFyIHBhcmFtID0ge1xuXHRcdFx0XHQgICAgRWRpdFN0eWxlOiB0aGlzLiRkYXRhLnBhcmFtLkVkaXRfZGxnLk5hbWUsXG5cdFx0XHRcdCAgICBWaWV3U3R5bGU6IHRoaXMuJGRhdGEucGFyYW0uRWRpdF9kbGcuTmFtZSxcblx0XHRcdFx0ICAgIE5vdFRyaWdnZXJTeXNFdmVudDogMCxcblx0XHRcdFx0ICAgIGVudmlyb21lbnQ6IHtcblx0XHRcdFx0ICAgICAgICAnZnVuY3Rpb24nOiAnMzAwMCcsIC8vIOWKn+iDveeCuee8luWPt1xuXHRcdFx0XHQgICAgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgICAgIC8vIOWKn+iDveeCueS4u+aVsOaNruexu+agh+ivhlxuXHRcdFx0XHQgICAgICAgICdidXR0b24nOiAndG9wJywgICAvLyB0b3AvYm90dG9tXG5cdFx0XHRcdCAgICAgICAgYnV0dG9uX25hbWU6ICfmlrDlop4nLFxuXHRcdFx0XHQgICAgICAgIG1hc3Rlcjoge1xuXHRcdFx0XHQgICAgICAgICAgICBjbHNfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEY2xzX2lkXG5cdFx0XHRcdCAgICAgICAgICAgIC8vb2JqX2lkOiAnJyAgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRvYmpfaWRcblx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdH1cblx0XHRcdFx0dmFyIGlucHV0cGFyYW1ldGVyID0gJyc7XG5cdFx0XHRcdHZhciBnbG9iYWxfYXR0ciA9ICcnO1xuXHRcdFx0XHRcblx0XHRcdFx0dmFyIGRhdGFJbmZvID0ge1xuICAgICAgICAgICAgICAgICAgICBlZHR5cGU6IGluZm8uZWR0eXBlLCBldmVudGlkOiBpbmZvLmV2ZW50aWQsIHByb2plY3RpZDogaW5mby5wcm9qZWN0aWQsXG4gICAgICAgICAgICAgICAgICAgIHJjbHNpZDogaW5mby5yY2xzaWQsIHJvYmppZDogaW5mby5yb2JqaWQsIHVzZXJsb2dpbjogaW5mby51c2VybG9naW4sIGNsc2lkOiBpbmZvLmNsc2lkLCBvYmppZDogaW5mby5vYmppZCxcbiAgICAgICAgICAgICAgICAgICAgYXR0cjogSlNPTi5zdHJpbmdpZnkoaW5mby5hdHRyKSwgZXh0aW5mbzogSlNPTi5zdHJpbmdpZnkocGFyYW0pLCBpbnB1dHBhcmFtZXRlcjogaW5wdXRwYXJhbWV0ZXIsIGdsb2JhbF9hdHRyOiBnbG9iYWxfYXR0clxuICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0Y29uc29sZS5sb2coZGF0YUluZm8pO1xuXHRcdFx0XHR0aGlzLiRzdG9yZS5kaXNwYXRjaCgnRGF0YU9ialJ1bkN1c3RvbUV2ZW50SW5mbycsZGF0YUluZm8pLnRoZW4oc3VjY2Vzcz0+e1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHN1Y2Nlc3MpO1xuXHRcdFx0XHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcblx0XHRcdFx0XHRcdHZhciBkYXRhID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEpO1xuXHRcdFx0XHRcdFx0dmFyIGFjdGlvbmxpc3QgPSBkYXRhLmFjdGlvbjtcblx0XHRcdFx0XHRcdGlmIChhY3Rpb25saXN0KSB7XG5cdFx0XHRcdFx0XHQgICAgZm9yICh2YXIgaiA9IDA7IGogPCBhY3Rpb25saXN0Lmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciBhY3Rpb24gPSBhY3Rpb25saXN0W2pdXG5cdFx0XHRcdFx0XHQgICAgICAgIHZhciBhY3Rpb25fdHlwZSA9IGFjdGlvbi5hY3Rpb25fdHlwZTtcblx0XHRcdFx0XHRcdCAgICAgICAgdmFyIHZhbHVlID0gYWN0aW9uLnZhbHVlO1xuXHRcdFx0XHRcdFx0ICAgICAgICBpZiAoYWN0aW9uX3R5cGUgPT0gJ3NldF9kbGdfYXR0cicpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHZhciB2YWwgPSB2YWx1ZTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIHZhbCA9IEpTT04ucGFyc2UodmFsdWUpO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2codmFsKTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvciAodmFyIGwgPSAwOyBsIDwgdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0LkF0dHIubGVuZ3RoOyBsKyspIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgdmFyIGNhID0gdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0LkF0dHJbbF07XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIGlmICh2YWxbaV0uYXR0ciAgPT0gY2EuTmFtZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgY2EudmFsdWUgPSB2YWxbaV0udmFsdWU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyBpZiAoJGVsX2F0dHIuZGF0YSgndHlwZScpID09ICdib29sJykge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyAgICAgJGVsX2F0dHIucHJvcCgnY2hlY2tlZCcsIHZhbFtpXS52YWx1ZSA9PSAnWScgfHwgdmFsW2ldLnZhbHVlID09ICd5JyB8fCB2YWxbaV0udmFsdWUgPT0gJzEnKVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyB9XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIC8vIGVsc2Uge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKHZhbFtpXS5jaG9pY2VfbGlzdCkge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICRlbF9hdHRyLmVtcHR5KCk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgdmFsW2ldLmNob2ljZV9saXN0LmZvckVhY2goZnVuY3Rpb24gKGxpc3QpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICAgJGVsX2F0dHIuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPVwiJyArIGxpc3QgKyAnXCI+JyArIGxpc3QgKyAnPC9vcHRpb24+Jyk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgfSlcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgLy8gICAgICRlbF9hdHRyLnZhbCh2YWxbaV0udmFsdWUpO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAvLyB9XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIC8vICRlbF9hdHRyLmRhdGEoJ3ZhbCcsIHZhbFtpXS52YWx1ZSk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIHZhciBsZW5ndGggPSAwO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmZpbHRlcihmdW5jdGlvbiAocykge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbFtpXS5hdHRyID09IHMuYXR0clxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICB9KS5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9IDE7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5wdXNoKHZhbFtpXSk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA9PSAwKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2pdLmF0dHIgPT0gdmFsW2ldLmF0dHIpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0udmFsdWUgPSB2YWxbaV0udmFsdWU7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIGlmIChhY3Rpb25fdHlwZSA9ICdvcGVuX3NlbGVjdF91c2VyZGxnJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor68yLjJcIixjb250ZW50Olwib3Blbl9zZWxlY3RfdXNlcmRsZ+i/meS4qmFjdGlvbl90eXBl6L+Y5pyq5aSE55CG77yBXCIsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHRcdCAgICB9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vMlwiLGNvbnRlbnQ6c3VjY2Vzcy5tc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaChleD0+e1xuXHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKGV4KTtcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzIuMVwiLGNvbnRlbnQ6ZXguZXJyTXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0ICAgIERhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvLGRhdGFfYXR0cil7XG5cdFx0XHRcdHZhciAkdGhpcyA9IHRoaXM7XG5cdFx0ICAgIFx0dmFyIGVudmlyb21lbnQgPSB7XG5cdFx0ICAgIFx0ICAgICdmdW5jdGlvbic6ICczMDAwJywgLy8g5Yqf6IO954K557yW5Y+3XG5cdFx0ICAgIFx0ICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgICAgIC8vIOWKn+iDveeCueS4u+aVsOaNruexu+agh+ivhlxuXHRcdCAgICBcdCAgICAnYnV0dG9uJzogJ3RvcCcsICAgLy8gdG9wL2JvdHRvbVxuXHRcdCAgICBcdCAgICBidXR0b25fbmFtZTogJ+aWsOWinicsXG5cdFx0ICAgIFx0ICAgIG1hc3Rlcjoge1xuXHRcdCAgICBcdCAgICAgICAgY2xzX2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLCAvLyBidXR0b249Ym90dG9t5pe2IG1hc3RlcueahGNsc19pZFxuXHRcdCAgICBcdCAgICAgICAgLy9vYmpfaWQ6ICcnICAvLyBidXR0b249Ym90dG9t5pe2IG1hc3RlcueahG9ial9pZFxuXHRcdCAgICBcdCAgICB9XG5cdFx0ICAgIFx0fTtcblx0XHQgICAgXHRpZihkYXRhX2F0dHIpe1xuXHRcdFx0XHRcdGVudmlyb21lbnQuZWRpdF9kbGcgPSB7XG5cdFx0XHRcdFx0ICAgIHR5cGU6ICdzbWFsbCcsLy/lsI/nqpflj6Ncblx0XHRcdFx0XHQgICAgY2xhc3NfaWQ6IHRoaXMuJGRhdGEucGFyYW0uY2xzaWQsLy/lvZPliY3mlbDmja7nsbtpZFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoZGF0YV9hdHRyKSB7XG5cdFx0XHRcdFx0ICAgIGVudmlyb21lbnQuZWRpdF9kbGcuZm9ybV9jb250cm9sID0gey8v5omA5bGe55qE6KGo5Y2V5o6n5Lu2XG5cdFx0XHRcdFx0ICAgICAgICBuYW1lOiBkYXRhX2F0dHIuTmFtZSwvL+Wtl+auteWxnuaAp1xuXHRcdFx0XHRcdCAgICAgICAgdGV4dDogZGF0YV9hdHRyLkRpc3BOYW1lLC8v5pi+56S65paH5pysXG5cdFx0XHRcdFx0ICAgICAgICBncm91cF9uYW1lOiBkYXRhX2F0dHIuR3JvdXBOYW1lLC8v5bGe5oCn57uEXG5cdFx0XHRcdFx0ICAgICAgICB0eXBlOiBkYXRhX2F0dHIuVHlwZSwvL+Wtl+auteexu+Wei1xuXHRcdFx0XHRcdCAgICAgICAgcmVhZG9ubHk6IGRhdGFfYXR0ci5SZWFkT25seSwvL+aYr+WQpuWPquivu1xuXHRcdFx0XHRcdCAgICAgICAgYnV0dG9uX2ltZzogZGF0YV9hdHRyLmJ1dHRvbl9pbWcsLy/lvJXnlKjmjInpkq7nmoTlm77moIdcblx0XHRcdFx0XHQgICAgICAgIGJ1dHRvbl90b29sdGlwOiBkYXRhX2F0dHIuYnV0dG9uX3Rvb2x0aXAvL+W8leeUqOaMiemSrueahHRvb2x0aXBcblx0XHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdCAgICBcdHZhciBkYXRhSW5mbyA9IHtcblx0XHQgICAgICAgICAgICBlZHR5cGU6IGluZm8uZWR0eXBlLCBldmVudGlkOiBpbmZvLmV2ZW50aWQsIHByb2plY3RpZDogaW5mby5wcm9qZWN0aWQucmVwbGFjZSgneycsJycpLnJlcGxhY2UoJ30nLCcnKSxcblx0XHQgICAgICAgICAgICByY2xzaWQ6IGluZm8ucmNsc2lkLCByb2JqaWQ6IGluZm8ucm9iamlkLCB1c2VybG9naW46IGluZm8udXNlcmxvZ2luLCBjbHNpZDogaW5mby5jbHNpZCwgb2JqaWQ6IGluZm8ub2JqaWQsXG5cdFx0ICAgICAgICAgICAgYXR0cjogSlNPTi5zdHJpbmdpZnkoaW5mby5hdHRyKSwgZXh0aW5mbzogSlNPTi5zdHJpbmdpZnkoZW52aXJvbWVudCksIGlucHV0cGFyYW1ldGVyOiAnJywgZ2xvYmFsX2F0dHI6IEpTT04uc3RyaW5naWZ5KHRoaXMuJGRhdGEuZ2xvYmFsX2F0dHIpXG5cdFx0ICAgICAgICB9XG5cdFx0ICAgIFx0Y29uc29sZS5sb2coZGF0YUluZm8pO1xuXHRcdCAgICBcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdEYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvJyxkYXRhSW5mbykudGhlbihzdWNjZXNzPT57XG5cdFx0ICAgIFx0XHRjb25zb2xlLmxvZyhzdWNjZXNzKTtcblx0XHQgICAgXHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcblx0XHRcdFx0XHRcdHZhciBkYXRhID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEpO1xuXHRcdCAgICBcdFx0XHR2YXIgYWN0aW9ubGlzdCA9IGRhdGEuYWN0aW9uO1xuXHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0ICAgIFx0XHRcdGlmIChhY3Rpb25saXN0KSB7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGFjdGlvbmxpc3QpO1xuXHRcdCAgICBcdFx0XHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhY3Rpb25saXN0Lmxlbmd0aDsgaSsrKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgdmFyIGFjdGlvbiA9IGFjdGlvbmxpc3RbaV07XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgaWYgKGFjdGlvbi5hY3Rpb25fdHlwZSA9PSAnc2V0X2RsZ19hdHRyJykge1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICB2YXIgcmVzdWx0ID0gYWN0aW9uLnZhbHVlO1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXN1bHRbaV0uY2hvaWNlX2xpc3QpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmb3IgKHZhciBjID0gMDsgYyA8ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoOyBjKyspIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBhdHRyID0gJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtjXS5BdHRyO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9yICh2YXIgaiA9IDA7IGogPCBhdHRyLmxlbmd0aDsgaisrKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmKGF0dHJbal0uTmFtZT09cmVzdWx0W2ldLmF0dHIpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmKGF0dHJbal0uVHlwZT09J+Wtl+WFuCcgfHwgYXR0cltqXS5UeXBlPT0n5a2X5YW4LeWtl+espuS4sicpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0YXR0cltqXS5kaWN0aXRlbSA9IHJlc3VsdFtpXS5jaG9pY2VfbGlzdDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBmb3IgKHZhciBjID0gMDsgYyA8ICR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3QubGVuZ3RoOyBjKyspIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIFx0dmFyIGF0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2NdLkF0dHI7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBcdGZvciAodmFyIGogPSAwOyBqIDwgYXR0ci5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coYXR0cltqXS5OYW1lKyc9PScrcmVzdWx0W2ldLmF0dHIpO1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgXHRcdGlmKGF0dHJbal0uTmFtZT09cmVzdWx0W2ldLmF0dHIpe1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgXHRcdFx0YXR0cltqXS5WYWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIFx0XHR9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBcdH1cblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyIGxlbmd0aCA9IDA7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBpZiAoISR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0W2ldLmF0dHIgPT0gcy5hdHRyXG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICB9KS5sZW5ndGgpIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSAxO1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5wdXNoKHJlc3VsdFtpXSk7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICBpZiAobGVuZ3RoID09IDApIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8ICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGg7IGorKykge1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2pdLmF0dHIgPT0gcmVzdWx0W2ldLmF0dHIpIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS52YWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgfVxuXHRcdCAgICBcdFx0XHQgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5hY3Rpb25baV0uYWN0aW9uX3R5cGUgPT0gJ3NldF9nbG9iYWxfYXR0cicpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICR0aGlzLiRkYXRhLmdsb2JhbF9hdHRyID0gZGF0YS5hY3Rpb25baV0udmFsdWUgfHwgW107XG5cdFx0XHRcdFx0XHQgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgIH1cblx0XHQgICAgXHRcdFx0fVxuXHRcdCAgICBcdFx0XHRcblx0XHQgICAgXHRcdFx0aWYgKGRhdGEucmVzdWx0KSB7XG5cdFx0ICAgIFx0XHRcdCAgICB2YXIgcmVzdWx0ID0gZGF0YS5yZXN1bHQ7XG5cdFx0ICAgIFx0XHRcdCAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7IGkrKykge1xuXHRcdCAgICBcdFx0XHQgICAgICAgIGZvciAodmFyIGMgPSAwOyBjIDwgJHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdC5sZW5ndGg7IGMrKykge1xuXHRcdCAgICBcdFx0XHQgICAgICAgIFx0dmFyIGF0dHIgPSAkdGhpcy4kZGF0YS5jbGFzc0F0dHJMaXN0W2NdLkF0dHI7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgXHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICBcdFx0aWYoYXR0cltqXS5OYW1lPT1yZXN1bHRbaV0uYXR0cil7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgXHRcdFx0YXR0cltqXS5WYWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcblx0XHQgICAgXHRcdFx0ICAgICAgICBcdFx0fVxuXHRcdCAgICBcdFx0XHQgICAgICAgIFx0fVxuXHRcdCAgICBcdFx0XHQgICAgICAgIH1cblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0XHR2YXIgbGVuZ3RoID0gMDtcblx0XHQgICAgXHRcdFx0ICAgICAgICBpZiAoISR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFtpXS5hdHRyID09IHMuYXR0clxuXHRcdCAgICBcdFx0XHQgICAgICAgIH0pLmxlbmd0aCkge1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICBsZW5ndGggPSAxO1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUucHVzaChyZXN1bHRbaV0pO1xuXHRcdCAgICBcdFx0XHQgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICBpZiAobGVuZ3RoID09IDApIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCAkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUubGVuZ3RoOyBqKyspIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIGlmICgkdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbal0uYXR0ciA9PSByZXN1bHRbaV0uYXR0cikge1xuXHRcdCAgICBcdFx0XHQgICAgICAgICAgICAgICAgICAgICR0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS52YWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgfVxuXHRcdCAgICBcdFx0XHQgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgIH1cblx0XHQgICAgXHRcdFx0fVxuXHRcdCAgICBcdFx0fWVsc2V7XG5cdFx0ICAgIFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vM1wiLGNvbnRlbnQ6c3VjY2Vzcy5tc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0ICAgIFx0XHR9XG5cdFx0ICAgIFx0fSkuY2F0Y2goZXg9Pntcblx0XHQgICAgXHRcdC8vIGNvbnNvbGUubG9nKGV4KTtcblx0XHQgICAgXHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vMy4xXCIsY29udGVudDpleC5lcnJNc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0ICAgIFx0fSk7XG5cdFx0ICAgIH0sXG5cdFx0XHRPS0RhdGFPYmpSdW5DdXN0b21FdmVudCgpe1xuXHRcdCAgICBcdHZhciBlbnZpcm9tZW50ID0ge1xuXHRcdFx0XHQgICAgJ2Z1bmN0aW9uJzogJzMwMDAnLCAvLyDlip/og73ngrnnvJblj7dcblx0XHRcdFx0ICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgICAgIC8vIOWKn+iDveeCueS4u+aVsOaNruexu+agh+ivhlxuXHRcdFx0XHQgICAgJ2J1dHRvbic6ICd0b3AnLCAgIC8vIHRvcC9ib3R0b21cblx0XHRcdFx0ICAgIGJ1dHRvbl9uYW1lOiAn5paw5aKeJyxcblx0XHRcdFx0ICAgIG1hc3Rlcjoge1xuXHRcdFx0XHQgICAgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRjbHNfaWRcblx0XHRcdFx0ICAgICAgICBcblx0XHRcdFx0ICAgIH1cblx0XHRcdFx0fTtcblx0XHQgICAgXHRcblx0XHRcdFx0dmFyIGV2ZW50aWQgPSB0aGlzLiRkYXRhLmVkaXRfb2tfZXZlbnQuc2NyaXBfaWQ7XG5cdFx0XHRcdHZhciByZXE9W107XG5cdFx0XHRcdHZhciBhdHRybGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdDtcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdHZhciBhdHRyID0gYXR0cmxpc3RbaV0uQXR0cjtcblx0XHRcdFx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0XHRcdHZhciBhciA9IGF0dHJbal07XG5cdFx0XHRcdFx0XHRpZihhci5WYWx1ZT09J+ivt+mAieaLqScpIGFyLlZhbHVlPScnO1xuXHRcdFx0XHRcdFx0aWYoYXIuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJylcblx0XHRcdFx0XHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0ICAgICAgICBpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcblx0XHRcdFx0ICAgICAgICBcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWxJRCA/YXIuVmFsSUQgOicnIH0pO1xuXHRcdFx0XHQgICAgICAgIGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXG5cdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZT8nMSc6JzAnfSk7XG5cdFx0XHRcdFx0XHRlbHNlXG5cdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZSB9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0ICAgIFx0aWYgKHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aCA+IDApIHtcblx0XHQgICAgXHQgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5sZW5ndGg7IGkrKykge1xuXHRcdCAgICBcdCAgICAgICAgaWYgKCFyZXEuZmlsdGVyKGZ1bmN0aW9uIChzKSB7XG5cdFx0ICAgIFx0ICAgICAgICAgICAgcmV0dXJuIHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2ldLmF0dHIgPT0gcy5uYW1lXG5cdFx0ICAgIFx0ICAgICAgICB9KS5sZW5ndGgpIHtcblx0XHQgICAgXHQgICAgICAgICAgICBsZW5ndGggPSAxO1xuXHRcdCAgICBcdCAgICAgICAgICAgIHJlcS5wdXNoKHsgJ2F0dHInOiB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtpXS5hdHRyLCAndmFsJzogdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbaV0udmFsdWUgfSk7XG5cdFx0ICAgIFx0ICAgICAgICB9XG5cdFx0ICAgIFx0ICAgIH1cblx0XHQgICAgXHR9XG5cdFx0ICAgIFx0dmFyIGluZm8gPSB7XG5cdFx0ICAgIFx0ICAgIGV2ZW50aWQ6IGV2ZW50aWQsXG5cdFx0ICAgIFx0ICAgIGVkdHlwZTogXCIwXCIsXG5cdFx0ICAgIFx0ICAgIHByb2plY3RpZDogJycsXG5cdFx0ICAgIFx0ICAgIHJjbHNpZDogJycsXG5cdFx0ICAgIFx0ICAgIHJvYmppZDogJycsXG5cdFx0ICAgIFx0ICAgIHVzZXJsb2dpbjogJycsXG5cdFx0ICAgIFx0ICAgIGNsc2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLFxuXHRcdCAgICBcdCAgICBvYmppZDogXCJcIixcblx0XHQgICAgXHQgICAgYXR0cjogcmVxLFxuXHRcdCAgICBcdH1cblx0XHQgICAgXHR2YXIgZGF0YUluZm8gPSB7XG5cdFx0ICAgICAgICAgICAgZWR0eXBlOiBpbmZvLmVkdHlwZSwgZXZlbnRpZDogaW5mby5ldmVudGlkLCBwcm9qZWN0aWQ6IGluZm8ucHJvamVjdGlkLHJjbHNpZDogaW5mby5yY2xzaWQsIFxuXHRcdFx0XHRcdHJvYmppZDogaW5mby5yb2JqaWQsIHVzZXJsb2dpbjogaW5mby51c2VybG9naW4sIGNsc2lkOiBpbmZvLmNsc2lkLCBvYmppZDogaW5mby5vYmppZCxcblx0XHRcdFx0XHRhdHRyOiBKU09OLnN0cmluZ2lmeShpbmZvLmF0dHIpLCBleHRpbmZvOiBKU09OLnN0cmluZ2lmeShlbnZpcm9tZW50KSwgZ2xvYmFsX2F0dHI6IEpTT04uc3RyaW5naWZ5KHRoaXMuJGRhdGEuZ2xvYmFsX2F0dHIpXG5cdFx0ICAgICAgICB9XG5cdFx0ICAgIFx0Y29uc29sZS5sb2coZGF0YUluZm8pO1xuXHRcdCAgICBcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdEYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvJyxkYXRhSW5mbykudGhlbihzdWNjZXNzPT57XG5cdFx0ICAgIFx0XHRjb25zb2xlLmxvZyhzdWNjZXNzKTtcblx0XHQgICAgXHRcdGlmIChzdWNjZXNzLmNvZGU9PScwMDAwMCcpIHtcblx0XHRcdFx0XHRcdHZhciBkYXRhID0gSlNPTi5wYXJzZShzdWNjZXNzLmRhdGEpO1x0XHRcblx0XHQgICAgXHRcdFx0dmFyIHJlc3VsdCA9IGRhdGEucmVzdWx0O1xuXHRcdCAgICBcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7IGkrKykge1xuXHRcdCAgICBcdFx0XHQgICAgLy8gc2VsZi5jbGFzc19hdHRyX2VsZS5maW5kKCcuYXR0cl9maWVsZFtkYXRhLWZpZWxkPVwiJyArIHJlc3VsdFtpXS5hdHRyICsgJ1wiXScpLnZhbChyZXN1bHRbaV0udmFsdWUpLmRhdGEoJ3ZhbCcsIHJlc3VsdFtpXS52YWx1ZSk7XG5cdFx0ICAgIFx0XHRcdCAgICB2YXIgbGVuZ3RoID0gMDtcblx0XHQgICAgXHRcdFx0ICAgIGlmICghdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUuZmlsdGVyKGZ1bmN0aW9uIChzKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgcmV0dXJuIHJlc3VsdFtpXS5hdHRyID09IHMuYXR0clxuXHRcdCAgICBcdFx0XHQgICAgfSkubGVuZ3RoKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgbGVuZ3RoID0gMTtcblx0XHQgICAgXHRcdFx0ICAgICAgICB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZS5wdXNoKHJlc3VsdFtpXSk7XG5cdFx0ICAgIFx0XHRcdCAgICB9XG5cdFx0ICAgIFx0XHRcdCAgICBpZiAobGVuZ3RoID09IDApIHtcblx0XHQgICAgXHRcdFx0ICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aDsgaisrKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgIGlmICh0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS5hdHRyID09IHJlc3VsdFtpXS5hdHRyKSB7XG5cdFx0ICAgIFx0XHRcdCAgICAgICAgICAgICAgICB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtqXS52YWx1ZSA9IHJlc3VsdFtpXS52YWx1ZTtcblx0XHQgICAgXHRcdFx0ICAgICAgICAgICAgfVxuXHRcdCAgICBcdFx0XHQgICAgICAgIH1cblx0XHQgICAgXHRcdFx0ICAgIH1cblx0XHQgICAgXHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR0aGlzLmFkZCgpO1xuXHRcdCAgICBcdFx0fWVsc2V7XG5cdFx0ICAgIFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vNFwiLGNvbnRlbnQ6c3VjY2Vzcy5tc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0ICAgIFx0XHR9XG5cdFx0ICAgIFx0fSkuY2F0Y2goZXg9Pntcblx0XHQgICAgXHRcdC8vIGNvbnNvbGUubG9nKGV4KTtcblx0XHQgICAgXHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vNC4xXCIsY29udGVudDpleC5lcnJNc2csc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0ICAgIFx0fSk7XG5cdFx0ICAgIH0sXG5cdFx0ICAgIERhdGFPYmpSdW5DdXN0b21FdmVudF9SZXR1cm4oZXZlbnRpZCxkYXRhX2F0dHIsYnV0dG9uX2NhbGxiYWNrLGluZGV4LGlpbmRleCl7XG5cdFx0XHRcdHZhciBlbnZpcm9tZW50ID0ge1xuXHRcdFx0XHQgICAgJ2Z1bmN0aW9uJzogJzMwMDAnLCAvLyDlip/og73ngrnnvJblj7dcblx0XHRcdFx0ICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgICAgIC8vIOWKn+iDveeCueS4u+aVsOaNruexu+agh+ivhlxuXHRcdFx0XHQgICAgJ2J1dHRvbic6ICd0b3AnLCAgIC8vIHRvcC9ib3R0b21cblx0XHRcdFx0ICAgIGJ1dHRvbl9uYW1lOiAn5paw5aKeJyxcblx0XHRcdFx0ICAgIG1hc3Rlcjoge1xuXHRcdFx0XHQgICAgICAgIGNsc19pZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgLy8gYnV0dG9uPWJvdHRvbeaXtiBtYXN0ZXLnmoRjbHNfaWRcblx0XHRcdFx0ICAgICAgICAvL29ial9pZDogJycgIC8vIGJ1dHRvbj1ib3R0b23ml7YgbWFzdGVy55qEb2JqX2lkXG5cdFx0XHRcdCAgICB9XG5cdFx0XHRcdH07XG5cdFx0XHRcdHZhciByZXE9W107XG5cdFx0XHRcdHZhciBhdHRybGlzdCA9IHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdDtcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBhdHRybGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdHZhciBhdHRyID0gYXR0cmxpc3RbaV0uQXR0cjtcblx0XHRcdFx0XHRmb3IgKHZhciBqID0gMDsgaiA8IGF0dHIubGVuZ3RoOyBqKyspIHtcblx0XHRcdFx0XHRcdHZhciBhciA9IGF0dHJbal07XG5cdFx0XHRcdFx0XHRpZihhci5WYWx1ZT09J+ivt+mAieaLqScpIGFyLlZhbHVlPScnO1xuXHRcdFx0XHRcdFx0aWYoYXIuVHlwZT09J+W8leeUqOWvueixoSjlpJrkuKopJylcblx0XHRcdFx0XHRcdFx0aWYoYXIuVmFsdWU9PSfor7cnKSBhci5WYWx1ZT0nJztcblx0XHRcdFx0ICAgICAgICBpZihhci5UeXBlPT0n5byV55So5Lq65ZGYJyB8fCBhci5UeXBlPT0n5byV55So6aG555uuJylcblx0XHRcdFx0ICAgICAgICBcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWxJRCA/YXIuVmFsSUQgOicnIH0pO1xuXHRcdFx0XHQgICAgICAgIGVsc2UgaWYoYXIuVHlwZT09J+W4g+WwlOWAvCcpXG5cdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZT8nMSc6JzAnfSk7XG5cdFx0XHRcdFx0XHRlbHNlXG5cdFx0XHRcdFx0XHRcdHJlcS5wdXNoKHsgYXR0cjogYXIuTmFtZSwgdmFsOiBhci5WYWx1ZSB9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmUubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0ICAgICAgICBpZiAoIXJlcS5maWx0ZXIoZnVuY3Rpb24gKHMpIHtcblx0XHRcdFx0ICAgICAgICAgICAgcmV0dXJuIHRoaXMuJGRhdGEucmVmZGF0YXN0b3JlW2ldLmF0dHIgPT0gcy5uYW1lXG5cdFx0XHRcdCAgICAgICAgfSkubGVuZ3RoKSB7XG5cdFx0XHRcdCAgICAgICAgICAgIGxlbmd0aCA9IDE7XG5cdFx0XHRcdCAgICAgICAgICAgIHJlcS5wdXNoKHsgJ2F0dHInOiB0aGlzLiRkYXRhLnJlZmRhdGFzdG9yZVtpXS5hdHRyLCAndmFsJzogdGhpcy4kZGF0YS5yZWZkYXRhc3RvcmVbaV0udmFsdWUgfSk7XG5cdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHQgICAgfVxuXHRcdFx0XHR9XG5cdFx0XHRcdHZhciBleHRpbmZvID0gZW52aXJvbWVudDtcblx0XHRcdFx0ZXh0aW5mby5lZGl0X2RsZyA9IHtcblx0XHRcdFx0ICAgIHR5cGU6ICdzbWFsbCcsLy/lsI/nqpflj6Ncblx0XHRcdFx0ICAgIGNsYXNzX2lkOiB0aGlzLiRkYXRhLnBhcmFtLmNsc2lkLC8v5b2T5YmN5pWw5o2u57G7aWRcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoZGF0YV9hdHRyKSB7XG5cdFx0XHRcdCAgICBleHRpbmZvLmVkaXRfZGxnLmZvcm1fY29udHJvbCA9IHsvL+aJgOWxnueahOihqOWNleaOp+S7tlxuXHRcdFx0XHQgICAgICAgIG5hbWU6IGRhdGFfYXR0ci5OYW1lLC8v5a2X5q615bGe5oCnXG5cdFx0XHRcdCAgICAgICAgdGV4dDogZGF0YV9hdHRyLkRpc3BOYW1lLC8v5pi+56S65paH5pysXG5cdFx0XHRcdCAgICAgICAgZ3JvdXBfbmFtZTogZGF0YV9hdHRyLkdyb3VwTmFtZSwvL+WxnuaAp+e7hFxuXHRcdFx0XHQgICAgICAgIHR5cGU6IGRhdGFfYXR0ci5UeXBlLC8v5a2X5q6157G75Z6LXG5cdFx0XHRcdCAgICAgICAgcmVhZG9ubHk6IGRhdGFfYXR0ci5SZWFkT25seSwvL+aYr+WQpuWPquivu1xuXHRcdFx0XHQgICAgICAgIGJ1dHRvbl9pbWc6IGRhdGFfYXR0ci5idXR0b25faW1nLC8v5byV55So5oyJ6ZKu55qE5Zu+5qCHXG5cdFx0XHRcdCAgICAgICAgYnV0dG9uX3Rvb2x0aXA6IGRhdGFfYXR0ci5idXR0b25fdG9vbHRpcC8v5byV55So5oyJ6ZKu55qEdG9vbHRpcFxuXHRcdFx0XHQgICAgfVxuXHRcdFx0XHR9XG5cdFx0XHRcdHZhciBkYXRhSW5mbyA9IHtcblx0XHRcdFx0XHRlZHR5cGU6ICBcIjBcIiwgZXZlbnRpZDogZXZlbnRpZCwgcHJvamVjdGlkOiAnJyxyY2xzaWQ6ICcnLCByb2JqaWQ6ICcnLCB1c2VybG9naW46ICcnLCBcblx0XHRcdFx0XHRjbHNpZDogdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCwgb2JqaWQ6ICcnLGF0dHI6IEpTT04uc3RyaW5naWZ5KHJlcSksIFxuXHRcdFx0XHRcdGV4dGluZm86IEpTT04uc3RyaW5naWZ5KGV4dGluZm8pLCBnbG9iYWxfYXR0cjogSlNPTi5zdHJpbmdpZnkodGhpcy4kZGF0YS5nbG9iYWxfYXR0cilcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhSW5mbyk7XG5cdFx0XHRcdHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdEYXRhT2JqUnVuQ3VzdG9tRXZlbnRJbmZvJyxkYXRhSW5mbykudGhlbihzdWNjZXNzPT57XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coc3VjY2Vzcyk7XG5cdFx0XHRcdFx0aWYgKHN1Y2Nlc3MuY29kZT09JzAwMDAwJykge1xuXHRcdFx0XHRcdFx0dmFyIGRhdGEgPSBKU09OLnBhcnNlKHN1Y2Nlc3MuZGF0YSk7XG5cdFx0XHRcdFx0XHRpZiAoZGF0YSAhPSBcIlwiKSB7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHR2YXIgYWN0aW9ucyA9IGRhdGEuYWN0aW9uO1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coYWN0aW9ucyk7XG5cdFx0XHRcdFx0XHRpZiAoYWN0aW9ucykge1xuXHRcdFx0XHRcdFx0ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYWN0aW9ucy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRcdFx0ICAgICAgICB2YXIgYWN0aW9uID0gYWN0aW9uc1tpXTtcblx0XHRcdFx0XHRcdCAgICAgICAgdmFyIHZhbCA9IGFjdGlvbi52YWx1ZTtcblx0XHRcdFx0XHRcdCAgICAgICAgdmFyIGVudmlyb21lbnQgPSBKU09OLnN0cmluZ2lmeShlbnZpcm9tZW50KTtcblx0XHRcdFx0XHRcdCAgICAgICAgXG5cdFx0XHRcdFx0XHQgICAgICAgIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ29wZW5fcGFuZWwnKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgIHZhciBkID0gZGlhbG9nKHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgIHRpdGxlOiAnPGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4gJyArICfmj5DnpLonLFxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgY29udGVudDogYWN0aW9uLmFjdGlvbl90eXBlICsgJ+atpGFjdGlvbuWwmuacquWkhOeQhu+8gSdcblx0XHRcdFx0XHRcdCAgICAgICAgICAgfSk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgIGQuc2hvdygpO1xuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgICAgIGVsc2UgaWYgKGFjdGlvbi5hY3Rpb25fdHlwZSA9PSAnb3Blbl9zZWxlY3RfdXNlcmRsZycpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBzdHlsZSA9IHZhbC5zdHlsZTtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIHN0eWxlID09ICd1c2VyJyA/ICfpgInmi6nkurrlkZgnIDogc3R5bGUgPT0gJ2RlcGFydG1lbnQnID8gJ+mAieaLqemDqOmXqCcgOiBzdHlsZSA9PSAncm9sZScgPyAn6YCJ5oup6KeS6ImyJyA6ICcnXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB2YXIgJHRoaXMgPSB0aGlzO1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIHBhcmFtPXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aW5kZXg6IGluZGV4LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpaW5kZXg6aWluZGV4LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRidXR0b25fY2FsbGJhY2s6YnV0dG9uX2NhbGxiYWNrLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXE6cmVxLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRkYXRhX2F0dHI6ZGF0YV9hdHRyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdHVybDonLi4vc2VscHNuL2luZGV4P211bGl0PWZhbHNlJnBhcmFtPScrSlNPTi5zdHJpbmdpZnkocGFyYW0pLFxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRldmVudHM6e1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdEFkZFBlcihkYXRhLHBhcmFtKXsgXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdFx0XHQvLyBjb25zb2xlLmxvZyhwYXJhbSk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdFx0XHRjb25zb2xlLmxvZyhkYXRhKTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIFx0XHRcdHZhciBjYWxsYmFja19ldmVudGlkID0gcGFyYW0uYnV0dG9uX2NhbGxiYWNrLnRyaW0oKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBpbmZvID0ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIGV2ZW50aWQ6IGNhbGxiYWNrX2V2ZW50aWQsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgZWR0eXBlOiBcIjBcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICBwcm9qZWN0aWQ6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIHJjbHNpZDogJycsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgcm9iamlkOiAnJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICB1c2VybG9naW46ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIGNsc2lkOiAkdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICBvYmppZDogXCJcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICBhdHRyOiBwYXJhbS5yZXEsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgaW5wdXRwYXJhbWV0ZXI6IGRhdGFcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCR0aGlzLkRhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvLCBwYXJhbS5kYXRhX2F0dHIpO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgXHRcdH1cblx0XHRcdFx0XHRcdCAgICAgICAgICAgIFx0fVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgfSk7XHRcblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICBlbHNlIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ29wZW5fZGF0YV9xdWVyeV9kbGcnKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICBlbHNlIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ29wZW5fY29tbW9uX2RsZycpIHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciB2YWx1ZSA9IGFjdGlvbi52YWx1ZTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBkID0gZGlhbG9nKHtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICB0aXRsZTogJzxpIGNsYXNzPVwiYWNlLWljb24gZmEgZmEtaW5mby1jaXJjbGVcIj48L2k+ICcgKyAn5o+Q56S6Jyxcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBjb250ZW50OiBhY3Rpb24uYWN0aW9uX3R5cGUgKyAn5q2kYWN0aW9u5bCa5pyq5aSE55CG77yBJ1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgfSk7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBkLnNob3coKTtcblx0XHRcdFx0XHRcdCAgICAgICAgfVxuXHRcdFx0XHRcdFx0ICAgICAgICBlbHNlIGlmIChhY3Rpb24uYWN0aW9uX3R5cGUgPT0gJ29wZW5fcHJvamVjdF9xdWVyeV9kbGcnKSB7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAvL2NvbnNvbGUubG9nKGFjdGlvbi52YWx1ZS5zZWxlY3RfcmFuZ2UpO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhhY3Rpb24udmFsdWUubXVsaXRfc2VsZWN0KTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIHZhciBwcmlSZWwgPSAnLTEnO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgaWYgKGFjdGlvbi52YWx1ZS5zZWxlY3RfcmFuZ2UgPT0gJ+WFqOmDqOebuOWFsycpXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgcHJpUmVsID0gJzAnO1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgZWxzZSBpZiAoYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5oiR6LSf6LSj55qE6aG555uuJylcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBwcmlSZWwgPSAnMSc7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBlbHNlIGlmIChhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICfmiJHliJvlu7rnmoQnKVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHByaVJlbCA9ICcyJztcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGVsc2UgaWYgKGFjdGlvbi52YWx1ZS5zZWxlY3RfcmFuZ2UgPT0gJ+aIkeWPguS4jueahCcgfHwgYWN0aW9uLnZhbHVlLnNlbGVjdF9yYW5nZSA9PSAn5oiR5Y+C5Yqg55qEJylcblx0XHRcdFx0XHRcdCAgICAgICAgICAgICAgICBwcmlSZWwgPSAnMyc7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBlbHNlIGlmIChhY3Rpb24udmFsdWUuc2VsZWN0X3JhbmdlID09ICfmiJHlhbPms6jnmoQnKVxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHByaVJlbCA9ICc0Jztcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGVsc2UgaWYgKGFjdGlvbi52YWx1ZS5zZWxlY3RfcmFuZ2UgPT0gJ+aIkeS4i+WxnueahOmhueebricpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHByaVJlbCA9ICc1Jztcblx0XHRcdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0XHR2YXIgJHRoaXMgPSB0aGlzO1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIHBhcmFtXz17XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGluZGV4OiBpbmRleCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWluZGV4OmlpbmRleCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0YnV0dG9uX2NhbGxiYWNrOmJ1dHRvbl9jYWxsYmFjayxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVxOnJlcVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6Jy4uL3NlbFByai9pbmRleD9yZWxhdGlvbj0nK3ByaVJlbCsnJnBhcmFtPScrSlNPTi5zdHJpbmdpZnkocGFyYW1fKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZXZlbnRzOntcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRBZGRQZXIoZGF0YSxwYXJhbSl7IFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0JHRoaXMuJGRhdGEuY2xhc3NBdHRyTGlzdFtwYXJhbS5pbmRleF0uQXR0cltwYXJhbS5paW5kZXhdLlZhbHVlPWRhdGFbMF0uTmFtZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCR0aGlzLiRkYXRhLmNsYXNzQXR0ckxpc3RbcGFyYW0uaW5kZXhdLkF0dHJbcGFyYW0uaWluZGV4XS5WYWxJRD1kYXRhWzBdLklEKyc7JytkYXRhWzBdLk5hbWU7XG5cdFx0XHRcdFx0XHQgICAgICAgICAgICBcdFx0XHR2YXIgY2FsbGJhY2tfZXZlbnRpZCA9IHBhcmFtLmJ1dHRvbl9jYWxsYmFjay50cmltKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoY2FsbGJhY2tfZXZlbnRpZCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgIHZhciBpbmZvID0ge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBldmVudGlkOiBjYWxsYmFja19ldmVudGlkLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBlZHR5cGU6IFwiMlwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICBwcm9qZWN0aWQ6IGRhdGFbMF0uSUQsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIHJjbHNpZDogXCJcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgcm9iamlkOiBcIlwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICAgICB1c2VybG9naW46IFwiXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIGNsc2lkOiAkdGhpcy4kZGF0YS5wYXJhbS5jbHNpZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICAgICAgb2JqaWQ6IFwiXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgIGF0dHI6IHBhcmFtLnJlcSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgICB9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ICAgICR0aGlzLkRhdGFPYmpSdW5DdXN0b21FdmVudChpbmZvKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0ICAgICAgICB9IGVsc2Uge1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgdmFyIGQgPSBkaWFsb2coe1xuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIHRpdGxlOiAnPGkgY2xhc3M9XCJhY2UtaWNvbiBmYSBmYS1pbmZvLWNpcmNsZVwiPjwvaT4gJyArICfmj5DnpLonLFxuXHRcdFx0XHRcdFx0ICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGFjdGlvbi5hY3Rpb25fdHlwZSArICfmraRhY3Rpb27lsJrmnKrlpITnkIbvvIEnXG5cdFx0XHRcdFx0XHQgICAgICAgICAgICB9KTtcblx0XHRcdFx0XHRcdCAgICAgICAgICAgIGQuc2hvdygpO1xuXHRcdFx0XHRcdFx0ICAgICAgICB9XG5cdFx0XHRcdFx0XHQgICAgfVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe3RpdGxlOlwi6ZSZ6K+vNS4yXCIsY29udGVudDogJ+iwg+eUqCBiZWZvcmVfY2xpY2tfYnV0dG9uIOiEmuacrOi/lOWbnuepuu+8jGV2ZW50X2lkJyArIGV2ZW50aWQsc2hvd0NhbmNlbDpmYWxzZSxjb25maXJtVGV4dDpcIuWPlua2iFwifSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHt0aXRsZTpcIumUmeivrzVcIixjb250ZW50OnN1Y2Nlc3MubXNnLHNob3dDYW5jZWw6ZmFsc2UsY29uZmlybVRleHQ6XCLlj5bmtohcIn0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuY2F0Y2goZXg9Pntcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhleCk7XG5cdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7dGl0bGU6XCLplJnor681LjFcIixjb250ZW50OmV4LmVyck1zZyxzaG93Q2FuY2VsOmZhbHNlLGNvbmZpcm1UZXh0Olwi5Y+W5raIXCJ9KTtcblx0XHRcdFx0fSk7XG5cdFx0ICAgIH0sXG5cdFx0ICAgIFxuXHRcdFx0XG5cdFx0fVxuXHR9XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///44\n");
/***/ }),
/* 45 */
@@ -5271,7 +5275,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 +5379,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 +5549,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 +5730,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 */