{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\ResourceInspection\\RoutineInspection\\components\\DeviceListPage\\components\\PatrolDialog.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\ResourceInspection\\RoutineInspection\\components\\DeviceListPage\\components\\PatrolDialog.vue","mtime":1706857138452},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\babel.config.js","mtime":1725536844935},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9ienpnai1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllcy5qcyI7CmltcG9ydCBfYXN5bmNUb0dlbmVyYXRvciBmcm9tICJEOi9qZW5raW5zL3dvcmtzcGFjZS9ienpnai1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9hc3luY1RvR2VuZXJhdG9yLmpzIjsKaW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvYnp6Z2otZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CnZhciBfZXhjbHVkZWQgPSBbImluc3BlY3Rpb25JbWdVcmwiXSwKICBfZXhjbHVkZWQyID0gWyJpbnNwZWN0aW9uSW1nVXJsQXJyYXkiLCAiZGVzY3JpcHRpb24iLCAiaW5zcGVjdGlvbkRldmljZVN0YXR1cyIsICJtYWludGVuYW5jZVN0YXR1cyJdOwppbXBvcnQgInJlZ2VuZXJhdG9yLXJ1bnRpbWUvcnVudGltZS5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLnN5bWJvbC5kZXNjcmlwdGlvbi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbmQtaW5kZXguanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5mbGF0LW1hcC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmpvaW4uanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5wdXNoLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuc3BsaWNlLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkudW5zY29wYWJsZXMuZmxhdC1tYXAuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZpbHRlci5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLml0ZXJhdG9yLmZsYXQtbWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IubWFwLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGZhdWx0V29ya09yZGVyLCBkZXZpY2VEZXRhaWxzLCBnZXRCeVBhcmVudEFuZERlbVRvVHJlZSwgcmVnaXN0ZXJFcXVpcG1lbnQgfSBmcm9tICdAL2FwaS9kZXZpY2UvcmVzb3VyY2VJbnNwZWN0aW9uL2luc3BlY3Rpb25MZWRnZXInOwppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOwppbXBvcnQgVXNlclNlbGVjdERpYWxvZyBmcm9tICcuL1VzZXJTZWxlY3REaWFsb2cudnVlJzsKaW1wb3J0IGRpY3RVdGlscyBmcm9tICdAL2NvbXBvbmVudHMvZGljdC9EaWN0U2VsZWN0VXRpbHMnOwppbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnUGF0cm9sRGlhbG9nJywKICBjb21wb25lbnRzOiB7CiAgICBVc2VyU2VsZWN0RGlhbG9nOiBVc2VyU2VsZWN0RGlhbG9nCiAgfSwKICBwcm9wczogewogICAgcGF0cm9sRGlhbG9nOiB7CiAgICAgIGRlZmF1bHQ6IGZhbHNlLAogICAgICB0eXBlOiBCb29sZWFuCiAgICB9LAogICAgcm93OiB7CiAgICAgIGRlZmF1bHQ6IGZ1bmN0aW9uIF9kZWZhdWx0KCkgewogICAgICAgIHJldHVybiB7fTsKICAgICAgfSwKICAgICAgdHlwZTogT2JqZWN0CiAgICB9CiAgfSwKICBjb21wdXRlZDogX29iamVjdFNwcmVhZCh7CiAgICBkaWFsb2dWaXNpYmxlOiB7CiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkgewogICAgICAgIHJldHVybiB0aGlzLnBhdHJvbERpYWxvZzsKICAgICAgfSwKICAgICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsKSB7CiAgICAgICAgdGhpcy4kZW1pdCgndXBkYXRlOnBhdHJvbERpYWxvZycsIHZhbCk7CiAgICAgIH0KICAgIH0sCiAgICB1cGxvYWRVcmw6IGZ1bmN0aW9uIHVwbG9hZFVybCgpIHsKICAgICAgcmV0dXJuIHdpbmRvdy5jb250ZXh0LnBvcnRhbCArICcvZmlsZS92MS9maWxlVXBsb2FkJzsgLy8g5pyN5Yqh5Zmo5LiK5Lyg5Zyw5Z2ACiAgICB9LAogICAgcHJldmlld1VybDogZnVuY3Rpb24gcHJldmlld1VybCgpIHsKICAgICAgcmV0dXJuIHdpbmRvdy5jb250ZXh0LnBvcnRhbCArICcvZmlsZS9vbmxpbmVQcmV2aWV3Q29udHJvbGxlci92MS9nZXRGaWxlQnlJZF8nOwogICAgfQogIH0sIG1hcFN0YXRlKHsKICAgIGhlYWRlcjogZnVuY3Rpb24gaGVhZGVyKHN0YXRlKSB7CiAgICAgIHJldHVybiB7CiAgICAgICAgQXV0aG9yaXphdGlvbjogIkJlYXJlciAiLmNvbmNhdChzdGF0ZS5sb2dpbi5jdXJyZW50VXNlci50b2tlbikKICAgICAgfTsKICAgIH0KICB9KSksCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIGZvcm1EYXRhOiB7fSwKICAgICAgcnVsZXM6IHsKICAgICAgICBuYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgbWVzc2FnZTogJ+iuvuWkh+WQjeensOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIGFyZWFOYW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgbWVzc2FnZTogJ+aJgOWxnuWMuuWfn+S4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIHN0YXR1czogW3sKICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgIG1lc3NhZ2U6ICforr7lpIfnirbmgIHkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XSwKICAgICAgICBsaW5rTmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgIG1lc3NhZ2U6ICfmtL7pgaPkurrlkZjlp5PlkI3kuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XSwKICAgICAgICBsaW5rUGhvbmU6IFt7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICBtZXNzYWdlOiAn5rS+6YGj5Lq65ZGY55S16K+d5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0sCiAgICAgICAgaW5zcGVjdGlvbkRldmljZVN0YXR1czogW3sKICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgIG1lc3NhZ2U6ICflt6Hmo4Dorr7lpIfnirbmgIHkuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XSwKICAgICAgICBpbnNwZWN0aW9uTmFtZTogW3sKICAgICAgICAgIHJlcXVpcmVkOiBmYWxzZSwKICAgICAgICAgIG1lc3NhZ2U6ICflt6Hmn6XkurrlkZjlp5PlkI3kuI3og73kuLrnqbonLAogICAgICAgICAgdHJpZ2dlcjogJ2NoYW5nZScKICAgICAgICB9XSwKICAgICAgICBpbnNwZWN0aW9uUGhvbmU6IFt7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICBtZXNzYWdlOiAn5beh5p+l5Lq65ZGY55S16K+d5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdjaGFuZ2UnCiAgICAgICAgfV0sCiAgICAgICAgZGVzY3JpcHRpb246IFt7CiAgICAgICAgICByZXF1aXJlZDogZmFsc2UsCiAgICAgICAgICBtZXNzYWdlOiAn5pWF6Zqc5o+P6L+w5LiN6IO95Li656m6JywKICAgICAgICAgIHRyaWdnZXI6ICdibHVyJwogICAgICAgIH1dLAogICAgICAgIGFmZmlsaWF0aW9uVW5pdElkOiBbewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgbWVzc2FnZTogJ+W3oeafpemDqOmXqOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dLAogICAgICAgIGluc3BlY3Rpb25UaW1lOiBbewogICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLAogICAgICAgICAgbWVzc2FnZTogJ+W3oeafpeaXtumXtOS4jeiDveS4uuepuicsCiAgICAgICAgICB0cmlnZ2VyOiAnY2hhbmdlJwogICAgICAgIH1dCiAgICAgIH0sCiAgICAgIGRlcGFydG1lbnRMaXN0OiBbXSwKICAgICAgLy8g6K6+5aSH5YiX6KGoCiAgICAgIHNienRPcHQ6IGRpY3RVdGlscy5nZXREaWN0SXRlbXNGcm9tQ2FjaGUoJ3hqenQnKSB8fCBbXSwKICAgICAgLy8g5beh5qOA6K6+5aSH54q25oCBCiAgICAgIHVzZXJTZWxlY3REaWFsb2c6IGZhbHNlLAogICAgICAvLyDkurrlkZjpgInmi6nlvLnlsYLmmL7pmpAKICAgICAgdXNlck5hbWU6ICcnCiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHRoaXMuZ2V0RGVwYXJ0bWVudCgpOwogIH0sCiAgbWV0aG9kczogewogICAgLy8g5by55bGC5omT5byACiAgICBvcGVuOiBmdW5jdGlvbiBvcGVuKCkgewogICAgICB0aGlzLnJvdy5pZDsKICAgICAgaWYgKHRoaXMucm93LmlkKSB0aGlzLmdldFJlc3VsdERldGFpbHModGhpcy5yb3cuaWQpOwogICAgfSwKICAgIC8vIOW8ueWxguWFs+mXrQogICAgY2xvc2VkOiBmdW5jdGlvbiBjbG9zZWQoKSB7CiAgICAgIHRoaXMuZm9ybURhdGEgPSB0aGlzLiRvcHRpb25zLmRhdGEoKS5mb3JtRGF0YTsKICAgICAgdGhpcy4kcmVmcy5lZGl0Rm9ybS5yZXNldEZpZWxkcygpOwogICAgfSwKICAgIC8vIOiOt+WPluivpuaDhQogICAgZ2V0UmVzdWx0RGV0YWlsczogZnVuY3Rpb24gZ2V0UmVzdWx0RGV0YWlscyhpZCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUoKSB7CiAgICAgICAgdmFyIF95aWVsZCRkZXZpY2VEZXRhaWxzOwogICAgICAgIHZhciBfcmVmLCBpbnNwZWN0aW9uSW1nVXJsLCBmb3JtRGF0YTsKICAgICAgICByZXR1cm4gcmVnZW5lcmF0b3JSdW50aW1lLndyYXAoZnVuY3Rpb24gX2NhbGxlZSQoX2NvbnRleHQpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0LnByZXYgPSBfY29udGV4dC5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMjsKICAgICAgICAgICAgICByZXR1cm4gZGV2aWNlRGV0YWlscyhpZCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfY29udGV4dC50MiA9IF95aWVsZCRkZXZpY2VEZXRhaWxzID0gX2NvbnRleHQuc2VudDsKICAgICAgICAgICAgICBfY29udGV4dC50MSA9IF9jb250ZXh0LnQyID09PSBudWxsOwogICAgICAgICAgICAgIGlmIChfY29udGV4dC50MSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDY7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQudDEgPSBfeWllbGQkZGV2aWNlRGV0YWlscyA9PT0gdm9pZCAwOwogICAgICAgICAgICBjYXNlIDY6CiAgICAgICAgICAgICAgaWYgKCFfY29udGV4dC50MSkgewogICAgICAgICAgICAgICAgX2NvbnRleHQubmV4dCA9IDEwOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIF9jb250ZXh0LnQzID0gdm9pZCAwOwogICAgICAgICAgICAgIF9jb250ZXh0Lm5leHQgPSAxMTsKICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAxMDoKICAgICAgICAgICAgICBfY29udGV4dC50MyA9IF95aWVsZCRkZXZpY2VEZXRhaWxzLnZhbHVlOwogICAgICAgICAgICBjYXNlIDExOgogICAgICAgICAgICAgIF9jb250ZXh0LnQwID0gX2NvbnRleHQudDM7CiAgICAgICAgICAgICAgaWYgKF9jb250ZXh0LnQwKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dC5uZXh0ID0gMTQ7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQudDAgPSB7fTsKICAgICAgICAgICAgY2FzZSAxNDoKICAgICAgICAgICAgICBfcmVmID0gX2NvbnRleHQudDA7CiAgICAgICAgICAgICAgaW5zcGVjdGlvbkltZ1VybCA9IF9yZWYuaW5zcGVjdGlvbkltZ1VybDsKICAgICAgICAgICAgICBmb3JtRGF0YSA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhfcmVmLCBfZXhjbHVkZWQpOwogICAgICAgICAgICAgIF90aGlzLmZvcm1EYXRhID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBmb3JtRGF0YSksIHt9LCB7CiAgICAgICAgICAgICAgICBpbnNwZWN0aW9uSW1nVXJsOiAoKGluc3BlY3Rpb25JbWdVcmwgPT09IG51bGwgfHwgaW5zcGVjdGlvbkltZ1VybCA9PT0gdm9pZCAwID8gdm9pZCAwIDogaW5zcGVjdGlvbkltZ1VybC5zcGxpdCgpKSB8fCBbXSkuZmlsdGVyKGZ1bmN0aW9uIChfKSB7CiAgICAgICAgICAgICAgICAgIHJldHVybiBfOwogICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICBpbnNwZWN0aW9uSW1nVXJsQXJyYXk6ICgoaW5zcGVjdGlvbkltZ1VybCA9PT0gbnVsbCB8fCBpbnNwZWN0aW9uSW1nVXJsID09PSB2b2lkIDAgPyB2b2lkIDAgOiBpbnNwZWN0aW9uSW1nVXJsLnNwbGl0KCkpIHx8IFtdKS5mbGF0TWFwKGZ1bmN0aW9uIChpZCkgewogICAgICAgICAgICAgICAgICByZXR1cm4gIWlkID8gW10gOiB7CiAgICAgICAgICAgICAgICAgICAgdXJsOiBfdGhpcy5wcmV2aWV3VXJsICsgaWQsCiAgICAgICAgICAgICAgICAgICAgZmlsZUlkOiBpZAogICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgY2FzZSAxODoKICAgICAgICAgICAgY2FzZSAiZW5kIjoKICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUpOwogICAgICB9KSkoKTsKICAgIH0sCiAgICAvLyDojrflvpfpg6jpl6gKICAgIGdldERlcGFydG1lbnQ6IGZ1bmN0aW9uIGdldERlcGFydG1lbnQoKSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICByZXR1cm4gX2FzeW5jVG9HZW5lcmF0b3IoLyojX19QVVJFX18qL3JlZ2VuZXJhdG9yUnVudGltZS5tYXJrKGZ1bmN0aW9uIF9jYWxsZWUyKCkgewogICAgICAgIHJldHVybiByZWdlbmVyYXRvclJ1bnRpbWUud3JhcChmdW5jdGlvbiBfY2FsbGVlMiQoX2NvbnRleHQyKSB7CiAgICAgICAgICB3aGlsZSAoMSkgc3dpdGNoIChfY29udGV4dDIucHJldiA9IF9jb250ZXh0Mi5uZXh0KSB7CiAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDI7CiAgICAgICAgICAgICAgcmV0dXJuIGdldEJ5UGFyZW50QW5kRGVtVG9UcmVlKCk7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICBfY29udGV4dDIudDAgPSBfY29udGV4dDIuc2VudDsKICAgICAgICAgICAgICBpZiAoX2NvbnRleHQyLnQwKSB7CiAgICAgICAgICAgICAgICBfY29udGV4dDIubmV4dCA9IDU7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgX2NvbnRleHQyLnQwID0gW107CiAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICBfdGhpczIuZGVwYXJ0bWVudExpc3QgPSBfY29udGV4dDIudDAubWFwKGZ1bmN0aW9uIChpKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBpKSwge30sIHsKICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IG51bGwsCiAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiB0cnVlCiAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgY2FzZSA2OgogICAgICAgICAgICBjYXNlICJlbmQiOgogICAgICAgICAgICAgIHJldHVybiBfY29udGV4dDIuc3RvcCgpOwogICAgICAgICAgfQogICAgICAgIH0sIF9jYWxsZWUyKTsKICAgICAgfSkpKCk7CiAgICB9LAogICAgLy8g5Lq65ZGY6YCJ5oup5ZCOCiAgICB1c2VyQ2hhbmdlOiBmdW5jdGlvbiB1c2VyQ2hhbmdlKF9yZWYyKSB7CiAgICAgIHZhciBsaW5rTmFtZSA9IF9yZWYyLmxpbmtOYW1lLAogICAgICAgIGxpbmtQaG9uZSA9IF9yZWYyLmxpbmtQaG9uZSwKICAgICAgICBwZXJzb25JZCA9IF9yZWYyLnBlcnNvbklkOwogICAgICB0aGlzLmZvcm1EYXRhID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLmZvcm1EYXRhKSwge30sIHsKICAgICAgICBsaW5rTmFtZTogbGlua05hbWUsCiAgICAgICAgbGlua1Bob25lOiBsaW5rUGhvbmUsCiAgICAgICAgcGVyc29uSWQ6IHBlcnNvbklkCiAgICAgIH0pOwogICAgfSwKICAgIC8vIOmDqOmXqOWIh+aNogogICAgYWZmaWxpYXRpb25Vbml0Q2hhbmdlOiBmdW5jdGlvbiBhZmZpbGlhdGlvblVuaXRDaGFuZ2UoZSkgewogICAgICBpZiAoIWUpIHJldHVybjsKICAgICAgdmFyIF9yZWYzID0gdGhpcy4kcmVmcy5jYXNjYWRlclJlZi5nZXRDaGVja2VkTm9kZXModHJ1ZSlbMF0gfHwge30sCiAgICAgICAgdmFsdWUgPSBfcmVmMy52YWx1ZSwKICAgICAgICBsYWJlbCA9IF9yZWYzLmxhYmVsOwogICAgICB0aGlzLmZvcm1EYXRhID0gX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCB0aGlzLmZvcm1EYXRhKSwge30sIHsKICAgICAgICBhZmZpbGlhdGlvblVuaXQ6IGxhYmVsIHx8ICcnLAogICAgICAgIGFmZmlsaWF0aW9uVW5pdElkOiB2YWx1ZSB8fCAnJwogICAgICB9KTsKICAgIH0sCiAgICAvLyDkuIrkvKDmlofku7bliY0KICAgIGJlZm9yZUF2YXRhclVwbG9hZDogZnVuY3Rpb24gYmVmb3JlQXZhdGFyVXBsb2FkKGZpbGUpIHsKICAgICAgdmFyIGlzSlBHID0gZmlsZS50eXBlID09PSAnaW1hZ2UvanBlZycgfHwgZmlsZS50eXBlID09PSAnaW1hZ2UvcG5nJyB8fCBmaWxlLnR5cGUgPT09ICdpbWFnZS9qcGcnOwogICAgICB2YXIgaXNMdDFNID0gZmlsZS5zaXplIC8gMTAyNCAvIDEwMjQgPCAxMDsKICAgICAgaWYgKCFpc0pQRykgewogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IoJ+S4iuS8oOWbvueJh+WPquiDveaYryBKUEcg5qC85byPIScpOwogICAgICB9CiAgICAgIGlmICghaXNMdDFNKSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign5LiK5Lyg5Zu+54mH5aSn5bCP5LiN6IO96LaF6L+HIDFNQiEnKTsKICAgICAgfQogICAgICByZXR1cm4gaXNKUEcgJiYgaXNMdDFNOwogICAgfSwKICAgIC8vIOS4iuS8oOaWh+S7tuaIkOWKnwogICAgaGFuZGxlQXZhdGFyU3VjY2VzczogZnVuY3Rpb24gaGFuZGxlQXZhdGFyU3VjY2VzcyhyZXMpIHsKICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7CiAgICAgICAgdGhpcy5mb3JtRGF0YS5pbnNwZWN0aW9uSW1nVXJsLnB1c2gocmVzLmZpbGVJZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcign5LiK5Lyg5paH5Lu25aSx6LSl77yBJyk7CiAgICAgIH0KICAgIH0sCiAgICAvLyDliKDpmaTmlofku7YKICAgIGhhbmRsZVJlbW92ZTogZnVuY3Rpb24gaGFuZGxlUmVtb3ZlKGZpbGUpIHsKICAgICAgdmFyIGluZGV4ID0gdGhpcy5mb3JtRGF0YS5pbnNwZWN0aW9uSW1nVXJsLmZpbmRJbmRleChmdW5jdGlvbiAoZmlsZUlkKSB7CiAgICAgICAgcmV0dXJuIGZpbGVJZCA9PT0gZmlsZS5maWxlSWQ7CiAgICAgIH0pOwogICAgICB0aGlzLmZvcm1EYXRhLmluc3BlY3Rpb25JbWdVcmwuc3BsaWNlKGluZGV4LCAxKTsKICAgIH0sCiAgICAvLyDlsZXnpLrlvLnlsYIKICAgIHNob3dEaWFsb2c6IGZ1bmN0aW9uIHNob3dEaWFsb2coZGlhbG9nKSB7CiAgICAgIHRoaXNbZGlhbG9nXSA9IHRydWU7CiAgICAgIHRoaXMudXNlck5hbWUgPSB0aGlzLmZvcm1EYXRhLmxpbmtOYW1lIHx8ICcnOwogICAgfSwKICAgIC8vIOaKpeS6i+aKpeS/rgogICAgZmF1bHRXb3JrT3JkZXJGdW5jOiBmdW5jdGlvbiBmYXVsdFdvcmtPcmRlckZ1bmMocm93KSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICB2YXIgY2FsbGJhY2sgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IGZ1bmN0aW9uIChfKSB7CiAgICAgICAgcmV0dXJuIF87CiAgICAgIH07CiAgICAgIHRoaXMuJGNvbmZpcm0oJ+aYr+WQpuaKpeS6i+aKpeS/ruivpeiuvuWkh++8nycsICfmj5DnpLonLCB7CiAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7orqQnLAogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLAogICAgICAgIHR5cGU6ICd3YXJuaW5nJwogICAgICB9KS50aGVuKC8qI19fUFVSRV9fKi9fYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTMoKSB7CiAgICAgICAgdmFyIGxvYWRpbmcsIF95aWVsZCRmYXVsdFdvcmtPcmRlciwgc3RhdGU7CiAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWUzJChfY29udGV4dDMpIHsKICAgICAgICAgIHdoaWxlICgxKSBzd2l0Y2ggKF9jb250ZXh0My5wcmV2ID0gX2NvbnRleHQzLm5leHQpIHsKICAgICAgICAgICAgY2FzZSAwOgogICAgICAgICAgICAgIGxvYWRpbmcgPSBfdGhpczMuJGxvYWRpbmcoewogICAgICAgICAgICAgICAgbG9jazogdHJ1ZSwKICAgICAgICAgICAgICAgIHRleHQ6ICJcdTZCNjNcdTU3MjhcdTYyQTVcdTRFOEJcdTYyQTVcdTRGRUVcdTRFMkRcdUZGMENcdThCRjdcdTUyRkZcdTY0Q0RcdTRGNUNcdTdDRkJcdTdFREYuLi4iLAogICAgICAgICAgICAgICAgc3Bpbm5lcjogJ2VsLWljb24tbG9hZGluZycsCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpJwogICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgIGlmIChyb3cuaWQpIHsKICAgICAgICAgICAgICAgIF9jb250ZXh0My5uZXh0ID0gMzsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQzLmFicnVwdCgicmV0dXJuIik7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICBfY29udGV4dDMubmV4dCA9IDU7CiAgICAgICAgICAgICAgcmV0dXJuIGZhdWx0V29ya09yZGVyKHJvdy5pZCk7CiAgICAgICAgICAgIGNhc2UgNToKICAgICAgICAgICAgICBfeWllbGQkZmF1bHRXb3JrT3JkZXIgPSBfY29udGV4dDMuc2VudDsKICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRmYXVsdFdvcmtPcmRlci5zdGF0ZTsKICAgICAgICAgICAgICBpZiAoc3RhdGUpIHsKICAgICAgICAgICAgICAgIF90aGlzMy4kbWVzc2FnZS5zdWNjZXNzKCfmiqXkuovmiqXkv67miJDlip8nKTsKICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgX3RoaXMzLiRtZXNzYWdlLmVycm9yKCfmiqXkuovmiqXkv67lpLHotKUnKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgbG9hZGluZy5jbG9zZSgpOwogICAgICAgICAgICBjYXNlIDk6CiAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgcmV0dXJuIF9jb250ZXh0My5zdG9wKCk7CiAgICAgICAgICB9CiAgICAgICAgfSwgX2NhbGxlZTMpOwogICAgICB9KSkpLmNhdGNoKGZ1bmN0aW9uIChfKSB7CiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgIH0pLmZpbmFsbHkoZnVuY3Rpb24gKF8pIHsKICAgICAgICBjYWxsYmFjaygpOwogICAgICB9KTsKICAgIH0sCiAgICAvLyDkv53lrZgKICAgIGhhbmRsZVNhdmVEYXRhOiBmdW5jdGlvbiBoYW5kbGVTYXZlRGF0YSgpIHsKICAgICAgdmFyIF90aGlzNCA9IHRoaXM7CiAgICAgIHRoaXMuJHJlZnMuZWRpdEZvcm0udmFsaWRhdGUoLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgICAgICB2YXIgX3JlZjUgPSBfYXN5bmNUb0dlbmVyYXRvcigvKiNfX1BVUkVfXyovcmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoZnVuY3Rpb24gX2NhbGxlZTQodmFsaWQsIG9iamVjdCkgewogICAgICAgICAgdmFyIF90aGlzNCRmb3JtRGF0YSwgaW5zcGVjdGlvbkltZ1VybEFycmF5LCBkZXNjcmlwdGlvbiwgaW5zcGVjdGlvbkRldmljZVN0YXR1cywgbWFpbnRlbmFuY2VTdGF0dXMsIGZvcm1EYXRhLCBfeWllbGQkcmVnaXN0ZXJFcXVpcG0sIHN0YXRlOwogICAgICAgICAgcmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKGZ1bmN0aW9uIF9jYWxsZWU0JChfY29udGV4dDQpIHsKICAgICAgICAgICAgd2hpbGUgKDEpIHN3aXRjaCAoX2NvbnRleHQ0LnByZXYgPSBfY29udGV4dDQubmV4dCkgewogICAgICAgICAgICAgIGNhc2UgMDoKICAgICAgICAgICAgICAgIGlmICh2YWxpZCkgewogICAgICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDQ7CiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgX3RoaXM0LiRtZXNzYWdlLndhcm5pbmcoIlx1NjcwOSIuY29uY2F0KE9iamVjdC5rZXlzKG9iamVjdCkubGVuZ3RoLCAiXHU0RTJBXHU1QjU3XHU2QkI1XHU2NzJBXHU5MDFBXHU4RkM3XHU2ODIxXHU5QThDXHVGRjBDXHU4QkY3XHU2QjYzXHU3ODZFXHU1ODZCXHU1MTk5XHU4ODY4XHU1MzU1XHU1MTg1XHU1QkI5XHUzMDAyIikpOwogICAgICAgICAgICAgICAgX2NvbnRleHQ0Lm5leHQgPSAxMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgICAgIF90aGlzNCRmb3JtRGF0YSA9IF90aGlzNC5mb3JtRGF0YSwgaW5zcGVjdGlvbkltZ1VybEFycmF5ID0gX3RoaXM0JGZvcm1EYXRhLmluc3BlY3Rpb25JbWdVcmxBcnJheSwgZGVzY3JpcHRpb24gPSBfdGhpczQkZm9ybURhdGEuZGVzY3JpcHRpb24sIGluc3BlY3Rpb25EZXZpY2VTdGF0dXMgPSBfdGhpczQkZm9ybURhdGEuaW5zcGVjdGlvbkRldmljZVN0YXR1cywgbWFpbnRlbmFuY2VTdGF0dXMgPSBfdGhpczQkZm9ybURhdGEubWFpbnRlbmFuY2VTdGF0dXMsIGZvcm1EYXRhID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF90aGlzNCRmb3JtRGF0YSwgX2V4Y2x1ZGVkMik7CiAgICAgICAgICAgICAgICBfY29udGV4dDQubmV4dCA9IDc7CiAgICAgICAgICAgICAgICByZXR1cm4gcmVnaXN0ZXJFcXVpcG1lbnQoX29iamVjdFNwcmVhZChfb2JqZWN0U3ByZWFkKHt9LCBmb3JtRGF0YSksIHt9LCB7CiAgICAgICAgICAgICAgICAgIG1haW50ZW5hbmNlU3RhdHVzOiBtYWludGVuYW5jZVN0YXR1cywKICAgICAgICAgICAgICAgICAgaW5zcGVjdGlvbkRldmljZVN0YXR1czogaW5zcGVjdGlvbkRldmljZVN0YXR1cywKICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGluc3BlY3Rpb25EZXZpY2VTdGF0dXMgPT09ICcxJyA/ICcnIDogZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgIGluc3BlY3Rpb25TdGF0dXM6ICcxJywKICAgICAgICAgICAgICAgICAgaW5zcGVjdGlvbkltZ1VybDogX3RoaXM0LmZvcm1EYXRhLmluc3BlY3Rpb25JbWdVcmwuam9pbignLCcpCiAgICAgICAgICAgICAgICB9KSk7CiAgICAgICAgICAgICAgY2FzZSA3OgogICAgICAgICAgICAgICAgX3lpZWxkJHJlZ2lzdGVyRXF1aXBtID0gX2NvbnRleHQ0LnNlbnQ7CiAgICAgICAgICAgICAgICBzdGF0ZSA9IF95aWVsZCRyZWdpc3RlckVxdWlwbS5zdGF0ZTsKICAgICAgICAgICAgICAgIGlmIChzdGF0ZSkgewogICAgICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2Uuc3VjY2Vzcygn5beh5p+l6K6+5aSH5oiQ5YqfJyk7CiAgICAgICAgICAgICAgICAgIF90aGlzNC5kaWFsb2dWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgIGlmIChtYWludGVuYW5jZVN0YXR1cyA9PT0gJzAnICYmIGluc3BlY3Rpb25EZXZpY2VTdGF0dXMgIT09ICcxJykgewogICAgICAgICAgICAgICAgICAgIF90aGlzNC5mYXVsdFdvcmtPcmRlckZ1bmMoX3RoaXM0LmZvcm1EYXRhLCBmdW5jdGlvbiAoXykgewogICAgICAgICAgICAgICAgICAgICAgX3RoaXM0LiRlbWl0KCdjbG9zZURpYWxvZycsICdwYXRyb2wnKTsKICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBfdGhpczQuJGVtaXQoJ2Nsb3NlRGlhbG9nJywgJ3BhdHJvbCcpOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBfdGhpczQuJG1lc3NhZ2UuZXJyb3IobWVzc2FnZSArICflt6Hmn6Xorr7lpIflpLHotKUnKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBjYXNlIDEwOgogICAgICAgICAgICAgIGNhc2UgImVuZCI6CiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbnRleHQ0LnN0b3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwgX2NhbGxlZTQpOwogICAgICAgIH0pKTsKICAgICAgICByZXR1cm4gZnVuY3Rpb24gKF94LCBfeDIpIHsKICAgICAgICAgIHJldHVybiBfcmVmNS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOwogICAgICAgIH07CiAgICAgIH0oKSk7CiAgICB9CiAgfQp9Ow=="},null]}