{"remainingRequest":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventManagement\\components\\DetailPage\\ScopeClassify\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\src\\views\\patrolAndRescue\\commandDispatch\\EventManagement\\components\\DetailPage\\ScopeClassify\\index.vue","mtime":1751014284446},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\babel.config.js","mtime":1741314102158},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xcjy-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9yZWdlbmVyYXRvclJ1bnRpbWUgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9yZWdlbmVyYXRvclJ1bnRpbWUuanMiOwppbXBvcnQgX29iamVjdFNwcmVhZCBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS94Y2p5LWZ2dWUvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFNwcmVhZDIuanMiOwppbXBvcnQgX2FzeW5jVG9HZW5lcmF0b3IgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UveGNqeS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuZXJyb3IuY2F1c2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5jb25jYXQuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkucmVkdWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc2xpY2UuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maWx0ZXIuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5maW5kLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IucmVkdWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMubnVtYmVyLmNvbnN0cnVjdG9yLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LnRvLXN0cmluZy5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnJlZ2V4cC5leGVjLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLm1hdGNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuc3RyaW5nLnBhZC1zdGFydC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgeyBnZXREaWN0aW9uYXJ5QnlDb2RlIH0gZnJvbSAnQC91dGlscy9kaWN0aW9uYXJ5JzsKaW1wb3J0IHsgcmVmaW5lUmVxdWVzdEJvZHkgfSBmcm9tICdAL3V0aWxzL3JlcXVlc3RXcmFwcGVycyc7CmltcG9ydCB7IHRhYmxlRGF0YSB9IGZyb20gJ0AvYXBpL3BhdHJvbEFuZFJlc2N1ZS9pbmZvTWdtdFBhdHJvbHNSZXNjdWVzL2Fsb25nUm91dGVJbmZvJzsKaW1wb3J0IHsgdGFibGVEYXRhIGFzIHR1bm5lbERhdGEgfSBmcm9tICdAL2FwaS9wYXRyb2xBbmRSZXNjdWUvaW5mb01nbXRQYXRyb2xzUmVzY3Vlcy90dW5uZWxJbmZvJzsKZXhwb3J0IGRlZmF1bHQgewogIG5hbWU6ICdTY29wZUNsYXNzaWZ5JywKICBwcm9wczogewogICAgdHlwZTogewogICAgICBkZWZhdWx0OiAnMScsCiAgICAgIHR5cGU6IFN0cmluZwogICAgfSwKICAgIHJvYWRJZDogewogICAgICBkZWZhdWx0OiAnJywKICAgICAgdHlwZTogU3RyaW5nCiAgICB9LAogICAgcGxhY2VEYXRhOiB7CiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkge30sCiAgICAgIHR5cGU6IE9iamVjdAogICAgfSwKICAgIGRpc2FibGVkOiB7CiAgICAgIGRlZmF1bHQ6IGZhbHNlLAogICAgICB0eXBlOiBCb29sZWFuCiAgICB9LAogICAgcGlsZU51bWJlclJhbmdlOiB7CiAgICAgIGRlZmF1bHQ6ICcnLAogICAgICB0eXBlOiBTdHJpbmcKICAgIH0KICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgLy8g6Ieq5a6a5LmJ6aqM6K+B6KeE5YiZ77ya5pyJ5YC85pe25b+F6aG75Zyo6IyD5Zu05YaFCiAgICB2YXIgdmFsaWRhdGVSYW5nZTEgPSBmdW5jdGlvbiB2YWxpZGF0ZVJhbmdlMSgpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uIChydWxlLCB2YWx1ZSwgY2FsbGJhY2spIHsKICAgICAgICBpZiAoX3RoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWcgPT09IHVuZGVmaW5lZCAmJiBfdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0gZWxzZSBpZiAoIV90aGlzLmlzVmFsdWVJblJhbmdlKF90aGlzLmNvbWJpbmVkVmFsdWUxLCBfdGhpcy5zdGFydFZhbHVlLCBfdGhpcy5lbmRWYWx1ZSkpIHsKICAgICAgICAgIF90aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnID0gdW5kZWZpbmVkOwogICAgICAgICAgX3RoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWdBZGQgPSB1bmRlZmluZWQ7CiAgICAgICAgICBjYWxsYmFjayhuZXcgRXJyb3IoIlx1NjI0MFx1NTg2Qlx1NTE5OVx1NzY4NFx1Njg2OVx1NTNGN1x1NEUwRFx1NTcyOCIuY29uY2F0KF90aGlzLnN0YXJ0VmFsdWUsICItIikuY29uY2F0KF90aGlzLmVuZFZhbHVlLCAiXHU4MzAzXHU1NkY0XHU1MTg1IikpKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY2FsbGJhY2soKTsKICAgICAgICB9CiAgICAgIH07CiAgICB9OwogICAgdmFyIHZhbGlkYXRlUmFuZ2UyID0gZnVuY3Rpb24gdmFsaWRhdGVSYW5nZTIoKSB7CiAgICAgIHJldHVybiBmdW5jdGlvbiAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSB7CiAgICAgICAgaWYgKF90aGlzLmFkZEVkaXRGb3JtLmVuZFBlZyA9PT0gdW5kZWZpbmVkICYmIF90aGlzLmFkZEVkaXRGb3JtLmVuZFBlZ0FkZCA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0gZWxzZSBpZiAoIV90aGlzLmlzVmFsdWVJblJhbmdlKF90aGlzLmNvbWJpbmVkVmFsdWUyLCBfdGhpcy5zdGFydFZhbHVlLCBfdGhpcy5lbmRWYWx1ZSkpIHsKICAgICAgICAgIF90aGlzLmFkZEVkaXRGb3JtLmVuZFBlZyA9IHVuZGVmaW5lZDsKICAgICAgICAgIF90aGlzLmFkZEVkaXRGb3JtLmVuZFBlZ0FkZCA9IHVuZGVmaW5lZDsKICAgICAgICAgIGNhbGxiYWNrKG5ldyBFcnJvcigiXHU2MjQwXHU1ODZCXHU1MTk5XHU3Njg0XHU2ODY5XHU1M0Y3XHU0RTBEXHU1NzI4Ii5jb25jYXQoX3RoaXMuc3RhcnRWYWx1ZSwgIi0iKS5jb25jYXQoX3RoaXMuZW5kVmFsdWUsICJcdTgzMDNcdTU2RjRcdTUxODUiKSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBjYWxsYmFjaygpOwogICAgICAgIH0KICAgICAgfTsKICAgIH07CiAgICByZXR1cm4gewogICAgICAvLyDmlLbotLnnq5kKICAgICAgdG9sbFN0YXRpb25EYXRhOiBbXSwKICAgICAgLy8g6Zqn6YGTCiAgICAgIHR1bm5lbERhdGE6IFtdLAogICAgICAvLyDkupLpgJrnq4vkuqQKICAgICAgZ3JhZGVPdmVyRGF0YTogW10sCiAgICAgIC8vIOacjeWKoeWMugogICAgICBzZXJ2aWNlQXJlYURhdGE6IFtdLAogICAgICBhZGRFZGl0Rm9ybTogewogICAgICAgIHN0YXJ0UGVnOiB1bmRlZmluZWQsCiAgICAgICAgc3RhcnRQZWdBZGQ6IHVuZGVmaW5lZCwKICAgICAgICBlbmRQZWc6IHVuZGVmaW5lZCwKICAgICAgICBlbmRQZWdBZGQ6IHVuZGVmaW5lZCwKICAgICAgICBzdGFydFBhdHJvbElkOiAnJywKICAgICAgICBlbmRQYXRyb2xJZDogJycsCiAgICAgICAgcGxhY2VEZXRhaWw6IFtdLAogICAgICAgIHN3elBsYWNlRGV0YWlsOiBbXSwKICAgICAgICBsalBsYWNlRGV0YWlsOiBbXSwKICAgICAgICBzZFBsYWNlRGV0YWlsOiBbXSwKICAgICAgICBmd3FQbGFjZURldGFpbDogW10KICAgICAgfSwKICAgICAgcnVsZXM6IHsKICAgICAgICBzdGFydFBlZzogW3sKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVSYW5nZTEoKSwKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIGVuZFBlZzogW3sKICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdGVSYW5nZTIoKSwKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIHN0YXJ0VmFsdWU6IDAsCiAgICAgIGVuZFZhbHVlOiAwCiAgICB9OwogIH0sCiAgY29tcHV0ZWQ6IHsKICAgIGNvbWJpbmVkVmFsdWUxOiBmdW5jdGlvbiBjb21iaW5lZFZhbHVlMSgpIHsKICAgICAgcmV0dXJuIHBhcnNlRmxvYXQoIiIuY29uY2F0KHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWcsICIuIikuY29uY2F0KFN0cmluZyh0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkKS5wYWRTdGFydCgzLCAnMCcpKSkgfHwgMDsKICAgIH0sCiAgICBjb21iaW5lZFZhbHVlMjogZnVuY3Rpb24gY29tYmluZWRWYWx1ZTIoKSB7CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KCIiLmNvbmNhdCh0aGlzLmFkZEVkaXRGb3JtLmVuZFBlZywgIi4iKS5jb25jYXQoU3RyaW5nKHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkKS5wYWRTdGFydCgzLCAnMCcpKSkgfHwgMDsKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICB0eXBlOiB7CiAgICAgIGhhbmRsZXI6IGZ1bmN0aW9uIGhhbmRsZXIobmV3VmFsLCBvbGRWYWwpIHsKICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGVnID0gdW5kZWZpbmVkOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3RhcnRQZWdBZGQgPSB1bmRlZmluZWQ7CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWcgPSB1bmRlZmluZWQ7CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWdBZGQgPSB1bmRlZmluZWQ7CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBhdHJvbElkID0gJyc7CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQYXRyb2xJZCA9ICcnOwogICAgICAgIHRoaXMuYWRkRWRpdEZvcm0ucGxhY2VEZXRhaWwgPSBbXTsKICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLnN3elBsYWNlRGV0YWlsID0gW107CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5salBsYWNlRGV0YWlsID0gW107CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zZFBsYWNlRGV0YWlsID0gW107CiAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5md3FQbGFjZURldGFpbCA9IFtdOwogICAgICB9LAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0sCiAgICByb2FkSWQ6IHsKICAgICAgaGFuZGxlcjogZnVuY3Rpb24gaGFuZGxlcihuZXdWYWwsIG9sZFZhbCkgewogICAgICAgIGlmIChuZXdWYWwpIHsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0ucGxhY2VEZXRhaWwgPSBbXTsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0uc3d6UGxhY2VEZXRhaWwgPSBbXTsKICAgICAgICAgIHRoaXMuYWRkRWRpdEZvcm0ubGpQbGFjZURldGFpbCA9IFtdOwogICAgICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zZFBsYWNlRGV0YWlsID0gW107CiAgICAgICAgICB0aGlzLmFkZEVkaXRGb3JtLmZ3cVBsYWNlRGV0YWlsID0gW107CiAgICAgICAgICB0aGlzLmdldEFsb25nUm91dGVJbmZvKG5ld1ZhbCk7CiAgICAgICAgICB0aGlzLmdldFR1bm5lbERhdGEobmV3VmFsKTsKICAgICAgICAgIHRoaXMuaGFuZGxlRGF0YVNob3coKTsKICAgICAgICAgIHRoaXMucGFyc2VTdHJpbmcoKTsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGRlZXA6IHRydWUsCiAgICAgIC8vIOW8gOWQr+a3seW6puebkeWQrAogICAgICBpbW1lZGlhdGU6IHRydWUKICAgIH0KICB9LAogIG1ldGhvZHM6IHsKICAgIGdldERpY3Rpb25hcnlCeUNvZGU6IGdldERpY3Rpb25hcnlCeUNvZGUsCiAgICBwYXJzZVN0cmluZzogZnVuY3Rpb24gcGFyc2VTdHJpbmcoKSB7CiAgICAgIGlmICh0aGlzLnBpbGVOdW1iZXJSYW5nZSkgewogICAgICAgIHZhciBtYXRjaCA9IHRoaXMucGlsZU51bWJlclJhbmdlLm1hdGNoKC9eW2tLXShcZCspKD86XCsoXGR7MSwzfSkpP35ba0tdKFxkKykoPzpcKyhcZHsxLDN9KSk/JC8pOwogICAgICAgIHRoaXMuc3RhcnRWYWx1ZSA9IHBhcnNlRmxvYXQoIiIuY29uY2F0KG1hdGNoWzFdLCAiLiIpLmNvbmNhdChTdHJpbmcobWF0Y2hbMl0pLnBhZFN0YXJ0KDMsICcwJykpKSB8fCAwOwogICAgICAgIHRoaXMuZW5kVmFsdWUgPSBwYXJzZUZsb2F0KCIiLmNvbmNhdChtYXRjaFszXSwgIi4iKS5jb25jYXQoU3RyaW5nKG1hdGNoWzRdKS5wYWRTdGFydCgzLCAnMCcpKSkgfHwgMDsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLnN0YXJ0VmFsdWUgPSAwOwogICAgICAgIHRoaXMuZW5kVmFsdWUgPSBOdW1iZXIuTUFYX1ZBTFVFOwogICAgICB9CiAgICB9LAogICAgaXNWYWx1ZUluUmFuZ2U6IGZ1bmN0aW9uIGlzVmFsdWVJblJhbmdlKHZhbHVlLCBib3VuZDEsIGJvdW5kMikgewogICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnbnVtYmVyJyB8fCBpc05hTih2YWx1ZSkpIHJldHVybiBmYWxzZTsKICAgICAgdmFyIF9yZWYgPSBbTWF0aC5taW4oYm91bmQxLCBib3VuZDIpLCBNYXRoLm1heChib3VuZDEsIGJvdW5kMildLAogICAgICAgIG1pbiA9IF9yZWZbMF0sCiAgICAgICAgbWF4ID0gX3JlZlsxXTsKICAgICAgcmV0dXJuIHZhbHVlID49IG1pbiAmJiB2YWx1ZSA8PSBtYXg7CiAgICB9LAogICAgaGFuZGxlRGF0YVNob3c6IGZ1bmN0aW9uIGhhbmRsZURhdGFTaG93KCkgewogICAgICB2YXIgX3RoaXMyID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlKCkgewogICAgICAgIHZhciBfdGhpczIkcGxhY2VEYXRhLCBpZCwgZXZlbnRQbGFjZSwgcGxhY2VOYW1lLCBuYW1lOwogICAgICAgIHJldHVybiBfcmVnZW5lcmF0b3JSdW50aW1lKCkud3JhcChmdW5jdGlvbiBfY2FsbGVlJChfY29udGV4dCkgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQucHJldiA9IF9jb250ZXh0Lm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIF90aGlzMiRwbGFjZURhdGEgPSBfdGhpczIucGxhY2VEYXRhLCBpZCA9IF90aGlzMiRwbGFjZURhdGEuaWQsIGV2ZW50UGxhY2UgPSBfdGhpczIkcGxhY2VEYXRhLmV2ZW50UGxhY2UsIHBsYWNlTmFtZSA9IF90aGlzMiRwbGFjZURhdGEucGxhY2VOYW1lOwogICAgICAgICAgICAgIGlmIChpZCkgewogICAgICAgICAgICAgICAgX3RoaXMyLmFkZEVkaXRGb3JtID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBfdGhpczIuYWRkRWRpdEZvcm0pLCBfdGhpczIucGxhY2VEYXRhKTsKICAgICAgICAgICAgICAgIGlmIChldmVudFBsYWNlICE9PSAnMScpIHsKICAgICAgICAgICAgICAgICAgbmFtZSA9IGV2ZW50UGxhY2UgPT0gJzMnID8gJ3NkJyA6IGV2ZW50UGxhY2UgPT0gJzQnID8gJ2xqJyA6IGV2ZW50UGxhY2UgPT0gJzInID8gJ3N3eicgOiAnZndxJzsKICAgICAgICAgICAgICAgICAgX3RoaXMyLiRzZXQoX3RoaXMyLmFkZEVkaXRGb3JtLCAiIi5jb25jYXQobmFtZSwgIlBsYWNlRGV0YWlsIiksIFtwbGFjZU5hbWVdKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDmoLnmja7ot6/mrrXmn6Xor6Lmsr/nur/kv6Hmga8KICAgIGdldEFsb25nUm91dGVJbmZvOiBmdW5jdGlvbiBnZXRBbG9uZ1JvdXRlSW5mbyhyb2FkSWQpIHsKICAgICAgdmFyIF90aGlzMyA9IHRoaXM7CiAgICAgIHJldHVybiBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovX3JlZ2VuZXJhdG9yUnVudGltZSgpLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTIoKSB7CiAgICAgICAgdmFyIGRhdGEsIF95aWVsZCR0YWJsZURhdGEsIF95aWVsZCR0YWJsZURhdGEkdG90YSwgdG90YWwsIF95aWVsZCR0YWJsZURhdGEkcm93cywgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTIkKF9jb250ZXh0MikgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQyLnByZXYgPSBfY29udGV4dDIubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQyLnByZXYgPSAwOwogICAgICAgICAgICAgIGRhdGEgPSB7CiAgICAgICAgICAgICAgICBwYWdlQmVhbjogewogICAgICAgICAgICAgICAgICBwYWdlU2l6ZTogLTEsCiAgICAgICAgICAgICAgICAgIHBhZ2U6IDEsCiAgICAgICAgICAgICAgICAgIHRvdGFsOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcXVlcnlzOiBbewogICAgICAgICAgICAgICAgICBvcGVyYXRpb246ICdJTicsCiAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiAncm9hZFNlZ21lbnRJZCcsCiAgICAgICAgICAgICAgICAgIHZhbHVlOiByb2FkSWQKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDQ7CiAgICAgICAgICAgICAgcmV0dXJuIHRhYmxlRGF0YShyZWZpbmVSZXF1ZXN0Qm9keShkYXRhKSk7CiAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICBfeWllbGQkdGFibGVEYXRhID0gX2NvbnRleHQyLnNlbnQ7CiAgICAgICAgICAgICAgX3lpZWxkJHRhYmxlRGF0YSR0b3RhID0gX3lpZWxkJHRhYmxlRGF0YS50b3RhbDsKICAgICAgICAgICAgICB0b3RhbCA9IF95aWVsZCR0YWJsZURhdGEkdG90YSA9PT0gdm9pZCAwID8gMCA6IF95aWVsZCR0YWJsZURhdGEkdG90YTsKICAgICAgICAgICAgICBfeWllbGQkdGFibGVEYXRhJHJvd3MgPSBfeWllbGQkdGFibGVEYXRhLnJvd3M7CiAgICAgICAgICAgICAgcm93cyA9IF95aWVsZCR0YWJsZURhdGEkcm93cyA9PT0gdm9pZCAwID8gW10gOiBfeWllbGQkdGFibGVEYXRhJHJvd3M7CiAgICAgICAgICAgICAgX3RoaXMzLnRvbGxTdGF0aW9uRGF0YSA9IHJvd3MuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS50eXBlID09PSAnMyc7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgX3RoaXMzLmdyYWRlT3ZlckRhdGEgPSByb3dzLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkgewogICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0udHlwZSA8IDM7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgX3RoaXMzLnNlcnZpY2VBcmVhRGF0YSA9IHJvd3MuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS50eXBlID09PSAnNCc7CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgX2NvbnRleHQyLm5leHQgPSAxNjsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgICBfY29udGV4dDIucHJldiA9IDE0OwogICAgICAgICAgICAgIF9jb250ZXh0Mi50MCA9IF9jb250ZXh0MlsiY2F0Y2giXSgwKTsKICAgICAgICAgICAgY2FzZSAxNjoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQyLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMiwgbnVsbCwgW1swLCAxNF1dKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5qC55o2u6Lev5q615p+l6K+i6Zqn6YGT5L+h5oGvCiAgICBnZXRUdW5uZWxEYXRhOiBmdW5jdGlvbiBnZXRUdW5uZWxEYXRhKHJvYWRJZCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmV0dXJuIF9hc3luY1RvR2VuZXJhdG9yKC8qI19fUFVSRV9fKi9fcmVnZW5lcmF0b3JSdW50aW1lKCkubWFyayhmdW5jdGlvbiBfY2FsbGVlMygpIHsKICAgICAgICB2YXIgZGF0YSwgX3lpZWxkJHR1bm5lbERhdGEsIF95aWVsZCR0dW5uZWxEYXRhJHRvdCwgdG90YWwsIF95aWVsZCR0dW5uZWxEYXRhJHJvdywgcm93czsKICAgICAgICByZXR1cm4gX3JlZ2VuZXJhdG9yUnVudGltZSgpLndyYXAoZnVuY3Rpb24gX2NhbGxlZTMkKF9jb250ZXh0MykgewogICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQzLnByZXYgPSBfY29udGV4dDMubmV4dCkgewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgX2NvbnRleHQzLnByZXYgPSAwOwogICAgICAgICAgICAgIGRhdGEgPSB7CiAgICAgICAgICAgICAgICBwYWdlQmVhbjogewogICAgICAgICAgICAgICAgICBwYWdlU2l6ZTogLTEsCiAgICAgICAgICAgICAgICAgIHBhZ2U6IDEsCiAgICAgICAgICAgICAgICAgIHRvdGFsOiAwCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgcXVlcnlzOiBbewogICAgICAgICAgICAgICAgICBvcGVyYXRpb246ICdJTicsCiAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiAncm9hZFNlZ21lbnRJZCcsCiAgICAgICAgICAgICAgICAgIHZhbHVlOiByb2FkSWQKICAgICAgICAgICAgICAgIH1dCiAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDQ7CiAgICAgICAgICAgICAgcmV0dXJuIHR1bm5lbERhdGEocmVmaW5lUmVxdWVzdEJvZHkoZGF0YSkpOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgX3lpZWxkJHR1bm5lbERhdGEgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICBfeWllbGQkdHVubmVsRGF0YSR0b3QgPSBfeWllbGQkdHVubmVsRGF0YS50b3RhbDsKICAgICAgICAgICAgICB0b3RhbCA9IF95aWVsZCR0dW5uZWxEYXRhJHRvdCA9PT0gdm9pZCAwID8gMCA6IF95aWVsZCR0dW5uZWxEYXRhJHRvdDsKICAgICAgICAgICAgICBfeWllbGQkdHVubmVsRGF0YSRyb3cgPSBfeWllbGQkdHVubmVsRGF0YS5yb3dzOwogICAgICAgICAgICAgIHJvd3MgPSBfeWllbGQkdHVubmVsRGF0YSRyb3cgPT09IHZvaWQgMCA/IFtdIDogX3lpZWxkJHR1bm5lbERhdGEkcm93OwogICAgICAgICAgICAgIF90aGlzNC50dW5uZWxEYXRhID0gcm93czsKICAgICAgICAgICAgICAvLyDmoLnmja5uYW1l5Y676YeNCiAgICAgICAgICAgICAgX3RoaXM0LnR1bm5lbERhdGEgPSBfdGhpczQudHVubmVsRGF0YS5yZWR1Y2UoZnVuY3Rpb24gKGFjY3VtdWxhdG9yLCBjdXJyZW50KSB7CiAgICAgICAgICAgICAgICB2YXIgeCA9IGFjY3VtdWxhdG9yLmZpbmQoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW0ubmFtZSA9PT0gY3VycmVudC5uYW1lOwogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICBpZiAoIXgpIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yLmNvbmNhdChbY3VycmVudF0pOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0sIFtdKTsKICAgICAgICAgICAgY2FzZSAxMToKICAgICAgICAgICAgICBfY29udGV4dDMucHJldiA9IDExOwogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDMuZmluaXNoKDExKTsKICAgICAgICAgICAgY2FzZSAxMzoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLnN0b3AoKTsKICAgICAgICAgIH0KICAgICAgICB9LCBfY2FsbGVlMywgbnVsbCwgW1swLCwgMTEsIDEzXV0pOwogICAgICB9KSkoKTsKICAgIH0sCiAgICBzaXRlQ2hhbmdlOiBmdW5jdGlvbiBzaXRlQ2hhbmdlKGUsIHR5cGUpIHsKICAgICAgdmFyIHNpdGVJbmZvID0gdGhpcy50b2xsU3RhdGlvbkRhdGEuZmluZChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLmlkID09PSBlOwogICAgICB9KTsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybVsiIi5jb25jYXQodHlwZSwgIk5hbWUiKV0gPSBzaXRlSW5mby5uYW1lOwogICAgfSwKICAgIHNlbmREYXRhOiBmdW5jdGlvbiBzZW5kRGF0YSgpIHsKICAgICAgdmFyIGZsYWcgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHRydWU7CiAgICAgIHZhciBfdGhpcyRhZGRFZGl0Rm9ybSA9IHRoaXMuYWRkRWRpdEZvcm0sCiAgICAgICAgcGxhY2VOYW1lID0gX3RoaXMkYWRkRWRpdEZvcm0ucGxhY2VOYW1lLAogICAgICAgIHBsYWNlRGV0YWlsID0gX3RoaXMkYWRkRWRpdEZvcm0ucGxhY2VEZXRhaWwsCiAgICAgICAgbGpQbGFjZURldGFpbCA9IF90aGlzJGFkZEVkaXRGb3JtLmxqUGxhY2VEZXRhaWwsCiAgICAgICAgc3RhcnRQZWcgPSBfdGhpcyRhZGRFZGl0Rm9ybS5zdGFydFBlZywKICAgICAgICBzdGFydFBlZ0FkZCA9IF90aGlzJGFkZEVkaXRGb3JtLnN0YXJ0UGVnQWRkLAogICAgICAgIGVuZFBlZyA9IF90aGlzJGFkZEVkaXRGb3JtLmVuZFBlZywKICAgICAgICBlbmRQZWdBZGQgPSBfdGhpcyRhZGRFZGl0Rm9ybS5lbmRQZWdBZGQsCiAgICAgICAgc3RhcnRQYXRyb2xJZCA9IF90aGlzJGFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQsCiAgICAgICAgc3RhcnRQYXRyb2xOYW1lID0gX3RoaXMkYWRkRWRpdEZvcm0uc3RhcnRQYXRyb2xOYW1lLAogICAgICAgIGVuZFBhdHJvbElkID0gX3RoaXMkYWRkRWRpdEZvcm0uZW5kUGF0cm9sSWQsCiAgICAgICAgZW5kUGF0cm9sTmFtZSA9IF90aGlzJGFkZEVkaXRGb3JtLmVuZFBhdHJvbE5hbWU7CiAgICAgIHZhciBwZWdTVmFsID0gJyc7CiAgICAgIHZhciBwZWdFVmFsID0gJyc7CiAgICAgIGlmIChzdGFydFBlZyAhPT0gJycgJiYgc3RhcnRQZWcgIT09IHVuZGVmaW5lZCAmJiBzdGFydFBlZ0FkZCAhPT0gJycgJiYgc3RhcnRQZWdBZGQgIT09IHVuZGVmaW5lZCkgewogICAgICAgIHBlZ1NWYWwgPSAnaycgKyAoc3RhcnRQZWcgIT09ICcnID8gc3RhcnRQZWcgOiAnJykgKyAnKycgKyAoc3RhcnRQZWdBZGQgIT09ICcnID8gc3RhcnRQZWdBZGQgOiAnJyk7CiAgICAgIH0KICAgICAgaWYgKGVuZFBlZyAhPT0gJycgJiYgZW5kUGVnICE9PSB1bmRlZmluZWQgJiYgZW5kUGVnQWRkICE9PSAnJyAmJiBlbmRQZWdBZGQgIT09IHVuZGVmaW5lZCkgewogICAgICAgIHBlZ0VWYWwgPSAnaycgKyAoZW5kUGVnICE9PSAnJyA/IGVuZFBlZyA6ICcnKSArICcrJyArIChlbmRQZWdBZGQgIT09ICcnID8gZW5kUGVnQWRkIDogJycpOwogICAgICB9CiAgICAgIGlmICh0aGlzLnR5cGUgPT0gJzEnKSB7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHBlZ1NWYWw6IHBlZ1NWYWwsCiAgICAgICAgICBwZWdFVmFsOiBwZWdFVmFsLAogICAgICAgICAgc3RhcnRQYXRyb2xJZDogc3RhcnRQYXRyb2xJZCwKICAgICAgICAgIHN0YXJ0UGF0cm9sTmFtZTogc3RhcnRQYXRyb2xOYW1lLAogICAgICAgICAgZW5kUGF0cm9sSWQ6IGVuZFBhdHJvbElkLAogICAgICAgICAgZW5kUGF0cm9sTmFtZTogZW5kUGF0cm9sTmFtZQogICAgICAgIH07CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdmFyIG5hbWUgPSB0aGlzLnR5cGUgPT0gJzMnID8gJ3NkJyA6IHRoaXMudHlwZSA9PSAnNCcgPyAnbGonIDogdGhpcy50eXBlID09ICcyJyA/ICdzd3onIDogJ2Z3cSc7CiAgICAgICAgdmFyIGFycmF5ID0gW107CiAgICAgICAgaWYgKHRoaXMuYWRkRWRpdEZvcm1bIiIuY29uY2F0KG5hbWUsICJQbGFjZURldGFpbCIpXS5sZW5ndGggPiAwKSB7CiAgICAgICAgICBhcnJheSA9IHRoaXMuYWRkRWRpdEZvcm1bIiIuY29uY2F0KG5hbWUsICJQbGFjZURldGFpbCIpXS5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICBwbGFjZU5hbWU6IGl0ZW0sCiAgICAgICAgICAgICAgcGVnU1ZhbDogcGVnU1ZhbCwKICAgICAgICAgICAgICBwZWdFVmFsOiBwZWdFVmFsCiAgICAgICAgICAgIH07CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFycmF5OwogICAgICB9CiAgICB9LAogICAgLy/muIXnqbrmlbDmja4KICAgIGNsZWFyQ2hhbmdlOiBmdW5jdGlvbiBjbGVhckNoYW5nZSgpIHsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZyA9IHVuZGVmaW5lZDsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9IHVuZGVmaW5lZDsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQZWcgPSB1bmRlZmluZWQ7CiAgICAgIHRoaXMuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gdW5kZWZpbmVkOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnN0YXJ0UGF0cm9sSWQgPSAnJzsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5zdGFydFBhdHJvbE5hbWUgPSAnJzsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5lbmRQYXRyb2xJZCA9ICcnOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLmVuZFBhdHJvbE5hbWUgPSAnJzsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5wbGFjZURldGFpbCA9IFtdOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnN3elBsYWNlRGV0YWlsID0gW107CiAgICAgIHRoaXMuYWRkRWRpdEZvcm0ubGpQbGFjZURldGFpbCA9IFtdOwogICAgICB0aGlzLmFkZEVkaXRGb3JtLnNkUGxhY2VEZXRhaWwgPSBbXTsKICAgICAgdGhpcy5hZGRFZGl0Rm9ybS5md3FQbGFjZURldGFpbCA9IFtdOwogICAgfSwKICAgIC8vIOivpuaDhei1i+WAvGUKICAgIGdldERldGFpbDogZnVuY3Rpb24gZ2V0RGV0YWlsKHJvdykgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgY29uc29sZS5sb2cocm93LCAnNjY2NicpOwogICAgICB2YXIgcGxhY2VOYW1lID0gcm93LnBsYWNlTmFtZSwKICAgICAgICBwbGFjZURldGFpbCA9IHJvdy5wbGFjZURldGFpbCwKICAgICAgICBwZWdTVmFsID0gcm93LnBlZ1NWYWwsCiAgICAgICAgcGVnRVZhbCA9IHJvdy5wZWdFVmFsLAogICAgICAgIHN0YXJ0UGF0cm9sSWQgPSByb3cuc3RhcnRQYXRyb2xJZCwKICAgICAgICBzdGFydFBhdHJvbE5hbWUgPSByb3cuc3RhcnRQYXRyb2xOYW1lLAogICAgICAgIGVuZFBhdHJvbElkID0gcm93LmVuZFBhdHJvbElkLAogICAgICAgIGVuZFBhdHJvbE5hbWUgPSByb3cuZW5kUGF0cm9sTmFtZTsKICAgICAgdGhpcy4kbmV4dFRpY2soZnVuY3Rpb24gKCkgewogICAgICAgIGlmIChfdGhpczUudHlwZSA9PSAnMScpIHsKICAgICAgICAgIHZhciBkYXRhID0gewogICAgICAgICAgICBzdGFydFBhdHJvbElkOiBzdGFydFBhdHJvbElkLAogICAgICAgICAgICBzdGFydFBhdHJvbE5hbWU6IHN0YXJ0UGF0cm9sTmFtZSwKICAgICAgICAgICAgZW5kUGF0cm9sSWQ6IGVuZFBhdHJvbElkLAogICAgICAgICAgICBlbmRQYXRyb2xOYW1lOiBlbmRQYXRyb2xOYW1lCiAgICAgICAgICB9OwogICAgICAgICAgaWYgKHBlZ1NWYWwpIHsKICAgICAgICAgICAgdmFyIHN0YXJ0UGVnQXJyID0gcGVnU1ZhbC5zcGxpdCgnKycpOwogICAgICAgICAgICBkYXRhLnN0YXJ0UGVnID0gc3RhcnRQZWdBcnJbMF0uc2xpY2UoMSk7CiAgICAgICAgICAgIGRhdGEuc3RhcnRQZWdBZGQgPSBzdGFydFBlZ0FyclsxXTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChwZWdFVmFsKSB7CiAgICAgICAgICAgIHZhciBlbmRQZWdBcnIgPSBwZWdFVmFsLnNwbGl0KCcrJyk7CiAgICAgICAgICAgIGRhdGEuZW5kUGVnID0gZW5kUGVnQXJyWzBdLnNsaWNlKDEpOwogICAgICAgICAgICBkYXRhLmVuZFBlZ0FkZCA9IGVuZFBlZ0FyclsxXTsKICAgICAgICAgIH0KICAgICAgICAgIF90aGlzNS5hZGRFZGl0Rm9ybSA9IGRhdGE7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIC8vIOaPkOWPliBwZWdTVmFsIOWSjCBwZWdFVmFsCiAgICAgICAgICB2YXIgcGVnU1ZhbHMgPSByb3cucGxhY2VEZXRhaWxbMF0ucGVnU1ZhbDsKICAgICAgICAgIHZhciBwZWdFVmFscyA9IHJvdy5wbGFjZURldGFpbFswXS5wZWdFVmFsOwogICAgICAgICAgaWYgKHBlZ1NWYWxzKSB7CiAgICAgICAgICAgIHZhciBfc3RhcnRQZWdBcnIgPSBwZWdTVmFscy5zcGxpdCgnKycpOwogICAgICAgICAgICBfdGhpczUuYWRkRWRpdEZvcm0uc3RhcnRQZWcgPSBfc3RhcnRQZWdBcnJbMF0uc2xpY2UoMSk7CiAgICAgICAgICAgIF90aGlzNS5hZGRFZGl0Rm9ybS5zdGFydFBlZ0FkZCA9IF9zdGFydFBlZ0FyclsxXTsKICAgICAgICAgIH0KICAgICAgICAgIGlmIChwZWdFVmFscykgewogICAgICAgICAgICB2YXIgX2VuZFBlZ0FyciA9IHBlZ0VWYWxzLnNwbGl0KCcrJyk7CiAgICAgICAgICAgIF90aGlzNS5hZGRFZGl0Rm9ybS5lbmRQZWcgPSBfZW5kUGVnQXJyWzBdLnNsaWNlKDEpOwogICAgICAgICAgICBfdGhpczUuYWRkRWRpdEZvcm0uZW5kUGVnQWRkID0gX2VuZFBlZ0FyclsxXTsKICAgICAgICAgIH0KICAgICAgICAgIHZhciBuYW1lID0gX3RoaXM1LnR5cGUgPT0gJzMnID8gJ3NkJyA6IF90aGlzNS50eXBlID09ICc0JyA/ICdsaicgOiBfdGhpczUudHlwZSA9PSAnMicgPyAnc3d6JyA6ICdmd3EnOwogICAgICAgICAgLy8g5bCGIHBsYWNlRGV0YWlsIOi9rOaNouS4uuWcsOeCueWQjeensOaVsOe7hAogICAgICAgICAgX3RoaXM1LmFkZEVkaXRGb3JtWyIiLmNvbmNhdChuYW1lLCAiUGxhY2VEZXRhaWwiKV0gPSByb3cucGxhY2VEZXRhaWwubWFwKGZ1bmN0aW9uIChwbGFjZSkgewogICAgICAgICAgICByZXR1cm4gcGxhY2UucGxhY2VOYW1lOwogICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICB9Cn07"},null]}