@reusa/ngx-reusa-app-lib 0.0.1329 → 0.0.1331
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/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +8 -2
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +7 -1
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -747,7 +747,13 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
747
747
|
}
|
|
748
748
|
onModelCancel() {
|
|
749
749
|
this.showData = false;
|
|
750
|
-
this.
|
|
750
|
+
console.log("onModelCancel", this.beanActionList.controls);
|
|
751
|
+
if (this.beanActionList.controls.length === 0 && this.preIssuesActionList.controls.length === 0) {
|
|
752
|
+
this.requalifyReqHidden.setValue(true);
|
|
753
|
+
}
|
|
754
|
+
else {
|
|
755
|
+
this.requalifyReqHidden.setValue(null);
|
|
756
|
+
}
|
|
751
757
|
}
|
|
752
758
|
changeActionForIssueDropdown(event) {
|
|
753
759
|
if (event.value.value === 'PRFR') {
|
|
@@ -941,4 +947,4 @@ export class RequalifyLiftPreviousIssuesComponent {
|
|
|
941
947
|
args: ['requalifyFormDirective', { static: false }]
|
|
942
948
|
}] }); })();
|
|
943
949
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RequalifyLiftPreviousIssuesComponent, { className: "RequalifyLiftPreviousIssuesComponent", filePath: "lib\\components\\requalify-lift-previous-issues\\requalify-lift-previous-issues.component.ts", lineNumber: 30 }); })();
|
|
944
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUE0QyxpQkFBaUIsRUFBb0Isa0JBQWtCLEVBQUUsVUFBVSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBRzVLLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0t6RCwrQkFBb0Q7SUFDbEQsa0NBQXVDO0lBQ3pDLGlCQUFNOzs7SUFFSiwyQkFBOEUsUUFBQTtJQUN6RSxpQ0FBaUI7SUFBQSxpQkFBSSxFQUFBOzs7SUFPaEIsMEJBQWdDLFFBQUE7SUFDekIsWUFBYztJQUFBLGlCQUFJLEVBQUE7OztJQUFsQixlQUFjO0lBQWQsb0NBQWM7OztJQUZ6QiwwQkFBSTtJQUNBLCtHQUVLO0lBQ1QsaUJBQUs7OztJQUht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bUI7WUFBbkIsd0NBQW1CO1lBR25CLGVBQW9CO1lBQXBCLHVDQUFvQjtZQTZDakIsZUFBNEM7WUFBNUMsa0VBQTRDO1lBRS9DLGVBQXVCO1lBQXZCLDRDQUF1QjtZQUd2QixlQUF3QjtZQUF4QiwyQ0FBd0I7WUErQnJCLGVBQTZDO1lBQTdDLG1FQUE2QztZQUVoRCxlQUF1QjtZQUF2Qiw0Q0FBdUI7WUFHdkIsZUFBd0I7WUFBeEIsMkNBQXdCO1lBNENyQixlQUF1QztZQUF2Qyw2REFBdUM7WUFFMUMsZUFBdUI7WUFBdkIsNENBQXVCO1lBR3ZCLGVBQXdCO1lBQXhCLDJDQUF3QjtZQStCM0IsZUFBbUM7WUFBbkMseURBQW1DO1lBQ2pDLGVBQXFCO1lBQXJCLHVDQUFxQjtZQUdoQixlQUE0QjtZQUE1QixpREFBNEI7WUFVcEMsZUFDRjtZQURFLHlFQUNGO1lBRUUsZUFDRjtZQURFLHVFQUNGO1lBTWEsZUFBdUQ7WUFBdkQsbUdBQXVEO1lBUS9ELGVBQTRCO1lBQTVCLDhDQUE0QixhQUFBLHVDQUFBOzs7aUZEalFsQyxvQ0FBb0M7Y0FaaEQsU0FBUzsyQkFDRSxvQ0FBb0MsYUFHbkMsQ0FBQzt3QkFDVixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLHNDQUFzQzt3QkFDakQsS0FBSyxFQUFFLElBQUk7cUJBQ1osQ0FBQyxtQkFDZSx1QkFBdUIsQ0FBQyxPQUFPOzJKQWF2QyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNJLFlBQVk7a0JBQXJCLE1BQU07WUFDRyxtQkFBbUI7a0JBQTVCLE1BQU07WUFLQSxzQkFBc0I7a0JBRDVCLFNBQVM7bUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkFsQjNDLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvcixGb3JtQnVpbGRlciwgTmdGb3JtLCBOR19WQUxVRV9BQ0NFU1NPUiwgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9DaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsJztcclxuaW1wb3J0IHsgUmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9SZXF1YWxpZnlMaWZ0UGFnZU1vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRWxlbWVudHNNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1JlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbCc7XHJcbmltcG9ydCB7IFVJNTEyQVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9VSTUxMkFSZXNwb25zZU1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3VlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3Vlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBSZXF1YWxpZnlMaWZ0UHJldmlvdXNJc3N1ZXNDb21wb25lbnQsXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcXVhbGlmeUxpZnRQcmV2aW91c0lzc3Vlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIFxyXG4gIHB1YmxpYyBicEVtcGxveWVyV2FnZXNMaXN0PzogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZD86IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBhbGxvd2VkU2VwSXNzdWVMaXN0PzogQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHByZUlzc3VlTGlzdD86IENpblJlcXVhbGlmaWNhdGlvbkNyaXRlcmlhTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZXBJc3N1ZUxpZnRlZExpc3Q/OiBDaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdWk1MTJBUmVzcG9uc2VMaXN0PzogVUk1MTJBUmVzcG9uc2VNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGJlYW5MaXN0PzogQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBFbGVtZW50c01vZGVsO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGE6c3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgQE91dHB1dCgpIG1vZGVsRGlzcGxheSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgb25Db21wbGV0ZVJlcXVhbGlmeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIHJlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhOlJlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbDtcclxuXHJcbiAgQFZpZXdDaGlsZCgncmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyByZXF1YWxpZnlGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHNzbjogc3RyaW5nO1xyXG4gIGNvbHM6IGFueVtdO1xyXG4gIGNvbEFsbG93SXNzdWVMc3Q6IGFueVtdO1xyXG4gIGNvbFByZXZpb3VzSXNzdWVMc3Q6IGFueVtdO1xyXG4gIGNvbDUxMkFSZXNwb25zZUxzdDogYW55W107XHJcbiAgY29sQmVhbkxzdDogYW55W11cclxuXHJcbiAgcHVibGljIHNob3dXYWdlc0xpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBbGxvd1NlcExpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcmVJc3N1ZUxpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTZXBJc3N1ZUxpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3c1MTJBUmVzcG9uc2UgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dCZWFuTGlzdCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZW1wUHJvdmlkZWRXYWdlcyA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgYWN0aW9uT3B0aW9ucyA6IGFueVtdO1xyXG4gIHB1YmxpYyBzaG93RGF0YTpib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNzOiBDbGFpbVNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIGZiOiBGb3JtQnVpbGRlciwgcHVibGljIGxvZ2dlcjpMb2dnZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIHBheUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIHByZUlzc3Vlc0FjdGlvbkxpc3Q6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgYmVhbkFjdGlvbkxpc3Q6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgYWRkaXRpb25hbEluZm86IFsnJywgbnVsbF1cclxuICB9KTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgc3NuTGFzdEZvdXJGcm9tRGI6IHN0cmluZztcclxuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpID09PSB0cnVlKXtcclxuICAgICAgc3NuTGFzdEZvdXJGcm9tRGIgPSB0aGlzLmxzLmdldFVzZXIoKS5zc24uc3Vic3RyaW5nKDUsOSlcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxdWVzdGlvbiBhcyBpbnB1dCB2YWx1ZSBpcyA6ICcsIHRoaXMucXVlc3Rpb24pO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3JlcXVhbGlmeVJlcUhpZGRlbicsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCxbVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUsVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgIHRoaXMucXVlc3Rpb24ubmFtZT1cInJlcXVhbGlmeVJlcUhpZGRlblwiO1xyXG4gICAgdGhpcy5sb2FkQmFzZVBlcmlvZFdhZ2VzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcbiAgICB0aGlzLmxvYWRVSTUxMkFSZXNwb25zZXMoKTtcclxuXHJcbiAgICB0aGlzLmNvbEFsbG93SXNzdWVMc3QgPSBbXHJcbiAgICAgIHtoZWFkZXIgOiAnRW1wbG95ZXIgTmFtZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0lzc3VlIFN0YXJ0IERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdJc3N1ZSBEZXNjcmlwdGlvbid9LFxyXG4gICAgICB7aGVhZGVyIDogJ0RlY2lzaW9uJ31cclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5jb2xQcmV2aW91c0lzc3VlTHN0ID0gW1xyXG4gICAgICB7aGVhZGVyIDogJ0VtcGxveWVyIE5hbWUnfSxcclxuICAgICAge2hlYWRlciA6ICdJc3N1ZSBTdGFydCBEYXRlJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnSXNzdWUgRGVzY3JpcHRpb24nfSxcclxuICAgICAge2hlYWRlciA6ICdSZXF1YWxpZnlpbmcgQW1vdW50KCQpJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnQWN0aW9uJ31cclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5jb2w1MTJBUmVzcG9uc2VMc3QgPSBbXHJcbiAgICAgIHtoZWFkZXIgOiAnRW1wbG95ZXIgTmFtZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ1Byb29mIHJlY2VpdmVkIERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdFYXJuaW5nIEJlZ2luIERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdFYXJuaW5nIEVuZCBEYXRlJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnQW1vdW50ICgkKSd9XHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuY29sQmVhbkxzdCA9IFtcclxuICAgICAge2hlYWRlciA6ICdFbXBsb3llciBOYW1lJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnRGF0ZSBvZiBTZXBhcmF0aW9uJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnUmVhc29uIGZvciBTZXBhcmF0aW9uJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnUmVxdWlyZWQgV2FnZSAoJCknfSxcclxuICAgICAge2hlYWRlciA6ICdBY3Rpb24nfVxyXG4gICAgXVxyXG4gICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZSh0aGlzLmNvbXBvbmVudERhdGEpO1xyXG4gICAgdGhpcy5yZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YSA9IG9iajtcclxuICAgIHRoaXMucmVxdWFsaWZ5UmVxSGlkZGVuLnNldFZhbHVlKG51bGwpO1xyXG5cclxuICB9XHJcblxyXG4gIGxvYWRVSTUxMkFSZXNwb25zZXMoKSB7XHJcbiAgICB0aGlzLmNzLmdldFVJNTEyQVJlc3BvbnNlcygpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZSA6IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw9ICByZXM7XHJcbiAgICAgICAgdGhpcy51aTUxMkFSZXNwb25zZUxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlLnVpNTEyQVJlc3BvbnNlTGlzdDtcclxuICAgICAgICB0aGlzLnNob3c1MTJBUmVzcG9uc2UgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgbG9hZE1hc3RlckRhdGEoKSB7XHJcbiAgICB0aGlzLmNzLmdldFJlcXVhbGlmeUNyaXRlcmlhRW51bSgpO1xyXG4gICAgdGhpcy5jcy5nZXRBY3Rpb25zTGlzdCgpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmFjdGlvbk9wdGlvbnMgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvYWRCYXNlUGVyaW9kV2FnZXNGb3JTU04oKSB7XHJcbiAgICBsZXQgY2xtRW1wUmVxdWVzdE1vZGVsOiBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgdGhpcy5jcy5sb2FkQmFzZVBlcmlvZFdhZ2VzKGNsbUVtcFJlcXVlc3RNb2RlbCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGxldCB0ZW1wIDogQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsID0gcmVzO1xyXG4gICAgICAgIHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdCA9IHRlbXAuYnBFbXBMaXN0O1xyXG4gICAgICAgIGlmKHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdCl7XHJcbiAgICAgICAgICB0aGlzLmJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZCA9IHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdC5maWx0ZXIoYyA9PiBjLm9zYUJwRW1wbG95ZXJGbGFnID09PSAnMCcpO1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwIGxpc3QgYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkICcsIHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkKTtcclxuICAgICAgICAgIGxldCBxdHJZZWFyTGlzdCA6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdID0gW107XHJcbiAgICAgICAgICBpZih0aGlzLmJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZFswXT8uZW1wbG95ZXJQcm92aWRlZFdhZ2VzID09PSBudWxsKXtcclxuICAgICAgICAgICB0aGlzLmVtcFByb3ZpZGVkV2FnZXMgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHF0clllYXJMaXN0ID0gdGhpcy5icEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWRbMF0/LmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZihxdHJZZWFyTGlzdCAhPSBudWxsICYmIHF0clllYXJMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICAgIHRoaXMuY29scyA9IFtcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiAnRW1wbG95ZXIgTmFtZScgfSxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiBxdHJZZWFyTGlzdFswXS5xdHJZZWFyRGlzcGxheVN0cmluZyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzFdLnF0clllYXJEaXNwbGF5U3RyaW5nIH0sXHJcbiAgICAgICAgICAgICAgICB7IGhlYWRlcjogcXRyWWVhckxpc3RbMl0ucXRyWWVhckRpc3BsYXlTdHJpbmcgfSxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiBxdHJZZWFyTGlzdFszXS5xdHJZZWFyRGlzcGxheVN0cmluZyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzRdLnF0clllYXJEaXNwbGF5U3RyaW5nIH1cclxuICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNob3dXYWdlc0xpc3QgPSB0cnVlOyAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuIFxyXG4gIGxvYWRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCkge1xyXG4gICAgdGhpcy5jcy5nZXRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMxID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWwxOiBSZXF1YWxpZnlMaWZ0UGFnZU1vZGVsID0gbmV3IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWwoKTtcclxuICAgICAgICByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbDEgPSByZXMxOyAgICAgICBcclxuICAgICAgICB0aGlzLmFsbG93ZWRTZXBJc3N1ZUxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbDEuYWxsb3dlZFNlcElzc3VlTGlzdDtcclxuICAgICAgICBpZih0aGlzLmFsbG93ZWRTZXBJc3N1ZUxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5zaG93QWxsb3dTZXBMaXN0ID0gdHJ1ZTtcclxuICAgICAgICB9IFxyXG4gICAgICB9KTtcclxuICB9XHJcbiBcclxuICBsb2FkUmVxdWFsaWZ5TGlmdElzc3Vlc0ZvclNTTigpIHtcclxuICAgIHRoaXMuY3MuZ2V0UmVxdWFsaWZ5TGlmdElzc3Vlc0ZvclNTTigpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZSA6IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw9ICByZXM7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2xvYWRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOID09PT0nLCByZXMpO1xyXG4gICAgICAgIHRoaXMucHJlSXNzdWVMaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5wcmVJc3N1ZUxpc3Q7XHJcbiAgICAgICAgaWYodGhpcy5wcmVJc3N1ZUxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5zaG93UHJlSXNzdWVMaXN0ID0gdHJ1ZTtcclxuICAgICAgICAgIGZvcihsZXQgZGF0YSBvZiB0aGlzLnByZUlzc3VlTGlzdCl7XHJcbiAgICAgICAgICAgIGNvbnN0IHRlbXBJbmZvID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgICAgZW1wbG95ZXJOYW1lOiBbZGF0YS5lbXBsb3llck5hbWVdLCBcclxuICAgICAgICAgICAgICBzdGFydERhdGU6IFtkYXRhLnN0YXJ0RGF0ZV0sXHJcbiAgICAgICAgICAgICAgcmVhc29uOiBbZGF0YS5yZWFzb25dLFxyXG4gICAgICAgICAgICAgIHJlcXVhbGlmaWNhdGlvbldhZ2U6IFtkYXRhLnJlcXVhbGlmaWNhdGlvbldhZ2VdLFxyXG4gICAgICAgICAgICAgIGVtcGxveWVySWQ6IFtkYXRhLmVtcGxveWVySWRdLFxyXG4gICAgICAgICAgICAgIGNsYWltQXBwRW1wbG95ZXJJZDogW2RhdGEuY2xhaW1BcHBFbXBsb3llcklkXSxcclxuICAgICAgICAgICAgICBhY3Rpb25QcmV2aW91c0lzc3VlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIGlzc3VlSWQ6IFtkYXRhLmlzc3VlSWRdXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHRoaXMucHJlSXNzdWVzQWN0aW9uTGlzdC5wdXNoKHRlbXBJbmZvKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdwcmUgSXNzdWUgQWN0aW9uIExpc3QgPT0gJywgdGhpcy5wcmVJc3N1ZXNBY3Rpb25MaXN0KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIHRoaXMuc2VwSXNzdWVMaWZ0ZWRMaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5wcmVMaWZ0ZWRJc3N1ZUxpc3Q7XHJcbiAgICAgICAgdGhpcy5zaG93U2VwSXNzdWVMaXN0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmJlYW5MaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5iZWFuTGlzdDtcclxuICAgICAgICB0aGlzLnNob3dCZWFuTGlzdCA9IHRydWU7XHJcbiAgICAgICAgZm9yKGxldCBkYXRhIG9mIHRoaXMuYmVhbkxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2RhdGEgPT0gJywgZGF0YSk7XHJcbiAgICAgICAgICAvLyBpZihkYXRhLmFjdGlvblRha2VuID09PSBudWxsKXtcclxuICAgICAgICAgICAgY29uc3QgdGVtcEluZm8gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgICBlbXBsb3llck5hbWU6IFtkYXRhLmVtcGxveWVyTmFtZV0sIFxyXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZTogW2RhdGEuc3RhcnREYXRlXSxcclxuICAgICAgICAgICAgICByZWFzb246IFtkYXRhLnJlYXNvbl0sXHJcbiAgICAgICAgICAgICAgcmVxdWFsaWZpY2F0aW9uV2FnZTogW2RhdGEucmVxdWFsaWZpY2F0aW9uV2FnZV0sXHJcbiAgICAgICAgICAgICAgYWN0aW9uVGFrZW4gOiBbZGF0YS5hY3Rpb25UYWtlbl0sXHJcbiAgICAgICAgICAgICAgYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZTogWycnLGRhdGEuYWN0aW9uVGFrZW4gPyBudWxsOlZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIGNsYWltQXBwRW1wbG95ZXJJZDogW2RhdGEuY2xhaW1BcHBFbXBsb3llcklkXVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB0aGlzLmJlYW5BY3Rpb25MaXN0LnB1c2godGVtcEluZm8pO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JlYW4gYWN0aW9uIGxpc3QgaXMgJywgdGhpcy5iZWFuQWN0aW9uTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5EaWFsb2coKXtcclxuICAgIHRoaXMuc2hvd0RhdGEgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2F2ZURhdGEoKXtcclxuICAgIGlmKCF0aGlzLnBheUZvcm0udmFsaWQpe1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zyh0aGlzLnBheUZvcm0pO1xyXG4gICAgICB0aGlzLnJlcXVhbGlmeUZvcm1EaXJlY3RpdmUub25TdWJtaXQobnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTYXZlIERhdGEgZm9yIFZhbGlkIEZvcm0nLHRoaXMucGF5Rm9ybSk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgncHJlSXNzdWVzQWN0aW9uTGlzdHMnLCB0aGlzLnByZUlzc3Vlc0FjdGlvbkxpc3QpO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2JlYW5BY3Rpb25MaXN0JywgdGhpcy5iZWFuQWN0aW9uTGlzdClcclxuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdhZGRpdGlvbmFsSW5mbycsIHRoaXMuYWRkaXRpb25hbEluZm8pO1xyXG4gICAgdGhpcy5zaG93RGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZXF1YWxpZnlSZXFIaWRkZW4uc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICB0aGlzLm1vZGVsRGlzcGxheS5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5vbkNvbXBsZXRlUmVxdWFsaWZ5LmVtaXQodGhpcy5wYXlGb3JtKTtcclxuICB9XHJcblxyXG4gIG9uTW9kZWxDYW5jZWwoKSB7XHJcbiAgICB0aGlzLnNob3dEYXRhID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlcXVhbGlmeVJlcUhpZGRlbi5zZXRWYWx1ZShudWxsKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZUFjdGlvbkZvcklzc3VlRHJvcGRvd24oZXZlbnQpe1xyXG4gICAgaWYoZXZlbnQudmFsdWUudmFsdWUgPT09ICdQUkZSJyl7XHJcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mby5hZGRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgbGV0IGV4aXN0ID0gZmFsc2U7XHJcbiAgICAgIGZvcihsZXQgZWxlbWVudCBvZiB0aGlzLmJlYW5BY3Rpb25MaXN0LmNvbnRyb2xzKXtcclxuICAgICAgICBpZihlbGVtZW50LnZhbHVlLmFjdGlvblRha2VuUG90ZW50aWFsSXNzdWUgPT09ICdQUkZSJyl7XHJcbiAgICAgICAgICBleGlzdCA9IHRydWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYoIWV4aXN0KXtcclxuICAgICAgICB0aGlzLmFkZGl0aW9uYWxJbmZvLmNsZWFyVmFsaWRhdG9ycygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICAgICB0aGlzLnBheUZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIHRoaXMuYWRkaXRpb25hbEluZm8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgIFxyXG4gIH1cclxuICBnZXQgcHJlSXNzdWVzQWN0aW9uTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBheUZvcm0uY29udHJvbHNbJ3ByZUlzc3Vlc0FjdGlvbkxpc3QnXSBhcyBVbnR5cGVkRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGJlYW5BY3Rpb25MaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMucGF5Rm9ybS5jb250cm9sc1snYmVhbkFjdGlvbkxpc3QnXSBhcyBVbnR5cGVkRm9ybUFycmF5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFkZGl0aW9uYWxJbmZvKCl7XHJcbiAgICByZXR1cm4gdGhpcy5wYXlGb3JtLmNvbnRyb2xzWydhZGRpdGlvbmFsSW5mbyddIGFzIFVudHlwZWRGb3JtQ29udHJvbDtcclxuICB9XHJcblxyXG4gIGdldCByZXF1YWxpZnlSZXFIaWRkZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgncmVxdWFsaWZ5UmVxSGlkZGVuJylcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlOiBGdW5jdGlvbiA9ICh2YWx1ZTogU3RyaW5nKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBvblRvdWNoOiBGdW5jdGlvbiA9ICgpID0+IHtcclxuICB9O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuXHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmblxyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAjcmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZSA9IFwibmdGb3JtXCI+XHJcbiAgICA8cC1kaWFsb2cgbW9kYWw9XCJ0cnVlXCIgW3Nob3dIZWFkZXJdPVwiZmFsc2VcIiBhcHBlbmRUbz1cImJvZHlcIiBbYnJlYWtwb2ludHNdPVwieyc5NjBweCc6ICc4MHZ3JywgJzY0MHB4JzogJzEwMHZ3J31cIiBbc3R5bGVdPVwie3dpZHRoOiAnNjB2dyd9XCIgW3Zpc2libGVdPVwic2hvd0RhdGFcIj5cclxuICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtNXB4O1wiPlxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxoMT57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnBhZ2VUaXRsZX19PC9oMT5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2PiBcclxuICAgICAgICAgICAgICAgICAgICAgIDxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLmJhc2VXYWdlSW5mb319PC9oMj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dXYWdlc0xpc3RcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd1dhZ2VzTGlzdFwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZC5sZW5ndGggPT09IDAgfHwgIWVtcFByb3ZpZGVkV2FnZXMgXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5ObyBSZWNvcmRzIGZvdW5kLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwiYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkICYmIGVtcFByb3ZpZGVkV2FnZXNcIj4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cC10YWJsZSAjZHQgW3ZhbHVlXT1cImJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZFwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHNcIiBbcm93SG92ZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llckRhdGEuZGlzcGxheU5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzBdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzFdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzJdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzNdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlWzRdPy53YWdlQW1vdW50IHwgY3VycmVuY3l9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGRpdj48aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5lYXJuaW5nc1Byb29mfX08L2gyPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvdzUxMkFSZXNwb25zZVwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3c1MTJBUmVzcG9uc2VcIj4gIFxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwiIXVpNTEyQVJlc3BvbnNlTGlzdFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInVpNTEyQVJlc3BvbnNlTGlzdFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJ1aTUxMkFSZXNwb25zZUxpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2w1MTJBUmVzcG9uc2VMc3RcIiBbcm93SG92ZXJdPVwidHJ1ZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuZW1wbG95ZXJOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5wcm9vZlJlY2lldmVkRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuZWFybmluZ3NCZWdpbkRhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVhcm5pbmdzRW5kRGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuYW1vdW50T2ZFYXJuaW5nc319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPC9wLXRhYmxlPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGRpdj48aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5wb3RlbnRpYWxJc3N1ZXN9fTwvaDI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93QmVhbkxpc3RcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJzaG93QmVhbkxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJlYW5MaXN0Lmxlbmd0aCA9PT0gMFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJlYW5MaXN0ICYmIGJlYW5MaXN0Lmxlbmd0aCA+IDBcIj4gICAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJiZWFuQWN0aW9uTGlzdC5jb250cm9sc1wiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbEJlYW5Mc3RcIiBbcm93SG92ZXJdPVwidHJ1ZVwiID5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZW1wbG95ZXIgb2YgYmVhbkFjdGlvbkxpc3QuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIiBbZm9ybUdyb3VwTmFtZV09XCJpXCI+ICAgLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnZhbHVlLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIudmFsdWUuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci52YWx1ZS5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnZhbHVlLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj0gXCJlbXBsb3llci52YWx1ZS5hY3Rpb25UYWtlbiAhPSBudWxsXCI+e3tlbXBsb3llci52YWx1ZS5hY3Rpb25UYWtlbn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MzAlXCIgKm5nSWY9IFwiZW1wbG95ZXIudmFsdWUuYWN0aW9uVGFrZW4gPT09IG51bGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZW1wbG95ZXJcIiAjcmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFjdGlvbk9wdGlvbnNcIiBmb3JtQ29udHJvbE5hbWU9XCJhY3Rpb25UYWtlblBvdGVudGlhbElzc3VlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIChvbkNoYW5nZSk9XCJjaGFuZ2VBY3Rpb25Gb3JJc3N1ZURyb3Bkb3duKCRldmVudClcIiByZXF1aXJlZD48L2FwcC1kcm9wZG93bj48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyLmNvbnRyb2xzW1wiYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZVwiXScgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5jb250cm9sc1snYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZSddLmludmFsaWRcIiBzdHlsZT1cImNvbG9yOiNlNjBlMGU7IG1hcmdpbi1sZWZ0OiAwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIGZvcm1Db250cm9sTmFtZT1cImNsYWltQXBwRW1wbG95ZXJJZFwiIHZhbHVlID0gXCJ7e2VtcGxveWVyLnZhbHVlLmNsYWltQXBwRW1wbG95ZXJJZH19XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnNlcGFyYXRpb25Jc3N1ZXN9fTwvaDI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93U2VwSXNzdWVMaXN0XCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2hvd1NlcElzc3VlTGlzdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2VwSXNzdWVMaWZ0ZWRMaXN0Lmxlbmd0aCA9PT0gMFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNlcElzc3VlTGlmdGVkTGlzdCAmJiBzZXBJc3N1ZUxpZnRlZExpc3QubGVuZ3RoID4gMFwiPiAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJzZXBJc3N1ZUxpZnRlZExpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xQcmV2aW91c0lzc3VlTHN0XCIgW3Jvd0hvdmVyXT1cInRydWVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7Y29sLmhlYWRlcn19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFjdGlvblRha2VufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnByZXZpb3VzRGVjaXNpb25zfX08L2gyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1ByZUlzc3VlTGlzdFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3dQcmVJc3N1ZUxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInByZUlzc3VlTGlzdC5sZW5ndGggPT09IDBcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJwcmVJc3N1ZUxpc3QgJiYgcHJlSXNzdWVMaXN0Lmxlbmd0aCA+IDBcIj4gICAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJwcmVJc3N1ZXNBY3Rpb25MaXN0LmNvbnRyb2xzXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIiBcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sUHJldmlvdXNJc3N1ZUxzdFwiIFtyb3dIb3Zlcl09XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyIHN0eWxlPVwicGFkZGluZzogNTBweDtcIj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoyMCVcIj57e2VtcGxveWVyLnZhbHVlLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MjAlXCI+e3tlbXBsb3llci52YWx1ZS5zdGFydERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOjIwJVwiPnt7ZW1wbG95ZXIudmFsdWUucmVhc29ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoxMCVcIj57e2VtcGxveWVyLnZhbHVlLnJlcXVhbGlmaWNhdGlvbldhZ2V9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MzAlXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImVtcGxveWVyXCIgI3JlcXVhbGlmeUZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJhY3Rpb25PcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aW9uUHJldmlvdXNJc3N1ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiByZXF1aXJlZD48L2FwcC1kcm9wZG93bj48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2VtcGxveWVyLmNvbnRyb2xzW1wiYWN0aW9uUHJldmlvdXNJc3N1ZVwiXScgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5jb250cm9sc1snYWN0aW9uUHJldmlvdXNJc3N1ZSddLmludmFsaWRcIiBzdHlsZT1cImNvbG9yOiNlNjBlMGU7IG1hcmdpbi1sZWZ0OiAwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgZm9ybUNvbnRyb2xOYW1lPVwiaXNzdWVJZFwiIHZhbHVlID0gXCJ7e2VtcGxveWVyLnZhbHVlLmlzc3VlSWR9fVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8ZGl2PjxoMj57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLm90aGVySXNzdWVzfX08L2gyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0FsbG93U2VwTGlzdFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3dBbGxvd1NlcExpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImFsbG93ZWRTZXBJc3N1ZUxpc3QubGVuZ3RoID09PSAwXCI+IFxyXG4gICAgICAgICAgICAgICAgICA8cD5ObyBSZWNvcmRzIGZvdW5kLjwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwiYWxsb3dlZFNlcElzc3VlTGlzdCAmJiBhbGxvd2VkU2VwSXNzdWVMaXN0Lmxlbmd0aCA+IDBcIj4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8cC10YWJsZSAjZHQgW3ZhbHVlXT1cImFsbG93ZWRTZXBJc3N1ZUxpc3RcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xBbGxvd0lzc3VlTHN0XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5yZWFzb259fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFjdGlvblRha2VufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8cD57e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnJlbWFya3N9fTwvcD5cclxuICAgICAgICAgICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwicGF5Rm9ybVwiICNyZXF1YWxpZnlGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBpZD1cImFkZGl0aW9uYWxJbmZvXCIgYXV0b1Jlc2l6ZT1cInRydWVcIiBmb3JtQ29udHJvbE5hbWU9XCJhZGRpdGlvbmFsSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4TGVuZ3RoPVwiMjU2XCIgcm93cz1cIjNcIiBjb2xzPVwiMzVcIj48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWRkaXRpb25hbEluZm8uaW52YWxpZFwiIHN0eWxlPVwiY29sb3I6I2U2MGUwZTsgbWFyZ2luLWxlZnQ6IDBweDsgZm9udC1zaXplOiAxNXB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIj4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwib25Nb2RlbENhbmNlbCgpXCIgdHlwZT1cInJlc2V0XCIgZmlsbD1cIm91dGxpbmVcIj5cclxuICAgICAgICAgICAgICAgIHt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEuY2FuY2VsQnV0dG9ufX1cclxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIHR5cGU9XCJzdWJtaXRcIiAoY2xpY2spPVwic2F2ZURhdGEoKVwiIGZpbGw9XCJzb2xpZFwiPlxyXG4gICAgICAgICAgICAgICAge3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5zYXZlQnV0dG9ufX1cclxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L3AtZGlhbG9nPlxyXG5cclxuICAgIDxwIGNsYXNzPVwiZm9ybS1sYWJlbFwiPiB7e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLnF1ZXN0aW9uSGVhZGluZyB8IHRyYW5zbGF0ZX19PC9wPlxyXG4gICAgPGRpdiBjbGFzcz1cImdyaWQgcC1ub2d1dHRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgaWQ9XCJyZXF1YWxpZnlSZXFIaWRkZW5cIiBwSW5wdXRUZXh0IGZvcm1Db250cm9sTmFtZT1cInJlcXVhbGlmeVJlcUhpZGRlblwiIGhpZGRlbiAvPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBjb2xvcj1cInN1Y2Nlc3NcIiBmaWxsPVwib3V0bGluZVwiIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIChjbGljayk9XCJvcGVuRGlhbG9nKCk7XCI+XHJcbiAgICAgICAgUmV2aWV3XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0ncmVxdWFsaWZ5UmVxSGlkZGVuJyBbZm9ybV09XCJyZXF1YWxpZnlGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7XHJcbiAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkLidcclxuICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9mb3JtPiJdfQ==
|
|
950
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9yZXF1YWxpZnktbGlmdC1wcmV2aW91cy1pc3N1ZXMvcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUE0QyxpQkFBaUIsRUFBb0Isa0JBQWtCLEVBQUUsVUFBVSxFQUErQixNQUFNLGdCQUFnQixDQUFDO0FBRzVLLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRzdGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ0t6RCwrQkFBb0Q7SUFDbEQsa0NBQXVDO0lBQ3pDLGlCQUFNOzs7SUFFSiwyQkFBOEUsUUFBQTtJQUN6RSxpQ0FBaUI7SUFBQSxpQkFBSSxFQUFBOzs7SUFPaEIsMEJBQWdDLFFBQUE7SUFDekIsWUFBYztJQUFBLGlCQUFJLEVBQUE7OztJQUFsQixlQUFjO0lBQWQsb0NBQWM7OztJQUZ6QiwwQkFBSTtJQUNBLCtHQUVLO0lBQ1QsaUJBQUs7OztJQUht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LElBQUk7a0JBQVosS0FBSztZQUNJLFlBQVk7a0JBQXJCLE1BQU07WUFDRyxtQkFBbUI7a0JBQTVCLE1BQU07WUFLQSxzQkFBc0I7a0JBRDVCLFNBQVM7bUJBQUMsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkFsQjNDLG9DQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvcixGb3JtQnVpbGRlciwgTmdGb3JtLCBOR19WQUxVRV9BQ0NFU1NPUiwgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBVbnR5cGVkRm9ybUFycmF5LCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9DbGFpbUFwcEVtcFJlc3BvbnNlTW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wUmVxdWVzdE1vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9DaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvUXRyWWVhckVtcGxveWVyV2FnZU1vZGVsJztcclxuaW1wb3J0IHsgUmVxdWFsaWZ5TGlmdFBhZ2VNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9SZXF1YWxpZnlMaWZ0UGFnZU1vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRWxlbWVudHNNb2RlbCc7XHJcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvZ2luL2xvZ2luLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL1JlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbCc7XHJcbmltcG9ydCB7IFVJNTEyQVJlc3BvbnNlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9VSTUxMkFSZXNwb25zZU1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3VlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVhbGlmeS1saWZ0LXByZXZpb3VzLWlzc3Vlcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcmVxdWFsaWZ5LWxpZnQtcHJldmlvdXMtaXNzdWVzLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFt7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBSZXF1YWxpZnlMaWZ0UHJldmlvdXNJc3N1ZXNDb21wb25lbnQsXHJcbiAgICBtdWx0aTogdHJ1ZVxyXG4gIH1dLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuRGVmYXVsdFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcXVhbGlmeUxpZnRQcmV2aW91c0lzc3Vlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIFxyXG4gIHB1YmxpYyBicEVtcGxveWVyV2FnZXNMaXN0PzogQ2xhaW1BcHBFbXBsb3llckRldGFpbHNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZD86IENsYWltQXBwRW1wbG95ZXJEZXRhaWxzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBhbGxvd2VkU2VwSXNzdWVMaXN0PzogQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHByZUlzc3VlTGlzdD86IENpblJlcXVhbGlmaWNhdGlvbkNyaXRlcmlhTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzZXBJc3N1ZUxpZnRlZExpc3Q/OiBDaW5SZXF1YWxpZmljYXRpb25Dcml0ZXJpYU1vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgdWk1MTJBUmVzcG9uc2VMaXN0PzogVUk1MTJBUmVzcG9uc2VNb2RlbFtdID0gW107XHJcbiAgcHVibGljIGJlYW5MaXN0PzogQ2luUmVxdWFsaWZpY2F0aW9uQ3JpdGVyaWFNb2RlbFtdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHF1ZXN0aW9uOiBFbGVtZW50c01vZGVsO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudERhdGE6c3RyaW5nO1xyXG4gIEBJbnB1dCgpIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgQE91dHB1dCgpIG1vZGVsRGlzcGxheSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAT3V0cHV0KCkgb25Db21wbGV0ZVJlcXVhbGlmeSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIHJlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhOlJlcXVhbGlmeUxpZnRJc3N1ZXNNb2RlbDtcclxuXHJcbiAgQFZpZXdDaGlsZCgncmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyByZXF1YWxpZnlGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIHNzbjogc3RyaW5nO1xyXG4gIGNvbHM6IGFueVtdO1xyXG4gIGNvbEFsbG93SXNzdWVMc3Q6IGFueVtdO1xyXG4gIGNvbFByZXZpb3VzSXNzdWVMc3Q6IGFueVtdO1xyXG4gIGNvbDUxMkFSZXNwb25zZUxzdDogYW55W107XHJcbiAgY29sQmVhbkxzdDogYW55W11cclxuXHJcbiAgcHVibGljIHNob3dXYWdlc0xpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dBbGxvd1NlcExpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dQcmVJc3N1ZUxpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTZXBJc3N1ZUxpc3QgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3c1MTJBUmVzcG9uc2UgOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dCZWFuTGlzdCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgZW1wUHJvdmlkZWRXYWdlcyA6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgYWN0aW9uT3B0aW9ucyA6IGFueVtdO1xyXG4gIHB1YmxpYyBzaG93RGF0YTpib29sZWFuID0gZmFsc2U7XHJcbiAgXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNzOiBDbGFpbVNlcnZpY2UsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHVibGljIGZiOiBGb3JtQnVpbGRlciwgcHVibGljIGxvZ2dlcjpMb2dnZXJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIHBheUZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIHByZUlzc3Vlc0FjdGlvbkxpc3Q6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgYmVhbkFjdGlvbkxpc3Q6IHRoaXMuZmIuYXJyYXkoW10pLFxyXG4gICAgYWRkaXRpb25hbEluZm86IFsnJywgbnVsbF1cclxuICB9KTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgc3NuTGFzdEZvdXJGcm9tRGI6IHN0cmluZztcclxuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpID09PSB0cnVlKXtcclxuICAgICAgc3NuTGFzdEZvdXJGcm9tRGIgPSB0aGlzLmxzLmdldFVzZXIoKS5zc24uc3Vic3RyaW5nKDUsOSlcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdxdWVzdGlvbiBhcyBpbnB1dCB2YWx1ZSBpcyA6ICcsIHRoaXMucXVlc3Rpb24pO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ3JlcXVhbGlmeVJlcUhpZGRlbicsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobnVsbCxbVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUsVmFsaWRhdG9ycy5yZXF1aXJlZF0pKTtcclxuICAgIHRoaXMucXVlc3Rpb24ubmFtZT1cInJlcXVhbGlmeVJlcUhpZGRlblwiO1xyXG4gICAgdGhpcy5sb2FkQmFzZVBlcmlvZFdhZ2VzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCk7XHJcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcbiAgICB0aGlzLmxvYWRVSTUxMkFSZXNwb25zZXMoKTtcclxuXHJcbiAgICB0aGlzLmNvbEFsbG93SXNzdWVMc3QgPSBbXHJcbiAgICAgIHtoZWFkZXIgOiAnRW1wbG95ZXIgTmFtZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ0lzc3VlIFN0YXJ0IERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdJc3N1ZSBEZXNjcmlwdGlvbid9LFxyXG4gICAgICB7aGVhZGVyIDogJ0RlY2lzaW9uJ31cclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5jb2xQcmV2aW91c0lzc3VlTHN0ID0gW1xyXG4gICAgICB7aGVhZGVyIDogJ0VtcGxveWVyIE5hbWUnfSxcclxuICAgICAge2hlYWRlciA6ICdJc3N1ZSBTdGFydCBEYXRlJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnSXNzdWUgRGVzY3JpcHRpb24nfSxcclxuICAgICAge2hlYWRlciA6ICdSZXF1YWxpZnlpbmcgQW1vdW50KCQpJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnQWN0aW9uJ31cclxuICAgIF07XHJcblxyXG4gICAgdGhpcy5jb2w1MTJBUmVzcG9uc2VMc3QgPSBbXHJcbiAgICAgIHtoZWFkZXIgOiAnRW1wbG95ZXIgTmFtZSd9LFxyXG4gICAgICB7aGVhZGVyIDogJ1Byb29mIHJlY2VpdmVkIERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdFYXJuaW5nIEJlZ2luIERhdGUnfSxcclxuICAgICAge2hlYWRlciA6ICdFYXJuaW5nIEVuZCBEYXRlJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnQW1vdW50ICgkKSd9XHJcbiAgICBdO1xyXG5cclxuICAgIHRoaXMuY29sQmVhbkxzdCA9IFtcclxuICAgICAge2hlYWRlciA6ICdFbXBsb3llciBOYW1lJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnRGF0ZSBvZiBTZXBhcmF0aW9uJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnUmVhc29uIGZvciBTZXBhcmF0aW9uJ30sXHJcbiAgICAgIHtoZWFkZXIgOiAnUmVxdWlyZWQgV2FnZSAoJCknfSxcclxuICAgICAge2hlYWRlciA6ICdBY3Rpb24nfVxyXG4gICAgXVxyXG4gICAgY29uc3Qgb2JqID0gSlNPTi5wYXJzZSh0aGlzLmNvbXBvbmVudERhdGEpO1xyXG4gICAgdGhpcy5yZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YSA9IG9iajtcclxuICAgIHRoaXMucmVxdWFsaWZ5UmVxSGlkZGVuLnNldFZhbHVlKG51bGwpO1xyXG5cclxuICB9XHJcblxyXG4gIGxvYWRVSTUxMkFSZXNwb25zZXMoKSB7XHJcbiAgICB0aGlzLmNzLmdldFVJNTEyQVJlc3BvbnNlcygpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZSA6IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw9ICByZXM7XHJcbiAgICAgICAgdGhpcy51aTUxMkFSZXNwb25zZUxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbEZyb21TZXJ2aWNlLnVpNTEyQVJlc3BvbnNlTGlzdDtcclxuICAgICAgICB0aGlzLnNob3c1MTJBUmVzcG9uc2UgPSB0cnVlO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgXHJcbiAgbG9hZE1hc3RlckRhdGEoKSB7XHJcbiAgICB0aGlzLmNzLmdldFJlcXVhbGlmeUNyaXRlcmlhRW51bSgpO1xyXG4gICAgdGhpcy5jcy5nZXRBY3Rpb25zTGlzdCgpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmFjdGlvbk9wdGlvbnMgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvYWRCYXNlUGVyaW9kV2FnZXNGb3JTU04oKSB7XHJcbiAgICBsZXQgY2xtRW1wUmVxdWVzdE1vZGVsOiBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCA9IG5ldyBDbGFpbUFwcEVtcFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgdGhpcy5jcy5sb2FkQmFzZVBlcmlvZFdhZ2VzKGNsbUVtcFJlcXVlc3RNb2RlbCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMgPT4ge1xyXG4gICAgICAgIGxldCB0ZW1wIDogQ2xhaW1BcHBFbXBSZXNwb25zZU1vZGVsID0gcmVzO1xyXG4gICAgICAgIHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdCA9IHRlbXAuYnBFbXBMaXN0O1xyXG4gICAgICAgIGlmKHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdCl7XHJcbiAgICAgICAgICB0aGlzLmJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZCA9IHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdC5maWx0ZXIoYyA9PiBjLm9zYUJwRW1wbG95ZXJGbGFnID09PSAnMCcpO1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JwIGxpc3QgYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkICcsIHRoaXMuYnBFbXBsb3llcldhZ2VzTGlzdEZpbHRlcmVkKTtcclxuICAgICAgICAgIGxldCBxdHJZZWFyTGlzdCA6IFF0clllYXJFbXBsb3llcldhZ2VNb2RlbFtdID0gW107XHJcbiAgICAgICAgICBpZih0aGlzLmJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZFswXT8uZW1wbG95ZXJQcm92aWRlZFdhZ2VzID09PSBudWxsKXtcclxuICAgICAgICAgICB0aGlzLmVtcFByb3ZpZGVkV2FnZXMgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHF0clllYXJMaXN0ID0gdGhpcy5icEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWRbMF0/LmVtcGxveWVyUHJvdmlkZWRXYWdlcy53YWdlc0xpc3RRdHJXaXNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBpZihxdHJZZWFyTGlzdCAhPSBudWxsICYmIHF0clllYXJMaXN0Lmxlbmd0aCA+IDApe1xyXG4gICAgICAgICAgICAgIHRoaXMuY29scyA9IFtcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiAnRW1wbG95ZXIgTmFtZScgfSxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiBxdHJZZWFyTGlzdFswXS5xdHJZZWFyRGlzcGxheVN0cmluZyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzFdLnF0clllYXJEaXNwbGF5U3RyaW5nIH0sXHJcbiAgICAgICAgICAgICAgICB7IGhlYWRlcjogcXRyWWVhckxpc3RbMl0ucXRyWWVhckRpc3BsYXlTdHJpbmcgfSxcclxuICAgICAgICAgICAgICAgIHsgaGVhZGVyOiBxdHJZZWFyTGlzdFszXS5xdHJZZWFyRGlzcGxheVN0cmluZyB9LFxyXG4gICAgICAgICAgICAgICAgeyBoZWFkZXI6IHF0clllYXJMaXN0WzRdLnF0clllYXJEaXNwbGF5U3RyaW5nIH1cclxuICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLnNob3dXYWdlc0xpc3QgPSB0cnVlOyAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKVxyXG4gIH1cclxuIFxyXG4gIGxvYWRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCkge1xyXG4gICAgdGhpcy5jcy5nZXRBbGxvd1NlcFByZXZpb3VzSXNzdWVzRm9yU1NOKCkuc3Vic2NyaWJlKFxyXG4gICAgICByZXMxID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWwxOiBSZXF1YWxpZnlMaWZ0UGFnZU1vZGVsID0gbmV3IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWwoKTtcclxuICAgICAgICByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbDEgPSByZXMxOyAgICAgICBcclxuICAgICAgICB0aGlzLmFsbG93ZWRTZXBJc3N1ZUxpc3QgPSByZXF1YWxpZnlMaWZ0SXNzdWVNb2RlbDEuYWxsb3dlZFNlcElzc3VlTGlzdDtcclxuICAgICAgICBpZih0aGlzLmFsbG93ZWRTZXBJc3N1ZUxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5zaG93QWxsb3dTZXBMaXN0ID0gdHJ1ZTtcclxuICAgICAgICB9IFxyXG4gICAgICB9KTtcclxuICB9XHJcbiBcclxuICBsb2FkUmVxdWFsaWZ5TGlmdElzc3Vlc0ZvclNTTigpIHtcclxuICAgIHRoaXMuY3MuZ2V0UmVxdWFsaWZ5TGlmdElzc3Vlc0ZvclNTTigpLnN1YnNjcmliZShcclxuICAgICAgcmVzID0+IHtcclxuICAgICAgICBsZXQgcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZSA6IFJlcXVhbGlmeUxpZnRQYWdlTW9kZWw9ICByZXM7XHJcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2xvYWRSZXF1YWxpZnlMaWZ0SXNzdWVzRm9yU1NOID09PT0nLCByZXMpO1xyXG4gICAgICAgIHRoaXMucHJlSXNzdWVMaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5wcmVJc3N1ZUxpc3Q7XHJcbiAgICAgICAgaWYodGhpcy5wcmVJc3N1ZUxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5zaG93UHJlSXNzdWVMaXN0ID0gdHJ1ZTtcclxuICAgICAgICAgIGZvcihsZXQgZGF0YSBvZiB0aGlzLnByZUlzc3VlTGlzdCl7XHJcbiAgICAgICAgICAgIGNvbnN0IHRlbXBJbmZvID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICAgICAgICAgZW1wbG95ZXJOYW1lOiBbZGF0YS5lbXBsb3llck5hbWVdLCBcclxuICAgICAgICAgICAgICBzdGFydERhdGU6IFtkYXRhLnN0YXJ0RGF0ZV0sXHJcbiAgICAgICAgICAgICAgcmVhc29uOiBbZGF0YS5yZWFzb25dLFxyXG4gICAgICAgICAgICAgIHJlcXVhbGlmaWNhdGlvbldhZ2U6IFtkYXRhLnJlcXVhbGlmaWNhdGlvbldhZ2VdLFxyXG4gICAgICAgICAgICAgIGVtcGxveWVySWQ6IFtkYXRhLmVtcGxveWVySWRdLFxyXG4gICAgICAgICAgICAgIGNsYWltQXBwRW1wbG95ZXJJZDogW2RhdGEuY2xhaW1BcHBFbXBsb3llcklkXSxcclxuICAgICAgICAgICAgICBhY3Rpb25QcmV2aW91c0lzc3VlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIGlzc3VlSWQ6IFtkYXRhLmlzc3VlSWRdXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIHRoaXMucHJlSXNzdWVzQWN0aW9uTGlzdC5wdXNoKHRlbXBJbmZvKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdwcmUgSXNzdWUgQWN0aW9uIExpc3QgPT0gJywgdGhpcy5wcmVJc3N1ZXNBY3Rpb25MaXN0KTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIHRoaXMuc2VwSXNzdWVMaWZ0ZWRMaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5wcmVMaWZ0ZWRJc3N1ZUxpc3Q7XHJcbiAgICAgICAgdGhpcy5zaG93U2VwSXNzdWVMaXN0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmJlYW5MaXN0ID0gcmVxdWFsaWZ5TGlmdElzc3VlTW9kZWxGcm9tU2VydmljZS5iZWFuTGlzdDtcclxuICAgICAgICB0aGlzLnNob3dCZWFuTGlzdCA9IHRydWU7XHJcbiAgICAgICAgZm9yKGxldCBkYXRhIG9mIHRoaXMuYmVhbkxpc3Qpe1xyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2RhdGEgPT0gJywgZGF0YSk7XHJcbiAgICAgICAgICAvLyBpZihkYXRhLmFjdGlvblRha2VuID09PSBudWxsKXtcclxuICAgICAgICAgICAgY29uc3QgdGVtcEluZm8gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgICBlbXBsb3llck5hbWU6IFtkYXRhLmVtcGxveWVyTmFtZV0sIFxyXG4gICAgICAgICAgICAgIHN0YXJ0RGF0ZTogW2RhdGEuc3RhcnREYXRlXSxcclxuICAgICAgICAgICAgICByZWFzb246IFtkYXRhLnJlYXNvbl0sXHJcbiAgICAgICAgICAgICAgcmVxdWFsaWZpY2F0aW9uV2FnZTogW2RhdGEucmVxdWFsaWZpY2F0aW9uV2FnZV0sXHJcbiAgICAgICAgICAgICAgYWN0aW9uVGFrZW4gOiBbZGF0YS5hY3Rpb25UYWtlbl0sXHJcbiAgICAgICAgICAgICAgYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZTogWycnLGRhdGEuYWN0aW9uVGFrZW4gPyBudWxsOlZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAgICAgICAgIGNsYWltQXBwRW1wbG95ZXJJZDogW2RhdGEuY2xhaW1BcHBFbXBsb3llcklkXVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB0aGlzLmJlYW5BY3Rpb25MaXN0LnB1c2godGVtcEluZm8pO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2JlYW4gYWN0aW9uIGxpc3QgaXMgJywgdGhpcy5iZWFuQWN0aW9uTGlzdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5EaWFsb2coKXtcclxuICAgIHRoaXMuc2hvd0RhdGEgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2F2ZURhdGEoKXtcclxuICAgIGlmKCF0aGlzLnBheUZvcm0udmFsaWQpe1xyXG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1Zyh0aGlzLnBheUZvcm0pO1xyXG4gICAgICB0aGlzLnJlcXVhbGlmeUZvcm1EaXJlY3RpdmUub25TdWJtaXQobnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTYXZlIERhdGEgZm9yIFZhbGlkIEZvcm0nLHRoaXMucGF5Rm9ybSk7XHJcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgncHJlSXNzdWVzQWN0aW9uTGlzdHMnLCB0aGlzLnByZUlzc3Vlc0FjdGlvbkxpc3QpO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2JlYW5BY3Rpb25MaXN0JywgdGhpcy5iZWFuQWN0aW9uTGlzdClcclxuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdhZGRpdGlvbmFsSW5mbycsIHRoaXMuYWRkaXRpb25hbEluZm8pO1xyXG4gICAgdGhpcy5zaG93RGF0YSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZXF1YWxpZnlSZXFIaWRkZW4uc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICB0aGlzLm1vZGVsRGlzcGxheS5lbWl0KHRydWUpO1xyXG4gICAgdGhpcy5vbkNvbXBsZXRlUmVxdWFsaWZ5LmVtaXQodGhpcy5wYXlGb3JtKTtcclxuICB9XHJcblxyXG4gIG9uTW9kZWxDYW5jZWwoKSB7XHJcbiAgICB0aGlzLnNob3dEYXRhID0gZmFsc2U7XHJcbiAgICBjb25zb2xlLmxvZyhcIm9uTW9kZWxDYW5jZWxcIix0aGlzLmJlYW5BY3Rpb25MaXN0LmNvbnRyb2xzKVxyXG4gICAgaWYodGhpcy5iZWFuQWN0aW9uTGlzdC5jb250cm9scy5sZW5ndGg9PT0gMCAmJiB0aGlzLnByZUlzc3Vlc0FjdGlvbkxpc3QuY29udHJvbHMubGVuZ3RoID09PSAwKXtcclxuICAgICAgdGhpcy5yZXF1YWxpZnlSZXFIaWRkZW4uc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5yZXF1YWxpZnlSZXFIaWRkZW4uc2V0VmFsdWUobnVsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VBY3Rpb25Gb3JJc3N1ZURyb3Bkb3duKGV2ZW50KXtcclxuICAgIGlmKGV2ZW50LnZhbHVlLnZhbHVlID09PSAnUFJGUicpe1xyXG4gICAgICAgIHRoaXMuYWRkaXRpb25hbEluZm8uYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5yZXF1aXJlZF0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIGxldCBleGlzdCA9IGZhbHNlO1xyXG4gICAgICBmb3IobGV0IGVsZW1lbnQgb2YgdGhpcy5iZWFuQWN0aW9uTGlzdC5jb250cm9scyl7XHJcbiAgICAgICAgaWYoZWxlbWVudC52YWx1ZS5hY3Rpb25UYWtlblBvdGVudGlhbElzc3VlID09PSAnUFJGUicpe1xyXG4gICAgICAgICAgZXhpc3QgPSB0cnVlO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmKCFleGlzdCl7XHJcbiAgICAgICAgdGhpcy5hZGRpdGlvbmFsSW5mby5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAgICAgdGhpcy5wYXlGb3JtLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICB0aGlzLmFkZGl0aW9uYWxJbmZvLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICBcclxuICB9XHJcbiAgZ2V0IHByZUlzc3Vlc0FjdGlvbkxpc3QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXlGb3JtLmNvbnRyb2xzWydwcmVJc3N1ZXNBY3Rpb25MaXN0J10gYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldCBiZWFuQWN0aW9uTGlzdCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBheUZvcm0uY29udHJvbHNbJ2JlYW5BY3Rpb25MaXN0J10gYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRpdGlvbmFsSW5mbygpe1xyXG4gICAgcmV0dXJuIHRoaXMucGF5Rm9ybS5jb250cm9sc1snYWRkaXRpb25hbEluZm8nXSBhcyBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICBnZXQgcmVxdWFsaWZ5UmVxSGlkZGVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3JlcXVhbGlmeVJlcUhpZGRlbicpXHJcbiAgfVxyXG5cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAodmFsdWU6IFN0cmluZykgPT4ge1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7XHJcbiAgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmblxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm5cclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgI3JlcXVhbGlmeUZvcm1EaXJlY3RpdmUgPSBcIm5nRm9ybVwiPlxyXG4gICAgPHAtZGlhbG9nIG1vZGFsPVwidHJ1ZVwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCIgYXBwZW5kVG89XCJib2R5XCIgW2JyZWFrcG9pbnRzXT1cInsnOTYwcHgnOiAnODB2dycsICc2NDBweCc6ICcxMDB2dyd9XCIgW3N0eWxlXT1cInt3aWR0aDogJzYwdncnfVwiIFt2aXNpYmxlXT1cInNob3dEYXRhXCI+XHJcbiAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTVweDtcIj5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aDE+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5wYWdlVGl0bGV9fTwvaDE+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPGRpdj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5iYXNlV2FnZUluZm99fTwvaDI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFzaG93V2FnZXNMaXN0XCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNob3dXYWdlc0xpc3RcIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJicEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWQubGVuZ3RoID09PSAwIHx8ICFlbXBQcm92aWRlZFdhZ2VzIFwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImJwRW1wbG95ZXJXYWdlc0xpc3RGaWx0ZXJlZCAmJiBlbXBQcm92aWRlZFdhZ2VzXCI+ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJicEVtcGxveWVyV2FnZXNMaXN0RmlsdGVyZWRcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xzXCIgW3Jvd0hvdmVyXT1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIuZW1wbG95ZXJEYXRhLmRpc3BsYXlOYW1lfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVswXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVsxXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVsyXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVszXT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llclByb3ZpZGVkV2FnZXMud2FnZXNMaXN0UXRyV2lzZVs0XT8ud2FnZUFtb3VudCB8IGN1cnJlbmN5fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxkaXY+PGgyPnt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEuZWFybmluZ3NQcm9vZn19PC9oMj48L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3c1MTJBUmVzcG9uc2VcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJzaG93NTEyQVJlc3BvbnNlXCI+ICBcclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcIiF1aTUxMkFSZXNwb25zZUxpc3RcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJ1aTUxMkFSZXNwb25zZUxpc3RcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYmxlICNkdCBbdmFsdWVdPVwidWk1MTJBUmVzcG9uc2VMaXN0XCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIiBcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sNTEyQVJlc3BvbnNlTHN0XCIgW3Jvd0hvdmVyXT1cInRydWVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7Y29sLmhlYWRlcn19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIucHJvb2ZSZWNpZXZlZERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmVhcm5pbmdzQmVnaW5EYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lYXJuaW5nc0VuZERhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLmFtb3VudE9mRWFybmluZ3N9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvcC10YWJsZT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcblxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgIDxkaXY+PGgyPnt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEucG90ZW50aWFsSXNzdWVzfX08L2gyPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd0JlYW5MaXN0XCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxpb24tc3Bpbm5lciBuYW1lPVwiZG90c1wiPjwvaW9uLXNwaW5uZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwic2hvd0JlYW5MaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJiZWFuTGlzdC5sZW5ndGggPT09IDBcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJiZWFuTGlzdCAmJiBiZWFuTGlzdC5sZW5ndGggPiAwXCI+ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYmxlICNkdCBbdmFsdWVdPVwiYmVhbkFjdGlvbkxpc3QuY29udHJvbHNcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlIGlvbi1wYWRkaW5nLXRvcFwiIFxyXG4gICAgICAgICAgICAgICAgICBbY29sdW1uc109XCJjb2xCZWFuTHN0XCIgW3Jvd0hvdmVyXT1cInRydWVcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiIGxldC1jb2x1bW5zPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPiAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiBjb2x1bW5zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7Y29sLmhlYWRlcn19PC9iPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWVtcGxveWVyIGxldC1yb3dJbmRleD1cInJvd0luZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVtcGxveWVyIG9mIGJlYW5BY3Rpb25MaXN0LmNvbnRyb2xzOyBsZXQgaSA9IGluZGV4XCIgW2Zvcm1Hcm91cE5hbWVdPVwiaVwiPiAgIC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci52YWx1ZS5lbXBsb3llck5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnZhbHVlLnN0YXJ0RGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIudmFsdWUucmVhc29ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci52YWx1ZS5yZXF1YWxpZmljYXRpb25XYWdlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9IFwiZW1wbG95ZXIudmFsdWUuYWN0aW9uVGFrZW4gIT0gbnVsbFwiPnt7ZW1wbG95ZXIudmFsdWUuYWN0aW9uVGFrZW59fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOjMwJVwiICpuZ0lmPSBcImVtcGxveWVyLnZhbHVlLmFjdGlvblRha2VuID09PSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cImVtcGxveWVyXCIgI3JlcXVhbGlmeUZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJhY3Rpb25PcHRpb25zXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aW9uVGFrZW5Qb3RlbnRpYWxJc3N1ZVwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiAob25DaGFuZ2UpPVwiY2hhbmdlQWN0aW9uRm9ySXNzdWVEcm9wZG93bigkZXZlbnQpXCIgcmVxdWlyZWQ+PC9hcHAtZHJvcGRvd24+PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llci5jb250cm9sc1tcImFjdGlvblRha2VuUG90ZW50aWFsSXNzdWVcIl0nIFtmb3JtXT1cInJlcXVhbGlmeUZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXIuY29udHJvbHNbJ2FjdGlvblRha2VuUG90ZW50aWFsSXNzdWUnXS5pbnZhbGlkXCIgc3R5bGU9XCJjb2xvcjojZTYwZTBlOyBtYXJnaW4tbGVmdDogMHB4OyBmb250LXNpemU6IDE1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBmb3JtQ29udHJvbE5hbWU9XCJjbGFpbUFwcEVtcGxveWVySWRcIiB2YWx1ZSA9IFwie3tlbXBsb3llci52YWx1ZS5jbGFpbUFwcEVtcGxveWVySWR9fVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGRpdj48aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5zZXBhcmF0aW9uSXNzdWVzfX08L2gyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhc2hvd1NlcElzc3VlTGlzdFwiIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLXNwaW5uZXIgbmFtZT1cImRvdHNcIj48L2lvbi1zcGlubmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNob3dTZXBJc3N1ZUxpc3RcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcInNlcElzc3VlTGlmdGVkTGlzdC5sZW5ndGggPT09IDBcIj4gXHJcbiAgICAgICAgICAgICAgICAgIDxwPk5vIFJlY29yZHMgZm91bmQuPC9wPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJzZXBJc3N1ZUxpZnRlZExpc3QgJiYgc2VwSXNzdWVMaWZ0ZWRMaXN0Lmxlbmd0aCA+IDBcIj4gICAgXHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYmxlICNkdCBbdmFsdWVdPVwic2VwSXNzdWVMaWZ0ZWRMaXN0XCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIiBcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sUHJldmlvdXNJc3N1ZUxzdFwiIFtyb3dIb3Zlcl09XCJ0cnVlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgY29sdW1uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57e2NvbC5oZWFkZXJ9fTwvYj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPiBcclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llck5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnN0YXJ0RGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIucmVhc29ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5yZXF1YWxpZmljYXRpb25XYWdlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5hY3Rpb25UYWtlbn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGRpdj48aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5wcmV2aW91c0RlY2lzaW9uc319PC9oMj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dQcmVJc3N1ZUxpc3RcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJzaG93UHJlSXNzdWVMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJwcmVJc3N1ZUxpc3QubGVuZ3RoID09PSAwXCI+IFxyXG4gICAgICAgICAgICAgICAgICA8cD5ObyBSZWNvcmRzIGZvdW5kLjwvcD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZiA9IFwicHJlSXNzdWVMaXN0ICYmIHByZUlzc3VlTGlzdC5sZW5ndGggPiAwXCI+ICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIDxwLXRhYmxlICNkdCBbdmFsdWVdPVwicHJlSXNzdWVzQWN0aW9uTGlzdC5jb250cm9sc1wiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGUgaW9uLXBhZGRpbmctdG9wXCIgXHJcbiAgICAgICAgICAgICAgICAgIFtjb2x1bW5zXT1cImNvbFByZXZpb3VzSXNzdWVMc3RcIiBbcm93SG92ZXJdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIiBsZXQtY29sdW1ucz5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT1cInBhZGRpbmc6IDUwcHg7XCI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtZW1wbG95ZXIgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MjAlXCI+e3tlbXBsb3llci52YWx1ZS5lbXBsb3llck5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOjIwJVwiPnt7ZW1wbG95ZXIudmFsdWUuc3RhcnREYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aWR0aDoyMCVcIj57e2VtcGxveWVyLnZhbHVlLnJlYXNvbn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPVwid2lkdGg6MTAlXCI+e3tlbXBsb3llci52YWx1ZS5yZXF1YWxpZmljYXRpb25XYWdlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndpZHRoOjMwJVwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJlbXBsb3llclwiICNyZXF1YWxpZnlGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+ICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwiYWN0aW9uT3B0aW9uc1wiIGZvcm1Db250cm9sTmFtZT1cImFjdGlvblByZXZpb3VzSXNzdWVcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgcmVxdWlyZWQ+PC9hcHAtZHJvcGRvd24+PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llci5jb250cm9sc1tcImFjdGlvblByZXZpb3VzSXNzdWVcIl0nIFtmb3JtXT1cInJlcXVhbGlmeUZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW1wbG95ZXIuY29udHJvbHNbJ2FjdGlvblByZXZpb3VzSXNzdWUnXS5pbnZhbGlkXCIgc3R5bGU9XCJjb2xvcjojZTYwZTBlOyBtYXJnaW4tbGVmdDogMHB4OyBmb250LXNpemU6IDE1cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIGZvcm1Db250cm9sTmFtZT1cImlzc3VlSWRcIiB2YWx1ZSA9IFwie3tlbXBsb3llci52YWx1ZS5pc3N1ZUlkfX1cIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGRpdj48aDI+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5vdGhlcklzc3Vlc319PC9oMj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNob3dBbGxvd1NlcExpc3RcIiBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1zcGlubmVyIG5hbWU9XCJkb3RzXCI+PC9pb24tc3Bpbm5lcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJzaG93QWxsb3dTZXBMaXN0XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmID0gXCJhbGxvd2VkU2VwSXNzdWVMaXN0Lmxlbmd0aCA9PT0gMFwiPiBcclxuICAgICAgICAgICAgICAgICAgPHA+Tm8gUmVjb3JkcyBmb3VuZC48L3A+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nSWYgPSBcImFsbG93ZWRTZXBJc3N1ZUxpc3QgJiYgYWxsb3dlZFNlcElzc3VlTGlzdC5sZW5ndGggPiAwXCI+ICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPHAtdGFibGUgI2R0IFt2YWx1ZV09XCJhbGxvd2VkU2VwSXNzdWVMaXN0XCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZSBpb24tcGFkZGluZy10b3BcIiBcclxuICAgICAgICAgICAgICAgICAgW2NvbHVtbnNdPVwiY29sQWxsb3dJc3N1ZUxzdFwiID5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8dHI+ICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgY29sIG9mIGNvbHVtbnNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3tjb2wuaGVhZGVyfX08L2I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD4gXHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3RyPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1lbXBsb3llciBsZXQtcm93SW5kZXg9XCJyb3dJbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5lbXBsb3llck5hbWV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2VtcGxveWVyLnN0YXJ0RGF0ZX19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7ZW1wbG95ZXIucmVhc29ufX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3tlbXBsb3llci5hY3Rpb25UYWtlbn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPC9wLXRhYmxlPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPHA+e3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5yZW1hcmtzfX08L3A+XHJcbiAgICAgICAgICAgICAgPGRpdiBbZm9ybUdyb3VwXT1cInBheUZvcm1cIiAjcmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XCJhZGRpdGlvbmFsSW5mb1wiIGF1dG9SZXNpemU9XCJ0cnVlXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWRkaXRpb25hbEluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgIG1heExlbmd0aD1cIjI1NlwiIHJvd3M9XCIzXCIgY29scz1cIjM1XCI+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFkZGl0aW9uYWxJbmZvLmludmFsaWRcIiBzdHlsZT1cImNvbG9yOiNlNjBlMGU7IG1hcmdpbi1sZWZ0OiAwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+ICBcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+ICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgKGNsaWNrKT1cIm9uTW9kZWxDYW5jZWwoKVwiIHR5cGU9XCJyZXNldFwiIGZpbGw9XCJvdXRsaW5lXCI+XHJcbiAgICAgICAgICAgICAgICB7e3JlcXVhbGlmeUxpZnRJc3N1ZXNEYXRhLmNhbmNlbEJ1dHRvbn19XHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cInNhdmVEYXRhKClcIiBmaWxsPVwic29saWRcIj5cclxuICAgICAgICAgICAgICAgIHt7cmVxdWFsaWZ5TGlmdElzc3Vlc0RhdGEuc2F2ZUJ1dHRvbn19XHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9wLWRpYWxvZz5cclxuXHJcbiAgICA8cCBjbGFzcz1cImZvcm0tbGFiZWxcIj4ge3tyZXF1YWxpZnlMaWZ0SXNzdWVzRGF0YS5xdWVzdGlvbkhlYWRpbmcgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgIDxkaXYgY2xhc3M9XCJncmlkIHAtbm9ndXR0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGlkPVwicmVxdWFsaWZ5UmVxSGlkZGVuXCIgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJyZXF1YWxpZnlSZXFIaWRkZW5cIiBoaWRkZW4gLz5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgY29sb3I9XCJzdWNjZXNzXCIgZmlsbD1cIm91dGxpbmVcIiB0eXBlPVwic3VibWl0XCJcclxuICAgICAgICAoY2xpY2spPVwib3BlbkRpYWxvZygpO1wiPlxyXG4gICAgICAgIFJldmlld1xyXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3JlcXVhbGlmeVJlcUhpZGRlbicgW2Zvcm1dPVwicmVxdWFsaWZ5Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwie1xyXG4gICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZC4nXHJcbiAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZm9ybT4iXX0=
|
|
@@ -37989,7 +37989,13 @@ class RequalifyLiftPreviousIssuesComponent {
|
|
|
37989
37989
|
}
|
|
37990
37990
|
onModelCancel() {
|
|
37991
37991
|
this.showData = false;
|
|
37992
|
-
this.
|
|
37992
|
+
console.log("onModelCancel", this.beanActionList.controls);
|
|
37993
|
+
if (this.beanActionList.controls.length === 0 && this.preIssuesActionList.controls.length === 0) {
|
|
37994
|
+
this.requalifyReqHidden.setValue(true);
|
|
37995
|
+
}
|
|
37996
|
+
else {
|
|
37997
|
+
this.requalifyReqHidden.setValue(null);
|
|
37998
|
+
}
|
|
37993
37999
|
}
|
|
37994
38000
|
changeActionForIssueDropdown(event) {
|
|
37995
38001
|
if (event.value.value === 'PRFR') {
|