{"remainingRequest":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js??vue-loader-options!/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Contract/components/ContractDialog.vue?vue&type=script&lang=js","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Contract/components/ContractDialog.vue","mtime":1725944942461},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/thread-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/babel-loader/lib/index.js","mtime":456789000000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:CmltcG9ydCBfIGZyb20gImxvZGFzaCIKaW1wb3J0IHNlbGVjdFRyZWUgZnJvbSAiQC9jb21wb25lbnRzL1NlbGVjdFRyZWUiOwppbXBvcnQgTW92ZVN1cGVyRGlhbG9nIGZyb20gJy4vTW92ZVN1cGVyRGlhbG9nLnZ1ZScKaW1wb3J0IHsgZW1wbG95ZWVUYWJsZUxpc3RBcGksQWRkQ29udHJhY3RBcGksRWRpdENvbnRyYWN0QXBpLGNvbW1vbkZpbGVVcGxvYWRBcGkgfSBmcm9tICJAL2FwaS9zdGFmZkFwaS5qcyIKZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUGhvbmUocnVsZSx2YWx1ZSxjYWxsYmFjayl7Ly/moKHpqozmiYvmnLrlj7cKICBzZXRUaW1lb3V0KCgpID0+IHsKICAgICBpZiAoIS9eWzFdWzMsNCw1LDcsOCw5XVswLTldezl9JC8udGVzdCh2YWx1ZSkpIHsKICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCfor7fovpPlhaXmraPnoa7nmoTmiYvmnLrlj7cnKSkKICAgIH0gZWxzZSB7CiAgICAgIGNhbGxiYWNrKCkKICAgIH0KICB9LCA1MDApOwp9CmV4cG9ydCBkZWZhdWx0IHsKICBwcm9wczogWyJzaG93ZGlhbG9nIiwgImdldFRyZWVEZXBhcnRsaXN0Il0sCiAgd2F0Y2g6IHsKICAgIHNob3dkaWFsb2coKSB7CiAgICAgIHRoaXMuZGlhbG9nRm9ybVZpc2libGUgPSB0aGlzLnNob3dkaWFsb2c7CiAgICAgIHRoaXMuZGVmYXVsRGF0YVBhcmVudD1bXQogICAgfSwKICAgICJmb3JtTGlzdC5hdHRhY2htZW50IigpewogICAgICAgaWYodGhpcy5mb3JtTGlzdC5hdHRhY2htZW50KXsKICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soKCk9PnsKICAgICAgICAgICAgdGhpcy4kcmVmcy5ydWxlRm9ybS5jbGVhclZhbGlkYXRlKFsnYXR0YWNobWVudCddKTsgLy/muIXnqbrmj5DnpLoKICAgICAgICAgICAgfSkKICAgICAgIH0KICAgIH0KICB9LAogIGNvbXBvbmVudHM6IHsKICAgIHNlbGVjdFRyZWUsIC8v5rOo5YaM57uE5Lu2CiAgICBNb3ZlU3VwZXJEaWFsb2cKICB9LAogIGRhdGEoKSB7CiAgICByZXR1cm4geyAgICAgCiAgICAgIHRpdGxlOiAiIiwKICAgICAgZGlhbG9nRm9ybVZpc2libGU6IHRoaXMuc2hvd2RpYWxvZywKICAgICAgT3BlclR5cGU6IDAsIC8vMCDmlrDlop4gIDHkv67mlLkKICAgICAgZm9ybUxpc3Q6IHt9LAogICAgICBwYXJhbXM6ey8v5pCc57Si5p2h5Lu2CiAgICAgICAgcGFnZUluZGV4OjEsCiAgICAgICAgcGFnZVNpemU6MTAsCiAgICAgICAga2V5d29yZDonJywgICAgICAgICAgICAgCiAgICAgICAgdG90YWw6MAogICAgICB9LAogICAgICBydWxlczogewogICAgICAgIGVtcGxveWVlSWQ6IFt7cmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLor7fpgInmi6nnlKjmiLciLCB0cmlnZ2VyOiAiY2hhbmdlIiB9XSwKICAgICAgICBuYW1lOlt7cmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICLor7fovpPlhaXlkIjlkIzlkI3np7AiLCB0cmlnZ2VyOiAiYmx1ciJ9XSwKICAgICAgICBhTmFtZTpbe3JlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+36L6T5YWl55Sy5pa55ZCN56ewIiwgdHJpZ2dlcjogImJsdXIifV0sCiAgICAgICAgYk5hbWU6W3tyZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogIuivt+i+k+WFpeS5meaWueWQjeensCIsIHRyaWdnZXI6ICJibHVyIn1dLAogICAgICAgIGJlZ2luRGF0ZTpbe3JlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+36YCJ5oup5ZCI5ZCM5byA5aeL5pel5pyfIiwgdHJpZ2dlcjogImJsdXIifV0sCiAgICAgICAgZW5kRGF0ZTpbe3JlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+36YCJ5oup5ZCI5ZCM57uT5p2f5pel5pyfIiwgdHJpZ2dlcjogImJsdXIifV0sCiAgICAgICAgYXR0YWNobWVudDpbe3JlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAi6K+35LiK5Lyg55S15a2Q5ZCI5ZCM5paH5Lu2IiwgdHJpZ2dlcjogImJsdXIifV0sCiAgICAgIH0sCiAgICAgIGRlZmF1bERhdGFQYXJlbnQ6JycsLy/kuIrnuqfpg6jpl6jpu5jorqTlm57pgInmlbDmja4KICAgICAgZGVmYXVsRGF0YTpbXSwKICAgICAgdGFibGVEYXRhRW1wbG95ZWU6W10sCiAgICAgIHJlc3VsdEFycjpbXSwvL+mAieaLqeeUqOaIt+S4i+aLieW+l+WIsOWvueW6lOWQjeensOaVsOe7hAogICAgICBzaG93ZGlhbG9nTW92ZVN1cGVyOmZhbHNlLAogICAgICBmaWxlTGlzdDpbXSwKICAgICAgZGlzYWJsZWRVc2VyOmZhbHNlLAogICAgICBmbGFnOnRydWUsCiAgICB9OwogIH0sCiAgbWV0aG9kczogeyAgICAgCiAgICBnZXRUYWJsZVJvdyhkYXRhLCB0eXBlLGZsYWcpIHsgICAgICAgCiAgICAgIGxldCBuZXdSb3dEYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7IC8v5ou36LSd5LiA5Lu95a2Y5YKo5a+56LGhCiAgICAgIHRoaXMuZm9ybUxpc3QgPSBuZXdSb3dEYXRhOyAvL+aLt+i0neS4gOS7veWtmOWCqOWvueixoeW8leeUqOS4jeWQjOWcsOWdgAogICAgICB0aGlzLk9wZXJUeXBlID0gdHlwZTsgIAogICAgICBpZih0aGlzLk9wZXJUeXBlPT09MCl7CiAgICAgICAgIHRoaXMudGl0bGU9Iua3u+WKoOWQiOWQjCIKICAgICAgICAgdGhpcy5kaXNhYmxlZFVzZXI9ZmFsc2UKICAgICAgICAgdGhpcy5mbGFnPXRydWUKICAgICAgICAgdGhpcy5maWxlTGlzdD1bXQogICAgICAgICB0aGlzLiRzZXQodGhpcy5mb3JtTGlzdCwnYU5hbWUnLGxvY2FsU3RvcmFnZS5nZXRJdGVtKCJkb21haW5OYW1lIil8fCIiKQogICAgICAgICB0aGlzLiRzZXQodGhpcy5mb3JtTGlzdCwiZGF0ZUxpbWl0bGVzcyIsZmFsc2UpCiAgICAgICAgIHRoaXMuJHNldCh0aGlzLmZvcm1MaXN0LCJkaXNhYmxlZEVuZERhdGUiLGZhbHNlKSAKICAgICAgfWVsc2UgaWYoZmxhZz09Mil7Ly8y5Luj6KGo5LiK5LygCiAgICAgICAgIHRoaXMudGl0bGU9IuS4iuS8oOWQiOWQjCIKICAgICAgICAgdGhpcy5kaXNhYmxlZFVzZXI9dHJ1ZQogICAgICAgICB0aGlzLmZsYWc9ZmFsc2UKICAgICAgICAgdGhpcy5maWxlTGlzdD1bXQogICAgICAgICB0aGlzLmZvcm1MaXN0LmF0dGFjaG1lbnQ9IiIKICAgICAgICAgIGlmKHRoaXMuZm9ybUxpc3QuYmVnaW5EYXRlRGVzYyl7CiAgICAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImJlZ2luRGF0ZSIsdGhpcy5mb3JtTGlzdC5iZWdpbkRhdGVEZXNjKQogICAgICAgICB9CgogICAgICAgICBpZih0aGlzLmZvcm1MaXN0LmVuZERhdGVEZXNjKXsKICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5mb3JtTGlzdCwiZW5kRGF0ZSIsdGhpcy5mb3JtTGlzdC5lbmREYXRlRGVzYykKICAgICAgICAgfQoKICAgICAgICAgaWYodGhpcy5mb3JtTGlzdC5hdHRhY2htZW50KXsgICAgICAgCiAgICAgICAgICAgIGxldCBvYmo9e30KICAgICAgICAgICAgb2JqLm5hbWU9dGhpcy5mb3JtTGlzdC5maWxlTmFtZQogICAgICAgICAgICBvYmoudXJsPXRoaXMuZm9ybUxpc3QuYXR0YWNobWVudAogICAgICAgICAgICB0aGlzLmZpbGVMaXN0PVtvYmpdCiAgICAgICAgIH0KCiAgICAgICAgIGlmKHRoaXMuZm9ybUxpc3QuZGF0ZUxpbWl0bGVzcz09dHJ1ZSl7Ly/nvJbovpHlpoLmnpzkuLrml6DmnJ/pmZDlkIjlkIwg56aB55So57uT5p2f5pe26Ze0CiAgICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5mb3JtTGlzdCwiZGlzYWJsZWRFbmREYXRlIix0cnVlKQogICAgICAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImVuZERhdGUiLCI5OTk5LTEyLTMxIikKICAgICAgICAgICAgIHRoaXMucnVsZXMuZW5kRGF0ZVswXS5yZXF1aXJlZD1mYWxzZQogICAgICAgICB9ZWxzZXsKICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5mb3JtTGlzdCwiZGF0ZUxpbWl0bGVzcyIsZmFsc2UpCiAgICAgICAgICAgdGhpcy5ydWxlcy5lbmREYXRlWzBdLnJlcXVpcmVkPXRydWUKICAgICAgICAgfQogICAgICB9ZWxzZXsKICAgICAgICAgdGhpcy50aXRsZT0i57yW6L6R5ZCI5ZCMIgogICAgICAgICB0aGlzLmRpc2FibGVkVXNlcj10cnVlCiAgICAgICAgIHRoaXMuZmxhZz10cnVlCiAgICAgICAgIGlmKHRoaXMuZm9ybUxpc3QuYmVnaW5EYXRlRGVzYyl7CiAgICAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImJlZ2luRGF0ZSIsdGhpcy5mb3JtTGlzdC5iZWdpbkRhdGVEZXNjKQogICAgICAgICB9CgogICAgICAgICBpZih0aGlzLmZvcm1MaXN0LmVuZERhdGVEZXNjKXsKICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5mb3JtTGlzdCwiZW5kRGF0ZSIsdGhpcy5mb3JtTGlzdC5lbmREYXRlRGVzYykKICAgICAgICAgfQoKICAgICAgICAgaWYodGhpcy5mb3JtTGlzdC5hdHRhY2htZW50KXsKICAgICAgICAgICAgbGV0IG9iaj17fQogICAgICAgICAgICBvYmoubmFtZT10aGlzLmZvcm1MaXN0LmZpbGVOYW1lCiAgICAgICAgICAgIG9iai51cmw9dGhpcy5mb3JtTGlzdC5hdHRhY2htZW50CiAgICAgICAgICAgIHRoaXMuZmlsZUxpc3Q9W29ial0KICAgICAgICAgfQoKICAgICAgICAgaWYodGhpcy5mb3JtTGlzdC5kYXRlTGltaXRsZXNzPT10cnVlKXsvL+e8lui+keWmguaenOS4uuaXoOacn+mZkOWQiOWQjCDnpoHnlKjnu5PmnZ/ml7bpl7QKICAgICAgICAgICAgIHRoaXMuJHNldCh0aGlzLmZvcm1MaXN0LCJkaXNhYmxlZEVuZERhdGUiLHRydWUpCiAgICAgICAgICAgICB0aGlzLiRzZXQodGhpcy5mb3JtTGlzdCwiZW5kRGF0ZSIsIjk5OTktMTItMzEiKQogICAgICAgICAgICAgdGhpcy5ydWxlcy5lbmREYXRlWzBdLnJlcXVpcmVkPWZhbHNlCiAgICAgICAgIH1lbHNlewogICAgICAgICAgIHRoaXMuJHNldCh0aGlzLmZvcm1MaXN0LCJkYXRlTGltaXRsZXNzIixmYWxzZSkKICAgICAgICAgICB0aGlzLnJ1bGVzLmVuZERhdGVbMF0ucmVxdWlyZWQ9dHJ1ZQogICAgICAgICB9CiAgICAgIH0KICAgICAgdGhpcy5nZXRUcmVlRGF0YSh0aGlzLmdldFRyZWVEZXBhcnRsaXN0KQogICAgICB0aGlzLmVtcGxveWVlVGFibGVMaXN0KCkvL+WRmOW3peWIl+ihqAogICAgfSwgICAgCiAgICBjaGVja0NoYW5nZVBhcmVudChrZXksIGRhdGEpIHsvL3NlbGVjdFRyZWXnu4Tku7Yt5aSN6YCJ5qGG6YCJ5Lit55qE5pWw5o2uCiAgICAgICAgY29uc29sZS5sb2coa2V5KQogICAgICAgIGNvbnNvbGUubG9nKGRhdGEpCiAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImRlcGFydElkIixrZXkpCiAgICAgICAgY29uc29sZS5sb2codGhpcy5mb3JtTGlzdC5kZXBhcnRJZCkKICAgIH0sCiAgICBjaGVja0NoYW5nZShrZXksIGRhdGEpIHsvL3NlbGVjdFRyZWXnu4Tku7Yt5aSN6YCJ5qGG6YCJ5Lit55qE5pWw5o2uCiAgICAgICAgLy8gY29uc29sZS5sb2coa2V5KQogICAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpCiAgICAgICAgLy8gdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImFsbG93ZWREZXBhcnRJZHMiLGtleSkKICAgIH0sCiAgICBnZXRUcmVlRGF0YShhcnIpey8v6YCS5b2S6YGN5Y6G6YOo6ZeoCiAgICAgICAgYXJyLmZvckVhY2goaXRlbT0+ewogICAgICAgICAgICAgaXRlbS5sYWJlbD1pdGVtLm5hbWU7CiAgICAgICAgICAgICBpdGVtLnZhbHVlPWl0ZW0uaWQ7CiAgICAgICAgICAgICBpZihpdGVtLmNoaWxkcmVuJiZpdGVtLmNoaWxkcmVuLmxlbmd0aDwxKXsKICAgICAgICAgICAgICAgICBpdGVtLmNoaWxkcmVuPXVuZGVmaW5lZAogICAgICAgICAgICAgfWVsc2UgaWYoaXRlbS5jaGlsZHJlbiYmaXRlbS5jaGlsZHJlbi5sZW5ndGg+MCl7CiAgICAgICAgICAgICAgIHRoaXMuZ2V0VHJlZURhdGEoaXRlbS5jaGlsZHJlbikgIAogICAgICAgICAgICAgfQogICAgICAgICB9KQogICAgfSwgICAKICAgIGVtcGxveWVlVGFibGVMaXN0KCl7Ly/liJfooajooajmoLwt5p+l6K+i57uT5p6cCiAgICAgICAgbGV0IG9iajI9e2RvbWFpbklkOnRoaXMuJHJvdXRlLnF1ZXJ5LmRvbWFpbklkfQogICAgICAgIGVtcGxveWVlVGFibGVMaXN0QXBpKHRoaXMucGFyYW1zLG9iajIpLnRoZW4ocmVzcG9uc2U9PnsKICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5kYXRhKXsKICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhRW1wbG95ZWU9cmVzcG9uc2UuZGF0YS5kYXRhCiAgICAgICAgICAgICAgICB0aGlzLnBhcmFtcy50b3RhbD1yZXNwb25zZS5kYXRhLnRvdGFsCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfSwgCiAgICBmaWx0ZXJNZXRob2QodmFsKXsvL+i+k+WFpeahhui/h+a7pOaQnOe0ogogICAgICAgIGNvbnNvbGUubG9nKHZhbCkvL+i+k+WFpeahhuWFs+mUruivjeWQjeensAogICAgICAgIHRoaXMucGFyYW1zLmtleXdvcmQ9dmFsCiAgICAgICAgbGV0IG9iajI9e2RvbWFpbklkOnRoaXMuJHJvdXRlLnF1ZXJ5LmRvbWFpbklkfQogICAgICAgIGVtcGxveWVlVGFibGVMaXN0QXBpKHRoaXMucGFyYW1zLG9iajIpLnRoZW4ocmVzcG9uc2U9PnsKICAgICAgICAgICAgaWYocmVzcG9uc2UuZGF0YS5kYXRhKXsKICAgICAgICAgICAgICAgIHRoaXMudGFibGVEYXRhRW1wbG95ZWU9cmVzcG9uc2UuZGF0YS5kYXRhCiAgICAgICAgICAgICAgICB0aGlzLnBhcmFtcy50b3RhbD1yZXNwb25zZS5kYXRhLnRvdGFsCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgfSwgIAogICAgc2VsZWN0VXNlcih2YWwpey8v5p+l6K+i5LiL5ouJ5qGGaWTlr7nlupTnmoTlkI3np7DmlbDnu4QKICAgICAgICBjb25zb2xlLmxvZyh2YWwpCiAgICAgICAgY29uc29sZS5sb2codGhpcy50YWJsZURhdGFFbXBsb3llZSkKICAgICAgICBsZXQgcmVzdWx0QXJyPVtdCiAgICAgICAgcmVzdWx0QXJyPXRoaXMudGFibGVEYXRhRW1wbG95ZWUuZmlsdGVyKGl0ZW09PnsKICAgICAgICAgICByZXR1cm4gdmFsLmluZGV4T2YoaXRlbS5pZCk+LTEKICAgICAgICB9KQogICAgICAgIHJlc3VsdEFyci5mb3JFYWNoKGl0cz0+ewogICAgICAgICAgdGhpcy5yZXN1bHRBcnIucHVzaChpdHMpCiAgICAgICAgfSkKICAgICAgICBsZXQgcmVzdWx0QXJyMj10aGlzLnJlc3VsdEFyci5maWx0ZXIoaXRlbT0+ewogICAgICAgICAgIHJldHVybiB2YWwuaW5kZXhPZihpdGVtLmlkKT4tMQogICAgICAgIH0pCiAgICAgICAgdGhpcy5yZXN1bHRBcnI9cmVzdWx0QXJyMgogICAgICAgIHRoaXMucmVzdWx0QXJyPVsuLi5uZXcgU2V0KHRoaXMucmVzdWx0QXJyKV0KICAgICAgICAgY29uc29sZS5sb2codGhpcy5yZXN1bHRBcnIpCiAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsIm5hbWUiLHRoaXMucmVzdWx0QXJyWzBdLm5hbWUrIueahOWKs+WKqOWQiOWQjCIpCiAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImJOYW1lIix0aGlzLnJlc3VsdEFyclswXS5uYW1lKSAgICAgICAgCiAgICB9LAogICAgCiAgICByZW1vdmV0YWcodmFsKXsKICAgICAgY29uc29sZS5sb2codmFsKQogICAgICB0aGlzLnJlc3VsdEFyci5mb3JFYWNoKGl0ZW09PnsKICAgICAgICBpZihpdGVtLmlkPT12YWwpewogICAgICAgICAgdGhpcy5yZXN1bHRBcnIuc3BsaWNlKGl0ZW0sMSkKICAgICAgICB9CiAgICAgIH0pCiAgICAgICBjb25zb2xlLmxvZyh0aGlzLnJlc3VsdEFycikKICAgIH0sCiAgICB1cGxvYWRJbWcoZSl7Ly/mlofku7bkuIrkvKAKICAgICAgIGlmKF9fbmV0d29ya19fKXsKICAgICAgICAgICB0aGlzLm9ic0ZpbGUoZSkvL29ic+aWh+S7tuS4iuS8oAoJCQkgICAgIHJldHVybgoJCSAgIH1lbHNlewogICAgICAgICB0aGlzLkluRmlsZVVwbG9hZChlKS8v5YaF572R5paH5Lu25LiK5LygICAgCiAgICAgICB9CiAgICB9LCAKICAgIG9ic0ZpbGUoZSl7Ly9vYnPmlofku7bkuIrkvKAKCSAgICBjb25zb2xlLmxvZyhlKQoJCSAgdmFyIHRoYXQ9dGhpczsKCQkgIHZhciBkb21haW5JZD10aGlzLiRyb3V0ZS5xdWVyeS5kb21haW5JZHx8ImRlZmF1bHQiLy/kv53lrZjmnKzlnLDkvIHkuJppZAoJCQkvLyB2YXIgb2JqZWN0S2V5PSJ1cGxvYWRzLyIrZG9tYWluSWQrIi8iK25ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSsiLyIrbmV3IERhdGUoKS5nZXRUaW1lKCkrZS5maWxlLm5hbWUJCiAgICAgIGxldCBub3c9bmV3IERhdGUoKQoJCQlsZXQgeT1ub3cuZ2V0RnVsbFllYXIoKQoJCQlsZXQgbT1ub3cuZ2V0TW9udGgoKSsxPDEwPycwJysobm93LmdldE1vbnRoKCkrMSk6bm93LmdldE1vbnRoKCkrMQoJCQlsZXQgZD1ub3cuZ2V0RGF0ZSgpPDEwPycwJytub3cuZ2V0RGF0ZSgpOm5vdy5nZXREYXRlKCkKCQkJbGV0IG1kPW0rJy0nK2QJCQkKCQkJdmFyIG9iamVjdEtleT1gdXBsb2Fkcy8ke3l9LyR7bWR9LyR7ZG9tYWluSWR9LyR7bm93LmdldFRpbWUoKX0vJHtlLmZpbGUubmFtZX1gCiAgICAgIAkJCgkJCXZhciBvYnMgPSBuZXcgT2JzQ2xpZW50KHsKCQkJCWFjY2Vzc19rZXlfaWQ6IGFrLAoJCQkJc2VjcmV0X2FjY2Vzc19rZXk6IHNrLAoJCQkJc2VydmVyIDogdXJsc2VydmVyLAoJCQkJdGltZW91dCA6IDYwICogNSwKCQkJfSk7CgkJCW9icy5wdXRPYmplY3QoewoJCQkJQnVja2V0OiBCdWNrZXROYW1lLAoJCQkJS2V5IDogb2JqZWN0S2V5LAoJCQkJU291cmNlRmlsZTplLmZpbGUgLy/ojrflj5ZmaWxl5paH5Lu2CgkJCX0pLnRoZW4oZnVuY3Rpb24ocmVzdWx0KSB7CgkJCQljb25zb2xlLmxvZyhyZXN1bHQpCgoJCQkJaWYocmVzdWx0LkNvbW1vbk1zZy5TdGF0dXMgPCAzMDApewogICAgICAgICAgdGhhdC4kbWVzc2FnZSh7dHlwZTonc3VjY2VzcycsbWVzc2FnZToi5LiK5Lyg5oiQ5YqfIn0pCgkJCQkJY29uc29sZS5sb2coJ0NyZWF0ZSBvYmplY3Q6JyArIG9iamVjdEtleSArICcgc3VjY2Vzc2Z1bGx5IVxuJyk7CiAgICAgICAgICB2YXIgaHR0cHVybCA9IGBodHRwczovLyR7QnVja2V0TmFtZX0uJHt1cmxzZXJ2ZXJ9LyR7b2JqZWN0S2V5fWAJCiAgICAgICAgICBodHRwdXJsID0gY29udmVydENkblBhdGgoaHR0cHVybCk7CiAgICAgICAgICB0aGF0LiRzZXQodGhhdC5mb3JtTGlzdCwiYXR0YWNobWVudCIsaHR0cHVybCkJCiAgICAgICAgICBsZXQgb2JqPXt9CiAgICAgICAgICBvYmoubmFtZT1lLmZpbGUubmFtZQogICAgICAgICAgb2JqLnVybD1odHRwdXJsCiAgICAgICAgICB0aGF0LmZpbGVMaXN0PVtvYmpdCiAgICAgICAgICBpZih0aGF0LnBhdGgpey8v5LiK5Lyg5paH5Lu25oiQ5Yqf5ZCv55SoCiAgICAgICAgICAgIHRoYXQuZGlzYWJsZWQ9ZmFsc2UKICAgICAgICAgIH0KCQkJCX0KCQkJfSk7CgkgIH0sCiAgICBJbkZpbGVVcGxvYWQoZSl7Ly/lhoXnvZHmlofku7bkuIrkvKAgIAogICAgICBsZXQgZmQ9bmV3IEZvcm1EYXRhKCkKICAgICAgZmQuYXBwZW5kKCJmaWxlIixlLmZpbGUpICAgCiAgICAgIGNvbW1vbkZpbGVVcGxvYWRBcGkoZmQpLnRoZW4ocmVzcG9uc2U9PnsKICAgICAgICBsZXQgYmxvYlJlYWRlciA9IG5ldyBSZXNwb25zZShyZXNwb25zZSkuanNvbigpOwogICAgICAgIGJsb2JSZWFkZXIudGhlbigocmVzKSA9PiB7CiAgICAgICAgICBjb25zb2xlLmxvZyhyZXMuZGF0YSkKICAgICAgICAgIGlmKHJlcy5kYXRhKXsKICAgICAgICAgICAgdGhpcy5wYXRoPXdpbmRvdy5sb2NhdGlvbi5vcmlnaW4rIi9vYnBtIityZXMuZGF0YQogICAgICAgICAgICB0aGlzLmRpc2FibGVkPWZhbHNlCiAgICAgICAgICB9CiAgICAgICAgfSkKICAgICAgfSkKICAgIH0sCiAgICBoYW5kbGVSZW1vdmUoZmlsZSwgZmlsZUxpc3QpIHsKICAgICAgICBjb25zb2xlLmxvZyhmaWxlLCBmaWxlTGlzdCk7CiAgICB9LAogICAgaGFuZGxlUHJldmlldyhmaWxlKSB7CiAgICAgIGNvbnNvbGUubG9nKGZpbGUpOwogICAgfSwKICAgIGhhbmRsZUV4Y2VlZChmaWxlcywgZmlsZUxpc3QpIHsKICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKGDlvZPliY3pmZDliLbpgInmi6kgMyDkuKrmlofku7bvvIzmnKzmrKHpgInmi6nkuoYgJHtmaWxlcy5sZW5ndGh9IOS4quaWh+S7tu+8jOWFsemAieaLqeS6hiAke2ZpbGVzLmxlbmd0aCArIGZpbGVMaXN0Lmxlbmd0aH0g5Liq5paH5Lu2YCk7CiAgICB9LAogICAgYmVmb3JlUmVtb3ZlKGZpbGUsIGZpbGVMaXN0KSB7CiAgICAgIHJldHVybiB0aGlzLiRjb25maXJtKGDnoa7lrprnp7vpmaQgJHsgZmlsZS5uYW1lIH3vvJ9gKTsKICAgIH0sCiAgICBjaGVja0VuZERhdGUodmFsKXsvL+S4uuaXoOacn+mZkOWQiOWQjAogICAgICAgaWYodmFsKXsKICAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImRpc2FibGVkRW5kRGF0ZSIsdHJ1ZSkKICAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImVuZERhdGUiLCI5OTk5LTEyLTMxIikKICAgICAgICAgdGhpcy5ydWxlcy5lbmREYXRlWzBdLnJlcXVpcmVkPWZhbHNlCiAgICAgICB9ZWxzZXsKICAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsImRpc2FibGVkRW5kRGF0ZSIsZmFsc2UpCiAgICAgICAgIHRoaXMucnVsZXMuZW5kRGF0ZVswXS5yZXF1aXJlZD10cnVlCiAgICAgICB9CiAgICB9LCAgICAKICAgIC8vXy5kZWJvdW5jZemYsuatoumHjeWkjeeCueWHuwogICAgc3VibWl0Rm9ybTpfLmRlYm91bmNlKGZ1bmN0aW9uKCl7IAogICAgICAvL+mAu+i+keS7o+eggQogICAgICBjb25zb2xlLmxvZyh0aGlzLmZvcm1MaXN0KSAgICAgIAogICAgICBpZih0aGlzLnJ1bGVzLmVuZERhdGVbMF0ucmVxdWlyZWQ9PXRydWUpewogICAgICAgICAgaWYodGhpcy5mb3JtTGlzdC5lbmREYXRlPHRoaXMuZm9ybUxpc3QuYmVnaW5EYXRlKXsKICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHt0eXBlOid3YXJuaW5nJyxtZXNzYWdlOiLlkIjlkIznu5PmnZ/ml6XmnJ/kuI3og73lsI/kuo7lkIjlkIzlvIDlp4vml6XmnJ8ifSkKICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgIH0KICAgICAgfQogICAgICBsZXQgb2JqMj17ZG9tYWluSWQ6dGhpcy4kcm91dGUucXVlcnkuZG9tYWluSWR9ICAgICAKICAgICAgdGhpcy4kcmVmcy5ydWxlRm9ybS52YWxpZGF0ZSgodmFsaWQpID0+IHsKICAgICAgICBpZiAodmFsaWQpIHsgICAgICAgIAogICAgICAgICAgaWYgKHRoaXMuT3BlclR5cGUgPT0gMCkgewogICAgICAgICAgICBBZGRDb250cmFjdEFwaSh0aGlzLmZvcm1MaXN0LG9iajIpLnRoZW4oKHJlc3BvbnNlKSA9PiB7CiAgICAgICAgICAgICAgLy/mlrDlop4KICAgICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzPT0yMDApIHsKICAgICAgICAgICAgICAgIGxldCBuZXdvYmogPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZm9ybUxpc3QpKTsKICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoInJlZnVybGlzdCIsIG5ld29iaik7IC8v56Gu5a6a5ZCO5Y+R6YCBJGVtaXTnu5HlrprniLbmlbDmja4KICAgICAgICAgICAgICAgIHRoaXMuY2FuY2VsRm9ybSgpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBFZGl0Q29udHJhY3RBcGkodGhpcy5mb3JtTGlzdCxvYmoyKS50aGVuKChyZXNwb25zZSkgPT4gewogICAgICAgICAgICAgIC8v5L+u5pS5CiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cz09MjAwKSB7CiAgICAgICAgICAgICAgICBsZXQgbmV3b2JqID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1MaXN0KSk7CiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCJyZWZ1cmxpc3QiLCBuZXdvYmopOyAvL+ehruWumuWQjuWPkemAgSRlbWl057uR5a6a54i25pWw5o2uCiAgICAgICAgICAgICAgICB0aGlzLmNhbmNlbEZvcm0oKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSAgICAgICAgICAgICAKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfSk7CiAgICB9LDEwMDAseydsZWFkaW5nJzp0cnVlLCd0cmFpbGluZyc6ZmFsc2V9KSwKICAgIGNhbmNlbEZvcm0oKSB7CiAgICAgIC8v5Y+W5raI5YWz6ZetCiAgICAgIHRoaXMuJGVtaXQoInVwZGF0ZTpzaG93ZGlhbG9nIiwgZmFsc2UpOwogICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbiAoKSB7CiAgICAgICAgdGhpcy4kcmVmcy5ydWxlRm9ybS5yZXNldEZpZWxkcygpOyAvL+mHjee9rui+k+WFpeahhuaPkOekugogICAgICB9KTsKICAgIH0sCiAgICByZWZ1cmxpc3QoKXsKCiAgICB9CiAgfSwKfTsK"},null]}