{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\appLayer\\appLayerCatalogue\\fieldsManage.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\src\\views\\appLayer\\appLayerCatalogue\\fieldsManage.vue","mtime":1736535326078},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgZGlhbG9nTWl4aW4gZnJvbSAnQC9taXhpbnMvZGlhbG9nLmpzJzsNCmltcG9ydCB1dGlscyBmcm9tICdAL2hvdGVudC11aS11dGlsLmpzJzsNCmltcG9ydCBlbnVtRGljdERpYWxvZyBmcm9tICcuL2VudW1EaWN0RGlhbG9nLnZ1ZSc7DQppbXBvcnQgbXVsdGlEaWN0RGlhbG9nIGZyb20gJy4vbXVsdGlEaWN0RGlhbG9nLnZ1ZSc7DQppbXBvcnQgeyBnZXREaWN0aW9uYXJ5QnlDb2RlIH0gZnJvbSAnQC91dGlscy9kaWN0aW9uYXJ5LmpzJzsNCmltcG9ydCBBUEkgZnJvbSAnQC9hcGkvYnVzaW5lc3MvZGF0YUFQUENhdGFsb2cnOw0KaW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4JzsNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnRmllbGRzTWFuYWdlJywNCiAgY29tcG9uZW50czogew0KICAgIGVudW1EaWN0RGlhbG9nLA0KICAgIG11bHRpRGljdERpYWxvZywNCiAgfSwNCiAgbWl4aW5zOiBbZGlhbG9nTWl4aW5dLA0KICBwcm9wczogW10sDQogIGRhdGEoKSB7DQogICAgdmFyIGNoZWNrZXkgPSAocnVsZSwgdmFsdWUsIGNhbGxiYWNrKSA9PiB7DQogICAgICBpZiAoIXZhbHVlKSB7DQogICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRXJyb3IoJ+Wtl+autee8lueggeS4jeiDveS4uuepuicpKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGlmICh0aGlzLmZvcm0uYXR0ckRhdGEuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNvZGUgPT09IHZhbHVlKS5sZW5ndGggPiAxKSB7DQogICAgICAgICAgY2FsbGJhY2sobmV3IEVycm9yKCflrZfmrrXnvJbnoIHkuI3og73ph43lpI0hJykpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIGNhbGxiYWNrKCk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9Ow0KICAgIHJldHVybiB7DQogICAgICBmaWVsZHNSdWxlczogew0KICAgICAgICBuYW1lOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn5a2X5q615ZCN56ew5LiN6IO95Li656m6JywNCiAgICAgICAgICAgIHRyaWdnZXI6ICdibHVyJywNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgICBjb2RlOiBbDQogICAgICAgICAgew0KICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsDQogICAgICAgICAgICBtZXNzYWdlOiAn5a2X5q6157yW56CB5LiN6IO95Li656m6JywNCiAgICAgICAgICAgIHRyaWdnZXI6ICdibHVyJywNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsNCiAgICAgICAgICAgIHBhdHRlcm46IC9eW2EtekEtWl1bYS16QS1aMC05X10qJC8sDQogICAgICAgICAgICBtZXNzYWdlOiAn5Lul5a2X5q+N5byA5aS055qE5a2X5q+N44CB5pWw5a2X44CB5LiL5YiS57q/57uE5ZCIJywNCiAgICAgICAgICAgIHRyaWdnZXI6IFsnY2hhbmdlJywgJ2JsdXInXSwNCiAgICAgICAgICB9LA0KICAgICAgICAgIHsgdmFsaWRhdG9yOiBjaGVja2V5LCB0cmlnZ2VyOiAnYmx1cicgfSwNCiAgICAgICAgXSwNCiAgICAgIH0sDQogICAgICBmb3JtOiB7IGF0dHJEYXRhOiBbXSB9LA0KICAgICAgaW1wb3J0RGF0YTogeyB0YWJsZUlkOiAnJyB9LA0KICAgICAgZGlhbG9nVmlzaWJsZUVudW06IGZhbHNlLA0KICAgICAgZGlhbG9nVmlzaWJsZU11bHRpOiBmYWxzZSwNCiAgICAgIGN1cnJlbnRSb3c6IG51bGwsDQogICAgICBpbmRleDogbnVsbCwNCiAgICAgIHRhYmVsRGF0YTogbnVsbCwNCiAgICAgIHRhYmxlTG9hZGluZzogZmFsc2UsDQogICAgICB1cGxvYWRMb2FkaW5nOiBmYWxzZSwNCiAgICAgIHVwbG9hZFZpc2libGU6IGZhbHNlLA0KICAgICAgcHVibGlzaGVkOiBmYWxzZSwNCiAgICAgIGZpZWxkc1F1ZXJ5OiB7DQogICAgICAgIHBhZ2VCZWFuOiB7DQogICAgICAgICAgcGFnZVNpemU6IC0xLA0KICAgICAgICB9LA0KICAgICAgICBxdWVyeXM6IFsNCiAgICAgICAgICB7DQogICAgICAgICAgICBncm91cDogJ21haW4nLA0KICAgICAgICAgICAgb3BlcmF0aW9uOiAnRVFVQUwnLA0KICAgICAgICAgICAgcGFyZW50R3JvdXA6ICcnLA0KICAgICAgICAgICAgcHJvcGVydHk6ICd0YWJsZUlkJywNCiAgICAgICAgICAgIHJlbGF0aW9uOiAnQU5EJywNCiAgICAgICAgICAgIHZhbHVlOiAnJywNCiAgICAgICAgICB9LA0KICAgICAgICBdLA0KICAgICAgfSwNCiAgICB9Ow0KICB9LA0KICBtb3VudGVkKCkgew0KICAgIGRvY3VtZW50Lm9ua2V5ZG93biA9ICgpID0+IHsNCiAgICAgIGlmICh0aGlzLmZvcm0uYXR0ckRhdGEpIHsNCiAgICAgICAgY29uc3Qga2V5ID0gd2luZG93LmV2ZW50LmtleUNvZGU7DQogICAgICAgIGlmIChrZXkgPT0gMTEzKSB7DQogICAgICAgICAgLy8gPT0gODMgJiYgZXZlbnQuY3RybEtleQ0KICAgICAgICAgIHRoaXMuYWRkQXR0clJvd3MoKTsNCiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsNCiAgICAgICAgICAgIHRoaXMuJHJlZnMuYXR0clRhYmxlU2Nyb2xsYmFySGVpZ2h0LmJvZHlXcmFwcGVyLnNjcm9sbFRvcCA9IHRoaXMuJHJlZnMuYXR0clRhYmxlU2Nyb2xsYmFySGVpZ2h0LmJvZHlXcmFwcGVyLnNjcm9sbEhlaWdodDsNCiAgICAgICAgICB9LCA1MDApOw0KICAgICAgICB9DQogICAgICB9DQogICAgfTsNCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICBhY3Rpb25Vcmw6IChfKSA9PiBgJHt3aW5kb3cuY29udGV4dC5wb3J0YWx9L2Jpei9hcHAvY2F0YWxvZ3MvdGFibGUvZmllbGQvdjEvaW1wb3J0RmlsZWAsDQogICAgLi4ubWFwU3RhdGUoew0KICAgICAgaGVhZGVyczogKHN0YXRlKSA9PiAoew0KICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7c3RhdGUubG9naW4uY3VycmVudFVzZXIudG9rZW59YCwNCiAgICAgIH0pLA0KICAgIH0pLA0KICB9LA0KDQogIGJlZm9yZURlc3Ryb3koKSB7fSwNCiAgbWV0aG9kczogew0KICAgIGluaXREYXRhKGRhdGEpIHsNCiAgICAgIHRoaXMudGFiZWxEYXRhID0gZGF0YTsNCiAgICAgIHRoaXMuaW1wb3J0RGF0YS50YWJsZUlkID0gZGF0YS5pZDsNCiAgICAgIHRoaXMucHVibGlzaGVkID0gdGhpcy50YWJlbERhdGEuZGVwbG95ZWQgPT09ICcxJzsNCiAgICAgIHRoaXMuZ2V0RmllbGRzQnlUYWJsZSgpOw0KICAgIH0sDQogICAgYXN5bmMgZ2V0RmllbGRzQnlUYWJsZSgpIHsNCiAgICAgIHRoaXMudGFibGVMb2FkaW5nID0gdHJ1ZTsNCiAgICAgIHRoaXMuZmllbGRzUXVlcnkucXVlcnlzWzBdLnZhbHVlID0gdGhpcy50YWJlbERhdGEuaWQ7DQogICAgICB0cnkgew0KICAgICAgICBjb25zdCB7IHJvd3MgPSBbXSB9ID0gYXdhaXQgQVBJLnF1ZXJ5RmllbGRzQnlUYWJsZUlkKHRoaXMuZmllbGRzUXVlcnkpOw0KICAgICAgICBpZiAocm93cy5sZW5ndGgpIHsNCiAgICAgICAgICByb3dzLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICAgIGlmIChpdGVtLmZpZWxkVmFsdWVUeXBlKSB7DQogICAgICAgICAgICAgIGl0ZW0uZmllbGRWYWx1ZVR5cGUgPSBpdGVtLmZpZWxkVmFsdWVUeXBlLnRvU3RyaW5nKCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgfSk7DQogICAgICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhID0gcm93cy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uZmllbGRUeXBlID09PSAnMicpOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YSA9IFtdOw0KICAgICAgICB9DQogICAgICB9IGNhdGNoIChlcnIpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKGVyciB8fCAn6LWE5rqQ6aG55a2X5q615p+l6K+i5aSx6LSl77yBJyk7DQogICAgICB9IGZpbmFsbHkgew0KICAgICAgICB0aGlzLnRhYmxlTG9hZGluZyA9IGZhbHNlOw0KICAgICAgfQ0KICAgIH0sDQogICAgZ2V0RGljdGlvbmFyeUJ5Q29kZSwNCiAgICBjaGFuZ2VEaWN0KGRhdGEsIGtleSkgew0KICAgICAgdGhpcy5jdXJyZW50Um93LmRpbWVuc2lvbklkID0gZGF0YVtrZXldOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZSh0aGlzLmluZGV4LCAxLCB0aGlzLmN1cnJlbnRSb3cpOw0KICAgIH0sDQogICAgLy8g5paw5aKe5a2X5q61DQogICAgYWRkQXR0clJvd3MoKSB7DQogICAgICBjb25zdCByb3cgPSB7DQogICAgICAgIHRhYmxlSWQ6IHRoaXMudGFiZWxEYXRhLmlkLA0KICAgICAgICBjb2RlOiAnJywNCiAgICAgICAgbmFtZTogJycsDQogICAgICAgIGRlc2M6ICcnLA0KICAgICAgICBmaWVsZFR5cGU6ICcyJywNCiAgICAgICAgaXNJbml0RmlsZWQ6ICdOJywNCiAgICAgICAgaXNQazogJzAnLA0KICAgICAgICBpc1JlcXVpcmVkOiAnMCcsDQogICAgICAgIHVpQ29tQ29kZTogJ2lucHV0JywNCiAgICAgICAgZGF0YVR5cGU6ICdzdHJpbmcnLA0KICAgICAgICBkZWZhdWx0VmFsdWU6ICcnLA0KICAgICAgICBmb3JtYXQ6ICcnLA0KICAgICAgICBmaWVsZFZhbHVlVHlwZTogJzEnLA0KICAgICAgICBkaW1lbnNpb25JZDogJycsDQogICAgICAgIHVuaXQ6ICcnLA0KICAgICAgICBhdHRyTGVuZ3RoOiAyMDAsDQogICAgICAgIGRlY2ltYWxMZW46IDAsDQogICAgICAgIGlzRW5jcnlwdDogJzAnLA0KICAgICAgICBpc0VkaXQ6ICcwJywNCiAgICAgICAgaXNEZXNlbnNpdGl6ZTogJzAnLA0KICAgICAgICBpbmRleDogdGhpcy5mb3JtLmF0dHJEYXRhLmxlbmd0aCArIDEsDQogICAgICB9Ow0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZSh0aGlzLmZvcm0uYXR0ckRhdGEubGVuZ3RoLCAwLCByb3cpOw0KICAgIH0sDQoNCiAgICBjaGFuZ2VGaWVsZFZhbHVlVHlwZSh2YWwsIHJvdywgaW5kZXgpIHsNCiAgICAgIHJvdy5kaW1lbnNpb25JZCA9ICcnOw0KICAgICAgcm93LmZpZWxkVmFsdWVUeXBlID0gdmFsOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSwgcm93KTsNCiAgICB9LA0KDQogICAgLy8gVUnnsbvlnovliIfmjaLorr7nva7pu5jorqTlgLwNCiAgICBjaGFuZ2VVSVR5cGUodmFsLCByb3csIGluZGV4KSB7DQogICAgICBjb25zb2xlLmxvZyh2YWwsIHJvdywgaW5kZXgpOw0KICAgICAgcm93LmRhdGFUeXBlID0gJ3N0cmluZyc7DQogICAgICByb3cuZm9ybWF0ID0gJyc7DQogICAgICByb3cuZmllbGRWYWx1ZVR5cGUgPSAnMSc7DQogICAgICBpZiAodmFsID09PSAnZGF0ZScpIHsNCiAgICAgICAgcm93LmRhdGFUeXBlID0gJ2RhdGV0aW1lJzsNCiAgICAgICAgcm93LmZvcm1hdCA9ICd5eXl5LU1NLWRkJzsNCiAgICAgIH0gZWxzZSBpZiAodmFsID09PSAnc2VsZWN0JyB8fCB2YWwgPT09ICdjaGVja2JveCcgfHwgdmFsID09PSAncmFkaW8nKSB7DQogICAgICAgIHJvdy5maWVsZFZhbHVlVHlwZSA9ICcyJzsNCiAgICAgIH0NCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UoaW5kZXgsIDEsIHJvdyk7DQogICAgfSwNCg0KICAgIC8vIOaVsOaNruexu+Wei+WIh+aNouiuvue9rum7mOiupOWAvA0KICAgIGNoYW5nZURhdGFUeXBlKHZhbCwgcm93LCBpbmRleCkgew0KICAgICAgcm93LmF0dHJMZW5ndGggPSAwOw0KICAgICAgcm93LmRlY2ltYWxMZW4gPSAwOw0KICAgICAgcm93LmZvcm1hdCA9ICcnOw0KICAgICAgcm93LmZpZWxkVmFsdWVUeXBlID0gJzEnOw0KICAgICAgcm93LmRpbWVuc2lvbklkID0gJyc7DQogICAgICBpZiAodmFsID09PSAnZGF0ZXRpbWUnKSB7DQogICAgICAgIHJvdy5mb3JtYXQgPSAneXl5eS1NTS1kZCc7DQogICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gJ3N0cmluZycpIHsNCiAgICAgICAgcm93LmF0dHJMZW5ndGggPSAyMDA7DQogICAgICB9IGVsc2UgaWYgKHZhbCA9PT0gJ251bWJlcicpIHsNCiAgICAgICAgcm93LmF0dHJMZW5ndGggPSAxMDsNCiAgICAgICAgcm93LmRlY2ltYWxMZW4gPSAyOw0KICAgICAgfQ0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSwgcm93KTsNCiAgICB9LA0KDQogICAgLy8g6YCJ5oup5a2X5YW4DQogICAgaGFuZGxlU2VhcmNoRGljdChyb3csICRpbmRleCkgew0KICAgICAgaWYgKHRoaXMucHVibGlzaGVkICYmIHJvdy5pZCkgew0KICAgICAgICByZXR1cm47DQogICAgICB9DQogICAgICB0aGlzLmN1cnJlbnRSb3cgPSByb3c7DQogICAgICB0aGlzLmluZGV4ID0gJGluZGV4Ow0KICAgICAgaWYgKHJvdy5maWVsZFZhbHVlVHlwZSA9PT0gJzInKSB7DQogICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZUVudW0gPSB0cnVlOw0KICAgICAgfSBlbHNlIGlmIChyb3cuZmllbGRWYWx1ZVR5cGUgPT09ICczJykgew0KICAgICAgICB0aGlzLmRpYWxvZ1Zpc2libGVNdWx0aSA9IHRydWU7DQogICAgICB9DQogICAgfSwNCg0KICAgIGhhbmRsZUNvbW1hbmQocGFyYW0pIHsNCiAgICAgIHN3aXRjaCAocGFyYW0uY29tbWFuZCkgew0KICAgICAgICBjYXNlICdkZWwnOg0KICAgICAgICAgIHRoaXMuZGVsZXRlQXR0clJvd3MocGFyYW0ucm93LCBwYXJhbS5pbmRleCk7DQogICAgICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgJ3VwJzoNCiAgICAgICAgICB0aGlzLmF0dHJVcChwYXJhbS5yb3csIHBhcmFtLmluZGV4KTsNCiAgICAgICAgICBicmVhazsNCiAgICAgICAgY2FzZSAnZG93bic6DQogICAgICAgICAgdGhpcy5hdHRyRG93bihwYXJhbS5yb3csIHBhcmFtLmluZGV4KTsNCiAgICAgICAgICBicmVhazsNCiAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgICBicmVhazsNCiAgICAgIH0NCiAgICB9LA0KDQogICAgYXN5bmMgaXNEZWwocm93LCBpbmRleCkgew0KICAgICAgdHJ5IHsNCiAgICAgICAgY29uc3QgeyBzdGF0ZSwgbWVzc2FnZSB9ID0gYXdhaXQgQVBJLmRlbGV0ZUZpZWxkKHJvdy5pZCk7DQogICAgICAgIGlmIChzdGF0ZSkgew0KICAgICAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YS5zcGxpY2UoaW5kZXgsIDEpOw0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5a2X5q615Yig6Zmk5oiQ5YqfJyk7DQogICAgICAgIH0NCiAgICAgIH0gY2F0Y2ggKGVycikgew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoZXJyIHx8ICfmk43kvZzlpLHotKUnKTsNCiAgICAgIH0gZmluYWxseSB7DQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvLyDliKDpmaTlrZfmrrUNCiAgICBkZWxldGVBdHRyUm93cyhyb3csIGluZGV4KSB7DQogICAgICBpZiAodGhpcy5wdWJsaXNoZWQgJiYgcm93LmlkKSB7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgaWYgKHJvdy5pc0luaXRGaWxlZCA9PT0gJ1knKSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn6K+l5a2X5q615Li65Yid5aeL5a2X5q6177yM5LiN5Y+v5Yig6Zmk77yBJyk7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgdGhpcy4kY29uZmlybShg5q2k5pON5L2c5bCG5Yig6Zmk5a2X5q6177yIJHtyb3cubmFtZX3vvIksIOaYr+WQpue7p+e7rT9gLCAn5o+Q56S6Jywgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICB0eXBlOiAnd2FybmluZycsDQogICAgICB9KQ0KICAgICAgICAudGhlbihhc3luYyAoKSA9PiB7DQogICAgICAgICAgaWYgKHJvdy5pZCkgew0KICAgICAgICAgICAgdGhpcy5pc0RlbChyb3csIGluZGV4KTsNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhLnNwbGljZShpbmRleCwgMSk7DQogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+Wtl+auteWIoOmZpOaIkOWKnycpOw0KICAgICAgICAgIH0NCiAgICAgICAgfSkNCiAgICAgICAgLmNhdGNoKCgpID0+IHt9KTsNCiAgICB9LA0KDQogICAgYXR0clVwKHJvdywgaW5kZXgpIHsNCiAgICAgIGlmICh0aGlzLnB1Ymxpc2hlZCAmJiByb3cuaWQpIHsNCiAgICAgICAgcmV0dXJuOw0KICAgICAgfQ0KDQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXhdLmluZGV4ID0gdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5pbmRleCAtIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXggLSAxXS5pbmRleCA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleCAtIDFdLmluZGV4ICsgMTsNCiAgICAgIHRoaXMuZm9ybS5hdHRyRGF0YSA9IHV0aWxzLmFycmF5TW92ZSh0aGlzLmZvcm0uYXR0ckRhdGEsIHJvdywgJ3VwJyk7DQogICAgfSwNCiAgICBhdHRyRG93bihyb3csIGluZGV4KSB7DQogICAgICBpZiAodGhpcy5wdWJsaXNoZWQgJiYgcm93LmlkKSB7DQogICAgICAgIHJldHVybjsNCiAgICAgIH0NCg0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4XS5pbmRleCA9IHRoaXMuZm9ybS5hdHRyRGF0YVtpbmRleF0uaW5kZXggKyAxOw0KICAgICAgdGhpcy5mb3JtLmF0dHJEYXRhW2luZGV4ICsgMV0uaW5kZXggPSB0aGlzLmZvcm0uYXR0ckRhdGFbaW5kZXggKyAxXS5pbmRleCAtIDE7DQogICAgICB0aGlzLmZvcm0uYXR0ckRhdGEgPSB1dGlscy5hcnJheU1vdmUodGhpcy5mb3JtLmF0dHJEYXRhLCByb3csICdkb3duJyk7DQogICAgfSwNCg0KICAgIG9uQ2FuY2VsKCkgew0KICAgICAgdGhpcy52aXNpYmxlID0gZmFsc2U7DQogICAgfSwNCiAgICBvbkNvbmZpcm0oKSB7DQogICAgICB0aGlzLiRyZWZzLmZvcm0udmFsaWRhdGUoYXN5bmMgKHZhbGlkLCBvYmplY3QpID0+IHsNCiAgICAgICAgaWYgKHZhbGlkKSB7DQogICAgICAgICAgY29uc29sZS5sb2codGhpcy5mb3JtLmF0dHJEYXRhKTsNCiAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgY29uc3QgeyBzdGF0ZSwgbWVzc2FnZSB9ID0gYXdhaXQgQVBJLnNhdmVGaWVsZHModGhpcy5mb3JtLmF0dHJEYXRhKTsNCiAgICAgICAgICAgIGlmIChzdGF0ZSkgew0KICAgICAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+Wtl+auteS/neWtmOaIkOWKnycpOw0KICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdjb25maXJtJyk7DQogICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKG1lc3NhZ2UgfHwgJ+aTjeS9nOWksei0pScpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0gY2F0Y2ggKGVycikgew0KICAgICAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKGVyciB8fCAn5pON5L2c5aSx6LSlJyk7DQogICAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlOw0KICAgICAgICAgIH0NCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoYOaciSR7T2JqZWN0LmtleXMob2JqZWN0KS5sZW5ndGh95Liq5a2X5q615pyq6YCa6L+H5qCh6aqM77yM6K+35q2j56Gu5aGr5YaZ6KGo5Y2V44CCYCk7DQogICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7DQogICAgICAgIH0NCiAgICAgIH0pOw0KICAgIH0sDQogICAgZG93bmxvYWQoKSB7DQogICAgICBjb25zdCBmaWxlVHlwZTIgPSAn5pWw5o2u5bqU55So5bGC5Yqo5oCB6KGo5a2X5q615riF5Y2VLnhsc3gnOw0KICAgICAgY29uc3QgZmlsZVR5cGUxID0gJ+aVsOaNruW6lOeUqOWxgueJqeeQhuihqOWtl+autea4heWNlS54bHN4JzsNCiAgICAgIGxldCBmaWxlVHlwZTsNCg0KICAgICAgaWYgKHRoaXMudGFiZWxEYXRhLnRhYmxlQ2xhc3MgPT09ICcxJykgew0KICAgICAgICBmaWxlVHlwZSA9IGZpbGVUeXBlMTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGZpbGVUeXBlID0gZmlsZVR5cGUyOw0KICAgICAgfQ0KICAgICAgdmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7DQogICAgICBhLmhyZWYgPSB3aW5kb3cuY29udGV4dC5kb3dubG9hZCArIGZpbGVUeXBlOw0KICAgICAgYS5kb3dubG9hZCA9IGZpbGVUeXBlOyAvLyDorr7nva7kuIvovb3mlofku7bmlofku7blkI0NCiAgICAgIGEuc3R5bGUuZGlzcGxheSA9ICdub25lJzsNCiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7DQogICAgICBhLmNsaWNrKCk7DQogICAgICBhLnJlbW92ZSgpOw0KICAgIH0sDQogICAgLy8gIOWvvOWFpeaWh+S7tuS4iuS8oOWJjQ0KICAgIGJlZm9yZVVwbG9hZChmaWxlKSB7DQogICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gew0KICAgICAgICB0aGlzLnVwbG9hZExvYWRpbmcgPSB0cnVlOw0KICAgICAgICBjb25zdCB7IHNpemUsIG5hbWUgfSA9IGZpbGU7DQogICAgICAgIHRoaXMuJGNvbmZpcm0oYOivt+ehruiupOaYr+WQpuWvvOWFpSDigJwke25hbWV94oCdIO+8n2AsICfmj5DnpLonLCB7DQogICAgICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICfnoa7orqQnLA0KICAgICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICAgIHR5cGU6ICd3YXJuaW5nJywNCiAgICAgICAgfSkNCiAgICAgICAgICAudGhlbigoXykgPT4gew0KICAgICAgICAgICAgbGV0IHBhc3NlZE9yTm90ID0gdHJ1ZTsgLy8g5piv5ZCm6YCa6L+H6aqM6K+BDQogICAgICAgICAgICBjb25zdCB0eXBlUmVndWxhciA9IC9cLih4bHN8eGxzeCkkL2k7DQogICAgICAgICAgICBjb25zdCB2ZXJpZmljYXRpb24gPSBbDQogICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICBjb25kaXRpb246ICF0eXBlUmVndWxhci50ZXN0KG5hbWUpLA0KICAgICAgICAgICAgICAgIHJlc3VsdDogKCkgPT4gdGhpcy4kbWVzc2FnZS5lcnJvcign5Y+q6IO95LiK5LygeGxz5oiWeGxzeOaWh+S7tuexu+WeiycpLA0KICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgXTsNCiAgICAgICAgICAgIHZlcmlmaWNhdGlvbi5mb3JFYWNoKChpdGVtKSA9PiB7DQogICAgICAgICAgICAgIGlmIChpdGVtLmNvbmRpdGlvbikgew0KICAgICAgICAgICAgICAgIGl0ZW0ucmVzdWx0KCk7DQogICAgICAgICAgICAgICAgcGFzc2VkT3JOb3QgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZExvYWRpbmcgPSBmYWxzZTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHBhc3NlZE9yTm90ID8gcmVzb2x2ZSgpIDogcmVqZWN0KCk7DQogICAgICAgICAgfSkNCiAgICAgICAgICAuY2F0Y2goKF8pID0+IHsNCiAgICAgICAgICAgIHJlamVjdCgpOw0KICAgICAgICAgICAgdGhpcy51cGxvYWRMb2FkaW5nID0gZmFsc2U7DQogICAgICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+W3suWPlua2iOS4iuS8oCcpOw0KICAgICAgICAgIH0pOw0KICAgICAgfSk7DQogICAgfSwNCg0KICAgIC8vIOWvvOWFpeaWh+S7tuS4iuS8oOaIkOWKnw0KICAgIGFzeW5jIGhhbmRsZVN1Y2Nlc3MocmVzKSB7DQogICAgICBpZiAocmVzLnN0YXRlKSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5a+85YWl5oiQ5YqfJyk7DQogICAgICAgIHRoaXMudXBsb2FkTG9hZGluZyA9IGZhbHNlOw0KICAgICAgICBhd2FpdCB0aGlzLmdldEZpZWxkc0J5VGFibGUoKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IocmVzLm1lc3NhZ2UpOw0KICAgICAgfQ0KICAgIH0sDQoNCiAgICAvLyDlr7zlhaXmlofku7bkuIrkvKDlpLHotKUNCiAgICBoYW5kbGVFcnJvcihlcnIpIHsNCiAgICAgIGlmIChlcnIpIHsNCiAgICAgICAgbGV0IGVyckRhdGEgPSBlcnIudG9TdHJpbmcoKS5yZXBsYWNlKCdFcnJvcjonLCAnJyk7DQogICAgICAgIGVyckRhdGEgPSBKU09OLnBhcnNlKGVyckRhdGEpOw0KICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKGVyckRhdGEubWVzc2FnZSB8fCAn5a+85YWl5aSx6LSl77yM6K+36YeN6K+VJyk7DQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRtZXNzYWdlLmVycm9yKCflr7zlhaXlpLHotKXvvIzor7fph43or5UnKTsNCiAgICAgIH0NCiAgICAgIHRoaXMudXBsb2FkTG9hZGluZyA9IGZhbHNlOw0KICAgIH0sDQogIH0sDQp9Ow0K"},null]}