{"remainingRequest":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\teachOffice\\shiftSemester\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\src\\views\\teachOffice\\shiftSemester\\index.vue","mtime":1787648748789},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\babel-loader\\lib\\index.js","mtime":1787309793142},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1787309791955},{"path":"C:\\Users\\Admin\\Desktop\\education\\frontend\\node_modules\\vue-loader\\lib\\index.js","mtime":1787309793790}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgQ2xhc3NTZW1lc3RlckRldGFpbERpYWxvZyBmcm9tICcuL0NsYXNzU2VtZXN0ZXJEZXRhaWxEaWFsb2cudnVlJw0KaW1wb3J0IENsYXNzQ2FsZW5kYXJEaWFsb2cgZnJvbSAnLi9DbGFzc0NhbGVuZGFyRGlhbG9nLnZ1ZScNCmltcG9ydCB7IGxpc3RTZW1lc3RlciwgYWxsU2VtZXN0ZXIsIGFkZFNlbWVzdGVyLCB1cGRhdGVTZW1lc3RlciwgZGVsU2VtZXN0ZXIsIGJhdGNoRGVsZXRlU2VtZXN0ZXIsIGJhdGNoVXBkYXRlRGF0ZVJhbmdlLCBiYXRjaFVwZGF0ZUp4cndiaCwgYmF0Y2hBZGRGcm9tRWxlY3RpdmUgfSBmcm9tICdAL2FwaS9zdHVkZW50UmVjb3Jkcy9zZW1lc3RlcicNCmltcG9ydCB7IGxpc3RBbGxTZW1lc3RlciB9IGZyb20gJ0AvYXBpL3RlYWNoQnVzaW5lc3Mvc2VtZXN0ZXInDQppbXBvcnQgeyBsaXN0VGVhY2hpbmdUYXNrIH0gZnJvbSAnQC9hcGkvdGVhY2hCdXNpbmVzcy90ZWFjaGluZ1Rhc2snDQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ1NoaWZ0U2VtZXN0ZXInLA0KICBjb21wb25lbnRzOiB7DQogICAgQ2xhc3NTZW1lc3RlckRldGFpbERpYWxvZywNCiAgICBDbGFzc0NhbGVuZGFyRGlhbG9nDQogIH0sDQogIGRhdGEoKSB7DQogICAgcmV0dXJuIHsNCiAgICAgIGxvYWRpbmc6IGZhbHNlLA0KICAgICAgc2F2aW5nOiBmYWxzZSwNCg0KICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5p+l6K+i5p2h5Lu2ID09PT09PT09PT09PT09PT09PT09DQogICAgICBzZWFyY2hGb3JtOiB7IHh5ZGJoOiAnJyB9LA0KICAgICAgZmlsdGVyWWVhcjogdW5kZWZpbmVkLA0KICAgICAgeWVhckZpbHRlck9wdGlvbnM6IFtdLA0KDQogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDliJfooajkuI7liIbpobUgPT09PT09PT09PT09PT09PT09PT0NCiAgICAgIHRhYmxlRGF0YTogW10sDQogICAgICBzZWxlY3Rpb246IFtdLA0KICAgICAgY3VycmVudFJvdzogbnVsbCwNCiAgICAgIHBhZ2VOdW06IDEsDQogICAgICBwYWdlU2l6ZTogMTAsDQogICAgICB0b3RhbDogMCwNCg0KICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5LiL5ouJ5pWw5o2uID09PT09PT09PT09PT09PT09PT09DQogICAgICAvKiog5bm05bqm5LiL5ouJ77yI5p2l6IeqIC9zZW1lc3Rlci9hbGzvvIkgKi8NCiAgICAgIHllYXJPcHRpb25zOiBbXSwNCiAgICAgIC8qKiDmlZnlrabku7vliqHkuIvmi4nvvIh7IGJoLCByd21jIH3vvIkgKi8NCiAgICAgIHRhc2tPcHRpb25zOiBbXSwNCiAgICAgIC8qKiDlhajpg6jnj63mrKHlrabmnJ/vvIjnlKjkuo7nj63ljoblpI3liLbnm67moIfpgInmi6nvvIkgKi8NCiAgICAgIHNlbWVzdGVyT3B0aW9uczogW10sDQoNCiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09IOePreasoeWtpuacn+aWsOWini/nvJbovpEgPT09PT09PT09PT09PT09PT09PT0NCiAgICAgIGRldGFpbFZpc2libGU6IGZhbHNlLA0KICAgICAgZGV0YWlsTW9kZTogJ2FkZCcsDQogICAgICBkZXRhaWxTZW1lc3RlcjogbnVsbCwNCiAgICAgIGRldGFpbFRlYW1JbmZvOiBudWxsLA0KDQogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDnj63ljobnrqHnkIYgPT09PT09PT09PT09PT09PT09PT0NCiAgICAgIGNhbGVuZGFyVmlzaWJsZTogZmFsc2UsDQogICAgICBjYWxlbmRhclNlbWVzdGVyOiBudWxsLA0KDQogICAgICAvLyA9PT09PT09PT09PT09PT09PT09PSDmibnph4/liJvlu7rnj63mrKHlrabmnJ8gPT09PT09PT09PT09PT09PT09PT0NCiAgICAgIGJhdGNoQWRkVmlzaWJsZTogZmFsc2UsDQogICAgICBiYXRjaEFkZEZvcm06IHsgbmQ6IHVuZGVmaW5lZCwgeHFkYzogJycsIHN0YXJ0VGltZTogJycsIGVuZFRpbWU6ICcnIH0sDQogICAgICBiYXRjaEFkZFJ1bGVzOiB7DQogICAgICAgIG5kOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+mAieaLqeW5tOW6picsIHRyaWdnZXI6ICdjaGFuZ2UnIH1dLA0KICAgICAgICB4cWRjOiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+mAieaLqeWtpuacnycsIHRyaWdnZXI6ICdjaGFuZ2UnIH1dLA0KICAgICAgICBzdGFydFRpbWU6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup5byA5aeL5pel5pyfJywgdHJpZ2dlcjogJ2NoYW5nZScgfV0sDQogICAgICAgIGVuZFRpbWU6IFt7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiAn6K+36YCJ5oup57uT5p2f5pel5pyfJywgdHJpZ2dlcjogJ2NoYW5nZScgfV0NCiAgICAgIH0sDQoNCiAgICAgIC8vID09PT09PT09PT09PT09PT09PT09IOW/q+mAn+iuvuWumuWtpuacn+aXpeacnyA9PT09PT09PT09PT09PT09PT09PQ0KICAgICAgZGF0ZVJhbmdlVmlzaWJsZTogZmFsc2UsDQogICAgICBkYXRlUmFuZ2VGb3JtOiB7IGt4cnE6ICcnLCBqc3JxOiAnJyB9LA0KICAgICAgZGF0ZVJhbmdlUnVsZXM6IHsNCiAgICAgICAga3hycTogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fpgInmi6nlvIDlrabml6XmnJ8nLCB0cmlnZ2VyOiAnY2hhbmdlJyB9XSwNCiAgICAgICAganNycTogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fpgInmi6nnu5PmnZ/ml6XmnJ8nLCB0cmlnZ2VyOiAnY2hhbmdlJyB9XQ0KICAgICAgfSwNCg0KICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT0g5om56YeP6K6+572u5pWZ5a2m5Lu75YqhID09PT09PT09PT09PT09PT09PT09DQogICAgICBqeHJ3VmlzaWJsZTogZmFsc2UsDQogICAgICBqeHJ3Rm9ybTogeyBqeHJ3Ymg6IHVuZGVmaW5lZCB9LA0KICAgICAganhyd1J1bGVzOiB7DQogICAgICAgIGp4cndiaDogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fpgInmi6nmlZnlrabku7vliqEnLCB0cmlnZ2VyOiAnY2hhbmdlJyB9XQ0KICAgICAgfQ0KICAgIH0NCiAgfSwNCiAgY29tcHV0ZWQ6IHsNCiAgICAvKiog5pys5Zyw5oyJ5bm05bqm6L+H5ruk77yI5ZCO56uvIC9zZW1lc3Rlci9saXN0IOS7heaUr+aMgSB4eWRiaCDmqKHns4rnrZvpgInvvIkgKi8NCiAgICBkaXNwbGF5RGF0YSgpIHsNCiAgICAgIGlmICghdGhpcy5maWx0ZXJZZWFyKSByZXR1cm4gdGhpcy50YWJsZURhdGENCiAgICAgIHJldHVybiB0aGlzLnRhYmxlRGF0YS5maWx0ZXIoaXRlbSA9PiBTdHJpbmcoaXRlbS5uZCkgPT09IFN0cmluZyh0aGlzLmZpbHRlclllYXIpKQ0KICAgIH0NCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLmxvYWRZZWFyT3B0aW9ucygpDQogICAgdGhpcy5sb2FkVGFza09wdGlvbnMoKQ0KICAgIHRoaXMubG9hZFNlbWVzdGVyT3B0aW9ucygpDQogICAgdGhpcy5sb2FkTGlzdCgpDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PSDmoLzlvI/ljJYgPT09PT09PT09PT09PT09PT09PT0gKi8NCiAgICBmbXREYXRlKHZhbCkgew0KICAgICAgaWYgKCF2YWwpIHJldHVybiAnLScNCiAgICAgIHJldHVybiBTdHJpbmcodmFsKS5zbGljZSgwLCAxMCkNCiAgICB9LA0KICAgIHhxZGNMYWJlbCh2YWwpIHsNCiAgICAgIGlmICh2YWwgPT09IDEgfHwgdmFsID09PSAnMScpIHJldHVybiAn56ysMeWtpuacnycNCiAgICAgIGlmICh2YWwgPT09IDIgfHwgdmFsID09PSAnMicpIHJldHVybiAn56ysMuWtpuacnycNCiAgICAgIGlmICh2YWwgPT09IDMgfHwgdmFsID09PSAnMycpIHJldHVybiAn56ysM+WtpuacnycNCiAgICAgIHJldHVybiB2YWwgIT09IHVuZGVmaW5lZCAmJiB2YWwgIT09IG51bGwgJiYgdmFsICE9PSAnJyA/IGDnrKwke3ZhbH3lrabmnJ9gIDogJy0nDQogICAgfSwNCiAgICAvKiog5pWZ5a2m5Lu75Yqh57yW5Y+3IOKGkiDlkI3np7AgKi8NCiAgICB0YXNrTmFtZShiaCkgew0KICAgICAgaWYgKCFiaCkgcmV0dXJuICctJw0KICAgICAgY29uc3Qgb3B0ID0gdGhpcy50YXNrT3B0aW9ucy5maW5kKG8gPT4gby5iaCA9PT0gYmgpDQogICAgICByZXR1cm4gb3B0ID8gb3B0LnJ3bWMgOiBiaA0KICAgIH0sDQogICAgY2xlYW5QYXlsb2FkKG9iaikgew0KICAgICAgY29uc3QgcGF5bG9hZCA9IHt9DQogICAgICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IHsNCiAgICAgICAgY29uc3QgdmFsdWUgPSBvYmpba2V5XQ0KICAgICAgICBpZiAodmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICBwYXlsb2FkW2tleV0gPSB2YWx1ZQ0KICAgICAgICB9DQogICAgICB9KQ0KICAgICAgcmV0dXJuIHBheWxvYWQNCiAgICB9LA0KDQogICAgLyogPT09PT09PT09PT09PT09PT09PT0g5LiL5ouJ5pWw5o2u5Yqg6L29ID09PT09PT09PT09PT09PT09PT09ICovDQogICAgbG9hZFllYXJPcHRpb25zKCkgew0KICAgICAgbGlzdEFsbFNlbWVzdGVyKCkudGhlbihyZXMgPT4gew0KICAgICAgICBjb25zdCBsaXN0ID0gKHJlcyAmJiByZXMuZGF0YSkgfHwgW10NCiAgICAgICAgY29uc3QgeWVhcnMgPSBsaXN0Lm1hcCh4ID0+IHgubmQpLmZpbHRlcih2ID0+IHYgIT09IHVuZGVmaW5lZCAmJiB2ICE9PSBudWxsICYmIHYgIT09ICcnKQ0KICAgICAgICB0aGlzLnllYXJPcHRpb25zID0gWy4uLm5ldyBTZXQoeWVhcnMpXS5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYSkgLSBOdW1iZXIoYikpDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICAgIHRoaXMueWVhck9wdGlvbnMgPSBbXQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGxvYWRUYXNrT3B0aW9ucygpIHsNCiAgICAgIGxpc3RUZWFjaGluZ1Rhc2soeyBwYWdlTnVtOiAxLCBwYWdlU2l6ZTogMTAwMCB9KS50aGVuKHJlcyA9PiB7DQogICAgICAgIGNvbnN0IGxpc3QgPSAocmVzICYmIHJlcy5kYXRhICYmIHJlcy5kYXRhLnJlY29yZHMpIHx8IFtdDQogICAgICAgIHRoaXMudGFza09wdGlvbnMgPSBsaXN0LmZpbHRlcihvID0+IG8uYmgpDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICAgIHRoaXMudGFza09wdGlvbnMgPSBbXQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGxvYWRTZW1lc3Rlck9wdGlvbnMoKSB7DQogICAgICBhbGxTZW1lc3RlcigpLnRoZW4ocmVzID0+IHsNCiAgICAgICAgdGhpcy5zZW1lc3Rlck9wdGlvbnMgPSAocmVzICYmIHJlcy5kYXRhKSB8fCBbXQ0KICAgICAgfSkuY2F0Y2goKCkgPT4gew0KICAgICAgICB0aGlzLnNlbWVzdGVyT3B0aW9ucyA9IFtdDQogICAgICB9KQ0KICAgIH0sDQoNCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PSDliJfooajliqDovb0gPT09PT09PT09PT09PT09PT09PT0gKi8NCiAgICBsb2FkTGlzdCgpIHsNCiAgICAgIHRoaXMubG9hZGluZyA9IHRydWUNCiAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5jbGVhblBheWxvYWQoew0KICAgICAgICBwYWdlTnVtOiB0aGlzLnBhZ2VOdW0sDQogICAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLA0KICAgICAgICB4eWRiaDogdGhpcy5zZWFyY2hGb3JtLnh5ZGJoDQogICAgICB9KQ0KICAgICAgbGlzdFNlbWVzdGVyKHF1ZXJ5KS50aGVuKHJlcyA9PiB7DQogICAgICAgIGNvbnN0IGRhdGEgPSAocmVzICYmIHJlcy5kYXRhKSB8fCB7fQ0KICAgICAgICB0aGlzLnRhYmxlRGF0YSA9IGRhdGEucmVjb3JkcyB8fCBbXQ0KICAgICAgICB0aGlzLnRvdGFsID0gZGF0YS50b3RhbCB8fCAwDQogICAgICAgIHRoaXMuYnVpbGRZZWFyRmlsdGVyT3B0aW9ucygpDQogICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlDQogICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICAgIHRoaXMudGFibGVEYXRhID0gW10NCiAgICAgICAgdGhpcy50b3RhbCA9IDANCiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2UNCiAgICAgIH0pDQogICAgfSwNCiAgICAvKiog5pys5Zyw5bm05bqm6L+H5ruk5LiL5ouJ77yI5LuO5b2T5YmN5pWw5o2u5Yqo5oCB55Sf5oiQ77yM6YG/5YWN56Gs57yW56CB77yJICovDQogICAgYnVpbGRZZWFyRmlsdGVyT3B0aW9ucygpIHsNCiAgICAgIGNvbnN0IHllYXJzID0gdGhpcy50YWJsZURhdGEubWFwKHIgPT4gci5uZCkuZmlsdGVyKHYgPT4gdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09IG51bGwgJiYgdiAhPT0gJycpDQogICAgICB0aGlzLnllYXJGaWx0ZXJPcHRpb25zID0gWy4uLm5ldyBTZXQoeWVhcnMpXS5zb3J0KChhLCBiKSA9PiBOdW1iZXIoYSkgLSBOdW1iZXIoYikpDQogICAgfSwNCiAgICBoYW5kbGVZZWFyQ2hhbmdlKCkgew0KICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4gew0KICAgICAgICBpZiAodGhpcy4kcmVmcy50YWJsZVJlZikgdGhpcy4kcmVmcy50YWJsZVJlZi5zZXRDdXJyZW50Um93KG51bGwpDQogICAgICAgIHRoaXMuY3VycmVudFJvdyA9IG51bGwNCiAgICAgIH0pDQogICAgfSwNCiAgICBoYW5kbGVTaXplQ2hhbmdlKHNpemUpIHsNCiAgICAgIHRoaXMucGFnZVNpemUgPSBzaXplDQogICAgICB0aGlzLmxvYWRMaXN0KCkNCiAgICB9LA0KICAgIGhhbmRsZVBhZ2VDaGFuZ2UocGFnZSkgew0KICAgICAgdGhpcy5wYWdlTnVtID0gcGFnZQ0KICAgICAgdGhpcy5sb2FkTGlzdCgpDQogICAgfSwNCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2Uocm93cykgew0KICAgICAgdGhpcy5zZWxlY3Rpb24gPSByb3dzDQogICAgfSwNCiAgICBoYW5kbGVDdXJyZW50Q2hhbmdlKHJvdykgew0KICAgICAgdGhpcy5jdXJyZW50Um93ID0gcm93DQogICAgfSwNCg0KICAgIC8qID09PT09PT09PT09PT09PT09PT09IOafpeivoiAvIOmHjee9riA9PT09PT09PT09PT09PT09PT09PSAqLw0KICAgIGhhbmRsZVF1ZXJ5KCkgew0KICAgICAgdGhpcy5wYWdlTnVtID0gMQ0KICAgICAgdGhpcy5sb2FkTGlzdCgpDQogICAgfSwNCiAgICBoYW5kbGVSZXNldCgpIHsNCiAgICAgIHRoaXMuc2VhcmNoRm9ybS54eWRiaCA9ICcnDQogICAgICB0aGlzLmZpbHRlclllYXIgPSB1bmRlZmluZWQNCiAgICAgIHRoaXMucGFnZU51bSA9IDENCiAgICAgIHRoaXMubG9hZExpc3QoKQ0KICAgIH0sDQoNCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PSDmlrDlop4gLyDnvJbovpEgPT09PT09PT09PT09PT09PT09PT0gKi8NCiAgICBoYW5kbGVBZGQoKSB7DQogICAgICB0aGlzLmRldGFpbE1vZGUgPSAnYWRkJw0KICAgICAgdGhpcy5kZXRhaWxTZW1lc3RlciA9IG51bGwNCiAgICAgIHRoaXMuZGV0YWlsVGVhbUluZm8gPSBudWxsDQogICAgICB0aGlzLmRldGFpbFZpc2libGUgPSB0cnVlDQogICAgfSwNCiAgICBoYW5kbGVFZGl0KHJvdykgew0KICAgICAgY29uc3QgdGFyZ2V0ID0gcm93IHx8IHRoaXMuY3VycmVudFJvdw0KICAgICAgaWYgKCF0YXJnZXQpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7flhYjpgInmi6nkuIDmnaHnj63mrKHlrabmnJ/kv6Hmga8nKQ0KICAgICAgICByZXR1cm4NCiAgICAgIH0NCiAgICAgIHRoaXMuZGV0YWlsTW9kZSA9ICdlZGl0Jw0KICAgICAgdGhpcy5kZXRhaWxTZW1lc3RlciA9IHRhcmdldA0KICAgICAgdGhpcy5kZXRhaWxUZWFtSW5mbyA9IG51bGwNCiAgICAgIHRoaXMuZGV0YWlsVmlzaWJsZSA9IHRydWUNCiAgICB9LA0KICAgIGhhbmRsZURldGFpbFN1Ym1pdChwYXlsb2FkKSB7DQogICAgICB0aGlzLnNhdmluZyA9IHRydWUNCiAgICAgIGNvbnN0IHJlcSA9IHRoaXMuZGV0YWlsTW9kZSA9PT0gJ2VkaXQnDQogICAgICAgID8gdXBkYXRlU2VtZXN0ZXIocGF5bG9hZCkNCiAgICAgICAgOiBhZGRTZW1lc3RlcihwYXlsb2FkKQ0KICAgICAgcmVxLnRoZW4oKCkgPT4gew0KICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlDQogICAgICAgIHRoaXMuZGV0YWlsVmlzaWJsZSA9IGZhbHNlDQogICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcyh0aGlzLmRldGFpbE1vZGUgPT09ICdlZGl0JyA/ICfnj63mrKHlrabmnJ/lt7Lmm7TmlrAnIDogJ+ePreasoeWtpuacn+W3suaWsOWinicpDQogICAgICAgIHRoaXMubG9hZExpc3QoKQ0KICAgICAgICB0aGlzLmxvYWRTZW1lc3Rlck9wdGlvbnMoKQ0KICAgICAgfSkuY2F0Y2goKCkgPT4gew0KICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlDQogICAgICB9KQ0KICAgIH0sDQoNCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PSDliKDpmaQgPT09PT09PT09PT09PT09PT09PT0gKi8NCiAgICBoYW5kbGVEZWxldGUoKSB7DQogICAgICBpZiAoIXRoaXMuc2VsZWN0aW9uLmxlbmd0aCkgew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+WFiOWLvumAieimgeWIoOmZpOeahOePreasoeWtpuacnycpDQogICAgICAgIHJldHVybg0KICAgICAgfQ0KICAgICAgdGhpcy4kY29uZmlybShg56Gu5a6a5Yig6Zmk6YCJ5Lit55qEICR7dGhpcy5zZWxlY3Rpb24ubGVuZ3RofSDmnaHnj63mrKHlrabmnJ/lkJfvvJ/liKDpmaTlkI7lhbbkuIvnj63ljoborrDlvZXlsIbkuIDlubbliKDpmaTjgIJgLCAn5o+Q56S6Jywgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICB0eXBlOiAnd2FybmluZycNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICBjb25zdCBiaExpc3QgPSB0aGlzLnNlbGVjdGlvbi5tYXAociA9PiByLmJoKQ0KICAgICAgICBiYXRjaERlbGV0ZVNlbWVzdGVyKGJoTGlzdCkudGhlbigoKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKCflt7LliKDpmaQnKQ0KICAgICAgICAgIHRoaXMubG9hZExpc3QoKQ0KICAgICAgICAgIHRoaXMubG9hZFNlbWVzdGVyT3B0aW9ucygpDQogICAgICAgIH0pDQogICAgICB9KS5jYXRjaCgoKSA9PiB7fSkNCiAgICB9LA0KICAgIGhhbmRsZURlbGV0ZVJvdyhyb3cpIHsNCiAgICAgIHRoaXMuJGNvbmZpcm0oYOehruWumuWIoOmZpOePreasoeWtpuacn+OAjCR7cm93Lnh5ZGJoIHx8IHJvdy5iaH3jgI3lkJfvvJ/liKDpmaTlkI7lhbbkuIvnj63ljoborrDlvZXlsIbkuIDlubbliKDpmaTjgIJgLCAn5o+Q56S6Jywgew0KICAgICAgICBjb25maXJtQnV0dG9uVGV4dDogJ+ehruWumicsDQogICAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICflj5bmtognLA0KICAgICAgICB0eXBlOiAnd2FybmluZycNCiAgICAgIH0pLnRoZW4oKCkgPT4gew0KICAgICAgICBkZWxTZW1lc3Rlcihyb3cuYmgpLnRoZW4oKCkgPT4gew0KICAgICAgICAgIHRoaXMuJG1lc3NhZ2Uuc3VjY2Vzcygn5bey5Yig6ZmkJykNCiAgICAgICAgICB0aGlzLmxvYWRMaXN0KCkNCiAgICAgICAgICB0aGlzLmxvYWRTZW1lc3Rlck9wdGlvbnMoKQ0KICAgICAgICB9KQ0KICAgICAgfSkuY2F0Y2goKCkgPT4ge30pDQogICAgfSwNCg0KICAgIC8qID09PT09PT09PT09PT09PT09PT09IOe8lui+keePreWOhiA9PT09PT09PT09PT09PT09PT09PSAqLw0KICAgIGhhbmRsZUVkaXRDYWxlbmRhcihyb3cpIHsNCiAgICAgIGNvbnN0IHRhcmdldCA9IHJvdyB8fCB0aGlzLmN1cnJlbnRSb3cNCiAgICAgIGlmICghdGFyZ2V0KSB7DQogICAgICAgIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn6K+35YWI5Zyo5YiX6KGo5Lit6YCJ5oup5LiA5p2h54+t5qyh5a2m5pyf5L+h5oGvJykNCiAgICAgICAgcmV0dXJuDQogICAgICB9DQogICAgICB0aGlzLmNhbGVuZGFyU2VtZXN0ZXIgPSB0YXJnZXQNCiAgICAgIHRoaXMuY2FsZW5kYXJWaXNpYmxlID0gdHJ1ZQ0KICAgIH0sDQoNCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PSDmibnph4/liJvlu7rnj63mrKHlrabmnJ8gPT09PT09PT09PT09PT09PT09PT0gKi8NCiAgICBoYW5kbGVCYXRjaEFkZCgpIHsNCiAgICAgIHRoaXMuYmF0Y2hBZGRGb3JtID0geyBuZDogdGhpcy55ZWFyT3B0aW9uc1swXSB8fCB1bmRlZmluZWQsIHhxZGM6ICcnLCBzdGFydFRpbWU6ICcnLCBlbmRUaW1lOiAnJyB9DQogICAgICB0aGlzLmJhdGNoQWRkVmlzaWJsZSA9IHRydWUNCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgaWYgKHRoaXMuJHJlZnMuYmF0Y2hBZGRGb3JtUmVmKSB0aGlzLiRyZWZzLmJhdGNoQWRkRm9ybVJlZi5jbGVhclZhbGlkYXRlKCkNCiAgICAgIH0pDQogICAgfSwNCiAgICBoYW5kbGVCYXRjaEFkZFN1Ym1pdCgpIHsNCiAgICAgIHRoaXMuJHJlZnMuYmF0Y2hBZGRGb3JtUmVmLnZhbGlkYXRlKHZhbGlkID0+IHsNCiAgICAgICAgaWYgKCF2YWxpZCkgcmV0dXJuDQogICAgICAgIGNvbnN0IGYgPSB0aGlzLmJhdGNoQWRkRm9ybQ0KICAgICAgICB0aGlzLnNhdmluZyA9IHRydWUNCiAgICAgICAgYmF0Y2hBZGRGcm9tRWxlY3RpdmUoew0KICAgICAgICAgIG5kOiBmLm5kLA0KICAgICAgICAgIHhxZGM6IGYueHFkYywNCiAgICAgICAgICBzdGFydFRpbWU6IGYuc3RhcnRUaW1lLA0KICAgICAgICAgIGVuZFRpbWU6IGYuZW5kVGltZQ0KICAgICAgICB9KS50aGVuKHJlcyA9PiB7DQogICAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZQ0KICAgICAgICAgIHRoaXMuYmF0Y2hBZGRWaXNpYmxlID0gZmFsc2UNCiAgICAgICAgICBjb25zdCBjb3VudCA9IChyZXMgJiYgcmVzLmRhdGEpIHx8IDANCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoYOW3suWIm+W7uiAke2NvdW50fSDkuKrnj63mrKHlrabmnJ9gKQ0KICAgICAgICAgIHRoaXMubG9hZExpc3QoKQ0KICAgICAgICAgIHRoaXMubG9hZFNlbWVzdGVyT3B0aW9ucygpDQogICAgICAgIH0pLmNhdGNoKCgpID0+IHsNCiAgICAgICAgICB0aGlzLnNhdmluZyA9IGZhbHNlDQogICAgICAgIH0pDQogICAgICB9KQ0KICAgIH0sDQoNCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PSDlv6vpgJ/orr7lrprlrabmnJ/ml6XmnJ8gPT09PT09PT09PT09PT09PT09PT0gKi8NCiAgICBoYW5kbGVRdWlja1NldERhdGVzKCkgew0KICAgICAgaWYgKCF0aGlzLnNlbGVjdGlvbi5sZW5ndGgpIHsNCiAgICAgICAgdGhpcy4kbWVzc2FnZS53YXJuaW5nKCfor7flhYjli77pgInopoHorr7lrprml6XmnJ/nmoTnj63mrKHlrabmnJ8nKQ0KICAgICAgICByZXR1cm4NCiAgICAgIH0NCiAgICAgIHRoaXMuZGF0ZVJhbmdlRm9ybSA9IHsga3hycTogJycsIGpzcnE6ICcnIH0NCiAgICAgIHRoaXMuZGF0ZVJhbmdlVmlzaWJsZSA9IHRydWUNCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgaWYgKHRoaXMuJHJlZnMuZGF0ZVJhbmdlRm9ybVJlZikgdGhpcy4kcmVmcy5kYXRlUmFuZ2VGb3JtUmVmLmNsZWFyVmFsaWRhdGUoKQ0KICAgICAgfSkNCiAgICB9LA0KICAgIGhhbmRsZURhdGVSYW5nZVN1Ym1pdCgpIHsNCiAgICAgIHRoaXMuJHJlZnMuZGF0ZVJhbmdlRm9ybVJlZi52YWxpZGF0ZSh2YWxpZCA9PiB7DQogICAgICAgIGlmICghdmFsaWQpIHJldHVybg0KICAgICAgICBjb25zdCBmID0gdGhpcy5kYXRlUmFuZ2VGb3JtDQogICAgICAgIHRoaXMuc2F2aW5nID0gdHJ1ZQ0KICAgICAgICBiYXRjaFVwZGF0ZURhdGVSYW5nZSh7DQogICAgICAgICAgYmhMaXN0OiB0aGlzLnNlbGVjdGlvbi5tYXAociA9PiByLmJoKSwNCiAgICAgICAgICB4cWtzc2o6IGYua3hycSwNCiAgICAgICAgICB4cWpzc2o6IGYuanNycQ0KICAgICAgICB9KS50aGVuKHJlcyA9PiB7DQogICAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZQ0KICAgICAgICAgIHRoaXMuZGF0ZVJhbmdlVmlzaWJsZSA9IGZhbHNlDQogICAgICAgICAgY29uc3QgY291bnQgPSAocmVzICYmIHJlcy5kYXRhKSB8fCAwDQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5zdWNjZXNzKGDlt7Lmm7TmlrAgJHtjb3VudH0g5p2h54+t5qyh5a2m5pyf55qE5pel5pyfYCkNCiAgICAgICAgICB0aGlzLmxvYWRMaXN0KCkNCiAgICAgICAgfSkuY2F0Y2goKCkgPT4gew0KICAgICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2UNCiAgICAgICAgfSkNCiAgICAgIH0pDQogICAgfSwNCg0KICAgIC8qID09PT09PT09PT09PT09PT09PT09IOaJuemHj+iuvue9ruaVmeWtpuS7u+WKoSA9PT09PT09PT09PT09PT09PT09PSAqLw0KICAgIGhhbmRsZVNldEp4cncoKSB7DQogICAgICBpZiAoIXRoaXMuc2VsZWN0aW9uLmxlbmd0aCkgew0KICAgICAgICB0aGlzLiRtZXNzYWdlLndhcm5pbmcoJ+ivt+WFiOWLvumAieimgeiuvue9ruaVmeWtpuS7u+WKoeeahOePreasoeWtpuacnycpDQogICAgICAgIHJldHVybg0KICAgICAgfQ0KICAgICAgdGhpcy5qeHJ3Rm9ybSA9IHsganhyd2JoOiB1bmRlZmluZWQgfQ0KICAgICAgdGhpcy5qeHJ3VmlzaWJsZSA9IHRydWUNCiAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgaWYgKHRoaXMuJHJlZnMuanhyd0Zvcm1SZWYpIHRoaXMuJHJlZnMuanhyd0Zvcm1SZWYuY2xlYXJWYWxpZGF0ZSgpDQogICAgICB9KQ0KICAgIH0sDQogICAgaGFuZGxlSnhyd1N1Ym1pdCgpIHsNCiAgICAgIHRoaXMuJHJlZnMuanhyd0Zvcm1SZWYudmFsaWRhdGUodmFsaWQgPT4gew0KICAgICAgICBpZiAoIXZhbGlkKSByZXR1cm4NCiAgICAgICAgdGhpcy5zYXZpbmcgPSB0cnVlDQogICAgICAgIGJhdGNoVXBkYXRlSnhyd2JoKHsNCiAgICAgICAgICBiaExpc3Q6IHRoaXMuc2VsZWN0aW9uLm1hcChyID0+IHIuYmgpLA0KICAgICAgICAgIGp4cndiaDogdGhpcy5qeHJ3Rm9ybS5qeHJ3YmgNCiAgICAgICAgfSkudGhlbihyZXMgPT4gew0KICAgICAgICAgIHRoaXMuc2F2aW5nID0gZmFsc2UNCiAgICAgICAgICB0aGlzLmp4cndWaXNpYmxlID0gZmFsc2UNCiAgICAgICAgICBjb25zdCBjb3VudCA9IChyZXMgJiYgcmVzLmRhdGEpIHx8IDANCiAgICAgICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoYOW3suabtOaWsCAke2NvdW50fSDmnaHnj63mrKHlrabmnJ/nmoTmlZnlrabku7vliqFgKQ0KICAgICAgICAgIHRoaXMubG9hZExpc3QoKQ0KICAgICAgICB9KS5jYXRjaCgoKSA9PiB7DQogICAgICAgICAgdGhpcy5zYXZpbmcgPSBmYWxzZQ0KICAgICAgICB9KQ0KICAgICAgfSkNCiAgICB9DQogIH0NCn0NCg=="},null]}