{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\control\\HtTreeselect.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\components\\control\\HtTreeselect.vue","mtime":1705895419236},{"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:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgdXRpbHMgZnJvbSAnQC91dGlscy5qcycNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnaHQtc2VsZWN0JywNCiAgcHJvcHM6IFsNCiAgICAndmFsaWRhdGUnLA0KICAgICd2YWx1ZScsDQogICAgJ25hbWUnLA0KICAgICdwZXJtaXNzaW9uJywNCiAgICAnbXVsdGlwbGUnLA0KICAgICdzZWxlY3RsaXN0JywNCiAgICAnbGlua2FnZScsDQogICAgJ2dhbmdlZCcsDQogICAgJ3Rvb2x0aXBwbGFjZW1lbnQnLA0KICAgICdmaWx0ZXJhYmxlJywNCiAgICAnYWxsb3dDcmVhdGUnLA0KICAgICdzdHlsZXMnDQogIF0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIGlucHV0VmFsOiBbXSwNCiAgICAgIGlucHV0VmFsbmV3OiAnJywNCiAgICAgIGNvbmZpZzoge30sDQogICAgICB0b3RhbDogMTAsDQogICAgICBwYWdlU2l6ZTogNSwNCiAgICAgIGN1cnJlbnRQYWdlOiAxLA0KICAgICAgb3B0aW9uczogW10sDQogICAgICB0ZW1wb3B0aW9uczogW10sDQogICAgICBkZWZhdWx0UHJvcHM6IHsNCiAgICAgICAgY2hpbGRyZW46ICdjaGlsZHJlbicsDQogICAgICAgIGxhYmVsOiAndmFsdWUnDQogICAgICB9DQogICAgfQ0KICB9LA0KICB3YXRjaDogew0KICAgIGlucHV0VmFsOiBmdW5jdGlvbihuZXdWYWwsIG9sZFZhbCkgew0KICAgICAgdGhpcy4kZW1pdCgnaW5wdXQnLCBuZXdWYWwpDQogICAgfQ0KICB9LA0KICBjb21wdXRlZDogew0KICAgIGlucHV0V3JpdGVhYmxlOiBmdW5jdGlvbigpIHsNCiAgICAgIHJldHVybiB1dGlscy5nZXRXcml0ZWFibGUodGhpcy5wZXJtaXNzaW9uKQ0KICAgIH0sDQogICAgaW5wdXRWYWxpZGF0ZTogZnVuY3Rpb24oKSB7DQogICAgICB2YXIgdmFsaWRhdGVPYmogPSB0aGlzLiRzdG9yZS5zdGF0ZS5pbmRleC52YWxpZGF0ZQ0KICAgICAgcmV0dXJuIHV0aWxzLmFkZFJlcXVpcmVkT3JOb3QoDQogICAgICAgIHRoaXMucGVybWlzc2lvbiwNCiAgICAgICAgdGhpcy52YWxpZGF0ZSwNCiAgICAgICAgdmFsaWRhdGVPYmosDQogICAgICAgIHRoaXMNCiAgICAgICkNCiAgICB9LA0KICAgIGlucHV0TmFtZTogZnVuY3Rpb24oKSB7DQogICAgICBsZXQgbGFiZWxkZXNjID0gJycNCiAgICAgIGlmICh0aGlzLiRzbG90cyAmJiB0aGlzLiRzbG90cy5sYWJlbGRlc2MgJiYgdGhpcy4kc2xvdHMubGFiZWxkZXNjWzBdLmNoaWxkcmVuICYmIHRoaXMuJHNsb3RzLmxhYmVsZGVzY1swXS5jaGlsZHJlblswXS50ZXh0KSB7DQogICAgICAgIGxhYmVsZGVzYyA9IHRoaXMuJHNsb3RzLmxhYmVsZGVzY1swXS5jaGlsZHJlblswXS50ZXh0DQogICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyB0aGlzLm5hbWUgOiB1dGlscy5nZXROYW1lKCkgKyAnLScgKyBsYWJlbGRlc2MNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyB0aGlzLm5hbWUgOiB1dGlscy5nZXROYW1lKCkNCiAgICAgIH0NCiAgICB9DQogIH0sDQogIG1vdW50ZWQoKSB7DQogICAgdGhpcy5vcHRpb25zID0gdGhpcy5zZWxlY3RsaXN0ID8gdGhpcy5zZWxlY3RsaXN0IDogW10NCiAgICBjb25zdCBfbWUgPSB0aGlzDQogICAgY29uc3QgZXhwID0gdGhpcy5saW5rYWdlDQogICAgaWYgKGV4cCAmJiBleHAubGVuZ3RoID4gMCAmJiB0aGlzLiRwYXJlbnQuaXNWaWV3KSB7DQogICAgICBjb25zdCBwSW5zdCA9IHV0aWxzLmdldE9ubGluZUZvcm1JbnN0YW5jZShfbWUpDQogICAgICBfbWUudHJhY2VzID0ge30NCg0KICAgICAgZXhwLmZvckVhY2gobSA9PiB7DQogICAgICAgIG0uZWZmZWN0LmZvckVhY2gobSA9PiB7DQogICAgICAgICAgY29uc3QgcGF0aCA9IGBwZXJtaXNzaW9uLmZpZWxkcy4ke20udGFyZ2V0fWANCiAgICAgICAgICBjb25zdCBvbGRWYWwgPSB1dGlscy5nZXRWYWx1ZUJ5UGF0aChwSW5zdCwgcGF0aCkNCiAgICAgICAgICBfbWUudHJhY2VzW3BhdGhdID0gb2xkVmFsDQogICAgICAgIH0pDQoNCiAgICAgICAgX21lLiR3YXRjaCgNCiAgICAgICAgICAnaW5wdXRWYWwnLA0KICAgICAgICAgIGZ1bmN0aW9uKG5ld1ZhbCwgb2xkVmFsKSB7DQogICAgICAgICAgICBpZiAobmV3VmFsICE9PSBvbGRWYWwgJiYgbS52YWx1ZSA9PSBuZXdWYWwpIHsNCiAgICAgICAgICAgICAgbS5lZmZlY3QuZm9yRWFjaChlZiA9PiB7DQogICAgICAgICAgICAgICAgX21lLiRzdG9yZS5kaXNwYXRjaCgnaW5kZXgvZGVsVmFsaWRhdGUnKQ0KICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBgcGVybWlzc2lvbi5maWVsZHMuJHtlZi50YXJnZXR9YA0KICAgICAgICAgICAgICAgIGxldCB2YWwgPSBfbWUudHJhY2VzW3BdDQogICAgICAgICAgICAgICAgaWYgKG0udmFsdWUgPT09IG5ld1ZhbCkgew0KICAgICAgICAgICAgICAgICAgdmFsID0gZWYudHlwZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBfbWUuJHN0b3JlLmRpc3BhdGNoKCdpbmRleC9saW5rYWdlVmFsaWRhdGUnLCBlZikNCiAgICAgICAgICAgICAgICB1dGlscy5zZXRWYWx1ZUJ5UGF0aChwSW5zdCwgcCwgdmFsKQ0KICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0sDQogICAgICAgICAge2ltbWVkaWF0ZTogdHJ1ZX0NCiAgICAgICAgKQ0KICAgICAgfSkNCiAgICB9DQogICAgY29uc3QgZ2FuZ2VkID0gdGhpcy5nYW5nZWQNCiAgICAvL+WIpOaWreaYr+WQpuacieWPguaVsOe7keWumg0KICAgIGlmIChnYW5nZWQgJiYgZ2FuZ2VkLmJpbmQgJiYgdGhpcy5jb25maWcpIHsNCiAgICAgIGNvbnN0IGJpbmQgPSBnYW5nZWQuYmluZA0KICAgICAgY29uc3QgZm9ybVZtID0gdXRpbHMuZ2V0T25saW5lRm9ybUluc3RhbmNlKF9tZSkNCiAgICAgIGZvcm1WbS4kd2F0Y2goDQogICAgICAgICdkYXRhJywNCiAgICAgICAgZnVuY3Rpb24obmV3VmFsLCBvbGRWYWwpIHsNCiAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gYmluZCkgew0KICAgICAgICAgICAgY29uc3QgcEluc3QgPSB1dGlscy5nZXRPbmxpbmVGb3JtSW5zdGFuY2UoX21lKQ0KICAgICAgICAgICAgY29uc3QgdmFsID0gdXRpbHMuZ2V0VmFsdWVCeVBhdGgocEluc3QsIGJpbmRba2V5XSkNCiAgICAgICAgICAgIF9tZS5zZWFyY2goZmFsc2UsIHZhbCkNCiAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIHtkZWVwOiB0cnVlfQ0KICAgICAgKQ0KICAgIH0NCg0KICAgIC8v5Zue5pi+DQogICAgaWYgKA0KICAgICAgdGhpcy5pbnB1dFZhbCAmJg0KICAgICAgdGhpcy5pbnB1dFZhbC5jb25zdHJ1Y3RvciA9PSBBcnJheSAmJg0KICAgICAgdGhpcy5pbnB1dFZhbC5sZW5ndGggPiAwICYmDQogICAgICB0aGlzLmlucHV0VmFsbmV3ID09ICcnICYmDQogICAgICB0aGlzLnNlbGVjdGxpc3QNCiAgICApIHsNCiAgICAgIHZhciBpbnB1dFZhbEFyciA9IFtdDQogICAgICBpZiAoISh0aGlzLmlucHV0VmFsIGluc3RhbmNlb2YgQXJyYXkpKSB7DQogICAgICAgIHRoaXMuaW5wdXRWYWwgPSB0aGlzLmlucHV0VmFsLnNwbGl0KCcsJykNCiAgICAgIH0NCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5pbnB1dFZhbC5sZW5ndGg7IGkrKykgew0KICAgICAgICBmb3IgKHZhciBhID0gMDsgYSA8IHRoaXMuc2VsZWN0bGlzdC5sZW5ndGg7IGErKykgew0KICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGxpc3RbYV0ua2V5ID09IHRoaXMuaW5wdXRWYWxbaV0pIHsNCiAgICAgICAgICAgIGlucHV0VmFsQXJyLnB1c2godGhpcy5zZWxlY3RsaXN0W2FdLnZhbHVlKQ0KICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHRoaXMuaW5wdXRWYWxuZXcgPSBpbnB1dFZhbEFyci5qb2luKCcsJykNCiAgICB9IGVsc2Ugew0KICAgICAgaWYgKA0KICAgICAgICB0aGlzLmlucHV0VmFsICYmDQogICAgICAgIHRoaXMuaW5wdXRWYWwubGVuZ3RoID4gMCAmJg0KICAgICAgICB0aGlzLmlucHV0VmFsIGluc3RhbmNlb2YgQXJyYXkNCiAgICAgICkgew0KICAgICAgICB0aGlzLmlucHV0VmFsID0gdGhpcy5pbnB1dFZhbC5zcGxpdCgnLCcpDQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLmlucHV0VmFsbmV3ID0gdGhpcy5pbnB1dFZhbA0KICAgICAgfQ0KICAgICAgaWYgKHRoaXMuaW5wdXRWYWwgIT0gJycgJiYgdGhpcy5vcHRpb25zLmxlbmd0aCAhPSAwKSB7DQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5vcHRpb25zLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgaWYgKHRoaXMub3B0aW9uc1tpXS5rZXkgPT0gdGhpcy5pbnB1dFZhbCkgew0KICAgICAgICAgICAgdGhpcy5pbnB1dFZhbG5ldyA9IHRoaXMub3B0aW9uc1tpXS52YWx1ZQ0KICAgICAgICAgICAgYnJlYWsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogIH0sDQogIGNyZWF0ZWQoKSB7DQogICAgdGhpcy5vcHRpb25zID0gdGhpcy5zZWxlY3RsaXN0ID8gdGhpcy5zZWxlY3RsaXN0IDogW10NCiAgICAvL+WKqOaAgeS8oOWFpQ0KICAgIGlmICh0aGlzLmdhbmdlZCAmJiB0aGlzLmdhbmdlZC5hbGlhcyAmJiB0aGlzLm9wdGlvbnMubGVuZ3RoIDwgMSkgew0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2Zvcm0vZ2V0QnlBbGlhc0NxJywgdGhpcy5nYW5nZWQuYWxpYXMpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgdGhpcy5jb25maWcgPSByZXMNCiAgICAgICAgdGhpcy5zZWFyY2goKQ0KICAgICAgfSkNCiAgICB9DQogICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5pbmRleE9mKCdbJykgPT0gMCkgew0KICAgICAgdmFyIHNlbGVjdFZhbCA9IHRoaXMudmFsdWUuc3Vic3RyKDAsIHRoaXMudmFsdWUubGVuZ3RoIC0gMSkNCiAgICAgIHNlbGVjdFZhbCA9IHNlbGVjdFZhbC5zdWJzdHIoMSkNCiAgICAgIGlmIChzZWxlY3RWYWwgPT09ICcnKSB7DQogICAgICAgIHRoaXMuaW5wdXRWYWwgPSBzZWxlY3RWYWwNCiAgICAgICAgcmV0dXJuDQogICAgICB9DQogICAgICB2YXIgc2VsZWN0VmFsMiA9IHNlbGVjdFZhbC5zcGxpdCgnLCcpDQogICAgICB2YXIgc2VsZWN0VmFsbmV3ID0gW10NCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc2VsZWN0VmFsMi5sZW5ndGg7IGkrKykgew0KICAgICAgICBzZWxlY3RWYWxuZXcucHVzaChzZWxlY3RWYWwyW2ldLnRyaW0oKSkNCiAgICAgIH0NCiAgICAgIHRoaXMuaW5wdXRWYWwgPSBzZWxlY3RWYWxuZXcNCiAgICB9IGVsc2Ugew0KICAgICAgdGhpcy5pbnB1dFZhbCA9IHRoaXMudmFsdWUNCiAgICB9DQogICAgdGhpcy4kdmFsaWRhdG9yID0gdGhpcy4kcm9vdC4kdmFsaWRhdG9yDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICBjbGVhcigpIHsNCiAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7DQogICAgICAgIHRoaXMudGVtcG9wdGlvbnMgPSBbXQ0KICAgICAgICB0aGlzLiRuZXh0VGljayhmdW5jdGlvbigpIHsNCiAgICAgICAgICB0aGlzLiRyZWZzLnRyZWVzZWxlY3RFbFRyZWUuc2V0Q2hlY2tlZEtleXMoW10sIHRydWUpDQogICAgICAgIH0pDQogICAgICB9IGVsc2Ugew0KICAgICAgICB0aGlzLiRyZWZzLnRyZWVzZWxlY3RFbFRyZWUuc2V0Q3VycmVudE5vZGUoe30pDQogICAgICB9DQogICAgfSwNCiAgICBjbGlja05hdGl2ZTogZnVuY3Rpb24oKSB7DQogICAgICAvL+WKqOaAgeS8oOWFpQ0KICAgICAgaWYgKHRoaXMuZ2FuZ2VkICYmIHRoaXMuZ2FuZ2VkLmFsaWFzICYmIHRoaXMub3B0aW9ucy5sZW5ndGggPCAxKSB7DQogICAgICAgIHRoaXMuJHN0b3JlDQogICAgICAgICAgLmRpc3BhdGNoKCdmb3JtL2dldEJ5QWxpYXNDcScsIHRoaXMuZ2FuZ2VkLmFsaWFzKQ0KICAgICAgICAgIC50aGVuKHJlcyA9PiB7DQogICAgICAgICAgICB0aGlzLmNvbmZpZyA9IHJlcw0KICAgICAgICAgICAgdGhpcy5zZWFyY2goKQ0KICAgICAgICAgIH0pDQogICAgICB9DQogICAgfSwNCiAgICBzZWxlY3RCbHVyOiBmdW5jdGlvbih2YWwpIHsNCiAgICAgIHRoaXMuc2VhcmNoKCkNCiAgICB9LA0KICAgIGhhbmRsZUNoZWNrQ2hhbmdlKGRhdGEpIHsNCiAgICAgIGxldCBjaGVja2VkTm9kZXMgPSB0aGlzLiRyZWZzLnRyZWVzZWxlY3RFbFRyZWUuZ2V0Q2hlY2tlZE5vZGVzKCkNCiAgICAgIHRoaXMuaW5wdXRWYWwgPSBbXQ0KICAgICAgdGhpcy50ZW1wb3B0aW9ucyA9IGNoZWNrZWROb2Rlcw0KICAgICAgZm9yIChsZXQgZGF0YSBvZiBjaGVja2VkTm9kZXMpIHsNCiAgICAgICAgdGhpcy5pbnB1dFZhbC5wdXNoKGRhdGEua2V5KQ0KDQogICAgICB9DQogICAgfSwNCiAgICBoYW5kbGVOb2RlQ2xpY2soZGF0YSkgew0KICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7DQogICAgICAgIHRoaXMuaW5wdXRWYWwgPSBkYXRhLnZhbHVlDQogICAgICAgIHRoaXMuJHJlZnMudHJlZXNlbGVjdC5ibHVyKCkNCiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7DQogICAgICAgICAgdGhpcy4kdmFsaWRhdG9yLnZhbGlkYXRlKCkNCiAgICAgICAgfSkNCiAgICAgIH0NCg0KICAgIH0sDQogICAgZmlsdGVyTm9kZSh2YWx1ZSwgZGF0YSkgew0KICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHRydWUNCiAgICAgIHJldHVybiBkYXRhLnZhbHVlLmluZGV4T2YodmFsdWUpICE9PSAtMQ0KICAgIH0sDQogICAgZmlsdGVyTWV0aG9kKHF1ZXJ5KSB7DQogICAgICB0aGlzLiRyZWZzLnRyZWVzZWxlY3RFbFRyZWUuZmlsdGVyKHF1ZXJ5KQ0KICAgIH0sDQogICAgcmVtb3RlTWV0aG9kOiBmdW5jdGlvbih2YWwpIHsNCiAgICAgIGlmICh2YWwpIHsNCiAgICAgICAgdGhpcy5zZWFyY2goZmFsc2UsIHZhbCkNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHRoaXMucGFyYW0gPSAnJw0KICAgICAgICB0aGlzLnNlYXJjaCgpDQogICAgICB9DQogICAgfSwNCiAgICBoYW5kbGVDdXJyZW50Q2hhbmdlOiBmdW5jdGlvbihjdXJyZW50UGFnZSkgew0KICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IGN1cnJlbnRQYWdlDQogICAgICB0aGlzLnNlYXJjaChjdXJyZW50UGFnZSkNCiAgICB9LA0KICAgIHNlYXJjaChjdXJyZW50UGFnZSwgcGFyYW0pIHsNCiAgICAgIGlmICghdGhpcy5jb25maWcpIHJldHVybg0KICAgICAgdmFyIHN0ciA9IHRoaXMuY29uZmlnDQogICAgICBjb25zdCBfdGhpcyA9IHRoaXMNCiAgICAgIHZhciBnYW5nZWQgPSB0aGlzLmdhbmdlZA0KICAgICAgdGhpcy5wYWdlU2l6ZSA9IHN0ci5wYWdlU2l6ZQ0KICAgICAgLy8gaWYoc3RyLm5lZWRQYWdlID09PSAxKXsNCiAgICAgIHZhciBwYWdlQmVhbiA9IHsNCiAgICAgICAgcGFnZUJlYW46IHsNCiAgICAgICAgICBwYWdlOiBjdXJyZW50UGFnZSA/IGN1cnJlbnRQYWdlIDogMSwNCiAgICAgICAgICBwYWdlU2l6ZTogc3RyLnBhZ2VTaXplLA0KICAgICAgICAgIHNob3dUb3RhbDogJ3RydWUnDQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIGlmIChwYXJhbSkgew0KICAgICAgICBpZiAoc3RyLmRzVHlwZSA9PSAnZGF0YVNvdXJjZScpIHsNCiAgICAgICAgICBsZXQgQmFzZTY0ID0gcmVxdWlyZSgnanMtYmFzZTY0JykuQmFzZTY0DQogICAgICAgICAgc3RyLmN1cnJlbnRQYWdlID0gY3VycmVudFBhZ2UgPyBjdXJyZW50UGFnZSA6IDENCiAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoZ2FuZ2VkLmJpbmQpID09PSAne30nKSB7DQogICAgICAgICAgICBzdHIucXVlcnlEYXRhID0gQmFzZTY0LmVuY29kZSgNCiAgICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoW3trZXk6IGdhbmdlZC52YWx1ZUJpbmQsIHZhbHVlOiBwYXJhbX1dKQ0KICAgICAgICAgICAgKQ0KICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICB2YXIgcXVlcnlEYXRhID0gW10NCiAgICAgICAgICAgIGZvciAodmFyIGtleSBpbiBnYW5nZWQuYmluZCkgew0KICAgICAgICAgICAgICBjb25zdCBwSW5zdCA9IHV0aWxzLmdldE9ubGluZUZvcm1JbnN0YW5jZShfdGhpcykNCiAgICAgICAgICAgICAgY29uc3QgdmFsID0gdXRpbHMuZ2V0VmFsdWVCeVBhdGgocEluc3QsIGdhbmdlZC5iaW5kW2tleV0pDQogICAgICAgICAgICAgIGlmICh2YWwpIHsNCiAgICAgICAgICAgICAgICBxdWVyeURhdGEucHVzaCh7a2V5OiBrZXksIHZhbHVlOiB2YWx9KQ0KICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHF1ZXJ5RGF0YS5wdXNoKHtrZXk6IGtleSwgdmFsdWU6IHBhcmFtfSkNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgc3RyLnF1ZXJ5RGF0YSA9IEJhc2U2NC5lbmNvZGUoSlNPTi5zdHJpbmdpZnkocXVlcnlEYXRhKSkNCiAgICAgICAgICB9DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgdmFyIHRlbXBsYXRlUGEgPSB0aGlzLmNvbmZpZy5kYXRhUGFyYW0NCiAgICAgICAgICBpZiAodGhpcy5jb25maWcucmVxdWVzdFR5cGUgPT0gJ1BPU1QnICYmIHRlbXBsYXRlUGEpIHsNCiAgICAgICAgICAgIHZhciBjb25kaXRpb25maWVsZCA9IEpTT04ucGFyc2Uoc3RyLmNvbmRpdGlvbmZpZWxkKQ0KICAgICAgICAgICAgY29uZGl0aW9uZmllbGQuZm9yRWFjaChlbGUgPT4gew0KICAgICAgICAgICAgICBjb25zdCBwSW5zdCA9IHV0aWxzLmdldE9ubGluZUZvcm1JbnN0YW5jZShfdGhpcykNCiAgICAgICAgICAgICAgY29uc3QgdmFsID0gdXRpbHMuZ2V0VmFsdWVCeVBhdGgocEluc3QsIGdhbmdlZC5iaW5kW2VsZS5maWVsZF0pDQogICAgICAgICAgICAgIGlmICh2YWwpIHsNCiAgICAgICAgICAgICAgICB0ZW1wbGF0ZVBhID0gdGVtcGxhdGVQYS5yZXBsYWNlKA0KICAgICAgICAgICAgICAgICAgbmV3IFJlZ0V4cCgnXFx7JyArIGVsZS5maWVsZCArICdcXH0nLCAnZycpLA0KICAgICAgICAgICAgICAgICAgdmFsDQogICAgICAgICAgICAgICAgKQ0KICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRlbXBsYXRlUGEgPSB0ZW1wbGF0ZVBhLnJlcGxhY2UoDQogICAgICAgICAgICAgICAgICBuZXcgUmVnRXhwKCdcXHsnICsgZWxlLmZpZWxkICsgJ1xcfScsICdnJyksDQogICAgICAgICAgICAgICAgICBwYXJhbQ0KICAgICAgICAgICAgICAgICkNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSkNCiAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIH0NCiAgICAgICAgICBzdHIucGFnZUJlYW4gPSB1dGlscy5wYXJzZVRvSnNvbih0ZW1wbGF0ZVBhKQ0KICAgICAgICB9DQogICAgICB9IGVsc2Ugew0KICAgICAgICBzdHIucGFnZUJlYW4gPSBwYWdlQmVhbg0KICAgICAgICBzdHIuY3VycmVudFBhZ2UgPSBjdXJyZW50UGFnZSA/IGN1cnJlbnRQYWdlIDogMQ0KICAgICAgICBzdHIucXVlcnlEYXRhID0gJycNCiAgICAgIH0NCiAgICAgIC8vfQ0KICAgICAgdGhpcy4kc3RvcmUuZGlzcGF0Y2goJ2Zvcm0vc2VsZWN0UXVlcnknLCBzdHIpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgaWYgKHRoaXMuY29uZmlnICYmIHRoaXMuY29uZmlnLmRzVHlwZSA9PT0gJ3Jlc3RmdWwnKSB7DQogICAgICAgICAgX3RoaXMub3B0aW9ucyA9IHJlcy5yb3dzDQogICAgICAgICAgcmV0dXJuDQogICAgICAgIH0NCiAgICAgICAgX3RoaXMudG90YWwgPSByZXMudG90YWwNCiAgICAgICAgX3RoaXMub3B0aW9ucyA9IFtdDQogICAgICAgIHJlcy5yb3dzLmZvckVhY2gobSA9PiB7DQogICAgICAgICAgdmFyIG9wdGlvbiA9IHt9DQogICAgICAgICAgaWYgKF90aGlzLmdhbmdlZC52YWx1ZUJpbmQpIHsNCiAgICAgICAgICAgIG9wdGlvbi5rZXkgPSBtW2dhbmdlZC52YWx1ZUJpbmRdDQogICAgICAgICAgfQ0KICAgICAgICAgIGlmIChfdGhpcy5nYW5nZWQubGFiZWxCaW5kKSB7DQogICAgICAgICAgICBvcHRpb24udmFsdWUgPSBtW2dhbmdlZC5sYWJlbEJpbmRdDQogICAgICAgICAgfQ0KICAgICAgICAgIF90aGlzLm9wdGlvbnMucHVzaChvcHRpb24pDQogICAgICAgIH0pDQogICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgX3RoaXMub3B0aW9ucy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgIGlmIChfdGhpcy5pbnB1dFZhbG5ldyA9PSBfdGhpcy5vcHRpb25zW2ldLmtleSkgew0KICAgICAgICAgICAgX3RoaXMuaW5wdXRWYWxuZXcgPSBfdGhpcy5vcHRpb25zW2ldLnZhbHVlDQogICAgICAgICAgICBicmVhaw0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgfSkNCiAgICB9DQogIH0NCn0NCg=="},null]}