1 |
- {"remainingRequest":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\boman-framwork\\ruoyi-ui\\src\\components\\DynamicProcessNodeConfig\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\boman-framwork\\ruoyi-ui\\src\\components\\DynamicProcessNodeConfig\\index.vue","mtime":1619607677254},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\boman-framwork\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJFOi9ib21hbi1mcmFtd29yay9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQiKS5kZWZhdWx0OwoKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucmVkdWNlLmpzIik7CgpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm51bWJlci5jb25zdHJ1Y3Rvci5qcyIpOwoKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmZ1bmN0aW9uLm5hbWUuanMiKTsKCnZhciBfY29tcGxleFBvcCA9IF9pbnRlcm9wUmVxdWlyZURlZmF1bHQocmVxdWlyZSgiQC9jb21wb25lbnRzL2NvbXBsZXhQb3AiKSk7Cgp2YXIgX1J1bGVDb25maWcgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIkAvY29tcG9uZW50cy9SdWxlQ29uZmlnIikpOwoKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIF9kZWZhdWx0MiA9IHsKICBuYW1lOiAiRHluYW1pY1Byb2Nlc3NOb2RlQ29uZmlnIiwKICBjb21wb25lbnRzOiB7CiAgICBjb21wbGV4UG9wOiBfY29tcGxleFBvcC5kZWZhdWx0LAogICAgUnVsZUNvbmZpZzogX1J1bGVDb25maWcuZGVmYXVsdAogIH0sCiAgcHJvcHM6IHsKICAgIGNvbmZpZ0RhdGE6IHsKICAgICAgdHlwZTogT2JqZWN0LAogICAgICBkZWZhdWx0OiBmdW5jdGlvbiBfZGVmYXVsdCgpIHsKICAgICAgICByZXR1cm4ge307CiAgICAgIH0KICAgIH0sCiAgICBUQUJMRV9JRDoge30sCiAgICAvL+aooeeJiOesrOS4gOatpemFjee9ruihqOaVsOaNrgogICAgbm9kZToge30sCiAgICAvL+W9k+WJjeiKgueCuQogICAgc3RhdHVzOiBudWxsLAogICAgcmVqZWN0ZWROb2RlczogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9LAogICAgYXNzaWduZWROb2RlczogewogICAgICB0eXBlOiBBcnJheSwKICAgICAgZGVmYXVsdDogZnVuY3Rpb24gX2RlZmF1bHQoKSB7CiAgICAgICAgcmV0dXJuIFtdOwogICAgICB9CiAgICB9LAogICAgcmVhZE9ubHk6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwoKICAgIHJldHVybiB7CiAgICAgIC8v6IqC54K56KGo55qE6YWN572uCiAgICAgIHRhYmxlQ29uZmlnOiB7CiAgICAgICAgcHJvcHM6IHsKICAgICAgICAgIGNvbHVtbnNLZXk6IFsnTkFNRSddLAogICAgICAgICAgQXV0b0RhdGE6IFtdLAogICAgICAgICAgaGlkZWNvbHVtbnM6IFsnaWQnXSwKICAgICAgICAgIGRhdGE6IHt9LAogICAgICAgICAgdG90YWxSb3dDb3VudDogMCwKICAgICAgICAgIGRlZmF1bHRTZWxlY3RlZDogW10sCiAgICAgICAgICBpc0JhY2tSb3dJdGVtOiB0cnVlCiAgICAgICAgfSwKICAgICAgICBldmVudDogewogICAgICAgICAgJ29uLWlucHV0LXZhbHVlLWNoYW5nZSc6IGZ1bmN0aW9uIG9uSW5wdXRWYWx1ZUNoYW5nZSh2YWx1ZSkgewogICAgICAgICAgICAvLyDlpJbplK7nmoTmqKHns4rmkJzntKIKICAgICAgICAgICAgX3RoaXMudGFibGVDb25maWcucHJvcHMuQXV0b0RhdGEgPSBbXTsKCiAgICAgICAgICAgIF90aGlzLiRuZXR3b3JrLnBvc3QoJy9wL2MvbWV0YS90YWJsZS9saXN0JywgewogICAgICAgICAgICAgIERFU0NSSVBUSU9OOiB2YWx1ZQogICAgICAgICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgICAgICAgLy8gdGhpcy5yb3cgPSByZXMuZGF0YS5kYXRhLnJvdy5jb25jYXQoW10pCiAgICAgICAgICAgICAgICBfdGhpcy50YWJsZUNvbmZpZy5wcm9wcy5BdXRvRGF0YSA9IHJlcy5kYXRhLmRhdGEucm93LnJlZHVjZShmdW5jdGlvbiAoYXJyLCBpdGVtKSB7CiAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5OQU1FLnZhbCwKICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5JRC52YWwsCiAgICAgICAgICAgICAgICAgICAgTkFNRTogaXRlbS5ERVNDUklQVElPTi52YWwKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIHJldHVybiBhcnI7CiAgICAgICAgICAgICAgICB9LCBbXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sCiAgICAgICAgICAnb24tcG9wcGVyLXNob3cnOiBmdW5jdGlvbiBvblBvcHBlclNob3coJHRoaXMpIHsKICAgICAgICAgICAgLy8g5b2T5aSW6ZSu5LiL5ouJ56uZ5byA5aeL5Y676K+35rGC5pWw5o2uCiAgICAgICAgICAgIC8vIHRoaXMuZnJlc2hEcm9wRG93blNlbGVjdEZpbHRlckRhdGEoJHRoaXMpCiAgICAgICAgICAgIF90aGlzLiRuZXR3b3JrLnBvc3QoJy9wL2MvbWV0YS90YWJsZS9saXN0JywgewogICAgICAgICAgICAgIHBhZ2VTaXplOiAkdGhpcy5wYWdlU2l6ZSwKICAgICAgICAgICAgICBwYWdlOiAxCiAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgIGlmIChyZXMuZGF0YS5jb2RlID09PSAwKSB7CiAgICAgICAgICAgICAgICByZXMuZGF0YS5kYXRhLnRhYnRoLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29sbmFtZSA9PT0gJ0RFU0NSSVBUSU9OJykgewogICAgICAgICAgICAgICAgICAgIGl0ZW0uaXNhayA9IHRydWU7CiAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBfdGhpcy50YWJsZUNvbmZpZy5wcm9wcy5kYXRhID0gcmVzLmRhdGEuZGF0YTsKICAgICAgICAgICAgICAgIF90aGlzLnRhYmxlQ29uZmlnLnByb3BzLnRvdGFsUm93Q291bnQgPSByZXMuZGF0YS5kYXRhLnRvdGFsUm93Q291bnQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sCiAgICAgICAgICAnb24tcGFnZS1jaGFuZ2UnOiBmdW5jdGlvbiBvblBhZ2VDaGFuZ2UoY3VycmVudFBhZ2UsICR0aGlzKSB7CiAgICAgICAgICAgIC8vIOWklumUrueahOWIhumhteafpeivogogICAgICAgICAgICAvLyB0aGlzLmZyZXNoRHJvcERvd25TZWxlY3RGaWx0ZXJEYXRhKCR0aGlzLGN1cnJlbnRQYWdlKQogICAgICAgICAgICBfdGhpcy4kbmV0d29yay5wb3N0KCcvcC9jL21ldGEvdGFibGUvbGlzdCcsIHsKICAgICAgICAgICAgICBwYWdlU2l6ZTogJHRoaXMucGFnZVNpemUsCiAgICAgICAgICAgICAgcGFnZTogY3VycmVudFBhZ2UKICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmNvZGUgPT09IDApIHsKICAgICAgICAgICAgICAgIHJlcy5kYXRhLmRhdGEudGFidGguZm9yRWFjaChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgICBpZiAoaXRlbS5jb2xuYW1lID09PSAnREVTQ1JJUFRJT04nKSB7CiAgICAgICAgICAgICAgICAgICAgaXRlbS5pc2FrID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIF90aGlzLnRhYmxlQ29uZmlnLnByb3BzLmRhdGEgPSByZXMuZGF0YS5kYXRhOwogICAgICAgICAgICAgICAgX3RoaXMudGFibGVDb25maWcucHJvcHMudG90YWxSb3dDb3VudCA9IHJlcy5kYXRhLmRhdGEudG90YWxSb3dDb3VudDsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSwKICAgICAgICAgICdvbi1ibHVyJzogZnVuY3Rpb24gb25CbHVyKGV2ZW50LCBpbnN0YW5jZSkgey8vIGlmKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0aGlzLmRhdGEuYnVzaW5lc3NUeXBlKSAhPT0gJ1tvYmplY3QgQXJyYXldJyB8fCB0aGlzLmRhdGEuYnVzaW5lc3NUeXBlLmxlbmd0aCA9PT0gMCl7CiAgICAgICAgICAgIC8vICAgaW5zdGFuY2UuaW5wdXRWYWx1ZSA9ICcnCiAgICAgICAgICAgIC8vICAgLyoKICAgICAgICAgICAgLy8gICAgIHRvZG8KICAgICAgICAgICAgLy8gICAgIOa4heepuuaJgOacieWSjOS4u+ihqOacieWFs+eahOaVsOaNrgogICAgICAgICAgICAvLyAgICovCiAgICAgICAgICAgIC8vIH0KICAgICAgICAgIH0sCiAgICAgICAgICAnb24tZmtycC1zZWxlY3RlZCc6IGZ1bmN0aW9uIG9uRmtycFNlbGVjdGVkKHZhbHVlKSB7CiAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgX3RoaXMuY29uZmlnRGF0YS5ub2RlRm9ybSA9IHZhbHVlWzBdLnJvd0l0ZW0uTkFNRS52YWwgPyB2YWx1ZVswXS5yb3dJdGVtLk5BTUUudmFsIDogdmFsdWVbMF0ucm93SXRlbS5OQU1FOwogICAgICAgICAgICAgIF90aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1JZCA9IHZhbHVlWzBdLklEOwogICAgICAgICAgICAgIF90aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1OYW1lID0gdmFsdWVbMF0uTGFiZWw7CgogICAgICAgICAgICAgIF90aGlzLmdldFZpc2libGVCdXR0b25zKCk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgX3RoaXMuY29uZmlnRGF0YS5ub2RlRm9ybSA9IG51bGw7CiAgICAgICAgICAgICAgX3RoaXMuY29uZmlnRGF0YS5ub2RlRm9ybUlkID0gbnVsbDsKICAgICAgICAgICAgICBfdGhpcy5jb25maWdEYXRhLm5vZGVGb3JtTmFtZSA9IG51bGw7CiAgICAgICAgICAgIH0gLy8g5riF6Zmk5pyJ5YWz5a2X5q615pWw5o2uCgoKICAgICAgICAgICAgX3RoaXMub25DbGVhcigpOwoKICAgICAgICAgICAgX3RoaXMubW9kaWZ5RmllbGQuZGVmYXVsdFNlbGVjdGVkID0gW107CiAgICAgICAgICAgIF90aGlzLmNvbmZpZ0RhdGEuYmVoaW5kRXZlbnQgPSBbXTsKICAgICAgICAgICAgX3RoaXMuY29uZmlnRGF0YS5wcmVFdmVudCA9IFtdOwogICAgICAgICAgICBfdGhpcy5jb25maWdEYXRhLmluZXZpdGFibGVFeHRzID0gW107CiAgICAgICAgICAgIF90aGlzLmNvbmZpZ0RhdGEudmlzaWJsZUJ0ID0gW107CiAgICAgICAgICB9LAogICAgICAgICAgJ29uLWNsZWFyJzogZnVuY3Rpb24gb25DbGVhcigpIHsKICAgICAgICAgICAgLy8g5riF6Zmk5pyJ5YWz5a2X5q615pWw5o2uCiAgICAgICAgICAgIF90aGlzLm9uQ2xlYXIoKTsKCiAgICAgICAgICAgIF90aGlzLm1vZGlmeUZpZWxkLmRlZmF1bHRTZWxlY3RlZCA9IFtdOwogICAgICAgICAgICBfdGhpcy5jb25maWdEYXRhLmJlaGluZEV2ZW50ID0gW107CiAgICAgICAgICAgIF90aGlzLmNvbmZpZ0RhdGEucHJlRXZlbnQgPSBbXTsKICAgICAgICAgICAgX3RoaXMuY29uZmlnRGF0YS5pbmV2aXRhYmxlRXh0cyA9IFtdOwogICAgICAgICAgICBfdGhpcy5jb25maWdEYXRhLnZpc2libGVCdCA9IFtdOwogICAgICAgICAgICBfdGhpcy5jb25maWdEYXRhLm5vZGVGb3JtID0gbnVsbDsKICAgICAgICAgICAgX3RoaXMuY29uZmlnRGF0YS5ub2RlRm9ybUlkID0gbnVsbDsKICAgICAgICAgICAgX3RoaXMuY29uZmlnRGF0YS5ub2RlRm9ybU5hbWUgPSBudWxsOwogICAgICAgICAgICBfdGhpcy50YWJsZUNvbmZpZy5wcm9wcy5BdXRvRGF0YSA9IFtdOwoKICAgICAgICAgICAgX3RoaXMuJG5ldHdvcmsucG9zdCgnL3AvYy9tZXRhL3RhYmxlL2xpc3QnLCB7CiAgICAgICAgICAgICAgREVTQ1JJUFRJT046ICcnCiAgICAgICAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgICAgIGlmIChyZXMuZGF0YS5jb2RlID09PSAwKSB7CiAgICAgICAgICAgICAgICBfdGhpcy50YWJsZUNvbmZpZy5wcm9wcy5BdXRvRGF0YSA9IHJlcy5kYXRhLmRhdGEucm93LnJlZHVjZShmdW5jdGlvbiAoYXJyLCBpdGVtKSB7CiAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5OQU1FLnZhbCwKICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5JRC52YWwsCiAgICAgICAgICAgICAgICAgICAgTkFNRTogaXRlbS5ERVNDUklQVElPTi52YWwKICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgIHJldHVybiBhcnI7CiAgICAgICAgICAgICAgICB9LCBbXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0sCiAgICAgIHZpc2libGVCdXR0b25zOiBbXSwKICAgICAgLy8g5Y+v6KeB5oyJ6ZKuCiAgICAgIC8v5L+u5pS55a2X5q616YWN572uCiAgICAgIC8vIOWPr+aYvuekuuWtl+autQogICAgICBtb2RpZnlGaWVsZDogewogICAgICAgIG1vZGlmaWFibGVfZmllbGQ6ICLpgInkuK3nmoTlrZfmrrUiLAogICAgICAgIG1vZGlmaWFibGVfZmllbGRfbmFtZTogIiIsCiAgICAgICAgLy/pgInkuK3nmoTlrZfmrrXlkI3np7AxCiAgICAgICAgdG90YWxSb3dDb3VudDogMCwKICAgICAgICAvL+aVsOaNruaAu+adoeaVsAogICAgICAgIHBhZ2VTaXplOiAxMCwKICAgICAgICAvL+avj+mhteaVsOaNruadoeaVsAogICAgICAgIGRhdGFFbXB0eU1lc3NhZ2U6ICLmlbDmja7kuLrnqboiLAogICAgICAgIC8v5rKh5pWw5o2u5pe255qE5o+Q56S6CiAgICAgICAgZGF0YToge30sCiAgICAgICAgLy/ooajmoLzmlbDmja4KICAgICAgICBjb2x1bW5zS2V5OiBbInZhbHVlIl0sCiAgICAgICAgLy9pbnB1dOaYvuekuueahOWtl+autQogICAgICAgIGNvbHVtbnM6IFsiaWQiXSwKICAgICAgICAvL+aooeeziuaQnOe0oumakOiXj+eahOWIlwogICAgICAgIEF1dG9EYXRhOiBbXSwKICAgICAgICBkZWZhdWx0U2VsZWN0ZWQ6IFtdCiAgICAgIH0sCiAgICAgIG1vZGlmeVRhYmxlU2hvdzogZmFsc2UsCiAgICAgIG1vZGlmeUNvbHVtbnM6IFt7CiAgICAgICAgdGl0bGU6ICfluo/lj7cnLAogICAgICAgIHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKGgsIHBhcmFtcykgewogICAgICAgICAgcmV0dXJuIGgoJ3NwYW4nLCB7fSwgcGFyYW1zLmluZGV4ICsgMSk7CiAgICAgICAgfQogICAgICB9LCB7CiAgICAgICAgdGl0bGU6ICflrZfmrrXlkI0nLAogICAgICAgIGtleTogJ0xhYmVsJwogICAgICB9LCAvLyB7CiAgICAgIC8vICAgdGl0bGU6ICflv4XloasnLAogICAgICAvLyAgIGtleTogJ2lzbm90bnVsbCcsCiAgICAgIC8vICAgcmVuZGVyOiAoaCwgcGFyYW1zKSA9PiB7CiAgICAgIC8vICAgICAgIHJldHVybiBoKCdDaGVja2JveCcsIHsKICAgICAgLy8gICAgICAgICBwcm9wczp7CiAgICAgIC8vICAgICAgICAgICAndmFsdWUnOnBhcmFtcy5yb3cuaXNub3RudWxsCiAgICAgIC8vICAgICAgICAgfSwKICAgICAgLy8gICAgICAgICBvbjp7CiAgICAgIC8vICAgICAgICAgICAnb24tY2hhbmdlJzogKHZhbHVlKSA9PiB7CiAgICAgIC8vICAgICAgICAgICAgIHRoaXMuY29uZmlnRGF0YS5tb2RpZmlhYmxlRmllbGRbcGFyYW1zLmluZGV4XS5pc25vdG51bGwgPSB2YWx1ZQogICAgICAvLyAgICAgICAgICAgfQogICAgICAvLyAgICAgICAgIH0KICAgICAgLy8gICAgICAgfSk7CiAgICAgIC8vICAgfQogICAgICAvLyB9LAogICAgICB7CiAgICAgICAgdGl0bGU6ICflj6ror7snLAogICAgICAgIGtleTogJ3JlYWRvbmx5JywKICAgICAgICByZW5kZXI6IGZ1bmN0aW9uIHJlbmRlcihoLCBwYXJhbXMpIHsKICAgICAgICAgIHJldHVybiBoKCdDaGVja2JveCcsIHsKICAgICAgICAgICAgcHJvcHM6IHsKICAgICAgICAgICAgICAndmFsdWUnOiBwYXJhbXMucm93LnJlYWRvbmx5CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG9uOiB7CiAgICAgICAgICAgICAgJ29uLWNoYW5nZSc6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7CiAgICAgICAgICAgICAgICBfdGhpcy5jb25maWdEYXRhLm1vZGlmaWFibGVGaWVsZFtwYXJhbXMuaW5kZXhdLnJlYWRvbmx5ID0gdmFsdWU7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICB0aXRsZTogJ+aTjeS9nCcsCiAgICAgICAgcmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoaCwgcGFyYW1zKSB7CiAgICAgICAgICByZXR1cm4gaCgnc3BhbicsIHsKICAgICAgICAgICAgc3R5bGU6IHsKICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMTYsIDE0MiwgMjMzLCAxKScsCiAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicKICAgICAgICAgICAgfSwKICAgICAgICAgICAgb246IHsKICAgICAgICAgICAgICBjbGljazogZnVuY3Rpb24gY2xpY2soKSB7CiAgICAgICAgICAgICAgICBfdGhpcy5jb25maWdEYXRhLm1vZGlmaWFibGVGaWVsZCA9IF90aGlzLmNvbmZpZ0RhdGEubW9kaWZpYWJsZUZpZWxkLmZpbHRlcihmdW5jdGlvbiAoaXRlbSwgaW5kZXgpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGluZGV4ICE9PSBwYXJhbXMuaW5kZXg7CiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIF90aGlzLm1vZGlmeUZpZWxkLmRlZmF1bHRTZWxlY3RlZCA9IF90aGlzLmNvbmZpZ0RhdGEubW9kaWZpYWJsZUZpZWxkOwoKICAgICAgICAgICAgICAgIGlmIChfdGhpcy5tb2RpZnlGaWVsZC5kZWZhdWx0U2VsZWN0ZWQubGVuZ3RoID09PSAwKSB7CiAgICAgICAgICAgICAgICAgIF90aGlzLm1vZGlmeVRhYmxlU2hvdyA9IGZhbHNlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgfSwgJ+WIoOmZpCcpOwogICAgICAgIH0KICAgICAgfV0sCiAgICAgIHBhZ2VCdG5EYXRhOiBbewogICAgICAgIGxhYmVsOiAi5pyA5bCR5ZCM5oSP5Lq65pWwIiwKICAgICAgICBpY29udHlwZTogMSwKICAgICAgICBjb2xvcjogIiMwOUExNTUiLAogICAgICAgIHZhbHVlOiAiIgogICAgICB9LCB7CiAgICAgICAgbGFiZWw6ICLlkIzmhI/nirbmgIHliKvlkI0iLAogICAgICAgIGljb250eXBlOiAxLAogICAgICAgIGNvbG9yOiAiIzA5QTE1NSIsCiAgICAgICAgdmFsdWU6ICIiCiAgICAgIH0sIHsKICAgICAgICBsYWJlbDogIuacgOWwkeaLkue7neS6uuaVsCIsCiAgICAgICAgaWNvbnR5cGU6IDIsCiAgICAgICAgY29sb3I6ICIjRUQ0MDE0IiwKICAgICAgICB2YWx1ZTogIiIKICAgICAgfSwgewogICAgICAgIGxhYmVsOiAi5ouS57ud54q25oCB5Yir5ZCNIiwKICAgICAgICBpY29udHlwZTogMiwKICAgICAgICBjb2xvcjogIiNFRDQwMTQiLAogICAgICAgIHZhbHVlOiAiIgogICAgICB9XSwKICAgICAgc3RhdHVzMTogZmFsc2UsCiAgICAgIC8v6LaF5pe25o+Q6YaSCiAgICAgIHN0YXR1czI6IGZhbHNlLAogICAgICAvL+iHquWKqOWkhOeQhgogICAgICBvcGVuQ29udHJvbDogZmFsc2UsCiAgICAgIC8v5o6n5Yi25by55qGG5piv5ZCm5pi+56S6CiAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICAvLyB65pyA5aSnbG9hZGluZwogICAgICByZXN1bHREYXRhOiB7fSwKICAgICAgLy8g6YCJ5Lit57uT5p6cCiAgICAgIG9wZW46IGZhbHNlLAogICAgICAvLyDmmK/lkKbmiZPlvIAKICAgICAgb2JqOiB7fSwKICAgICAgLy/kvKDnu5l0YWJsZeeahOWvueixoQogICAgICBzYXZlT2JqOiB7fSwKICAgICAgLy/lrZjlgqjnmoTmr4/mrKHoioLngrnnmoTlr7nosaEKICAgICAgc2VsZWN0Um93OiBbXSwKICAgICAgLy/lvLnmoYblpJrpgInljZXlh7vkuIDooYznmoTmlbDmja4KICAgICAgYXBwcm92ZXM6ICIiLAogICAgICAvL+WuoeaJueebuOWFs+aVsOaNrgogICAgICBzZXRPdmVydGltZTogewogICAgICAgIHRocmVzaG9sZDogIiIsCiAgICAgICAgc291cmNlczogMCwKICAgICAgICBzdGF0dXM6IDEsCiAgICAgICAgaGFuZGxlVmFsdWU6ICIiLAogICAgICAgIGhhbmRsZVR5cGU6IDExLAogICAgICAgIGV4dHJhTXNnOiAiIgogICAgICB9LAogICAgICBhdXRvRGV0YWlsOiB7CiAgICAgICAgdGhyZXNob2xkOiAiIiwKICAgICAgICBzb3VyY2VzOiAwLAogICAgICAgIHN0YXR1czogMSwKICAgICAgICBoYW5kbGVUeXBlOiAyMCwKICAgICAgICBleHRyYU1zZzogIiIsCiAgICAgICAgaGFuZGxlVmFsdWU6ICIiCiAgICAgIH0sCiAgICAgIGFwcHJvdmVsTGlzdDogW10sCiAgICAgIC8v5a2Y5pS+5a6h5om555u45YWz55qE5pWw5o2uCiAgICAgIGNsb3NlVHlwZTogZmFsc2UsCiAgICAgIC8v5o6n5Yi25a6h5om556Gu5a6a5Y+W5raI5pi+56S654q25oCBCiAgICAgIGlzQ2FsbEludGVyZmFjZTogZmFsc2UsCiAgICAgIGRlZmF1bHRPYmo6IHt9IC8v6buY6K6k5pWw5o2uCgogICAgfTsKICB9LAogIGNvbXB1dGVkOiB7CiAgICB0YWJsZUluZm86IGZ1bmN0aW9uIHRhYmxlSW5mbygpIHsKICAgICAgcmV0dXJuIHsKICAgICAgICB0YWJsZUlkOiB0aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1JZCwKICAgICAgICB0YWJsZU5hbWU6IHRoaXMuY29uZmlnRGF0YS5ub2RlRm9ybQogICAgICB9OwogICAgfSwKICAgIGFjdFNlcnZpY2VTOiBmdW5jdGlvbiBhY3RTZXJ2aWNlUygpIHsKICAgICAgcmV0dXJuIFt0aGlzLnNldE92ZXJ0aW1lLCB0aGlzLmF1dG9EZXRhaWxdOwogICAgfQogIH0sCiAgd2F0Y2g6IHsKICAgIHBhZ2VCdG5EYXRhOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIobmV3VmFsKSB7CiAgICAgICAgdmFyIHRlbUFyciA9IFt7CiAgICAgICAgICBhY3RUeXBlOiAwLAogICAgICAgICAgYWN0TmFtZTogbmV3VmFsWzFdLnZhbHVlLAogICAgICAgICAgYWN0TGltaXQ6IG5ld1ZhbFswXS52YWx1ZQogICAgICAgIH0sIHsKICAgICAgICAgIGFjdFR5cGU6IDEsCiAgICAgICAgICBhY3ROYW1lOiBuZXdWYWxbM10udmFsdWUsCiAgICAgICAgICBhY3RMaW1pdDogbmV3VmFsWzJdLnZhbHVlCiAgICAgICAgfV07CgogICAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEucnVsZUxpc3QubGVuZ3RoIDwgMSkgewogICAgICAgICAgdGhpcy5jb25maWdEYXRhLnJ1bGVMaXN0ID0gdGVtQXJyOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB0aGlzLmNvbmZpZ0RhdGEucnVsZUxpc3QubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgIHRlbUFyci5tYXAoZnVuY3Rpb24gKGlubmVyKSB7CiAgICAgICAgICAgICAgaWYgKGl0ZW0uYWN0VHlwZSA9PT0gaW5uZXIuYWN0VHlwZSkgewogICAgICAgICAgICAgICAgaXRlbSA9IE9iamVjdC5hc3NpZ24oaXRlbSwgaW5uZXIpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUKICAgIH0sCiAgICBhY3RTZXJ2aWNlUzogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKG5ld1ZhbCkgewogICAgICAgIHRoaXMuY29uZmlnRGF0YS5hY3RTZXJ2aWNlUyA9IG5ld1ZhbDsKICAgICAgfSwKICAgICAgZGVlcDogdHJ1ZQogICAgfSwKICAgIGFwcHJvdmVsTGlzdDogewogICAgICBoYW5kbGVyOiBmdW5jdGlvbiBoYW5kbGVyKG5ld1ZhbCkgewogICAgICAgIHRoaXMuY29uZmlnRGF0YS5hcHByb3ZlbExpc3QgPSBuZXdWYWw7CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUKICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKGV2ZW50LCBpbnMsIGtleSkgewogICAgICB2YXIgcmVzID0gL15bMC05XSokLzsKCiAgICAgIGlmIChyZXMudGVzdChrZXkpKSB7CiAgICAgICAgaWYgKHRoaXMucGFnZUJ0bkRhdGFba2V5XS52YWx1ZSA9PT0gIiIgJiYga2V5ID09IDApIHsKICAgICAgICAgIHRoaXMuJE1lc3NhZ2Uud2FybmluZygi5pyA5bCR5ZCM5oSP5Lq65pWw5LiN6IO95Li656m6Iik7CiAgICAgICAgfQoKICAgICAgICBpZiAodGhpcy5wYWdlQnRuRGF0YVtrZXldLnZhbHVlID09PSAiIiAmJiBrZXkgPT0gMSkgewogICAgICAgICAgdGhpcy4kTWVzc2FnZS53YXJuaW5nKCLlkIzmhI/nirbmgIHliKvlkI3kuI3og73kuLrnqboiKTsKICAgICAgICB9CgogICAgICAgIGlmICh0aGlzLnBhZ2VCdG5EYXRhW2tleV0udmFsdWUgPT09ICIiICYmIGtleSA9PSAyKSB7CiAgICAgICAgICB0aGlzLiRNZXNzYWdlLndhcm5pbmcoIuacgOWwkeaLkue7neS6uuaVsOS4jeiDveS4uuepuiIpOwogICAgICAgIH0KCiAgICAgICAgaWYgKHRoaXMucGFnZUJ0bkRhdGFba2V5XS52YWx1ZSA9PT0gIiIgJiYga2V5ID09IDMpIHsKICAgICAgICAgIHRoaXMuJE1lc3NhZ2Uud2FybmluZygi5ouS57ud54q25oCB5Yir5ZCN5LiN6IO95Li656m6Iik7CiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgLy/lj6/mmL7lrZfmrrXkuIvmi4nlpJrpgInkuovku7YKICAgIE9uRmtycFNlbGVjdGVkOiBmdW5jdGlvbiBPbkZrcnBTZWxlY3RlZChzZWxlY3RlZCkgewogICAgICBpZiAoc2VsZWN0ZWQubGVuZ3RoID09PSAwKSB7CiAgICAgICAgdGhpcy5tb2RpZnlUYWJsZVNob3cgPSBmYWxzZTsKICAgICAgfQoKICAgICAgc2VsZWN0ZWQubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgLy8gaXRlbS5pc25vdG51bGwgPSBmYWxzZQogICAgICAgIGl0ZW0ucmVhZG9ubHkgPSBmYWxzZTsKICAgICAgICByZXR1cm4gaXRlbTsKICAgICAgfSk7CiAgICAgIHRoaXMubW9kaWZ5RmllbGQubW9kaWZpYWJsZUZpZWxkID0gc2VsZWN0ZWQ7CiAgICAgIHRoaXMuY29uZmlnRGF0YS5tb2RpZmlhYmxlRmllbGQgPSBzZWxlY3RlZDsKICAgIH0sCiAgICBvblBvcHBlclNob3c6IGZ1bmN0aW9uIG9uUG9wcGVyU2hvdygpIHsKICAgICAgLy/kuIvmi4nlpJrpgIkKICAgICAgdGhpcy5maW5kRmllbGQoewogICAgICAgIEFEX1RBQkxFX0lEOiB0aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1JZAogICAgICB9KTsKICAgIH0sCiAgICBjaGFuZ2VQYWdlOiBmdW5jdGlvbiBjaGFuZ2VQYWdlKHZhbCkgewogICAgICB0aGlzLmZpbmRGaWVsZCh7CiAgICAgICAgcGFnZVNpemU6IHRoaXMubW9kaWZ5RmllbGQucGFnZVNpemUsCiAgICAgICAgcGFnZTogdmFsLAogICAgICAgIEFEX1RBQkxFX0lEOiB0aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1JZAogICAgICB9KTsKICAgIH0sCiAgICBtb2RpZmlhYmxlRmllbGRDbGljazogZnVuY3Rpb24gbW9kaWZpYWJsZUZpZWxkQ2xpY2soKSB7CiAgICAgIC8v5Y+v5pi+5a2X5q615Y+q6K+7L+W/heWhq+aOp+WItgogICAgICBpZiAodGhpcy5tb2RpZnlUYWJsZVNob3cpIHsvL+S/neWtmOadg+mZkAogICAgICB9IGVsc2Ugey8v5pu05pS55p2D6ZmQCiAgICAgICAgfQoKICAgICAgdGhpcy5tb2RpZnlUYWJsZVNob3cgPSAhdGhpcy5tb2RpZnlUYWJsZVNob3c7CiAgICB9LAogICAgLy/mqKHns4rmn6Xmib5pbnB1dOS6i+S7tgogICAgaW5wdXRDaGFuZ2U6IGZ1bmN0aW9uIGlucHV0Q2hhbmdlKHZhbCkgewogICAgICB0aGlzLmZpbmRGaWVsZCh7CiAgICAgICAgREVTQ1JJUFRJT046IHZhbCwKICAgICAgICBBRF9UQUJMRV9JRDogdGhpcy5jb25maWdEYXRhLm5vZGVGb3JtSWQKICAgICAgfSk7CiAgICB9LAogICAgb25DbGVhcjogZnVuY3Rpb24gb25DbGVhcigpIHsKICAgICAgdGhpcy5tb2RpZnlUYWJsZVNob3cgPSBmYWxzZTsKICAgICAgdGhpcy5tb2RpZnlGaWVsZC5tb2RpZmlhYmxlRmllbGQgPSBbXTsKICAgICAgdGhpcy5jb25maWdEYXRhLm1vZGlmaWFibGVGaWVsZCA9IFtdOwogICAgfSwKICAgIC8v5Y+v5pi+5a2X5q615riF6Zmk5LqL5Lu2CiAgICBjaGFuZ2UxOiBmdW5jdGlvbiBjaGFuZ2UxKHZhbCkgewogICAgICB0aGlzLnN0YXR1czEgPSB2YWw7CiAgICAgIHRoaXMuc2V0T3ZlcnRpbWUgPSB7CiAgICAgICAgdGhyZXNob2xkOiAiIiwKICAgICAgICBzb3VyY2VzOiAwLAogICAgICAgIHN0YXR1czogMSwKICAgICAgICBoYW5kbGVWYWx1ZTogIiIsCiAgICAgICAgaGFuZGxlVHlwZTogMTEsCiAgICAgICAgZXh0cmFNc2c6ICIiLAogICAgICAgIGlkOiB0aGlzLnNldE92ZXJ0aW1lLmlkCiAgICAgIH07CgogICAgICBpZiAodmFsKSB7CiAgICAgICAgdGhpcy5zZXRPdmVydGltZS5zdGF0dXMgPSAwOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuc2V0T3ZlcnRpbWUuc3RhdHVzID0gMTsKICAgICAgfQogICAgfSwKICAgIGNoYW5nZTI6IGZ1bmN0aW9uIGNoYW5nZTIodmFsKSB7CiAgICAgIHRoaXMuc3RhdHVzMiA9IHZhbDsKICAgICAgdGhpcy5hdXRvRGV0YWlsID0gewogICAgICAgIHRocmVzaG9sZDogIiIsCiAgICAgICAgc291cmNlczogMCwKICAgICAgICBzdGF0dXM6IDEsCiAgICAgICAgaGFuZGxlVHlwZTogMjAsCiAgICAgICAgZXh0cmFNc2c6ICIiLAogICAgICAgIGhhbmRsZVZhbHVlOiAiIiwKICAgICAgICBpZDogdGhpcy5hdXRvRGV0YWlsLmlkCiAgICAgIH07CgogICAgICBpZiAodmFsKSB7CiAgICAgICAgdGhpcy5hdXRvRGV0YWlsLnN0YXR1cyA9IDA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy5hdXRvRGV0YWlsLnN0YXR1cyA9IDE7CiAgICAgIH0KICAgIH0sCiAgICBnZXRSZXN1bHQ6IGZ1bmN0aW9uIGdldFJlc3VsdChkYXRhKSB7CiAgICAgIHRoaXMucmVzdWx0RGF0YSA9IE9iamVjdC5hc3NpZ24oe30sIGRhdGEpOwoKICAgICAgaWYgKHRoaXMucmVzdWx0RGF0YS5saXN0Lmxlbmd0aCA+IDApIHsKICAgICAgICB0aGlzLmFwcHJvdmVsTGlzdCA9IHRoaXMucmVzdWx0RGF0YS5saXN0Lm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgdmFyIHRlbSA9IE9iamVjdC5hc3NpZ24oe30sIGl0ZW0pOwogICAgICAgICAgZGVsZXRlIHRlbS5zdHJpbmc7CiAgICAgICAgICByZXR1cm4gdGVtOwogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuYXBwcm92ZWxMaXN0ID0gW107CiAgICAgIH0KICAgIH0sCiAgICAvL+iOt+WPluWPr+S/ruaUueWtl+autQogICAgZmluZEZpZWxkOiBmdW5jdGlvbiBmaW5kRmllbGQocGFyYW0pIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAgICB0aGlzLiRuZXR3b3JrLnBvc3QoIi9wL2MvbWV0YS9jb2x1bW4vbGlzdCIsIHBhcmFtKS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLmRhdGEuY29kZSA9PT0gMCkgewogICAgICAgICAgaWYgKHBhcmFtLmhhc093blByb3BlcnR5KCJERVNDUklQVElPTiIpKSB7CiAgICAgICAgICAgIF90aGlzMi5tb2RpZnlGaWVsZC5BdXRvRGF0YSA9IFtdOwogICAgICAgICAgICBfdGhpczIubW9kaWZ5RmllbGQuQXV0b0RhdGEgPSByZXMuZGF0YS5kYXRhLnJvdy5yZWR1Y2UoZnVuY3Rpb24gKGFyciwgaXRlbSkgewogICAgICAgICAgICAgIGFyci5wdXNoKHsKICAgICAgICAgICAgICAgIHZhbHVlOiBpdGVtLkRFU0NSSVBUSU9OLnZhbCwKICAgICAgICAgICAgICAgIGlkOiBpdGVtLklELnZhbAogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIHJldHVybiBhcnI7CiAgICAgICAgICAgIH0sIFtdKTsKICAgICAgICAgIH0KCiAgICAgICAgICByZXMuZGF0YS5kYXRhLnRhYnRoLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICBpZiAoaXRlbS5jb2xuYW1lID09PSAiREVTQ1JJUFRJT04iKSB7CiAgICAgICAgICAgICAgaXRlbS5pc2FrID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICBpdGVtLmlzYWsgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgICBfdGhpczIubW9kaWZ5RmllbGQuZGF0YSA9IHJlcy5kYXRhLmRhdGE7CiAgICAgICAgICBfdGhpczIubW9kaWZ5RmllbGQudG90YWxSb3dDb3VudCA9IHJlcy5kYXRhLmRhdGEudG90YWxSb3dDb3VudDsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIHNhdmVDb25maWc6IGZ1bmN0aW9uIHNhdmVDb25maWcoKSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwoKICAgICAgLy/noa7lrprmjInpkq7ngrnlh7sKICAgICAgLy8g6IqC54K55b+F57uPCiAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEuaW5ldml0YWJsZSA9PT0gMiAmJiAoIXRoaXMuY29uZmlnRGF0YS5pbmV2aXRhYmxlRXh0cyB8fCB0aGlzLmNvbmZpZ0RhdGEuaW5ldml0YWJsZUV4dHMubGVuZ3RoID09PSAwKSkgewogICAgICAgIHRoaXMuJE1vZGFsLmZjRXJyb3IoewogICAgICAgICAgdGl0bGU6ICfplJnor68nLAogICAgICAgICAgY29udGVudDogJ+inhOWImemFjee9ruS4jeiDveS4uuepuicsCiAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9IC8vIOaTjeS9nOS6ugoKCiAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEuYXBwcm92ZXJTdHlsZSA9PT0gMCkgewogICAgICAgIC8v55u05o6l6YCJ5oupCiAgICAgICAgLy8g5a6h5om55Lq65Li656m6CiAgICAgICAgaWYgKHRoaXMuY29uZmlnRGF0YS5hcHByb3ZlbExpc3QgJiYgdGhpcy5jb25maWdEYXRhLmFwcHJvdmVsTGlzdC5sZW5ndGggPT09IDApIHsKICAgICAgICAgIHRoaXMuJE1vZGFsLmZjRXJyb3IoewogICAgICAgICAgICB0aXRsZTogJ+mUmeivrycsCiAgICAgICAgICAgIGNvbnRlbnQ6ICflrqHmibnkurrkuI3og73kuLrnqbonLAogICAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy/mianlsZXnqIvluo8KICAgICAgICAvLyDmianlsZXnqIvluo/kuLrnqboKICAgICAgICBpZiAodGhpcy5jb25maWdEYXRhLmFjdGlvbkNvbmZpZ1swXSAmJiAhdGhpcy5jb25maWdEYXRhLmFjdGlvbkNvbmZpZ1swXS5oYW5kbGVWYWx1ZSkgewogICAgICAgICAgdGhpcy4kTW9kYWwuZmNFcnJvcih7CiAgICAgICAgICAgIHRpdGxlOiAn6ZSZ6K+vJywKICAgICAgICAgICAgY29udGVudDogJ+aJqeWxleeoi+W6j+S4jeiDveS4uuepuicsCiAgICAgICAgICAgIG1hc2s6IHRydWUKICAgICAgICAgIH0pOwogICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgfSAvLyDlrqHmibnmnaHku7YKCgogICAgICBpZiAodGhpcy5jb25maWdEYXRhLmFwcHJvdmVDb25kaXRpb24gPT09IDApIHsKICAgICAgICAvLyDmnIDlsJHlkIzmhI/kurrmlbAKICAgICAgICBpZiAoIXRoaXMucGFnZUJ0bkRhdGFbMF0udmFsdWUpIHsKICAgICAgICAgIHRoaXMuJE1vZGFsLmZjRXJyb3IoewogICAgICAgICAgICB0aXRsZTogJ+mUmeivrycsCiAgICAgICAgICAgIGNvbnRlbnQ6ICfmnIDlsJHlkIzmhI/kurrmlbDkuI3og73kuLrnqbonLAogICAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9IC8vIOacgOWwkeaLkue7neS6uuaVsAoKCiAgICAgICAgaWYgKCF0aGlzLnBhZ2VCdG5EYXRhWzJdLnZhbHVlKSB7CiAgICAgICAgICB0aGlzLiRNb2RhbC5mY0Vycm9yKHsKICAgICAgICAgICAgdGl0bGU6ICfplJnor68nLAogICAgICAgICAgICBjb250ZW50OiAn5pyA5bCR5ouS57ud5Lq65pWw5LiN6IO95Li656m6JywKICAgICAgICAgICAgbWFzazogdHJ1ZQogICAgICAgICAgfSk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICB9IC8vIOmps+WbnuiKgueCuQoKCiAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEuYXNzaWduQmFjayA9PT0gMSAmJiAhdGhpcy5jb25maWdEYXRhLmJhY2tJZCkgewogICAgICAgIHRoaXMuJE1vZGFsLmZjRXJyb3IoewogICAgICAgICAgdGl0bGU6ICfplJnor68nLAogICAgICAgICAgY29udGVudDogJ+mps+WbnuiKgueCueS4jeiDveS4uuepuicsCiAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9IC8vIOS9nOW6n+aTjeS9nCAtLeWPkei1t+S9nOW6n+eUs+ivtwoKCiAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEubm9kZUNhbmNsZSA9PT0gMSAmJiAhdGhpcy5jb25maWdEYXRhLmNhbmNsZVVybCkgewogICAgICAgIHRoaXMuJE1vZGFsLmZjRXJyb3IoewogICAgICAgICAgdGl0bGU6ICfplJnor68nLAogICAgICAgICAgY29udGVudDogJ+S9nOW6n+eUs+ivt+WcsOWdgOS4jeiDveS4uuepuicsCiAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9IC8vIOaMh+a0vua1gei9rOiKgueCuQoKCiAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEuYXNzaWduTmV4dCA9PT0gMCAmJiAoIXRoaXMuY29uZmlnRGF0YS5hc3NpZ25SYW5nZSB8fCB0aGlzLmNvbmZpZ0RhdGEuYXNzaWduUmFuZ2UubGVuZ3RoID09PSAwKSkgewogICAgICAgIHRoaXMuJE1vZGFsLmZjRXJyb3IoewogICAgICAgICAgdGl0bGU6ICfplJnor68nLAogICAgICAgICAgY29udGVudDogJ+iKgueCueiMg+WbtOS4jeiDveS4uuepuicsCiAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9IC8vIOi2heaXtuaPkOmGkgoKCiAgICAgIGlmICh0aGlzLnN0YXR1czEgJiYgKCF0aGlzLnNldE92ZXJ0aW1lLnRocmVzaG9sZCB8fCAhdGhpcy5zZXRPdmVydGltZS5oYW5kbGVWYWx1ZSkpIHsKICAgICAgICB0aGlzLiRNb2RhbC5mY0Vycm9yKHsKICAgICAgICAgIHRpdGxlOiAn6ZSZ6K+vJywKICAgICAgICAgIGNvbnRlbnQ6ICfor7floavlhpnlrozlloTotoXml7bmj5DphpLkv6Hmga8nLAogICAgICAgICAgbWFzazogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIHJldHVybjsKICAgICAgfSAvL+iHquWKqOWkhOeQhgoKCiAgICAgIGlmICh0aGlzLnN0YXR1czIgJiYgIXRoaXMuYXV0b0RldGFpbC50aHJlc2hvbGQpIHsKICAgICAgICB0aGlzLiRNb2RhbC5mY0Vycm9yKHsKICAgICAgICAgIHRpdGxlOiAn6ZSZ6K+vJywKICAgICAgICAgIGNvbnRlbnQ6ICfor7floavlhpnlrozlloToh6rliqjlpITnkIbkv6Hmga8nLAogICAgICAgICAgbWFzazogdHJ1ZQogICAgICAgIH0pOwogICAgICAgIHJldHVybjsKICAgICAgfSAvLyDmjqfliLboh6rliqjlpITnkIbml7bpl7TlpKfkuo7otoXml7bmj5DphpLml7bpl7QKCgogICAgICBpZiAodGhpcy5zdGF0dXMxICYmIHRoaXMuc3RhdHVzMikgewogICAgICAgIHZhciBzdGFydCA9IHRoaXMuc2V0T3ZlcnRpbWUuc291cmNlcyA9PT0gMCA/IE51bWJlcih0aGlzLnNldE92ZXJ0aW1lLnRocmVzaG9sZCkgOiBOdW1iZXIodGhpcy5zZXRPdmVydGltZS50aHJlc2hvbGQpICogMjQ7CiAgICAgICAgdmFyIGVuZCA9IHRoaXMuYXV0b0RldGFpbC5zb3VyY2VzID09PSAwID8gTnVtYmVyKHRoaXMuYXV0b0RldGFpbC50aHJlc2hvbGQpIDogTnVtYmVyKHRoaXMuYXV0b0RldGFpbC50aHJlc2hvbGQpICogMjQ7CgogICAgICAgIGlmIChzdGFydCA+PSBlbmQpIHsKICAgICAgICAgIHRoaXMuJE1vZGFsLmZjRXJyb3IoewogICAgICAgICAgICB0aXRsZTogJ+mUmeivrycsCiAgICAgICAgICAgIGNvbnRlbnQ6ICfotoXml7bmj5DphpLml7bpl7TkuI3og73lpKfkuo7oh6rliqjlpITnkIbml7bpl7QnLAogICAgICAgICAgICBtYXNrOiB0cnVlCiAgICAgICAgICB9KTsKICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIHZhciBndWlTdHlsZSA9IEpTT04ucGFyc2UodGhpcy4kcGFyZW50LiRwYXJlbnQubXlEZXNpZ25lci5nZXRGbG93RGF0YSgpKTsKICAgICAgZ3VpU3R5bGUubm9kZURhdGFBcnJheS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICBpZiAoX3RoaXMzLmNvbmZpZ0RhdGEua2V5ID09PSBpdGVtLmtleSkgewogICAgICAgICAgaXRlbS50ZXh0ID0gX3RoaXMzLmNvbmZpZ0RhdGEubmFtZTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBpdGVtOwogICAgICB9KTsKCiAgICAgIGlmICh0aGlzLmRlZmF1bHRPYmoubm9kZUZvcm1JZCAhPT0gdGhpcy5jb25maWdEYXRhLm5vZGVGb3JtSWQgJiYgdGhpcy5kZWZhdWx0T2JqLm5vZGVGb3JtSWQpIHsKICAgICAgICB0aGlzLiRNb2RhbC5mY0Vycm9yKHsKICAgICAgICAgIHRpdGxlOiAn6ZSZ6K+vJywKICAgICAgICAgIGNvbnRlbnQ6ICflvZPliY3oioLngrnnmoTooajljZXlt7Lkv67mlLnvvIzoioLngrnlkI7nmoTov57nur/phY3nva7lsIbkvJrmuIXnqbrvvIzmmK/lkKbnoa7orqTkv53lrZjvvJ8nLAogICAgICAgICAgbWFzazogdHJ1ZSwKICAgICAgICAgIHNob3dDYW5jZWw6IHRydWUsCiAgICAgICAgICBvbk9rOiBmdW5jdGlvbiBvbk9rKCkgewogICAgICAgICAgICBfdGhpczMubm9kZS5maW5kTGlua3NPdXRPZigpLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgIGRlbGV0ZSBfdGhpczMuJHBhcmVudC4kcGFyZW50LnBhdGhNc2dbaXRlbS5kYXRhLmtleV07CiAgICAgICAgICAgICAgdmFyIGd1aVN0eWxlID0gSlNPTi5wYXJzZShfdGhpczMuJHBhcmVudC4kcGFyZW50Lm15RGVzaWduZXIuZ2V0Rmxvd0RhdGEoKSk7CiAgICAgICAgICAgICAgZ3VpU3R5bGUubGlua0RhdGFBcnJheSA9IGd1aVN0eWxlLmxpbmtEYXRhQXJyYXkuZmlsdGVyKGZ1bmN0aW9uICh0ZW1wKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gdGVtcC5rZXkgIT09IGl0ZW0uZGF0YS5rZXk7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgX3RoaXMzLiRwYXJlbnQuJHBhcmVudC5kYXRhLmd1aVN0eWxlID0gSlNPTi5zdHJpbmdpZnkoZ3VpU3R5bGUpOwoKICAgICAgICAgICAgX3RoaXMzLiRwYXJlbnQuJHBhcmVudC5pbml0KCk7CgogICAgICAgICAgICBfdGhpczMuJGVtaXQoJ2Nsb3NlRHJhd2VyJyk7CiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuOwogICAgICB9IGVsc2UgewogICAgICAgIHRoaXMuJHBhcmVudC4kcGFyZW50LmRhdGEuZ3VpU3R5bGUgPSBKU09OLnN0cmluZ2lmeShndWlTdHlsZSk7CiAgICAgICAgdGhpcy4kcGFyZW50LiRwYXJlbnQuaW5pdCgpOwogICAgICAgIHRoaXMuJGVtaXQoJ2Nsb3NlRHJhd2VyJyk7CiAgICAgIH0KICAgIH0sCiAgICBjbG9zZURyYXdlcjogZnVuY3Rpb24gY2xvc2VEcmF3ZXIoKSB7CiAgICAgIC8v5Y+W5raI5oyJ6ZKu54K55Ye7CiAgICAgIHRoaXMuJHBhcmVudC4kcGFyZW50Lm5vZGVNc2dbTnVtYmVyKHRoaXMuY29uZmlnRGF0YS5rZXkpXSA9IHRoaXMuZGVmYXVsdE9iajsKICAgICAgdGhpcy4kZW1pdCgnY2xvc2VEcmF3ZXInKTsKICAgIH0sCiAgICBhcHByb3ZlclN0eWxlQ2hhbmdlOiBmdW5jdGlvbiBhcHByb3ZlclN0eWxlQ2hhbmdlKCkgewogICAgICAvL+mAieaLqeWuoeaJueS6uuexu+Wei+WIh+aNogogICAgICB0aGlzLmNvbmZpZ0RhdGEuYWN0aW9uQ29uZmlnWzBdLmhhbmRsZVZhbHVlID0gbnVsbDsKICAgICAgdGhpcy5yZXN1bHREYXRhID0ge307CiAgICAgIHRoaXMuYXBwcm92ZWxMaXN0ID0gW107CiAgICB9LAogICAgLy8g5a6h5om55p2h5Lu2IOaJqeWxlQogICAgaW5ldml0YWJsZVJlc3VsdDogZnVuY3Rpb24gaW5ldml0YWJsZVJlc3VsdCh2YWx1ZSkgewogICAgICB0aGlzLmNvbmZpZ0RhdGEuaW5ldml0YWJsZUV4dHMgPSB2YWx1ZTsKICAgIH0sCiAgICBwcmVFdmVudFJlc3VsdDogZnVuY3Rpb24gcHJlRXZlbnRSZXN1bHQodmFsdWUpIHsKICAgICAgLy/liY3nva7kuovku7blpITnkIYKICAgICAgdGhpcy5jb25maWdEYXRhLnByZUV2ZW50ID0gdmFsdWU7CiAgICB9LAogICAgYmVoaW5kRXZlbnRSZXN1bHQ6IGZ1bmN0aW9uIGJlaGluZEV2ZW50UmVzdWx0KHZhbHVlKSB7CiAgICAgIC8v5ZCO572u5LqL5Lu25aSE55CGCiAgICAgIHRoaXMuY29uZmlnRGF0YS5iZWhpbmRFdmVudCA9IHZhbHVlOwogICAgfSwKICAgIGdldFZpc2libGVCdXR0b25zOiBmdW5jdGlvbiBnZXRWaXNpYmxlQnV0dG9ucygpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICAvL+iOt+WPluWPr+ingeaMiemSrgogICAgICB0aGlzLiRuZXR3b3JrLnBvc3QoJy9wL2NzL25vZGUvZGVmaW5lL2J0JywgewogICAgICAgIGlkOiB0aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1JZCwKICAgICAgICB2dWVEaXNwYWx5OiAwCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgIGlmIChyZXMuZGF0YS5yZXN1bHRDb2RlID09PSAwKSB7CiAgICAgICAgICBfdGhpczQudmlzaWJsZUJ1dHRvbnMgPSByZXMuZGF0YS5kYXRhLmRpZmluZURhdGE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIF90aGlzNC52aXNpYmxlQnV0dG9ucyA9IFtdOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAogICAgdmlzaWJsZUJ0Q2hhbmdlOiBmdW5jdGlvbiB2aXNpYmxlQnRDaGFuZ2UodmFsdWUpIHsKICAgICAgLy/lj6/op4HmjInpkq7pgInmi6kKICAgICAgaWYgKHZhbHVlWzBdID09PSAnYlNlbGVjdC1hbGwnKSB7CiAgICAgICAgdGhpcy5jb25maWdEYXRhLnZpc2libGVCdCA9IHRoaXMudmlzaWJsZUJ1dHRvbnMucmVkdWNlKGZ1bmN0aW9uIChhcnIsIGN1cnJlbnQpIHsKICAgICAgICAgIGFyci5wdXNoKGN1cnJlbnQuSUQpOwogICAgICAgICAgcmV0dXJuIGFycjsKICAgICAgICB9LCBbXSk7CiAgICAgIH0KICAgIH0KICB9LAogIGNyZWF0ZWQ6IGZ1bmN0aW9uIGNyZWF0ZWQoKSB7CiAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAvLyDkv53lrZjpu5jorqTlgLwKICAgIHRoaXMuZGVmYXVsdE9iaiA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWdEYXRhKSk7CgogICAgaWYgKHRoaXMuY29uZmlnRGF0YS5hY3Rpb25Db25maWcubGVuZ3RoID09PSAwKSB7CiAgICAgIHRoaXMuY29uZmlnRGF0YS5hY3Rpb25Db25maWcgPSBbewogICAgICAgIGlkOiBudWxsLAogICAgICAgIGhhbmRsZVR5cGU6IDMzLAogICAgICAgIGhhbmRsZVZhbHVlOiBudWxsLAogICAgICAgIGV4dHJhTXNnOiBudWxsCiAgICAgIH1dOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5jb25maWdEYXRhLmFjdGlvbkNvbmZpZyA9IFt7CiAgICAgICAgaWQ6IHRoaXMuY29uZmlnRGF0YS5hY3Rpb25Db25maWdbMF0uaWQsCiAgICAgICAgaGFuZGxlVHlwZTogMzMsCiAgICAgICAgaGFuZGxlVmFsdWU6IHRoaXMuY29uZmlnRGF0YS5hY3Rpb25Db25maWdbMF0uaGFuZGxlVmFsdWUsCiAgICAgICAgZXh0cmFNc2c6IHRoaXMuY29uZmlnRGF0YS5hY3Rpb25Db25maWdbMF0uZXh0cmFNc2cKICAgICAgfV07CiAgICB9CgogICAgaWYgKHRoaXMuY29uZmlnRGF0YS5tb2RpZmlhYmxlRmllbGQpIHsKICAgICAgdGhpcy5tb2RpZnlGaWVsZC5kZWZhdWx0U2VsZWN0ZWQgPSB0aGlzLmNvbmZpZ0RhdGEubW9kaWZpYWJsZUZpZWxkOwogICAgfQoKICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEuYXBwcm92ZWxMaXN0ICYmIHRoaXMuY29uZmlnRGF0YS5hcHByb3ZlbExpc3QubGVuZ3RoID4gMCkgewogICAgICB0aGlzLmNvbmZpZ0RhdGEuYXBwcm92ZWxMaXN0Lm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHZhciB0ZW1PYmogPSBPYmplY3QuYXNzaWduKHt9LCBpdGVtKTsKICAgICAgICBfdGhpczUuYXBwcm92ZXMgKz0gaXRlbS5hcHByb3ZlVmFsdWVOYW1lID8gaXRlbS5hcHByb3ZlVmFsdWVOYW1lIDogaXRlbS5hcHByb3ZlX3ZhbHVlX25hbWUgKyAiLCI7CiAgICAgICAgdGVtT2JqLmFwcHJvdmVfdHlwZSA9IHRlbU9iai5hcHByb3ZlVHlwZSA/IHRlbU9iai5hcHByb3ZlVHlwZSA6IHRlbU9iai5hcHByb3ZlX3R5cGU7CiAgICAgICAgdGVtT2JqLmFwcHJvdmVfdmFsdWUgPSB0ZW1PYmouYXBwcm92ZVZhbHVlID8gdGVtT2JqLmFwcHJvdmVWYWx1ZSA6IHRlbU9iai5hcHByb3ZlX3ZhbHVlOwogICAgICAgIHRlbU9iai5hcHByb3ZlX3ZhbHVlX25hbWUgPSBpdGVtLmFwcHJvdmVWYWx1ZU5hbWUgPyBpdGVtLmFwcHJvdmVWYWx1ZU5hbWUgOiBpdGVtLmFwcHJvdmVfdmFsdWVfbmFtZTsKICAgICAgICBkZWxldGUgdGVtT2JqLmFwcHJvdmVUeXBlOwogICAgICAgIGRlbGV0ZSB0ZW1PYmouYXBwcm92ZVZhbHVlOwogICAgICAgIGRlbGV0ZSB0ZW1PYmouYXBwcm92ZVZhbHVlTmFtZTsKICAgICAgICB2YXIgdGVtTCA9IE9iamVjdC5hc3NpZ24oe30sIHRlbU9iaik7CgogICAgICAgIF90aGlzNS5hcHByb3ZlbExpc3QucHVzaCh0ZW1PYmopOwoKICAgICAgICB0ZW1MLnN0cmluZyA9IGl0ZW0uYXBwcm92ZVZhbHVlTmFtZSA/IGl0ZW0uYXBwcm92ZVZhbHVlTmFtZSA6IGl0ZW0uYXBwcm92ZV92YWx1ZV9uYW1lOwogICAgICAgIF90aGlzNS5yZXN1bHREYXRhLmxpc3QgPyBfdGhpczUucmVzdWx0RGF0YS5saXN0LnB1c2godGVtTCkgOiBfdGhpczUuJHNldChfdGhpczUucmVzdWx0RGF0YSwgImxpc3QiLCBbdGVtTF0pOwogICAgICB9KTsKICAgICAgdGhpcy5yZXN1bHREYXRhLnRvdGFsID8gdGhpcy5yZXN1bHREYXRhLnRvdGFsID0gdGhpcy5yZXN1bHREYXRhLmxpc3QubGVuZ3RoIDogdGhpcy4kc2V0KHRoaXMucmVzdWx0RGF0YSwgInRvdGFsIiwgdGhpcy5yZXN1bHREYXRhLmxpc3QubGVuZ3RoKTsKCiAgICAgIGlmICh0aGlzLmFwcHJvdmVzLmxlbmd0aCA+IDApIHsKICAgICAgICB0aGlzLmFwcHJvdmVzID0gdGhpcy5hcHByb3Zlcy5zdWJzdHJpbmcoMCwgdGhpcy5hcHByb3Zlcy5sZW5ndGggLSAxKTsKICAgICAgfQogICAgfQoKICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEucnVsZUxpc3QgJiYgdGhpcy5jb25maWdEYXRhLnJ1bGVMaXN0Lmxlbmd0aCA+IDApIHsKICAgICAgdGhpcy5jb25maWdEYXRhLnJ1bGVMaXN0Lm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIGlmIChpdGVtLmFjdFR5cGUgPT09IDApIHsKICAgICAgICAgIF90aGlzNS5wYWdlQnRuRGF0YVsxXS52YWx1ZSA9IGl0ZW0uYWN0TmFtZTsKICAgICAgICAgIF90aGlzNS5wYWdlQnRuRGF0YVswXS52YWx1ZSA9IGl0ZW0uYWN0TGltaXQ7CiAgICAgICAgfQoKICAgICAgICBpZiAoaXRlbS5hY3RUeXBlID09PSAxKSB7CiAgICAgICAgICBfdGhpczUucGFnZUJ0bkRhdGFbM10udmFsdWUgPSBpdGVtLmFjdE5hbWU7CiAgICAgICAgICBfdGhpczUucGFnZUJ0bkRhdGFbMl0udmFsdWUgPSBpdGVtLmFjdExpbWl0OwogICAgICAgIH0KICAgICAgfSk7CiAgICB9CgogICAgaWYgKHRoaXMuY29uZmlnRGF0YS5hY3RTZXJ2aWNlUyAmJiB0aGlzLmNvbmZpZ0RhdGEuYWN0U2VydmljZVMubGVuZ3RoID4gMCkgewogICAgICB0aGlzLmNvbmZpZ0RhdGEuYWN0U2VydmljZVMubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgaWYgKGl0ZW0uaGFuZGxlVHlwZSA+PSAyMCkgewogICAgICAgICAgX3RoaXM1LmF1dG9EZXRhaWwgPSBpdGVtOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBfdGhpczUuc2V0T3ZlcnRpbWUgPSBpdGVtOwogICAgICAgIH0KICAgICAgfSk7CiAgICAgIHRoaXMuc2V0T3ZlcnRpbWUuc3RhdHVzID09PSAwID8gdGhpcy5zdGF0dXMxID0gdHJ1ZSA6IHRoaXMuc3RhdHVzMSA9IGZhbHNlOwogICAgICB0aGlzLmF1dG9EZXRhaWwuc3RhdHVzID09PSAwID8gdGhpcy5zdGF0dXMyID0gdHJ1ZSA6IHRoaXMuc3RhdHVzMiA9IGZhbHNlOwogICAgfSBlbHNlIHsKICAgICAgdGhpcy5jb25maWdEYXRhLmFjdFNlcnZpY2VTID0gW3sKICAgICAgICB0aHJlc2hvbGQ6ICIiLAogICAgICAgIHNvdXJjZXM6IDAsCiAgICAgICAgc3RhdHVzOiAxLAogICAgICAgIGhhbmRsZVZhbHVlOiAiIiwKICAgICAgICBoYW5kbGVUeXBlOiAxMQogICAgICB9LCB7CiAgICAgICAgdGhyZXNob2xkOiAiIiwKICAgICAgICBzb3VyY2VzOiAwLAogICAgICAgIHN0YXR1czogMSwKICAgICAgICBoYW5kbGVUeXBlOiAyMCwKICAgICAgICBoYW5kbGVWYWx1ZTogIiIKICAgICAgfV07CiAgICB9IC8vIOWkhOeQhuiKgueCueihqOmFjee9rum7mOiupOWAvAoKCiAgICBpZiAodGhpcy5jb25maWdEYXRhLm5vZGVGb3JtSWQpIHsKICAgICAgdGhpcy50YWJsZUNvbmZpZy5wcm9wcy5kZWZhdWx0U2VsZWN0ZWQgPSBbewogICAgICAgIElEOiB0aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1JZCwKICAgICAgICBMYWJlbDogdGhpcy5jb25maWdEYXRhLm5vZGVGb3JtTmFtZQogICAgICB9XTsKICAgIH0gLy8g5Y+v6KeB5oyJ6ZKuCgoKICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEubm9kZUZvcm1JZCkgewogICAgICB0aGlzLmdldFZpc2libGVCdXR0b25zKCk7CiAgICB9CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgey8vdGhpcy5nZXRUcmVlRGF0YSgpOwoKICAgIC8qKi8KICB9Cn07CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Mjs="},{"version":3,"sources":["index.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmTA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBACA;AACA,EAAA,IAAA,EAAA,0BADA;AAEA,EAAA,UAAA,EAAA;AAAA,IAAA,UAAA,EAAA,mBAAA;AAAA,IAAA,UAAA,EAAA;AAAA,GAFA;AAGA,EAAA,KAAA,EAAA;AACA,IAAA,UAAA,EAAA;AACA,MAAA,IAAA,EAAA,MADA;AAEA,MAAA,OAFA,sBAEA;AACA,eAAA,EAAA;AACA;AAJA,KADA;AAOA,IAAA,QAAA,EAAA,EAPA;AAQA;AACA,IAAA,IAAA,EAAA,EATA;AASA;AACA,IAAA,MAAA,EAAA,IAVA;AAWA,IAAA,aAAA,EAAA;AACA,MAAA,IAAA,EAAA,KADA;AAEA,MAAA,OAAA,EAAA,oBAAA;AACA,eAAA,EAAA;AACA;AAJA,KAXA;AAiBA,IAAA,aAAA,EAAA;AACA,MAAA,IAAA,EAAA,KADA;AAEA,MAAA,OAAA,EAAA,oBAAA;AACA,eAAA,EAAA;AACA;AAJA,KAjBA;AAuBA,IAAA,QAAA,EAAA;AACA,MAAA,IAAA,EAAA,OADA;AAEA,MAAA,OAAA,EAAA;AAFA;AAvBA,GAHA;AA+BA,EAAA,IA/BA,kBA+BA;AAAA;;AACA,WAAA;AACA;AACA,MAAA,WAAA,EAAA;AACA,QAAA,KAAA,EAAA;AACA,UAAA,UAAA,EAAA,CAAA,MAAA,CADA;AAEA,UAAA,QAAA,EAAA,EAFA;AAGA,UAAA,WAAA,EAAA,CAAA,IAAA,CAHA;AAIA,UAAA,IAAA,EAAA,EAJA;AAKA,UAAA,aAAA,EAAA,CALA;AAMA,UAAA,eAAA,EAAA,EANA;AAOA,UAAA,aAAA,EAAA;AAPA,SADA;AAUA,QAAA,KAAA,EAAA;AACA,mCAAA,4BAAA,KAAA,EAAA;AACA;AACA,YAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,QAAA,GAAA,EAAA;;AACA,YAAA,KAAA,CAAA,QAAA,CAAA,IAAA,CAAA,sBAAA,EAAA;AAAA,cAAA,WAAA,EAAA;AAAA,aAAA,EAAA,IAAA,CAAA,UAAA,GAAA,EAAA;AACA,kBAAA,GAAA,CAAA,IAAA,CAAA,IAAA,KAAA,CAAA,EAAA;AACA;AACA,gBAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,QAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,UAAA,GAAA,EAAA,IAAA,EAAA;AACA,kBAAA,GAAA,CAAA,IAAA,CAAA;AACA,oBAAA,KAAA,EAAA,IAAA,CAAA,IAAA,CAAA,GADA;AAEA,oBAAA,EAAA,EAAA,IAAA,CAAA,EAAA,CAAA,GAFA;AAGA,oBAAA,IAAA,EAAA,IAAA,CAAA,WAAA,CAAA;AAHA,mBAAA;AAKA,yBAAA,GAAA;AACA,iBAPA,EAOA,EAPA,CAAA;AAQA;AAEA,aAbA;AAcA,WAlBA;AAmBA,4BAAA,sBAAA,KAAA,EAAA;AACA;AACA;AACA,YAAA,KAAA,CAAA,QAAA,CAAA,IAAA,CAAA,sBAAA,EAAA;AACA,cAAA,QAAA,EAAA,KAAA,CAAA,QADA;AAEA,cAAA,IAAA,EAAA;AAFA,aAAA,EAGA,IAHA,CAGA,UAAA,GAAA,EAAA;AACA,kBAAA,GAAA,CAAA,IAAA,CAAA,IAAA,KAAA,CAAA,EAAA;AACA,gBAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,KAAA,CAAA,OAAA,CAAA,UAAA,IAAA,EAAA;AACA,sBAAA,IAAA,CAAA,OAAA,KAAA,aAAA,EAAA;AACA,oBAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AACA;;AACA,yBAAA,IAAA;AACA,iBALA;AAMA,gBAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,IAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA;AACA,gBAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,aAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,aAAA;AACA;AAEA,aAfA;AAgBA,WAtCA;AAuCA,4BAAA,sBAAA,WAAA,EAAA,KAAA,EAAA;AACA;AACA;AACA,YAAA,KAAA,CAAA,QAAA,CAAA,IAAA,CAAA,sBAAA,EAAA;AACA,cAAA,QAAA,EAAA,KAAA,CAAA,QADA;AAEA,cAAA,IAAA,EAAA;AAFA,aAAA,EAGA,IAHA,CAGA,UAAA,GAAA,EAAA;AACA,kBAAA,GAAA,CAAA,IAAA,CAAA,IAAA,KAAA,CAAA,EAAA;AACA,gBAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,KAAA,CAAA,OAAA,CAAA,UAAA,IAAA,EAAA;AACA,sBAAA,IAAA,CAAA,OAAA,KAAA,aAAA,EAAA;AACA,oBAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AACA;;AACA,yBAAA,IAAA;AACA,iBALA;AAMA,gBAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,IAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA;AACA,gBAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,aAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,aAAA;AACA;AAEA,aAfA;AAgBA,WA1DA;AA2DA,qBAAA,gBAAA,KAAA,EAAA,QAAA,EAAA,CACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA,WArEA;AAsEA,8BAAA,wBAAA,KAAA,EAAA;AACA,gBAAA,KAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACA,cAAA,KAAA,CAAA,UAAA,CAAA,QAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,IAAA,CAAA,GAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,IAAA,CAAA,GAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA,OAAA,CAAA,IAAA;AACA,cAAA,KAAA,CAAA,UAAA,CAAA,UAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA,EAAA;AACA,cAAA,KAAA,CAAA,UAAA,CAAA,YAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA,KAAA;;AAEA,cAAA,KAAA,CAAA,iBAAA;AACA,aANA,MAMA;AACA,cAAA,KAAA,CAAA,UAAA,CAAA,QAAA,GAAA,IAAA;AACA,cAAA,KAAA,CAAA,UAAA,CAAA,UAAA,GAAA,IAAA;AACA,cAAA,KAAA,CAAA,UAAA,CAAA,YAAA,GAAA,IAAA;AACA,aAXA,CAaA;;;AACA,YAAA,KAAA,CAAA,OAAA;;AACA,YAAA,KAAA,CAAA,WAAA,CAAA,eAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,WAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,QAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,cAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,SAAA,GAAA,EAAA;AACA,WA1FA;AA2FA,sBAAA,mBAAA;AACA;AACA,YAAA,KAAA,CAAA,OAAA;;AACA,YAAA,KAAA,CAAA,WAAA,CAAA,eAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,WAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,QAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,cAAA,GAAA,EAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,SAAA,GAAA,EAAA;AAEA,YAAA,KAAA,CAAA,UAAA,CAAA,QAAA,GAAA,IAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,UAAA,GAAA,IAAA;AACA,YAAA,KAAA,CAAA,UAAA,CAAA,YAAA,GAAA,IAAA;AACA,YAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,QAAA,GAAA,EAAA;;AACA,YAAA,KAAA,CAAA,QAAA,CAAA,IAAA,CAAA,sBAAA,EAAA;AAAA,cAAA,WAAA,EAAA;AAAA,aAAA,EAAA,IAAA,CAAA,UAAA,GAAA,EAAA;AACA,kBAAA,GAAA,CAAA,IAAA,CAAA,IAAA,KAAA,CAAA,EAAA;AACA,gBAAA,KAAA,CAAA,WAAA,CAAA,KAAA,CAAA,QAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CAAA,UAAA,GAAA,EAAA,IAAA,EAAA;AACA,kBAAA,GAAA,CAAA,IAAA,CAAA;AACA,oBAAA,KAAA,EAAA,IAAA,CAAA,IAAA,CAAA,GADA;AAEA,oBAAA,EAAA,EAAA,IAAA,CAAA,EAAA,CAAA,GAFA;AAGA,oBAAA,IAAA,EAAA,IAAA,CAAA,WAAA,CAAA;AAHA,mBAAA;AAKA,yBAAA,GAAA;AACA,iBAPA,EAOA,EAPA,CAAA;AAQA;AACA,aAXA;AAYA;AApHA;AAVA,OAFA;AAoIA,MAAA,cAAA,EAAA,EApIA;AAoIA;AAGA;AAEA;AACA,MAAA,WAAA,EAAA;AACA,QAAA,gBAAA,EAAA,OADA;AAEA,QAAA,qBAAA,EAAA,EAFA;AAEA;AACA,QAAA,aAAA,EAAA,CAHA;AAGA;AACA,QAAA,QAAA,EAAA,EAJA;AAIA;AACA,QAAA,gBAAA,EAAA,MALA;AAKA;AACA,QAAA,IAAA,EAAA,EANA;AAMA;AACA,QAAA,UAAA,EAAA,CAAA,OAAA,CAPA;AAOA;AACA,QAAA,OAAA,EAAA,CAAA,IAAA,CARA;AAQA;AACA,QAAA,QAAA,EAAA,EATA;AAUA,QAAA,eAAA,EAAA;AAVA,OA1IA;AAsJA,MAAA,eAAA,EAAA,KAtJA;AAuJA,MAAA,aAAA,EAAA,CACA;AACA,QAAA,KAAA,EAAA,IADA;AAEA,QAAA,MAAA,EAAA,gBAAA,CAAA,EAAA,MAAA,EAAA;AACA,iBAAA,CAAA,CAAA,MAAA,EAAA,EAAA,EAAA,MAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AACA;AAJA,OADA,EAOA;AACA,QAAA,KAAA,EAAA,KADA;AAEA,QAAA,GAAA,EAAA;AAFA,OAPA,EAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAA,KAAA,EAAA,IADA;AAEA,QAAA,GAAA,EAAA,UAFA;AAGA,QAAA,MAAA,EAAA,gBAAA,CAAA,EAAA,MAAA,EAAA;AACA,iBAAA,CAAA,CAAA,UAAA,EAAA;AACA,YAAA,KAAA,EAAA;AACA,uBAAA,MAAA,CAAA,GAAA,CAAA;AADA,aADA;AAIA,YAAA,EAAA,EAAA;AACA,2BAAA,kBAAA,KAAA,EAAA;AACA,gBAAA,KAAA,CAAA,UAAA,CAAA,eAAA,CAAA,MAAA,CAAA,KAAA,EAAA,QAAA,GAAA,KAAA;AACA;AAHA;AAJA,WAAA,CAAA;AAUA;AAdA,OA3BA,EA2CA;AACA,QAAA,KAAA,EAAA,IADA;AAEA,QAAA,MAAA,EAAA,gBAAA,CAAA,EAAA,MAAA,EAAA;AACA,iBAAA,CAAA,CAAA,MAAA,EAAA;AACA,YAAA,KAAA,EAAA;AACA,cAAA,KAAA,EAAA,uBADA;AAEA,cAAA,MAAA,EAAA;AAFA,aADA;AAKA,YAAA,EAAA,EAAA;AACA,cAAA,KAAA,EAAA,iBAAA;AACA,gBAAA,KAAA,CAAA,UAAA,CAAA,eAAA,GAAA,KAAA,CAAA,UAAA,CAAA,eAAA,CAAA,MAAA,CAAA,UAAA,IAAA,EAAA,KAAA;AAAA,yBAAA,KAAA,KAAA,MAAA,CAAA,KAAA;AAAA,iBAAA,CAAA;AACA,gBAAA,KAAA,CAAA,WAAA,CAAA,eAAA,GAAA,KAAA,CAAA,UAAA,CAAA,eAAA;;AACA,oBAAA,KAAA,CAAA,WAAA,CAAA,eAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACA,kBAAA,KAAA,CAAA,eAAA,GAAA,KAAA;AACA;AACA;AAPA;AALA,WAAA,EAcA,IAdA,CAAA;AAeA;AAlBA,OA3CA,CAvJA;AAwNA,MAAA,WAAA,EAAA,CACA;AACA,QAAA,KAAA,EAAA,QADA;AAEA,QAAA,QAAA,EAAA,CAFA;AAGA,QAAA,KAAA,EAAA,SAHA;AAIA,QAAA,KAAA,EAAA;AAJA,OADA,EAOA;AACA,QAAA,KAAA,EAAA,QADA;AAEA,QAAA,QAAA,EAAA,CAFA;AAGA,QAAA,KAAA,EAAA,SAHA;AAIA,QAAA,KAAA,EAAA;AAJA,OAPA,EAaA;AACA,QAAA,KAAA,EAAA,QADA;AAEA,QAAA,QAAA,EAAA,CAFA;AAGA,QAAA,KAAA,EAAA,SAHA;AAIA,QAAA,KAAA,EAAA;AAJA,OAbA,EAmBA;AACA,QAAA,KAAA,EAAA,QADA;AAEA,QAAA,QAAA,EAAA,CAFA;AAGA,QAAA,KAAA,EAAA,SAHA;AAIA,QAAA,KAAA,EAAA;AAJA,OAnBA,CAxNA;AAkPA,MAAA,OAAA,EAAA,KAlPA;AAkPA;AACA,MAAA,OAAA,EAAA,KAnPA;AAmPA;AACA,MAAA,WAAA,EAAA,KApPA;AAoPA;AACA,MAAA,OAAA,EAAA,KArPA;AAqPA;AACA,MAAA,UAAA,EAAA,EAtPA;AAsPA;AACA,MAAA,IAAA,EAAA,KAvPA;AAuPA;AACA,MAAA,GAAA,EAAA,EAxPA;AAwPA;AACA,MAAA,OAAA,EAAA,EAzPA;AAyPA;AACA,MAAA,SAAA,EAAA,EA1PA;AA0PA;AACA,MAAA,QAAA,EAAA,EA3PA;AA2PA;AACA,MAAA,WAAA,EAAA;AACA,QAAA,SAAA,EAAA,EADA;AAEA,QAAA,OAAA,EAAA,CAFA;AAGA,QAAA,MAAA,EAAA,CAHA;AAIA,QAAA,WAAA,EAAA,EAJA;AAKA,QAAA,UAAA,EAAA,EALA;AAMA,QAAA,QAAA,EAAA;AANA,OA5PA;AAoQA,MAAA,UAAA,EAAA;AACA,QAAA,SAAA,EAAA,EADA;AAEA,QAAA,OAAA,EAAA,CAFA;AAGA,QAAA,MAAA,EAAA,CAHA;AAIA,QAAA,UAAA,EAAA,EAJA;AAKA,QAAA,QAAA,EAAA,EALA;AAMA,QAAA,WAAA,EAAA;AANA,OApQA;AA4QA,MAAA,YAAA,EAAA,EA5QA;AA4QA;AACA,MAAA,SAAA,EAAA,KA7QA;AA6QA;AACA,MAAA,eAAA,EAAA,KA9QA;AAgRA,MAAA,UAAA,EAAA,EAhRA,CAgRA;;AAhRA,KAAA;AAqRA,GArTA;AAsTA,EAAA,QAAA,EAAA;AACA,IAAA,SADA,uBACA;AACA,aAAA;AAAA,QAAA,OAAA,EAAA,KAAA,UAAA,CAAA,UAAA;AAAA,QAAA,SAAA,EAAA,KAAA,UAAA,CAAA;AAAA,OAAA;AACA,KAHA;AAIA,IAAA,WAJA,yBAIA;AACA,aAAA,CAAA,KAAA,WAAA,EAAA,KAAA,UAAA,CAAA;AACA;AANA,GAtTA;AA8TA,EAAA,KAAA,EAAA;AACA,IAAA,WAAA,EAAA;AACA,MAAA,OADA,mBACA,MADA,EACA;AAEA,YAAA,MAAA,GAAA,CACA;AACA,UAAA,OAAA,EAAA,CADA;AAEA,UAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,KAFA;AAGA,UAAA,QAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAHA,SADA,EAMA;AACA,UAAA,OAAA,EAAA,CADA;AAEA,UAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA,KAFA;AAGA,UAAA,QAAA,EAAA,MAAA,CAAA,CAAA,CAAA,CAAA;AAHA,SANA,CAAA;;AAYA,YAAA,KAAA,UAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACA,eAAA,UAAA,CAAA,QAAA,GAAA,MAAA;AACA,SAFA,MAEA;AACA,eAAA,UAAA,CAAA,QAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,YAAA,MAAA,CAAA,GAAA,CAAA,UAAA,KAAA,EAAA;AACA,kBAAA,IAAA,CAAA,OAAA,KAAA,KAAA,CAAA,OAAA,EAAA;AACA,gBAAA,IAAA,GAAA,MAAA,CAAA,MAAA,CAAA,IAAA,EAAA,KAAA,CAAA;AACA;AACA,aAJA;AAKA,WANA;AAOA;AACA,OA1BA;AA2BA,MAAA,IAAA,EAAA;AA3BA,KADA;AA8BA,IAAA,WAAA,EAAA;AACA,MAAA,OADA,mBACA,MADA,EACA;AACA,aAAA,UAAA,CAAA,WAAA,GAAA,MAAA;AACA,OAHA;AAIA,MAAA,IAAA,EAAA;AAJA,KA9BA;AAoCA,IAAA,YAAA,EAAA;AACA,MAAA,OADA,mBACA,MADA,EACA;AACA,aAAA,UAAA,CAAA,YAAA,GAAA,MAAA;AACA,OAHA;AAIA,MAAA,IAAA,EAAA;AAJA;AApCA,GA9TA;AAyWA,EAAA,OAAA,EAAA;AACA,IAAA,MADA,kBACA,KADA,EACA,GADA,EACA,GADA,EACA;AACA,UAAA,GAAA,GAAA,UAAA;;AACA,UAAA,GAAA,CAAA,IAAA,CAAA,GAAA,CAAA,EAAA;AACA,YAAA,KAAA,WAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,IAAA,GAAA,IAAA,CAAA,EAAA;AACA,eAAA,QAAA,CAAA,OAAA,CAAA,YAAA;AACA;;AACA,YAAA,KAAA,WAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,IAAA,GAAA,IAAA,CAAA,EAAA;AACA,eAAA,QAAA,CAAA,OAAA,CAAA,YAAA;AACA;;AACA,YAAA,KAAA,WAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,IAAA,GAAA,IAAA,CAAA,EAAA;AACA,eAAA,QAAA,CAAA,OAAA,CAAA,YAAA;AACA;;AACA,YAAA,KAAA,WAAA,CAAA,GAAA,EAAA,KAAA,KAAA,EAAA,IAAA,GAAA,IAAA,CAAA,EAAA;AACA,eAAA,QAAA,CAAA,OAAA,CAAA,YAAA;AACA;AACA;AACA,KAjBA;AAkBA;AACA,IAAA,cAnBA,0BAmBA,QAnBA,EAmBA;AACA,UAAA,QAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACA,aAAA,eAAA,GAAA,KAAA;AACA;;AACA,MAAA,QAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA;AACA,QAAA,IAAA,CAAA,QAAA,GAAA,KAAA;AACA,eAAA,IAAA;AACA,OAJA;AAKA,WAAA,WAAA,CAAA,eAAA,GAAA,QAAA;AACA,WAAA,UAAA,CAAA,eAAA,GAAA,QAAA;AACA,KA9BA;AA+BA,IAAA,YA/BA,0BA+BA;AACA;AACA,WAAA,SAAA,CAAA;AAAA,QAAA,WAAA,EAAA,KAAA,UAAA,CAAA;AAAA,OAAA;AACA,KAlCA;AAmCA,IAAA,UAnCA,sBAmCA,GAnCA,EAmCA;AACA,WAAA,SAAA,CAAA;AACA,QAAA,QAAA,EAAA,KAAA,WAAA,CAAA,QADA;AAEA,QAAA,IAAA,EAAA,GAFA;AAGA,QAAA,WAAA,EAAA,KAAA,UAAA,CAAA;AAHA,OAAA;AAKA,KAzCA;AA0CA,IAAA,oBA1CA,kCA0CA;AAAA;AACA,UAAA,KAAA,eAAA,EAAA,CAAA;AAEA,OAFA,MAEA,CAAA;AAEA;;AAEA,WAAA,eAAA,GAAA,CAAA,KAAA,eAAA;AACA,KAlDA;AAmDA;AACA,IAAA,WApDA,uBAoDA,GApDA,EAoDA;AACA,WAAA,SAAA,CAAA;AAAA,QAAA,WAAA,EAAA,GAAA;AAAA,QAAA,WAAA,EAAA,KAAA,UAAA,CAAA;AAAA,OAAA;AACA,KAtDA;AAuDA,IAAA,OAvDA,qBAuDA;AACA,WAAA,eAAA,GAAA,KAAA;AACA,WAAA,WAAA,CAAA,eAAA,GAAA,EAAA;AACA,WAAA,UAAA,CAAA,eAAA,GAAA,EAAA;AACA,KA3DA;AA2DA;AACA,IAAA,OA5DA,mBA4DA,GA5DA,EA4DA;AACA,WAAA,OAAA,GAAA,GAAA;AACA,WAAA,WAAA,GAAA;AACA,QAAA,SAAA,EAAA,EADA;AAEA,QAAA,OAAA,EAAA,CAFA;AAGA,QAAA,MAAA,EAAA,CAHA;AAIA,QAAA,WAAA,EAAA,EAJA;AAKA,QAAA,UAAA,EAAA,EALA;AAMA,QAAA,QAAA,EAAA,EANA;AAOA,QAAA,EAAA,EAAA,KAAA,WAAA,CAAA;AAPA,OAAA;;AAUA,UAAA,GAAA,EAAA;AACA,aAAA,WAAA,CAAA,MAAA,GAAA,CAAA;AACA,OAFA,MAEA;AACA,aAAA,WAAA,CAAA,MAAA,GAAA,CAAA;AACA;AACA,KA7EA;AA8EA,IAAA,OA9EA,mBA8EA,GA9EA,EA8EA;AACA,WAAA,OAAA,GAAA,GAAA;AACA,WAAA,UAAA,GAAA;AACA,QAAA,SAAA,EAAA,EADA;AAEA,QAAA,OAAA,EAAA,CAFA;AAGA,QAAA,MAAA,EAAA,CAHA;AAIA,QAAA,UAAA,EAAA,EAJA;AAKA,QAAA,QAAA,EAAA,EALA;AAMA,QAAA,WAAA,EAAA,EANA;AAOA,QAAA,EAAA,EAAA,KAAA,UAAA,CAAA;AAPA,OAAA;;AASA,UAAA,GAAA,EAAA;AACA,aAAA,UAAA,CAAA,MAAA,GAAA,CAAA;AACA,OAFA,MAEA;AACA,aAAA,UAAA,CAAA,MAAA,GAAA,CAAA;AACA;AACA,KA9FA;AA+FA,IAAA,SA/FA,qBA+FA,IA/FA,EA+FA;AACA,WAAA,UAAA,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAA,CAAA;;AACA,UAAA,KAAA,UAAA,CAAA,IAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACA,aAAA,YAAA,GAAA,KAAA,UAAA,CAAA,IAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,cAAA,GAAA,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAA,CAAA;AACA,iBAAA,GAAA,CAAA,MAAA;AACA,iBAAA,GAAA;AACA,SAJA,CAAA;AAKA,OANA,MAMA;AACA,aAAA,YAAA,GAAA,EAAA;AACA;AACA,KA1GA;AA2GA;AACA,IAAA,SA5GA,qBA4GA,KA5GA,EA4GA;AAAA;;AACA,WAAA,QAAA,CAAA,IAAA,CAAA,uBAAA,EAAA,KAAA,EAAA,IAAA,CAAA,UAAA,GAAA,EAAA;AACA,YAAA,GAAA,CAAA,IAAA,CAAA,IAAA,KAAA,CAAA,EAAA;AACA,cAAA,KAAA,CAAA,cAAA,CAAA,aAAA,CAAA,EAAA;AACA,YAAA,MAAA,CAAA,WAAA,CAAA,QAAA,GAAA,EAAA;AACA,YAAA,MAAA,CAAA,WAAA,CAAA,QAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,MAAA,CACA,UAAA,GAAA,EAAA,IAAA,EAAA;AACA,cAAA,GAAA,CAAA,IAAA,CAAA;AACA,gBAAA,KAAA,EAAA,IAAA,CAAA,WAAA,CAAA,GADA;AAEA,gBAAA,EAAA,EAAA,IAAA,CAAA,EAAA,CAAA;AAFA,eAAA;AAIA,qBAAA,GAAA;AACA,aAPA,EAQA,EARA,CAAA;AAUA;;AACA,UAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,KAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,gBAAA,IAAA,CAAA,OAAA,KAAA,aAAA,EAAA;AACA,cAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AACA,aAFA,MAEA;AACA,cAAA,IAAA,CAAA,IAAA,GAAA,KAAA;AACA;AACA,WANA;AAOA,UAAA,MAAA,CAAA,WAAA,CAAA,IAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA;AACA,UAAA,MAAA,CAAA,WAAA,CAAA,aAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,aAAA;AACA;AACA,OAzBA;AA0BA,KAvIA;AAyIA,IAAA,UAzIA,wBAyIA;AAAA;;AAAA;AAEA;AACA,UAAA,KAAA,UAAA,CAAA,UAAA,KAAA,CAAA,KAAA,CAAA,KAAA,UAAA,CAAA,cAAA,IAAA,KAAA,UAAA,CAAA,cAAA,CAAA,MAAA,KAAA,CAAA,CAAA,EAAA;AACA,aAAA,MAAA,CAAA,OAAA,CAAA;AACA,UAAA,KAAA,EAAA,IADA;AAEA,UAAA,OAAA,EAAA,UAFA;AAGA,UAAA,IAAA,EAAA;AAHA,SAAA;AAKA;AACA,OAVA,CAYA;;;AACA,UAAA,KAAA,UAAA,CAAA,aAAA,KAAA,CAAA,EAAA;AAAA;AACA;AACA,YAAA,KAAA,UAAA,CAAA,YAAA,IAAA,KAAA,UAAA,CAAA,YAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACA,eAAA,MAAA,CAAA,OAAA,CAAA;AACA,YAAA,KAAA,EAAA,IADA;AAEA,YAAA,OAAA,EAAA,SAFA;AAGA,YAAA,IAAA,EAAA;AAHA,WAAA;AAMA;AACA;AACA,OAXA,MAWA;AAAA;AACA;AACA,YAAA,KAAA,UAAA,CAAA,YAAA,CAAA,CAAA,KAAA,CAAA,KAAA,UAAA,CAAA,YAAA,CAAA,CAAA,EAAA,WAAA,EAAA;AACA,eAAA,MAAA,CAAA,OAAA,CAAA;AACA,YAAA,KAAA,EAAA,IADA;AAEA,YAAA,OAAA,EAAA,UAFA;AAGA,YAAA,IAAA,EAAA;AAHA,WAAA;AAKA;AACA;AACA,OAlCA,CAoCA;;;AACA,UAAA,KAAA,UAAA,CAAA,gBAAA,KAAA,CAAA,EAAA;AACA;AACA,YAAA,CAAA,KAAA,WAAA,CAAA,CAAA,EAAA,KAAA,EAAA;AACA,eAAA,MAAA,CAAA,OAAA,CAAA;AACA,YAAA,KAAA,EAAA,IADA;AAEA,YAAA,OAAA,EAAA,YAFA;AAGA,YAAA,IAAA,EAAA;AAHA,WAAA;AAKA;AACA,SATA,CAUA;;;AACA,YAAA,CAAA,KAAA,WAAA,CAAA,CAAA,EAAA,KAAA,EAAA;AACA,eAAA,MAAA,CAAA,OAAA,CAAA;AACA,YAAA,KAAA,EAAA,IADA;AAEA,YAAA,OAAA,EAAA,YAFA;AAGA,YAAA,IAAA,EAAA;AAHA,WAAA;AAKA;AACA;AACA,OAxDA,CA2DA;;;AACA,UAAA,KAAA,UAAA,CAAA,UAAA,KAAA,CAAA,IAAA,CAAA,KAAA,UAAA,CAAA,MAAA,EAAA;AACA,aAAA,MAAA,CAAA,OAAA,CAAA;AACA,UAAA,KAAA,EAAA,IADA;AAEA,UAAA,OAAA,EAAA,UAFA;AAGA,UAAA,IAAA,EAAA;AAHA,SAAA;AAKA;AACA,OAnEA,CAqEA;;;AACA,UAAA,KAAA,UAAA,CAAA,UAAA,KAAA,CAAA,IAAA,CAAA,KAAA,UAAA,CAAA,SAAA,EAAA;AACA,aAAA,MAAA,CAAA,OAAA,CAAA;AACA,UAAA,KAAA,EAAA,IADA;AAEA,UAAA,OAAA,EAAA,YAFA;AAGA,UAAA,IAAA,EAAA;AAHA,SAAA;AAKA;AACA,OA7EA,CA+EA;;;AACA,UAAA,KAAA,UAAA,CAAA,UAAA,KAAA,CAAA,KAAA,CAAA,KAAA,UAAA,CAAA,WAAA,IAAA,KAAA,UAAA,CAAA,WAAA,CAAA,MAAA,KAAA,CAAA,CAAA,EAAA;AACA,aAAA,MAAA,CAAA,OAAA,CAAA;AACA,UAAA,KAAA,EAAA,IADA;AAEA,UAAA,OAAA,EAAA,UAFA;AAGA,UAAA,IAAA,EAAA;AAHA,SAAA;AAKA;AACA,OAvFA,CAyFA;;;AACA,UAAA,KAAA,OAAA,KAAA,CAAA,KAAA,WAAA,CAAA,SAAA,IAAA,CAAA,KAAA,WAAA,CAAA,WAAA,CAAA,EAAA;AACA,aAAA,MAAA,CAAA,OAAA,CAAA;AACA,UAAA,KAAA,EAAA,IADA;AAEA,UAAA,OAAA,EAAA,aAFA;AAGA,UAAA,IAAA,EAAA;AAHA,SAAA;AAKA;AACA,OAjGA,CAkGA;;;AACA,UAAA,KAAA,OAAA,IAAA,CAAA,KAAA,UAAA,CAAA,SAAA,EAAA;AACA,aAAA,MAAA,CAAA,OAAA,CAAA;AACA,UAAA,KAAA,EAAA,IADA;AAEA,UAAA,OAAA,EAAA,aAFA;AAGA,UAAA,IAAA,EAAA;AAHA,SAAA;AAKA;AACA,OA1GA,CA4GA;;;AACA,UAAA,KAAA,OAAA,IAAA,KAAA,OAAA,EAAA;AACA,YAAA,KAAA,GAAA,KAAA,WAAA,CAAA,OAAA,KAAA,CAAA,GAAA,MAAA,CAAA,KAAA,WAAA,CAAA,SAAA,CAAA,GAAA,MAAA,CAAA,KAAA,WAAA,CAAA,SAAA,CAAA,GAAA,EAAA;AACA,YAAA,GAAA,GAAA,KAAA,UAAA,CAAA,OAAA,KAAA,CAAA,GAAA,MAAA,CAAA,KAAA,UAAA,CAAA,SAAA,CAAA,GAAA,MAAA,CAAA,KAAA,UAAA,CAAA,SAAA,CAAA,GAAA,EAAA;;AAEA,YAAA,KAAA,IAAA,GAAA,EAAA;AACA,eAAA,MAAA,CAAA,OAAA,CAAA;AACA,YAAA,KAAA,EAAA,IADA;AAEA,YAAA,OAAA,EAAA,kBAFA;AAGA,YAAA,IAAA,EAAA;AAHA,WAAA;AAKA;AACA;AACA;;AAEA,UAAA,QAAA,GAAA,IAAA,CAAA,KAAA,CAAA,KAAA,OAAA,CAAA,OAAA,CAAA,UAAA,CAAA,WAAA,EAAA,CAAA;AACA,MAAA,QAAA,CAAA,aAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,YAAA,MAAA,CAAA,UAAA,CAAA,GAAA,KAAA,IAAA,CAAA,GAAA,EAAA;AACA,UAAA,IAAA,CAAA,IAAA,GAAA,MAAA,CAAA,UAAA,CAAA,IAAA;AACA;;AACA,eAAA,IAAA;AACA,OALA;;AAQA,UAAA,KAAA,UAAA,CAAA,UAAA,KAAA,KAAA,UAAA,CAAA,UAAA,IAAA,KAAA,UAAA,CAAA,UAAA,EAAA;AACA,aAAA,MAAA,CAAA,OAAA,CAAA;AACA,UAAA,KAAA,EAAA,IADA;AAEA,UAAA,OAAA,EAAA,iCAFA;AAGA,UAAA,IAAA,EAAA,IAHA;AAIA,UAAA,UAAA,EAAA,IAJA;AAKA,UAAA,IAAA,EAAA,gBAAA;AACA,YAAA,MAAA,CAAA,IAAA,CAAA,cAAA,GAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,qBAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA,OAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA;AAEA,kBAAA,QAAA,GAAA,IAAA,CAAA,KAAA,CAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA,UAAA,CAAA,WAAA,EAAA,CAAA;AACA,cAAA,QAAA,CAAA,aAAA,GAAA,QAAA,CAAA,aAAA,CAAA,MAAA,CAAA,UAAA,IAAA;AAAA,uBAAA,IAAA,CAAA,GAAA,KAAA,IAAA,CAAA,IAAA,CAAA,GAAA;AAAA,eAAA,CAAA;AACA,aALA;;AAMA,YAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA,IAAA,CAAA,QAAA,GAAA,IAAA,CAAA,SAAA,CAAA,QAAA,CAAA;;AACA,YAAA,MAAA,CAAA,OAAA,CAAA,OAAA,CAAA,IAAA;;AACA,YAAA,MAAA,CAAA,KAAA,CAAA,aAAA;AACA;AAfA,SAAA;AAiBA;AACA,OAnBA,MAmBA;AACA,aAAA,OAAA,CAAA,OAAA,CAAA,IAAA,CAAA,QAAA,GAAA,IAAA,CAAA,SAAA,CAAA,QAAA,CAAA;AACA,aAAA,OAAA,CAAA,OAAA,CAAA,IAAA;AACA,aAAA,KAAA,CAAA,aAAA;AACA;AAEA,KAtSA;AAuSA,IAAA,WAvSA,yBAuSA;AAAA;AACA,WAAA,OAAA,CAAA,OAAA,CAAA,OAAA,CAAA,MAAA,CAAA,KAAA,UAAA,CAAA,GAAA,CAAA,IAAA,KAAA,UAAA;AACA,WAAA,KAAA,CAAA,aAAA;AACA,KA1SA;AA2SA,IAAA,mBA3SA,iCA2SA;AAAA;AACA,WAAA,UAAA,CAAA,YAAA,CAAA,CAAA,EAAA,WAAA,GAAA,IAAA;AACA,WAAA,UAAA,GAAA,EAAA;AACA,WAAA,YAAA,GAAA,EAAA;AACA,KA/SA;AAiTA;AACA,IAAA,gBAlTA,4BAkTA,KAlTA,EAkTA;AACA,WAAA,UAAA,CAAA,cAAA,GAAA,KAAA;AACA,KApTA;AAqTA,IAAA,cArTA,0BAqTA,KArTA,EAqTA;AAAA;AACA,WAAA,UAAA,CAAA,QAAA,GAAA,KAAA;AACA,KAvTA;AAwTA,IAAA,iBAxTA,6BAwTA,KAxTA,EAwTA;AAAA;AACA,WAAA,UAAA,CAAA,WAAA,GAAA,KAAA;AACA,KA1TA;AA2TA,IAAA,iBA3TA,+BA2TA;AAAA;;AAAA;AACA,WAAA,QAAA,CAAA,IAAA,CAAA,sBAAA,EAAA;AACA,QAAA,EAAA,EAAA,KAAA,UAAA,CAAA,UADA;AAEA,QAAA,UAAA,EAAA;AAFA,OAAA,EAIA,IAJA,CAIA,UAAA,GAAA,EAAA;AACA,YAAA,GAAA,CAAA,IAAA,CAAA,UAAA,KAAA,CAAA,EAAA;AACA,UAAA,MAAA,CAAA,cAAA,GAAA,GAAA,CAAA,IAAA,CAAA,IAAA,CAAA,UAAA;AACA,SAFA,MAEA;AACA,UAAA,MAAA,CAAA,cAAA,GAAA,EAAA;AACA;AACA,OAVA;AAWA,KAvUA;AAwUA,IAAA,eAxUA,2BAwUA,KAxUA,EAwUA;AAAA;AACA,UAAA,KAAA,CAAA,CAAA,CAAA,KAAA,aAAA,EAAA;AACA,aAAA,UAAA,CAAA,SAAA,GAAA,KAAA,cAAA,CAAA,MAAA,CAAA,UAAA,GAAA,EAAA,OAAA,EAAA;AACA,UAAA,GAAA,CAAA,IAAA,CAAA,OAAA,CAAA,EAAA;AACA,iBAAA,GAAA;AACA,SAHA,EAGA,EAHA,CAAA;AAIA;AACA;AA/UA,GAzWA;AA0rBA,EAAA,OA1rBA,qBA0rBA;AAAA;;AACA;AACA,SAAA,UAAA,GAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA,SAAA,CAAA,KAAA,UAAA,CAAA,CAAA;;AAEA,QAAA,KAAA,UAAA,CAAA,YAAA,CAAA,MAAA,KAAA,CAAA,EAAA;AACA,WAAA,UAAA,CAAA,YAAA,GAAA,CACA;AACA,QAAA,EAAA,EAAA,IADA;AAEA,QAAA,UAAA,EAAA,EAFA;AAGA,QAAA,WAAA,EAAA,IAHA;AAIA,QAAA,QAAA,EAAA;AAJA,OADA,CAAA;AAQA,KATA,MASA;AACA,WAAA,UAAA,CAAA,YAAA,GAAA,CACA;AACA,QAAA,EAAA,EAAA,KAAA,UAAA,CAAA,YAAA,CAAA,CAAA,EAAA,EADA;AAEA,QAAA,UAAA,EAAA,EAFA;AAGA,QAAA,WAAA,EAAA,KAAA,UAAA,CAAA,YAAA,CAAA,CAAA,EAAA,WAHA;AAIA,QAAA,QAAA,EAAA,KAAA,UAAA,CAAA,YAAA,CAAA,CAAA,EAAA;AAJA,OADA,CAAA;AAQA;;AAEA,QAAA,KAAA,UAAA,CAAA,eAAA,EAAA;AACA,WAAA,WAAA,CAAA,eAAA,GAAA,KAAA,UAAA,CAAA,eAAA;AACA;;AAGA,QACA,KAAA,UAAA,CAAA,YAAA,IACA,KAAA,UAAA,CAAA,YAAA,CAAA,MAAA,GAAA,CAFA,EAGA;AACA,WAAA,UAAA,CAAA,YAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,YAAA,MAAA,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAA,CAAA;AACA,QAAA,MAAA,CAAA,QAAA,IAAA,IAAA,CAAA,gBAAA,GAAA,IAAA,CAAA,gBAAA,GAAA,IAAA,CAAA,kBAAA,GAAA,GAAA;AACA,QAAA,MAAA,CAAA,YAAA,GAAA,MAAA,CAAA,WAAA,GAAA,MAAA,CAAA,WAAA,GAAA,MAAA,CAAA,YAAA;AACA,QAAA,MAAA,CAAA,aAAA,GAAA,MAAA,CAAA,YAAA,GAAA,MAAA,CAAA,YAAA,GAAA,MAAA,CAAA,aAAA;AACA,QAAA,MAAA,CAAA,kBAAA,GAAA,IAAA,CAAA,gBAAA,GAAA,IAAA,CAAA,gBAAA,GAAA,IAAA,CAAA,kBAAA;AACA,eAAA,MAAA,CAAA,WAAA;AACA,eAAA,MAAA,CAAA,YAAA;AACA,eAAA,MAAA,CAAA,gBAAA;AAEA,YAAA,IAAA,GAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,MAAA,CAAA;;AACA,QAAA,MAAA,CAAA,YAAA,CAAA,IAAA,CAAA,MAAA;;AACA,QAAA,IAAA,CAAA,MAAA,GAAA,IAAA,CAAA,gBAAA,GAAA,IAAA,CAAA,gBAAA,GAAA,IAAA,CAAA,kBAAA;AACA,QAAA,MAAA,CAAA,UAAA,CAAA,IAAA,GACA,MAAA,CAAA,UAAA,CAAA,IAAA,CAAA,IAAA,CAAA,IAAA,CADA,GAEA,MAAA,CAAA,IAAA,CAAA,MAAA,CAAA,UAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,CAFA;AAGA,OAhBA;AAiBA,WAAA,UAAA,CAAA,KAAA,GACA,KAAA,UAAA,CAAA,KAAA,GAAA,KAAA,UAAA,CAAA,IAAA,CAAA,MADA,GAEA,KAAA,IAAA,CAAA,KAAA,UAAA,EAAA,OAAA,EAAA,KAAA,UAAA,CAAA,IAAA,CAAA,MAAA,CAFA;;AAGA,UAAA,KAAA,QAAA,CAAA,MAAA,GAAA,CAAA,EAAA;AACA,aAAA,QAAA,GAAA,KAAA,QAAA,CAAA,SAAA,CAAA,CAAA,EAAA,KAAA,QAAA,CAAA,MAAA,GAAA,CAAA,CAAA;AACA;AACA;;AAEA,QACA,KAAA,UAAA,CAAA,QAAA,IACA,KAAA,UAAA,CAAA,QAAA,CAAA,MAAA,GAAA,CAFA,EAGA;AACA,WAAA,UAAA,CAAA,QAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,YAAA,IAAA,CAAA,OAAA,KAAA,CAAA,EAAA;AACA,UAAA,MAAA,CAAA,WAAA,CAAA,CAAA,EAAA,KAAA,GAAA,IAAA,CAAA,OAAA;AACA,UAAA,MAAA,CAAA,WAAA,CAAA,CAAA,EAAA,KAAA,GAAA,IAAA,CAAA,QAAA;AACA;;AACA,YAAA,IAAA,CAAA,OAAA,KAAA,CAAA,EAAA;AACA,UAAA,MAAA,CAAA,WAAA,CAAA,CAAA,EAAA,KAAA,GAAA,IAAA,CAAA,OAAA;AACA,UAAA,MAAA,CAAA,WAAA,CAAA,CAAA,EAAA,KAAA,GAAA,IAAA,CAAA,QAAA;AACA;AACA,OATA;AAUA;;AAEA,QACA,KAAA,UAAA,CAAA,WAAA,IACA,KAAA,UAAA,CAAA,WAAA,CAAA,MAAA,GAAA,CAFA,EAGA;AACA,WAAA,UAAA,CAAA,WAAA,CAAA,GAAA,CAAA,UAAA,IAAA,EAAA;AACA,YAAA,IAAA,CAAA,UAAA,IAAA,EAAA,EAAA;AACA,UAAA,MAAA,CAAA,UAAA,GAAA,IAAA;AACA,SAFA,MAEA;AACA,UAAA,MAAA,CAAA,WAAA,GAAA,IAAA;AACA;AACA,OANA;AAOA,WAAA,WAAA,CAAA,MAAA,KAAA,CAAA,GACA,KAAA,OAAA,GAAA,IADA,GAEA,KAAA,OAAA,GAAA,KAFA;AAGA,WAAA,UAAA,CAAA,MAAA,KAAA,CAAA,GACA,KAAA,OAAA,GAAA,IADA,GAEA,KAAA,OAAA,GAAA,KAFA;AAGA,KAjBA,MAiBA;AACA,WAAA,UAAA,CAAA,WAAA,GAAA,CACA;AACA,QAAA,SAAA,EAAA,EADA;AAEA,QAAA,OAAA,EAAA,CAFA;AAGA,QAAA,MAAA,EAAA,CAHA;AAIA,QAAA,WAAA,EAAA,EAJA;AAKA,QAAA,UAAA,EAAA;AALA,OADA,EAQA;AACA,QAAA,SAAA,EAAA,EADA;AAEA,QAAA,OAAA,EAAA,CAFA;AAGA,QAAA,MAAA,EAAA,CAHA;AAIA,QAAA,UAAA,EAAA,EAJA;AAKA,QAAA,WAAA,EAAA;AALA,OARA,CAAA;AAgBA,KA5GA,CA8GA;;;AACA,QAAA,KAAA,UAAA,CAAA,UAAA,EAAA;AACA,WAAA,WAAA,CAAA,KAAA,CAAA,eAAA,GAAA,CACA;AACA,QAAA,EAAA,EAAA,KAAA,UAAA,CAAA,UADA;AAEA,QAAA,KAAA,EAAA,KAAA,UAAA,CAAA;AAFA,OADA,CAAA;AAMA,KAtHA,CAwHA;;;AACA,QAAA,KAAA,UAAA,CAAA,UAAA,EAAA;AACA,WAAA,iBAAA;AACA;AACA,GAtzBA;AAuzBA,EAAA,OAvzBA,qBAuzBA,CACA;;AACA;AACA;AA1zBA,C","sourcesContent":["<template>\r\n <!-- 过程节点配置 -->\r\n <div class=\"DynamicProcessNodeConfig\">\r\n <div>\r\n <div class=\"splitItem\">节点配置</div>\r\n <div class=\"nodeSetbox\">\r\n <Form>\r\n <!-- 节点名称 -->\r\n <FormItem label=\"节点名称:\" :label-width=\"100\">\r\n <Input v-model=\"configData.name\" placeholder=\"请输入\" :disabled=\"readOnly\"/>\r\n </FormItem>\r\n\r\n <!-- 单据类型选择 -->\r\n <FormItem label=\"单据类型:\" :label-width=\"100\" >\r\n <DropDownSelectFilter\r\n :disabled=\"readOnly\"\r\n v-bind=\"tableConfig.props\"\r\n v-on=\"tableConfig.event\"\r\n >\r\n\r\n </DropDownSelectFilter>\r\n </FormItem>\r\n\r\n <!-- 可见按钮 -->\r\n <FormItem label=\"可见按钮:\" :label-width=\"100\">\r\n <Select v-model=\"configData.visibleBt\" :disabled=\"readOnly\" multiple @on-change=\"visibleBtChange\" >\r\n <Option v-for=\"(item,index) in visibleButtons\" :key=\"index\" :value=\"item.ID\">{{item.Label}}</Option>\r\n </Select>\r\n </FormItem>\r\n\r\n <!-- 节点必经 -->\r\n <FormItem label=\"节点必经:\" :label-width=\"100\">\r\n <Select v-model=\"configData.inevitable\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">是</Option>\r\n <Option :value=\"1\" :key=\"1\">否</Option>\r\n <Option :value=\"2\" :key=\"2\">扩展</Option>\r\n </Select>\r\n </FormItem>\r\n <FormItem :label-width=\"100\" v-if=\"configData.inevitable === 2\">\r\n <label slot=\"label\"><i class=\"requireStyle\">*</i>规则配置:</label>\r\n <RuleConfig headTitle=\"节点必经规则\" :tableConfig=\"{tableId:configData.nodeFormId,tableName:configData.nodeForm}\" :defaultData=\"configData.inevitableExts\" @getResult=\"inevitableResult\"></RuleConfig>\r\n </FormItem>\r\n\r\n <!-- 节点指派 -->\r\n <FormItem label=\"节点必指派:\" :label-width=\"100\">\r\n <Select v-model=\"configData.assignNode\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">是</Option>\r\n <Option :value=\"1\" :key=\"1\">否</Option>\r\n </Select>\r\n </FormItem>\r\n\r\n <!-- 审批人 -->\r\n <FormItem :label-width=\"100\">\r\n <label slot=\"label\"><i class=\"requireStyle\">*</i>选择操作人:</label>\r\n <Select v-model=\"configData.approverStyle\" :disabled=\"readOnly\" @on-change=\"approverStyleChange\">\r\n <Option :value=\"0\" :key=\"0\">直接选择</Option>\r\n <Option :value=\"1\" :key=\"1\">扩展程序</Option>\r\n </Select>\r\n </FormItem>\r\n <FormItem :label-width=\"100\" v-if=\"configData.approverStyle === 0\">\r\n <label slot=\"label\"><i class=\"requireStyle\">*</i>操作人:</label>\r\n <complexPop :title=\"'选择操作人'\" :resultData=\"resultData\" :disabled=\"readOnly\" @getTotalResult=\"getResult\"></complexPop>\r\n </FormItem>\r\n <FormItem :label-width=\"100\" v-if=\"configData.approverStyle === 1\">\r\n <label slot=\"label\"><i class=\"requireStyle\">*</i>扩展程序:</label>\r\n <Input v-model=\"configData.actionConfig[0].handleValue\" placeholder=\"请输入\" :disabled=\"readOnly\" />\r\n </FormItem>\r\n\r\n <!-- 动态指派操作人 -->\r\n <FormItem label=\"动态指派操作人:\" :label-width=\"110\">\r\n <!-- <Select v-model=\"configData.assignApprover\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">动态指派节点操作人</Option>\r\n <Option :value=\"1\" :key=\"1\">默认操作人</Option>\r\n </Select> -->\r\n <i-switch class=\"switchPage\" v-model=\"configData.assignApprover\" :true-value=\"0\" :false-value=\"1\" :disabled=\"readOnly\" />\r\n </FormItem>\r\n\r\n <!-- 审批条件 -->\r\n <FormItem label=\"审批条件:\" :label-width=\"100\" v-if=\"configData.category === 'Approval'\">\r\n <Select v-model=\"configData.approveCondition\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">自定义人数配置</Option>\r\n <Option :value=\"1\" :key=\"1\">会签</Option>\r\n <Option :value=\"2\" :key=\"2\">或签</Option>\r\n </Select>\r\n </FormItem>\r\n <FormItem v-if=\"configData.approveCondition === 0 && configData.category === 'Approval'\">\r\n <Row>\r\n <Col span=\"24\" style=\"display:flex\">\r\n <span>\r\n <i class=\"requireStyle\">*</i>\r\n <Icon\r\n v-if=\"pageBtnData[0].color\"\r\n :type=\"pageBtnData[0].icontype===1?'ios-checkmark-circle':'ios-close-circle'\"\r\n :color=\"pageBtnData[0].color\"\r\n />\r\n {{pageBtnData[0].label}}:\r\n </span>\r\n <Input v-model=\"pageBtnData[0].value\" :regx=\"/^[0-9]*$/\" @on-blur=\"onBlur(...arguments,0)\" style=\"flex:1\" :disabled=\"readOnly\" />\r\n </Col>\r\n </Row>\r\n </FormItem>\r\n <FormItem v-if=\"configData.approveCondition === 0 && configData.category === 'Approval'\">\r\n <Row>\r\n <Col span=\"24\" style=\"display:flex\">\r\n <span>\r\n <i class=\"requireStyle\">*</i>\r\n <Icon\r\n v-if=\"pageBtnData[2].color\"\r\n :type=\"pageBtnData[2].icontype===1?'ios-checkmark-circle':'ios-close-circle'\"\r\n :color=\"pageBtnData[2].color\"\r\n />\r\n {{pageBtnData[2].label}}:\r\n </span>\r\n <Input v-model=\"pageBtnData[2].value\" :regx=\"/^[0-9]*$/\" @on-blur=\"onBlur(...arguments,2)\" style=\"flex:1\" :disabled=\"readOnly\" />\r\n </Col>\r\n </Row>\r\n </FormItem>\r\n\r\n <!-- 当前可为驳回节点 -->\r\n <FormItem label=\"可为驳回节点:\" :label-width=\"100\">\r\n <Select v-model=\"configData.whetherBack\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">是</Option>\r\n <Option :value=\"1\" :key=\"1\">否</Option>\r\n </Select>\r\n </FormItem>\r\n\r\n <!-- 驳回按钮 -->\r\n <FormItem label=\"驳回按钮:\" :label-width=\"100\">\r\n <i-switch class=\"switchPage\" v-model=\"configData.nodeBack\" :true-value=\"0\" :false-value=\"1\" :disabled=\"readOnly\" />\r\n </FormItem>\r\n\r\n <!-- 驳回操作 -->\r\n <FormItem label=\"驳回操作:\" :label-width=\"100\" v-if=\"configData.category === 'Approval'\">\r\n\r\n <Select v-model=\"configData.assignBack\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">动态指派(在流程中手动指派节点)</Option>\r\n <Option :value=\"1\" :key=\"1\">指定驳回节点</Option>\r\n </Select>\r\n </FormItem>\r\n <FormItem :label-width=\"100\" v-if=\"configData.assignBack === 1 && configData.category === 'Approval'\">\r\n <label slot=\"label\"><i class=\"requireStyle\">*</i>驳回节点:</label>\r\n <Select v-model=\"configData.backId\" :disabled=\"readOnly\">\r\n <Option v-for=\"item in rejectedNodes\" :value=\"item.value\" :key=\"item.value\">{{ item.label }}</Option>\r\n </Select>\r\n </FormItem>\r\n <!-- <FormItem label=\"操作人:\" :label-width=\"100\" v-if=\"(configData.assignBack === 0 || configData.assignBack === 1) && configData.category === 'Approval'\">\r\n <Select v-model=\"configData.assignApprover\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">动态指派(手动指派驳回节点的操作人)</Option>\r\n <Option :value=\"1\" :key=\"1\">默认(下一阶段设置的操作人)</Option>\r\n </Select>\r\n </FormItem> -->\r\n\r\n <!-- 同意按钮 -->\r\n <FormItem label=\"同意操作:\" :label-width=\"100\" v-if=\"configData.category === 'Approval'\">\r\n <i-switch class=\"switchPage\" v-model=\"configData.nodeAgree\" :true-value=\"0\" :false-value=\"1\" :disabled=\"readOnly\" />\r\n </FormItem>\r\n\r\n <!-- 直接结束流程 -->\r\n <FormItem label=\"直接结束流程:\" :label-width=\"100\" v-if=\"configData.category === 'Approval'\">\r\n <i-switch class=\"switchPage\" v-model=\"configData.manualConfig\" :true-value=\"'1'\" :false-value=\"'0'\" :disabled=\"readOnly\" />\r\n </FormItem>\r\n\r\n\r\n <!-- 跳转路径 -->\r\n <FormItem label=\"跳转路径:\" :label-width=\"100\">\r\n <Input v-model=\"configData.nodeUrl\" placeholder=\"请输入\" :disabled=\"readOnly\"/>\r\n </FormItem>\r\n\r\n <!-- 前置事件 -->\r\n <FormItem label=\"前置事件:\" :label-width=\"100\">\r\n <!-- <Input v-model=\"configData.nodeUrl\" placeholder=\"请输入\" :disabled=\"readOnly\"/> -->\r\n <RuleConfig headTitle=\"前置事件规则\" :tableConfig=\"{tableId:configData.nodeFormId,tableName:configData.nodeForm}\" :defaultData=\"configData.preEvent\" @getResult=\"preEventResult\"></RuleConfig>\r\n </FormItem>\r\n\r\n <!-- 后置事件 -->\r\n <FormItem label=\"后置事件:\" :label-width=\"100\">\r\n <!-- <Input v-model=\"configData.nodeUrl\" placeholder=\"请输入\" :disabled=\"readOnly\"/> -->\r\n <RuleConfig headTitle=\"后置事件规则\" :tableConfig=\"{tableId:configData.nodeFormId,tableName:configData.nodeForm}\" :defaultData=\"configData.behindEvent\" @getResult=\"behindEventResult\"></RuleConfig>\r\n </FormItem>\r\n\r\n\r\n </Form>\r\n </div>\r\n\r\n <div class=\"splitItem\">节点操作权限</div>\r\n <div class=\"nodeSetbox\">\r\n <Form>\r\n <!-- 显示字段 -->\r\n <FormItem label=\"显示字段:\" :label-width=\"100\">\r\n <Row>\r\n <Col span=\"19\">\r\n <DropMultiSelectFilter\r\n :disabled=\"readOnly\"\r\n :single=\"false\"\r\n :totalRowCount=\"modifyField.totalRowCount\"\r\n :pageSize=\"modifyField.pageSize\"\r\n @on-page-change=\"changePage\"\r\n :dataEmptyMessage=\"modifyField.dataEmptyMessage\"\r\n @on-input-value-change=\"inputChange\"\r\n @on-fkrp-selected=\"OnFkrpSelected\"\r\n @on-popper-show=\"onPopperShow\"\r\n @on-clear=\"onClear\"\r\n :data=\"modifyField.data\"\r\n :hidecolumns=\"modifyField.columns\"\r\n :AutoData=\"modifyField.AutoData\"\r\n :default-selected=\"modifyField.defaultSelected\"\r\n :columnsKey=\"modifyField.columnsKey\"\r\n ></DropMultiSelectFilter>\r\n </Col>\r\n <Col span=\"4\" offset=\"1\">\r\n <span style=\"color:#5B85E4;cursor:pointer\" v-if=\"configData.modifiableField.length > 0\" @click=\"modifiableFieldClick\">{{modifyTableShow?'关闭修改':'更改权限'}}</span>\r\n <span style=\"color:#ccc;cursor:pointer\" v-if=\"configData.modifiableField.length === 0\">更改权限</span>\r\n </Col>\r\n </Row>\r\n </FormItem>\r\n <FormItem v-if=\"modifyTableShow && configData.modifiableField.length > 0\">\r\n <Row>\r\n <Table border height=\"200\" :columns=\"modifyColumns\" :data=\"configData.modifiableField\"></Table>\r\n </Row>\r\n </FormItem>\r\n\r\n <!-- 作废操作 -->\r\n <FormItem label=\"作废操作:\" :label-width=\"100\">\r\n <Select v-model=\"configData.nodeCancle\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">直接作废</Option>\r\n <Option :value=\"1\" :key=\"1\">发起作废(提交作废申请)</Option>\r\n <Option :value=\"2\" :key=\"2\">否(不显示作废按钮)</Option>\r\n </Select>\r\n </FormItem>\r\n <FormItem :label-width=\"100\" v-if=\"configData.nodeCancle === 1\">\r\n <label slot=\"label\"><i class=\"requireStyle\">*</i>申请地址:</label>\r\n <Input v-model=\"configData.cancleUrl\" placeholder=\"请输入\" :disabled=\"readOnly\"/>\r\n </FormItem>\r\n\r\n <!-- 指派流转节点 -->\r\n <FormItem label=\"指派流转节点:\" :label-width=\"100\">\r\n <Select v-model=\"configData.assignNext\" :disabled=\"readOnly\" >\r\n <Option :value=\"0\" :key=\"0\">是(可批量指派接下来几节点的审批人)</Option>\r\n <Option :value=\"1\" :key=\"1\">否(节点不需要流转)</Option>\r\n </Select>\r\n </FormItem>\r\n <FormItem :label-width=\"100\" v-if=\"configData.assignNext === 0\">\r\n <label slot=\"label\"><i class=\"requireStyle\">*</i>节点范围:</label>\r\n <Select v-model=\"configData.assignRange\" multiple :disabled=\"readOnly\" >\r\n <Option v-for=\"item in assignedNodes\" :value=\"item.value\" :key=\"item.value\">{{ item.label }}</Option>\r\n </Select>\r\n </FormItem>\r\n\r\n\r\n </Form>\r\n </div>\r\n\r\n <div class=\"splitItem\">超时设置</div>\r\n <div class=\"nodeSetbox\">\r\n <div class=\"boxItem\">\r\n <Form>\r\n <FormItem label=\"超时提醒:\" :label-width=\"100\">\r\n <i-switch v-model=\"status1\" @on-change=\"change1\" :disabled=\"readOnly\" />\r\n </FormItem>\r\n <FormItem label=\"超时阀值:\" :label-width=\"100\" :required=\"status1\" v-if=\"status1\">\r\n <Input v-model=\"setOvertime.threshold\" :regx=\"/^[1-9]\\d*$/\" :disabled=\"readOnly\">\r\n <Select v-model=\"setOvertime.sources\" slot=\"append\" style=\"width:70px\" :disabled=\"readOnly\">\r\n <Option :value=\"0\">小时</Option>\r\n <Option :value=\"1\">天</Option>\r\n </Select>\r\n </Input>\r\n </FormItem>\r\n <FormItem label=\"邮箱接口:\" :label-width=\"100\" :required=\"status1\" v-if=\"status1\">\r\n <Input v-model=\"setOvertime.handleValue\" :disabled=\"readOnly\" />\r\n <!-- <Select v-model=\"setOvertime.handle_type\" slot=\"prepend\" style=\"width: 90px;dispaly:none\">\r\n <Option :value=\"11\">邮箱</Option>\r\n <Option :value=\"12\">钉钉消息</Option>\r\n </Select>-->\r\n <!-- <span class=\"tipMessage\">超过这个时间段系统将自动发送提醒消息</span> -->\r\n </FormItem>\r\n </Form>\r\n </div>\r\n <div class=\"boxItem\" v-if=\"configData.category === 'Approval'\">\r\n <Form>\r\n <FormItem label=\"自动处理:\" :label-width=\"100\">\r\n <i-switch v-model=\"status2\" @on-change=\"change2\" :disabled=\"readOnly\" />\r\n </FormItem>\r\n <FormItem label=\"自动处理阀值:\" :label-width=\"100\" :required=\"status2\" v-if=\"status2\">\r\n <Input v-model=\"autoDetail.threshold\" :regx=\"/^[1-9]\\d*$/\" :disabled=\"readOnly\">\r\n <Select v-model=\"autoDetail.sources\" slot=\"append\" style=\"width: 70px\" :disabled=\"readOnly\">\r\n <Option :value=\"0\">小时</Option>\r\n <Option :value=\"1\">天</Option>\r\n </Select>\r\n </Input>\r\n </FormItem>\r\n <FormItem label=\"自动处理方式:\" :label-width=\"100\" :required=\"status2\" v-if=\"status2\">\r\n <Select v-model=\"autoDetail.handleType\" :disabled=\"readOnly\">\r\n <Option :value=\"20\">同意</Option>\r\n <Option :value=\"21\">驳回</Option>\r\n </Select>\r\n </FormItem>\r\n </Form>\r\n </div>\r\n </div>\r\n </div>\r\n <p>\r\n <Button type=\"fcdefault\" @click=\"closeDrawer\">取消</Button>\r\n <Button type=\"primary\" @click=\"saveConfig\" v-if=\"!readOnly\">确定</Button>\r\n </p>\r\n </div>\r\n</template>\r\n<script>\r\nimport complexPop from \"@/components/complexPop\";\r\nimport RuleConfig from \"@/components/RuleConfig\"\r\nexport default {\r\n name: \"DynamicProcessNodeConfig\",\r\n components: { complexPop, RuleConfig },\r\n props: {\r\n configData: {\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n },\r\n TABLE_ID: {\r\n }, //模版第一步配置表数据\r\n node:{}, //当前节点\r\n status:null,\r\n rejectedNodes:{\r\n type: Array,\r\n default: () => {\r\n return []\r\n }\r\n },\r\n assignedNodes:{\r\n type: Array,\r\n default: () => {\r\n return []\r\n }\r\n },\r\n readOnly:{\r\n type:Boolean,\r\n default:false\r\n }\r\n },\r\n data() {\r\n return {\r\n //节点表的配置\r\n tableConfig:{\r\n props:{\r\n columnsKey: ['NAME'],\r\n AutoData: [],\r\n hidecolumns: ['id'],\r\n data: {},\r\n totalRowCount: 0,\r\n defaultSelected: [],\r\n isBackRowItem: true\r\n },\r\n event:{\r\n 'on-input-value-change': (value) => {\r\n // 外键的模糊搜索\r\n this.tableConfig.props.AutoData = []\r\n this.$network.post('/p/c/meta/table/list',{DESCRIPTION:value}).then(res => {\r\n if(res.data.code === 0){\r\n // this.row = res.data.data.row.concat([])\r\n this.tableConfig.props.AutoData = res.data.data.row.reduce((arr,item) => {\r\n arr.push({\r\n value:item.NAME.val,\r\n id:item.ID.val,\r\n NAME:item.DESCRIPTION.val\r\n })\r\n return arr\r\n },[]);\r\n }\r\n\r\n })\r\n },\r\n 'on-popper-show': ($this) => {\r\n // 当外键下拉站开始去请求数据\r\n // this.freshDropDownSelectFilterData($this)\r\n this.$network.post('/p/c/meta/table/list',{\r\n pageSize:$this.pageSize,\r\n page:1\r\n }).then(res => {\r\n if(res.data.code === 0){\r\n res.data.data.tabth.forEach(item => {\r\n if(item.colname === 'DESCRIPTION'){\r\n item.isak = true\r\n }\r\n return item\r\n })\r\n this.tableConfig.props.data = res.data.data;\r\n this.tableConfig.props.totalRowCount = res.data.data.totalRowCount;\r\n }\r\n\r\n })\r\n },\r\n 'on-page-change': (currentPage, $this) => {\r\n // 外键的分页查询\r\n // this.freshDropDownSelectFilterData($this,currentPage)\r\n this.$network.post('/p/c/meta/table/list',{\r\n pageSize:$this.pageSize,\r\n page:currentPage\r\n }).then(res => {\r\n if(res.data.code === 0){\r\n res.data.data.tabth.forEach(item => {\r\n if(item.colname === 'DESCRIPTION'){\r\n item.isak = true\r\n }\r\n return item\r\n })\r\n this.tableConfig.props.data = res.data.data;\r\n this.tableConfig.props.totalRowCount = res.data.data.totalRowCount;\r\n }\r\n\r\n })\r\n },\r\n 'on-blur':(event,instance) => {\r\n // if(Object.prototype.toString.call(this.data.businessType) !== '[object Array]' || this.data.businessType.length === 0){\r\n // instance.inputValue = ''\r\n\r\n // /*\r\n // todo\r\n // 清空所有和主表有关的数据\r\n // */\r\n\r\n // }\r\n },\r\n 'on-fkrp-selected': (value) => {\r\n if(value.length > 0){\r\n this.configData.nodeForm = value[0].rowItem.NAME.val?value[0].rowItem.NAME.val:value[0].rowItem.NAME\r\n this.configData.nodeFormId = value[0].ID\r\n this.configData.nodeFormName = value[0].Label\r\n\r\n this.getVisibleButtons()\r\n }else{\r\n this.configData.nodeForm = null\r\n this.configData.nodeFormId = null\r\n this.configData.nodeFormName = null\r\n }\r\n\r\n // 清除有关字段数据\r\n this.onClear()\r\n this.modifyField.defaultSelected = []\r\n this.configData.behindEvent = []\r\n this.configData.preEvent = []\r\n this.configData.inevitableExts = []\r\n this.configData.visibleBt = []\r\n },\r\n 'on-clear': () => {\r\n // 清除有关字段数据\r\n this.onClear()\r\n this.modifyField.defaultSelected = []\r\n this.configData.behindEvent = []\r\n this.configData.preEvent = []\r\n this.configData.inevitableExts = []\r\n this.configData.visibleBt = []\r\n\r\n this.configData.nodeForm = null\r\n this.configData.nodeFormId = null\r\n this.configData.nodeFormName = null\r\n this.tableConfig.props.AutoData = []\r\n this.$network.post('/p/c/meta/table/list',{DESCRIPTION:''}).then(res => {\r\n if(res.data.code === 0){\r\n this.tableConfig.props.AutoData = res.data.data.row.reduce((arr,item) => {\r\n arr.push({\r\n value:item.NAME.val,\r\n id:item.ID.val,\r\n NAME:item.DESCRIPTION.val\r\n })\r\n return arr\r\n },[]);\r\n }\r\n })\r\n }\r\n }\r\n },\r\n\r\n visibleButtons:[], // 可见按钮\r\n\r\n\r\n //修改字段配置\r\n\r\n // 可显示字段\r\n modifyField: {\r\n modifiable_field: \"选中的字段\",\r\n modifiable_field_name: \"\", //选中的字段名称1\r\n totalRowCount: 0, //数据总条数\r\n pageSize: 10, //每页数据条数\r\n dataEmptyMessage: \"数据为空\", //没数据时的提示\r\n data: {}, //表格数据\r\n columnsKey: [\"value\"], //input显示的字段\r\n columns: [\"id\"], //模糊搜索隐藏的列\r\n AutoData: [],\r\n defaultSelected: []\r\n },\r\n modifyTableShow: false,\r\n modifyColumns:[\r\n {\r\n title: '序号',\r\n render: (h, params) => {\r\n return h('span', {},params.index + 1);\r\n }\r\n },\r\n {\r\n title: '字段名',\r\n key: 'Label'\r\n },\r\n // {\r\n // title: '必填',\r\n // key: 'isnotnull',\r\n // render: (h, params) => {\r\n // return h('Checkbox', {\r\n // props:{\r\n // 'value':params.row.isnotnull\r\n // },\r\n // on:{\r\n // 'on-change': (value) => {\r\n // this.configData.modifiableField[params.index].isnotnull = value\r\n // }\r\n // }\r\n // });\r\n // }\r\n // },\r\n {\r\n title: '只读',\r\n key: 'readonly',\r\n render: (h, params) => {\r\n return h('Checkbox', {\r\n props:{\r\n 'value':params.row.readonly\r\n },\r\n on:{\r\n 'on-change': (value) => {\r\n this.configData.modifiableField[params.index].readonly = value\r\n }\r\n }\r\n });\r\n }\r\n },\r\n {\r\n title:'操作',\r\n render:(h,params) => {\r\n return h('span',{\r\n style:{\r\n color:'rgba(16, 142, 233, 1)',\r\n cursor:'pointer'\r\n },\r\n on:{\r\n click:() => {\r\n this.configData.modifiableField = this.configData.modifiableField.filter((item,index) => index !== params.index)\r\n this.modifyField.defaultSelected = this.configData.modifiableField\r\n if(this.modifyField.defaultSelected.length === 0){\r\n this.modifyTableShow = false\r\n }\r\n }\r\n }\r\n },'删除')\r\n }\r\n }\r\n ],\r\n\r\n pageBtnData: [\r\n {\r\n label: \"最少同意人数\",\r\n icontype: 1,\r\n color: \"#09A155\",\r\n value: \"\"\r\n },\r\n {\r\n label: \"同意状态别名\",\r\n icontype: 1,\r\n color: \"#09A155\",\r\n value: \"\"\r\n },\r\n {\r\n label: \"最少拒绝人数\",\r\n icontype: 2,\r\n color: \"#ED4014\",\r\n value: \"\"\r\n },\r\n {\r\n label: \"拒绝状态别名\",\r\n icontype: 2,\r\n color: \"#ED4014\",\r\n value: \"\"\r\n }\r\n ],\r\n status1: false, //超时提醒\r\n status2: false, //自动处理\r\n openControl: false, //控制弹框是否显示\r\n loading: false, // z最大loading\r\n resultData: {}, // 选中结果\r\n open: false, // 是否打开\r\n obj: {}, //传给table的对象\r\n saveObj: {}, //存储的每次节点的对象\r\n selectRow: [], //弹框多选单击一行的数据\r\n approves: \"\", //审批相关数据\r\n setOvertime: {\r\n threshold: \"\",\r\n sources: 0,\r\n status: 1,\r\n handleValue: \"\",\r\n handleType: 11,\r\n extraMsg: \"\"\r\n },\r\n autoDetail: {\r\n threshold: \"\",\r\n sources: 0,\r\n status: 1,\r\n handleType: 20,\r\n extraMsg: \"\",\r\n handleValue: \"\"\r\n },\r\n approvelList: [], //存放审批相关的数据\r\n closeType: false, //控制审批确定取消显示状态\r\n isCallInterface: false,\r\n\r\n defaultObj:{}, //默认数据\r\n\r\n\r\n\r\n };\r\n },\r\n computed: {\r\n tableInfo () {\r\n return {tableId:this.configData.nodeFormId,tableName:this.configData.nodeForm}\r\n },\r\n actServiceS() {\r\n return [this.setOvertime, this.autoDetail];\r\n }\r\n },\r\n watch: {\r\n pageBtnData: {\r\n handler(newVal) {\r\n\r\n let temArr = [\r\n {\r\n actType: 0,\r\n actName: newVal[1].value,\r\n actLimit: newVal[0].value\r\n },\r\n {\r\n actType: 1,\r\n actName: newVal[3].value,\r\n actLimit: newVal[2].value\r\n }\r\n ];\r\n if (this.configData.ruleList.length < 1) {\r\n this.configData.ruleList = temArr;\r\n } else {\r\n this.configData.ruleList.map((item) => {\r\n temArr.map(inner => {\r\n if (item.actType === inner.actType) {\r\n item = Object.assign(item, inner);\r\n }\r\n });\r\n });\r\n }\r\n },\r\n deep: true\r\n },\r\n actServiceS: {\r\n handler(newVal) {\r\n this.configData.actServiceS = newVal;\r\n },\r\n deep: true\r\n },\r\n approvelList: {\r\n handler(newVal) {\r\n this.configData.approvelList = newVal;\r\n },\r\n deep: true\r\n }\r\n },\r\n methods: {\r\n onBlur(event, ins, key) {\r\n let res = /^[0-9]*$/;\r\n if (res.test(key)) {\r\n if (this.pageBtnData[key].value === \"\" && key == 0) {\r\n this.$Message.warning(\"最少同意人数不能为空\");\r\n }\r\n if (this.pageBtnData[key].value === \"\" && key == 1) {\r\n this.$Message.warning(\"同意状态别名不能为空\");\r\n }\r\n if (this.pageBtnData[key].value === \"\" && key == 2) {\r\n this.$Message.warning(\"最少拒绝人数不能为空\");\r\n }\r\n if (this.pageBtnData[key].value === \"\" && key == 3) {\r\n this.$Message.warning(\"拒绝状态别名不能为空\");\r\n }\r\n }\r\n },\r\n //可显字段下拉多选事件\r\n OnFkrpSelected(selected) {\r\n if(selected.length === 0){\r\n this.modifyTableShow = false\r\n }\r\n selected.map(item => {\r\n // item.isnotnull = false\r\n item.readonly = false\r\n return item\r\n })\r\n this.modifyField.modifiableField = selected;\r\n this.configData.modifiableField = selected;\r\n },\r\n onPopperShow() {\r\n //下拉多选\r\n this.findField({ AD_TABLE_ID: this.configData.nodeFormId });\r\n },\r\n changePage(val) {\r\n this.findField({\r\n pageSize: this.modifyField.pageSize,\r\n page: val,\r\n AD_TABLE_ID: this.configData.nodeFormId\r\n });\r\n },\r\n modifiableFieldClick () { //可显字段只读/必填控制\r\n if(this.modifyTableShow){ //保存权限\r\n\r\n }else{ //更改权限\r\n\r\n }\r\n\r\n this.modifyTableShow = !this.modifyTableShow\r\n },\r\n //模糊查找input事件\r\n inputChange(val) {\r\n this.findField({ DESCRIPTION: val, AD_TABLE_ID: this.configData.nodeFormId });\r\n },\r\n onClear() {\r\n this.modifyTableShow = false\r\n this.modifyField.modifiableField = [];\r\n this.configData.modifiableField = [];\r\n }, //可显字段清除事件\r\n change1(val) {\r\n this.status1 = val;\r\n this.setOvertime = {\r\n threshold: \"\",\r\n sources: 0,\r\n status: 1,\r\n handleValue: \"\",\r\n handleType: 11,\r\n extraMsg: \"\",\r\n id:this.setOvertime.id\r\n }\r\n\r\n if (val) {\r\n this.setOvertime.status = 0;\r\n } else {\r\n this.setOvertime.status = 1;\r\n }\r\n },\r\n change2(val) {\r\n this.status2 = val;\r\n this.autoDetail = {\r\n threshold: \"\",\r\n sources: 0,\r\n status: 1,\r\n handleType: 20,\r\n extraMsg: \"\",\r\n handleValue: \"\",\r\n id:this.autoDetail.id\r\n }\r\n if (val) {\r\n this.autoDetail.status = 0;\r\n } else {\r\n this.autoDetail.status = 1;\r\n }\r\n },\r\n getResult(data) {\r\n this.resultData = Object.assign({}, data);\r\n if (this.resultData.list.length > 0) {\r\n this.approvelList = this.resultData.list.map(item => {\r\n let tem = Object.assign({}, item);\r\n delete tem.string;\r\n return tem;\r\n });\r\n } else {\r\n this.approvelList = [];\r\n }\r\n },\r\n //获取可修改字段\r\n findField(param) {\r\n this.$network.post(\"/p/c/meta/column/list\", param).then(res => {\r\n if (res.data.code === 0) {\r\n if (param.hasOwnProperty(\"DESCRIPTION\")) {\r\n this.modifyField.AutoData = [];\r\n this.modifyField.AutoData = res.data.data.row.reduce(\r\n (arr, item) => {\r\n arr.push({\r\n value: item.DESCRIPTION.val,\r\n id: item.ID.val\r\n });\r\n return arr;\r\n },\r\n []\r\n );\r\n }\r\n res.data.data.tabth.map(item => {\r\n if (item.colname === \"DESCRIPTION\") {\r\n item.isak = true;\r\n } else {\r\n item.isak = false;\r\n }\r\n });\r\n this.modifyField.data = res.data.data;\r\n this.modifyField.totalRowCount = res.data.data.totalRowCount;\r\n }\r\n });\r\n },\r\n\r\n saveConfig () { //确定按钮点击\r\n\r\n // 节点必经\r\n if(this.configData.inevitable === 2 && (!this.configData.inevitableExts || this.configData.inevitableExts.length === 0)){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '规则配置不能为空',\r\n mask: true\r\n })\r\n return\r\n }\r\n\r\n // 操作人\r\n if(this.configData.approverStyle === 0){ //直接选择\r\n // 审批人为空\r\n if(this.configData.approvelList && this.configData.approvelList.length === 0){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '审批人不能为空',\r\n mask: true\r\n })\r\n\r\n return\r\n }\r\n }else{ //扩展程序\r\n // 扩展程序为空\r\n if(this.configData.actionConfig[0] && !this.configData.actionConfig[0].handleValue){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '扩展程序不能为空',\r\n mask: true\r\n })\r\n return\r\n }\r\n }\r\n\r\n // 审批条件\r\n if(this.configData.approveCondition === 0){\r\n // 最少同意人数\r\n if(!this.pageBtnData[0].value){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '最少同意人数不能为空',\r\n mask: true\r\n })\r\n return\r\n }\r\n // 最少拒绝人数\r\n if(!this.pageBtnData[2].value){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '最少拒绝人数不能为空',\r\n mask: true\r\n })\r\n return\r\n }\r\n }\r\n\r\n\r\n // 驳回节点\r\n if(this.configData.assignBack === 1 && !this.configData.backId){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '驳回节点不能为空',\r\n mask: true\r\n })\r\n return\r\n }\r\n\r\n // 作废操作 --发起作废申请\r\n if(this.configData.nodeCancle === 1 && !this.configData.cancleUrl){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '作废申请地址不能为空',\r\n mask: true\r\n })\r\n return\r\n }\r\n\r\n // 指派流转节点\r\n if(this.configData.assignNext === 0 && (!this.configData.assignRange || this.configData.assignRange.length === 0)){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '节点范围不能为空',\r\n mask: true\r\n })\r\n return\r\n }\r\n\r\n // 超时提醒\r\n if(this.status1 && (!this.setOvertime.threshold || !this.setOvertime.handleValue)){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '请填写完善超时提醒信息',\r\n mask: true\r\n })\r\n return\r\n }\r\n //自动处理\r\n if(this.status2 && (!this.autoDetail.threshold)){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '请填写完善自动处理信息',\r\n mask: true\r\n })\r\n return\r\n }\r\n\r\n // 控制自动处理时间大于超时提醒时间\r\n if(this.status1 && this.status2){\r\n let start = this.setOvertime.sources === 0?Number(this.setOvertime.threshold):Number(this.setOvertime.threshold)*24\r\n let end = this.autoDetail.sources === 0?Number(this.autoDetail.threshold):Number(this.autoDetail.threshold)*24\r\n\r\n if(start >= end){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '超时提醒时间不能大于自动处理时间',\r\n mask: true\r\n })\r\n return\r\n }\r\n }\r\n\r\n let guiStyle = JSON.parse(this.$parent.$parent.myDesigner.getFlowData())\r\n guiStyle.nodeDataArray.map(item => {\r\n if(this.configData.key === item.key){\r\n item.text = this.configData.name\r\n }\r\n return item\r\n })\r\n\r\n\r\n if((this.defaultObj.nodeFormId !== this.configData.nodeFormId) && this.defaultObj.nodeFormId){\r\n this.$Modal.fcError({\r\n title: '错误',\r\n content: '当前节点的表单已修改,节点后的连线配置将会清空,是否确认保存?',\r\n mask: true,\r\n showCancel: true,\r\n onOk: () => {\r\n this.node.findLinksOutOf().map(item => {\r\n delete this.$parent.$parent.pathMsg[item.data.key]\r\n\r\n let guiStyle = JSON.parse(this.$parent.$parent.myDesigner.getFlowData())\r\n guiStyle.linkDataArray = guiStyle.linkDataArray.filter(temp => temp.key !== item.data.key)\r\n })\r\n this.$parent.$parent.data.guiStyle = JSON.stringify(guiStyle)\r\n this.$parent.$parent.init()\r\n this.$emit('closeDrawer')\r\n }\r\n })\r\n return\r\n }else{\r\n this.$parent.$parent.data.guiStyle = JSON.stringify(guiStyle)\r\n this.$parent.$parent.init()\r\n this.$emit('closeDrawer')\r\n }\r\n\r\n },\r\n closeDrawer () { //取消按钮点击\r\n this.$parent.$parent.nodeMsg[Number(this.configData.key)] = this.defaultObj\r\n this.$emit('closeDrawer')\r\n },\r\n approverStyleChange () { //选择审批人类型切换\r\n this.configData.actionConfig[0].handleValue = null\r\n this.resultData = {}\r\n this.approvelList = [];\r\n },\r\n\r\n // 审批条件 扩展\r\n inevitableResult (value) {\r\n this.configData.inevitableExts = value\r\n },\r\n preEventResult (value) { //前置事件处理\r\n this.configData.preEvent = value\r\n },\r\n behindEventResult (value) { //后置事件处理\r\n this.configData.behindEvent = value\r\n },\r\n getVisibleButtons () { //获取可见按钮\r\n this.$network.post('/p/cs/node/define/bt',{\r\n id: this.configData.nodeFormId,\r\n vueDispaly: 0\r\n })\r\n .then(res => {\r\n if(res.data.resultCode === 0){\r\n this.visibleButtons = res.data.data.difineData\r\n }else{\r\n this.visibleButtons = []\r\n }\r\n })\r\n },\r\n visibleBtChange (value) { //可见按钮选择\r\n if(value[0] === 'bSelect-all'){\r\n this.configData.visibleBt = this.visibleButtons.reduce((arr,current) => {\r\n arr.push(current.ID)\r\n return arr\r\n },[])\r\n }\r\n }\r\n },\r\n created() {\r\n // 保存默认值\r\n this.defaultObj = JSON.parse(JSON.stringify(this.configData))\r\n\r\n if (this.configData.actionConfig.length === 0) {\r\n this.configData.actionConfig = [\r\n {\r\n id: null,\r\n handleType: 33,\r\n handleValue: null,\r\n extraMsg: null\r\n }\r\n ];\r\n } else {\r\n this.configData.actionConfig = [\r\n {\r\n id: this.configData.actionConfig[0].id,\r\n handleType: 33,\r\n handleValue: this.configData.actionConfig[0].handleValue,\r\n extraMsg: this.configData.actionConfig[0].extraMsg\r\n }\r\n ];\r\n }\r\n\r\n if (this.configData.modifiableField) {\r\n this.modifyField.defaultSelected = this.configData.modifiableField\r\n }\r\n\r\n\r\n if (\r\n this.configData.approvelList &&\r\n this.configData.approvelList.length > 0\r\n ) {\r\n this.configData.approvelList.map(item => {\r\n let temObj = Object.assign({}, item);\r\n this.approves += item.approveValueName?item.approveValueName:item.approve_value_name + \",\";\r\n temObj.approve_type = temObj.approveType?temObj.approveType:temObj.approve_type;\r\n temObj.approve_value = temObj.approveValue?temObj.approveValue:temObj.approve_value;\r\n temObj.approve_value_name = item.approveValueName?item.approveValueName:item.approve_value_name;\r\n delete temObj.approveType;\r\n delete temObj.approveValue;\r\n delete temObj.approveValueName;\r\n\r\n let temL = Object.assign({}, temObj);\r\n this.approvelList.push(temObj);\r\n temL.string = item.approveValueName?item.approveValueName:item.approve_value_name;\r\n this.resultData.list\r\n ? this.resultData.list.push(temL)\r\n : this.$set(this.resultData, \"list\", [temL]);\r\n });\r\n this.resultData.total\r\n ? (this.resultData.total = this.resultData.list.length)\r\n : this.$set(this.resultData, \"total\", this.resultData.list.length);\r\n if (this.approves.length > 0) {\r\n this.approves = this.approves.substring(0, this.approves.length - 1);\r\n }\r\n }\r\n\r\n if (\r\n this.configData.ruleList &&\r\n this.configData.ruleList.length > 0\r\n ) {\r\n this.configData.ruleList.map(item => {\r\n if (item.actType === 0) {\r\n this.pageBtnData[1].value = item.actName;\r\n this.pageBtnData[0].value = item.actLimit;\r\n }\r\n if (item.actType === 1) {\r\n this.pageBtnData[3].value = item.actName;\r\n this.pageBtnData[2].value = item.actLimit;\r\n }\r\n });\r\n }\r\n\r\n if (\r\n this.configData.actServiceS &&\r\n this.configData.actServiceS.length > 0\r\n ) {\r\n this.configData.actServiceS.map(item => {\r\n if (item.handleType >= 20) {\r\n this.autoDetail = item;\r\n } else {\r\n this.setOvertime = item;\r\n }\r\n });\r\n this.setOvertime.status === 0\r\n ? (this.status1 = true)\r\n : (this.status1 = false);\r\n this.autoDetail.status === 0\r\n ? (this.status2 = true)\r\n : (this.status2 = false);\r\n } else {\r\n this.configData.actServiceS = [\r\n {\r\n threshold: \"\",\r\n sources: 0,\r\n status: 1,\r\n handleValue: \"\",\r\n handleType: 11\r\n },\r\n {\r\n threshold: \"\",\r\n sources: 0,\r\n status: 1,\r\n handleType: 20,\r\n handleValue: \"\"\r\n }\r\n ];\r\n }\r\n\r\n // 处理节点表配置默认值\r\n if(this.configData.nodeFormId){\r\n this.tableConfig.props.defaultSelected = [\r\n {\r\n ID: this.configData.nodeFormId,\r\n Label: this.configData.nodeFormName\r\n }\r\n ]\r\n }\r\n\r\n // 可见按钮\r\n if(this.configData.nodeFormId){\r\n this.getVisibleButtons()\r\n }\r\n },\r\n mounted() {\r\n //this.getTreeData();\r\n /**/\r\n }\r\n};\r\n</script>\r\n<style lang=\"scss\">\r\n.DynamicProcessNodeConfig {\r\n overflow-y: hidden;\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n >p{\r\n text-align: right;\r\n margin-top: 16px;\r\n\r\n >button:first-child{\r\n margin-right: 10px;\r\n }\r\n }\r\n >div{\r\n flex: 1;\r\n overflow: auto;\r\n }\r\n .nodeSetbox {\r\n padding: 16px;\r\n border: 1px solid #dcdee2;\r\n .boxItem {\r\n padding: 16px 40px;\r\n border-bottom: 1px solid #dcdee2;\r\n &:last-child {\r\n border-bottom: none;\r\n }\r\n }\r\n .tipMessage {\r\n color: #929292;\r\n line-height: 16px;\r\n }\r\n .burgeon-form-item {\r\n margin-bottom: 16px;\r\n &:last-child {\r\n margin-bottom: 0px;\r\n }\r\n }\r\n &:last-child {\r\n padding: 0;\r\n }\r\n }\r\n .requireStyle {\r\n font-size: 14px;\r\n vertical-align: middle;\r\n color: red;\r\n padding-top: 5px;\r\n display: inline-block;\r\n }\r\n .splitItem {\r\n font-size: 14px;\r\n line-height: 40px;\r\n color: #929292;\r\n &:first-child{\r\n margin-top: -10px;\r\n }\r\n }\r\n .burgeon-fkrp-select-icon {\r\n top: 2px;\r\n }\r\n}\r\n</style>\r\n"],"sourceRoot":"src/components/DynamicProcessNodeConfig"}]}
|