{"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/Map/index.vue?vue&type=script&lang=js","dependencies":[{"path":"/data/jenkins/workspace/badp-bcxin-web-5.x-staff/src/views/Map/index.vue","mtime":1748913931914},{"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:CmltcG9ydCBnY29vcmQgZnJvbSAiZ2Nvb3JkIjsKLy8gaW1wb3J0IGNpdHlPcHRpb25zIGZyb20gJ0AvYXNzZXRzL2pzL2NpdHlEYXRhLmpzJwppbXBvcnQgeyBnZXRQbGFjZUJ5VGlhbmRpIH0gZnJvbSAiQC9hcGkvc3RhZmZBcGkuanMiCmltcG9ydCBWdWVBTWFwIGZyb20gInZ1ZS1hbWFwIjsKbGV0IGFtYXBNYW5hZ2VyID0gbmV3IFZ1ZUFNYXAuQU1hcE1hbmFnZXIoKTsKaW1wb3J0IENsaXBib2FyZCBmcm9tICdjbGlwYm9hcmQnOwpsZXQgR2VvY29kZXI7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAiZmVuY2UtbWFuYWdlIiwKICBkYXRhKCkgewogICAgbGV0IHNlbGYgPSB0aGlzOwogICAgcmV0dXJuIHsKICAgICAgbWFwVHlwZTogJ2dhb2RlJywKICAgICAgdGlhbmRpTWFwOiBudWxsLAogICAgICBkaXN0cmljdDonJywvL+ecgeW4guWMugogICAgICBhdHRlbmRhbmNlU2l0ZU5hbWU6JycsCiAgICAgIHNlYXJjaFZhbHVlOicnLAogICAgICB1c2VySW5mbzoge30sCiAgICAgIGZvcm1MaXN0OiB7CiAgICAgICAgeHk6JycsICAKICAgICAgICBhZGRyZXNzOicnICAgCiAgICAgIH0sCiAgICAgIGxvbmdpdHVkZTonMCcsCiAgICAgIGxhdGl0dWRlOicwJywKICAgICAgLy8gY2l0eU9wdGlvbnM6Y2l0eU9wdGlvbnMsCiAgICAgIGFtYXBNYW5hZ2VyLAogICAgICB6b29tOiAxNSwKICAgICAgY2VudGVyOiBbMTE2LjQwMDEyOCwgMzkuOTQ3Mjc2XSwKICAgICAgYWRkcmVzczogIiIsIC8vIOWcsOWdgAogICAgICBsbmc6IDAsIC8vIOe7j+W6pgogICAgICBsYXQ6IDAsIC8vIOe7tOW6pgogICAgICB4eTogIiIsIC8v57uP57qs5ZCI5bm2CiAgICAgIHNlYXJjaE9wdGlvbjogewogICAgICAgIGNpdHk6ICIiLAogICAgICAgIGNpdHlsaW1pdDogZmFsc2UsCiAgICAgIH0sCiAgICAgIG1hcmtlcnM6IFtdLCAKICAgICAgZXZlbnRzOiB7CiAgICAgICAgaW5pdDoobyk9PiB7CiAgICAgICAgICAvLyBkZWJ1Z2dlcgogICAgICAgICAgY29uc29sZS5sb2cobykgICAgICAgICAgCiAgICAgICAgICAvLyBvIOaYr+mrmOW+t+WcsOWbvuWumuS9jeaPkuS7tuWunuS+iwogICAgICAgICAgLy8gby5nZXRDdXJyZW50UG9zaXRpb24oKHN0YXR1cywgcmVzdWx0KSA9PiB7CiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKCc1NScscmVzdWx0KQogICAgICAgICAgLy8gICBpZiAocmVzdWx0ICYmIHJlc3VsdC5wb3NpdGlvbikgewogICAgICAgICAgLy8gICAgIHNlbGYubG5nID0gcmVzdWx0LnBvc2l0aW9uLmxuZzsKICAgICAgICAgIC8vICAgICBzZWxmLmxhdCA9IHJlc3VsdC5wb3NpdGlvbi5sYXQ7CiAgICAgICAgICAvLyAgICAgc2VsZi5jZW50ZXIgPSBbc2VsZi5sbmcsIHNlbGYubGF0XTsKICAgICAgICAgIC8vICAgICBzZWxmLmxvYWRlZCA9IHRydWU7CiAgICAgICAgICAvLyAgICAgc2VsZi4kbmV4dFRpY2soKTsKICAgICAgICAgIC8vICAgfQogICAgICAgICAgLy8gfSk7CiAgICAgICAgfSwKICAgICAgICBjbGljayhlKSB7CiAgICAgICAgICBsZXQgeyBsbmcsIGxhdCB9ID0gZS5sbmdsYXQ7CiAgICAgICAgICBzZWxmLmxuZyA9IGxuZzsKICAgICAgICAgIHNlbGYubGF0ID0gbGF0OwogICAgICAgICAgc2VsZi5mb3JtTGlzdC54eSA9IHNlbGYubG5nICsgIiwiICsgc2VsZi5sYXQ7CiAgICAgICAgICBzZWxmLmxvbmdpdHVkZT1zZWxmLmxuZzsKICAgICAgICAgIHNlbGYubGF0aXR1ZGU9c2VsZi5sYXQ7CiAgICAgICAgICAvLyDov5nph4zpgJrov4fpq5jlvrcgU0RLIOWujOaIkOOAggogICAgICAgICAgdmFyIGdlb2NvZGVyID0gbmV3IEFNYXAuR2VvY29kZXIoewogICAgICAgICAgICByYWRpdXM6IDEwMDAsCiAgICAgICAgICAgIGV4dGVuc2lvbnM6ICJhbGwiLAogICAgICAgICAgfSk7CiAgICAgICAgICBnZW9jb2Rlci5nZXRBZGRyZXNzKFtsbmcsIGxhdF0sIGZ1bmN0aW9uKHN0YXR1cywgcmVzdWx0KSB7CiAgICAgICAgICAgIC8vIGRlYnVnZ2VyCiAgICAgICAgICAgIGlmIChzdGF0dXMgPT09ICJjb21wbGV0ZSIgJiYgcmVzdWx0LmluZm8gPT09ICJPSyIpIHsKICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5yZWdlb2NvZGUpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlc3VsdCkKICAgICAgICAgICAgICAgIHNlbGYuYWRkcmVzcyA9IHJlc3VsdC5yZWdlb2NvZGUuZm9ybWF0dGVkQWRkcmVzczsKICAgICAgICAgICAgICAgIHNlbGYuYXR0ZW5kYW5jZVNpdGVOYW1lID0gcmVzdWx0LnJlZ2VvY29kZS5wb2lzWzBdLm5hbWU7CiAgICAgICAgICAgICAgICBsZXQgY2l0eT0nJwogICAgICAgICAgICAgICAgaWYocmVzdWx0LnJlZ2VvY29kZS5hZGRyZXNzQ29tcG9uZW50LmNpdHk9PScnKXsKICAgICAgICAgICAgICAgICAgY2l0eT0n5biC6L6W5Yy6JwogICAgICAgICAgICAgICAgICBpZihyZXN1bHQucmVnZW9jb2RlLmFkZHJlc3NDb21wb25lbnQucHJvdmluY2UuaW5kZXhPZign6YeN5bqG5biCJyk+LTEmJnJlc3VsdC5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5kaXN0cmljdC5pbmRleE9mKCfljr8nKT4tMSl7CiAgICAgICAgICAgICAgICAgICAgY2l0eT0n5Y6/JwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgY2l0eT1yZXN1bHQucmVnZW9jb2RlLmFkZHJlc3NDb21wb25lbnQuY2l0eQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgc2VsZi5kaXN0cmljdCA9IHJlc3VsdC5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5wcm92aW5jZSArIGNpdHkgKyByZXN1bHQucmVnZW9jb2RlLmFkZHJlc3NDb21wb25lbnQuZGlzdHJpY3Q7CiAgICAgICAgICAgICAgICBzZWxmLiRuZXh0VGljaygpOwogICAgICAgICAgICAgICAgc2VsZi5tYXJrZXJzID0gW107ICAgIC8v5qCH6K6w54K55YWI5riF56m6CiAgICAgICAgICAgICAgICBzZWxmLm1hcmtlcnMucHVzaChbbG5nLGxhdF0pCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9LAogICAgICB9LAogICAgICAvLyDlvZPliY3lnLDlm77pnIDopoHnmoTmi5PlsZXmj5Lku7bpnIDlnKjor6XlhoXlrrnkuIvmlL7nva4gIEdlb2NvZGVy5Li66YCa6L+H5Z2Q5qCH6I635Y+W5Zyw5Z2A5L+h5oGvCiAgICAgIHBsdWdpbjogW3sKICAgICAgICAgICAgICBwTmFtZTogJ0dlb2NvZGVyJywKICAgICAgICAgICAgICBldmVudHM6IHsKICAgICAgICAgICAgICAgICAgaW5pdChvKSB7CiAgICAgICAgICAgICAgICAgICAgICBHZW9jb2RlciA9IG8KICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sCiAgICAgICAgICB9CiAgICAgIF0KICAgIH07CiAgfSwKICBtb3VudGVkKCkgewogICAgIGNvbnNvbGUubG9nKHRoaXMuJHJvdXRlLnF1ZXJ5KQogICAgIGlmKHRoaXMubWFwVHlwZSA9PT0gJ3RpYW5kaW1hcCcpIHsKICAgICAgdGhpcy5pbml0VGlhbmRpTWFwKCk7CiAgICAgfQogICAgIGlmKHRoaXMuJHJvdXRlLnF1ZXJ5KXsKICAgICAgdGhpcy5sb25naXR1ZGU9dGhpcy4kcm91dGUucXVlcnkubG9uZ2l0dWRlJiZ0aGlzLiRyb3V0ZS5xdWVyeS5sb25naXR1ZGUKICAgICAgdGhpcy5sYXRpdHVkZT10aGlzLiRyb3V0ZS5xdWVyeS5sYXRpdHVkZSYmdGhpcy4kcm91dGUucXVlcnkubGF0aXR1ZGUKICAgICAgdGhpcy5hZGRyZXNzPXRoaXMuJHJvdXRlLnF1ZXJ5LmFkZHJlc3MmJnRoaXMuJHJvdXRlLnF1ZXJ5LmFkZHJlc3MKICAgICAgdGhpcy5hdHRlbmRhbmNlU2l0ZU5hbWU9dGhpcy4kcm91dGUucXVlcnkuYXR0ZW5kYW5jZVNpdGVOYW1lJiZ0aGlzLiRyb3V0ZS5xdWVyeS5hdHRlbmRhbmNlU2l0ZU5hbWUKICAgICAgdGhpcy5kaXN0cmljdD10aGlzLiRyb3V0ZS5xdWVyeS5kaXN0cmljdCYmdGhpcy4kcm91dGUucXVlcnkuZGlzdHJpY3QKICAgICAgaWYodGhpcy4kcm91dGUucXVlcnkubG9uZ2l0dWRlKXsKICAgICAgICB0aGlzLm1hcmtlcnM9W10KICAgICAgICB0aGlzLmNlbnRlcj1bdGhpcy5sb25naXR1ZGUsdGhpcy5sYXRpdHVkZV0vL+WxheS4reWcsOWbvuS9jee9rgogICAgICAgIHRoaXMubWFya2Vycy5wdXNoKFt0aGlzLmxvbmdpdHVkZSx0aGlzLmxhdGl0dWRlXSkKICAgICAgICBpZih0aGlzLm1hcFR5cGUgPT09ICd0aWFuZGltYXAnKSB7CiAgICAgICAgICBpZih0aGlzLmxvbmdpdHVkZSAmJiB0aGlzLmxhdGl0dWRlKSB7CiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGdjb29yZC50cmFuc2Zvcm0oCiAgICAgICAgICAgICAgW3RoaXMubG9uZ2l0dWRlLCB0aGlzLmxhdGl0dWRlXSwgICAgLy8g57uP57qs5bqm5Z2Q5qCHCiAgICAgICAgICAgICAgZ2Nvb3JkLkdDSjAyLCAgICAgICAgICAgICAgICAgICAgICAgLy8g5b2T5YmN5Z2Q5qCH57O7CiAgICAgICAgICAgICAgZ2Nvb3JkLldHUzg0LCAgICAgICAgICAgICAgICAgICAgICAgLy8g55uu5qCH5Z2Q5qCH57O7CiAgICAgICAgICAgICk7CiAgICAgICAgICAgIHRoaXMuYWRkVGlhbmRpTWFya2VyKHJlc3VsdFswXSwgcmVzdWx0WzFdKTsKICAgICAgICAgIH0KICAgICAgICB9ICAgIAogICAgICB9CiAgICAgIC8vIGlmKHRoaXMuJHJvdXRlLnF1ZXJ5LmF0dGVuZGFuY2VTaXRlTmFtZSl7CiAgICAgIC8vICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnNlYXJjaC1ib3gtd3JhcHBlciBpbnB1dCIpLnZhbHVlPXRoaXMuYXR0ZW5kYW5jZVNpdGVOYW1lCiAgICAgIC8vIH0gICAgICAKICAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICAvLyDmuIXpmaTlpKnlnLDlm75tYXJrZXIKICAgIGNsZWFyVGlhbmRpTWFwKCkgewogICAgICBsZXQgbmV3TWFya2VyID0gdGhpcy50aWFuZGlNYXAuZ2V0T3ZlcmxheXMoKTsgLy8g6I635Y+W5Yiw5LqG5Zyw5Zu+5LiK55qE5omA5pyJ54K5CiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbmV3TWFya2VyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgdGhpcy50aWFuZGlNYXAucmVtb3ZlT3ZlckxheShuZXdNYXJrZXJbaV0pCiAgICAgIH07CiAgICB9LAogICAgLy8g5re75Yqg5aSp5Zyw5Zu+bWFya2VyCiAgICBhZGRUaWFuZGlNYXJrZXIobG5nLCBsYXQpIHsKICAgICAgY29uc3QgbWFya2VyID0gbmV3IFQuTWFya2VyKG5ldyBULkxuZ0xhdChsbmcsIGxhdCkpOwogICAgICAvL+WQkeWcsOWbvuS4iua3u+WKoOagh+azqAogICAgICB0aGlzLnRpYW5kaU1hcC5hZGRPdmVyTGF5KG1hcmtlcik7CiAgICAgIGNvbnN0IF90aGlzID0gdGhpczsKICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXMudGlhbmRpTWFwLnBhblRvKG5ldyBULkxuZ0xhdChOdW1iZXIobG5nKSwgTnVtYmVyKGxhdCkpKTsKICAgICAgfSwgNTAwKTsKICAgIH0sCiAgICAvLyDlpKnlnLDlm77pgIblnLDlnYDnvJbnoIEKICAgIGdldEFkZHJlc3NaaChsbmcsIGxhdCwgbmVlZEFkZHIpIHsKICAgICAgbGV0IGdlb2NvZGVyID0gbmV3IFQuR2VvY29kZXIoKTsKICAgICAgZ2VvY29kZXIuZ2V0TG9jYXRpb24obmV3IFQuTG5nTGF0KGxuZywgbGF0KSwgKHJlc3VsdCkgPT4gewogICAgICAgIGlmKHJlc3VsdC5nZXRTdGF0dXMoKSA9PSAwKSB7CiAgICAgICAgICBjb25zdCB7IGFkZHJlc3NDb21wb25lbnQgfSA9IHJlc3VsdC5nZXRBZGRyZXNzQ29tcG9uZW50KCk7CiAgICAgICAgICBpZihuZWVkQWRkcil7IC8vIOeCueWHu+WcsOWbvuiOt+WPlue7j+e6rOW6pumcgOimgee7meWcsOWdgOi1i+WAvAogICAgICAgICAgICB0aGlzLmFkZHJlc3MgPSBhZGRyZXNzQ29tcG9uZW50LmFkZHJlc3MKICAgICAgICAgICAgdGhpcy5hdHRlbmRhbmNlU2l0ZU5hbWUgPSBhZGRyZXNzQ29tcG9uZW50LnBvaTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMuZGlzdHJpY3QgPSBhZGRyZXNzQ29tcG9uZW50LnByb3ZpbmNlICsgYWRkcmVzc0NvbXBvbmVudC5jaXR5ICsgYWRkcmVzc0NvbXBvbmVudC5jb3VudHk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICAvLyDlpKnlnLDlm77mkJzntKIKICAgIGFzeW5jIG9uU2VhcmNoTWFwKCkgewogICAgICBjb25zdCBrZXl3b3JkcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zZWFyY2gtd3JhcGVyIGlucHV0IikudmFsdWU7CiAgICAgIGNvbnN0IHBhcmFtcyA9IHsKICAgICAgICBrZXlXb3JkOiBrZXl3b3JkcywKICAgICAgICBtYXBCb3VuZDogJy0xODAsLTkwLDE4MCw5MCcsCiAgICAgICAgbGV2ZWw6IDEyLAogICAgICAgIHF1ZXJ5VHlwZTogMSwKICAgICAgICBzdGFydDogMCwKICAgICAgICBjb3VudDogMTAKICAgICAgfQogICAgICBjb25zdCB7IGRhdGEgfSA9IGF3YWl0IGdldFBsYWNlQnlUaWFuZGkocGFyYW1zKQogICAgICBpZiAoZGF0YT8uc3RhdHVzPy5pbmZvY29kZSA9PT0gMTAwMCkgewogICAgICAgIGNvbnN0IHsgcG9pcyB9ID0gZGF0YTsKICAgICAgICBpZiAocG9pcykgewogICAgICAgICAgdGhpcy5hdHRlbmRhbmNlU2l0ZU5hbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoLXdyYXBlciBpbnB1dCIpLnZhbHVlOwogICAgICAgICAgbGV0IGxhdFN1bSA9IDA7CiAgICAgICAgICBsZXQgbG5nU3VtID0gMDsKICAgICAgICAgIGlmIChwb2lzLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgcG9pcy5mb3JFYWNoKChwb2kpID0+IHsKICAgICAgICAgICAgICBjb25zdCBsb25sYXQgPSBwb2k/LmxvbmxhdD8uc3BsaXQoJywnKTsKICAgICAgICAgICAgICBsbmdTdW0gKz0gbG9ubGF0WzBdIHx8IDA7CiAgICAgICAgICAgICAgbGF0U3VtICs9IGxvbmxhdFsxXSB8fCAwOwogICAgICAgICAgICAgIHRoaXMuYWRkcmVzcyA9IHBvaXNbMF0uYWRkcmVzcwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgbGV0IGNlbnRlciA9IHsKICAgICAgICAgICAgICBsbmc6IGxuZ1N1bSAvIHBvaXMubGVuZ3RoLAogICAgICAgICAgICAgIGxhdDogbGF0U3VtIC8gcG9pcy5sZW5ndGgsCiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHRoaXMuY2VudGVyID0gW2NlbnRlci5sbmcsIGNlbnRlci5sYXRdOwogICAgICAgICAgICB0aGlzLmNsZWFyVGlhbmRpTWFwKCk7IC8vIOa4hemZpOWkqeWcsOWbvm1hcmtlcnMKICAgICAgICAgICAgY29uc3QgbWFya2VyUG9pID0gcG9pc1swXS5sb25sYXQ/LnNwbGl0KCcsJyk7CiAgICAgICAgICAgIHRoaXMuYWRkVGlhbmRpTWFya2VyKG1hcmtlclBvaVswXSwgbWFya2VyUG9pWzFdKTsKICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZ2Nvb3JkLnRyYW5zZm9ybSgKICAgICAgICAgICAgICBbbWFya2VyUG9pWzBdLCBtYXJrZXJQb2lbMV1dLCAgIC8vIOe7j+e6rOW6puWdkOaghwogICAgICAgICAgICAgIGdjb29yZC5XR1M4NCwgICAgICAgICAgICAgICAgICAgLy8g5b2T5YmN5Z2Q5qCH57O7CiAgICAgICAgICAgICAgZ2Nvb3JkLkdDSjAyLCAgICAgICAgICAgICAgICAgICAvLyDnm67moIflnZDmoIfns7sKICAgICAgICAgICAgKTsKICAgICAgICAgICAgdGhpcy5mb3JtTGlzdC54eSA9IHJlc3VsdFswXSArICIsIiArIHJlc3VsdFsxXTsKICAgICAgICAgICAgdGhpcy5sb25naXR1ZGUgPSByZXN1bHRbMF0/LnRvRml4ZWQoNik7CiAgICAgICAgICAgIHRoaXMubGF0aXR1ZGUgPSByZXN1bHRbMV0/LnRvRml4ZWQoNik7CiAgICAgICAgICAgIHRoaXMuZ2V0QWRkcmVzc1poKG1hcmtlclBvaVswXSwgbWFya2VyUG9pWzFdKQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgIC8vIOeCueWHu+WkqeWcsOWbvuS6i+S7tgogICAgb25NYXBDbGljayhlKSB7CiAgICAgIGNvbnN0IHJlc3VsdCA9IGdjb29yZC50cmFuc2Zvcm0oCiAgICAgICAgW2UubG5nbGF0LmdldExuZygpLCBlLmxuZ2xhdC5nZXRMYXQoKV0sICAgLy8g57uP57qs5bqm5Z2Q5qCHCiAgICAgICAgZ2Nvb3JkLldHUzg0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5b2T5YmN5Z2Q5qCH57O7CiAgICAgICAgZ2Nvb3JkLkdDSjAyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g55uu5qCH5Z2Q5qCH57O7CiAgICAgICk7CiAgICAgIHRoaXMubG9uZ2l0dWRlID0gcmVzdWx0WzBdPy50b0ZpeGVkKDYpOwogICAgICB0aGlzLmxhdGl0dWRlID0gcmVzdWx0WzFdPy50b0ZpeGVkKDYpOwogICAgICB0aGlzLmdldEFkZHJlc3NaaChlLmxuZ2xhdC5nZXRMbmcoKSwgZS5sbmdsYXQuZ2V0TGF0KCksIHRydWUpOwogICAgICB0aGlzLmNsZWFyVGlhbmRpTWFwKCk7CiAgICAgIHRoaXMuYWRkVGlhbmRpTWFya2VyKGUubG5nbGF0LmdldExuZygpLCBlLmxuZ2xhdC5nZXRMYXQoKSk7CiAgICB9LAogICAgLy8g5aSp5Zyw5Zu+5Yid5aeL5YyWCiAgICBpbml0VGlhbmRpTWFwKCkgewogICAgICB0aGlzLnRpYW5kaU1hcCA9IG5ldyBULk1hcCgnbWFwRGl2Jyk7CiAgICAgIGNvbnN0IGxuZ2xhdCA9IG5ldyBULkxuZ0xhdCgxMTYuNDA5NjksMzkuODk5NDUpOwogICAgICB0aGlzLnRpYW5kaU1hcC5jZW50ZXJBbmRab29tKGxuZ2xhdCwxMik7CiAgICAgIHRoaXMudGlhbmRpTWFwLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5vbk1hcENsaWNrKTsKICAgIH0sCiAgICBvblNhdmUoKXsgCiAgICAgIGlmKCF0aGlzLmxvbmdpdHVkZSl7CiAgICAgICAgdGhpcy4kbWVzc2FnZSh7dHlwZTogIndhcm5pbmciLG1lc3NhZ2U6ICLor7fmkJzntKLvvIzlho3ngrnlh7vnoa7lrpoifSk7CiAgICAgICAgcmV0dXJuCiAgICAgIH0KICAgICAgY29uc29sZS5sb2coJ2hhaGFoaGFoJywgdGhpcy5sb25naXR1ZGUpCiAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2Uoe2xvbmdpdHVkZTp0aGlzLmxvbmdpdHVkZSxsYXRpdHVkZTp0aGlzLmxhdGl0dWRlLGFkZHJlc3M6dGhpcy5hZGRyZXNzLGF0dGVuZGFuY2VTaXRlTmFtZTp0aGlzLmF0dGVuZGFuY2VTaXRlTmFtZSxkaXN0cmljdDp0aGlzLmRpc3RyaWN0fSwnKicpICAgICAKICAgIH0sCiAgICBvbkNvcHlsb25nKCl7CiAgICAgIGNvbnNvbGUubG9nKHRoaXMubG9uZ2l0dWRlKQogICAgICBpZighdGhpcy5sb25naXR1ZGUpewogICAgICAgIHRoaXMuJG1lc3NhZ2Uoe3R5cGU6ICJ3YXJuaW5nIixtZXNzYWdlOiAi6K+35pCc57Si77yM5YaN54K55Ye75aSN5Yi2In0pOwogICAgICAgIHJldHVybgogICAgICB9CiAgICAgIGxldCBsaW5rPUpTT04uc3RyaW5naWZ5KHRoaXMubG9uZ2l0dWRlKQogICAgICB0aGlzLiRuZXh0VGljaygoKT0+ewogICAgICAgICAgbGV0IGNsaXBib2FyZD1uZXcgQ2xpcGJvYXJkKCcuY29weVRleHRsb25nJywgewogICAgICAgICAgICAgIHRleHQ6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIHJldHVybiBsaW5rCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgICAgY2xpcGJvYXJkLm9uKCJzdWNjZXNzIiwgZSA9PiB7CiAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICAgICAgdHlwZTogInN1Y2Nlc3MiLAogICAgICAgICAgICAgICAgICBtZXNzYWdlOiAi5aSN5Yi25oiQ5YqfIgogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBjbGlwYm9hcmQuZGVzdHJveSgpOyAvLyDph4rmlL7lhoXlrZgKICAgICAgICAgIH0pOwogICAgICAgICAgY2xpcGJvYXJkLm9uKCJlcnJvciIsIGUgPT4gewogICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgdHlwZTogIndhcm5pbmciLAogICAgICAgICAgICAgICAgbWVzc2FnZTogIuivpea1j+iniOWZqOS4jeaUr+aMgeiHquWKqOWkjeWItiEiCiAgICAgICAgICAgICAgfSk7IC8vIOS4jeaUr+aMgeWkjeWItgogICAgICAgICAgICAgIGNsaXBib2FyZC5kZXN0cm95KCk7IC8vIOmHiuaUvuWGheWtmAogICAgICAgICAgfSk7CiAgICAgIH0pOyAgCiAgICB9LAogICAgb25Db3B5bGF0KCl7CiAgICAgIGNvbnNvbGUubG9nKHRoaXMubGF0aXR1ZGUpCiAgICAgIGlmKCF0aGlzLmxhdGl0dWRlKXsKICAgICAgICB0aGlzLiRtZXNzYWdlKHt0eXBlOiAid2FybmluZyIsbWVzc2FnZTogIuivt+aQnOe0ou+8jOWGjeeCueWHu+WkjeWItiJ9KTsKICAgICAgICByZXR1cm4KICAgICAgfQogICAgICBsZXQgbGluaz1KU09OLnN0cmluZ2lmeSh0aGlzLmxhdGl0dWRlKQogICAgICB0aGlzLiRuZXh0VGljaygoKT0+ewogICAgICAgICAgbGV0IGNsaXBib2FyZD1uZXcgQ2xpcGJvYXJkKCcuY29weVRleHRsYXQnLCB7CiAgICAgICAgICAgICAgdGV4dDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgcmV0dXJuIGxpbmsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBjbGlwYm9hcmQub24oInN1Y2Nlc3MiLCBlID0+IHsKICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgICB0eXBlOiAic3VjY2VzcyIsCiAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICLlpI3liLbmiJDlip8iCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIGNsaXBib2FyZC5kZXN0cm95KCk7IC8vIOmHiuaUvuWGheWtmAogICAgICAgICAgfSk7CiAgICAgICAgICBjbGlwYm9hcmQub24oImVycm9yIiwgZSA9PiB7CiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgICB0eXBlOiAid2FybmluZyIsCiAgICAgICAgICAgICAgICBtZXNzYWdlOiAi6K+l5rWP6KeI5Zmo5LiN5pSv5oyB6Ieq5Yqo5aSN5Yi2ISIKICAgICAgICAgICAgICB9KTsgLy8g5LiN5pSv5oyB5aSN5Yi2CiAgICAgICAgICAgICAgY2xpcGJvYXJkLmRlc3Ryb3koKTsgLy8g6YeK5pS+5YaF5a2YCiAgICAgICAgICB9KTsKICAgICAgfSk7CiAgICB9LAogICAgb25Db3B5YWRkcmVzcygpewogICAgICBjb25zb2xlLmxvZyh0aGlzLmFkZHJlc3MpCiAgICAgIGlmKCF0aGlzLmFkZHJlc3MpewogICAgICAgIHRoaXMuJG1lc3NhZ2Uoe3R5cGU6ICJ3YXJuaW5nIixtZXNzYWdlOiAi6K+35pCc57Si77yM5YaN54K55Ye75aSN5Yi2In0pOwogICAgICAgIHJldHVybgogICAgICB9CiAgICAgIGxldCBsaW5rPUpTT04uc3RyaW5naWZ5KHRoaXMuYWRkcmVzcykKICAgICAgdGhpcy4kbmV4dFRpY2soKCk9PnsKICAgICAgICAgIGxldCBjbGlwYm9hcmQ9bmV3IENsaXBib2FyZCgnLmNvcHlUZXh0YWRkcmVzcycsIHsKICAgICAgICAgICAgICB0ZXh0OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gbGluawogICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIGNsaXBib2FyZC5vbigic3VjY2VzcyIsIGUgPT4gewogICAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgICAgICAgIHR5cGU6ICJzdWNjZXNzIiwKICAgICAgICAgICAgICAgICAgbWVzc2FnZTogIuWkjeWItuaIkOWKnyIKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgY2xpcGJvYXJkLmRlc3Ryb3koKTsgLy8g6YeK5pS+5YaF5a2YCiAgICAgICAgICB9KTsKICAgICAgICAgIGNsaXBib2FyZC5vbigiZXJyb3IiLCBlID0+IHsKICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlKHsKICAgICAgICAgICAgICAgIHR5cGU6ICJ3YXJuaW5nIiwKICAgICAgICAgICAgICAgIG1lc3NhZ2U6ICLor6XmtY/op4jlmajkuI3mlK/mjIHoh6rliqjlpI3liLYhIgogICAgICAgICAgICAgIH0pOyAvLyDkuI3mlK/mjIHlpI3liLYKICAgICAgICAgICAgICBjbGlwYm9hcmQuZGVzdHJveSgpOyAvLyDph4rmlL7lhoXlrZgKICAgICAgICAgIH0pOwogICAgICB9KTsKICAgIH0sCiAgICBnZXRSZWZWYWwodmFsKSB7CiAgICAgIGNvbnNvbGUubG9nKCcyMicsdmFsKTsKICAgICAgdGhpcy5mb3JtTGlzdCA9IHZhbDsKICAgICAgaWYodGhpcy5mb3JtTGlzdC5sb25naXR1ZGUpewogICAgICAgIGxldCBsZ2F0PXRoaXMuZm9ybUxpc3QubG9uZ2l0dWRlKyIsIit0aGlzLmZvcm1MaXN0LmxhdGl0dWRlCiAgICAgICAgdGhpcy4kc2V0KHRoaXMuZm9ybUxpc3QsJ3h5JyxsZ2F0KSAgICAgCiAgICAgICAgbGV0IGNlbnRlckFycj1bdGhpcy5mb3JtTGlzdC5sb25naXR1ZGUsdGhpcy5mb3JtTGlzdC5sYXRpdHVkZV0KICAgICAgICB0aGlzLmNlbnRlcj1bY2VudGVyQXJyWzBdLGNlbnRlckFyclsxXV0KICAgICAgfQogICAgfSwKICAgIC8vIOaQnOe0ogogICAgb25TZWFyY2hSZXN1bHQocG9pcykgewogICAgICB0aGlzLmF0dGVuZGFuY2VTaXRlTmFtZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoLWJveC13cmFwcGVyIGlucHV0IikudmFsdWUKICAgICAgY29uc29sZS5sb2cocG9pcyk7CiAgICAgIGxldCBsYXRTdW0gPSAwOwogICAgICBsZXQgbG5nU3VtID0gMDsKICAgICAgaWYgKHBvaXMubGVuZ3RoID4gMCkgewogICAgICAgIHBvaXMuZm9yRWFjaCgocG9pKSA9PiB7CiAgICAgICAgICBsZXQgeyBsbmcsIGxhdCB9ID0gcG9pOwogICAgICAgICAgbG5nU3VtICs9IGxuZzsKICAgICAgICAgIGxhdFN1bSArPSBsYXQ7CiAgICAgICAgICB0aGlzLmFkZHJlc3M9cG9pc1swXS5hZGRyZXNzCiAgICAgICAgfSk7CiAgICAgICAgbGV0IGNlbnRlciA9IHsKICAgICAgICAgIGxuZzogbG5nU3VtIC8gcG9pcy5sZW5ndGgsCiAgICAgICAgICBsYXQ6IGxhdFN1bSAvIHBvaXMubGVuZ3RoLAogICAgICAgIH07CiAgICAgICAgdGhpcy5jZW50ZXIgPSBbY2VudGVyLmxuZywgY2VudGVyLmxhdF07ICAgICAgIAogICAgICAgIHRoaXMubWFya2VycyA9IFtdOyAgICAvL+agh+iusOeCueWFiOa4heepuiAgCiAgICAgICAgdGhpcy5tYXJrZXJzLnB1c2goW3BvaXNbMF0ubG5nLHBvaXNbMF0ubGF0XSkgCiAgICAgICAgdGhpcy5mb3JtTGlzdC54eSA9IHBvaXNbMF0ubG5nICsgIiwiICsgcG9pc1swXS5sYXQ7CiAgICAgICAgdGhpcy5sb25naXR1ZGU9cG9pc1swXS5sbmc7CiAgICAgICAgdGhpcy5sYXRpdHVkZT1wb2lzWzBdLmxhdDsgICAgICAKICAgICAgICB0aGlzLiRuZXh0VGljaygoKT0+ewogICAgICAgICAgdGhpcy4kcmVmcy5tYXAuJCRnZXRJbnN0YW5jZSgpLnNldEZpdFZpZXcoKS8v5bGF5Lit5Zyw5Zu+5L2N572uICAgICAgICAgIAogICAgICAgIH0pCiAgICAgICAgbGV0IHNlbGY9dGhpczsKICAgICAgICAvLyDov5nph4zpgJrov4fpq5jlvrcgU0RLIOWujOaIkOOAggogICAgICAgIHZhciBnZW9jb2RlciA9IG5ldyBBTWFwLkdlb2NvZGVyKHsKICAgICAgICAgICAgcmFkaXVzOiAxMDAwLAogICAgICAgICAgICBleHRlbnNpb25zOiAiYWxsIiwKICAgICAgICAgIH0pOwogICAgICAgICAgZ2VvY29kZXIuZ2V0QWRkcmVzcyhbdGhpcy5sb25naXR1ZGUsIHRoaXMubGF0aXR1ZGVdLCBmdW5jdGlvbihzdGF0dXMsIHJlc3VsdCkgewogICAgICAgICAgICAvLyBkZWJ1Z2dlcgogICAgICAgICAgICBpZiAoc3RhdHVzID09PSAiY29tcGxldGUiICYmIHJlc3VsdC5pbmZvID09PSAiT0siKSB7CiAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQucmVnZW9jb2RlKSB7CiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXN1bHQpICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgbGV0IGNpdHk9JycKICAgICAgICAgICAgICAgIGlmKHJlc3VsdC5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5jaXR5PT0nJyl7CiAgICAgICAgICAgICAgICAgIGNpdHk9J+W4gui+luWMuicKICAgICAgICAgICAgICAgICAgaWYocmVzdWx0LnJlZ2VvY29kZS5hZGRyZXNzQ29tcG9uZW50LnByb3ZpbmNlLmluZGV4T2YoJ+mHjeW6huW4gicpPi0xJiZyZXN1bHQucmVnZW9jb2RlLmFkZHJlc3NDb21wb25lbnQuZGlzdHJpY3QuaW5kZXhPZign5Y6/Jyk+LTEpewogICAgICAgICAgICAgICAgICAgIGNpdHk9J+WOvycKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgIGNpdHk9cmVzdWx0LnJlZ2VvY29kZS5hZGRyZXNzQ29tcG9uZW50LmNpdHkKICAgICAgICAgICAgICAgIH0gIAogICAgICAgICAgICAgICAgc2VsZi5kaXN0cmljdCA9IHJlc3VsdC5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5wcm92aW5jZSArIGNpdHkgKyByZXN1bHQucmVnZW9jb2RlLmFkZHJlc3NDb21wb25lbnQuZGlzdHJpY3Q7ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgfQogICAgfSwKICB9LAp9Owo="},null]}