@tilde-nlp/ngx-translate 5.0.43 → 5.0.44
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.
|
@@ -100,9 +100,11 @@ export class TldTranslateWebsiteComponent {
|
|
|
100
100
|
return this.configService.coreConfig.showDomainsWithLanguageName;
|
|
101
101
|
}
|
|
102
102
|
get helpUrl() {
|
|
103
|
-
return this.configService
|
|
103
|
+
return this.configService?.webtranslateConfig?.helpUrl;
|
|
104
|
+
}
|
|
105
|
+
get sandbox() {
|
|
106
|
+
return this.configService.webtranslateConfig.sandbox;
|
|
104
107
|
}
|
|
105
|
-
get sandbox() { return this.configService.webtranslateConfig.sandbox; }
|
|
106
108
|
useParentWidth = true;
|
|
107
109
|
destroy$ = new Subject();
|
|
108
110
|
changeAuth(isAuth) {
|
|
@@ -527,4 +529,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
527
529
|
}], onError: [{
|
|
528
530
|
type: Output
|
|
529
531
|
}] } });
|
|
530
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS13ZWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXdlYi90bGQtdHJhbnNsYXRlLXdlYi90bGQtdHJhbnNsYXRlLXdlYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtd2ViL3RsZC10cmFuc2xhdGUtd2ViL3RsZC10cmFuc2xhdGUtd2ViLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUgsT0FBTyxFQUFpRCx1QkFBdUIsRUFBMkMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4SixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQXdCLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSXpFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFtQjdCLE1BQU0sT0FBTyw0QkFBNEI7SUFJcEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNUO0lBQ1M7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RUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFDdEMsQ0FBQztxQkFDSDtvWkFHb0IsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQWNWLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRVksYUFBYTtzQkFBOUIsU0FBUzt1QkFBQyxLQUFLO2dCQXVCTixPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmVEYXRhLCBBbGVydFNlcnZpY2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLCBTdGF0dXNEaXNwbGF5Q29uZmlnLCBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQnV0dG9uU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vY29tcG9uZW50cy90cmFuc2xhdGUtYnV0dG9uL3RsZC10cmFuc2xhdGUtYnV0dG9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlTWVzc2FnZSwgVGxkTWVzc2FnZVR5cGUgfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsIFRsZFRyYW5zbGF0ZVN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucyB9IGZyb20gJy4uLy4uL3RsZC10b29sdGlwL21vZGVscy9zd2l0Y2hlci1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlV2ViU2VydmljZSB9IGZyb20gJy4uL3RsZC10cmFuc2xhdGUtd2ViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBhdmFpbGFibGVMYW5ndWFnZXMgfSBmcm9tICcuLy4uLy4uLy4uL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcblxyXG5cclxuZGVjbGFyZSB2YXIgd2luZG93OiBhbnk7XHJcbndpbmRvdy4kID0gd2luZG93LmpRdWVyeSA9ICQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtd2Vic2l0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUtd2ViLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdHJhbnNsYXRlLXdlYi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5DbG9zZUFuaW1hdGlvbicsIFtcclxuXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7IGhlaWdodDogMCB9KSxcclxuICAgICAgICBhbmltYXRlKDUwMClcclxuICAgICAgXSksXHJcblxyXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLFxyXG4gICAgICAgIGFuaW1hdGUoNTAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVdlYnNpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnaWZyYW1lJykgaWZyYW1lOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVCdXR0b25TZXJ2aWNlOiBUbGRUcmFuc2xhdGVCdXR0b25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHM6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVybWlub2xvZ3lTZXJ2aWNlOiBUZXJtaW5vbG9neVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFRyYW5zbGF0ZVdlYlNlcnZpY2U6IFRsZFRyYW5zbGF0ZVdlYlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgKSB7IH1cclxuICBASW5wdXQoKSBwcm9kdWN0ID0gJyc7XHJcbiAgQElucHV0KCkgY29tcGFueSA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKCd1cmwnKSB1cmxJbnB1dEZpZWxkOiBFbGVtZW50UmVmO1xyXG5cclxuICBzZXR0aW5nU3lzdGVtTGlzdEZvckZpcnN0VGltZTogYm9vbGVhbjtcclxuICB1cmxUb1RyYW5zbGF0ZSA9ICcnOyAvLyB0cmFuc2xhdGVXZWJfVXJsXHJcbiAgc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gIHNob3dSZXN0b3JlID0gZmFsc2U7XHJcbiAgc2hvd1RyYW5zbGF0ZUJ0biA9IHRydWU7XHJcbiAgdHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICBkaXNhYmxlQnV0dG9uID0gZmFsc2U7IC8vIGFjdGlvbkJ1dHRvbkRpc2FibGVkXHJcblxyXG4gIC8vIHBhcmFtcyBmcm9tIGNvbmZpZyBzZXJ2aWNlLlxyXG4gIGxvZ29Mb2NhdGlvbjogc3RyaW5nO1xyXG4gIGRlYnVnOiBib29sZWFuO1xyXG4gIHdlYkxhbmdBdXRvZGV0ZWN0OiBib29sZWFuOyAvLyBUT0RPIGNoZWNrIGlmIHJlYWxseSBuZWVkZWQgLy8gYWZ0ZXIgcGFnZSBpcyBsb2FkZWQgYXV0byBkZXRlY3QgbGFuZ3VhZ2UgYW5kIGNoYW5nZSBhY3RpdmUgc3lzdGVtXHJcbiAgYWxsb3dTdWdnZXN0aW9uczogYm9vbGVhbjtcclxuICBoaWRlUG9wdXA6IGJvb2xlYW47XHJcbiAgdHJhbnNsYXRlUGFnZVBhdGg6IHN0cmluZzsgLy8gIHBhdGggdG8gV2ViVHJhbnNsYXRpb25Qcm94eVxyXG4gIGFwcElkOiBzdHJpbmc7XHJcbiAgeEFwaUtleTogc3RyaW5nO1xyXG4gIHRyYW5zbGF0ZVNlcnZpY2VVcmw6IHN0cmluZztcclxuXHJcbiAgc3dpdGNoZXJPcHRpb25zOiBJU3dpdGNoZXJUcmFuc2xhdGlvbk9wdGlvbnM7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBhY3RpdmVTeXN0ZW1PYmo6IEFjdGl2ZURhdGE7XHJcbiAgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICAvL1Byb2dyZXNzIGJhclxyXG4gIG1vZGU6IFByb2dyZXNzQmFyTW9kZSA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgcHJvZ3Jlc3NWYWx1ZSA9IDA7XHJcbiAgc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgc2hvd0VtcHR5VmlldyA9IHRydWU7XHJcblxyXG4gIGVtcHR5Vmlld0NvbmZpZzogU3RhdHVzRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHRpdGxlOiAnV0VCVFJBTlNMQVRFLk5PX1JFQ09SRFMuVElUTEUnLFxyXG4gICAgZGVzY3JpcHRpb246ICdXRUJUUkFOU0xBVEUuTk9fUkVDT1JEUy5ERVNDUklQVElPTicsXHJcbiAgICBkZXNjcmlwdGlvblBhcmFtczogeyBoZWxwVXJsOiB0aGlzLmhlbHBVcmwgfSxcclxuICAgIGljb246ICdtYW5hZ2Vfc2VhcmNoJyxcclxuICAgIGVuYWJsZWQ6IHRydWVcclxuICB9XHJcblxyXG4gIG5vU3lzdGVtc0Vycm9yOiBJVGxkVHJhbnNsYXRlTWVzc2FnZSA9IHsgdGV4dDogJ1RMRF9UUkFOU0xBVEUuRVJST1JfTk9fU1lTVEVNU19MT0FERUQnLCB0eXBlOiBUbGRNZXNzYWdlVHlwZS5FUlJPUiB9O1xyXG5cclxuICBnZXQgYWN0aW9uQnV0dG9uRGlzYWJsZWQoKSB7IHJldHVybiB0aGlzLmRpc2FibGVCdXR0b247IH1cclxuXHJcblxyXG4gIGdldCBoaWRlTGFuZ01lbnVMYWJlbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlPy5jb3JlQ29uZmlnLmhpZGVMYW5nTWVudUxhYmVscztcclxuICB9XHJcblxyXG4gIGdldCBtYXhEaXNwbGF5ZWRMYW5ndWFnZXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5tYXhEaXNwbGF5ZWRMYW5ndWFnZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDb2xsZWN0aW9uc0FjdGl2YXRlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2U/LnRlcm1Db25maWc/LmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZTtcclxuICB9XHJcblxyXG4gIGdldCBoZWxwVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLndlYnRyYW5zbGF0ZUNvbmZpZy5oZWxwVXJsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNhbmRib3goKSB7IHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2Uud2VidHJhbnNsYXRlQ29uZmlnLnNhbmRib3g7IH1cclxuXHJcbiAgcmVhZG9ubHkgdXNlUGFyZW50V2lkdGggPSB0cnVlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBjaGFuZ2VBdXRoKGlzQXV0aDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuaXNBdXRoID0gaXNBdXRoO1xyXG4gICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0KCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplV2lkZ2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uaW5pdCh0aGlzLnRsZFN5c3RlbS5nZXRMYXN0VXNlZFN5c3RlbSgpID8/IHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmRlZmF1bHRTeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5kZWJ1Zykge1xyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBhdmFpbGFibGVMYW5ndWFnZXMpIHtcclxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5zZXRUcmFuc2xhdGlvbihrZXksIGF2YWlsYWJsZUxhbmd1YWdlc1trZXldLCB0cnVlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5pc0F1dGggPSB0cnVlO1xyXG4gICAgICB0aGlzLnRyYW5zbGF0ZS51c2UoXCJlblwiKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRGcm9tQ29uZmlnKCk7XHJcbiAgICB0aGlzLmluaXRpYWxpemVXaWRnZXQoKTtcclxuXHJcbiAgICB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVEYXRhKCkucGlwZShcclxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh2YWw6IEFjdGl2ZURhdGEpID0+IHtcclxuICAgICAgICB0aGlzLmFjdGl2ZVN5c3RlbU9iaiA9IHZhbDtcclxuICAgICAgICBpZiAoIXZhbCkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN3aXRjaGVyT3B0aW9ucyA9IHtcclxuICAgICAgICAgIGRvbWFpbnM6IHZhbC5kb21haW5zLFxyXG4gICAgICAgICAgc291cmNlOiB7IGNvZGU6IHZhbC5zb3VyY2VMYW5nLmxhbmcsIHN5c3RlbUlkOiB2YWwuc3lzdGVtSWQgfSxcclxuICAgICAgICAgIHNvdXJjZUxhbmd1YWdlTGlzdDogdmFsLnNvdXJjZUxhbmdMaXN0LFxyXG4gICAgICAgICAgc3lzdGVtSWQ6IHZhbC5zeXN0ZW1JZCxcclxuICAgICAgICAgIHN3YXBBY3RpdmU6IHZhbC5zd2FwTGFuZ0FjdGl2ZSxcclxuICAgICAgICAgIHRhcmdldDogeyBjb2RlOiB2YWwudGFyZ2V0TGFuZy5sYW5nLCBzeXN0ZW1JZDogdmFsLnN5c3RlbUlkIH0sXHJcbiAgICAgICAgICB0YXJnZXRMYW5ndWFnZUxpc3Q6IHZhbC50YXJnZXRMYW5nTGlzdCxcclxuICAgICAgICAgIHZlbmRvcnM6IHZhbC52ZW5kb3JzXHJcbiAgICAgICAgfTtcclxuICAgICAgfSk7XHJcblxyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlQnV0dG9uU2VydmljZS5nZXRBY3Rpb25DbGljaygpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVCdXR0b25DbGljaygpO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLmFsZXJ0cy5nZXRNZXNzYWdlcygpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogTm90aWZpY2F0aW9uTWVzc2FnZSkgPT4ge1xyXG4gICAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLkVSUk9SKSB7XHJcbiAgICAgICAgICB0aGlzLm9uRXJyb3IuZW1pdChtZXNzYWdlLmVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gcHVzaGluZyBvbmx5IFwib25lIG9mXCIgbWVzc2FnZSBpbiBhcnJheSwgc28gc2NyZWVuIGlzIG5vdCBzcGFtbWVkIHdpdGggbWVzc2FnZXNcclxuICAgICAgICBjb25zdCBleGlzdGluZ01lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzLmZpbmQobXNnID0+IG1zZy5ib2R5ID09PSBtZXNzYWdlLmJvZHkgJiYgbXNnLnR5cGUgPT09IG1lc3NhZ2UudHlwZSAmJiBtc2cudGl0bGUgPT09IG1lc3NhZ2UudGl0bGUpO1xyXG4gICAgICAgIGlmICghZXhpc3RpbmdNZXNzYWdlKSB7XHJcbiAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0FQUF9OQU1FJykucGlwZShcclxuICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0ZXh0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5hcHBOYW1lID0gdGV4dDtcclxuICAgICAgfSk7XHJcblxyXG4gICAgd2luZG93Lm9ubWVzc2FnZSA9IHRoaXMucmVjZWl2ZU1lc3NhZ2UuYmluZCh0aGlzKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50bGRUcmFuc2xhdGVXZWJTZXJ2aWNlLnd0U2NyaXB0c0FkZGVkKSB7XHJcbiAgICAgIHRoaXMuYWRkU2NyaXB0KCcuL2Fzc2V0cy93ZWJ0cmFuc2xhdGUvdHJhbnNsYXRlLXdlYnNpdGUuanMnKTtcclxuICAgICAgdGhpcy5hZGRDb25maWd1cmF0aW9uU2NyaXAoKTtcclxuICAgICAgdGhpcy5hZGRTY3JpcHQoJy4vYXNzZXRzL3dlYnRyYW5zbGF0ZS9wYWdlLXRyYW5zbGF0ZS13aWRnZXQuanMnKTtcclxuICAgICAgdGhpcy50bGRUcmFuc2xhdGVXZWJTZXJ2aWNlLnd0U2NyaXB0c0FkZGVkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQobnVsbCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlY2VpdmVNZXNzYWdlKGV2ZW50OiBhbnkpIHtcclxuICAgIC8vIFRPRE8gYWRkIGNvcnJlY3Qgb3JpZ2luXHJcbiAgICAvLyBpZiAoZXZlbnQub3JpZ2luICE9PSBcIlwiKVxyXG4gICAgLy8gcmV0dXJuO1xyXG5cclxuICAgIGlmICh0aGlzLmRlYnVnKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICAgIGNvbnNvbGUuaW5mbygnTWVzc2FnZSByZWNlaXZlZCBmcm9tIGlmcmFtZTonICsgSlNPTi5zdHJpbmdpZnkoZXZlbnQuZGF0YSkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBpZiAoZXZlbnQuZGF0YSAmJiBldmVudC5kYXRhLm1lc3NhZ2UpIHtcclxuICAgICAgc3dpdGNoIChldmVudC5kYXRhLm1lc3NhZ2UpIHtcclxuICAgICAgICBjYXNlICdyZWFkeSc6XHJcbiAgICAgICAgICB0aGlzLnRsZFN5c3RlbS5zeXNMaXN0LnBpcGUoXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgICAgICBsZXQgc3lzdGVtTGlzdFRvSWZyYW1lID0gW107XHJcbiAgICAgICAgICAgICAgZGF0YS5mb3JFYWNoKChzeXMsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBzeXN0ZW1MaXN0VG9JZnJhbWUucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgIGlkOiBzeXMuaWQsXHJcbiAgICAgICAgICAgICAgICAgIHNvdXJjZUxhbmd1YWdlOiBzeXMuc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgICAgICAgIHRhcmdldExhbmd1YWdlOiBzeXMudGFyZ2V0TGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgICAgICAgIG5hbWU6IHN5cy5pZCxcclxuICAgICAgICAgICAgICAgICAgb3JkZXI6IGluZGV4LFxyXG4gICAgICAgICAgICAgICAgICBkb21haW46IHN5cy5kb21haW5cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAvLyBwdXNoIHN5c3RlbSBsaXN0IHRvIGlmcmFtZVxyXG4gICAgICAgICAgICAgIHRoaXMuc2V0dGluZ1N5c3RlbUxpc3RGb3JGaXJzdFRpbWUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAnc2V0U3lzdGVtTGlzdCcsIHN5c3RlbUxpc3Q6IHN5c3RlbUxpc3RUb0lmcmFtZSB9KTtcclxuICAgICAgICAgICAgICBpZiAodGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy51cmwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnbG9hZFVybCcsXHJcbiAgICAgICAgICAgICAgICAgIHVybDogdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy51cmwsXHJcbiAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZUFmdGVyTG9hZDogZmFsc2VcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cmxUb1RyYW5zbGF0ZSA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudXJsO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIHRoaXMudXJsSW5wdXRGaWVsZC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndXJsTG9hZGVkJzpcclxuICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAvLyB3ZWJwYWdlIGZpbmlzaGVkIGxvYWRpbmcsIHNldCB0aGUgZnVsbCB1cmwgaW4gYWRkcmVzcyBib3hcclxuICAgICAgICAgIHRoaXMudXJsVG9UcmFuc2xhdGUgPSBldmVudC5kYXRhLnVybDtcclxuICAgICAgICAgIHRoaXMuc2hvd1RyYW5zbGF0ZUJ0biA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVCdXR0b24gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzdGFydGVkTG9hZGluZyc6XHJcbiAgICAgICAgICB0aGlzLm1vZGUgPSAnaW5kZXRlcm1pbmF0ZSc7XHJcbiAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNob3dDYW5jZWwgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd1Jlc3RvcmUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd1RyYW5zbGF0ZUJ0biA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudCwgJ3NhbmRib3gnLCB0aGlzLnNhbmRib3gpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc3RvcHBlZExvYWRpbmcnOlxyXG4gICAgICAgICAgaWYgKCF0aGlzLnRyYW5zbGF0aW5nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dSZXN0b3JlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd1RyYW5zbGF0ZUJ0biA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc3lzdGVtQ2hhbmdlZCc6XHJcbiAgICAgICAgICAvLyBzZXQgZGVmYXVsdCBzeXN0ZW0sIHJpZ2h0IGFmdGVyIHdlYiB0cmFuc2xhdGlvbiB3aWRnZXQgaW4gaWZyYW1lIGlzIGxvYWRlZFxyXG4gICAgICAgICAgaWYgKHRoaXMuc2V0dGluZ1N5c3RlbUxpc3RGb3JGaXJzdFRpbWUpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXR0aW5nU3lzdGVtTGlzdEZvckZpcnN0VGltZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ2NoYW5nZVN5c3RlbScsIHN5c3RlbUlkOiB0aGlzLnN3aXRjaGVyT3B0aW9ucy5zeXN0ZW1JZCB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIGlmIGluaXRpYXRlZCBieSBsYW5ndWFnZSBvZiB0aGUgbG9hZGVkIHdlYnBhZ2UgYmVpbmcgZGlmZmVyZW50XHJcbiAgICAgICAgICAgIC8vIHRoYW4gc291cmNlIGxhbmd1YWdlIG9mIGN1cnJlbnRseSBzZWxlY3RlZCAgc3lzdGVtXHJcbiAgICAgICAgICAgIC8vIHdlIHNob3VsZCBjaGFuZ2UgdGhlIHN5c3RlbSBpbiBVSSBhbmQgd2FybiB0aGUgdXNlciBhYm91dCB0aGUgZmFjdFxyXG4gICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5hdXRvICYmIGV2ZW50LmRhdGEuY2hhbmdlZCkge1xyXG4gICAgICAgICAgICAgIGlmICh0aGlzLndlYkxhbmdBdXRvZGV0ZWN0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN5c3RlbUNoYW5nZShldmVudC5kYXRhLnN5c3RlbUlkKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3dpdGNoZXJPcHRpb25zLnN5c3RlbUlkID0gZXZlbnQuZGF0YS5zeXN0ZW1JZDtcclxuXHJcbiAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAnY2hhbmdlU3lzdGVtJywgc3lzdGVtSWQ6IHRoaXMuc3dpdGNoZXJPcHRpb25zLnN5c3RlbUlkIH0pO1xyXG5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0cmFuc2xhdGlvblN0YXJ0ZWQnOlxyXG4gICAgICAgICAgdGhpcy5tb2RlID0gJ2RldGVybWluYXRlJztcclxuICAgICAgICAgIHRoaXMucHJvZ3Jlc3NWYWx1ZSA9IDA7XHJcbiAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAvLyBkaXNhYmxlIHN5c3RlbSBjaGFuZ2UsIHNob3cgY2FuY2VsIGJ1dHRvblxyXG4gICAgICAgICAgdGhpcy5zaG93VHJhbnNsYXRlQnRuID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dDYW5jZWwgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5kaXNhYmxlQnV0dG9uID0gdHJ1ZTsgIC8vIHRvIGRpc2FibGVTeXN0ZW1DaGFuZ2VcclxuXHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0cmFuc2xhdGlvblN0b3BwZWQnOlxyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3RyYW5zbGF0ZWQnOlxyXG4gICAgICAgICAgLy8gc2hvdyByZXN0b3JlIGJ1dHRvblxyXG4gICAgICAgICAgdGhpcy5zaG93UmVzdG9yZSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLnNob3dDYW5jZWwgPSBmYWxzZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3VudHJhbnNsYXRlZCc6XHJcbiAgICAgICAgICAvLyBlbmFibGUgc3lzdGVtIGNoYW5nZSwgc2hvdyB0cmFuc2xhdGUgYnV0dG9uXHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVCdXR0b24gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd1Jlc3RvcmUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93VHJhbnNsYXRlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3Byb2dyZXNzJzpcclxuICAgICAgICAgIHRoaXMucHJvZ3Jlc3NWYWx1ZSA9IGV2ZW50LmRhdGEucHJvZ3Jlc3M7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdlcnJvcic6XHJcbiAgICAgICAgICAvLyBlbmFibGUgc3lzdGVtIGNoYW5nZSwgc2hvdyB0cmFuc2xhdGUgYnV0dG9uXHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVCdXR0b24gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd1Jlc3RvcmUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93VHJhbnNsYXRlQnRuID0gdHJ1ZTtcclxuICAgICAgICAgIGlmIChjb25zb2xlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXZlbnQuZGF0YS5kZXNjcmlwdGlvbik7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnd2FybmluZyc6XHJcbiAgICAgICAgICBpZiAoY29uc29sZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oZXZlbnQuZGF0YS5kZXNjcmlwdGlvbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNlbmRNZXNzYWdlKG1lc3NhZ2U6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZGVidWcpIHtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgICAgY29uc29sZS5pbmZvKCdNZXNzYWdlIHNlbnQgdG8gaWZyYW1lOicgKyBKU09OLnN0cmluZ2lmeShtZXNzYWdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgd2luZG93LnBvc3RNZXNzYWdlKG1lc3NhZ2UsIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlTWVzc2FnZShpeDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm1lc3NhZ2VzLnNwbGljZShpeCwgMSk7XHJcbiAgfVxyXG5cclxuICBzd2FwTGFuZ3VhZ2VzKCkge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uc3dhcFN5c3RlbUxhbmd1YWdlcygpO1xyXG5cclxuICAgIGNvbnN0IHN5cyA9IHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZVN5c3RlbU9iaigpO1xyXG4gICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICdjaGFuZ2VTeXN0ZW0nLCBzeXN0ZW1JZDogc3lzLmlkIH0pO1xyXG4gIH1cclxuXHJcbiAgc3lzdGVtQ2hhbmdlKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZVN5c3RlbShzeXN0ZW1JZCk7XHJcblxyXG4gICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICdjaGFuZ2VTeXN0ZW0nLCBzeXN0ZW1JZCB9KTtcclxuICB9XHJcblxyXG4gIHNvdXJjZUxhbmd1YWdlQ2hhbmdlKGxhbmd1YWdlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmNoYW5nZUxhbmd1YWdlKGxhbmd1YWdlLCB0aGlzLnN3aXRjaGVyT3B0aW9ucy50YXJnZXQuY29kZSk7XHJcblxyXG4gICAgY29uc3Qgc3lzID0gdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlU3lzdGVtT2JqKCk7XHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ2NoYW5nZVN5c3RlbScsIHN5c3RlbUlkOiBzeXMuaWQgfSk7XHJcbiAgfVxyXG5cclxuICB0YXJnZXRMYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5jaGFuZ2VMYW5ndWFnZSh0aGlzLnN3aXRjaGVyT3B0aW9ucy5zb3VyY2UuY29kZSwgbGFuZ3VhZ2UpO1xyXG5cclxuICAgIGNvbnN0IHN5cyA9IHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZVN5c3RlbU9iaigpO1xyXG4gICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICdjaGFuZ2VTeXN0ZW0nLCBzeXN0ZW1JZDogc3lzLmlkIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNsYXRlQnV0dG9uQ2xpY2soKSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZENvbGxlY3Rpb25JZCA9IHRoaXMudGVybWlub2xvZ3lTZXJ2aWNlLnNlbGVjdGVkSWRGb3JUcmFuc2xhdGlvbih0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVTeXN0ZW1PYmooKS5pZCk7XHJcblxyXG4gICAgaWYgKHRoaXMudXJsVG9UcmFuc2xhdGUgIT0gJycpIHtcclxuICAgICAgdGhpcy5zaG93RW1wdHlWaWV3ID0gZmFsc2U7XHJcblxyXG4gICAgICB0aGlzLnNlbmRNZXNzYWdlKHtcclxuICAgICAgICBtZXNzYWdlOiAnbG9hZFVybCcsXHJcbiAgICAgICAgdXJsOiB0aGlzLnVybFRvVHJhbnNsYXRlLFxyXG4gICAgICAgIHRyYW5zbGF0ZUFmdGVyTG9hZDogdHJ1ZSxcclxuICAgICAgICB0ZXJtQ29ycHVzSWQ6IHNlbGVjdGVkQ29sbGVjdGlvbklkXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZEJ1dHRvbkNsaWNrZWQoKSB7XHJcbiAgICBpZiAodGhpcy51cmxUb1RyYW5zbGF0ZSAhPSAnJykge1xyXG4gICAgICB0aGlzLnNob3dFbXB0eVZpZXcgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuc2VuZE1lc3NhZ2Uoe1xyXG4gICAgICAgIG1lc3NhZ2U6ICdsb2FkVXJsJyxcclxuICAgICAgICB1cmw6IHRoaXMudXJsVG9UcmFuc2xhdGUsXHJcbiAgICAgICAgdHJhbnNsYXRlQWZ0ZXJMb2FkOiBmYWxzZVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyVXJsVG9UcmFuc2xhdGUoKSB7XHJcbiAgICB0aGlzLnVybFRvVHJhbnNsYXRlID0gJyc7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ3VudHJhbnNsYXRlJyB9KTtcclxuICB9XHJcblxyXG4gIHJlc3RvcmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ3VudHJhbnNsYXRlJyB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEZyb21Db25maWcoKSB7XHJcbiAgICBjb25zdCBjb3JlQ29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWc7XHJcbiAgICBjb25zdCB3ZWJ0cmFuc2xhdGVDb25maWcgPSB0aGlzLmNvbmZpZ1NlcnZpY2Uud2VidHJhbnNsYXRlQ29uZmlnO1xyXG4gICAgdGhpcy5sb2dvTG9jYXRpb24gPSB3ZWJ0cmFuc2xhdGVDb25maWcubG9nb0xvY2F0aW9uO1xyXG4gICAgdGhpcy5kZWJ1ZyA9IHdlYnRyYW5zbGF0ZUNvbmZpZy5kZWJ1ZztcclxuICAgIHRoaXMud2ViTGFuZ0F1dG9kZXRlY3QgPSB3ZWJ0cmFuc2xhdGVDb25maWcud2ViTGFuZ0F1dG9kZXRlY3Q7IC8vIGFmdGVyIHBhZ2UgaXMgbG9hZGVkIGF1dG8gZGV0ZWN0IGxhbmd1YWdlIGFuZCBjaGFuZ2UgYWN0aXZlIHN5c3RlbVxyXG4gICAgdGhpcy5hbGxvd1N1Z2dlc3Rpb25zID0gd2VidHJhbnNsYXRlQ29uZmlnLmFsbG93U3VnZ2VzdGlvbnM7XHJcbiAgICB0aGlzLmhpZGVQb3B1cCA9IHdlYnRyYW5zbGF0ZUNvbmZpZy5oaWRlUG9wdXA7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVBhZ2VQYXRoID0gd2VidHJhbnNsYXRlQ29uZmlnLnRyYW5zbGF0ZVBhZ2VQYXRoO1xyXG4gICAgdGhpcy5hcHBJZCA9IHdlYnRyYW5zbGF0ZUNvbmZpZy5hcHBJZDtcclxuXHJcbiAgICB0aGlzLnhBcGlLZXkgPSBjb3JlQ29uZmlnLnhBcGlLZXk7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlVXJsID0gdGhpcy5jb25maWdTZXJ2aWNlLnRleHRDb25maWcudHJhbnNsYXRpb25Vcmw7XHJcbiAgfVxyXG5cclxuICBnb1RvSG9tZSgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJycpO1xyXG4gICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICd1bnRyYW5zbGF0ZScgfSk7XHJcbiAgfVxyXG5cclxuICBhZGRTY3JpcHQodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgc2NyaXB0LnNyYyA9IHVybDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcclxuICB9XHJcblxyXG4gIGFkZENvbmZpZ3VyYXRpb25TY3JpcCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudC5ib2R5IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG4gICAgc2NyaXB0LmlubmVySFRNTCA9ICcnO1xyXG4gICAgc2NyaXB0LmlubmVySFRNTCA9IGBcclxuXHJcbiAgICBpZiAodHlwZW9mIChUaWxkZSkgPT09ICd1bmRlZmluZWQnKVxyXG4gICAgICAgIFRpbGRlID0ge307XHJcblxyXG4gICAgICAgIFRpbGRlLlBhZ2VUcmFuc2xhdGVXaWRnZXRTZXJ2ZXJDb25maWd1cmF0aW9uID0ge1xyXG4gICAgICAgICAgdHJhbnNsYXRlU2VydmljZVVybDogJyR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlVXJsfScsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICBUaWxkZS5QYWdlVHJhbnNsYXRlV2lkZ2V0Q2xpZW50Q29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgVHJhbnNsYXRlUGFnZVByZWZpeDogbG9jYXRpb24uaG9zdCArICcvJHt0aGlzLnRyYW5zbGF0ZVBhZ2VQYXRofS8nLFxyXG5cclxuICAgICAgICAvLyBVcmwgb2YgdGhlIHBsYWNlIHdoZXJlIENTUyBmb3IgdHJhbnNsYXRpb24gd2lkZ2V0IGlzIGtlcHRcclxuICAgICAgICAvLyBpZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgdGhlIHN0YW5kYXJkIGxldHNtdCBzdHlsZSxcclxuICAgICAgICAvLyBwb2ludCB0aGlzIHRvIHlvdXIgb3duIGNzcyBmaWxlXHJcbiAgICAgICAgY3NzTG9jYXRpb246ICcuL2Fzc2V0cy93ZWJ0cmFuc2xhdGUvd2lkZ2V0LmNzcycsXHJcblxyXG4gICAgICAgIC8vIHgtYXBpLWtleSBmb3IgYXV0aG9yaXphdGlvblxyXG4gICAgICAgIHhBcGlLZXk6IFwiJHt0aGlzLnhBcGlLZXl9XCIsXHJcblxyXG4gICAgICAgIC8vYXBpIHZlcnNpb25cclxuICAgICAgICBhcGlWZXJzaW9uOiBcIjFcIiwgIC8vIEhhcmRjb2RlZCwgc2luY2Ugb25seSBvbmUgdmVyc2lvbiBpcyBzdXBwb3J0ZWRcclxuXHJcbiAgICAgICAgLy8gZW5hYmxlIG9yIGRpc2FibGUgb3JpZ2luYWwgdGV4dCBwb3B1cFxyXG4gICAgICAgIGhpZGVQb3B1cDogJHt0aGlzLmhpZGVQb3B1cH0sXHJcblxyXG4gICAgICAgIC8vIGlkIG9mIHRoZSA8ZGl2PiB3aGVyZSB0byBkcmF3IHdpZGdldFxyXG4gICAgICAgIHdpZGdldENvbnRhaW5lcklkOiBcIlBhZ2VUcmFuc2xhdGVXaWRnZXRcIixcclxuXHJcbiAgICAgICAgLy8gYXZhaWxhYmxlIHRyYW5zbGF0aW9uIHN5c3RlbXMgKHRhcmdldCBsYW5ndWFnZXMpXHJcbiAgICAgICAgdHJhbnNsYXRpb25TeXN0ZW1zOiBbXSxcclxuXHJcbiAgICAgICAgLy8gc291cmNlIGxhbmd1YWdlIG9mIHRoZSBwYWdlIHRoYXQgbmVlZHMgdG8gYmUgdHJhbnNsYXRlZFxyXG4gICAgICAgIGxhbmd1YWdlOiBcImVuXCIsXHJcblxyXG4gICAgICAgIC8vIHRyYW5zbGF0ZSB3aWRnZXQgVUkgdG8gbGFuZ3VhZ2UgdGhhdCBpcyBjaG9zZW4gaW4gdGFyZ2V0IGxhbmd1YWdlIGRyb3Bkb3duXHJcbiAgICAgICAgdHJhbnNsYXRlVUl0b0Nob3Nlbkxhbmd1YWdlOiBmYWxzZSxcclxuXHJcbiAgICAgICAgLy8gdHJhbnNsYXRlIHdpZGdldCBhZG1pbmlzdHJhdGl2ZSBwYXJ0IHRvIGxhbmd1YWdlIHRoYXQgaXMgY2hvc2VuIGluIHRhcmdldCBsYW5ndWFnZSBkcm9wZG93blxyXG4gICAgICAgIHRyYW5zbGF0ZUFkbWluVUl0b0Nob3Nlbkxhbmd1YWdlOiBmYWxzZSxcclxuXHJcbiAgICAgICAgdWlMYW5ndWFnZTogXCIke3RoaXMudHJhbnNsYXRlLmN1cnJlbnRMYW5nfVwiLFxyXG5cclxuICAgICAgICAvLyBpZiBwYWdlIHdhcyB0cmFuc2xhdGVkIGFuZCB5b3UgY2xpY2sgb24gYSBsaW5rXHJcbiAgICAgICAgLy8gdGhhdCBnb2VzIHRvIGFub3RoZXIgcGFnZSBpbiB0aGUgc2FtZSBzaXRlLFxyXG4gICAgICAgIC8vIHRoZW4gdHJhbnNsYXRlIHRoZSBuZXdseSBvcGVuZWQgcGFnZSBhbHNvXHJcbiAgICAgICAgdHJhbnNsYXRlQWZ0ZXJOYXZpZ2F0aW9uOiB0cnVlLFxyXG5cclxuICAgICAgICAvLyB0cnVlIC0gbGFuZ3VhZ2UgbGlzdCBpcyBzaG93biBhcyBsaW5rc1xyXG4gICAgICAgIC8vIGZhbHNlIC0gbGFuZ3VhZ2UgbGlzdCBpcyBzaG93biBhcyBkcm9wZG93biBsaXN0IGFuZCBcInRyYW5zbGF0ZVwiIGJ1dHRvblxyXG4gICAgICAgIGxhbmd1YWdlTGlzdEFzTGlua3M6IGZhbHNlLFxyXG5cclxuICAgICAgICBzaG93SGVhZGVyOiBmYWxzZSxcclxuXHJcbiAgICAgICAgc2hvd1RyYW5zbGF0aW9uU3VnZ2VzdGlvbkFkbWluUGFnZTogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIGFmdGVyIHRyYW5zbGF0aW9uIHNob3cgYSB3YXJuaW5nIHRoYXQgcGFnZSBpcyBtYWNoaW5lIHRyYW5zbGF0ZWQgYXQgdGhlIHRvcCBvZiB0aGUgcGFnZVxyXG4gICAgICAgIHNob3dNYWNoaW5lVHJhbnNsYXRpb25XYXJuaW5nQWZ0ZXJUcmFuc2xhdGlvbjogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIHNob3cgYWxsIGF2YWlsYWJsZSB0cmFuc2xhdGlvbiBzeXN0ZW1zIGluc3RlYWQgb2YganVzdCB0aGUgb25lcyBjb25maWd1cmVkIGluIHRoaXMgZmlsZVxyXG4gICAgICAgIHNob3dBbGxUcmFuc2xhdGlvblN5c3RlbXM6IGZhbHNlLFxyXG5cclxuICAgICAgICAvLyBhZGQgc29tZSBwaXhlbHMgdG8gZHJvcGRvd24gcGFkZGluZyB0byBtYWtlIGl0IGxvb2sgbW9yZSBzaW1pbGFyIG9uIGRpZmZlcmVudCBicm93c2Vyc1xyXG4gICAgICAgIGJyb3dzZXJTcGVjaWZpY0Ryb3Bkb3duUGFkZGluZzogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIG5hbWUgb2YgaWNvbiBzZXQ6IFwiZGVmYXVsdFwiLCBcIndoaXRlXCIsIFwiZ3JleVwiLCBcInJlZFwiXHJcbiAgICAgICAgaWNvblNldDogXCJ3aGl0ZVwiLFxyXG5cclxuICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6IDEsIDIsIDMuIFRleHQgZm9yIGxpbmsgXCJSZXN0b3JlIG9yaWdpbmFsOiBMYXR2aWFuXCIgbWF5IGJlIG1hZGUgc2hvcnRlciBvciBsb25nZXJcclxuICAgICAgICAvLyB1c2VmdWwgdG8gYWRhcHQgdG8gc21hbGwgb3IgbGFyZ2Ugc2NyZWVuc1xyXG4gICAgICAgIHJlc3RvcmVPcmlnaW5hbExpbmtMZW5ndGg6IDIsXHJcblxyXG4gICAgICAgIC8vIGVuYWJsZSBvciBkaXNhYmxlIFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiIGxpbmsgaW4gcG9wdXAgdGhhdCBzaG93cyBvcmlnaW5hbCB0ZXh0IG9mIHRyYW5zbGF0ZWQgc2VudGVuY2VcclxuICAgICAgICBzdWdnZXN0VHJhbnNsYXRpb246ICR7dGhpcy5hbGxvd1N1Z2dlc3Rpb25zfSxcclxuXHJcbiAgICAgICAgLy8gc2hvdyBtZXNzYWdlIGJveCB3aGVuIGVycm9yIGhhcHBlbnM/XHJcbiAgICAgICAgc2hvd01lc3NhZ2VCb3hPbkVycm9yOiBmYWxzZSxcclxuXHJcbiAgICAgICAgLy8gYXBwbGljYXRpb24gaWRlbnRpZmllclxyXG4gICAgICAgIGFwcElkOiBcIiR7dGhpcy5hcHBJZH1cIixcclxuXHJcbiAgICAgICAgLy8gc2VydmVyIHdpbGwgb25seSByZXR1cm4gc3lzdGVtcyB0aGF0IGFyZSBtZWFudCBmb3IgZ2l2ZW4gYXBwSWRcclxuICAgICAgICBmaWx0ZXJTeXN0ZW1zQnlBcHBJZDogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIHNob3cgaGVscCBsaW5rXHJcbiAgICAgICAgZW5hYmxlSGVscDogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIHNob3cgZmVlZGJhY2sgbGlua1xyXG4gICAgICAgIGVuYWJsZUZlZWRiYWNrOiBmYWxzZSxcclxuXHJcbiAgICAgICAgLy8gYWxsb3dlZCBzeXN0ZW0gc3RhdHVzZXMsIGJ5IGRlZmF1bHQgb25seSBcInJ1bm5pbmdcIlxyXG4gICAgICAgIGFsbG93ZWRTeXN0ZW1TdGF0dXNlczogXCJydW5uaW5nXCIsXHJcblxyXG4gICAgICAgIC8vIHBhc3NlZCB0byB0cmFuc2xhdGlvbiBzZXJ2aWNlIGZvciBsb2dnaW5nLlxyXG4gICAgICAgIC8vIFwid2ViLWVtYmVkZGVkXCIgZm9yIHdpZGdldCB0aGF0IGlzIGVtYmVkZGVkIGluIGh0bWwgcGFnZSxcclxuICAgICAgICAvLyBcIndlYlwiIGZvciB3aWRnZXQgdGhhdCBjYW4gbG9hZCBhbmQgdHJhbnNsYXRlIGFueSB3ZWJzaXRlXHJcbiAgICAgICAgd2lkZ2V0OiBcIndlYlwiXHJcbiAgICB9O1xyXG4gICAgYDtcclxuICAgIGJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cIndpZGdldFwiIGNsYXNzPVwidGxkLXRyYW5zbGF0ZS13ZWJcIj5cclxuICA8ZGl2IGNsYXNzPVwidHJhbnNsYXRlLWNvbnRhaW5lci1oZWFkZXJcIj5cclxuICAgIDxhIGhyZWY9XCIvXCIgaWQ9XCJob21lLWxpbmtcIiBbYXR0ci50aXRsZV09XCInV0VCVFJBTlNMQVRFLkJBQ0snIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgIDxpbWcgW3NyY109XCJsb2dvTG9jYXRpb25cIiBhbHQ9XCJsb2dvXCI+XHJcbiAgICAgIDxsaWItY29tcGFueS1wcm9kdWN0ICpuZ0lmPVwiY29tcGFueSAmJiBwcm9kdWN0XCIgW2NvbXBhbnldPVwiY29tcGFueVwiIFtwcm9kdWN0XT1cInByb2R1Y3RcIj48L2xpYi1jb21wYW55LXByb2R1Y3Q+XHJcbiAgICA8L2E+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzLmx0LXNtXT1cIid0bGQtdHJhbnNsYXRlLW1vYmlsZSdcIj5cclxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGNsYXNzPVwiYWRkcmVzcy13cmFwcGVyXCI+XHJcbiAgICAgICAgPGEgKGNsaWNrKT1cImdvVG9Ib21lKClcIiBbYXR0ci50aXRsZV09XCInV0VCVFJBTlNMQVRFLkJBQ0snIHwgdHJhbnNsYXRlXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XHJcbiAgICAgICAgPC9hPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBmeEZsZXg9XCIxMDAlXCIgY2xhc3M9XCJhZGRyZXNzLWlucHV0XCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjb2xvcj1cImFjY2VudFwiPlxyXG4gICAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIj5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCInV0VCVFJBTlNMQVRFLlNFQVJDSCcgfCB0cmFuc2xhdGVcIiB0eXBlPVwidXJsXCIgI3VybCBjbGFzcz1cInVybFwiIGF1dG9mb2N1cz1cImF1dG9mb2N1c1wiIFsobmdNb2RlbCldPVwidXJsVG9UcmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgIChrZXl1cC5lbnRlcik9XCJsb2FkQnV0dG9uQ2xpY2tlZCgpXCIgLz5cclxuXHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwidXJsVG9UcmFuc2xhdGVcIiBbaW5saW5lXT1cInRydWVcIiAoY2xpY2spPVwiY2xlYXJVcmxUb1RyYW5zbGF0ZSgpXCI+Y2xvc2U8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiIGNsYXNzPVwidGxkLXRyYW5zbGF0ZS1zd2l0Y2hlci13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXIgY2VudGVyXCIgZnhGbGV4PlxyXG4gICAgICAgICAgPHRsZC10cmFuc2xhdGUtc3dpdGNoZXJcclxuICAgICAgICAgICAgKm5nSWY9XCJzd2l0Y2hlck9wdGlvbnNcIlxyXG4gICAgICAgICAgICBbaXNDb2xsZWN0aW9uc0FjdGl2YXRlZF09XCJpc0NvbGxlY3Rpb25zQWN0aXZhdGVkXCJcclxuICAgICAgICAgICAgW3VzZVBhcmVudFdpZHRoXT1cInVzZVBhcmVudFdpZHRoXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbkJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgICAgICAgW3NldHRpbmdzXT1cInN3aXRjaGVyT3B0aW9uc1wiXHJcbiAgICAgICAgICAgIFtzaG93VHJhbnNsYXRlQnV0dG9uXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgW2hpZGVPblNtYWxsU2NyZWVuc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtoaWRlTGFuZ01lbnVMYWJlbHNdPVwiaGlkZUxhbmdNZW51TGFiZWxzXCJcclxuICAgICAgICAgICAgW21heERpc3BsYXllZExhbmd1YWdlc109XCJtYXhEaXNwbGF5ZWRMYW5ndWFnZXNcIlxyXG4gICAgICAgICAgICBbc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lXT1cInNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZVwiXHJcbiAgICAgICAgICAgIChvbkRvbWFpbkNoYW5nZSk9XCJzeXN0ZW1DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChvbkFjdGlvbkNsaWNrKT1cInRyYW5zbGF0ZUJ1dHRvbkNsaWNrKClcIlxyXG4gICAgICAgICAgICAob25MYW5ndWFnZVN3YXApPVwic3dhcExhbmd1YWdlcygpXCJcclxuICAgICAgICAgICAgKG9uU291cmNlTGFuZ3VhZ2VDaGFuZ2UpPVwic291cmNlTGFuZ3VhZ2VDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChvblRhcmdldExhbmd1YWdlQ2hhbmdlKT1cInRhcmdldExhbmd1YWdlQ2hhbmdlKCRldmVudClcIj5cclxuICAgICAgICAgIDwvdGxkLXRyYW5zbGF0ZS1zd2l0Y2hlcj5cclxuICAgICAgICAgIDxkaXYgZnhGbGV4QWxpZ249XCJjZW50ZXJcIiBjbGFzcz1cImFjdGlvbi1idG4td3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8dGxkLXRyYW5zbGF0ZS1idXR0b25cclxuICAgICAgICAgICAgICAqbmdJZj1cInNob3dUcmFuc2xhdGVCdG5cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3dpdGNoZXItdHJhbnNsYXRlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImFjdGlvbkJ1dHRvbkRpc2FibGVkIHx8ICF1cmxUb1RyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgICA8L3RsZC10cmFuc2xhdGUtYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0NhbmNlbFwiIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJjYW5jZWwoKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYW5jZWwtYnV0dG9uXCI+e3snV0VCVFJBTlNMQVRFLkNBTkNFTCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd1Jlc3RvcmVcIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwicmVzdG9yZSgpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInJlc3RvcmUtYnV0dG9uXCI+e3snV0VCVFJBTlNMQVRFLlJFU1RPUkUnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IFtjbGFzcy5oLWZ1bGxdPVwiIXNob3dFbXB0eVZpZXdcIiBpZD1cIndlYnNpdGUtZnJhbWUtY29udGFpbmVyXCI+XHJcbiAgICA8bWF0LXByb2dyZXNzLWJhciAqbmdJZj1cInNob3dQcm9ncmVzc1wiIGNvbG9yPVwiYWNjZW50XCIgW21vZGVdPVwibW9kZVwiIFt2YWx1ZV09XCJwcm9ncmVzc1ZhbHVlXCI+XHJcbiAgICA8L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICA8bGliLXRsZC1ub3RpZmljYXRpb24tbWVzc2FnZSBbQG9wZW5DbG9zZUFuaW1hdGlvbl0gKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXM7IGxldCBpeCA9IGluZGV4XCIgW21lc3NhZ2VdPVwibWVzc2FnZVwiXHJcbiAgICAgIChjbG9zZUNsaWNrZWQpPVwicmVtb3ZlTWVzc2FnZShpeClcIj48L2xpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2U+XHJcbiAgICBcclxuICAgIDxpZnJhbWUgKm5nSWY9XCIhc2hvd0VtcHR5VmlldzsgZWxzZSBlbXB0eVZpZXdcIiAjaWZyYW1lIGlkPVwibGV0c210LXRyYW5zbGF0ZS1wYWdlLWlmcmFtZVwiIG5hbWU9XCJsZXRzbXRUcmFuc2xhdGVQYWdlSWZyYW1lXCIgc3JjPVwiYWJvdXQ6YmxhbmtcIj48L2lmcmFtZT5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNlbXB0eVZpZXc+XHJcbiAgICA8bGliLXN0YXR1cy1kaXNwbGF5IFtjb25maWddPVwiZW1wdHlWaWV3Q29uZmlnXCI+PC9saWItc3RhdHVzLWRpc3BsYXk+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
532
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS13ZWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXdlYi90bGQtdHJhbnNsYXRlLXdlYi90bGQtdHJhbnNsYXRlLXdlYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtd2ViL3RsZC10cmFuc2xhdGUtd2ViL3RsZC10cmFuc2xhdGUtd2ViLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUgsT0FBTyxFQUFpRCx1QkFBdUIsRUFBMkMsTUFBTSx1QkFBdUIsQ0FBQztBQUN4SixPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQXdCLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSS9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBSXpFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFtQjdCLE1BQU0sT0FBTyw0QkFBNEI7SUFJcEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNUO0lBQ1M7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RUFBRSxDQUFDLENBQUMsQ0FBQzt5QkFDdEMsQ0FBQztxQkFDSDtvWkFHb0IsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQWNWLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRVksYUFBYTtzQkFBOUIsU0FBUzt1QkFBQyxLQUFLO2dCQXVCTixPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmVEYXRhLCBBbGVydFNlcnZpY2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2UsIE5vdGlmaWNhdGlvbk1lc3NhZ2VUeXBlLCBTdGF0dXNEaXNwbGF5Q29uZmlnLCBUZXJtaW5vbG9neVNlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQnV0dG9uU2VydmljZSB9IGZyb20gJy4uLy4uL3RsZC1jb21tb24vY29tcG9uZW50cy90cmFuc2xhdGUtYnV0dG9uL3RsZC10cmFuc2xhdGUtYnV0dG9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJVGxkVHJhbnNsYXRlTWVzc2FnZSwgVGxkTWVzc2FnZVR5cGUgfSBmcm9tICcuLi8uLi90bGQtY29tbW9uL21vZGVscyc7XHJcbmltcG9ydCB7IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2UsIFRsZFRyYW5zbGF0ZVN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdGxkLWNvbW1vbi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IElTd2l0Y2hlclRyYW5zbGF0aW9uT3B0aW9ucyB9IGZyb20gJy4uLy4uL3RsZC10b29sdGlwL21vZGVscy9zd2l0Y2hlci1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlV2ViU2VydmljZSB9IGZyb20gJy4uL3RsZC10cmFuc2xhdGUtd2ViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBhdmFpbGFibGVMYW5ndWFnZXMgfSBmcm9tICcuLy4uLy4uLy4uL2kxOG4vYXZhaWxhYmxlLWxhbmd1YWdlcyc7XHJcblxyXG5cclxuZGVjbGFyZSB2YXIgd2luZG93OiBhbnk7XHJcbndpbmRvdy4kID0gd2luZG93LmpRdWVyeSA9ICQ7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGUtd2Vic2l0ZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RsZC10cmFuc2xhdGUtd2ViLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90bGQtdHJhbnNsYXRlLXdlYi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5DbG9zZUFuaW1hdGlvbicsIFtcclxuXHJcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICBzdHlsZSh7IGhlaWdodDogMCB9KSxcclxuICAgICAgICBhbmltYXRlKDUwMClcclxuICAgICAgXSksXHJcblxyXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLFxyXG4gICAgICAgIGFuaW1hdGUoNTAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSkpXHJcbiAgICBdKVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRsZFRyYW5zbGF0ZVdlYnNpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnaWZyYW1lJykgaWZyYW1lOiBFbGVtZW50UmVmO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVCdXR0b25TZXJ2aWNlOiBUbGRUcmFuc2xhdGVCdXR0b25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHM6IEFsZXJ0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGxkU3lzdGVtOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdGVybWlub2xvZ3lTZXJ2aWNlOiBUZXJtaW5vbG9neVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRsZFRyYW5zbGF0ZVdlYlNlcnZpY2U6IFRsZFRyYW5zbGF0ZVdlYlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgKSB7IH1cclxuICBASW5wdXQoKSBwcm9kdWN0ID0gJyc7XHJcbiAgQElucHV0KCkgY29tcGFueSA9ICcnO1xyXG5cclxuICBAVmlld0NoaWxkKCd1cmwnKSB1cmxJbnB1dEZpZWxkOiBFbGVtZW50UmVmO1xyXG5cclxuICBzZXR0aW5nU3lzdGVtTGlzdEZvckZpcnN0VGltZTogYm9vbGVhbjtcclxuICB1cmxUb1RyYW5zbGF0ZSA9ICcnOyAvLyB0cmFuc2xhdGVXZWJfVXJsXHJcbiAgc2hvd0NhbmNlbCA9IGZhbHNlO1xyXG4gIHNob3dSZXN0b3JlID0gZmFsc2U7XHJcbiAgc2hvd1RyYW5zbGF0ZUJ0biA9IHRydWU7XHJcbiAgdHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICBkaXNhYmxlQnV0dG9uID0gZmFsc2U7IC8vIGFjdGlvbkJ1dHRvbkRpc2FibGVkXHJcblxyXG4gIC8vIHBhcmFtcyBmcm9tIGNvbmZpZyBzZXJ2aWNlLlxyXG4gIGxvZ29Mb2NhdGlvbjogc3RyaW5nO1xyXG4gIGRlYnVnOiBib29sZWFuO1xyXG4gIHdlYkxhbmdBdXRvZGV0ZWN0OiBib29sZWFuOyAvLyBUT0RPIGNoZWNrIGlmIHJlYWxseSBuZWVkZWQgLy8gYWZ0ZXIgcGFnZSBpcyBsb2FkZWQgYXV0byBkZXRlY3QgbGFuZ3VhZ2UgYW5kIGNoYW5nZSBhY3RpdmUgc3lzdGVtXHJcbiAgYWxsb3dTdWdnZXN0aW9uczogYm9vbGVhbjtcclxuICBoaWRlUG9wdXA6IGJvb2xlYW47XHJcbiAgdHJhbnNsYXRlUGFnZVBhdGg6IHN0cmluZzsgLy8gIHBhdGggdG8gV2ViVHJhbnNsYXRpb25Qcm94eVxyXG4gIGFwcElkOiBzdHJpbmc7XHJcbiAgeEFwaUtleTogc3RyaW5nO1xyXG4gIHRyYW5zbGF0ZVNlcnZpY2VVcmw6IHN0cmluZztcclxuXHJcbiAgc3dpdGNoZXJPcHRpb25zOiBJU3dpdGNoZXJUcmFuc2xhdGlvbk9wdGlvbnM7XHJcblxyXG4gIEBPdXRwdXQoKSBvbkVycm9yOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBhY3RpdmVTeXN0ZW1PYmo6IEFjdGl2ZURhdGE7XHJcbiAgbWVzc2FnZXM6IE5vdGlmaWNhdGlvbk1lc3NhZ2VbXSA9IFtdO1xyXG5cclxuICAvL1Byb2dyZXNzIGJhclxyXG4gIG1vZGU6IFByb2dyZXNzQmFyTW9kZSA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgcHJvZ3Jlc3NWYWx1ZSA9IDA7XHJcbiAgc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgc2hvd0VtcHR5VmlldyA9IHRydWU7XHJcblxyXG4gIGVtcHR5Vmlld0NvbmZpZzogU3RhdHVzRGlzcGxheUNvbmZpZyA9IHtcclxuICAgIHRpdGxlOiAnV0VCVFJBTlNMQVRFLk5PX1JFQ09SRFMuVElUTEUnLFxyXG4gICAgZGVzY3JpcHRpb246ICdXRUJUUkFOU0xBVEUuTk9fUkVDT1JEUy5ERVNDUklQVElPTicsXHJcbiAgICBkZXNjcmlwdGlvblBhcmFtczogeyBoZWxwVXJsOiB0aGlzLmhlbHBVcmwgfSxcclxuICAgIGljb246ICdtYW5hZ2Vfc2VhcmNoJyxcclxuICAgIGVuYWJsZWQ6IHRydWVcclxuICB9XHJcblxyXG4gIG5vU3lzdGVtc0Vycm9yOiBJVGxkVHJhbnNsYXRlTWVzc2FnZSA9IHsgdGV4dDogJ1RMRF9UUkFOU0xBVEUuRVJST1JfTk9fU1lTVEVNU19MT0FERUQnLCB0eXBlOiBUbGRNZXNzYWdlVHlwZS5FUlJPUiB9O1xyXG5cclxuICBnZXQgYWN0aW9uQnV0dG9uRGlzYWJsZWQoKSB7IHJldHVybiB0aGlzLmRpc2FibGVCdXR0b247IH1cclxuXHJcblxyXG4gIGdldCBoaWRlTGFuZ01lbnVMYWJlbHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlPy5jb3JlQ29uZmlnLmhpZGVMYW5nTWVudUxhYmVscztcclxuICB9XHJcblxyXG4gIGdldCBtYXhEaXNwbGF5ZWRMYW5ndWFnZXMoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5tYXhEaXNwbGF5ZWRMYW5ndWFnZXM7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNDb2xsZWN0aW9uc0FjdGl2YXRlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2U/LnRlcm1Db25maWc/LmlzQ29sbGVjdGlvbnNBY3RpdmF0ZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd0RvbWFpbnNXaXRoTGFuZ3VhZ2VOYW1lKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLnNob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZTtcclxuICB9XHJcblxyXG4gIGdldCBoZWxwVXJsKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlPy53ZWJ0cmFuc2xhdGVDb25maWc/LmhlbHBVcmw7XHJcbiAgfVxyXG5cclxuICBnZXQgc2FuZGJveCgpIHsgXHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLndlYnRyYW5zbGF0ZUNvbmZpZy5zYW5kYm94OyBcclxuICB9XHJcblxyXG4gIHJlYWRvbmx5IHVzZVBhcmVudFdpZHRoID0gdHJ1ZTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgY2hhbmdlQXV0aChpc0F1dGg6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnLmlzQXV0aCA9IGlzQXV0aDtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVdpZGdldCgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZVdpZGdldCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLmluaXQodGhpcy50bGRTeXN0ZW0uZ2V0TGFzdFVzZWRTeXN0ZW0oKSA/PyB0aGlzLmNvbmZpZ1NlcnZpY2UuY29yZUNvbmZpZy5kZWZhdWx0U3lzdGVtSWQpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuZGVidWcpIHtcclxuICAgICAgZm9yIChjb25zdCBrZXkgaW4gYXZhaWxhYmxlTGFuZ3VhZ2VzKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0VHJhbnNsYXRpb24oa2V5LCBhdmFpbGFibGVMYW5ndWFnZXNba2V5XSwgdHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuaXNBdXRoID0gdHJ1ZTtcclxuICAgICAgdGhpcy50cmFuc2xhdGUudXNlKFwiZW5cIik7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0RnJvbUNvbmZpZygpO1xyXG4gICAgdGhpcy5pbml0aWFsaXplV2lkZ2V0KCk7XHJcblxyXG4gICAgdGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlRGF0YSgpLnBpcGUoXHJcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgodmFsOiBBY3RpdmVEYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVTeXN0ZW1PYmogPSB2YWw7XHJcbiAgICAgICAgaWYgKCF2YWwpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zd2l0Y2hlck9wdGlvbnMgPSB7XHJcbiAgICAgICAgICBkb21haW5zOiB2YWwuZG9tYWlucyxcclxuICAgICAgICAgIHNvdXJjZTogeyBjb2RlOiB2YWwuc291cmNlTGFuZy5sYW5nLCBzeXN0ZW1JZDogdmFsLnN5c3RlbUlkIH0sXHJcbiAgICAgICAgICBzb3VyY2VMYW5ndWFnZUxpc3Q6IHZhbC5zb3VyY2VMYW5nTGlzdCxcclxuICAgICAgICAgIHN5c3RlbUlkOiB2YWwuc3lzdGVtSWQsXHJcbiAgICAgICAgICBzd2FwQWN0aXZlOiB2YWwuc3dhcExhbmdBY3RpdmUsXHJcbiAgICAgICAgICB0YXJnZXQ6IHsgY29kZTogdmFsLnRhcmdldExhbmcubGFuZywgc3lzdGVtSWQ6IHZhbC5zeXN0ZW1JZCB9LFxyXG4gICAgICAgICAgdGFyZ2V0TGFuZ3VhZ2VMaXN0OiB2YWwudGFyZ2V0TGFuZ0xpc3QsXHJcbiAgICAgICAgICB2ZW5kb3JzOiB2YWwudmVuZG9yc1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG5cclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZUJ1dHRvblNlcnZpY2UuZ2V0QWN0aW9uQ2xpY2soKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlQnV0dG9uQ2xpY2soKTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy5hbGVydHMuZ2V0TWVzc2FnZXMoKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKG1lc3NhZ2U6IE5vdGlmaWNhdGlvbk1lc3NhZ2UpID0+IHtcclxuICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBOb3RpZmljYXRpb25NZXNzYWdlVHlwZS5FUlJPUikge1xyXG4gICAgICAgICAgdGhpcy5vbkVycm9yLmVtaXQobWVzc2FnZS5lcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHB1c2hpbmcgb25seSBcIm9uZSBvZlwiIG1lc3NhZ2UgaW4gYXJyYXksIHNvIHNjcmVlbiBpcyBub3Qgc3BhbW1lZCB3aXRoIG1lc3NhZ2VzXHJcbiAgICAgICAgY29uc3QgZXhpc3RpbmdNZXNzYWdlID0gdGhpcy5tZXNzYWdlcy5maW5kKG1zZyA9PiBtc2cuYm9keSA9PT0gbWVzc2FnZS5ib2R5ICYmIG1zZy50eXBlID09PSBtZXNzYWdlLnR5cGUgJiYgbXNnLnRpdGxlID09PSBtZXNzYWdlLnRpdGxlKTtcclxuICAgICAgICBpZiAoIWV4aXN0aW5nTWVzc2FnZSkge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGUuZ2V0KCdBUFBfTkFNRScpLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmNvcmVDb25maWcuYXBwTmFtZSA9IHRleHQ7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSB0aGlzLnJlY2VpdmVNZXNzYWdlLmJpbmQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMudGxkVHJhbnNsYXRlV2ViU2VydmljZS53dFNjcmlwdHNBZGRlZCkge1xyXG4gICAgICB0aGlzLmFkZFNjcmlwdCgnLi9hc3NldHMvd2VidHJhbnNsYXRlL3RyYW5zbGF0ZS13ZWJzaXRlLmpzJyk7XHJcbiAgICAgIHRoaXMuYWRkQ29uZmlndXJhdGlvblNjcmlwKCk7XHJcbiAgICAgIHRoaXMuYWRkU2NyaXB0KCcuL2Fzc2V0cy93ZWJ0cmFuc2xhdGUvcGFnZS10cmFuc2xhdGUtd2lkZ2V0LmpzJyk7XHJcbiAgICAgIHRoaXMudGxkVHJhbnNsYXRlV2ViU2VydmljZS53dFNjcmlwdHNBZGRlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB3aW5kb3cub25tZXNzYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KG51bGwpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWNlaXZlTWVzc2FnZShldmVudDogYW55KSB7XHJcbiAgICAvLyBUT0RPIGFkZCBjb3JyZWN0IG9yaWdpblxyXG4gICAgLy8gaWYgKGV2ZW50Lm9yaWdpbiAhPT0gXCJcIilcclxuICAgIC8vIHJldHVybjtcclxuXHJcbiAgICBpZiAodGhpcy5kZWJ1Zykge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICBjb25zb2xlLmluZm8oJ01lc3NhZ2UgcmVjZWl2ZWQgZnJvbSBpZnJhbWU6JyArIEpTT04uc3RyaW5naWZ5KGV2ZW50LmRhdGEpKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0YS5tZXNzYWdlKSB7XHJcbiAgICAgIHN3aXRjaCAoZXZlbnQuZGF0YS5tZXNzYWdlKSB7XHJcbiAgICAgICAgY2FzZSAncmVhZHknOlxyXG4gICAgICAgICAgdGhpcy50bGRTeXN0ZW0uc3lzTGlzdC5waXBlKFxyXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICAgICAgbGV0IHN5c3RlbUxpc3RUb0lmcmFtZSA9IFtdO1xyXG4gICAgICAgICAgICAgIGRhdGEuZm9yRWFjaCgoc3lzLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc3lzdGVtTGlzdFRvSWZyYW1lLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgICBpZDogc3lzLmlkLFxyXG4gICAgICAgICAgICAgICAgICBzb3VyY2VMYW5ndWFnZTogc3lzLnNvdXJjZUxhbmd1YWdlLFxyXG4gICAgICAgICAgICAgICAgICB0YXJnZXRMYW5ndWFnZTogc3lzLnRhcmdldExhbmd1YWdlLFxyXG4gICAgICAgICAgICAgICAgICBuYW1lOiBzeXMuaWQsXHJcbiAgICAgICAgICAgICAgICAgIG9yZGVyOiBpbmRleCxcclxuICAgICAgICAgICAgICAgICAgZG9tYWluOiBzeXMuZG9tYWluXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgLy8gcHVzaCBzeXN0ZW0gbGlzdCB0byBpZnJhbWVcclxuICAgICAgICAgICAgICB0aGlzLnNldHRpbmdTeXN0ZW1MaXN0Rm9yRmlyc3RUaW1lID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ3NldFN5c3RlbUxpc3QnLCBzeXN0ZW1MaXN0OiBzeXN0ZW1MaXN0VG9JZnJhbWUgfSk7XHJcbiAgICAgICAgICAgICAgaWYgKHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudXJsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKHtcclxuICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ2xvYWRVcmwnLFxyXG4gICAgICAgICAgICAgICAgICB1cmw6IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3QucXVlcnlQYXJhbXMudXJsLFxyXG4gICAgICAgICAgICAgICAgICB0cmFuc2xhdGVBZnRlckxvYWQ6IGZhbHNlXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHRoaXMudXJsVG9UcmFuc2xhdGUgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnVybDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB0aGlzLnVybElucHV0RmllbGQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3VybExvYWRlZCc6XHJcbiAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgLy8gd2VicGFnZSBmaW5pc2hlZCBsb2FkaW5nLCBzZXQgdGhlIGZ1bGwgdXJsIGluIGFkZHJlc3MgYm94XHJcbiAgICAgICAgICB0aGlzLnVybFRvVHJhbnNsYXRlID0gZXZlbnQuZGF0YS51cmw7XHJcbiAgICAgICAgICB0aGlzLnNob3dUcmFuc2xhdGVCdG4gPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5kaXNhYmxlQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc3RhcnRlZExvYWRpbmcnOlxyXG4gICAgICAgICAgdGhpcy5tb2RlID0gJ2luZGV0ZXJtaW5hdGUnO1xyXG4gICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5zaG93Q2FuY2VsID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZXN0b3JlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dUcmFuc2xhdGVCdG4gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaWZyYW1lLm5hdGl2ZUVsZW1lbnQsICdzYW5kYm94JywgdGhpcy5zYW5kYm94KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3N0b3BwZWRMb2FkaW5nJzpcclxuICAgICAgICAgIGlmICghdGhpcy50cmFuc2xhdGluZykge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dDYW5jZWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zaG93UmVzdG9yZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnNob3dUcmFuc2xhdGVCdG4gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmRpc2FibGVCdXR0b24gPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3N5c3RlbUNoYW5nZWQnOlxyXG4gICAgICAgICAgLy8gc2V0IGRlZmF1bHQgc3lzdGVtLCByaWdodCBhZnRlciB3ZWIgdHJhbnNsYXRpb24gd2lkZ2V0IGluIGlmcmFtZSBpcyBsb2FkZWRcclxuICAgICAgICAgIGlmICh0aGlzLnNldHRpbmdTeXN0ZW1MaXN0Rm9yRmlyc3RUaW1lKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ1N5c3RlbUxpc3RGb3JGaXJzdFRpbWUgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICdjaGFuZ2VTeXN0ZW0nLCBzeXN0ZW1JZDogdGhpcy5zd2l0Y2hlck9wdGlvbnMuc3lzdGVtSWQgfSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBpZiBpbml0aWF0ZWQgYnkgbGFuZ3VhZ2Ugb2YgdGhlIGxvYWRlZCB3ZWJwYWdlIGJlaW5nIGRpZmZlcmVudFxyXG4gICAgICAgICAgICAvLyB0aGFuIHNvdXJjZSBsYW5ndWFnZSBvZiBjdXJyZW50bHkgc2VsZWN0ZWQgIHN5c3RlbVxyXG4gICAgICAgICAgICAvLyB3ZSBzaG91bGQgY2hhbmdlIHRoZSBzeXN0ZW0gaW4gVUkgYW5kIHdhcm4gdGhlIHVzZXIgYWJvdXQgdGhlIGZhY3RcclxuICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuYXV0byAmJiBldmVudC5kYXRhLmNoYW5nZWQpIHtcclxuICAgICAgICAgICAgICBpZiAodGhpcy53ZWJMYW5nQXV0b2RldGVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zeXN0ZW1DaGFuZ2UoZXZlbnQuZGF0YS5zeXN0ZW1JZCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN3aXRjaGVyT3B0aW9ucy5zeXN0ZW1JZCA9IGV2ZW50LmRhdGEuc3lzdGVtSWQ7XHJcblxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKHsgbWVzc2FnZTogJ2NoYW5nZVN5c3RlbScsIHN5c3RlbUlkOiB0aGlzLnN3aXRjaGVyT3B0aW9ucy5zeXN0ZW1JZCB9KTtcclxuXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndHJhbnNsYXRpb25TdGFydGVkJzpcclxuICAgICAgICAgIHRoaXMubW9kZSA9ICdkZXRlcm1pbmF0ZSc7XHJcbiAgICAgICAgICB0aGlzLnByb2dyZXNzVmFsdWUgPSAwO1xyXG4gICAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgLy8gZGlzYWJsZSBzeXN0ZW0gY2hhbmdlLCBzaG93IGNhbmNlbCBidXR0b25cclxuICAgICAgICAgIHRoaXMuc2hvd1RyYW5zbGF0ZUJ0biA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93Q2FuY2VsID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuZGlzYWJsZUJ1dHRvbiA9IHRydWU7ICAvLyB0byBkaXNhYmxlU3lzdGVtQ2hhbmdlXHJcblxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAndHJhbnNsYXRpb25TdG9wcGVkJzpcclxuICAgICAgICAgIHRoaXMudHJhbnNsYXRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd0cmFuc2xhdGVkJzpcclxuICAgICAgICAgIC8vIHNob3cgcmVzdG9yZSBidXR0b25cclxuICAgICAgICAgIHRoaXMuc2hvd1Jlc3RvcmUgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5zaG93Q2FuY2VsID0gZmFsc2U7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICd1bnRyYW5zbGF0ZWQnOlxyXG4gICAgICAgICAgLy8gZW5hYmxlIHN5c3RlbSBjaGFuZ2UsIHNob3cgdHJhbnNsYXRlIGJ1dHRvblxyXG4gICAgICAgICAgdGhpcy5kaXNhYmxlQnV0dG9uID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZXN0b3JlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dDYW5jZWwgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd1RyYW5zbGF0ZUJ0biA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdwcm9ncmVzcyc6XHJcbiAgICAgICAgICB0aGlzLnByb2dyZXNzVmFsdWUgPSBldmVudC5kYXRhLnByb2dyZXNzO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgICAgLy8gZW5hYmxlIHN5c3RlbSBjaGFuZ2UsIHNob3cgdHJhbnNsYXRlIGJ1dHRvblxyXG4gICAgICAgICAgdGhpcy5kaXNhYmxlQnV0dG9uID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dSZXN0b3JlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNob3dDYW5jZWwgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuc2hvd1RyYW5zbGF0ZUJ0biA9IHRydWU7XHJcbiAgICAgICAgICBpZiAoY29uc29sZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGV2ZW50LmRhdGEuZGVzY3JpcHRpb24pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxyXG4gICAgICAgICAgaWYgKGNvbnNvbGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKGV2ZW50LmRhdGEuZGVzY3JpcHRpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZW5kTWVzc2FnZShtZXNzYWdlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRlYnVnKSB7XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXHJcbiAgICAgIGNvbnNvbGUuaW5mbygnTWVzc2FnZSBzZW50IHRvIGlmcmFtZTonICsgSlNPTi5zdHJpbmdpZnkobWVzc2FnZSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHdpbmRvdy5wb3N0TWVzc2FnZShtZXNzYWdlLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZU1lc3NhZ2UoaXg6IG51bWJlcikge1xyXG4gICAgdGhpcy5tZXNzYWdlcy5zcGxpY2UoaXgsIDEpO1xyXG4gIH1cclxuXHJcbiAgc3dhcExhbmd1YWdlcygpIHtcclxuICAgIHRoaXMudGxkU3lzdGVtLnN3YXBTeXN0ZW1MYW5ndWFnZXMoKTtcclxuXHJcbiAgICBjb25zdCBzeXMgPSB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVTeXN0ZW1PYmooKTtcclxuICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAnY2hhbmdlU3lzdGVtJywgc3lzdGVtSWQ6IHN5cy5pZCB9KTtcclxuICB9XHJcblxyXG4gIHN5c3RlbUNoYW5nZShzeXN0ZW1JZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5jaGFuZ2VTeXN0ZW0oc3lzdGVtSWQpO1xyXG5cclxuICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAnY2hhbmdlU3lzdGVtJywgc3lzdGVtSWQgfSk7XHJcbiAgfVxyXG5cclxuICBzb3VyY2VMYW5ndWFnZUNoYW5nZShsYW5ndWFnZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnRsZFN5c3RlbS5jaGFuZ2VMYW5ndWFnZShsYW5ndWFnZSwgdGhpcy5zd2l0Y2hlck9wdGlvbnMudGFyZ2V0LmNvZGUpO1xyXG5cclxuICAgIGNvbnN0IHN5cyA9IHRoaXMudGxkU3lzdGVtLmdldEFjdGl2ZVN5c3RlbU9iaigpO1xyXG4gICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICdjaGFuZ2VTeXN0ZW0nLCBzeXN0ZW1JZDogc3lzLmlkIH0pO1xyXG4gIH1cclxuXHJcbiAgdGFyZ2V0TGFuZ3VhZ2VDaGFuZ2UobGFuZ3VhZ2U6IHN0cmluZykge1xyXG4gICAgdGhpcy50bGRTeXN0ZW0uY2hhbmdlTGFuZ3VhZ2UodGhpcy5zd2l0Y2hlck9wdGlvbnMuc291cmNlLmNvZGUsIGxhbmd1YWdlKTtcclxuXHJcbiAgICBjb25zdCBzeXMgPSB0aGlzLnRsZFN5c3RlbS5nZXRBY3RpdmVTeXN0ZW1PYmooKTtcclxuICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAnY2hhbmdlU3lzdGVtJywgc3lzdGVtSWQ6IHN5cy5pZCB9KTtcclxuICB9XHJcblxyXG4gIHRyYW5zbGF0ZUJ1dHRvbkNsaWNrKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0ZWRDb2xsZWN0aW9uSWQgPSB0aGlzLnRlcm1pbm9sb2d5U2VydmljZS5zZWxlY3RlZElkRm9yVHJhbnNsYXRpb24odGhpcy50bGRTeXN0ZW0uZ2V0QWN0aXZlU3lzdGVtT2JqKCkuaWQpO1xyXG5cclxuICAgIGlmICh0aGlzLnVybFRvVHJhbnNsYXRlICE9ICcnKSB7XHJcbiAgICAgIHRoaXMuc2hvd0VtcHR5VmlldyA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5zZW5kTWVzc2FnZSh7XHJcbiAgICAgICAgbWVzc2FnZTogJ2xvYWRVcmwnLFxyXG4gICAgICAgIHVybDogdGhpcy51cmxUb1RyYW5zbGF0ZSxcclxuICAgICAgICB0cmFuc2xhdGVBZnRlckxvYWQ6IHRydWUsXHJcbiAgICAgICAgdGVybUNvcnB1c0lkOiBzZWxlY3RlZENvbGxlY3Rpb25JZFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvYWRCdXR0b25DbGlja2VkKCkge1xyXG4gICAgaWYgKHRoaXMudXJsVG9UcmFuc2xhdGUgIT0gJycpIHtcclxuICAgICAgdGhpcy5zaG93RW1wdHlWaWV3ID0gZmFsc2U7XHJcblxyXG4gICAgICB0aGlzLnNlbmRNZXNzYWdlKHtcclxuICAgICAgICBtZXNzYWdlOiAnbG9hZFVybCcsXHJcbiAgICAgICAgdXJsOiB0aGlzLnVybFRvVHJhbnNsYXRlLFxyXG4gICAgICAgIHRyYW5zbGF0ZUFmdGVyTG9hZDogZmFsc2VcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhclVybFRvVHJhbnNsYXRlKCkge1xyXG4gICAgdGhpcy51cmxUb1RyYW5zbGF0ZSA9ICcnO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICd1bnRyYW5zbGF0ZScgfSk7XHJcbiAgfVxyXG5cclxuICByZXN0b3JlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWVzc2FnZSh7IG1lc3NhZ2U6ICd1bnRyYW5zbGF0ZScgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRGcm9tQ29uZmlnKCkge1xyXG4gICAgY29uc3QgY29yZUNvbmZpZyA9IHRoaXMuY29uZmlnU2VydmljZS5jb3JlQ29uZmlnO1xyXG4gICAgY29uc3Qgd2VidHJhbnNsYXRlQ29uZmlnID0gdGhpcy5jb25maWdTZXJ2aWNlLndlYnRyYW5zbGF0ZUNvbmZpZztcclxuICAgIHRoaXMubG9nb0xvY2F0aW9uID0gd2VidHJhbnNsYXRlQ29uZmlnLmxvZ29Mb2NhdGlvbjtcclxuICAgIHRoaXMuZGVidWcgPSB3ZWJ0cmFuc2xhdGVDb25maWcuZGVidWc7XHJcbiAgICB0aGlzLndlYkxhbmdBdXRvZGV0ZWN0ID0gd2VidHJhbnNsYXRlQ29uZmlnLndlYkxhbmdBdXRvZGV0ZWN0OyAvLyBhZnRlciBwYWdlIGlzIGxvYWRlZCBhdXRvIGRldGVjdCBsYW5ndWFnZSBhbmQgY2hhbmdlIGFjdGl2ZSBzeXN0ZW1cclxuICAgIHRoaXMuYWxsb3dTdWdnZXN0aW9ucyA9IHdlYnRyYW5zbGF0ZUNvbmZpZy5hbGxvd1N1Z2dlc3Rpb25zO1xyXG4gICAgdGhpcy5oaWRlUG9wdXAgPSB3ZWJ0cmFuc2xhdGVDb25maWcuaGlkZVBvcHVwO1xyXG4gICAgdGhpcy50cmFuc2xhdGVQYWdlUGF0aCA9IHdlYnRyYW5zbGF0ZUNvbmZpZy50cmFuc2xhdGVQYWdlUGF0aDtcclxuICAgIHRoaXMuYXBwSWQgPSB3ZWJ0cmFuc2xhdGVDb25maWcuYXBwSWQ7XHJcblxyXG4gICAgdGhpcy54QXBpS2V5ID0gY29yZUNvbmZpZy54QXBpS2V5O1xyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVVybCA9IHRoaXMuY29uZmlnU2VydmljZS50ZXh0Q29uZmlnLnRyYW5zbGF0aW9uVXJsO1xyXG4gIH1cclxuXHJcbiAgZ29Ub0hvbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcnKTtcclxuICAgIHRoaXMuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlOiAndW50cmFuc2xhdGUnIH0pO1xyXG4gIH1cclxuXHJcbiAgYWRkU2NyaXB0KHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHNjcmlwdC5zcmMgPSB1cmw7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgfVxyXG5cclxuICBhZGRDb25maWd1cmF0aW9uU2NyaXAoKTogdm9pZCB7XHJcbiAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQuYm9keSBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgIHNjcmlwdC5pbm5lckhUTUwgPSAnJztcclxuICAgIHNjcmlwdC5pbm5lckhUTUwgPSBgXHJcblxyXG4gICAgaWYgKHR5cGVvZiAoVGlsZGUpID09PSAndW5kZWZpbmVkJylcclxuICAgICAgICBUaWxkZSA9IHt9O1xyXG5cclxuICAgICAgICBUaWxkZS5QYWdlVHJhbnNsYXRlV2lkZ2V0U2VydmVyQ29uZmlndXJhdGlvbiA9IHtcclxuICAgICAgICAgIHRyYW5zbGF0ZVNlcnZpY2VVcmw6ICcke3RoaXMudHJhbnNsYXRlU2VydmljZVVybH0nLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgVGlsZGUuUGFnZVRyYW5zbGF0ZVdpZGdldENsaWVudENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgIFRyYW5zbGF0ZVBhZ2VQcmVmaXg6IGxvY2F0aW9uLmhvc3QgKyAnLyR7dGhpcy50cmFuc2xhdGVQYWdlUGF0aH0vJyxcclxuXHJcbiAgICAgICAgLy8gVXJsIG9mIHRoZSBwbGFjZSB3aGVyZSBDU1MgZm9yIHRyYW5zbGF0aW9uIHdpZGdldCBpcyBrZXB0XHJcbiAgICAgICAgLy8gaWYgeW91IHdpc2ggdG8gY3VzdG9taXplIHRoZSBzdGFuZGFyZCBsZXRzbXQgc3R5bGUsXHJcbiAgICAgICAgLy8gcG9pbnQgdGhpcyB0byB5b3VyIG93biBjc3MgZmlsZVxyXG4gICAgICAgIGNzc0xvY2F0aW9uOiAnLi9hc3NldHMvd2VidHJhbnNsYXRlL3dpZGdldC5jc3MnLFxyXG5cclxuICAgICAgICAvLyB4LWFwaS1rZXkgZm9yIGF1dGhvcml6YXRpb25cclxuICAgICAgICB4QXBpS2V5OiBcIiR7dGhpcy54QXBpS2V5fVwiLFxyXG5cclxuICAgICAgICAvL2FwaSB2ZXJzaW9uXHJcbiAgICAgICAgYXBpVmVyc2lvbjogXCIxXCIsICAvLyBIYXJkY29kZWQsIHNpbmNlIG9ubHkgb25lIHZlcnNpb24gaXMgc3VwcG9ydGVkXHJcblxyXG4gICAgICAgIC8vIGVuYWJsZSBvciBkaXNhYmxlIG9yaWdpbmFsIHRleHQgcG9wdXBcclxuICAgICAgICBoaWRlUG9wdXA6ICR7dGhpcy5oaWRlUG9wdXB9LFxyXG5cclxuICAgICAgICAvLyBpZCBvZiB0aGUgPGRpdj4gd2hlcmUgdG8gZHJhdyB3aWRnZXRcclxuICAgICAgICB3aWRnZXRDb250YWluZXJJZDogXCJQYWdlVHJhbnNsYXRlV2lkZ2V0XCIsXHJcblxyXG4gICAgICAgIC8vIGF2YWlsYWJsZSB0cmFuc2xhdGlvbiBzeXN0ZW1zICh0YXJnZXQgbGFuZ3VhZ2VzKVxyXG4gICAgICAgIHRyYW5zbGF0aW9uU3lzdGVtczogW10sXHJcblxyXG4gICAgICAgIC8vIHNvdXJjZSBsYW5ndWFnZSBvZiB0aGUgcGFnZSB0aGF0IG5lZWRzIHRvIGJlIHRyYW5zbGF0ZWRcclxuICAgICAgICBsYW5ndWFnZTogXCJlblwiLFxyXG5cclxuICAgICAgICAvLyB0cmFuc2xhdGUgd2lkZ2V0IFVJIHRvIGxhbmd1YWdlIHRoYXQgaXMgY2hvc2VuIGluIHRhcmdldCBsYW5ndWFnZSBkcm9wZG93blxyXG4gICAgICAgIHRyYW5zbGF0ZVVJdG9DaG9zZW5MYW5ndWFnZTogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIHRyYW5zbGF0ZSB3aWRnZXQgYWRtaW5pc3RyYXRpdmUgcGFydCB0byBsYW5ndWFnZSB0aGF0IGlzIGNob3NlbiBpbiB0YXJnZXQgbGFuZ3VhZ2UgZHJvcGRvd25cclxuICAgICAgICB0cmFuc2xhdGVBZG1pblVJdG9DaG9zZW5MYW5ndWFnZTogZmFsc2UsXHJcblxyXG4gICAgICAgIHVpTGFuZ3VhZ2U6IFwiJHt0aGlzLnRyYW5zbGF0ZS5jdXJyZW50TGFuZ31cIixcclxuXHJcbiAgICAgICAgLy8gaWYgcGFnZSB3YXMgdHJhbnNsYXRlZCBhbmQgeW91IGNsaWNrIG9uIGEgbGlua1xyXG4gICAgICAgIC8vIHRoYXQgZ29lcyB0byBhbm90aGVyIHBhZ2UgaW4gdGhlIHNhbWUgc2l0ZSxcclxuICAgICAgICAvLyB0aGVuIHRyYW5zbGF0ZSB0aGUgbmV3bHkgb3BlbmVkIHBhZ2UgYWxzb1xyXG4gICAgICAgIHRyYW5zbGF0ZUFmdGVyTmF2aWdhdGlvbjogdHJ1ZSxcclxuXHJcbiAgICAgICAgLy8gdHJ1ZSAtIGxhbmd1YWdlIGxpc3QgaXMgc2hvd24gYXMgbGlua3NcclxuICAgICAgICAvLyBmYWxzZSAtIGxhbmd1YWdlIGxpc3QgaXMgc2hvd24gYXMgZHJvcGRvd24gbGlzdCBhbmQgXCJ0cmFuc2xhdGVcIiBidXR0b25cclxuICAgICAgICBsYW5ndWFnZUxpc3RBc0xpbmtzOiBmYWxzZSxcclxuXHJcbiAgICAgICAgc2hvd0hlYWRlcjogZmFsc2UsXHJcblxyXG4gICAgICAgIHNob3dUcmFuc2xhdGlvblN1Z2dlc3Rpb25BZG1pblBhZ2U6IGZhbHNlLFxyXG5cclxuICAgICAgICAvLyBhZnRlciB0cmFuc2xhdGlvbiBzaG93IGEgd2FybmluZyB0aGF0IHBhZ2UgaXMgbWFjaGluZSB0cmFuc2xhdGVkIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2VcclxuICAgICAgICBzaG93TWFjaGluZVRyYW5zbGF0aW9uV2FybmluZ0FmdGVyVHJhbnNsYXRpb246IGZhbHNlLFxyXG5cclxuICAgICAgICAvLyBzaG93IGFsbCBhdmFpbGFibGUgdHJhbnNsYXRpb24gc3lzdGVtcyBpbnN0ZWFkIG9mIGp1c3QgdGhlIG9uZXMgY29uZmlndXJlZCBpbiB0aGlzIGZpbGVcclxuICAgICAgICBzaG93QWxsVHJhbnNsYXRpb25TeXN0ZW1zOiBmYWxzZSxcclxuXHJcbiAgICAgICAgLy8gYWRkIHNvbWUgcGl4ZWxzIHRvIGRyb3Bkb3duIHBhZGRpbmcgdG8gbWFrZSBpdCBsb29rIG1vcmUgc2ltaWxhciBvbiBkaWZmZXJlbnQgYnJvd3NlcnNcclxuICAgICAgICBicm93c2VyU3BlY2lmaWNEcm9wZG93blBhZGRpbmc6IGZhbHNlLFxyXG5cclxuICAgICAgICAvLyBuYW1lIG9mIGljb24gc2V0OiBcImRlZmF1bHRcIiwgXCJ3aGl0ZVwiLCBcImdyZXlcIiwgXCJyZWRcIlxyXG4gICAgICAgIGljb25TZXQ6IFwid2hpdGVcIixcclxuXHJcbiAgICAgICAgLy8gUG9zc2libGUgdmFsdWVzOiAxLCAyLCAzLiBUZXh0IGZvciBsaW5rIFwiUmVzdG9yZSBvcmlnaW5hbDogTGF0dmlhblwiIG1heSBiZSBtYWRlIHNob3J0ZXIgb3IgbG9uZ2VyXHJcbiAgICAgICAgLy8gdXNlZnVsIHRvIGFkYXB0IHRvIHNtYWxsIG9yIGxhcmdlIHNjcmVlbnNcclxuICAgICAgICByZXN0b3JlT3JpZ2luYWxMaW5rTGVuZ3RoOiAyLFxyXG5cclxuICAgICAgICAvLyBlbmFibGUgb3IgZGlzYWJsZSBcIlN1Z2dlc3QgdHJhbnNsYXRpb25cIiBsaW5rIGluIHBvcHVwIHRoYXQgc2hvd3Mgb3JpZ2luYWwgdGV4dCBvZiB0cmFuc2xhdGVkIHNlbnRlbmNlXHJcbiAgICAgICAgc3VnZ2VzdFRyYW5zbGF0aW9uOiAke3RoaXMuYWxsb3dTdWdnZXN0aW9uc30sXHJcblxyXG4gICAgICAgIC8vIHNob3cgbWVzc2FnZSBib3ggd2hlbiBlcnJvciBoYXBwZW5zP1xyXG4gICAgICAgIHNob3dNZXNzYWdlQm94T25FcnJvcjogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIGFwcGxpY2F0aW9uIGlkZW50aWZpZXJcclxuICAgICAgICBhcHBJZDogXCIke3RoaXMuYXBwSWR9XCIsXHJcblxyXG4gICAgICAgIC8vIHNlcnZlciB3aWxsIG9ubHkgcmV0dXJuIHN5c3RlbXMgdGhhdCBhcmUgbWVhbnQgZm9yIGdpdmVuIGFwcElkXHJcbiAgICAgICAgZmlsdGVyU3lzdGVtc0J5QXBwSWQ6IGZhbHNlLFxyXG5cclxuICAgICAgICAvLyBzaG93IGhlbHAgbGlua1xyXG4gICAgICAgIGVuYWJsZUhlbHA6IGZhbHNlLFxyXG5cclxuICAgICAgICAvLyBzaG93IGZlZWRiYWNrIGxpbmtcclxuICAgICAgICBlbmFibGVGZWVkYmFjazogZmFsc2UsXHJcblxyXG4gICAgICAgIC8vIGFsbG93ZWQgc3lzdGVtIHN0YXR1c2VzLCBieSBkZWZhdWx0IG9ubHkgXCJydW5uaW5nXCJcclxuICAgICAgICBhbGxvd2VkU3lzdGVtU3RhdHVzZXM6IFwicnVubmluZ1wiLFxyXG5cclxuICAgICAgICAvLyBwYXNzZWQgdG8gdHJhbnNsYXRpb24gc2VydmljZSBmb3IgbG9nZ2luZy5cclxuICAgICAgICAvLyBcIndlYi1lbWJlZGRlZFwiIGZvciB3aWRnZXQgdGhhdCBpcyBlbWJlZGRlZCBpbiBodG1sIHBhZ2UsXHJcbiAgICAgICAgLy8gXCJ3ZWJcIiBmb3Igd2lkZ2V0IHRoYXQgY2FuIGxvYWQgYW5kIHRyYW5zbGF0ZSBhbnkgd2Vic2l0ZVxyXG4gICAgICAgIHdpZGdldDogXCJ3ZWJcIlxyXG4gICAgfTtcclxuICAgIGA7XHJcbiAgICBib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJ3aWRnZXRcIiBjbGFzcz1cInRsZC10cmFuc2xhdGUtd2ViXCI+XHJcbiAgPGRpdiBjbGFzcz1cInRyYW5zbGF0ZS1jb250YWluZXItaGVhZGVyXCI+XHJcbiAgICA8YSBocmVmPVwiL1wiIGlkPVwiaG9tZS1saW5rXCIgW2F0dHIudGl0bGVdPVwiJ1dFQlRSQU5TTEFURS5CQUNLJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICA8aW1nIFtzcmNdPVwibG9nb0xvY2F0aW9uXCIgYWx0PVwibG9nb1wiPlxyXG4gICAgICA8bGliLWNvbXBhbnktcHJvZHVjdCAqbmdJZj1cImNvbXBhbnkgJiYgcHJvZHVjdFwiIFtjb21wYW55XT1cImNvbXBhbnlcIiBbcHJvZHVjdF09XCJwcm9kdWN0XCI+PC9saWItY29tcGFueS1wcm9kdWN0PlxyXG4gICAgPC9hPlxyXG4gICAgPGRpdiBbbmdDbGFzcy5sdC1zbV09XCIndGxkLXRyYW5zbGF0ZS1tb2JpbGUnXCI+XHJcbiAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBjbGFzcz1cImFkZHJlc3Mtd3JhcHBlclwiPlxyXG4gICAgICAgIDxhIChjbGljayk9XCJnb1RvSG9tZSgpXCIgW2F0dHIudGl0bGVdPVwiJ1dFQlRSQU5TTEFURS5CQUNLJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiIGNsYXNzPVwiYWRkcmVzcy1pbnB1dFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY29sb3I9XCJhY2NlbnRcIj5cclxuICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ1dFQlRSQU5TTEFURS5TRUFSQ0gnIHwgdHJhbnNsYXRlXCIgdHlwZT1cInVybFwiICN1cmwgY2xhc3M9XCJ1cmxcIiBhdXRvZm9jdXM9XCJhdXRvZm9jdXNcIiBbKG5nTW9kZWwpXT1cInVybFRvVHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwibG9hZEJ1dHRvbkNsaWNrZWQoKVwiIC8+XHJcblxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInVybFRvVHJhbnNsYXRlXCIgW2lubGluZV09XCJ0cnVlXCIgKGNsaWNrKT1cImNsZWFyVXJsVG9UcmFuc2xhdGUoKVwiPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0QWxpZ249XCJjZW50ZXJcIiBjbGFzcz1cInRsZC10cmFuc2xhdGUtc3dpdGNoZXItd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiIGZ4RmxleD5cclxuICAgICAgICAgIDx0bGQtdHJhbnNsYXRlLXN3aXRjaGVyXHJcbiAgICAgICAgICAgICpuZ0lmPVwic3dpdGNoZXJPcHRpb25zXCJcclxuICAgICAgICAgICAgW2lzQ29sbGVjdGlvbnNBY3RpdmF0ZWRdPVwiaXNDb2xsZWN0aW9uc0FjdGl2YXRlZFwiXHJcbiAgICAgICAgICAgIFt1c2VQYXJlbnRXaWR0aF09XCJ1c2VQYXJlbnRXaWR0aFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25CdXR0b25EaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtzZXR0aW5nc109XCJzd2l0Y2hlck9wdGlvbnNcIlxyXG4gICAgICAgICAgICBbc2hvd1RyYW5zbGF0ZUJ1dHRvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIFtoaWRlT25TbWFsbFNjcmVlbnNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICBbaGlkZUxhbmdNZW51TGFiZWxzXT1cImhpZGVMYW5nTWVudUxhYmVsc1wiXHJcbiAgICAgICAgICAgIFttYXhEaXNwbGF5ZWRMYW5ndWFnZXNdPVwibWF4RGlzcGxheWVkTGFuZ3VhZ2VzXCJcclxuICAgICAgICAgICAgW3Nob3dEb21haW5zV2l0aExhbmd1YWdlTmFtZV09XCJzaG93RG9tYWluc1dpdGhMYW5ndWFnZU5hbWVcIlxyXG4gICAgICAgICAgICAob25Eb21haW5DaGFuZ2UpPVwic3lzdGVtQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25BY3Rpb25DbGljayk9XCJ0cmFuc2xhdGVCdXR0b25DbGljaygpXCJcclxuICAgICAgICAgICAgKG9uTGFuZ3VhZ2VTd2FwKT1cInN3YXBMYW5ndWFnZXMoKVwiXHJcbiAgICAgICAgICAgIChvblNvdXJjZUxhbmd1YWdlQ2hhbmdlKT1cInNvdXJjZUxhbmd1YWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAob25UYXJnZXRMYW5ndWFnZUNoYW5nZSk9XCJ0YXJnZXRMYW5ndWFnZUNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8L3RsZC10cmFuc2xhdGUtc3dpdGNoZXI+XHJcbiAgICAgICAgICA8ZGl2IGZ4RmxleEFsaWduPVwiY2VudGVyXCIgY2xhc3M9XCJhY3Rpb24tYnRuLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPHRsZC10cmFuc2xhdGUtYnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJzaG93VHJhbnNsYXRlQnRuXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInN3aXRjaGVyLXRyYW5zbGF0ZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25CdXR0b25EaXNhYmxlZCB8fCAhdXJsVG9UcmFuc2xhdGVcIj5cclxuICAgICAgICAgICAgPC90bGQtdHJhbnNsYXRlLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dDYW5jZWxcIiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwiY2FuY2VsKClcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiPnt7J1dFQlRSQU5TTEFURS5DQU5DRUwnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInNob3dSZXN0b3JlXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwiYWNjZW50XCIgKGNsaWNrKT1cInJlc3RvcmUoKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJyZXN0b3JlLWJ1dHRvblwiPnt7J1dFQlRSQU5TTEFURS5SRVNUT1JFJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBbY2xhc3MuaC1mdWxsXT1cIiFzaG93RW1wdHlWaWV3XCIgaWQ9XCJ3ZWJzaXRlLWZyYW1lLWNvbnRhaW5lclwiPlxyXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJzaG93UHJvZ3Jlc3NcIiBjb2xvcj1cImFjY2VudFwiIFttb2RlXT1cIm1vZGVcIiBbdmFsdWVdPVwicHJvZ3Jlc3NWYWx1ZVwiPlxyXG4gICAgPC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgPGxpYi10bGQtbm90aWZpY2F0aW9uLW1lc3NhZ2UgW0BvcGVuQ2xvc2VBbmltYXRpb25dICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIG1lc3NhZ2VzOyBsZXQgaXggPSBpbmRleFwiIFttZXNzYWdlXT1cIm1lc3NhZ2VcIlxyXG4gICAgICAoY2xvc2VDbGlja2VkKT1cInJlbW92ZU1lc3NhZ2UoaXgpXCI+PC9saWItdGxkLW5vdGlmaWNhdGlvbi1tZXNzYWdlPlxyXG4gICAgXHJcbiAgICA8aWZyYW1lICpuZ0lmPVwiIXNob3dFbXB0eVZpZXc7IGVsc2UgZW1wdHlWaWV3XCIgI2lmcmFtZSBpZD1cImxldHNtdC10cmFuc2xhdGUtcGFnZS1pZnJhbWVcIiBuYW1lPVwibGV0c210VHJhbnNsYXRlUGFnZUlmcmFtZVwiIHNyYz1cImFib3V0OmJsYW5rXCI+PC9pZnJhbWU+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjZW1wdHlWaWV3PlxyXG4gICAgPGxpYi1zdGF0dXMtZGlzcGxheSBbY29uZmlnXT1cImVtcHR5Vmlld0NvbmZpZ1wiPjwvbGliLXN0YXR1cy1kaXNwbGF5PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -9116,9 +9116,11 @@ class TldTranslateWebsiteComponent {
|
|
|
9116
9116
|
return this.configService.coreConfig.showDomainsWithLanguageName;
|
|
9117
9117
|
}
|
|
9118
9118
|
get helpUrl() {
|
|
9119
|
-
return this.configService
|
|
9119
|
+
return this.configService?.webtranslateConfig?.helpUrl;
|
|
9120
|
+
}
|
|
9121
|
+
get sandbox() {
|
|
9122
|
+
return this.configService.webtranslateConfig.sandbox;
|
|
9120
9123
|
}
|
|
9121
|
-
get sandbox() { return this.configService.webtranslateConfig.sandbox; }
|
|
9122
9124
|
useParentWidth = true;
|
|
9123
9125
|
destroy$ = new Subject();
|
|
9124
9126
|
changeAuth(isAuth) {
|