{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\EquipmentDetails\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\components\\EquipmentDetails\\index.vue","mtime":1731062408784},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgcmVxIGZyb20gJ0AvcmVxdWVzdC5qcycNCmltcG9ydCB7IFRhYmxlTWl4aW4gfSBmcm9tICdAL21peGlucy90YWJsZU1peGluJw0KaW1wb3J0IGVxdWlwbWVudE1hbmFnZSBmcm9tICdAL2FwaS9kZXZpY2UvZXF1aXBtZW50TWFuYWdlLmpzJw0KaW1wb3J0IHsgRXh0ZW5kUGFyYW1zTWl4aW4gfSBmcm9tICdAL21peGlucy9kZXZpY2VFeHRlbmQuanMnDQppbXBvcnQgcmVzb3VyY2VNYW5hZ2UgZnJvbSAnQC9hcGkvZGV2aWNlL3Jlc291cmNlTWFuYWdlLmpzJw0KaW1wb3J0IGxhdGl0dWRlIGZyb20gJ0AvbWl4aW5zL2xhdGl0dWRlJw0KaW1wb3J0IHVzZXJNYW5hZ2UgZnJvbSAnQC9hcGkvZGV2aWNlL3VzZXJNYW5hZ2UuanMnDQppbXBvcnQgcHJvZHVjdE1hbmFnZSBmcm9tICdAL2FwaS9kZXZpY2UvcHJvZHVjdE1hbmFnZS5qcycNCmltcG9ydCBFcXVpcG1lbnRJbmZvRGlhbG9nIGZyb20gJy4uL21vZGxlL0VxdWlwbWVudEluZm9EaWFsb2cudnVlJw0KaW1wb3J0IEVxdWlwbWVudEFsYXJtIGZyb20gJy4uL21vZGxlL0VxdWlwbWVudEFsYXJtLnZ1ZScNCmltcG9ydCBkaWN0VXRpbHMgZnJvbSAnQC9jb21wb25lbnRzL2RpY3QvRGljdFNlbGVjdFV0aWxzLmpzJw0KaW1wb3J0IFBoeXNpY2FsTW9kZWwgZnJvbSAnLi4vbW9kbGUvUGh5c2ljYWxNb2RlbC52dWUnDQovLyBpbXBvcnQgRXF1aXBtZW50RXh0ZW5kTW9kZWwgZnJvbSAnLi9tb2RsZS9FcXVpcG1lbnRFeHRlbmRNb2RlbC52dWUnDQppbXBvcnQgcmVsYXRlZERldmljZSBmcm9tICcuLi9tb2RsZS9yZWxhdGVkRGV2aWNlLnZ1ZScNCmltcG9ydCBFcXVpcFN0YXR1c2xvZyBmcm9tICcuLi9tb2RsZS9FcXVpcFN0YXR1c2xvZy52dWUnDQppbXBvcnQgUmVhbFRpbWVEYXRhIGZyb20gJy4uL21vZGxlL1JlYWxUaW1lRGF0YS52dWUnDQppbXBvcnQgSGF6YXJkUmVhbERhdGFNb2RlbCBmcm9tICcuLi9tb2RsZS9IYXphcmRSZWFsRGF0YU1vZGVsLnZ1ZScNCmltcG9ydCBXYXRlclJlYWxEYXRhTW9kZWwgZnJvbSAnLi4vbW9kbGUvV2F0ZXJSZWFsRGF0YU1vZGVsLnZ1ZScNCmltcG9ydCBSb2FkYmxvY2tSZWFsRGF0YU1vZGVsIGZyb20gJy4uL21vZGxlL1JvYWRibG9ja1JlYWxEYXRhTW9kZWwudnVlJw0KaW1wb3J0IFNpZ25ib2FlcmRSZWFsRGF0YU1vZGVsIGZyb20gJy4uL21vZGxlL1NpZ25ib2FlcmRSZWFsRGF0YU1vZGVsLnZ1ZScNCmltcG9ydCBiYXNpc0RpYWxvZyBmcm9tICcuLi9tb2RsZS9iYXNpc0RpYWxvZy52dWUnDQppbXBvcnQgV2FybmluZ0luZm9ybWF0aW9uIGZyb20gJy4uL21vZGxlL1dhcm5pbmdJbmZvcm1hdGlvbi52dWUnDQppbXBvcnQgSW5zcGVjdGlvblJlY29yZHMgZnJvbSAnLi9jb21wb25lbnRzL0luc3BlY3Rpb25SZWNvcmRzJw0KDQppbXBvcnQgeyBlcnJvciB9IGZyb20gJ2Rpbmd0YWxrLWpzYXBpJw0KDQpleHBvcnQgZGVmYXVsdCB7DQogICAgbmFtZTogJ0VxdWlwbWVudERldGFpbHMnLA0KICAgIGNvbXBvbmVudHM6IHsNCiAgICAgICAgUGh5c2ljYWxNb2RlbCwNCiAgICAgICAgRXF1aXBtZW50SW5mb0RpYWxvZywNCiAgICAgICAgRXF1aXBtZW50QWxhcm0sDQogICAgICAgIC8vIEVxdWlwbWVudEV4dGVuZE1vZGVsLA0KICAgICAgICByZWxhdGVkRGV2aWNlLA0KICAgICAgICBFcXVpcFN0YXR1c2xvZywNCiAgICAgICAgLy8gUmVhbFRpbWVEYXRhLA0KICAgICAgICBIYXphcmRSZWFsRGF0YU1vZGVsLA0KICAgICAgICBXYXRlclJlYWxEYXRhTW9kZWwsDQogICAgICAgIFJvYWRibG9ja1JlYWxEYXRhTW9kZWwsDQogICAgICAgIFNpZ25ib2FlcmRSZWFsRGF0YU1vZGVsLA0KICAgICAgICBiYXNpc0RpYWxvZywNCiAgICAgICAgV2FybmluZ0luZm9ybWF0aW9uLA0KICAgICAgICBJbnNwZWN0aW9uUmVjb3JkcywNCiAgICB9LA0KICAgIG1peGluczogW1RhYmxlTWl4aW4sIEV4dGVuZFBhcmFtc01peGluXSwNCiAgICBkYXRhKCkgew0KICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgYWN0aXZlTmFtZTogJ2ZpcnN0JywNCiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHt9LCAvL+aOpeaUtuWPguaVsA0KICAgICAgICAgICAgc2l6ZTogJycsDQogICAgICAgICAgICBzdGF0dXM6ICcnLA0KICAgICAgICAgICAgYWRkcmVzc1R5cGU6ICcnLA0KICAgICAgICAgICAgZmxvb3I6ICcnLA0KICAgICAgICAgICAgYXJlYU5hbWU6ICcnLA0KICAgICAgICAgICAgYWRkdmNkTmFtZTogJycsDQogICAgICAgICAgICB2YWx1ZUxpc3Q6IFtdLA0KICAgICAgICAgICAgcGFyYW1zVmFsdWVMaXN0OiBbXSwNCiAgICAgICAgICAgIGZsb29yTGlzdDogW10sIC8v5a6J6KOF5qW85bGC5YiX6KGoDQogICAgICAgICAgICBhZGRyZXNzVHlwZUxpc3Q6IFtdLCAvL+WuieijheWcsOeCueexu+Wei+WIl+ihqA0KICAgICAgICAgICAgcHJvZHVjdE5hbWU6ICcnLCAvL+S6p+WTgeWQjeensA0KICAgICAgICAgICAgcmVwYWlyVXNlck5hbWU6ICcnLA0KICAgICAgICAgICAgcHJvZHVjdERhdGE6IFtdLA0KICAgICAgICAgICAgYXJlYU9wdGlvbnM6IFtdLA0KICAgICAgICAgICAgZXh0ZW5kUGFyYW1zOiBbXSwNCiAgICAgICAgICAgIHByb2R1Y3RQYXJhbXM6IFtdLA0KICAgICAgICAgICAgcHJvZHVjdFZhbHVlOiB7fSwNCiAgICAgICAgICAgIHByb2R1Y3RUeXBlVmFsdWU6IHt9LA0KICAgICAgICAgICAgcHJvZHVjdFR5cGVseDogJycsDQogICAgICAgICAgICBkaWFsb2dJZDogbnVsbCwNCiAgICAgICAgICAgIGRpYWxvZ05hbWU6IG51bGwsDQogICAgICAgICAgICBlcXVpcG1lbnRJZDogJycsDQogICAgICAgICAgICBpbnF1aXJlVHlwZTogdHJ1ZSwgLy8gdHJ1ZSDmmK/ku47orr7lpIfnrqHnkIbot7Povazov5vlhaXnmoTor6bmg4UgICBmYWxzZeaYr+S7juiuvuWkh+e7tOaKpOi3s+i9rOi/m+WOu+eahOivpuaDhQ0KICAgICAgICAgICAgaW1wb3J0YW50RGF0YTogWw0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ+S4gOiIrOiuvuWkhycsDQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAnMCcsDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgIG5hbWU6ICfph43ngrnorr7lpIcnLA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJzEnLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICBdLA0KICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiAnJywNCiAgICAgICAgfQ0KICAgIH0sDQogICAgY3JlYXRlZCgpIHsNCiAgICAgICAgLy8gdGhpcy5wYXJhbWV0ZXJzID0gdGhpcy4kcm91dGUucXVlcnkNCiAgICAgICAgdGhpcy5lcXVpcG1lbnRJZCA9IHRoaXMuJHJvdXRlLnF1ZXJ5LmlkDQogICAgICAgIGNvbnNvbGUubG9nKHRoaXMuJHJvdXRlLnF1ZXJ5LnN0YXR1cykNCiAgICAgICAgdGhpcy5pbnF1aXJlVHlwZSA9IHRoaXMuJHJvdXRlLnF1ZXJ5LnN0YXR1cw0KICAgICAgICB0aGlzLmFkZHJlc3NUeXBlTGlzdCA9IGRpY3RVdGlscy5nZXREaWN0SXRlbXNGcm9tQ2FjaGUoJ2F6ZGRseCcpDQogICAgICAgIHRoaXMuZmxvb3JMaXN0ID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnYXpsYycpDQogICAgICAgIHRoaXMuZGV2aWNlU3RhdHVzID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnc2J6dCcpDQogICAgICAgIHRoaXMubG9hZEFsbERhdGEoKQ0KICAgICAgICB0aGlzLnNlYXJjaFBhcmFtcyA9IHRoaXMuJHJvdXRlLnF1ZXJ5LnNlYXJjaFBhcmFtcw0KICAgIH0sDQogICAgbW91bnRlZCgpIHsgfSwNCiAgICBtZXRob2RzOiB7DQogICAgICAgIGxvYWRBbGxEYXRhKCkgew0KICAgICAgICAgICAgZXF1aXBtZW50TWFuYWdlLmRldmljZURldGFpbHNJbmZvKHRoaXMuZXF1aXBtZW50SWQsIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSByZXMNCiAgICAgICAgICAgICAgICB0aGlzLmxvYWREYXRhKCkNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0sDQogICAgICAgIHRyYW5zbGF0ZUltcG9ydGFudCh2YWwpIHsNCiAgICAgICAgICAgIGxldCBpbXBvcnRhbnROYW1lID0gJycNCiAgICAgICAgICAgIHRoaXMuaW1wb3J0YW50RGF0YS5mb3JFYWNoKChlKSA9PiB7DQogICAgICAgICAgICAgICAgaWYgKHZhbCA9PSBlLnZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGltcG9ydGFudE5hbWUgPSBlLm5hbWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgcmV0dXJuIGltcG9ydGFudE5hbWUNCiAgICAgICAgfSwNCiAgICAgICAgaGFuZGxlUmVmcmVzaCgpIHsNCiAgICAgICAgICAgIHRoaXMucGFyYW1ldGVycyA9IHt9DQogICAgICAgICAgICB0aGlzLmxvYWRBbGxEYXRhKCkNCiAgICAgICAgfSwNCiAgICAgICAgdG9EaWFsb2coaWQsIHRpdGxlKSB7DQogICAgICAgICAgICAvLyB0aGlzLmRpYWxvZ05hbWU9dGl0bGUNCiAgICAgICAgICAgIC8vIHRoaXMuZGlhbG9nSWQ9aWQNCiAgICAgICAgICAgIHRoaXMuJHJlZnMuYmFzaXNNb2RhbC5hZGQoaWQsIHRpdGxlKQ0KICAgICAgICB9LA0KICAgICAgICBoYW5kbGVDbGljayh0YWIsIGV2ZW50KSB7DQogICAgICAgICAgICBpZiAodGFiLl9wcm9wcy5uYW1lID09ICdmaXZldGgnIHx8IHRhYi5fcHJvcHMubmFtZSA9PSAnc2V2ZW50aCcpIHsNCiAgICAgICAgICAgICAgICAvLyBwcm9kdWN0TWFuYWdlDQogICAgICAgICAgICAgICAgLy8gCS5wcm9kdWN0SW5mb0RldGFpbCh0aGlzLnBhcmFtZXRlcnMucHJvZHVjdElkKQ0KICAgICAgICAgICAgICAgIC8vIAkudGhlbigocmVzKSA9PiB7DQogICAgICAgICAgICAgICAgLy8gCQl0aGlzLnByb2R1Y3RWYWx1ZSA9IHJlcw0KICAgICAgICAgICAgICAgIC8vIAkJcHJvZHVjdE1hbmFnZQ0KICAgICAgICAgICAgICAgIC8vIAkJCS5wcm9kdWN0VHlwZURldGFpbCh0aGlzLnByb2R1Y3RWYWx1ZS50eXBlSWQpDQogICAgICAgICAgICAgICAgLy8gCQkJLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgICAgICAgIC8vIAkJCQl0aGlzLnByb2R1Y3RUeXBlVmFsdWUgPSByZXMNCiAgICAgICAgICAgICAgICAvLyAJCQl9KQ0KICAgICAgICAgICAgICAgIC8vIAkJCS5jYXRjaCgoZXJyKSA9PiB7DQogICAgICAgICAgICAgICAgLy8gCQkJfSkNCiAgICAgICAgICAgICAgICAvLyAJfSkNCiAgICAgICAgICAgICAgICAvLyAJLmNhdGNoKChlcnIpID0+IHsNCiAgICAgICAgICAgICAgICAvLyAJfSkNCiAgICAgICAgICAgICAgICBsZXQgcHJvdGFsID0gd2luZG93LmNvbnRleHQucG9ydGFsDQogICAgICAgICAgICAgICAgbGV0IHJlcXVlc3REYXRhID0gew0KICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3Byb3RhbH0vZGV2aWNlL2RhdGEvcXVlcnk/aWQ9YCArIHRoaXMucGFyYW1ldGVycy5pZCwNCiAgICAgICAgICAgICAgICAgICAgZGF0YTogdGhpcy5xdWVyeVBhcmFtLA0KICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdwb3N0JywNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgLy8g5qC55o2u6K6+5aSHaWTojrflj5blrp7ml7bmlbDmja4NCiAgICAgICAgICAgICAgICByZXEucmVxdWVzdChyZXF1ZXN0RGF0YSkNCiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHJlcykgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLnZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0VHlwZWx4ID0gcmVzLmRhdGEudmFsdWUucHJvZHVjdFR5cGUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0VHlwZWx4ID0gJycNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLiRtZXNzYWdlLmVycm9yKCfor6Xorr7lpIfml6Dlrp7ml7bmlbDmja4tLS0tLS0tLScpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7IH0pDQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIGdvQmFjaygpIHsNCiAgICAgICAgICAgIC8vIHRoaXMuJHJvdXRlci5nbygtMSkNCiAgICAgICAgICAgIGxldCBwYXRoID0gdGhpcy4kcm91dGUucGF0aA0KICAgICAgICAgICAgaWYgKHBhdGguaW5kZXhPZignZnJvbnRQbGF0JykgIT09IC0xKSB7DQogICAgICAgICAgICAgICAgbGV0IG5hbWUgPSB0aGlzLmlucXVpcmVUeXBlDQogICAgICAgICAgICAgICAgICAgID8gJ0VxdWlwbWVudE1hbmFnZScNCiAgICAgICAgICAgICAgICAgICAgOiAnRXF1aXBtZW50TWFpbnRhaW4nDQogICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goew0KICAgICAgICAgICAgICAgICAgICBuYW1lLA0KICAgICAgICAgICAgICAgICAgICBxdWVyeTogew0KICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiB0aGlzLnNlYXJjaFBhcmFtcywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsZXQgbmFtZSA9IHRoaXMuaW5xdWlyZVR5cGUNCiAgICAgICAgICAgICAgICAgICAgPyAnRXF1aXBtZW50TWFuYWdlTGluaycNCiAgICAgICAgICAgICAgICAgICAgOiAnRXF1aXBtZW50TWFpbnRhaW5MaW5rJw0KICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsNCiAgICAgICAgICAgICAgICAgICAgbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaFBhcmFtczogdGhpcy5zZWFyY2hQYXJhbXMsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCiAgICAgICAgZ2V0SW5mbygpIHsNCiAgICAgICAgICAgIHRoaXMuZXh0ZW5kUGFyYW1zID0gW10NCiAgICAgICAgICAgIHRoaXMucHJvZHVjdFBhcmFtcyA9IFtdDQogICAgICAgICAgICBlcXVpcG1lbnRNYW5hZ2UuZGV2aWNlRGV0YWlscyh0aGlzLnBhcmFtZXRlcnMuaWQsIChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICBpZiAoIXJlcykgcmV0dXJuDQogICAgICAgICAgICAgICAgdGhpcy5wYXJhbXNWYWx1ZUxpc3QgPSByZXMucGFyYW1zVmFsdWVMaXN0DQogICAgICAgICAgICAgICAgZXF1aXBtZW50TWFuYWdlLmdldEV4dGVuZFBhcmFtcygNCiAgICAgICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlSWQ6IHRoaXMucGFyYW1ldGVycy5pZCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgKHJlcykgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leHRlbmRQYXJhbXMgPSByZXMNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXh0ZW5kUGFyYW1zLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmFtc1ZhbHVlTGlzdC5mb3JFYWNoKCh2YWwpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT0gdmFsLmNvbmZJZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVsndmFsdWUnXSA9IHZhbC52YWx1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uY3RsVHlwZSA9PSAnc2VsZWN0JyB8fA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmN0bFR5cGUgPT0gJ3JhZGlvJw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXJyID0gSlNPTi5wYXJzZShpdGVtLmpzb24pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5mb3JFYWNoKChpKSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS52YWx1ZSA9PSBpLnZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS52YWx1ZSA9IGkubGFiZWwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uY3RsVHlwZSA9PSAnY2hlY2tib3gnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcnIgPSBKU09OLnBhcnNlKGl0ZW0uanNvbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGFycjEgPSBpdGVtLnZhbHVlLnNwbGl0KCcsJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW1BcnIgPSBudWxsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBzdHIgPSBbXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnIuZm9yRWFjaCgoaSkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFycjEuaW5kZXhPZihpLnZhbHVlKSAhPT0gLTEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIucHVzaChpLmxhYmVsKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1BcnIgPSBzdHIudG9TdHJpbmcoKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnZhbHVlID0gaXRlbUFycg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICApDQogICAgICAgICAgICAgICAgZXF1aXBtZW50TWFuYWdlLmdldFByb2R1Y3RQYXJhbXMoDQogICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RJZDogdGhpcy5wYXJhbWV0ZXJzLnByb2R1Y3RJZCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgKHJlcykgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9kdWN0UGFyYW1zID0gcmVzDQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2R1Y3RQYXJhbXMuZm9yRWFjaCgoaXRlbSkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGFyYW1zVmFsdWVMaXN0LmZvckVhY2goKHZhbCkgPT4gew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5pZCA9PSB2YWwuY29uZklkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtWyd2YWx1ZSddID0gdmFsLnZhbHVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jdGxUeXBlID09ICdzZWxlY3QnIHx8DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uY3RsVHlwZSA9PSAncmFkaW8nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhcnIgPSBKU09OLnBhcnNlKGl0ZW0uanNvbikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyLmZvckVhY2goKGkpID0+IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnZhbHVlID09IGkudmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnZhbHVlID0gaS5sYWJlbA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXRlbS5jdGxUeXBlID09ICdjaGVja2JveCcpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGFyciA9IEpTT04ucGFyc2UoaXRlbS5qc29uKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXJyMSA9IGl0ZW0udmFsdWUuc3BsaXQoJywnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbUFyciA9IG51bGwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHN0ciA9IFtdDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyci5mb3JFYWNoKChpKSA9PiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJyMS5pbmRleE9mKGkudmFsdWUpICE9PSAtMSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ci5wdXNoKGkubGFiZWwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbUFyciA9IHN0ci50b1N0cmluZygpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0udmFsdWUgPSBpdGVtQXJyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICkNCg0KICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucHJvZHVjdFBhcmFtcyk7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgICAgICBhbHRlckJhc2lzKCkgew0KICAgICAgICAgICAgdGhpcy4kcmVmcy5mb3JtTW9kYWwuYWRkKCkNCiAgICAgICAgfSwNCiAgICAgICAgZm9ybWF0TnVtYmVyKGtleSkgew0KICAgICAgICAgICAgdGhpcy5wYXJhbWV0ZXJzW2tleV0gPSBsYXRpdHVkZS5UcmVlRm91cih0aGlzLnBhcmFtZXRlcnNba2V5XSkNCiAgICAgICAgfSwNCiAgICAgICAgbG9hZERhdGEocGFnZSkgew0KICAgICAgICAgICAgdGhpcy5nZXRJbmZvKCkNCiAgICAgICAgICAgIGxldCBkYXRhID0gew0KICAgICAgICAgICAgICAgIHBhZ2VCZWFuOiB7DQogICAgICAgICAgICAgICAgICAgIHBhZ2U6IDEsDQogICAgICAgICAgICAgICAgICAgIHBhZ2VTaXplOiAtMSwNCiAgICAgICAgICAgICAgICAgICAgc2hvd1RvdGFsOiB0cnVlLA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICB9DQogICAgICAgICAgICB1c2VyTWFuYWdlLnVzZXJRdWVyeShkYXRhKS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHJlcy5yb3dzDQogICAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnMucmVwYWlyVXNlcklkICE9PSAnJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT0gdGhpcy5wYXJhbWV0ZXJzLnJlcGFpclVzZXJJZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVwYWlyVXNlck5hbWUgPSBpdGVtLm5hbWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVwYWlyVXNlck5hbWUgPSAnJw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgICB0aGlzLmRldmljZVN0YXR1cy5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICAgICAgaWYgKHRoaXMucGFyYW1ldGVycy5zdGF0dXMpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT0gdGhpcy5wYXJhbWV0ZXJzLnN0YXR1cykgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGF0dXMgPSBpdGVtLm5hbWUNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhdHVzID0gJycNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgdGhpcy5hZGRyZXNzVHlwZUxpc3QuZm9yRWFjaCgoaXRlbSkgPT4gew0KICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnMuYWRkcmVzc1R5cGUpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT0gdGhpcy5wYXJhbWV0ZXJzLmFkZHJlc3NUeXBlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZHJlc3NUeXBlID0gaXRlbS5uYW1lDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZHJlc3NUeXBlID0gJycNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgdGhpcy5mbG9vckxpc3QuZm9yRWFjaCgoaXRlbSkgPT4gew0KICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnMuZmxvb3IpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT0gdGhpcy5wYXJhbWV0ZXJzLmZsb29yKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZsb29yID0gaXRlbS5uYW1lDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB0aGlzLmZsb29yID0gJycNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICAgICAgcmVzb3VyY2VNYW5hZ2UubG9hZEFyZWEoZGF0YSwgKHJlcykgPT4gew0KICAgICAgICAgICAgICAgIHRoaXMuYXJlYU9wdGlvbnMgPSByZXMucm93cw0KICAgICAgICAgICAgICAgIHRoaXMuYXJlYU9wdGlvbnMuZm9yRWFjaCgoaXRlbSkgPT4gew0KICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5wYXJhbWV0ZXJzLmFyZWFJZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT0gdGhpcy5wYXJhbWV0ZXJzLmFyZWFJZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXJlYU5hbWUgPSBpdGVtLm5hbWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXJlYU5hbWUgPSAnJw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0pDQogICAgICAgICAgICByZXNvdXJjZU1hbmFnZS5sb2FkQWRtaW5BcmVhVHJlZSh7fSwgKHJlcykgPT4gew0KICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhcmFtZXRlcnMuYWRkdmNkKSB7DQogICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkdmNkTmFtZSA9IHJlcy52YWx1ZVswXS5uYW1lDQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGR2Y2ROYW1lID0gJycNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KQ0KICAgICAgICB9LA0KICAgIH0sDQp9DQo="},null]}