{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\dataTemplate\\templateForm.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\components\\dataTemplate\\templateForm.vue","mtime":1733309211704},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgT25saW5lRm9ybSBmcm9tICdAL2NvbXBvbmVudHMvZmxvdy9PbmxpbmVGb3JtLnZ1ZScNCmltcG9ydCBmb3JtIGZyb20gJ0AvYXBpL2Zvcm0uanMnDQppbXBvcnQgdXRpbHMgZnJvbSAnQC91dGlscy5qcycNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnZm9ybUNvbnRlbnQnLA0KICBwcm9wczogWyd0ZW1wbGF0ZUtleScsICdhY3Rpb24nLCAnaXNTaGFyZScsICdvcGVuVHlwZSddLA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBhbGlhc19uZXc6ICdzdGF0ZW1lbnQnLA0KICAgICAgaHRtbDogbnVsbCwNCiAgICAgIGRhdGE6IG51bGwsDQogICAgICBwZXJtaXNzaW9uOiBudWxsLA0KICAgICAgcmVsb2FkT25saW5lRm9ybTogZmFsc2UsDQogICAgICBpc1ZpZXc6IHRydWUsDQogICAgICBkaXNhYmxlZDogZmFsc2UsDQogICAgICBib0FsaWFzOiAnJywNCiAgICAgIGlkOiAnJywNCiAgICAgIHN0YXJ0RmxvdzogZmFsc2UsDQogICAgICByZWNvcmRJZDogJycsDQogICAgICBkZWZLZXk6ICcnLA0KICAgICAgZm9ybUtleTogJycsDQogICAgICBmaWxsRmllbGQ6ICcnLA0KICAgICAgZmlsbFZhbHVlOiAnJywNCiAgICAgIGJpbmRMaXN0OiBbXSwNCiAgICAgIHByaW50OiBmYWxzZSwNCiAgICAgIGlzU2hvdzogdHJ1ZSwNCiAgICAgIHRlbXBBbGlhczogJycsDQogICAgICBzdGFydExhYmxlOiAn5Y+R6LW35rWB56iLJywNCiAgICAgIHByaW50TGFibGU6ICfmiZPljbAnDQogICAgfQ0KICB9LA0KICBjb21wb25lbnRzOiB7T25saW5lRm9ybX0sDQogIHVwZGF0ZWQoKSB7DQogICAgbGV0IHJlc3VsdCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCc/JylbMF0uc3BsaXQoJy8nKQ0KICAgIGlmICgNCiAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMV0gPT0gJ2dldCcgfHwNCiAgICAgIHJlc3VsdFtyZXN1bHQubGVuZ3RoIC0gMl0gPT0gJ2dldCcNCiAgICApIHsNCiAgICAgIHRoaXMuaXNTaG93ID0gZmFsc2UNCiAgICB9DQogICAgLy/liKTmlq3mmK/lkKbmmL7npLrlj5HotbfmtYHnqIvmjInpkq4NCiAgICBpZiAoDQogICAgICB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzFdICYmDQogICAgICB3aW5kb3cubG9jYXRpb24uaHJlZi5zcGxpdCgnPycpWzFdLnNwbGl0KCcmJykNCiAgICApIHsNCiAgICAgIGlmICgNCiAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYuc3BsaXQoJz8nKVsxXS5zcGxpdCgnJicpWzFdICYmDQogICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCc/JylbMV0uc3BsaXQoJyYnKVsxXSA9PSAnc3RhcnRGbG93PWZhbHNlJw0KICAgICAgKSB7DQogICAgICAgIHRoaXMuc3RhcnRGbG93ID0gZmFsc2UNCiAgICAgIH0NCiAgICB9DQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICBsb2FkU3VjY2VzcygpIHsNCiAgICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5pc1ByaW50KSB7DQogICAgICAgIHRoaXMucHJpbnREZXRhaWwoKQ0KICAgICAgfQ0KICAgIH0sDQogICAgcHJpbnREZXRhaWwoKSB7DQogICAgICB0aGlzLiRyZWZzLmJ0blJlZ2lvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnDQogICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5zdHlsZS56b29tID0gMC44DQogICAgICAgIHdpbmRvdy5wcmludCgpDQogICAgICAgIHRoaXMuJHJlZnMuYnRuUmVnaW9uLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snDQogICAgICAgIGlmICh0aGlzLiRyb3V0ZS5xdWVyeS5pc1ByaW50KSB7DQogICAgICAgICAgdGhpcy5jbG9zZShmYWxzZSkNCiAgICAgICAgfQ0KICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLnN0eWxlLnpvb20gPSAxDQogICAgICB9LCA1MDApDQogICAgfSwNCiAgICAvL+WQr+WKqA0KICAgIHN0YXJ0KCkgew0KICAgICAgdXRpbHMNCiAgICAgICAgLmdldE9ubGluZUZvcm1EYXRhKHRydWUpDQogICAgICAgIC50aGVuKGZvcm1EYXRhU3RyID0+IHRoaXMucHJvY2Vzc1N0YXJ0KGZvcm1EYXRhU3RyKSkNCiAgICAgICAgLmNhdGNoKHJlYXNvbiA9Pg0KICAgICAgICAgIHV0aWxzLmhhbmRsZUdldEZvcm1EYXRhUmVqZWN0KHJlYXNvbikudGhlbigoKSA9PiB0aGlzLnByb2Nlc3NTdGFydCgpKQ0KICAgICAgICApDQogICAgfSwNCiAgICBwcm9jZXNzU3RhcnQoZm9ybURhdGFTdHIpIHsNCiAgICAgIHV0aWxzLmNsb3NlQWxsTm90aWZpY2F0aW9uKCkNCiAgICAgIGxldCBkYXRhID0ge2Zsb3dLZXk6IHRoaXMuZGVmS2V5fQ0KICAgICAgaWYgKGZvcm1EYXRhU3RyKSB7DQogICAgICAgIGRhdGEuZGF0YSA9IEJhc2U2NC5lbmNvZGUoZm9ybURhdGFTdHIpDQogICAgICB9DQogICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZQ0KICAgICAgdGhpcy4kc3RvcmUNCiAgICAgICAgLmRpc3BhdGNoKCdzdG9yZVByb2Nlc3Mvc3RhcnQnLCBkYXRhKQ0KICAgICAgICAudGhlbigoKSA9PiB7DQogICAgICAgICAgdGhpcy5jbG9zZSh0cnVlKQ0KICAgICAgICB9KQ0KICAgICAgICAuY2F0Y2goKCkgPT4gew0KICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZQ0KICAgICAgICB9KQ0KICAgIH0sDQogICAgLy/kv53lrZgNCiAgICBib1NhdmUoZGVsRHJhZnRJZCkgew0KICAgICAgdXRpbHMNCiAgICAgICAgLmdldE9ubGluZUZvcm1EYXRhKHRydWUpDQogICAgICAgIC50aGVuKGZvcm1EYXRhU3RyID0+IHsNCiAgICAgICAgICB1dGlscy5jbG9zZUFsbE5vdGlmaWNhdGlvbigpDQogICAgICAgICAgbGV0IF9tZSA9IHRoaXMNCiAgICAgICAgICAvLyBmb3IgKGxldCBpPTA7IGk8X21lLiR2YWxpZGF0b3IuZXJyb3JzLml0ZW1zLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgLy8gICBpZihfbWUuJHZhbGlkYXRvci5lcnJvcnMuaXRlbXNbaV0ucnVsZSA9PSAicmVxdWlyZWQiKXsNCiAgICAgICAgICAvLyAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCLor7flsIbkv6Hmga/loavlhpnlrozmlbQiKTsNCiAgICAgICAgICAvLyAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgIC8vICAgfQ0KICAgICAgICAgIC8vIH0NCiAgICAgICAgICBsZXQgZGF0YSA9IHsNCiAgICAgICAgICAgIGJvQWxpYXM6IHRoaXMuYm9BbGlhcywNCiAgICAgICAgICAgIGJvRGF0YTogdXRpbHMucGFyc2VUb0pzb24oZm9ybURhdGFTdHIpDQogICAgICAgICAgfQ0KICAgICAgICAgIC8v5pWw5o2u6KeG5Zu+5o6n5Lu2DQogICAgICAgICAgLy8gaWYgKHRoaXMuZmlsbEZpZWxkICYmIHRoaXMuZmlsbEZpZWxkICE9ICIiKSB7DQogICAgICAgICAgLy8gICBsZXQgZmlsbEZpZWxkID0gdGhpcy5maWxsRmllbGQ7DQogICAgICAgICAgLy8gICBkYXRhLmJvRGF0YVt0aGlzLmJvQWxpYXNdW2ZpbGxGaWVsZF0gPSB0aGlzLmZpbGxWYWx1ZTsNCiAgICAgICAgICAvLyB9DQogICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRydWUNCg0KICAgICAgICAgIGlmIChkZWxEcmFmdElkKSB7DQogICAgICAgICAgICBkYXRhLmRlbERyYWZ0SWQgPSBkZWxEcmFmdElkDQogICAgICAgICAgfQ0KICAgICAgICAgIGRhdGEuZm9ybUtleSA9IHRoaXMuZm9ybUtleQ0KICAgICAgICAgIGRhdGEudGVtcGxhdGVLZXkgPSB0aGlzLnRlbXBsYXRlS2V5DQogICAgICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2Zvcm0vYm9TYXZlJywgZGF0YSkudGhlbihyZXN1bHQgPT4gew0KICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGF0ZSkgew0KICAgICAgICAgICAgICAvL+W9k+aTjeS9nOS4uue8lui+keaYr++8jOeCueWHu+S/neWtmOaIkOWKn+WQjuaPkOekuue7p+e7ree8lui+kei/mOaYr+i/lOWbng0KICAgICAgICAgICAgICBpZiAodGhpcy5hY3Rpb24gPT09ICdlZGl0JyB8fCB0aGlzLmFjdGlvbiA9PT0gJ2FkZCcpIHsNCiAgICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MocmVzdWx0Lm1lc3NhZ2UpDQogICAgICAgICAgICAgICAgdGhpcy4kY29uZmlybSgn5L+d5a2Y5oiQ5Yqf77yM5piv5ZCm6YCA5Ye677yfJywgJ+aPkOekuicsIHsNCiAgICAgICAgICAgICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56uL5Y2z6YCA5Ye6JywNCiAgICAgICAgICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICfnu6fnu63mk43kvZwnLA0KICAgICAgICAgICAgICAgICAgdHlwZTogJ3dhcm5pbmcnDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZShmYWxzZSkNCiAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4gew0KICAgICAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLm9ubGluZUZvcm0uaW5pdCgpDQogICAgICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hY3Rpb24gPT09ICdlZGl0RHJhZnQnKSB7DQogICAgICAgICAgICAgICAgICAgICAgdGhpcy5lZGl0RHJhZnRIYW5kbGVyKCkNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZXIoKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UodHJ1ZSkNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgICAgfSkNCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKHJlYXNvbiA9PiB1dGlscy5oYW5kbGVHZXRGb3JtRGF0YVJlamVjdChyZWFzb24pKQ0KICAgIH0sDQogICAgYm9TYXZlQW5kRGVsRHJhZnQoKSB7DQogICAgICB0aGlzLmJvU2F2ZSh0aGlzLmRyYWZ0SWQpDQogICAgfSwNCiAgICAvL+S/neWtmA0KICAgIGJvU2F2ZURyYWZ0KCkgew0KICAgICAgY29uc3QgdGhpc18gPSB0aGlzDQogICAgICB1dGlscw0KICAgICAgICAuZ2V0T25saW5lRm9ybURhdGEoZmFsc2UpDQogICAgICAgIC50aGVuKGZvcm1EYXRhU3RyID0+IHsNCiAgICAgICAgICB1dGlscy5jbG9zZUFsbE5vdGlmaWNhdGlvbigpDQogICAgICAgICAgbGV0IF9tZSA9IHRoaXMNCiAgICAgICAgICBsZXQgZGF0YSA9IHsNCiAgICAgICAgICAgIHRlbXBBbGlhczogdGhpcy50ZW1wQWxpYXMsDQogICAgICAgICAgICBkYXRhSnNvbjogZm9ybURhdGFTdHINCiAgICAgICAgICB9DQogICAgICAgICAgaWYgKHRoaXMuZHJhZnQpIHsNCiAgICAgICAgICAgIGRhdGEuaWQgPSB0aGlzLmRyYWZ0LmlkDQogICAgICAgICAgICBkYXRhLnRpdGxlID0gdGhpcy5kcmFmdC50aXRsZQ0KICAgICAgICAgICAgZGF0YS5jcmVhdGVCeSA9IHRoaXMuZHJhZnQuY3JlYXRlQnkNCiAgICAgICAgICAgIGRhdGEuY3JlYXRlVGltZSA9IHRoaXMuZHJhZnQuY3JlYXRlVGltZQ0KICAgICAgICAgIH0NCiAgICAgICAgICAvL+aVsOaNruinhuWbvuaOp+S7tg0KICAgICAgICAgIC8vIGlmKHRoaXMuYmluZExpc3QgJiYgdGhpcy5iaW5kTGlzdC5sZW5ndGggPjApIHsNCiAgICAgICAgICAvLyAgIGZvcih2YXIgaT0wO2k8dGhpcy5iaW5kTGlzdC5sZW5ndGg7aSsrKXsNCiAgICAgICAgICAvLyAgICAgZGF0YS5ib0RhdGFbdGhpcy5ib0FsaWFzXVt0aGlzLmJpbmRMaXN0W2ldLmtleV0gPSB0aGlzLmJpbmRMaXN0W2ldLnZhbHVlOw0KICAgICAgICAgIC8vICAgfQ0KICAgICAgICAgIC8vIH0NCiAgICAgICAgICB0aGlzLmRpc2FibGVkID0gdHJ1ZQ0KICAgICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdmb3JtL2JvU2F2ZURyYWZ0JywgZGF0YSkudGhlbihyZXN1bHQgPT4gew0KICAgICAgICAgICAgaWYgKHJlc3VsdC5zdGF0ZSkgew0KICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MocmVzdWx0Lm1lc3NhZ2UpDQogICAgICAgICAgICAgIGxldCBkYXRhVmlld0ZsYWcgPSBmYWxzZQ0KICAgICAgICAgICAgICAvL+aVsOaNruinhuWbvumaj+acuua3u+WKoOWIsOWFtuS7luiPnOWNleS4i+mdouaXtuiOt+WPluW9k+WJjeiPnOWNleeahOWIq+WQjSAg5bm25LiU5b2T5YmN5pWw5o2u6KeG5Zu+5LiN5piv6KGo5Y2V6YeM55qE5pWw5o2u6KeG5Zu+ICBkYXRhVmlld0ZsYWcNCiAgICAgICAgICAgICAgaWYgKA0KICAgICAgICAgICAgICAgIHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMgJiYNCiAgICAgICAgICAgICAgICAhKHRoaXNfLmZpbGxGaWVsZCAmJiB0aGlzXy5maWxsRmllbGQgIT0gJycpDQogICAgICAgICAgICAgICkgew0KICAgICAgICAgICAgICAgIHRoaXMuYWxpYXNfbmV3ID0gc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhcw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIC8v5Yik5pat5b2T5YmN5pWw5o2u6KeG5Zu+5piv5LiN5piv6KGo5Y2V6YeM55qE5pWw5o2u6KeG5Zu+DQogICAgICAgICAgICAgIGlmICh0aGlzLmJpbmRMaXN0ICYmIHRoaXMuYmluZExpc3QubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgICAgIGRhdGFWaWV3RmxhZyA9IHRydWUNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICBpZiAoX21lLmlzU2hhcmUpIHsNCiAgICAgICAgICAgICAgICBfbWUuY2xvc2UodHJ1ZSkNCiAgICAgICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICBsZXQgcGF0aCA9ICcnDQogICAgICAgICAgICAgIGlmICh0aGlzLm9wZW5UeXBlID09ICduZXcnKSB7DQogICAgICAgICAgICAgICAgcGF0aCA9IGAvc3RhdGVtZW50L2RyYWZ0TGlzdC8ke3RoaXMudGVtcEFsaWFzfS8ke2RhdGFWaWV3RmxhZ30/aXNOZXc9dHJ1ZWANCiAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBwYXRoID0NCiAgICAgICAgICAgICAgICAgICcvJyArDQogICAgICAgICAgICAgICAgICB0aGlzLmFsaWFzX25ldyArDQogICAgICAgICAgICAgICAgICAnL2RyYWZ0TGlzdC8nICsNCiAgICAgICAgICAgICAgICAgIHRoaXMudGVtcEFsaWFzICsNCiAgICAgICAgICAgICAgICAgICcvJyArDQogICAgICAgICAgICAgICAgICBkYXRhVmlld0ZsYWcNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaChwYXRoKQ0KICAgICAgICAgICAgICAvLyB0aGlzLiRyb3V0ZXIucHVzaCgiL3N0YXRlbWVudC9kcmFmdExpc3QiKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZQ0KICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKHJlc3VsdC5tZXNzYWdlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pDQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaChyZWFzb24gPT4gdXRpbHMuaGFuZGxlR2V0Rm9ybURhdGFSZWplY3QocmVhc29uKSkNCiAgICB9LA0KDQogICAgLy/lhbPpl63nqpflj6MNCiAgICBjbG9zZShpc0RlbGF5KSB7DQogICAgICB1dGlscy5jbG9zZUFsbE5vdGlmaWNhdGlvbigpDQogICAgICBsZXQgX21lID0gdGhpcw0KICAgICAgbGV0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmDQogICAgICBsZXQgYXJyID0gdXJsLnNwbGl0KCc/JykNCiAgICAgIGlmIChpc0RlbGF5KSB7DQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgaWYgKF9tZS5pc1NoYXJlKSB7DQogICAgICAgICAgICBfbWUuJHJvdXRlci5wdXNoKCcvbWVzc2FnZUZpbGxQYWdlLzEnKQ0KICAgICAgICAgICAgcmV0dXJuDQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChhcnIubGVuZ3RoID4gMSkgew0KICAgICAgICAgICAgbGV0IHBhcmFtID0gdXJsLnNwbGl0KCc/JylbMV0uc3BsaXQoJyYnKQ0KICAgICAgICAgICAgaWYgKHBhcmFtLmluY2x1ZGVzKCdpc05ld1BhZ2U9dHJ1ZScpKSB7DQogICAgICAgICAgICAgIF9tZS4kcm91dGVyLnB1c2goJy9tZXNzYWdlRmlsbFBhZ2UvMScpDQogICAgICAgICAgICAgIHJldHVybg0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgICBpZiAoX21lLm9wZW5UeXBlID09ICduZXcnKSB7DQogICAgICAgICAgICAvL+i3s+i9rOWIsOiNieeovw0KICAgICAgICAgICAgbGV0IGRhdGFWaWV3RmxhZyA9IGZhbHNlDQogICAgICAgICAgICBpZiAoX21lLmJpbmRMaXN0ICYmIF9tZS5iaW5kTGlzdC5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgIGRhdGFWaWV3RmxhZyA9IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS4kcm91dGVyLnB1c2goDQogICAgICAgICAgICAgIGAvc3RhdGVtZW50L2RyYWZ0TGlzdC8ke19tZS50ZW1wQWxpYXN9LyR7ZGF0YVZpZXdGbGFnfT9pc05ldz10cnVlYA0KICAgICAgICAgICAgKQ0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBfbWUuJHJvdXRlci5nbygtMSkNCiAgICAgICAgICB9DQogICAgICAgIH0sIDIwMDApDQogICAgICB9IGVsc2Ugew0KICAgICAgICBpZiAoX21lLmlzU2hhcmUpIHsNCiAgICAgICAgICBfbWUuJHJvdXRlci5wdXNoKCcvbWVzc2FnZUZpbGxQYWdlLzEnKQ0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGlmIChfbWUub3BlblR5cGUgPT0gJ25ldycpIHsNCiAgICAgICAgICAgIHdpbmRvdy5jbG9zZSgpDQogICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIC8v5omT5Y2w5Y+W5raI5LmL5ZCO5Lya5a+86Ie06Lev55Sx5Y+R55Sf5Y+Y5YyWLOS4jeiDveebtOaOpeWbnuWIsOS4iuS4gOS4qumhtemdog0KICAgICAgICAgICAgbGV0IG1lbnVBbGlhcyA9ICdzdGF0ZW1lbnQnDQogICAgICAgICAgICAvL+WPkeW4g+WIsOWFtuWug+iPnOWNleeahOWIq+WQjQ0KICAgICAgICAgICAgaWYgKHNlc3Npb25TdG9yYWdlLm1lbnVfYWxpYXMpIHsNCiAgICAgICAgICAgICAgbWVudUFsaWFzID0gc2Vzc2lvblN0b3JhZ2UubWVudV9hbGlhcw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgbGV0IHVybCA9ICcvJyArIG1lbnVBbGlhcyArICcvdGVtcGxhdGUvcHJldmlldy8nICsgX21lLnRlbXBsYXRlS2V5DQogICAgICAgICAgICBpZiAoX21lLiRyb3V0ZS5tZXRhICYmIF9tZS4kcm91dGUubWV0YS5zaW5nbGUpIHsNCiAgICAgICAgICAgICAgdXJsICs9ICcvdHJ1ZScNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS4kcm91dGVyLnB1c2godXJsKQ0KICAgICAgICAgIH0NCg0KICAgICAgICAgIC8vIF9tZS4kcm91dGVyLmdvKC0xKTsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0sDQogICAgaGFuZGxlcigpIHsNCiAgICAgIGxldCBfbWUgPSB0aGlzDQogICAgICBsZXQgZGF0YSA9IHsNCiAgICAgICAgZm9ybUtleTogX21lLmZvcm1LZXksDQogICAgICAgIGJvQWxpYXM6IF9tZS5ib0FsaWFzLA0KICAgICAgICBpZDogX21lLmlkID8gX21lLmlkIDogJycsDQogICAgICAgIGFjdGlvbjogX21lLmFjdGlvbiwNCiAgICAgICAgcmVjb3JkSWQ6IF9tZS5yZWNvcmRJZCA/IF9tZS5yZWNvcmRJZCA6ICcnLA0KICAgICAgICBkYXRhS2V5OiBfbWUudGVtcGxhdGVLZXkgPyBfbWUudGVtcGxhdGVLZXkgOiAnJw0KICAgICAgfQ0KICAgICAgX21lLiRzdG9yZS5kaXNwYXRjaCgnZm9ybS9nZXRUZW1wbGF0ZUZvcm0nLCBkYXRhKS50aGVuKHJlcCA9PiB7DQogICAgICAgIGlmIChyZXAucmVzdWx0KSB7DQogICAgICAgICAgX21lLmRhdGEgPSByZXAuZGF0YQ0KICAgICAgICAgIC8v5pWw5o2u6KeG5Zu+5o6n5Lu2DQogICAgICAgICAgaWYgKF9tZS5iaW5kTGlzdCAmJiBfbWUuYmluZExpc3QubGVuZ3RoID4gMCkgew0KICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfbWUuYmluZExpc3QubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgaWYgKF9tZS5kYXRhW19tZS5ib0FsaWFzXVtfbWUuYmluZExpc3RbaV0ua2V5XSA9PSAnJykgew0KICAgICAgICAgICAgICAgIC8vIOWbnuWhq+aVsOaNrg0KICAgICAgICAgICAgICAgIF9tZS5kYXRhW19tZS5ib0FsaWFzXVtfbWUuYmluZExpc3RbaV0ua2V5XSA9DQogICAgICAgICAgICAgICAgICBfbWUuYmluZExpc3RbaV0udmFsdWUNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgICAvL+aYr+WQpuaYr+aVsOaNruaKpeihqOaYjue7hg0KICAgICAgICAgIGlmIChyZXAucGVybWlzc2lvbiAmJiBfbWUuYWN0aW9uID09ICdnZXQnKSB7DQogICAgICAgICAgICBjb25zdCBwZXJtaXNzaW9uT2JqID0gcmVwLnBlcm1pc3Npb24NCiAgICAgICAgICAgIGxldCBjb21tb25SaWdodCA9ICcnDQogICAgICAgICAgICAvL+WmguaenOaYr+euoeeQhuerr+i/m+WFpe+8jOWImeWwhumhtemdouWtl+auteeahOadg+mZkOS/ruaUueS4uuWPr+e8lui+kQ0KICAgICAgICAgICAgaWYgKF9tZS50eXBlID09ICdtYW5hZ2UnKSB7DQogICAgICAgICAgICAgIGNvbW1vblJpZ2h0ID0gJ3cnDQogICAgICAgICAgICAgIC8v5aaC5p6c5piv5p+l55yL5a6e5L6L77yM5Lmf5piv6I635Y+W5Y+R6LW35rWB56iL55qE6KGo5Y2V5ZKM5p2D6ZmQ44CC5Y+q5LiN6L+H5omA5pyJ5Y+v6KeB55qE5p2D6ZmQ6KaB5Y+Y5oiQ57yW6L6RDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICBjb21tb25SaWdodCA9ICdyJw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25PYmouZmllbGRzICYmIGNvbW1vblJpZ2h0KSB7DQogICAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBwZXJtaXNzaW9uT2JqLmZpZWxkcykgew0KICAgICAgICAgICAgICAgIGNvbnN0IGJvZGVmID0gcGVybWlzc2lvbk9iai5maWVsZHNba2V5XQ0KICAgICAgICAgICAgICAgIGlmIChib2RlZikgew0KICAgICAgICAgICAgICAgICAgZm9yICh2YXIgZm5hbWUgaW4gYm9kZWYpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKA0KICAgICAgICAgICAgICAgICAgICAgIGNvbW1vblJpZ2h0ID09ICd3JyB8fA0KICAgICAgICAgICAgICAgICAgICAgIChjb21tb25SaWdodCA9PSAncicgJiYgYm9kZWZbZm5hbWVdICE9ICduJykNCiAgICAgICAgICAgICAgICAgICAgKSB7DQogICAgICAgICAgICAgICAgICAgICAgYm9kZWZbZm5hbWVdID0gY29tbW9uUmlnaHQNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uT2JqLmZpZWxkc1trZXldID0gYm9kZWYNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHBlcm1pc3Npb25PYmoudGFibGUgJiYgY29tbW9uUmlnaHQpIHsNCiAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIHBlcm1pc3Npb25PYmoudGFibGUpIHsNCiAgICAgICAgICAgICAgICBjb25zdCB0YWJsZSA9IHBlcm1pc3Npb25PYmoudGFibGVba2V5XQ0KICAgICAgICAgICAgICAgIGlmICh0YWJsZSkgew0KICAgICAgICAgICAgICAgICAgaWYgKGNvbW1vblJpZ2h0ID09ICd3Jykgew0KICAgICAgICAgICAgICAgICAgICB0YWJsZVsnaGlkZGVuJ10gPSBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICB0YWJsZVsnYWRkJ10gPSB0cnVlDQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydkZWwnXSA9IHRydWUNCiAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoY29tbW9uUmlnaHQgPT0gJ3InKSB7DQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydhZGQnXSA9IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydkZWwnXSA9IGZhbHNlDQogICAgICAgICAgICAgICAgICAgIHRhYmxlWydyZXF1aXJlZCddID0gZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgdGFibGVbJ2VkaXQnXSA9IGZhbHNlDQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHBlcm1pc3Npb25PYmoudGFibGVba2V5XSA9IHRhYmxlDQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS5wZXJtaXNzaW9uID0gcGVybWlzc2lvbk9iag0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBfbWUucGVybWlzc2lvbiA9IHJlcC5wZXJtaXNzaW9uDQogICAgICAgICAgfQ0KICAgICAgICAgIF9tZS5odG1sID0gcmVwLmZvcm0uZm9ybUh0bWwNCiAgICAgICAgICB0aGlzLmhhbmRsZXJKcyhyZXAuZm9ybSkNCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGhhbmRsZXJKcyhyZXApIHsNCiAgICAgIGxldCBfbWUgPSB0aGlzDQogICAgICBfbWUucmVsb2FkT25saW5lRm9ybSA9IHRydWUNCiAgICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gX21lLiRzdG9yZS5zdGF0ZS5sb2dpbi5jdXJyZW50VXNlcg0KDQogICAgICBsZXQgZGF0YSA9IF9tZS5kYXRhDQogICAgICBsZXQgX3RoaXMgPSBfbWUNCiAgICAgIHNldFRpbWVvdXQoKCkgPT4gew0KICAgICAgICBldmFsKHJlcC5kaXlKcykNCiAgICAgIH0sIDEwKQ0KICAgIH0sDQogICAgZWRpdERyYWZ0SGFuZGxlcigpIHsNCiAgICAgIGxldCBfbWUgPSB0aGlzDQogICAgICBfbWUuJHN0b3JlLmRpc3BhdGNoKCdmb3JtL2dldFRlbXBEcmFmdERhdGEnLCBfbWUuZHJhZnRJZCkudGhlbihyZXAgPT4gew0KICAgICAgICBpZiAocmVwLnJlc3VsdCkgew0KICAgICAgICAgIF9tZS5kYXRhID0gcmVwLmRhdGENCiAgICAgICAgICBfbWUuZHJhZnQgPSByZXAuZHJhZnQNCiAgICAgICAgICBpZiAocmVwLnBlcm1pc3Npb24pIHsNCiAgICAgICAgICAgIF9tZS5wZXJtaXNzaW9uID0gcmVwLnBlcm1pc3Npb24NCiAgICAgICAgICB9DQogICAgICAgICAgX21lLmh0bWwgPSByZXAuZm9ybS5mb3JtSHRtbA0KICAgICAgICAgIHRoaXMuaGFuZGxlckpzKHJlcC5mb3JtKQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgIH0sDQogICAgaW5pdCgpIHsNCiAgICAgIHZhciAkID0gcmVxdWlyZSgnanF1ZXJ5JykNCiAgICAgIHRoaXMuaWQgPSB1dGlscy5nZXRVcmxLZXkoJ2lkJykNCiAgICAgIHRoaXMuc3RhcnRGbG93ID0gdXRpbHMuZ2V0VXJsS2V5KCdzdGFydEZsb3cnKQ0KICAgICAgdGhpcy5yZWNvcmRJZCA9IHV0aWxzLmdldFVybEtleSgncmVjb3JkSWQnKQ0KICAgICAgbGV0IGJpbmRMaXN0ID0gdXRpbHMuZ2V0VXJsS2V5KCdiaW5kTGlzdCcpDQogICAgICBpZiAoYmluZExpc3QpIHsNCiAgICAgICAgdGhpcy5iaW5kTGlzdCA9IEpTT04ucGFyc2UoQmFzZTY0LmRlY29kZShkZWNvZGVVUklDb21wb25lbnQoYmluZExpc3QpKSkNCiAgICAgIH0NCiAgICAgIHRoaXMuZHJhZnRJZCA9IHV0aWxzLmdldFVybEtleSgnZHJhZnRJZCcpDQogICAgICB0aGlzLmlzVmlldyA9IHRoaXMuYWN0aW9uICE9PSAnZ2V0Jw0KICAgICAgbGV0IF9tZSA9IHRoaXMNCg0KICAgICAgdGhpcy4kc3RvcmUNCiAgICAgICAgLmRpc3BhdGNoKCdmb3JtL2dldEJwbURhdGFUZW1wbGF0ZUluZm8nLCB7DQogICAgICAgICAgdGVtcGxhdGVLZXk6IHRoaXMudGVtcGxhdGVLZXkNCiAgICAgICAgfSkNCiAgICAgICAgLnRoZW4ocmVzdWx0ID0+IHsNCiAgICAgICAgICBpZiAocmVzdWx0LnN0YXRlKSB7DQogICAgICAgICAgICBpZiAocmVzdWx0LnZhbHVlLmFsbG93U2hhcmUgPT0gMiAmJiBfbWUuaXNTaGFyZSkgew0KICAgICAgICAgICAgICBfbWUuJHJvdXRlci5wdXNoKCcvbWVzc2FnZUZpbGxQYWdlLzUnKQ0KICAgICAgICAgICAgICByZXR1cm4NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIF9tZS5ib0FsaWFzID0gcmVzdWx0LnZhbHVlLmJvRGVmQWxpYXMNCiAgICAgICAgICAgIF9tZS5kZWZLZXkgPSByZXN1bHQudmFsdWUuZGVmSWQNCiAgICAgICAgICAgIF9tZS5mb3JtS2V5ID0gcmVzdWx0LnZhbHVlLmZvcm1LZXkNCiAgICAgICAgICAgIF9tZS50ZW1wQWxpYXMgPSByZXN1bHQudmFsdWUuYWxpYXMNCiAgICAgICAgICAgIGlmIChyZXN1bHQudmFsdWUubWFuYWdlRmllbGQpIHsNCiAgICAgICAgICAgICAgbGV0IHJlID0gSlNPTi5wYXJzZShyZXN1bHQudmFsdWUubWFuYWdlRmllbGQpDQogICAgICAgICAgICAgIHJlLmZvckVhY2goaXRlbSA9PiB7DQogICAgICAgICAgICAgICAgaWYgKGl0ZW0ubmFtZSA9PSAnc3RhcnRGbG93Jykgew0KICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydEZsb3cgPSB0cnVlDQogICAgICAgICAgICAgICAgICB0aGlzLnN0YXJ0TGFibGUgPSBpdGVtLmRlc2MNCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ubmFtZSA9PSAncHJpbnQnKSB7DQogICAgICAgICAgICAgICAgICB0aGlzLnByaW50TGFibGUgPSBpdGVtLmRlc2MNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICB0aGlzLnN0YXJ0RmxvdyA9IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRoaXMucmVsb2FkT25saW5lRm9ybSA9IGZhbHNlDQogICAgICAgICAgICAvL+WmguaenOe8lui+keeahOaYr+iNieeov+aVsOaNrg0KICAgICAgICAgICAgaWYgKHRoaXMuYWN0aW9uID09PSAnZWRpdERyYWZ0Jykgew0KICAgICAgICAgICAgICB0aGlzLmVkaXREcmFmdEhhbmRsZXIoKQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgdGhpcy5oYW5kbGVyKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9DQogICAgICAgIH0pDQogICAgfQ0KICB9LA0KICBjcmVhdGVkKCkgew0KICAgIHRoaXMuaW5pdCgpDQogIH0sDQogIHdhdGNoOiB7DQogICAgdGVtcGxhdGVLZXk6IGZ1bmN0aW9uKG4sIG8pIHsNCiAgICAgIGlmIChuICYmIG8gJiYgbiAhPSBvKSB7DQogICAgICAgIHRoaXMuaW5pdCgpDQogICAgICB9DQogICAgfSwNCiAgICAvL+aOp+S7tueahOiBlOWKqOS8muWvvOiHtOihqOWNleeahHBlcm1pc3Npb27lj5HnlJ/lj5jljJbvvIzogZTliqjmmL7npLrkvJrlj5jmiJAndyfvvIzpnIDopoHmlLnlm57ljp/mnaXnmoTmnYPpmZANCiAgICBwZXJtaXNzaW9uOiB7DQogICAgICBoYW5kbGVyKG5ld1ZhbCwgb2xkVmFsKSB7DQogICAgICAgIGlmICh0aGlzLmZvcm1LZXkgJiYgdGhpcy5hY3Rpb24gPT0gJ2dldCcpIHsNCiAgICAgICAgICBmb3IgKGxldCBrZXkgaW4gbmV3VmFsLmZpZWxkc1t0aGlzLmZvcm1LZXldKSB7DQogICAgICAgICAgICBpZiAobmV3VmFsLmZpZWxkc1t0aGlzLmZvcm1LZXldW2tleV0gPT0gJ3cnKSB7DQogICAgICAgICAgICAgIG5ld1ZhbC5maWVsZHNbdGhpcy5mb3JtS2V5XVtrZXldID0gJ3InDQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9LA0KICAgICAgZGVlcDogdHJ1ZQ0KICAgIH0NCiAgfQ0KfQ0K"},null]}