project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
24 KiB

{"remainingRequest":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\info2\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\src\\views\\project\\info2\\index.vue","mtime":1636795282434},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"F:\\workspace\\gcy\\RK-html\\RK-project\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZnVuY3Rpb24ubmFtZS5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCmltcG9ydCB7IGxpc3RJbmZvLCBnZXRJbmZvLCBkZWxJbmZvLCBhZGRJbmZvLCB1cGRhdGVJbmZvLCBleHBvcnRJbmZvLCBpbXBvcnRUZW1wbGF0ZSBhcyBfaW1wb3J0VGVtcGxhdGUsIGFkZEF0dGFjaG1lbnQgYXMgX2FkZEF0dGFjaG1lbnQgfSBmcm9tICJAL2FwaS9wcm9qZWN0L2luZm8yIjsKaW1wb3J0IHsgZ2V0VG9rZW4gfSBmcm9tICJAL3V0aWxzL2F1dGgiOwpleHBvcnQgZGVmYXVsdCB7CiAgbmFtZTogIkluZm8iLAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvLyDkuIrkvKDlj4LmlbAKICAgICAgdXBsb2FkUHJvamVjdDogewogICAgICAgIC8vIOaYr+WQpuaYvuekuuW8ueWHuuWxgu+8iOeUqOaIt+WvvOWFpe+8iQogICAgICAgIG9wZW46IGZhbHNlLAogICAgICAgIC8vIOW8ueWHuuWxguagh+mimO+8iOeUqOaIt+WvvOWFpe+8iQogICAgICAgIHRpdGxlOiAiIiwKICAgICAgICAvLyDmmK/lkKbnpoHnlKjkuIrkvKAKICAgICAgICBpc1VwbG9hZGluZzogZmFsc2UsCiAgICAgICAgLy8g5piv5ZCm5pu05paw5bey57uP5a2Y5Zyo55qE55So5oi35pWw5o2uCiAgICAgICAgdXBkYXRlU3VwcG9ydDogMCwKICAgICAgICAvLyDorr7nva7kuIrkvKDnmoTor7fmsYLlpLTpg6gKICAgICAgICBoZWFkZXJzOiB7CiAgICAgICAgICBBdXRob3JpemF0aW9uOiAiQmVhcmVyICIgKyBnZXRUb2tlbigpCiAgICAgICAgfSwKICAgICAgICAvLyDkuIrkvKDnmoTlnLDlnYAKICAgICAgICB1cmw6IHByb2Nlc3MuZW52LlZVRV9BUFBfQkFTRV9BUEkgKyAiL3N5c3RlbS9pbmZvL2ltcG9ydERhdGEiCiAgICAgIH0sCiAgICAgIC8vIOS4iuS8oOWPguaVsAogICAgICB1cGxvYWQ6IHsKICAgICAgICB0aXRsZTogIiIsCiAgICAgICAgb3BlbjogZmFsc2UsCiAgICAgICAgLy8g5piv5ZCm56aB55So5LiK5LygCiAgICAgICAgaXNVcGxvYWRpbmc6IGZhbHNlLAogICAgICAgIC8vIOiuvue9ruS4iuS8oOeahOivt+axguWktOmDqAogICAgICAgIGhlYWRlcnM6IHsKICAgICAgICAgIEF1dGhvcml6YXRpb246ICJCZWFyZXIgIiArIGdldFRva2VuKCkKICAgICAgICB9LAogICAgICAgIC8vIOS4iuS8oOeahOWcsOWdgAogICAgICAgIHVybDogcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArICIvcHJvamVjdC9pbmZvL2NvbW1vbi91cGxvYWQiLAogICAgICAgIC8vIOS4iuS8oOeahOaWh+S7tuWIl+ihqAogICAgICAgIGZpbGVMaXN0OiBbXQogICAgICB9LAogICAgICAvLyDpga7nvanlsYIKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgLy8g6YCJ5Lit5pWw57uECiAgICAgIGlkczogW10sCiAgICAgIC8vIOmdnuWNleS4quemgeeUqAogICAgICBzaW5nbGU6IHRydWUsCiAgICAgIC8vIOmdnuWkmuS4quemgeeUqAogICAgICBtdWx0aXBsZTogdHJ1ZSwKICAgICAgLy8g5pi+56S65pCc57Si5p2h5Lu2CiAgICAgIHNob3dTZWFyY2g6IHRydWUsCiAgICAgIC8vIOaAu+adoeaVsAogICAgICB0b3RhbDogMCwKICAgICAgLy8g44CQ6K+35aGr5YaZ5Yqf6IO95ZCN56ew44CR6KGo5qC85pWw5o2uCiAgICAgIGluZm9MaXN0OiBbXSwKICAgICAgLy8g5by55Ye65bGC5qCH6aKYCiAgICAgIHRpdGxlOiAiIiwKICAgICAgLy8g5piv5ZCm5pi+56S65by55Ye65bGCCiAgICAgIG9wZW46IGZhbHNlLAogICAgICBzdGF0dXNPcHRpb25zOiBbXSwKICAgICAgdHlwZU9wdGlvbnM6IFtdLAogICAgICBzZWNyZXRPcHRpb25zOiBbXSwKICAgICAgc291cmNlT3B0aW9uczogW10sCiAgICAgIGNhdGVnb3J5T3B0aW9uczogW10sCiAgICAgIHllc05vT3B0aW9uczogW10sCiAgICAgIHBpc2hpU3RhdHVzT3B0aW9uczogW10sCiAgICAgIC8vIOafpeivouWPguaVsAogICAgICBxdWVyeVBhcmFtczogewogICAgICAgIHBhZ2VOdW06IDEsCiAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgIGNhdGVnb3J5OiBudWxsLAogICAgICAgIGNvZGU6IG51bGwsCiAgICAgICAgbmFtZTogbnVsbCwKICAgICAgICB0eXBlOiBudWxsLAogICAgICAgIGRlcGFydG1lbnRJZDogbnVsbCwKICAgICAgICB1c2VySWQ6IG51bGwsCiAgICAgICAgZGVhZGxpbmU6IG51bGwsCiAgICAgICAgdG90YWxPdXRsYXk6IG51bGwsCiAgICAgICAgZmlyc3RPdXRsYXk6IG51bGwsCiAgICAgICAgc2Vjb25kT3V0bGF5OiBudWxsLAogICAgICAgIHN0YXR1czogbnVsbCwKICAgICAgICBiZWdpbkRhdGU6IG51bGwsCiAgICAgICAgY29tcGxldGVEYXRlOiBudWxsLAogICAgICAgIGVuZERhdGU6IG51bGwsCiAgICAgICAgYXBwcm92YWxEYXRlOiBudWxsLAogICAgICAgIGlzU2VjcmVjeTogbnVsbCwKICAgICAgICBzZWNyZWN5TGV2ZWw6IG51bGwsCiAgICAgICAgc2VjcmVjeVRlcm06IG51bGwsCiAgICAgICAgaXNUb3BpYzogbnVsbCwKICAgICAgICB0YXNrVGFyZ2V0OiBudWxsLAogICAgICAgIHJlc3VsdFRhcmdldDogbnVsbCwKICAgICAgICBtZXRob2RSb3V0ZTogbnVsbCwKICAgICAgICBwbGFuOiBudWxsLAogICAgICAgIHNwZW5kRXhwbGFpbjogbnVsbCwKICAgICAgICByZWx5SWQ6IG51bGwsCiAgICAgICAgbGFzdERhdGU6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzWGI6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzQ3c6IG51bGwsCiAgICAgICAgdG90YWxCdWRnZXQ6IG51bGwsCiAgICAgICAgZmlyc3RCdWRnZXQ6IG51bGwsCiAgICAgICAgc2Vjb25kQnVkZ2V0OiBudWxsLAogICAgICAgIGFwcGx5SWQ6IG51bGwsCiAgICAgICAgcHJvamVjdFNvdXJjZTogbnVsbCwKICAgICAgICBwcm9qZWN0U291cmNlQ29tcGFueTogbnVsbCwKICAgICAgICByZXZpZXdTdGF0dXNad2g6IG51bGwsCiAgICAgICAgaXNBZ3JlZW1lbnQ6IG51bGwsCiAgICAgICAgcmVseVVuaXRIZWFkOiBudWxsLAogICAgICAgIHJlbHlVbml0SGVhZHRvY3c6IG51bGwsCiAgICAgICAgdGFza1BlcmlvZDogbnVsbCwKICAgICAgICBvdGhlcnBsYW46IG51bGwsCiAgICAgICAgcG9pbnQ6IG51bGwsCiAgICAgICAgcmVzdWx0OiBudWxsLAogICAgICAgIGludHJvZHVjdGlvbjogbnVsbCwKICAgICAgICBwcm9wcm90aW9uOiBudWxsLAogICAgICAgIHRlcm06IG51bGwKICAgICAgfSwKICAgICAgLy8g6KGo5Y2V5Y+C5pWwCiAgICAgIGZvcm06IHt9LAogICAgICAvLyDooajljZXmoKHpqowKICAgICAgcnVsZXM6IHt9CiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHZhciBfdGhpcyA9IHRoaXM7CgogICAgdGhpcy5nZXRMaXN0KCk7CiAgICB0aGlzLmdldERpY3RzKCJwcm9fdHlwZSIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLnR5cGVPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgIH0pOwogICAgdGhpcy5nZXREaWN0cygicHJvX3NlY3JldF9sZXZlbCIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLnNlY3JldE9wdGlvbnMgPSByZXNwb25zZS5kYXRhOwogICAgfSk7CiAgICB0aGlzLmdldERpY3RzKCJwcm9fc291cmNlIikudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgX3RoaXMuc291cmNlT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInByb19jYXRlZ29yeSIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLmNhdGVnb3J5T3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInByb19zdGF0dXMiKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICBfdGhpcy5zdGF0dXNPcHRpb25zID0gcmVzcG9uc2UuZGF0YTsKICAgIH0pOwogICAgdGhpcy5nZXREaWN0cygic3lzX3llc19ubyIpLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgIF90aGlzLnllc05vT3B0aW9ucyA9IHJlc3BvbnNlLmRhdGE7CiAgICB9KTsKICAgIHRoaXMuZ2V0RGljdHMoInByb2plY3RfcGlzaGkiKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICBfdGhpcy5waXNoaVN0YXR1c09wdGlvbnMgPSByZXNwb25zZS5kYXRhOwogICAgfSk7CiAgfSwKICBtZXRob2RzOiB7CiAgICBzb3J0Q2hhbmdlOiBmdW5jdGlvbiBzb3J0Q2hhbmdlKGNvbHVtbiwgcHJvcCwgb3JkZXIpIHsKICAgICAgLy8gY29uc29sZS5sb2coY29sdW1uLnByb3ApOyAvL3Byb3DmoIfnrb4gPT4gbmlja25hbWUKICAgICAgLy8gY29uc29sZS5sb2coY29sdW1uLm9yZGVyKTsvL2Rlc2NlbmRpbmfpmY3luo/jgIFhc2NlbmRpbmfljYfluo8KICAgICAgaWYgKGNvbHVtbi5wcm9wID09ICdjYXRlZ29yeScpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiMSI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jb2RlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAnY29kZScpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIxIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAnbmFtZScpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMubmFtZU9yZGVyID0gIjEiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAndHlwZScpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNhdGVnb3J5T3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLmNvZGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMubmFtZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50eXBlT3JkZXIgPSAiMSI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy50b3RhbE91dGxheU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wcm9qZWN0U291cmNlT3JkZXIgPSAiIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ucHJvcCA9PSAnZGVhZGxpbmUnKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jYXRlZ29yeU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5jb2RlT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLm5hbWVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudHlwZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5kZWFkbGluZU9yZGVyID0gIjEiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudG90YWxPdXRsYXlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMucHJvamVjdFNvdXJjZU9yZGVyID0gIiI7CiAgICAgIH0gZWxzZSBpZiAoY29sdW1uLnByb3AgPT0gJ3RvdGFsT3V0bGF5JykgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY29kZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5uYW1lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnR5cGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuZGVhZGxpbmVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudG90YWxPdXRsYXlPcmRlciA9ICIxIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnByb2plY3RTb3VyY2VPcmRlciA9ICIiOwogICAgICB9IGVsc2UgaWYgKGNvbHVtbi5wcm9wID09ICdwcm9qZWN0U291cmNlJykgewogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY2F0ZWdvcnlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuY29kZU9yZGVyID0gIiI7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5uYW1lT3JkZXIgPSAiIjsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnR5cGVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMuZGVhZGxpbmVPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMudG90YWxPdXRsYXlPcmRlciA9ICIiOwogICAgICAgIHRoaXMucXVlcnlQYXJhbXMucHJvamVjdFNvdXJjZU9yZGVyID0gIjEiOwogICAgICB9CgogICAgICBpZiAoY29sdW1uLm9yZGVyID09ICdhc2NlbmRpbmcnKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5vcmRlclNvcnQgPSAiYXNjIjsKICAgICAgfSBlbHNlIGlmIChjb2x1bW4ub3JkZXIgPT0gJ2Rlc2NlbmRpbmcnKSB7CiAgICAgICAgdGhpcy5xdWVyeVBhcmFtcy5vcmRlclNvcnQgPSAiZGVzYyI7CiAgICAgIH0KCiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfSwKICAgIGFkZEF0dGFjaG1lbnQ6IGZ1bmN0aW9uIGFkZEF0dGFjaG1lbnQoKSB7CiAgICAgIF9hZGRBdHRhY2htZW50KCkudGhlbihmdW5jdGlvbiAocmVwKSB7CiAgICAgICAgY29uc29sZS5sb2cocmVwKTsKICAgICAgfSk7CiAgICB9LAogICAgaXNUb3BpY0Zvcm1hdDogZnVuY3Rpb24gaXNUb3BpY0Zvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy55ZXNOb09wdGlvbnMsIHJvdy5pc1RvcGljKTsKICAgIH0sCiAgICBpc1NlY3JlY3lGb3JtYXQ6IGZ1bmN0aW9uIGlzU2VjcmVjeUZvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy55ZXNOb09wdGlvbnMsIHJvdy5pc1NlY3JlY3kpOwogICAgfSwKICAgIHR5cGVGb3JtYXQ6IGZ1bmN0aW9uIHR5cGVGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMudHlwZU9wdGlvbnMsIHJvdy50eXBlKTsKICAgIH0sCiAgICBzZWNyZXRGb3JtYXQ6IGZ1bmN0aW9uIHNlY3JldEZvcm1hdChyb3csIGNvbHVtbikgewogICAgICByZXR1cm4gdGhpcy5zZWxlY3REaWN0TGFiZWwodGhpcy5zZWNyZXRPcHRpb25zLCByb3cuc2VjcmVjeUxldmVsKTsKICAgIH0sCiAgICBjYXRlZ29yeUZvcm1hdDogZnVuY3Rpb24gY2F0ZWdvcnlGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMuY2F0ZWdvcnlPcHRpb25zLCByb3cuY2F0ZWdvcnkpOwogICAgfSwKICAgIHN0YXR1c0Zvcm1hdDogZnVuY3Rpb24gc3RhdHVzRm9ybWF0KHJvdywgY29sdW1uKSB7CiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCh0aGlzLnN0YXR1c09wdGlvbnMsIHJvdy5zdGF0dXMpOwogICAgfSwKICAgIHNvdXJjZUZvcm1hdDogZnVuY3Rpb24gc291cmNlRm9ybWF0KHJvdywgY29sdW1uKSB7CiAgICAgIHJldHVybiB0aGlzLnNlbGVjdERpY3RMYWJlbCh0aGlzLnNvdXJjZU9wdGlvbnMsIHJvdy5wcm9qZWN0U291cmNlKTsKICAgIH0sCiAgICBwaXNoaVN0YXR1c0Zvcm1hdDogZnVuY3Rpb24gcGlzaGlTdGF0dXNGb3JtYXQocm93LCBjb2x1bW4pIHsKICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RGljdExhYmVsKHRoaXMucGlzaGlTdGF0dXNPcHRpb25zLCByb3cucGlzaGlTdGF0dXMpOwogICAgfSwKCiAgICAvKiog5a+85YWl5oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVJbXBvcnQ6IGZ1bmN0aW9uIGhhbmRsZUltcG9ydCgpIHsKICAgICAgdGhpcy51cGxvYWRQcm9qZWN0LnRpdGxlID0gIumhueebruWvvOWFpSI7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC5vcGVuID0gdHJ1ZTsKICAgIH0sCgogICAgLyoqIOafpeivouOAkOivt+Whq+WGmeWKn+iDveWQjeensOOAkeWIl+ihqCAqLwogICAgZ2V0TGlzdDogZnVuY3Rpb24gZ2V0TGlzdCgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CgogICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlOwogICAgICBsaXN0SW5mbyh0aGlzLnF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzMi5pbmZvTGlzdCA9IHJlc3BvbnNlLnJvd3M7CiAgICAgICAgX3RoaXMyLnRvdGFsID0gcmVzcG9uc2UudG90YWw7CiAgICAgICAgX3RoaXMyLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g5Y+W5raI5oyJ6ZKuCiAgICBjYW5jZWw6IGZ1bmN0aW9uIGNhbmNlbCgpIHsKICAgICAgdGhpcy5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgIH0sCiAgICAvLyDooajljZXph43nva4KICAgIHJlc2V0OiBmdW5jdGlvbiByZXNldCgpIHsKICAgICAgdGhpcy5mb3JtID0gewogICAgICAgIGlkOiBudWxsLAogICAgICAgIGNhdGVnb3J5OiBudWxsLAogICAgICAgIGNvZGU6IG51bGwsCiAgICAgICAgbmFtZTogbnVsbCwKICAgICAgICB0eXBlOiBudWxsLAogICAgICAgIGRlcGFydG1lbnRJZDogbnVsbCwKICAgICAgICB1c2VySWQ6IG51bGwsCiAgICAgICAgZGVhZGxpbmU6IG51bGwsCiAgICAgICAgdG90YWxPdXRsYXk6IG51bGwsCiAgICAgICAgZmlyc3RPdXRsYXk6IG51bGwsCiAgICAgICAgc2Vjb25kT3V0bGF5OiBudWxsLAogICAgICAgIHN0YXR1czogMCwKICAgICAgICBiZWdpbkRhdGU6IG51bGwsCiAgICAgICAgY29tcGxldGVEYXRlOiBudWxsLAogICAgICAgIGVuZERhdGU6IG51bGwsCiAgICAgICAgYXBwcm92YWxEYXRlOiBudWxsLAogICAgICAgIGlzU2VjcmVjeTogbnVsbCwKICAgICAgICBzZWNyZWN5TGV2ZWw6IG51bGwsCiAgICAgICAgc2VjcmVjeVRlcm06IG51bGwsCiAgICAgICAgaXNUb3BpYzogbnVsbCwKICAgICAgICB0YXNrVGFyZ2V0OiBudWxsLAogICAgICAgIHJlc3VsdFRhcmdldDogbnVsbCwKICAgICAgICBtZXRob2RSb3V0ZTogbnVsbCwKICAgICAgICBwbGFuOiBudWxsLAogICAgICAgIHNwZW5kRXhwbGFpbjogbnVsbCwKICAgICAgICByZWx5SWQ6IG51bGwsCiAgICAgICAgbGFzdERhdGU6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzWGI6IG51bGwsCiAgICAgICAgcmV2aWV3U3RhdHVzQ3c6IG51bGwsCiAgICAgICAgdG90YWxCdWRnZXQ6IG51bGwsCiAgICAgICAgZmlyc3RCdWRnZXQ6IG51bGwsCiAgICAgICAgc2Vjb25kQnVkZ2V0OiBudWxsLAogICAgICAgIGFwcGx5SWQ6IG51bGwsCiAgICAgICAgcHJvamVjdFNvdXJjZTogbnVsbCwKICAgICAgICBwcm9qZWN0U291cmNlQ29tcGFueTogbnVsbCwKICAgICAgICByZXZpZXdTdGF0dXNad2g6IG51bGwsCiAgICAgICAgaXNBZ3JlZW1lbnQ6IG51bGwsCiAgICAgICAgcmVseVVuaXRIZWFkOiBudWxsLAogICAgICAgIHJlbHlVbml0SGVhZHRvY3c6IG51bGwsCiAgICAgICAgdGFza1BlcmlvZDogbnVsbCwKICAgICAgICBvdGhlcnBsYW46IG51bGwsCiAgICAgICAgcG9pbnQ6IG51bGwsCiAgICAgICAgcmVzdWx0OiBudWxsLAogICAgICAgIGludHJvZHVjdGlvbjogbnVsbCwKICAgICAgICBwcm9wcm90aW9uOiBudWxsLAogICAgICAgIHRlcm06IG51bGwsCiAgICAgICAgY3JlYXRlQnk6IG51bGwsCiAgICAgICAgY3JlYXRlVGltZTogbnVsbCwKICAgICAgICB1cGRhdGVCeTogbnVsbCwKICAgICAgICB1cGRhdGVUaW1lOiBudWxsLAogICAgICAgIGRlbEZsYWc6IG51bGwKICAgICAgfTsKICAgICAgdGhpcy5yZXNldEZvcm0oImZvcm0iKTsKICAgIH0sCgogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlUXVlcnk6IGZ1bmN0aW9uIGhhbmRsZVF1ZXJ5KCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCgogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqLwogICAgcmVzZXRRdWVyeTogZnVuY3Rpb24gcmVzZXRRdWVyeSgpIHsKICAgICAgdGhpcy5yZXNldEZvcm0oInF1ZXJ5Rm9ybSIpOwogICAgICB0aGlzLmhhbmRsZVF1ZXJ5KCk7CiAgICB9LAogICAgLy8g5aSa6YCJ5qGG6YCJ5Lit5pWw5o2uCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsKICAgICAgdGhpcy5pZHMgPSBzZWxlY3Rpb24ubWFwKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7CiAgICAgIH0pOwogICAgICB0aGlzLnNpbmdsZSA9IHNlbGVjdGlvbi5sZW5ndGggIT09IDE7CiAgICAgIHRoaXMubXVsdGlwbGUgPSAhc2VsZWN0aW9uLmxlbmd0aDsKICAgIH0sCgogICAgLyoqIOaWsOWinuaMiemSruaTjeS9nCAqLwogICAgaGFuZGxlQWRkOiBmdW5jdGlvbiBoYW5kbGVBZGQoKSB7CiAgICAgIHRoaXMucmVzZXQoKTsKICAgICAgdGhpcy5vcGVuID0gdHJ1ZTsKICAgICAgdGhpcy50aXRsZSA9ICLmt7vliqDjgJDor7floavlhpnlip/og73lkI3np7DjgJEiOwogICAgfSwKCiAgICAvKiog5L+u5pS55oyJ6ZKu5pON5L2cICovCiAgICBoYW5kbGVVcGRhdGU6IGZ1bmN0aW9uIGhhbmRsZVVwZGF0ZShyb3cpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CgogICAgICB0aGlzLnJlc2V0KCk7CiAgICAgIHZhciBpZCA9IHJvdy5pZCB8fCB0aGlzLmlkczsKICAgICAgZ2V0SW5mbyhpZCkudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpczMuZm9ybSA9IHJlc3BvbnNlLmRhdGE7CiAgICAgICAgX3RoaXMzLm9wZW4gPSB0cnVlOwogICAgICAgIF90aGlzMy50aXRsZSA9ICLkv67mlLnjgJDor7floavlhpnlip/og73lkI3np7DjgJEiOwogICAgICB9KTsKICAgIH0sCgogICAgLyoqIOaPkOS6pOaMiemSriAqLwogICAgc3VibWl0Rm9ybTogZnVuY3Rpb24gc3VibWl0Rm9ybSgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CgogICAgICB0aGlzLiRyZWZzWyJmb3JtIl0udmFsaWRhdGUoZnVuY3Rpb24gKHZhbGlkKSB7CiAgICAgICAgaWYgKHZhbGlkKSB7CiAgICAgICAgICBpZiAoX3RoaXM0LmZvcm0uaWQgIT0gbnVsbCkgewogICAgICAgICAgICB1cGRhdGVJbmZvKF90aGlzNC5mb3JtKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgICAgICAgIGlmIChyZXNwb25zZS5jb2RlID09PSAyMDApIHsKICAgICAgICAgICAgICAgIF90aGlzNC5tc2dTdWNjZXNzKCLkv67mlLnmiJDlip8iKTsKCiAgICAgICAgICAgICAgICBfdGhpczQub3BlbiA9IGZhbHNlOwoKICAgICAgICAgICAgICAgIF90aGlzNC5nZXRMaXN0KCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGFkZEluZm8oX3RoaXM0LmZvcm0pLnRoZW4oZnVuY3Rpb24gKHJlc3BvbnNlKSB7CiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmNvZGUgPT09IDIwMCkgewogICAgICAgICAgICAgICAgX3RoaXM0Lm1zZ1N1Y2Nlc3MoIuaWsOWinuaIkOWKnyIpOwoKICAgICAgICAgICAgICAgIF90aGlzNC5vcGVuID0gZmFsc2U7CgogICAgICAgICAgICAgICAgX3RoaXM0LmdldExpc3QoKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfSk7CiAgICB9LAoKICAgIC8qKiDliKDpmaTmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZURlbGV0ZTogZnVuY3Rpb24gaGFuZGxlRGVsZXRlKHJvdykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKCiAgICAgIHZhciBpZHMgPSByb3cuaWQ7CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuehruiupOWIoOmZpOmhueebrue8luWPt+S4uiInICsgcm93LmNvZGUgKyAnIueahOaVsOaNrumhuT8nLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIGRlbEluZm8oaWRzKTsKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgX3RoaXM1LmdldExpc3QoKTsKCiAgICAgICAgX3RoaXM1Lm1zZ1N1Y2Nlc3MoIuWIoOmZpOaIkOWKnyIpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAoKICAgIC8qKiDlr7zlh7rmjInpkq7mk43kvZwgKi8KICAgIGhhbmRsZUV4cG9ydDogZnVuY3Rpb24gaGFuZGxlRXhwb3J0KCkgewogICAgICB2YXIgX3RoaXM2ID0gdGhpczsKCiAgICAgIHZhciBxdWVyeVBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXM7CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuehruiupOWvvOWHuuaJgOacieOAkOivt+Whq+WGmeWKn+iDveWQjeensOOAkeaVsOaNrumhuT8nLCAi6K2m5ZGKIiwgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAi56Gu5a6aIiwKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAi5Y+W5raIIiwKICAgICAgICB0eXBlOiAid2FybmluZyIKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuIGV4cG9ydEluZm8ocXVlcnlQYXJhbXMpOwogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNi5kb3dubG9hZChyZXNwb25zZS5tc2cpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7fSk7CiAgICB9LAogICAgLy8g5paH5Lu25LiK5Lyg5Lit5aSE55CGCiAgICBoYW5kbGVQcm9qZWN0RmlsZVVwbG9hZFByb2dyZXNzOiBmdW5jdGlvbiBoYW5kbGVQcm9qZWN0RmlsZVVwbG9hZFByb2dyZXNzKGV2ZW50LCBmaWxlLCBmaWxlTGlzdCkgewogICAgICB0aGlzLnVwbG9hZFByb2plY3QuaXNVcGxvYWRpbmcgPSB0cnVlOwogICAgfSwKICAgIGJlZm9yZVByb2plY3RGaWxlVXBsb2FkOiBmdW5jdGlvbiBiZWZvcmVQcm9qZWN0RmlsZVVwbG9hZChmaWxlKSB7CiAgICAgIHZhciBpc0x0MjAwTSA9IGZpbGUuc2l6ZSAvIDEwMjQgLyAxMDI0IDwgMzAwOwoKICAgICAgaWYgKCFpc0x0MjAwTSkgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+S4iuS8oOWkp+Wwj+S4jeiDvei2hei/hyAyMDBNQiEnKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGlzTHQyMDBNOwogICAgfSwKICAgIC8vIOaWh+S7tuS4iuS8oOaIkOWKn+WkhOeQhgogICAgaGFuZGxlUHJvamVjdEZpbGVTdWNjZXNzOiBmdW5jdGlvbiBoYW5kbGVQcm9qZWN0RmlsZVN1Y2Nlc3MocmVzcG9uc2UsIGZpbGUsIGZpbGVMaXN0KSB7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC5vcGVuID0gZmFsc2U7CiAgICAgIHRoaXMudXBsb2FkUHJvamVjdC5pc1VwbG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLiRyZWZzLnVwbG9hZFByb2plY3QuY2xlYXJGaWxlcygpOwogICAgICB0aGlzLiRhbGVydChyZXNwb25zZS5tc2csICLlr7zlhaXnu5PmnpwiLCB7CiAgICAgICAgZGFuZ2Vyb3VzbHlVc2VIVE1MU3RyaW5nOiB0cnVlCiAgICAgIH0pOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCiAgICAvLyDmj5DkuqTkuIrkvKDmlofku7YKICAgIHN1Ym1pdEZpbGVGb3JtOiBmdW5jdGlvbiBzdWJtaXRGaWxlRm9ybSgpIHsKICAgICAgdGhpcy4kcmVmcy51cGxvYWRQcm9qZWN0LnN1Ym1pdCgpOwogICAgfSwKICAgIGltcG9ydFRlbXBsYXRlOiBmdW5jdGlvbiBpbXBvcnRUZW1wbGF0ZSgpIHsKICAgICAgdmFyIF90aGlzNyA9IHRoaXM7CgogICAgICBfaW1wb3J0VGVtcGxhdGUoKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzNy5kb3dubG9hZChyZXNwb25zZS5tc2cpOwogICAgICB9KTsKICAgIH0sCiAgICB2aWV3QW5uZXg6IGZ1bmN0aW9uIHZpZXdBbm5leChyb3cpIHsKICAgICAgdGhpcy51cGxvYWQuZmlsZUxpc3QgPSBbXTsKICAgICAgdGhpcy5mb3JtYXRVcGxvYWRBbm5leChyb3cuYW5uZXhOYW1lLCByb3cuYW5uZXhQYXRoKTsKICAgICAgdGhpcy51cGxvYWQub3BlbiA9IHRydWU7IC8vIHRoaXMudXBsb2FkUHJvamVjdC50aXRsZSA9ICLpobnnm67lr7zlhaUiOwogICAgICAvLyB0aGlzLnVwbG9hZFByb2plY3Qub3BlbiA9IHRydWU7CiAgICB9LAogICAgdmlld0FubmV4Qm9va0ZpbGU6IGZ1bmN0aW9uIHZpZXdBbm5leEJvb2tGaWxlKHJvdykgewogICAgICB0aGlzLnVwbG9hZC5maWxlTGlzdCA9IFtdOwogICAgICB0aGlzLmZvcm1hdFVwbG9hZEFubmV4KHJvdy5ib29rRmlsZSwgcm93LmJvb2tGaWxlUGF0aCk7CiAgICAgIHRoaXMudXBsb2FkLm9wZW4gPSB0cnVlOwogICAgfSwKICAgIC8v5qC85byP5YyW5LiK5Lyg6ZmE5Lu2CiAgICBmb3JtYXRVcGxvYWRBbm5leDogZnVuY3Rpb24gZm9ybWF0VXBsb2FkQW5uZXgoYW5uZXhOYW1lLCBhbm5leFBhdGgpIHsKICAgICAgdGhpcy51cGxvYWQuZmlsZUxpc3QgPSBbXTsKCiAgICAgIGlmIChhbm5leFBhdGggIT0gbnVsbCAmJiBhbm5leFBhdGggIT09ICcnKSB7CiAgICAgICAgdmFyIGEgPSBbXSwKICAgICAgICAgICAgYiA9IFtdOwoKICAgICAgICB0cnkgewogICAgICAgICAgYSA9IEpTT04ucGFyc2UoYW5uZXhOYW1lKTsKICAgICAgICAgIGIgPSBKU09OLnBhcnNlKGFubmV4UGF0aCk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgYSA9IFtdOwogICAgICAgICAgYiA9IFtdOwogICAgICAgIH0KCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB0aGlzLnVwbG9hZC5maWxlTGlzdC5wdXNoKHsKICAgICAgICAgICAgJ25hbWUnOiBhW2ldLAogICAgICAgICAgICAndXJsJzogcHJvY2Vzcy5lbnYuVlVFX0FQUF9CQVNFX0FQSSArIGJbaV0KICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnVwbG9hZC5maWxlTGlzdCA9IFtdOwogICAgICB9CiAgICB9LAogICAgaGFuZGxlUHJldmlldzogZnVuY3Rpb24gaGFuZGxlUHJldmlldyhmaWxlKSB7CiAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICB2YXIgZXZlbnQgPSBuZXcgTW91c2VFdmVudCgnY2xpY2snKTsKICAgICAgYS5kb3dubG9hZCA9IGZpbGUubmFtZTsKICAgICAgYS50YXJnZXQgPSAnX2JsYW5rJzsKICAgICAgYS5ocmVmID0gZmlsZS51cmw7CiAgICAgIGEuZGlzcGF0Y2hFdmVudChldmVudCk7CiAgICAgIGNvbnNvbGUubG9nKGZpbGUubmFtZSk7CiAgICB9CiAgfQp9Ow=="},null]}