@propmix/profet-common-header 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/header/header.component.mjs +9 -3
- package/fesm2015/propmix-profet-common-header.mjs +8 -2
- package/fesm2015/propmix-profet-common-header.mjs.map +1 -1
- package/fesm2020/propmix-profet-common-header.mjs +8 -2
- package/fesm2020/propmix-profet-common-header.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -183,10 +183,16 @@ export class HeaderComponent {
|
|
|
183
183
|
}
|
|
184
184
|
onLogoutClick() {
|
|
185
185
|
signOut({ global: true, oauth: { redirectUrl: this._ser.signOutUrl } })
|
|
186
|
-
.then(data =>
|
|
186
|
+
.then(data => {
|
|
187
|
+
window.open(this._ser.signOutUrl, "_self");
|
|
188
|
+
})
|
|
187
189
|
.catch(err => {
|
|
188
190
|
console.log(err);
|
|
189
|
-
signOut({ global: true, oauth: { redirectUrl: this._ser.signOutUrl } })
|
|
191
|
+
signOut({ global: true, oauth: { redirectUrl: this._ser.signOutUrl } })
|
|
192
|
+
.then(() => {
|
|
193
|
+
window.open(this._ser.signOutUrl, "_self");
|
|
194
|
+
})
|
|
195
|
+
.catch(error => console.log(error));
|
|
190
196
|
});
|
|
191
197
|
}
|
|
192
198
|
switchCompany(company) {
|
|
@@ -275,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
275
281
|
}], infoEvent: [{
|
|
276
282
|
type: Output
|
|
277
283
|
}] } });
|
|
278
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBUXRELE1BQU0sT0FBTyxlQUFlO0lBNkIxQjtRQTNCQSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBR1osY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFOUMsWUFBTyxHQUFlLEVBQUUsQ0FBQztRQUd6QixjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3ZCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBRXpCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBRTVCLG9CQUFlLEdBQVEsRUFBRSxDQUFDO1FBQzFCLHdCQUFtQixHQUFlLEVBQUUsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLFlBQVksQ0FBQztRQUM3QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDM0IsWUFBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixjQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDLFNBQUksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUUvQyxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVE7UUFDWixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUM1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDO2dCQUNwQyxJQUFJLElBQUksR0FBRztvQkFDVCxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWM7b0JBQ2hDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztpQkFDMUIsQ0FBQztnQkFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDMUIsc0NBQXNDO2dCQUN0Qyw4Q0FBOEM7Z0JBQzlDLDRFQUE0RTtnQkFDNUUsNkJBQTZCO2dCQUM3QixJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsWUFBWSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQzNELDhDQUE4QztvQkFDOUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7b0JBQ2xCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztvQkFFL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7d0JBQzNDLElBQUksVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBRWpELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDOzRCQUNoQixJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVc7NEJBQ3pCLEtBQUssRUFBRSxPQUFPOzRCQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTs0QkFDdEIsTUFBTSxFQUFFLFVBQVU7eUJBQ25CLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztvQkFDSCxJQUFJLE9BQU8sR0FBRzt3QkFDWixXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU87cUJBQzFCLENBQUM7b0JBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQzlCO1lBQ0gsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDaEIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUNILElBQUksUUFBUSxHQUFHLE1BQU0sY0FBYyxFQUFFLENBQUM7UUFDdEMsSUFBSSxRQUFRLEVBQUUsUUFBUSxFQUFFO1lBQ3RCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDaEYsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25ELFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDakQsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ1osSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO3dCQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQzt3QkFDNUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFOzRCQUNqRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7eUJBQ3ZCO3FCQUNGO29CQUNELElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDakIsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTs0QkFDbEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzs0QkFDM0MsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0NBQ2pDLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtvQ0FDbEMsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLEVBQUU7d0NBQzlELEdBQUcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO3dDQUNyQixNQUFNO3FDQUNQO2lDQUNGOzZCQUNGO3lCQUNGO3dCQUNELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3dCQUM3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztxQkFDMUI7Z0JBQ0gsQ0FBQzthQUNGLENBQUMsQ0FBQTtTQUNIO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxHQUFHLEdBQUc7WUFDUixXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksSUFBSSxHQUFHO29CQUNULFdBQVcsRUFBRSxDQUFDO29CQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztpQkFDMUIsQ0FBQztnQkFDRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQW1CO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1YsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFO29CQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztvQkFDbEIsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO29CQUNqQixJQUFJLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUVqRSxJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7d0JBQ2xDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFOzRCQUMzQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLENBQUM7NEJBQ3JELElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dDQUNqQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxFQUFFO29DQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQzt3Q0FDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXO3dDQUM1QixLQUFLLEVBQUUsT0FBTzt3Q0FDZCxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07cUNBQzFCLENBQUMsQ0FBQztpQ0FDSjs2QkFDRjt3QkFDSCxDQUFDLENBQUMsQ0FBQztxQkFDSjtpQkFDRjtZQUVILENBQUM7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZELENBQUM7SUFJRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwRixJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQy9EO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQVE7UUFDbEIsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUU7WUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUNELE9BQU87UUFDTCx3QkFBd0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQy9CLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1lBQzFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM5QjthQUNJO1lBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7U0FDNUM7SUFDSCxDQUFDO0lBQ0QsZ0JBQWdCO1FBQ2QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDL0M7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7YUFDcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ2hCLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELGFBQWEsQ0FBQyxPQUFZO1FBQ3hCLDBDQUEwQztRQUUxQyw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQyxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLEdBQUcsR0FBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDO29CQUN6QyxJQUFJLEVBQUUsQ0FBQyxRQUFhLEVBQUUsRUFBRTt3QkFDdEIsSUFBSSxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTs0QkFDdEQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQ0FDaEMsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7Z0NBQ3ZDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzZCQUM5Qjs0QkFDRCwrRUFBK0U7NEJBQy9FLDRCQUE0Qjt5QkFDN0I7NkJBQ0k7NEJBQ0gsd0VBQXdFOzRCQUN4RSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxRUFBcUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTt5QkFDckg7b0JBQ0gsQ0FBQztvQkFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDWCx3RUFBd0U7d0JBQ3hFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHFFQUFxRSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO29CQUN0SCxDQUFDO2lCQUNGLENBQUMsQ0FBQTthQUNIO2lCQUFNO2dCQUNMLHdFQUF3RTtnQkFDeEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUVBQXFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7YUFDckg7U0FDRjtJQUNILENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDakksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztTQUMzRztRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzFELENBQUM7SUFFRCxpQkFBaUI7UUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFFN0IsSUFBSSxVQUFVLEVBQUU7WUFDZCxRQUFRLFVBQVUsRUFBRSxJQUFJLEVBQUU7Z0JBQ3hCLEtBQUssV0FBVyxDQUFDLG9CQUFvQjtvQkFDbkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7b0JBQ3BELE1BQU07Z0JBQ1IsS0FBSyxXQUFXLENBQUMsbUJBQW1CO29CQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQztvQkFDdkQsTUFBTTtnQkFDUixLQUFLLFdBQVcsQ0FBQyxnQkFBZ0I7b0JBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDO29CQUNwRCxNQUFNO2dCQUNSLEtBQUssV0FBVyxDQUFDLGFBQWE7b0JBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDO29CQUNwRCxNQUFNO2FBQ1Q7U0FDRjthQUNJO1lBQ0gsSUFBSSxDQUFDLGNBQWMsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBQ0QsVUFBVSxDQUFDLElBQVk7UUFDckIsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqRixDQUFDOzs2R0E3UVUsZUFBZTtpR0FBZixlQUFlLHFLQ2xCNUIsODVSQTBIYzs0RkR4R0QsZUFBZTtrQkFOM0IsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUk7MEVBSzVCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvd2VyQ2FzZVBpcGUsIFRpdGxlQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGdldEN1cnJlbnRVc2VyLCBzaWduT3V0IH0gZnJvbSBcImF3cy1hbXBsaWZ5L2F1dGhcIjtcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21tb25IZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uLWhlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBST0ZFVF9BUFBTIH0gZnJvbSAnLi4vdXRpbHMvYXBwcy5lbnVtJztcbmltcG9ydCB7IGltYWdlRGF0YVVybCB9IGZyb20gJy4uL3V0aWxzL2ltYWdlLmRhdGF1cmwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgdXNlcm5hbWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGFwcE5hbWUhOiBQUk9GRVRfQVBQUztcbiAgQE91dHB1dCgpIG1lbnVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgaW5mb0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIHNpZGVuYXYhOiBNYXRTaWRlbmF2O1xuICBhcHBMaXN0OiBBcnJheTxhbnk+ID0gW107XG4gIHVzZXJDb21wYW5pZXM6IGFueTtcbiAgY29tcGFueVByb2ZpbGU6IGFueTtcbiAgcG9ydGFsVXJsOiBzdHJpbmcgPSAnJztcbiAgdXNlckF1dGhEYXRhOiBhbnk7XG4gIHVzZXJJbWFnZUxpbms6IGFueTtcbiAgaGVhZGVyQ2xhc3M6IHN0cmluZyA9IFwiXCI7XG4gIGN1cnJlbnRBcHA6IGFueTtcbiAgY3VycmVudEFwcExvZ286IHN0cmluZyA9ICcnO1xuICBjdXJyZW50Q29tcGFueTogYW55O1xuICB1c2VyQ29tcGFueUxvZ286IGFueSA9ICcnO1xuICBlbmFibGVkQXBwbGljYXRpb25zOiBBcnJheTxhbnk+ID0gW107XG4gIGltYWdlRGF0YVVybHMgPSBpbWFnZURhdGFVcmw7XG4gIGlzQXBwc01lbnVPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIGlzUHJvZmlsZU1lbnVPcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgX3JvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcml2YXRlIF9zbmFja2JhciA9IGluamVjdChNYXRTbmFja0Jhcik7XG4gIHByaXZhdGUgX3NlciA9IGluamVjdChDb21tb25IZWFkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyID0gaW5qZWN0KERvbVNhbml0aXplcik7XG4gIHByaXZhdGUgX3RpdGxlQ2FzZXBpcGUgPSBpbmplY3QoVGl0bGVDYXNlUGlwZSk7XG4gIHByaXZhdGUgX2xvd2VyQ2FzZVBpcGUgPSBpbmplY3QoTG93ZXJDYXNlUGlwZSk7XG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5mZXRjaENvbXBhbnlQcm9maWxlKCk7XG4gICAgdGhpcy5fc2VyLmdldEFwcHMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgdGhpcy5wb3J0YWxVcmwgPSB2Py5kYXRhPy5wb3J0YWxVcmw7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgIGNvbXBhbnlJbmZvOiB0aGlzLmNvbXBhbnlQcm9maWxlLFxuICAgICAgICAgIHBvcnRhbFVybDogdGhpcy5wb3J0YWxVcmxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbmZvRXZlbnQuZW1pdChkYXRhKTtcbiAgICAgICAgLy8gbGV0IGNvbmZpZzogYW55ID0gQXV0aC5jb25maWd1cmUoKTtcbiAgICAgICAgLy8gbGV0IHNpZ25vdXRVcmwgPSBgJHt0aGlzLnBvcnRhbFVybH0vbG9naW5gO1xuICAgICAgICAvLyBjb25maWcub2F1dGggPSB7IC4uLmNvbmZpZy5vYXV0aCwgLi4ueyBcInJlZGlyZWN0U2lnbk91dFwiOiBzaWdub3V0VXJsIH0gfTtcbiAgICAgICAgLy8gQW1wbGlmeS5jb25maWd1cmUoY29uZmlnKTtcbiAgICAgICAgaWYgKHY/LmRhdGE/LmFwcGxpY2F0aW9ucyAmJiB2LmRhdGEuYXBwbGljYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAvLyB0aGlzLmZldGNoQ29tcGFueURhdGEodi5kYXRhLmFwcGxpY2F0aW9ucyk7XG4gICAgICAgICAgdGhpcy5hcHBMaXN0ID0gW107XG4gICAgICAgICAgdGhpcy5lbmFibGVkQXBwbGljYXRpb25zID0gdi5kYXRhLmFwcGxpY2F0aW9ucztcblxuICAgICAgICAgIHYuZGF0YS5hcHBsaWNhdGlvbnMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XG4gICAgICAgICAgICBsZXQgY3VycmVudEFwcCA9IChlbGVtZW50Lm5hbWUgPT09IHRoaXMuYXBwTmFtZSk7XG5cbiAgICAgICAgICAgIHRoaXMuYXBwTGlzdC5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogZWxlbWVudC5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgICAgdmFsdWU6IGVsZW1lbnQsXG4gICAgICAgICAgICAgIGFwcFVybDogZWxlbWVudC5hcHBVcmwsXG4gICAgICAgICAgICAgIGFjdGl2ZTogY3VycmVudEFwcFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgbGV0IGFwcERhdGEgPSB7XG4gICAgICAgICAgICBlbmFibGVkQXBwczogdGhpcy5hcHBMaXN0XG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmluZm9FdmVudC5lbWl0KGFwcERhdGEpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGUpXG4gICAgICB9XG4gICAgfSk7XG4gICAgbGV0IHVzZXJJbmZvID0gYXdhaXQgZ2V0Q3VycmVudFVzZXIoKTtcbiAgICBpZiAodXNlckluZm8/LnVzZXJuYW1lKSB7XG4gICAgICBsZXQgdXNlckRldGFpbHMgPSB0aGlzLl9zZXIuZ2V0VXNlckRldGFpbHNCeUVtYWlsKHsgZW1haWw6IHVzZXJJbmZvLnVzZXJuYW1lIH0pO1xuICAgICAgbGV0IHVzZXJDb21wYW55SW5mbyA9IHRoaXMuX3Nlci5nZXRVc2VyQ29tcGFuaWVzKCk7XG4gICAgICBmb3JrSm9pbihbdXNlckRldGFpbHMsIHVzZXJDb21wYW55SW5mb10pLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgICBpZiAocmVzICYmIHJlc1swXSkge1xuICAgICAgICAgICAgdGhpcy51c2VyQXV0aERhdGEgPSByZXNbMF07XG4gICAgICAgICAgICB0aGlzLnVzZXJuYW1lID0gdGhpcy51c2VyQXV0aERhdGEuZmlyc3ROYW1lO1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlckF1dGhEYXRhPy5fbGlua3M/LnByb2ZpbGVJbWFnZT8uaHJlZikge1xuICAgICAgICAgICAgICB0aGlzLmdldFVzZXJQcm9maWxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzWzFdKSB7XG4gICAgICAgICAgICBpZiAocmVzWzFdICYmIHJlc1sxXS5kYXRhICYmIHJlc1sxXS5kYXRhLmNvbXBhbmllcykge1xuICAgICAgICAgICAgICB0aGlzLnVzZXJDb21wYW5pZXMgPSByZXNbMV0uZGF0YS5jb21wYW5pZXM7XG4gICAgICAgICAgICAgIGlmICh0aGlzLnVzZXJDb21wYW5pZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGNvbSBvZiB0aGlzLnVzZXJDb21wYW5pZXMpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChjb20uY29tcGFueUtleSA9PSB0aGlzLnVzZXJBdXRoRGF0YS5sYXN0QWNjZXNzZWRDb21wYW55S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbS5hY3RpdmVOb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZ2V0Q3VycmVudENvbXBhbnlJbmZvKCk7XG4gICAgICAgICAgICB0aGlzLnNldEN1cnJlbnRBcHBMb2dvKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG1lbnVBY3Rpb24oKSB7XG4gICAgdGhpcy5tZW51RXZlbnQuZW1pdCgpO1xuICB9XG5cbiAgZmV0Y2hDb21wYW55UHJvZmlsZSgpIHtcbiAgICBsZXQgcmVxID0ge1xuICAgICAgY29tcGFueU5hbWU6IGRvY3VtZW50LmxvY2F0aW9uLmhvc3Quc3BsaXQoJy4nKVswXVxuICAgIH07XG4gICAgdGhpcy5fc2VyLmZldGNoQ29tcGFueVByb2ZpbGUocmVxKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgdGhpcy5jb21wYW55UHJvZmlsZSA9IHY7XG4gICAgICAgIGxldCBkYXRhID0ge1xuICAgICAgICAgIGNvbXBhbnlJbmZvOiB2LFxuICAgICAgICAgIHBvcnRhbFVybDogdGhpcy5wb3J0YWxVcmxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5pbmZvRXZlbnQuZW1pdChkYXRhKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIGZldGNoQ29tcGFueURhdGEoYWxsQXBwczogQXJyYXk8YW55Pikge1xuICAgIHRoaXMuX3Nlci5nZXRDb21wYW55QXBwbGljYXRpb25zKCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6ICh2KSA9PiB7XG4gICAgICAgIGlmICh2Py5kYXRhPy5lbmFibGVkQXBwbGljYXRpb25zKSB7XG4gICAgICAgICAgdGhpcy5hcHBMaXN0ID0gW107XG4gICAgICAgICAgbGV0IGFwcEluZm8gPSBbXTtcbiAgICAgICAgICBsZXQgZmV0Y2hlZEFwcGxpY2F0aW9ucyA9IHYuZGF0YS5lbmFibGVkQXBwbGljYXRpb25zPy5zcGxpdCgnLCcpO1xuXG4gICAgICAgICAgaWYgKGZldGNoZWRBcHBsaWNhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZmV0Y2hlZEFwcGxpY2F0aW9ucy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgYXBwSW5mbyA9IGFsbEFwcHMuZmlsdGVyKGVsZSA9PiBlbGUubmFtZSA9PSBlbGVtZW50KTtcbiAgICAgICAgICAgICAgaWYgKGFwcEluZm8gJiYgYXBwSW5mby5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgaWYgKGFwcEluZm9bMF0ubmFtZSAhPSAnbWNhJykge1xuICAgICAgICAgICAgICAgICAgdGhpcy5hcHBMaXN0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBhcHBJbmZvWzBdLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgYXBwVXJsOiBhcHBJbmZvWzBdLmFwcFVybFxuICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzYW5pdGl6ZVVybCh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLl9kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh1cmwpXG4gIH1cblxuXG5cbiAgZ2V0VXNlclByb2ZpbGUoKSB7XG4gICAgdGhpcy5fc2VyLm9idGFpbkRhdGFCeVVybCh0aGlzLnVzZXJBdXRoRGF0YS5fbGlua3MucHJvZmlsZUltYWdlLmhyZWYpLnN1YnNjcmliZShpbWcgPT4ge1xuICAgICAgaWYgKGltZz8ubG9jYXRpb25VcmwpIHtcbiAgICAgICAgdGhpcy51c2VySW1hZ2VMaW5rID0gaW1nLmxvY2F0aW9uVXJsID8gaW1nLmxvY2F0aW9uVXJsIDogbnVsbDtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgYXBwUmVkaXJlY3QoYXBwOiBhbnkpIHtcbiAgICBpZiAoIWFwcD8uYWN0aXZlKSB7XG4gICAgICB3aW5kb3cub3BlbihhcHAuYXBwVXJsLCBcIl9zZWxmXCIpO1xuICAgIH1cbiAgfVxuICBwcm9maWxlKCkge1xuICAgIC8vIHRoaXMuZmV0Y2hVc2VyRGF0YSgpO1xuICAgIGlmICh0aGlzLl9zZXIucG9ydGFsRnJvbnRlbmRVcmwpIHtcbiAgICAgIGxldCB1cmwgPSB0aGlzLnBvcnRhbFVybCArICcvYXBwL3Byb2ZpbGUnO1xuICAgICAgZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2FwcC9wcm9maWxlJyk7XG4gICAgfVxuICB9XG4gIGxvYWRVc2VyTWVzc2FnZXMoKSB7XG4gICAgaWYgKHRoaXMudXNlckF1dGhEYXRhKSB7XG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2FwcC91c2VyLWluYm94Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4oJ05vIG1lc3NhZ2VzIHJlY2VpdmVkIHlldCcsICdPSycsIHsgZHVyYXRpb246IDUwMDAgfSk7XG4gICAgfVxuICB9XG4gIG9uTG9nb3V0Q2xpY2soKSB7XG4gICAgc2lnbk91dCh7IGdsb2JhbDogdHJ1ZSwgb2F1dGg6IHsgcmVkaXJlY3RVcmw6IHRoaXMuX3Nlci5zaWduT3V0VXJsIH0gfSlcbiAgICAgIC50aGVuKGRhdGEgPT4gY29uc29sZS5sb2coZGF0YSkpXG4gICAgICAuY2F0Y2goZXJyID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZXJyKVxuICAgICAgICBzaWduT3V0KHsgZ2xvYmFsOiB0cnVlLCBvYXV0aDogeyByZWRpcmVjdFVybDogdGhpcy5fc2VyLnNpZ25PdXRVcmwgfSB9KTtcbiAgICAgIH0pO1xuICB9XG4gIHN3aXRjaENvbXBhbnkoY29tcGFueTogYW55KSB7XG4gICAgLy8gc3dpdGNoIHRoZSB1c2VyIHRvIHRoZSBzZWxlY3RlYyBjb21wYW55XG5cbiAgICAvLyBGaW5kIHRoZSBkb21haW4gaW5mb3JtYXRpb25cbiAgICBpZiAoIWNvbXBhbnkuYWN0aXZlTm93KSB7XG4gICAgICBsZXQgZG9tYWluSW5mbyA9IHRoaXMuX3Nlci5nZXREb21haW5JbmZvKCk7XG4gICAgICBpZiAoZG9tYWluSW5mbykge1xuICAgICAgICBsZXQgcmVxOiBhbnkgPSB7IGNvbXBhbnlLZXk6IGNvbXBhbnkuY29tcGFueUtleSwgYXBwTmFtZTogZG9tYWluSW5mby5hcHBDb2RlIH07XG4gICAgICAgIHRoaXMuX3Nlci51cGRhdGVVc2VyQ29tcGFueShyZXEpLnN1YnNjcmliZSh7XG4gICAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS50eXBlICYmIHJlc3BvbnNlLnR5cGUgPT0gXCJPS1wiKSB7XG4gICAgICAgICAgICAgIGlmIChyZXNwb25zZS5kYXRhLmFwcGxpY2F0aW9uVVJMKSB7XG4gICAgICAgICAgICAgICAgbGV0IHVybCA9IHJlc3BvbnNlLmRhdGEuYXBwbGljYXRpb25VUkw7XG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UodXJsKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyByZWZyZXNoIHRoZSBjdXJyZW50IHBhZ2UgdG8gcmVsb2FkIHRoZSBjb250ZW50cyBiYXNlZCBvbiB0aGUgY3VycmVudCBjb21wYW55XG4gICAgICAgICAgICAgIC8vIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZSB0byB0aGUgdXNlciB0aGF0IHRoZSBjb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC5cbiAgICAgICAgICAgICAgdGhpcy5fc25hY2tiYXIub3BlbignQ29tcGFueSBjb3VsZCBub3QgYmUgc3dpdGNoZWQuIFBsZWFzZSB0cnkgYWdhaW4gb3IgY29udGFjdCBzdXBwb3J0LicsICdPSycsIHsgZHVyYXRpb246IDUwMDAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yOiAoZSkgPT4ge1xuICAgICAgICAgICAgLy8gZGlzcGxheSBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgdGhhdCB0aGUgY29tcGFueSBjb3VsZCBub3QgYmUgc3dpdGNoZWQuXG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKCdDb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC4gUGxlYXNlIHRyeSBhZ2FpbiBvciBjb250YWN0IHN1cHBvcnQuJywgJ09LJywgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGRpc3BsYXkgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIHRoYXQgdGhlIGNvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLlxuICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKCdDb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC4gUGxlYXNlIHRyeSBhZ2FpbiBvciBjb250YWN0IHN1cHBvcnQuJywgJ09LJywgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldEN1cnJlbnRDb21wYW55SW5mbygpOiBhbnkge1xuICAgIHRoaXMuY3VycmVudENvbXBhbnkgPSB0aGlzLnVzZXJDb21wYW5pZXMuZmluZCgoY29tcGFueTogYW55KSA9PiBjb21wYW55LmNvbXBhbnlLZXkgPT09IHRoaXMudXNlckF1dGhEYXRhLmxhc3RBY2Nlc3NlZENvbXBhbnlLZXkpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRDb21wYW55KSB7XG4gICAgICBjb25zdCBjb21wYW55ID0gdGhpcy5jdXJyZW50Q29tcGFueT8ubmFtZT8uc3BsaXQoJyAnKVswXTtcbiAgICAgIHRoaXMuaGVhZGVyQ2xhc3MgPSAnaGVhZGVyLScgKyB0aGlzLl9sb3dlckNhc2VQaXBlPy50cmFuc2Zvcm0oY29tcGFueSk7XG4gICAgICB0aGlzLmhlYWRlckNsYXNzID0gJ2hlYWRlci0nICsgdGhpcy5fdGl0bGVDYXNlcGlwZT8udHJhbnNmb3JtKGNvbXBhbnkpO1xuICAgICAgdGhpcy51c2VyQ29tcGFueUxvZ28gPSAodGhpcy5jdXJyZW50Q29tcGFueT8uY29tcGFueUxvZ29VcmwpID8gdGhpcy5jdXJyZW50Q29tcGFueT8uY29tcGFueUxvZ29VcmwgOiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRDb21wYW55ID8gdGhpcy5jdXJyZW50Q29tcGFueSA6IG51bGw7XG4gIH1cblxuICBzZXRDdXJyZW50QXBwTG9nbygpIHtcbiAgICBjb25zdCBjdXJyZW50QXBwID0gdGhpcy5lbmFibGVkQXBwbGljYXRpb25zPy5maW5kKGFwcCA9PiBhcHAubmFtZSA9PT0gdGhpcy5hcHBOYW1lKTtcbiAgICB0aGlzLmN1cnJlbnRBcHAgPSBjdXJyZW50QXBwO1xuXG4gICAgaWYgKGN1cnJlbnRBcHApIHtcbiAgICAgIHN3aXRjaCAoY3VycmVudEFwcD8ubmFtZSkge1xuICAgICAgICBjYXNlIFBST0ZFVF9BUFBTLmFwcHJhaXNhbF9tYW5hZ2VtZW50OlxuICAgICAgICAgIHRoaXMuY3VycmVudEFwcExvZ28gPSBpbWFnZURhdGFVcmwucHJvZmV0T3JkZXJzTG9nbztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQUk9GRVRfQVBQUy5hcHByYWlzYWxfdmFsdWF0aW9uOlxuICAgICAgICAgIHRoaXMuY3VycmVudEFwcExvZ28gPSBpbWFnZURhdGFVcmwucHJvZmV0VmFsdWF0aW9uTG9nbztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQUk9GRVRfQVBQUy5hcHByYWlzYWxfcmV2aWV3OlxuICAgICAgICAgIHRoaXMuY3VycmVudEFwcExvZ28gPSBpbWFnZURhdGFVcmwucHJvZmV0UmV2aWV3TG9nbztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBQUk9GRVRfQVBQUy5wcm9mZXRfcG9ydGFsOlxuICAgICAgICAgIHRoaXMuY3VycmVudEFwcExvZ28gPSBpbWFnZURhdGFVcmwucHJvZmV0UG9ydGFsTG9nbztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRBcHBMb2dvID0gaW1hZ2VEYXRhVXJsLnByb2ZldFBvcnRhbExvZ287XG4gICAgfVxuICB9XG4gIHRvZ2dsZU1lbnUobWVudTogc3RyaW5nKSB7XG4gICAgKG1lbnUgPT09ICdhcHBzJykgPyAodGhpcy5pc0FwcHNNZW51T3BlbiA9ICF0aGlzLmlzQXBwc01lbnVPcGVuKSA6IG51bGw7XG4gICAgKG1lbnUgPT09ICdwcm9maWxlJykgPyB0aGlzLmlzUHJvZmlsZU1lbnVPcGVuID0gIXRoaXMuaXNQcm9maWxlTWVudU9wZW4gOiBudWxsO1xuICB9XG5cbn1cbiIsIjxtYXQtdG9vbGJhciBjZGtNZW51QmFyIGNvbG9yPVwicHJpbWFyeVwiIFtuZ0NsYXNzXT1cImhlYWRlckNsYXNzXCIgY2xhc3M9XCJoZWFkZXItd3JhcHBlciBjb21tb25faGVhZGVyIHNoYWRvdy1zbVwiPlxuICAgIDwhLS0gTWFpbiBuYXYgYnV0dG9uIGFuZCBuYXZpZ2F0aW9uIGxpbmtzIC0tPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICBjb2xvcj1cInRoZW1lLXdoaXRlXCIgKGNsaWNrKT1cIm1lbnVBY3Rpb24oKVwiIGNsYXNzPVwicG14LWJ1dHRvbiBwbXgtbWVudS1idXR0b24gb3JkZXJzLW1lbnUgaWNvbi1idG4gbXMtMCBtZS0zXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIm1haW4gbWVudVwiIHRhYmluZGV4PVwiMFwiIG1hdFRvb2x0aXA9XCJNYWluIG1lbnVcIiBtYXRUb29sdGlwUG9zaXRpb249XCJiZWxvd1wiXG4gICAgICAgIG1hdFRvb2x0aXBDbGFzcz1cInBvYy1oZWFkZXItdG9vbHRpcFwiPjxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICA8YSBjbGFzcz1cIm5hdmJhci1icmFuZCBtZS1hdXRvXCIgaHJlZj1cIiNcIj5cbiAgICAgICAgPGltZyAqbmdJZj1cImN1cnJlbnRBcHBMb2dvXCIgW3NyY109XCJzYW5pdGl6ZVVybChjdXJyZW50QXBwTG9nbylcIiBhbHQ9XCJBcHAgTG9nb1wiIGNsYXNzPVwiYXBwLWxvZ29cIj5cbiAgICA8L2E+XG4gICAgXG4gICAgPCEtLSBBcHBzIGJ1dHRvbiBhbmQgbWVudSBpdGVtcyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiKGFwcExpc3QubGVuZ3RoID4gMClcIiBjb2xvcj1cInRoZW1lLXdoaXRlXCJcbiAgICAgICAgY2xhc3M9XCJwbXgtYnV0dG9uIHBteC1tZW51LWJ1dHRvbiBpY29uLWJ0biBidG4tc3dpdGNoLWFwcHMgbXMtMSBtZS0xXCIgW2NsYXNzLm1lbnUtb3BlbmVkXT1cImlzQXBwc01lbnVPcGVuID09IHRydWVcIlxuICAgICAgICAobWVudU9wZW5lZCk9XCJ0b2dnbGVNZW51KCdhcHBzJylcIiAobWVudUNsb3NlZCk9XCJ0b2dnbGVNZW51KCdhcHBzJylcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiYXBwc1wiXG4gICAgICAgIG1hdFRvb2x0aXA9XCJTd2l0Y2ggYXBwbGljYXRpb25cIiBtYXRUb29sdGlwUG9zaXRpb249XCJiZWxvd1wiIGFyaWEtbGFiZWw9XCJhcHBzIG1lbnVcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1hcnJvdy1kb3duXCI+YXBwczwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPG1hdC1tZW51ICNhcHBzPVwibWF0TWVudVwiIGNsYXNzPVwiYWNjb3VudHNfZHJwbWVudSBwbXgtbWVudS1ncm91cCBoZWFkZXItZHJvcGRvd24tYXBwc1wiIGhhc0JhY2tkcm9wPVwidHJ1ZVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1jb250ZW50IHNob3ctbWVudVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItaGVhZGVyXCI+PGgzIGNsYXNzPVwicG9wb3Zlci10aXRsZVwiPlN3aXRjaCBBcHBsaWNhdGlvbjwvaDM+PC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1ib2R5XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItY29udGVudC10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8cCAqbmdJZj1cImFwcExpc3Q/Lmxlbmd0aCA9PSAxO2Vsc2UgYXBwc1RpdGxlXCI+RW5hYmxlZCBBcHBsaWNhdGlvbjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhcHBzVGl0bGU+PHA+RW5hYmxlZCBBcHBsaWNhdGlvbnM8L3A+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8dWwgY2RrTWVudSBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1hcHBzLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjZGtNZW51SXRlbSBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWFwcFwiICpuZ0Zvcj1cImxldCBhcHAgb2YgYXBwTGlzdDtsZXQgaSA9IGluZGV4XCIgXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCIoYXBwPy5hY3RpdmUpID8gJ2FwcC1hY3RpdmUnIDogJydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBjbGFzcz1cInBteC1idXR0b24gbGlzdC1idXR0b25cIiAoY2xpY2spPVwiYXBwUmVkaXJlY3QoYXBwKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtaWNvbi13cmFwcGVyXCI+PGltZyBbc3JjXT1cInNhbml0aXplVXJsKGltYWdlRGF0YVVybHMucHJvZmV0VGh1bWJuYWlsIClcIiBjbGFzcz1cImFwcC1pY29uXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaXN0LXRleHQgbWUtYXV0b1wiPnt7IGFwcD8ubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJhY3RpdmUtbGFiZWxcIiAqbmdJZj1cIihhcHA/LmFjdGl2ZSlcIj5BY3RpdmU8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImhvdmVyLWxhYmVsIHRvb2x0aXAtbGFiZWxcIiAqbmdJZj1cIiEoYXBwPy5hY3RpdmUpXCI+Q2xpY2sgdG8gc3dpdGNoIGFwcDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LW1lbnU+XG4gICAgXG4gICAgPHNwYW4gY2xhc3M9XCJ2ciB2ci1ibHVyeVwiPjwvc3Bhbj5cbiAgICA8IS0tIFByb2ZpbGUgYnV0dG9uIGFuZCBwcm9maWxlIGRyb3Bkb3duIGxpbmtzIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJidG4tZ3JvdXBcIiByb2xlPVwiZ3JvdXBcIiBhcmlhLWxhYmVsPVwiQnV0dG9uIGdyb3VwIHdpdGggcHJvZmlsZSBpbmZvXCIgW25nQ2xhc3NdPVwiKCgoY3VycmVudENvbXBhbnk/LnN1YkRvbWFpbikgJiYgdXNlckNvbXBhbnlMb2dvKSA/ICdicmFuZGVkLWdyb3VwLXRydWUnIDogJ2JyYW5kZWQtZ3JvdXAtZmFsc2UnKSArICcgJyArIChpc1Byb2ZpbGVNZW51T3BlbiA/ICdidG4tZ3JvdXAtY2xpY2tlZCcgOiAnJylcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInBteC1idXR0b24gcG14LW1lbnUtYnV0dG9uIHByb2ZpbGUtYnV0dG9uXCIgbWF0LWJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCIgKG1lbnVPcGVuZWQpPVwidG9nZ2xlTWVudSgncHJvZmlsZScpXCIgKG1lbnVDbG9zZWQpPVwidG9nZ2xlTWVudSgncHJvZmlsZScpXCIgW25nQ2xhc3NdPVwiY3VycmVudENvbXBhbnk/LnN1YkRvbWFpbiA/ICdicmFuZGVkLWJ1dHRvbi10cnVlJyA6ICdicmFuZGVkLWJ1dHRvbi1mYWxzZSdcIiBtYXRUb29sdGlwPVwiUHJvZmlsZSBJbmZvXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYmVsb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9maWxlLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJyYW5kLWxvZ28gYWxpZ24tc2VsZi1jZW50ZXJcIiAqbmdJZj1cIigoY3VycmVudENvbXBhbnk/LnN1YkRvbWFpbikgJiYgdXNlckNvbXBhbnlMb2dvKVwiIFtuZ0NsYXNzXT1cInVzZXJDb21wYW55TG9nbyA/ICdicmFuZGVkLWxvZ28tdHJ1ZScgOiAnYnJhbmRlZC1sb2dvLWZhbHNlJ1wiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIHVzZXJDb21wYW55TG9nbyArICcpJ31cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJ1c2VySW1hZ2VMaW5rO2Vsc2UgZGVmYXVsdEF2YXRhclwiIFtzcmNdPVwic2FuaXRpemVVcmwodXNlckltYWdlTGluaylcIiBjbGFzcz1cImF2YXRhci1pbWFnZVwiIGFsdD1cIkF2YXRhclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRBdmF0YXI+PGltZyBbc3JjXT1cInNhbml0aXplVXJsKGltYWdlRGF0YVVybHMuZGVmYXVsdFVzZXJJbWFnZSlcIiBjbGFzcz1cImF2YXRhci1kZWZhdWx0XCIgYWx0PVwicHJvZmlsZSBwaWNcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxtYXQtbWVudSAjbWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cImFjY291bnRzX2RycG1lbnUgcG14LW1lbnUtZ3JvdXAgaGVhZGVyLWRyb3Bkb3duLXByb2ZpbGVcIiB4UG9zaXRpb249XCJiZWZvcmVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItY29udGVudCBzaG93LW1lbnVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLXVzZXItdG9wXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXItd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJJbWFnZUxpbms7ZWxzZSBkZWZhdWx0TGFyZ2VBdmF0YXJcIiBbbmdTdHlsZV09XCJ7J2JhY2tncm91bmQtaW1hZ2UnOiAndXJsKCcgKyB1c2VySW1hZ2VMaW5rICsgJyknfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdmF0YXItaWNvblwiIGFsdD1cIkF2YXRhciBpY29uXCI+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMYXJnZUF2YXRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIGltYWdlRGF0YVVybHMuZGVmYXVsdFVzZXJJbWFnZSArICcpJ31cIiBjbGFzcz1cImF2YXRhci1pY29uIGRlZmF1bHQtYXZhdGFyXCIgYWx0PVwiQXZhdGFyIGljb25cIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXNlci1kYXRhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJwcm9maWxlLW5hbWVcIj48c3BhbiAqbmdJZj1cInVzZXJBdXRoRGF0YVwiPnt7IHVzZXJBdXRoRGF0YT8uZmlyc3ROYW1lIH19IHt7IHVzZXJBdXRoRGF0YT8ubGFzdE5hbWUgfX08L3NwYW4+PC9oMz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIGNsYXNzPVwicG14LWJ1dHRvbiBidG4gYnRuLXNtYWxsIHZpZXctcHJvZmlsZSBtcy0wXCIgKGNsaWNrKT1cInByb2ZpbGUoKVwiPlZpZXcgUHJvZmlsZTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItYm9keVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWNvbnRlbnQtdGl0bGVcIj48cD5PdmVydmlldzwvcD48L2Rpdj5cbiAgICAgICAgICAgICAgICA8dWwgY2RrTWVudSBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1vdmVydmlld1wiICpuZ0lmPVwiY3VycmVudENvbXBhbnlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNka01lbnVJdGVtIGNsYXNzPVwibGlzdC1pdGVtXCIgKm5nSWY9XCJ1c2VyQXV0aERhdGE/LmVtYWlsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBtYXQtbWVudS1pdGVtIGNsYXNzPVwibGlzdC10ZXh0IGxpc3QtdGV4dC1lbWFpbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImxpc3QtaWNvblwiPm1haWw8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwicG14LWxvd2VyLWNhc2UgcG14LXRleHQtd3JhcCBtZS1hdXRvXCI+e3sgdXNlckF1dGhEYXRhPy5lbWFpbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNka01lbnVJdGVtIGNsYXNzPVwibGlzdC1pdGVtIGQtbm9uZVwiICpuZ0lmPVwidXNlckF1dGhEYXRhPy5jb250YWN0UGhvbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJsaXN0LXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJsaXN0LWljb25cIj5jYWxsPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cInRpdGxlLWNhc2UgbWUtYXV0b1wiPnt7IHVzZXJBdXRoRGF0YT8uY29udGFjdFBob25lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2RrTWVudUl0ZW0gY2xhc3M9XCJsaXN0LWl0ZW1cIiAqbmdJZj1cInVzZXJBdXRoRGF0YT8uYWRkcmVzcyAhPT0gbnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgbWF0LW1lbnUtaXRlbSBjbGFzcz1cImxpc3QtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImxpc3QtaWNvblwiPmxvY2F0aW9uX29uPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWNhc2UgbWUtYXV0b1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+e3sgdXNlckF1dGhEYXRhPy5hZGRyZXNzPy5zdHJlZXRBZGRyZXNzIH19IHt7KHVzZXJBdXRoRGF0YT8uYWRkcmVzcz8uc3RyZWV0QWRkcmVzczIgIT09IG51bGwpID8gdXNlckF1dGhEYXRhPy5hZGRyZXNzPy5zdHJlZXRBZGRyZXNzMiA6ICcnIH19PC9zbWFsbD48YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlckF1dGhEYXRhPy5hZGRyZXNzPy5jaXR5IH19IHt7dXNlckF1dGhEYXRhPy5hZGRyZXNzPy5zdGF0ZU9yUHJvdmluY2UgfX0ge3t1c2VyQXV0aERhdGE/LmFkZHJlc3M/LnBvc3RhbENvZGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1jb250ZW50LXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwidXNlckNvbXBhbmllcz8ubGVuZ3RoID09IDE7ZWxzZSBjb21wYW5pZXNUaXRsZVwiPkNvbXBhbnk8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29tcGFuaWVzVGl0bGU+PHA+Q29tcGFuaWVzPC9wPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHVsIGNka01lbnUgY2xhc3M9XCJsaXN0LWdyb3VwIGxpc3QtZ3JvdXAtY29tcGFuaWVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjZGtNZW51SXRlbSBjbGFzcz1cImxpc3QtaXRlbSBsaXN0LWNvbXBhbnlcIiAqbmdGb3I9XCJsZXQgY29tcGFueSBvZiB1c2VyQ29tcGFuaWVzXCIgW25nQ2xhc3NdPVwiKGNvbXBhbnk/LmFjdGl2ZU5vdykgPyAnbGlzdC1hY3RpdmUgY29tcGFueS1hY3RpdmUnIDogJydcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBjbGFzcz1cInBteC1idXR0b24gbGlzdC1idXR0b25cIiAoY2xpY2spPVwic3dpdGNoQ29tcGFueShjb21wYW55KVwiIFttYXRUb29sdGlwXT1cImNvbXBhbnk/Lm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJiZWxvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImljb24tY2hlY2tcIj57eyAoY29tcGFueT8uYWN0aXZlTm93KSA/ICdjaGVja19jaXJjbGUnIDogJ3N3YXBfdmVydCcgfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGlzdC10ZXh0IHBteC10ZXh0LXdyYXAgbWUtYXV0b1wiPnt7IGNvbXBhbnk/Lm5hbWUgfCB0aXRsZWNhc2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiYWN0aXZlLWxhYmVsXCIgKm5nSWY9XCIoY29tcGFueT8uYWN0aXZlTm93KVwiPkFjdGl2ZTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgICAgIDx1bCBjZGtNZW51IGNsYXNzPVwibGlzdC1ncm91cCBsYXN0LWdyb3VwIG15LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNka01lbnVJdGVtIGNsYXNzPVwibGlzdC1pdGVtIHB5LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSBjbGFzcz1cInBteC1idXR0b24gbGlzdC1idXR0b24gYnRuLWxvZ291dFwiIChjbGljayk9XCJvbkxvZ291dENsaWNrKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+cG93ZXJfc2V0dGluZ3NfbmV3PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxpc3QtdGV4dFwiPkxvZ291dDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbWVudT5cbjwvbWF0LXRvb2xiYXI+Il19
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXIvc3JjL2xpYi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBUXRELE1BQU0sT0FBTyxlQUFlO0lBNkIxQjtRQTNCQSxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBR1osY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFOUMsWUFBTyxHQUFlLEVBQUUsQ0FB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SUFDRCxVQUFVLENBQUMsSUFBWTtRQUNyQixDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pGLENBQUM7OzZHQXBSVSxlQUFlO2lHQUFmLGVBQWUscUtDbEI1Qiw4NVJBMEhjOzRGRHhHRCxlQUFlO2tCQU4zQixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSTswRUFLNUIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG93ZXJDYXNlUGlwZSwgVGl0bGVDYXNlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZ2V0Q3VycmVudFVzZXIsIHNpZ25PdXQgfSBmcm9tIFwiYXdzLWFtcGxpZnkvYXV0aFwiO1xuaW1wb3J0IHsgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbW1vbkhlYWRlclNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24taGVhZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUFJPRkVUX0FQUFMgfSBmcm9tICcuLi91dGlscy9hcHBzLmVudW0nO1xuaW1wb3J0IHsgaW1hZ2VEYXRhVXJsIH0gZnJvbSAnLi4vdXRpbHMvaW1hZ2UuZGF0YXVybCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICB1c2VybmFtZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHRlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgYXBwTmFtZSE6IFBST0ZFVF9BUFBTO1xuICBAT3V0cHV0KCkgbWVudUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBpbmZvRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgc2lkZW5hdiE6IE1hdFNpZGVuYXY7XG4gIGFwcExpc3Q6IEFycmF5PGFueT4gPSBbXTtcbiAgdXNlckNvbXBhbmllczogYW55O1xuICBjb21wYW55UHJvZmlsZTogYW55O1xuICBwb3J0YWxVcmw6IHN0cmluZyA9ICcnO1xuICB1c2VyQXV0aERhdGE6IGFueTtcbiAgdXNlckltYWdlTGluazogYW55O1xuICBoZWFkZXJDbGFzczogc3RyaW5nID0gXCJcIjtcbiAgY3VycmVudEFwcDogYW55O1xuICBjdXJyZW50QXBwTG9nbzogc3RyaW5nID0gJyc7XG4gIGN1cnJlbnRDb21wYW55OiBhbnk7XG4gIHVzZXJDb21wYW55TG9nbzogYW55ID0gJyc7XG4gIGVuYWJsZWRBcHBsaWNhdGlvbnM6IEFycmF5PGFueT4gPSBbXTtcbiAgaW1hZ2VEYXRhVXJscyA9IGltYWdlRGF0YVVybDtcbiAgaXNBcHBzTWVudU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNQcm9maWxlTWVudU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgX3NuYWNrYmFyID0gaW5qZWN0KE1hdFNuYWNrQmFyKTtcbiAgcHJpdmF0ZSBfc2VyID0gaW5qZWN0KENvbW1vbkhlYWRlclNlcnZpY2UpO1xuICBwcml2YXRlIF9kb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSBfdGl0bGVDYXNlcGlwZSA9IGluamVjdChUaXRsZUNhc2VQaXBlKTtcbiAgcHJpdmF0ZSBfbG93ZXJDYXNlUGlwZSA9IGluamVjdChMb3dlckNhc2VQaXBlKTtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmZldGNoQ29tcGFueVByb2ZpbGUoKTtcbiAgICB0aGlzLl9zZXIuZ2V0QXBwcygpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAodikgPT4ge1xuICAgICAgICB0aGlzLnBvcnRhbFVybCA9IHY/LmRhdGE/LnBvcnRhbFVybDtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgY29tcGFueUluZm86IHRoaXMuY29tcGFueVByb2ZpbGUsXG4gICAgICAgICAgcG9ydGFsVXJsOiB0aGlzLnBvcnRhbFVybFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmluZm9FdmVudC5lbWl0KGRhdGEpO1xuICAgICAgICAvLyBsZXQgY29uZmlnOiBhbnkgPSBBdXRoLmNvbmZpZ3VyZSgpO1xuICAgICAgICAvLyBsZXQgc2lnbm91dFVybCA9IGAke3RoaXMucG9ydGFsVXJsfS9sb2dpbmA7XG4gICAgICAgIC8vIGNvbmZpZy5vYXV0aCA9IHsgLi4uY29uZmlnLm9hdXRoLCAuLi57IFwicmVkaXJlY3RTaWduT3V0XCI6IHNpZ25vdXRVcmwgfSB9O1xuICAgICAgICAvLyBBbXBsaWZ5LmNvbmZpZ3VyZShjb25maWcpO1xuICAgICAgICBpZiAodj8uZGF0YT8uYXBwbGljYXRpb25zICYmIHYuZGF0YS5hcHBsaWNhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIC8vIHRoaXMuZmV0Y2hDb21wYW55RGF0YSh2LmRhdGEuYXBwbGljYXRpb25zKTtcbiAgICAgICAgICB0aGlzLmFwcExpc3QgPSBbXTtcbiAgICAgICAgICB0aGlzLmVuYWJsZWRBcHBsaWNhdGlvbnMgPSB2LmRhdGEuYXBwbGljYXRpb25zO1xuXG4gICAgICAgICAgdi5kYXRhLmFwcGxpY2F0aW9ucy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGxldCBjdXJyZW50QXBwID0gKGVsZW1lbnQubmFtZSA9PT0gdGhpcy5hcHBOYW1lKTtcblxuICAgICAgICAgICAgdGhpcy5hcHBMaXN0LnB1c2goe1xuICAgICAgICAgICAgICBuYW1lOiBlbGVtZW50LmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICB2YWx1ZTogZWxlbWVudCxcbiAgICAgICAgICAgICAgYXBwVXJsOiBlbGVtZW50LmFwcFVybCxcbiAgICAgICAgICAgICAgYWN0aXZlOiBjdXJyZW50QXBwXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBsZXQgYXBwRGF0YSA9IHtcbiAgICAgICAgICAgIGVuYWJsZWRBcHBzOiB0aGlzLmFwcExpc3RcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuaW5mb0V2ZW50LmVtaXQoYXBwRGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGUpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZSlcbiAgICAgIH1cbiAgICB9KTtcbiAgICBsZXQgdXNlckluZm8gPSBhd2FpdCBnZXRDdXJyZW50VXNlcigpO1xuICAgIGlmICh1c2VySW5mbz8udXNlcm5hbWUpIHtcbiAgICAgIGxldCB1c2VyRGV0YWlscyA9IHRoaXMuX3Nlci5nZXRVc2VyRGV0YWlsc0J5RW1haWwoeyBlbWFpbDogdXNlckluZm8udXNlcm5hbWUgfSk7XG4gICAgICBsZXQgdXNlckNvbXBhbnlJbmZvID0gdGhpcy5fc2VyLmdldFVzZXJDb21wYW5pZXMoKTtcbiAgICAgIGZvcmtKb2luKFt1c2VyRGV0YWlscywgdXNlckNvbXBhbnlJbmZvXSkuc3Vic2NyaWJlKHtcbiAgICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICAgIGlmIChyZXMgJiYgcmVzWzBdKSB7XG4gICAgICAgICAgICB0aGlzLnVzZXJBdXRoRGF0YSA9IHJlc1swXTtcbiAgICAgICAgICAgIHRoaXMudXNlcm5hbWUgPSB0aGlzLnVzZXJBdXRoRGF0YS5maXJzdE5hbWU7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyQXV0aERhdGE/Ll9saW5rcz8ucHJvZmlsZUltYWdlPy5ocmVmKSB7XG4gICAgICAgICAgICAgIHRoaXMuZ2V0VXNlclByb2ZpbGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHJlcyAmJiByZXNbMV0pIHtcbiAgICAgICAgICAgIGlmIChyZXNbMV0gJiYgcmVzWzFdLmRhdGEgJiYgcmVzWzFdLmRhdGEuY29tcGFuaWVzKSB7XG4gICAgICAgICAgICAgIHRoaXMudXNlckNvbXBhbmllcyA9IHJlc1sxXS5kYXRhLmNvbXBhbmllcztcbiAgICAgICAgICAgICAgaWYgKHRoaXMudXNlckNvbXBhbmllcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgY29tIG9mIHRoaXMudXNlckNvbXBhbmllcykge1xuICAgICAgICAgICAgICAgICAgaWYgKGNvbS5jb21wYW55S2V5ID09IHRoaXMudXNlckF1dGhEYXRhLmxhc3RBY2Nlc3NlZENvbXBhbnlLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29tLmFjdGl2ZU5vdyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5nZXRDdXJyZW50Q29tcGFueUluZm8oKTtcbiAgICAgICAgICAgIHRoaXMuc2V0Q3VycmVudEFwcExvZ28oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgbWVudUFjdGlvbigpIHtcbiAgICB0aGlzLm1lbnVFdmVudC5lbWl0KCk7XG4gIH1cblxuICBmZXRjaENvbXBhbnlQcm9maWxlKCkge1xuICAgIGxldCByZXEgPSB7XG4gICAgICBjb21wYW55TmFtZTogZG9jdW1lbnQubG9jYXRpb24uaG9zdC5zcGxpdCgnLicpWzBdXG4gICAgfTtcbiAgICB0aGlzLl9zZXIuZmV0Y2hDb21wYW55UHJvZmlsZShyZXEpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAodikgPT4ge1xuICAgICAgICB0aGlzLmNvbXBhbnlQcm9maWxlID0gdjtcbiAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgY29tcGFueUluZm86IHYsXG4gICAgICAgICAgcG9ydGFsVXJsOiB0aGlzLnBvcnRhbFVybFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmluZm9FdmVudC5lbWl0KGRhdGEpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbiAgZmV0Y2hDb21wYW55RGF0YShhbGxBcHBzOiBBcnJheTxhbnk+KSB7XG4gICAgdGhpcy5fc2VyLmdldENvbXBhbnlBcHBsaWNhdGlvbnMoKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHYpID0+IHtcbiAgICAgICAgaWYgKHY/LmRhdGE/LmVuYWJsZWRBcHBsaWNhdGlvbnMpIHtcbiAgICAgICAgICB0aGlzLmFwcExpc3QgPSBbXTtcbiAgICAgICAgICBsZXQgYXBwSW5mbyA9IFtdO1xuICAgICAgICAgIGxldCBmZXRjaGVkQXBwbGljYXRpb25zID0gdi5kYXRhLmVuYWJsZWRBcHBsaWNhdGlvbnM/LnNwbGl0KCcsJyk7XG5cbiAgICAgICAgICBpZiAoZmV0Y2hlZEFwcGxpY2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmZXRjaGVkQXBwbGljYXRpb25zLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBhcHBJbmZvID0gYWxsQXBwcy5maWx0ZXIoZWxlID0+IGVsZS5uYW1lID09IGVsZW1lbnQpO1xuICAgICAgICAgICAgICBpZiAoYXBwSW5mbyAmJiBhcHBJbmZvLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBpZiAoYXBwSW5mb1swXS5uYW1lICE9ICdtY2EnKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLmFwcExpc3QucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGFwcEluZm9bMF0uZGlzcGxheU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBlbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICBhcHBVcmw6IGFwcEluZm9bMF0uYXBwVXJsXG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNhbml0aXplVXJsKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHVybClcbiAgfVxuXG5cblxuICBnZXRVc2VyUHJvZmlsZSgpIHtcbiAgICB0aGlzLl9zZXIub2J0YWluRGF0YUJ5VXJsKHRoaXMudXNlckF1dGhEYXRhLl9saW5rcy5wcm9maWxlSW1hZ2UuaHJlZikuc3Vic2NyaWJlKGltZyA9PiB7XG4gICAgICBpZiAoaW1nPy5sb2NhdGlvblVybCkge1xuICAgICAgICB0aGlzLnVzZXJJbWFnZUxpbmsgPSBpbWcubG9jYXRpb25VcmwgPyBpbWcubG9jYXRpb25VcmwgOiBudWxsO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBhcHBSZWRpcmVjdChhcHA6IGFueSkge1xuICAgIGlmICghYXBwPy5hY3RpdmUpIHtcbiAgICAgIHdpbmRvdy5vcGVuKGFwcC5hcHBVcmwsIFwiX3NlbGZcIik7XG4gICAgfVxuICB9XG4gIHByb2ZpbGUoKSB7XG4gICAgLy8gdGhpcy5mZXRjaFVzZXJEYXRhKCk7XG4gICAgaWYgKHRoaXMuX3Nlci5wb3J0YWxGcm9udGVuZFVybCkge1xuICAgICAgbGV0IHVybCA9IHRoaXMucG9ydGFsVXJsICsgJy9hcHAvcHJvZmlsZSc7XG4gICAgICBkb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvYXBwL3Byb2ZpbGUnKTtcbiAgICB9XG4gIH1cbiAgbG9hZFVzZXJNZXNzYWdlcygpIHtcbiAgICBpZiAodGhpcy51c2VyQXV0aERhdGEpIHtcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvYXBwL3VzZXItaW5ib3gnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc25hY2tiYXIub3BlbignTm8gbWVzc2FnZXMgcmVjZWl2ZWQgeWV0JywgJ09LJywgeyBkdXJhdGlvbjogNTAwMCB9KTtcbiAgICB9XG4gIH1cbiAgb25Mb2dvdXRDbGljaygpIHtcbiAgICBzaWduT3V0KHsgZ2xvYmFsOiB0cnVlLCBvYXV0aDogeyByZWRpcmVjdFVybDogdGhpcy5fc2VyLnNpZ25PdXRVcmwgfSB9KVxuICAgICAgLnRoZW4oZGF0YSA9PiB7XG4gICAgICAgIHdpbmRvdy5vcGVuKHRoaXMuX3Nlci5zaWduT3V0VXJsLCBcIl9zZWxmXCIpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnIgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICBzaWduT3V0KHsgZ2xvYmFsOiB0cnVlLCBvYXV0aDogeyByZWRpcmVjdFVybDogdGhpcy5fc2VyLnNpZ25PdXRVcmwgfSB9KVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5vcGVuKHRoaXMuX3Nlci5zaWduT3V0VXJsLCBcIl9zZWxmXCIpO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKGVycm9yID0+IGNvbnNvbGUubG9nKGVycm9yKSk7XG4gICAgICB9KTtcbiAgfVxuICBcbiAgc3dpdGNoQ29tcGFueShjb21wYW55OiBhbnkpIHtcbiAgICAvLyBzd2l0Y2ggdGhlIHVzZXIgdG8gdGhlIHNlbGVjdGVjIGNvbXBhbnlcblxuICAgIC8vIEZpbmQgdGhlIGRvbWFpbiBpbmZvcm1hdGlvblxuICAgIGlmICghY29tcGFueS5hY3RpdmVOb3cpIHtcbiAgICAgIGxldCBkb21haW5JbmZvID0gdGhpcy5fc2VyLmdldERvbWFpbkluZm8oKTtcbiAgICAgIGlmIChkb21haW5JbmZvKSB7XG4gICAgICAgIGxldCByZXE6IGFueSA9IHsgY29tcGFueUtleTogY29tcGFueS5jb21wYW55S2V5LCBhcHBOYW1lOiBkb21haW5JbmZvLmFwcENvZGUgfTtcbiAgICAgICAgdGhpcy5fc2VyLnVwZGF0ZVVzZXJDb21wYW55KHJlcSkuc3Vic2NyaWJlKHtcbiAgICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnR5cGUgJiYgcmVzcG9uc2UudHlwZSA9PSBcIk9LXCIpIHtcbiAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmRhdGEuYXBwbGljYXRpb25VUkwpIHtcbiAgICAgICAgICAgICAgICBsZXQgdXJsID0gcmVzcG9uc2UuZGF0YS5hcHBsaWNhdGlvblVSTDtcbiAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVwbGFjZSh1cmwpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIHJlZnJlc2ggdGhlIGN1cnJlbnQgcGFnZSB0byByZWxvYWQgdGhlIGNvbnRlbnRzIGJhc2VkIG9uIHRoZSBjdXJyZW50IGNvbXBhbnlcbiAgICAgICAgICAgICAgLy8gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgIC8vIGRpc3BsYXkgYSBtZXNzYWdlIHRvIHRoZSB1c2VyIHRoYXQgdGhlIGNvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLlxuICAgICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKCdDb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC4gUGxlYXNlIHRyeSBhZ2FpbiBvciBjb250YWN0IHN1cHBvcnQuJywgJ09LJywgeyBkdXJhdGlvbjogNTAwMCB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZXJyb3I6IChlKSA9PiB7XG4gICAgICAgICAgICAvLyBkaXNwbGF5IGEgbWVzc2FnZSB0byB0aGUgdXNlciB0aGF0IHRoZSBjb21wYW55IGNvdWxkIG5vdCBiZSBzd2l0Y2hlZC5cbiAgICAgICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4oJ0NvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLiBQbGVhc2UgdHJ5IGFnYWluIG9yIGNvbnRhY3Qgc3VwcG9ydC4nLCAnT0snLCB7IGR1cmF0aW9uOiA1MDAwIH0pXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZGlzcGxheSBhIG1lc3NhZ2UgdG8gdGhlIHVzZXIgdGhhdCB0aGUgY29tcGFueSBjb3VsZCBub3QgYmUgc3dpdGNoZWQuXG4gICAgICAgIHRoaXMuX3NuYWNrYmFyLm9wZW4oJ0NvbXBhbnkgY291bGQgbm90IGJlIHN3aXRjaGVkLiBQbGVhc2UgdHJ5IGFnYWluIG9yIGNvbnRhY3Qgc3VwcG9ydC4nLCAnT0snLCB7IGR1cmF0aW9uOiA1MDAwIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0Q3VycmVudENvbXBhbnlJbmZvKCk6IGFueSB7XG4gICAgdGhpcy5jdXJyZW50Q29tcGFueSA9IHRoaXMudXNlckNvbXBhbmllcy5maW5kKChjb21wYW55OiBhbnkpID0+IGNvbXBhbnkuY29tcGFueUtleSA9PT0gdGhpcy51c2VyQXV0aERhdGEubGFzdEFjY2Vzc2VkQ29tcGFueUtleSk7XG4gICAgaWYgKHRoaXMuY3VycmVudENvbXBhbnkpIHtcbiAgICAgIGNvbnN0IGNvbXBhbnkgPSB0aGlzLmN1cnJlbnRDb21wYW55Py5uYW1lPy5zcGxpdCgnICcpWzBdO1xuICAgICAgdGhpcy5oZWFkZXJDbGFzcyA9ICdoZWFkZXItJyArIHRoaXMuX2xvd2VyQ2FzZVBpcGU/LnRyYW5zZm9ybShjb21wYW55KTtcbiAgICAgIHRoaXMuaGVhZGVyQ2xhc3MgPSAnaGVhZGVyLScgKyB0aGlzLl90aXRsZUNhc2VwaXBlPy50cmFuc2Zvcm0oY29tcGFueSk7XG4gICAgICB0aGlzLnVzZXJDb21wYW55TG9nbyA9ICh0aGlzLmN1cnJlbnRDb21wYW55Py5jb21wYW55TG9nb1VybCkgPyB0aGlzLmN1cnJlbnRDb21wYW55Py5jb21wYW55TG9nb1VybCA6IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudENvbXBhbnkgPyB0aGlzLmN1cnJlbnRDb21wYW55IDogbnVsbDtcbiAgfVxuXG4gIHNldEN1cnJlbnRBcHBMb2dvKCkge1xuICAgIGNvbnN0IGN1cnJlbnRBcHAgPSB0aGlzLmVuYWJsZWRBcHBsaWNhdGlvbnM/LmZpbmQoYXBwID0+IGFwcC5uYW1lID09PSB0aGlzLmFwcE5hbWUpO1xuICAgIHRoaXMuY3VycmVudEFwcCA9IGN1cnJlbnRBcHA7XG5cbiAgICBpZiAoY3VycmVudEFwcCkge1xuICAgICAgc3dpdGNoIChjdXJyZW50QXBwPy5uYW1lKSB7XG4gICAgICAgIGNhc2UgUFJPRkVUX0FQUFMuYXBwcmFpc2FsX21hbmFnZW1lbnQ6XG4gICAgICAgICAgdGhpcy5jdXJyZW50QXBwTG9nbyA9IGltYWdlRGF0YVVybC5wcm9mZXRPcmRlcnNMb2dvO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBST0ZFVF9BUFBTLmFwcHJhaXNhbF92YWx1YXRpb246XG4gICAgICAgICAgdGhpcy5jdXJyZW50QXBwTG9nbyA9IGltYWdlRGF0YVVybC5wcm9mZXRWYWx1YXRpb25Mb2dvO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBST0ZFVF9BUFBTLmFwcHJhaXNhbF9yZXZpZXc6XG4gICAgICAgICAgdGhpcy5jdXJyZW50QXBwTG9nbyA9IGltYWdlRGF0YVVybC5wcm9mZXRSZXZpZXdMb2dvO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFBST0ZFVF9BUFBTLnByb2ZldF9wb3J0YWw6XG4gICAgICAgICAgdGhpcy5jdXJyZW50QXBwTG9nbyA9IGltYWdlRGF0YVVybC5wcm9mZXRQb3J0YWxMb2dvO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuY3VycmVudEFwcExvZ28gPSBpbWFnZURhdGFVcmwucHJvZmV0UG9ydGFsTG9nbztcbiAgICB9XG4gIH1cbiAgdG9nZ2xlTWVudShtZW51OiBzdHJpbmcpIHtcbiAgICAobWVudSA9PT0gJ2FwcHMnKSA/ICh0aGlzLmlzQXBwc01lbnVPcGVuID0gIXRoaXMuaXNBcHBzTWVudU9wZW4pIDogbnVsbDtcbiAgICAobWVudSA9PT0gJ3Byb2ZpbGUnKSA/IHRoaXMuaXNQcm9maWxlTWVudU9wZW4gPSAhdGhpcy5pc1Byb2ZpbGVNZW51T3BlbiA6IG51bGw7XG4gIH1cblxufVxuIiwiPG1hdC10b29sYmFyIGNka01lbnVCYXIgY29sb3I9XCJwcmltYXJ5XCIgW25nQ2xhc3NdPVwiaGVhZGVyQ2xhc3NcIiBjbGFzcz1cImhlYWRlci13cmFwcGVyIGNvbW1vbl9oZWFkZXIgc2hhZG93LXNtXCI+XG4gICAgPCEtLSBNYWluIG5hdiBidXR0b24gYW5kIG5hdmlnYXRpb24gbGlua3MgLS0+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gIGNvbG9yPVwidGhlbWUtd2hpdGVcIiAoY2xpY2spPVwibWVudUFjdGlvbigpXCIgY2xhc3M9XCJwbXgtYnV0dG9uIHBteC1tZW51LWJ1dHRvbiBvcmRlcnMtbWVudSBpY29uLWJ0biBtcy0wIG1lLTNcIlxuICAgICAgICBhcmlhLWxhYmVsPVwibWFpbiBtZW51XCIgdGFiaW5kZXg9XCIwXCIgbWF0VG9vbHRpcD1cIk1haW4gbWVudVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCJcbiAgICAgICAgbWF0VG9vbHRpcENsYXNzPVwicG9jLWhlYWRlci10b29sdGlwXCI+PG1hdC1pY29uPm1lbnU8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgIDxhIGNsYXNzPVwibmF2YmFyLWJyYW5kIG1lLWF1dG9cIiBocmVmPVwiI1wiPlxuICAgICAgICA8aW1nICpuZ0lmPVwiY3VycmVudEFwcExvZ29cIiBbc3JjXT1cInNhbml0aXplVXJsKGN1cnJlbnRBcHBMb2dvKVwiIGFsdD1cIkFwcCBMb2dvXCIgY2xhc3M9XCJhcHAtbG9nb1wiPlxuICAgIDwvYT5cbiAgICBcbiAgICA8IS0tIEFwcHMgYnV0dG9uIGFuZCBtZW51IGl0ZW1zIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCIoYXBwTGlzdC5sZW5ndGggPiAwKVwiIGNvbG9yPVwidGhlbWUtd2hpdGVcIlxuICAgICAgICBjbGFzcz1cInBteC1idXR0b24gcG14LW1lbnUtYnV0dG9uIGljb24tYnRuIGJ0bi1zd2l0Y2gtYXBwcyBtcy0xIG1lLTFcIiBbY2xhc3MubWVudS1vcGVuZWRdPVwiaXNBcHBzTWVudU9wZW4gPT0gdHJ1ZVwiXG4gICAgICAgIChtZW51T3BlbmVkKT1cInRvZ2dsZU1lbnUoJ2FwcHMnKVwiIChtZW51Q2xvc2VkKT1cInRvZ2dsZU1lbnUoJ2FwcHMnKVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJhcHBzXCJcbiAgICAgICAgbWF0VG9vbHRpcD1cIlN3aXRjaCBhcHBsaWNhdGlvblwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCIgYXJpYS1sYWJlbD1cImFwcHMgbWVudVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJpY29uLWFycm93LWRvd25cIj5hcHBzPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8bWF0LW1lbnUgI2FwcHM9XCJtYXRNZW51XCIgY2xhc3M9XCJhY2NvdW50c19kcnBtZW51IHBteC1tZW51LWdyb3VwIGhlYWRlci1kcm9wZG93bi1hcHBzXCIgaGFzQmFja2Ryb3A9XCJ0cnVlXCIgeFBvc2l0aW9uPVwiYmVmb3JlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWNvbnRlbnQgc2hvdy1tZW51XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1oZWFkZXJcIj48aDMgY2xhc3M9XCJwb3BvdmVyLXRpdGxlXCI+U3dpdGNoIEFwcGxpY2F0aW9uPC9oMz48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWJvZHlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1jb250ZW50LXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwICpuZ0lmPVwiYXBwTGlzdD8ubGVuZ3RoID09IDE7ZWxzZSBhcHBzVGl0bGVcIj5FbmFibGVkIEFwcGxpY2F0aW9uPC9wPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2FwcHNUaXRsZT48cD5FbmFibGVkIEFwcGxpY2F0aW9uczwvcD48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDx1bCBjZGtNZW51IGNsYXNzPVwibGlzdC1ncm91cCBsaXN0LWFwcHMtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNka01lbnVJdGVtIGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtYXBwXCIgKm5nRm9yPVwibGV0IGFwcCBvZiBhcHBMaXN0O2xldCBpID0gaW5kZXhcIiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIihhcHA/LmFjdGl2ZSkgPyAnYXBwLWFjdGl2ZScgOiAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGNsYXNzPVwicG14LWJ1dHRvbiBsaXN0LWJ1dHRvblwiIChjbGljayk9XCJhcHBSZWRpcmVjdChhcHApXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1pY29uLXdyYXBwZXJcIj48aW1nIFtzcmNdPVwic2FuaXRpemVVcmwoaW1hZ2VEYXRhVXJscy5wcm9mZXRUaHVtYm5haWwgKVwiIGNsYXNzPVwiYXBwLWljb25cIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxpc3QtdGV4dCBtZS1hdXRvXCI+e3sgYXBwPy5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImFjdGl2ZS1sYWJlbFwiICpuZ0lmPVwiKGFwcD8uYWN0aXZlKVwiPkFjdGl2ZTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiaG92ZXItbGFiZWwgdG9vbHRpcC1sYWJlbFwiICpuZ0lmPVwiIShhcHA/LmFjdGl2ZSlcIj5DbGljayB0byBzd2l0Y2ggYXBwPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbWVudT5cbiAgICBcbiAgICA8c3BhbiBjbGFzcz1cInZyIHZyLWJsdXJ5XCI+PC9zcGFuPlxuICAgIDwhLS0gUHJvZmlsZSBidXR0b24gYW5kIHByb2ZpbGUgZHJvcGRvd24gbGlua3MgLS0+XG4gICAgPGRpdiBjbGFzcz1cImJ0bi1ncm91cFwiIHJvbGU9XCJncm91cFwiIGFyaWEtbGFiZWw9XCJCdXR0b24gZ3JvdXAgd2l0aCBwcm9maWxlIGluZm9cIiBbbmdDbGFzc109XCIoKChjdXJyZW50Q29tcGFueT8uc3ViRG9tYWluKSAmJiB1c2VyQ29tcGFueUxvZ28pID8gJ2JyYW5kZWQtZ3JvdXAtdHJ1ZScgOiAnYnJhbmRlZC1ncm91cC1mYWxzZScpICsgJyAnICsgKGlzUHJvZmlsZU1lbnVPcGVuID8gJ2J0bi1ncm91cC1jbGlja2VkJyA6ICcnKVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicG14LWJ1dHRvbiBwbXgtbWVudS1idXR0b24gcHJvZmlsZS1idXR0b25cIiBtYXQtYnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIiAobWVudU9wZW5lZCk9XCJ0b2dnbGVNZW51KCdwcm9maWxlJylcIiAobWVudUNsb3NlZCk9XCJ0b2dnbGVNZW51KCdwcm9maWxlJylcIiBbbmdDbGFzc109XCJjdXJyZW50Q29tcGFueT8uc3ViRG9tYWluID8gJ2JyYW5kZWQtYnV0dG9uLXRydWUnIDogJ2JyYW5kZWQtYnV0dG9uLWZhbHNlJ1wiIG1hdFRvb2x0aXA9XCJQcm9maWxlIEluZm9cIiBtYXRUb29sdGlwUG9zaXRpb249XCJiZWxvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2ZpbGUtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnJhbmQtbG9nbyBhbGlnbi1zZWxmLWNlbnRlclwiICpuZ0lmPVwiKChjdXJyZW50Q29tcGFueT8uc3ViRG9tYWluKSAmJiB1c2VyQ29tcGFueUxvZ28pXCIgW25nQ2xhc3NdPVwidXNlckNvbXBhbnlMb2dvID8gJ2JyYW5kZWQtbG9nby10cnVlJyA6ICdicmFuZGVkLWxvZ28tZmFsc2UnXCIgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgdXNlckNvbXBhbnlMb2dvICsgJyknfVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInVzZXJJbWFnZUxpbms7ZWxzZSBkZWZhdWx0QXZhdGFyXCIgW3NyY109XCJzYW5pdGl6ZVVybCh1c2VySW1hZ2VMaW5rKVwiIGNsYXNzPVwiYXZhdGFyLWltYWdlXCIgYWx0PVwiQXZhdGFyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEF2YXRhcj48aW1nIFtzcmNdPVwic2FuaXRpemVVcmwoaW1hZ2VEYXRhVXJscy5kZWZhdWx0VXNlckltYWdlKVwiIGNsYXNzPVwiYXZhdGFyLWRlZmF1bHRcIiBhbHQ9XCJwcm9maWxlIHBpY1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwiYWNjb3VudHNfZHJwbWVudSBwbXgtbWVudS1ncm91cCBoZWFkZXItZHJvcGRvd24tcHJvZmlsZVwiIHhQb3NpdGlvbj1cImJlZm9yZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1jb250ZW50IHNob3ctbWVudVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItdXNlci10b3BcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF2YXRhci13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlckltYWdlTGluaztlbHNlIGRlZmF1bHRMYXJnZUF2YXRhclwiIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1pbWFnZSc6ICd1cmwoJyArIHVzZXJJbWFnZUxpbmsgKyAnKSd9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF2YXRhci1pY29uXCIgYWx0PVwiQXZhdGFyIGljb25cIj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExhcmdlQXZhdGFyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgaW1hZ2VEYXRhVXJscy5kZWZhdWx0VXNlckltYWdlICsgJyknfVwiIGNsYXNzPVwiYXZhdGFyLWljb24gZGVmYXVsdC1hdmF0YXJcIiBhbHQ9XCJBdmF0YXIgaWNvblwiPiZuYnNwOzwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLWRhdGFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cInByb2ZpbGUtbmFtZVwiPjxzcGFuICpuZ0lmPVwidXNlckF1dGhEYXRhXCI+e3sgdXNlckF1dGhEYXRhPy5maXJzdE5hbWUgfX0ge3sgdXNlckF1dGhEYXRhPy5sYXN0TmFtZSB9fTwvc3Bhbj48L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgY2xhc3M9XCJwbXgtYnV0dG9uIGJ0biBidG4tc21hbGwgdmlldy1wcm9maWxlIG1zLTBcIiAoY2xpY2spPVwicHJvZmlsZSgpXCI+VmlldyBQcm9maWxlPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wb3Zlci1ib2R5XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcG92ZXItY29udGVudC10aXRsZVwiPjxwPk92ZXJ2aWV3PC9wPjwvZGl2PlxuICAgICAgICAgICAgICAgIDx1bCBjZGtNZW51IGNsYXNzPVwibGlzdC1ncm91cCBsaXN0LW92ZXJ2aWV3XCIgKm5nSWY9XCJjdXJyZW50Q29tcGFueVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2RrTWVudUl0ZW0gY2xhc3M9XCJsaXN0LWl0ZW1cIiAqbmdJZj1cInVzZXJBdXRoRGF0YT8uZW1haWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIG1hdC1tZW51LWl0ZW0gY2xhc3M9XCJsaXN0LXRleHQgbGlzdC10ZXh0LWVtYWlsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibGlzdC1pY29uXCI+bWFpbDwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJwbXgtbG93ZXItY2FzZSBwbXgtdGV4dC13cmFwIG1lLWF1dG9cIj57eyB1c2VyQXV0aERhdGE/LmVtYWlsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2RrTWVudUl0ZW0gY2xhc3M9XCJsaXN0LWl0ZW0gZC1ub25lXCIgKm5nSWY9XCJ1c2VyQXV0aERhdGE/LmNvbnRhY3RQaG9uZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgbWF0LW1lbnUtaXRlbSBjbGFzcz1cImxpc3QtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImxpc3QtaWNvblwiPmNhbGw8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwidGl0bGUtY2FzZSBtZS1hdXRvXCI+e3sgdXNlckF1dGhEYXRhPy5jb250YWN0UGhvbmUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjZGtNZW51SXRlbSBjbGFzcz1cImxpc3QtaXRlbVwiICpuZ0lmPVwidXNlckF1dGhEYXRhPy5hZGRyZXNzICE9PSBudWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBtYXQtbWVudS1pdGVtIGNsYXNzPVwibGlzdC10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwibGlzdC1pY29uXCI+bG9jYXRpb25fb248L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtY2FzZSBtZS1hdXRvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD57eyB1c2VyQXV0aERhdGE/LmFkZHJlc3M/LnN0cmVldEFkZHJlc3MgfX0ge3sodXNlckF1dGhEYXRhPy5hZGRyZXNzPy5zdHJlZXRBZGRyZXNzMiAhPT0gbnVsbCkgPyB1c2VyQXV0aERhdGE/LmFkZHJlc3M/LnN0cmVldEFkZHJlc3MyIDogJycgfX08L3NtYWxsPjxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyB1c2VyQXV0aERhdGE/LmFkZHJlc3M/LmNpdHkgfX0ge3t1c2VyQXV0aERhdGE/LmFkZHJlc3M/LnN0YXRlT3JQcm92aW5jZSB9fSB7e3VzZXJBdXRoRGF0YT8uYWRkcmVzcz8ucG9zdGFsQ29kZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDxociAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3BvdmVyLWNvbnRlbnQtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHAgKm5nSWY9XCJ1c2VyQ29tcGFuaWVzPy5sZW5ndGggPT0gMTtlbHNlIGNvbXBhbmllc1RpdGxlXCI+Q29tcGFueTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjb21wYW5pZXNUaXRsZT48cD5Db21wYW5pZXM8L3A+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8dWwgY2RrTWVudSBjbGFzcz1cImxpc3QtZ3JvdXAgbGlzdC1ncm91cC1jb21wYW5pZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNka01lbnVJdGVtIGNsYXNzPVwibGlzdC1pdGVtIGxpc3QtY29tcGFueVwiICpuZ0Zvcj1cImxldCBjb21wYW55IG9mIHVzZXJDb21wYW5pZXNcIiBbbmdDbGFzc109XCIoY29tcGFueT8uYWN0aXZlTm93KSA/ICdsaXN0LWFjdGl2ZSBjb21wYW55LWFjdGl2ZScgOiAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGNsYXNzPVwicG14LWJ1dHRvbiBsaXN0LWJ1dHRvblwiIChjbGljayk9XCJzd2l0Y2hDb21wYW55KGNvbXBhbnkpXCIgW21hdFRvb2x0aXBdPVwiY29tcGFueT8ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImJlbG93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiaWNvbi1jaGVja1wiPnt7IChjb21wYW55Py5hY3RpdmVOb3cpID8gJ2NoZWNrX2NpcmNsZScgOiAnc3dhcF92ZXJ0JyB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsaXN0LXRleHQgcG14LXRleHQtd3JhcCBtZS1hdXRvXCI+e3sgY29tcGFueT8ubmFtZSB8IHRpdGxlY2FzZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJhY3RpdmUtbGFiZWxcIiAqbmdJZj1cIihjb21wYW55Py5hY3RpdmVOb3cpXCI+QWN0aXZlPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICAgICAgPHVsIGNka01lbnUgY2xhc3M9XCJsaXN0LWdyb3VwIGxhc3QtZ3JvdXAgbXktMVwiPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2RrTWVudUl0ZW0gY2xhc3M9XCJsaXN0LWl0ZW0gcHktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIGNsYXNzPVwicG14LWJ1dHRvbiBsaXN0LWJ1dHRvbiBidG4tbG9nb3V0XCIgKGNsaWNrKT1cIm9uTG9nb3V0Q2xpY2soKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5wb3dlcl9zZXR0aW5nc19uZXc8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGlzdC10ZXh0XCI+TG9nb3V0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1tZW51PlxuPC9tYXQtdG9vbGJhcj4iXX0=
|
|
@@ -415,10 +415,16 @@ class HeaderComponent {
|
|
|
415
415
|
}
|
|
416
416
|
onLogoutClick() {
|
|
417
417
|
signOut({ global: true, oauth: { redirectUrl: this._ser.signOutUrl } })
|
|
418
|
-
.then(data =>
|
|
418
|
+
.then(data => {
|
|
419
|
+
window.open(this._ser.signOutUrl, "_self");
|
|
420
|
+
})
|
|
419
421
|
.catch(err => {
|
|
420
422
|
console.log(err);
|
|
421
|
-
signOut({ global: true, oauth: { redirectUrl: this._ser.signOutUrl } })
|
|
423
|
+
signOut({ global: true, oauth: { redirectUrl: this._ser.signOutUrl } })
|
|
424
|
+
.then(() => {
|
|
425
|
+
window.open(this._ser.signOutUrl, "_self");
|
|
426
|
+
})
|
|
427
|
+
.catch(error => console.log(error));
|
|
422
428
|
});
|
|
423
429
|
}
|
|
424
430
|
switchCompany(company) {
|