ca-components 1.7.95 → 1.7.97
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/ca-input-dropdown-test/ca-input-dropdown-test.component.mjs +1 -1
- package/esm2022/lib/components/ca-input-test/input-test.component.mjs +4 -1
- package/esm2022/lib/components/ca-input-test/pipes/label-class.pipe.mjs +5 -3
- package/fesm2022/ca-components.mjs +7 -2
- package/fesm2022/ca-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -99,14 +99,17 @@ export class InputTestComponent extends InputCommandMixin(InputHelperMixin(Input
|
|
|
99
99
|
.subscribe(() => {
|
|
100
100
|
if (this.parentControl?.hasValidator(Validators.required)) {
|
|
101
101
|
this.control?.addValidators(Validators.required);
|
|
102
|
+
this.control?.updateValueAndValidity();
|
|
102
103
|
}
|
|
103
104
|
else {
|
|
104
105
|
this.control?.removeValidators(Validators.required);
|
|
106
|
+
this.control?.updateValueAndValidity();
|
|
105
107
|
}
|
|
106
108
|
});
|
|
107
109
|
this.control?.setValidators(this.parentControl.validator);
|
|
108
110
|
if (this.parentControl?.hasValidator(Validators.required)) {
|
|
109
111
|
this.control?.addValidators(Validators.required);
|
|
112
|
+
this.control?.updateValueAndValidity();
|
|
110
113
|
}
|
|
111
114
|
}
|
|
112
115
|
});
|
|
@@ -290,4 +293,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
290
293
|
type: Output,
|
|
291
294
|
args: ['dropDownKeyNavigation']
|
|
292
295
|
}] } });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTFDLE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRzNELFFBQVE7QUFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRFLFFBQVE7QUFDUixPQUFPLEVBQ0gsY0FBYyxFQUNkLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMs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QUExRCxNQUFNO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5nQ29udHJvbCxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgSW5wdXRDaGFuZ2VWYWx1ZSwgSW5wdXRTdmdSb3V0ZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmRzRXZlbnQsIExhYmVsQ29sb3IgfSBmcm9tICcuL21vZGVscyc7XG5cbi8vIGVtdW1zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzVHlwZSwgSW5wdXRTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBEcm9wZG93blRlbXBsYXRlVHlwZUVudW0gfSBmcm9tICcuLi9jYS1pbnB1dC1kcm9wZG93bi9lbnVtcyc7XG5cbi8vIHBpcGVzXG5pbXBvcnQge1xuICAgIElucHV0Q2xhc3NQaXBlLFxuICAgIElucHV0Q29udGFpbmVyQ2xhc3NQaXBlLFxuICAgIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgU2hvd0NsZWFyUGlwZSxcbiAgICBTaG93RHJvcGRvd25BcnJvd1BpcGUsXG4gICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxufSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7XG4gICAgQ2FTdmdQaXBlLFxuICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgVGhvdXNhbmRTZXBhcmF0b3JQaXBlLFxufSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8vIG1hc2tcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQgeyBOZ3hNYXNrU2VydmljZSB9IGZyb20gJ25neC1tYXNrJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBhc3N3b3JkL2NhLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LWNsZWFyL2NhLWlucHV0LWNsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY29tbWFuZHMvY2EtaW5wdXQtY29tbWFuZHMuY29tcG9uZW50JztcbmltcG9ydCB7IENhU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NhLXNwaW5uZXIvY2Etc3Bpbm5lci5jb21wb25lbnQnO1xuXG4vLyBkaXJlY3RpdmVzXG5pbXBvcnQgeyBDYXBzTG9ja0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNYXhWYWx1ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBSZXN0cmljdElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFByaWNlRm9ybWF0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbW1hbmQtdmlzaWJsZS5kaXJlY3RpdmUnO1xuXG4vLyBjbGFzc1xuaW1wb3J0IHsgRXZlbnRJbnB1dE1hbmFnZXIgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9jYS1pbnB1dC1ldmVudC1tYW5hZ2VyJztcblxuLy8gbWl4aW5zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWNvbW1hbmQubWl4aW4nO1xuaW1wb3J0IHsgSW5wdXRIZWxwZXJNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWhlbHBlci5taXhpbic7XG5pbXBvcnQgeyBPcHRpb25Nb2RlbCB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL21vZGVscyc7XG5cbmNsYXNzIElucHV0QmFzZSB7XG4gICAgcHVibGljIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gICAgcHVibGljIF9pbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICAgIHB1YmxpYyBpc1Zpc2libGVDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBtYXNrQXBwbGllciE6IE5neE1hc2tTZXJ2aWNlO1xuICAgIHB1YmxpYyB0aG91c2FuZFNlcGFyYXRvclBpcGUhOiBUaG91c2FuZFNlcGFyYXRvclBpcGU7XG4gICAgcHVibGljIGlzRm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RvdWNoZWRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZXRDb21tYW5kRXZlbnQhOiBFdmVudElucHV0TWFuYWdlcjxDb21tYW5kc0V2ZW50PjtcblxuICAgIHB1YmxpYyBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnMhOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cbiAgICBwdWJsaWMgaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKF86IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2EtaW5wdXQtdGVzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE1vZHVsZXNcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBOZ3hNYXNrTW9kdWxlLFxuXG4gICAgICAgIC8vIFBpcGVzXG4gICAgICAgIElucHV0RXJyb3JQaXBlLFxuICAgICAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICAgICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgICAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICAgICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgICAgIENhU3ZnUGlwZSxcbiAgICAgICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICAgICAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgICAgICAgTWF4VmFsdWVEaXJlY3RpdmUsXG4gICAgICAgIElucHV0VHlwZVBpcGUsXG4gICAgICAgIFNob3dWYWxpZENoZWNrUGlwZSxcbiAgICAgICAgU2hvd0Ryb3Bkb3duQXJyb3dQaXBlLFxuICAgICAgICBJbnB1dERyb3Bkb3duQXJyb3dDbGFzc1BpcGUsXG5cbiAgICAgICAgLy8gRGlyZWN0aXZlc1xuICAgICAgICBSZXN0cmljdElucHV0RGlyZWN0aXZlLFxuICAgICAgICBQcmljZUZvcm1hdERpcmVjdGl2ZSxcbiAgICAgICAgU2hvd0NsZWFyUGlwZSxcbiAgICAgICAgQ2Fwc0xvY2tEaXJlY3RpdmUsXG4gICAgICAgIENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dENsZWFyQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQsXG4gICAgICAgIENhU3Bpbm5lckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vaW5wdXQtdGVzdC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUZXN0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBJbnB1dENvbW1hbmRNaXhpbihJbnB1dEhlbHBlck1peGluKElucHV0QmFzZSkpXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgcHVibGljIGlucHV0VmFsdWU6IElucHV0Q2hhbmdlVmFsdWUgPSAnJztcbiAgICBwdWJsaWMgb3ZlcnJpZGUgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgaW5wdXRTdmdSb3V0ZXMgPSBJbnB1dFN2Z1JvdXRlcztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcnJpZGUgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIHBhcmVudENvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciE6IExhYmVsQ29sb3IgfCBudWxsO1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGluY29ycmVjdFZhbHVlITogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXQgaW5wdXRDb25maWcoY29uZmlnOiBJQ2FJbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dENvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBhY3RpdmVJdGVtITogT3B0aW9uTW9kZWwgfCBudWxsO1xuXG4gICAgQE91dHB1dCgnaGFuZGxlVG9nZ2xlRHJvcGRvd25PcHRpb25zJylcbiAgICBvdmVycmlkZSBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoJ2luY29ycmVjdEV2ZW50JykgaW5jb3JyZWN0SW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoJ2JsdXJJbnB1dCcpIGJsdXJJbnB1dDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoJ2ZvY3VzSW5wdXQnKSBmb2N1c0lucHV0RXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VJbnB1dDogRXZlbnRFbWl0dGVyPElucHV0Q2hhbmdlVmFsdWU+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPigpO1xuICAgIEBPdXRwdXQoJ2NvbW1hbmRFdmVudCcpIGNvbW1hbmRFdmVudDogRXZlbnRFbWl0dGVyPENvbW1hbmRzRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PigpO1xuICAgIEBPdXRwdXQoJ2NsZWFyJykgY2xlYXJJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvLyBEcm9wZG93blxuICAgIEBPdXRwdXQoJ3Nob3dIaWRlRHJvcGRvd24nKSBzaG93SGlkZURyb3Bkb3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCdkcm9wRG93bktleU5hdmlnYXRpb24nKSBkcm9wRG93bktleU5hdmlnYXRpb25FdmVudDogRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4oKTtcblxuICAgIC8vIGV2ZW50c1xuICAgIHB1YmxpYyBvdmVycmlkZSBzZXRDb21tYW5kRXZlbnQgPSBuZXcgRXZlbnRJbnB1dE1hbmFnZXI8Q29tbWFuZHNFdmVudD4oXG4gICAgICAgIG51bGwsXG4gICAgICAgIHRoaXMuY29tbWFuZEV2ZW50XG4gICAgKTtcblxuICAgIHB1YmxpYyBpc0NhcHNMb2NrT24gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpbnB1dENvbW1hbmRzVHlwZSA9IElucHV0Q29tbWFuZHNUeXBlO1xuICAgIHB1YmxpYyBpbnB1dFN0cmluZ0VudW0gPSBJbnB1dFN0cmluZ0VudW07XG4gICAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICAgIC8vIFBhc3N3b3JkXG4gICAgcHVibGljIGlzVG9nZ2xlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnB1dENvbmZpZztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHB1YmxpYyBjaGRldDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSB0aG91c2FuZFNlcGFyYXRvclBpcGU6IFRob3VzYW5kU2VwYXJhdG9yUGlwZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHRoaXMuaW5wdXRWYWx1ZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnB1dENvbmZpZy5hdXRvRm9jdXMpXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudENvbnRyb2w/Lmhhc1ZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModGhpcy5wYXJlbnRDb250cm9sLnZhbGlkYXRvcik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50Q29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldCBjb250cm9sKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w7XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYW5zZm9ybVZhbHVlKHRoaXMuX2lucHV0Q29uZmlnLCBvYmopOyAvLyDinIUgQXBwbHkgbWFza1xuXG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIGlmICh2YWx1ZSAmJiB0aGlzLl9pbnB1dENvbmZpZy51cGRhdGVBc1RvdWNoZWRPbkVkaXQpIHRoaXMub25Ub3VjaGVkKCk7IC8vIE1hcmsgYXMgdG91Y2hlZFxuXG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuaXNEcm9wZG93biAmJiAhdGhpcy5faW5wdXRDb25maWcuaXNBZGRyZXNzKVxuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIHRoaXMuY2hkZXQuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGhhbmRsZUlucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpOyAvLyBOb3RpZnkgQW5ndWxhciBmb3JtIGFib3V0IHRoZSBjaGFuZ2VcbiAgICAgICAgaWYgKHZhbHVlKSB0aGlzLm9uVG91Y2hlZCgpOyAvLyBNYXJrIGFzIHRvdWNoZWRcblxuICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sPy5tYXJrQXNVbnRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5oYW5kbGVDaGFuZ2VJbnB1dEFuZFVwZGF0ZUNvbnRyb2woJycpO1xuICAgICAgICB0aGlzLmNsZWFySW5wdXRFdmVudC5lbWl0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBoYW5kbGVDaGFuZ2VJbnB1dEFuZFVwZGF0ZUNvbnRyb2wodmFsdWU6IElucHV0Q2hhbmdlVmFsdWUpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuaXNEcm9wZG93biAmJiAhdGhpcy5faW5wdXRDb25maWcuaXNBZGRyZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICAvLyBUcmlnZ2VyIGFsbCBpbnB1dHMgZGlyZWN0aXZlcyB0aGF0IGxpc3RlbiBmb3IgaW5wdXQgRXZlbnRcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZGlzcGF0Y2hFdmVudChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRGb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXRFdmVudC5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVJbnB1dEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5ibHVySW5wdXQuZW1pdCh0cnVlKTtcbiAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Qb3BvdmVyU2hvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uUG9wb3ZlckhpZGRlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9pbnB1dENvbmZpZy5kcm9wZG93bkxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLmlzRm9jdXNJbnB1dCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9nZ2xlUGFzc3dvcmQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuaXNUb2dnbGVQYXNzd29yZCA9ICF0aGlzLmlzVG9nZ2xlUGFzc3dvcmQ7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNhcHNMb2NrKHN0YXR1czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ2Fwc0xvY2tPbiA9IHN0YXR1cztcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlQ29tbWFuZFZpc2libGUoc3RhdHVzOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlQ29tbWFuZHMgPSBzdGF0dXM7XG4gICAgfVxuXG4gICAgcHVibGljIGlkZW50aWZ5KGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5kcm9wRG93bktleU5hdmlnYXRpb25FdmVudC5lbWl0KHtcbiAgICAgICAgICAgIGtleUNvZGU6IGV2ZW50LmtleUNvZGUsXG4gICAgICAgICAgICBkYXRhOiB0aGlzLmlucHV0Q29uZmlnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJpbnB1dC1jdXN0b20tZ3JvdXAge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICBbbmdDbGFzc109XCJcbiAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgfCBpbnB1dENvbnRhaW5lckNsYXNzXG4gICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgXCJcbiAgICBuZ2JUb29sdGlwXG4gICAgW21haW5DYVRvb2x0aXBdPVwiY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWVcIlxuICAgIFt0b29sdGlwQmFja2dyb3VuZF09XCInI0RGM0MzQydcIlxuICAgIFtkaXNhYmxlVG9vbHRpcF09XCIhX2lucHV0Q29uZmlnLnJlcXVpcmVkTGFiZWwgfHwgISFjb250cm9sPy52YWxpZFwiXG4gICAgcG9zaXRpb249XCJib3R0b21cIlxuICAgIHRyaWdnZXJzPVwiaG92ZXJcIlxuPlxuICAgIDwhLS0gSW5wdXQgTG9hZGluZyBzcGlubmVyIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnPy5sb2FkaW5nU3Bpbm5lcj8uaXNMb2FkaW5nICYmICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtbG9hZGluZy1zcGlubmVyXCI+XG4gICAgICAgICAgICA8YXBwLWNhLXNwaW5uZXJcbiAgICAgICAgICAgICAgICBbc2l6ZV09XCJfaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXI/LnNpemVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJfaW5wdXRDb25maWcubG9hZGluZ1NwaW5uZXI/LmNvbG9yXCJcbiAgICAgICAgICAgID48L2FwcC1jYS1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IENvbW1hbmRzIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLmNvbW1hbmRzPy5hY3RpdmUgJiYgaXNWaXNpYmxlQ29tbWFuZHMpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1jb21tYW5kc1xuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNWaXNpYmxlQ29tbWFuZHNdPVwiaXNWaXNpYmxlQ29tbWFuZHNcIlxuICAgICAgICAgICAgKG9uQ29tbWFuZHNDbGljayk9XCJvbkNvbW1hbmRzKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LWNvbW1hbmRzPlxuICAgIH1cbiAgICA8IS0tIElucHV0IFZhbGlkIENoZWNrIC0tPlxuICAgIEBpZiAoXG4gICAgICAgIGNvbnRyb2wgfCBzaG93VmFsaWRDaGVjazogaXNGb2N1c0lucHV0IDogX2lucHV0Q29uZmlnIDogY29udHJvbD8udmFsdWVcbiAgICApIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImlucHV0LXJlcXVpcmVkLWNoZWNrIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmNvbmZpcm1TdmdcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBQYXNzd29yZCBDYXBzIExvY2sgQW5kIEV5ZSAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy50eXBlID09PSAncGFzc3dvcmQnKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGFzc3dvcmRcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1RvdWNoZWRJbnB1dF09XCJpc1RvdWNoZWRJbnB1dFwiXG4gICAgICAgICAgICBbaXNDYXBzTG9ja09uXT1cImlzQ2Fwc0xvY2tPblwiXG4gICAgICAgICAgICBbaXNUb2dnbGVQYXNzd29yZF09XCJpc1RvZ2dsZVBhc3N3b3JkXCJcbiAgICAgICAgICAgIChvblRvZ2dsZVBhc3N3b3JkQ2xpY2spPVwib25Ub2dnbGVQYXNzd29yZCgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1wYXNzd29yZD5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBDbGVhciAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZyB8IHNob3dDbGVhcikge1xuICAgICAgICA8YXBwLWNhLWlucHV0LWNsZWFyXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaW5jb3JyZWN0VmFsdWVdPVwiaW5jb3JyZWN0VmFsdWVcIlxuICAgICAgICAgICAgW3NlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXT1cInNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yXCJcbiAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZVwiXG4gICAgICAgICAgICAoY2xlYXJJbnB1dENsaWNrKT1cImNsZWFySW5wdXQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtY2xlYXI+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBEcm9wZG93biBBcnJvdyAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZyB8IHNob3dEcm9wZG93bkFycm93KSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1kcm9wZG93bi1hcnJvdyB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgY29udHJvbFxuICAgICAgICAgICAgICAgICAgICB8IGlucHV0RHJvcGRvd25BcnJvd0NsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3JjXT1cImlucHV0U3ZnUm91dGVzLmlucHV0RHJvcGRvd25BcnJvd1N2Z1wiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlRHJvcGRvd25PcHRpb25zKClcIlxuICAgICAgICA+PC9zdmctaWNvbj5cbiAgICB9XG5cbiAgICA8IS0tIElucHV0IFBsYWNlaG9sZGVyIEljb24gLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvblxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVG91Y2hlZElucHV0XT1cImNvbnRyb2w/LnRvdWNoZWQhXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICAgICAgICBbaXNFZGl0SW5wdXRdPVwiaXNFZGl0SW5wdXRcIlxuICAgICAgICAgICAgKG9uUGxhY2Vob2xkZXJJY29uRXZlbnRFbWl0dGVyKT1cIm9uUGxhY2Vob2xkZXJJY29uRXZlbnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Qb3BvdmVyU2hvd25FbWl0dGVyKT1cIm9uUG9wb3ZlclNob3duKClcIlxuICAgICAgICAgICAgKG9uUG9wb3ZlckhpZGRlbkVtaXR0ZXIpPVwib25Qb3BvdmVySGlkZGVuKClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LXBsYWNlaG9sZGVyLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBUZXh0IC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgfCBzaG93UGxhY2Vob2xkZXJUZXh0OiBjb250cm9sIDogaXNWaXNpYmxlQ29tbWFuZHMgOiBjb250cm9sPy52YWx1ZVxuICAgICkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgICAgY2xhc3M9XCJjYS1wbGFjZWhvbGRlci10ZXh0IHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVyVGV4dENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWQhXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVmlzaWJsZUNvbW1hbmRzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRTdHJpbmdFbnVtLlBFUlNPTlMgfHxcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpID09PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFN0cmluZ0VudW0uVkVISUNMRVNcbiAgICAgICAgICAgICAgICAgICAgPyAzMCArIChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA5ICsgJ3B4J1xuICAgICAgICAgICAgICAgICAgICA6IGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dENvbW1hbmRzVHlwZS5NT05USFNcbiAgICAgICAgICAgICAgICAgICAgICA/ICdhdXRvJ1xuICAgICAgICAgICAgICAgICAgICAgIDogKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyAxKSAqIDggKyAncHgnXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3N0eWxlLnJpZ2h0XT1cIlxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0Q29tbWFuZHNUeXBlLk1PTlRIU1xuICAgICAgICAgICAgICAgICAgICA/ICcyOHB4J1xuICAgICAgICAgICAgICAgICAgICA6ICdhdXRvJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBMYWJlbCBDb3VudGVyIC0tPlxuICAgIEBpZiAoXG4gICAgICAgIHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yICYmXG4gICAgICAgIGNvbnRyb2w/LnZhbHVlICYmXG4gICAgICAgICFpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkICYmXG4gICAgICAgIF9pbnB1dENvbmZpZy5zaG93Q291bnRcbiAgICApIHtcbiAgICAgICAgPHBcbiAgICAgICAgICAgIFtzdHlsZS50b3BdPVwiJzRweCdcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnRdPVwiKGNvbnRyb2w/LnZhbHVlPy50b1N0cmluZygpPy5sZW5ndGggKyA2LjUpICogOCArICdweCdcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1sYWJlbC1jb3VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3IuY291bnQgfX1cbiAgICAgICAgPC9wPlxuICAgIH1cblxuICAgIDwhLS0gU3BlY2lhbCBEcm9wZG93biBTZWxlY3RlZCBTVkcgd2l0aCBvciBXaXRob3V0IFRleHQgLS0+XG4gICAgQGlmIChcbiAgICAgICAgX2lucHV0Q29uZmlnPy5kcm9wZG93bkltYWdlSW5wdXQ/Lmljb25zUGF0aCAmJlxuICAgICAgICBhY3RpdmVJdGVtICYmXG4gICAgICAgICFfaW5wdXRDb25maWc/LmhpZGVBbGxJdGVtc0luSW5wdXREcm9wZG93biAmJlxuICAgICAgICAhKCFfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py53aXRoVGV4dCAmJiBpc0ZvY3VzSW5wdXQpICYmXG4gICAgICAgICEoXG4gICAgICAgICAgICBbJ3RydWNrJywgJ3RyYWlsZXInXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py50ZW1wbGF0ZSFcbiAgICAgICAgICAgICkgJiZcbiAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJlxuICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8ucmVtb3ZlXG4gICAgICAgICkgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZz8uZHJvcGRvd25JbWFnZUlucHV0Py5uYW1lSW5pdGlhbHNJbnN0ZWFkVXJsXG4gICAgKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgW3NyY109XCJfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5pY29uc1BhdGghXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24tc2VsZWN0ZWQtaW1hZ2Uge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jbGFzc1xuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICd1bnNldC1jb2xvcic6XG4gICAgICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCAmJiBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jbGFzcyxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgW3N2Z1N0eWxlXT1cIntcbiAgICAgICAgICAgICAgICBmaWxsOlxuICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jb2xvciAmJiAhaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA/IF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LmNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICcjZmZmZmZmJyxcbiAgICAgICAgICAgIH1cIlxuICAgICAgICA+XG4gICAgICAgIDwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBMYWJlbCAtLT5cbiAgICBAaWYgKCFfaW5wdXRDb25maWcubXVsdGlTZWxlY3REcm9wZG93bkFjdGl2ZSkge1xuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgIFtmb3JdPVwiX2lucHV0Q29uZmlnLm5hbWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1sYWJlbCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX0ge3tcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8uY3VzdG9tQ2xhc3NcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICAgICAgICAgIHwgbGFiZWxDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5sYWJlbCkge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IF9pbnB1dENvbmZpZy5sYWJlbCB9fSA8L3NwYW4+XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiAoX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVscz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3NdPVwiX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzIVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAgICAgICAgICdtdWx0aXBsZS1sYWJlbHMtcG9zaXRpb24tb24tZm9jdXMnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcuaXNSZXF1aXJlZCAmJiAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbCBvZiBfaW5wdXRDb25maWcubXVsdGlwbGVMYWJlbD8ubGFiZWxzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgIH1cblxuICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRcbiAgICAgICAgKGlucHV0KT1cImhhbmRsZUlucHV0KCRldmVudClcIlxuICAgICAgICBbcmVzdHJpY3RJbnB1dF09XCJpbnB1dENvbmZpZ1wiXG4gICAgICAgIHByaWNlRm9ybWF0XG4gICAgICAgIFtwcmljZVNlcGFyYXRvcl09XCJcbiAgICAgICAgICAgIGlucHV0Q29uZmlnLnByaWNlU2VwYXJhdG9yIHx8IGlucHV0Q29uZmlnLnRob3VzYW5kU2VwYXJhdG9yXG4gICAgICAgIFwiXG4gICAgICAgIChmb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJoYW5kbGVJbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cImhhbmRsZUtleURvd24oJGV2ZW50KVwiXG4gICAgICAgIFtyZWFkT25seV09XCJfaW5wdXRDb25maWcucmVhZE9ubHlcIlxuICAgICAgICBbdHlwZV09XCJfaW5wdXRDb25maWcudHlwZSB8IGlucHV0VHlwZTogaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLnRleHRUcmFuc2Zvcm0gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy50ZXh0QWxpZ24gfX1cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVxuICAgICAgICBcIlxuICAgICAgICBbYXBwTWF4VmFsdWVdPVwiaW5wdXRDb25maWcubWF4XCJcbiAgICAgICAgYXBwQ2Fwc0xvY2tcbiAgICAgICAgKGNhcHNMb2NrU3RhdHVzKT1cImhhbmRsZUNhcHNMb2NrKCRldmVudClcIlxuICAgICAgICBjb21tYW5kVmlzaWJsZVxuICAgICAgICAoY29tbWFuZFZpc2libGUpPVwiaGFuZGxlQ29tbWFuZFZpc2libGUoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJcbiAgICAgICAgICAgIChfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJbnN0ZWFkT2ZMYWJlbCAmJlxuICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyICYmXG4gICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICA/IF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgIDogJycpIHx8XG4gICAgICAgICAgICAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyICYmIGlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgID8gX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgOiAnJylcbiAgICAgICAgXCJcbiAgICAgICAgW21hc2tdPVwiX2lucHV0Q29uZmlnLm1hc2tcIlxuICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgICAgICB8IGlucHV0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICA6IGlucHV0XG4gICAgICAgICAgICAgICAgICAgIDogaXNWaXNpYmxlQ29tbWFuZHNcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LmludmFsaWRcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkXG4gICAgICAgICAgICAgICAgICAgIDogaXNEcm9wZG93blRvZ2dsZXJcbiAgICAgICAgICAgICAgICAgICAgOiBpc0VkaXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IHRlbXBsYXRlXG4gICAgICAgIFwiXG4gICAgLz5cblxuICAgIDwhLS0gUGxhY2Vob2xkZXIgSWNvbiBvbiBSaWdodCBTaWRlIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvblJpZ2h0U2lkZSkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwicGxhY2Vob2xkZXItaWNvbi1yaWdodC1zaWRlIHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbkNvbG9yXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNUb3VjaGVkSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc3JjXT1cIlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25SaWdodFNpZGUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgICAgICAgICAgICB8IGNhU3ZnOiAnY29tbW9uJ1xuICAgICAgICAgICAgXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBFcnJvciBNZXNzYWdlIC0tPlxuICAgIEBpZiAoXG4gICAgICAgICEoIWNvbnRyb2w/LnZhbHVlICYmIGlzRm9jdXNJbnB1dCkgJiZcbiAgICAgICAgKGlzVG91Y2hlZElucHV0IHx8IGNvbnRyb2w/LnRvdWNoZWQgfHwgY29udHJvbD8udmFsdWUpICYmXG4gICAgICAgIGNvbnRyb2w/LmludmFsaWQgJiZcbiAgICAgICAgIV9pbnB1dENvbmZpZy5pc0ludmFsaWRTZWFyY2hJbkRyb3Bkb3duICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZFxuICAgICkge1xuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgIShfaW5wdXRDb25maWcuaGlkZUVycm9yTWVzc2FnZSB8fCBfaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWVycm9yIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiPlxuICAgICAgICAgICAgICAgIHt7IGNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lIH19XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cblxuICAgICAgICA8IS0tIEVycm9yIE1lc3NhZ2UgSW5zaWRlIElucHV0IC0tPlxuICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5lcnJvckluc2lkZUlucHV0KSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLWluc2lkZS1pbnB1dCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChfaW5wdXRDb25maWcuZml4ZWRQbGFjaG9sZGVyICYmIGlucHV0LnZhbHVlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZml4ZWQtcGxhY2Vob2Rlci1sYWJlbFwiPlxuICAgICAgICAgICAge3sgX2lucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgfVxuPC9kaXY+XG4iXX0=
|
|
296
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGVzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9jYS1pbnB1dC10ZXN0L2lucHV0LXRlc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2EtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvY2EtaW5wdXQtdGVzdC9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFJSCxVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTFDLE9BQU8sRUFBb0IsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRzNELFFBQVE7QUFDUixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQzdELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRFLFFBQVE7QUFDUixPQUFPLEVBQ0gsY0FBYyxFQUNkLHVCQUF1QixFQUN2QiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLGtDQUFrQyxFQUNsQyw2QkFBNkIsRUFDN0IsYUFBYSxFQUNiLGNBQWMs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dUJBQUMsUUFBUTtnQkFFUSxZQUFZO3NCQUFuQyxNQUFNO3VCQUFDLGNBQWM7Z0JBRUwsZUFBZTtzQkFBL0IsTUFBTTt1QkFBQyxPQUFPO2dCQUlhLHFCQUFxQjtzQkFBaEQsTUFBTTt1QkFBQyxrQkFBa0I7Z0JBRU8sMEJBQTBCO3NCQUExRCxNQUFNO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTZWxmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIE5nQ29udHJvbCxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ2JNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhclN2Z0ljb25Nb2R1bGUgfSBmcm9tICdhbmd1bGFyLXN2Zy1pY29uJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuXG4vLyBtb2RlbHNcbmltcG9ydCB7IElDYUlucHV0IH0gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHsgSW5wdXRDaGFuZ2VWYWx1ZSwgSW5wdXRTdmdSb3V0ZXMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmRzRXZlbnQsIExhYmVsQ29sb3IgfSBmcm9tICcuL21vZGVscyc7XG5cbi8vIGVtdW1zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRzVHlwZSwgSW5wdXRTdHJpbmdFbnVtIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBEcm9wZG93blRlbXBsYXRlVHlwZUVudW0gfSBmcm9tICcuLi9jYS1pbnB1dC1kcm9wZG93bi9lbnVtcyc7XG5cbi8vIHBpcGVzXG5pbXBvcnQge1xuICAgIElucHV0Q2xhc3NQaXBlLFxuICAgIElucHV0Q29udGFpbmVyQ2xhc3NQaXBlLFxuICAgIElucHV0RHJvcGRvd25BcnJvd0NsYXNzUGlwZSxcbiAgICBJbnB1dEVycm9yUGlwZSxcbiAgICBJbnB1dFBsYWNlaG9sZGVySWNvblJpZ2h0Q2xhc3NQaXBlLFxuICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgIElucHV0VHlwZVBpcGUsXG4gICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgU2hvd0NsZWFyUGlwZSxcbiAgICBTaG93RHJvcGRvd25BcnJvd1BpcGUsXG4gICAgU2hvd1BsYWNlaG9sZGVyVGV4dFBpcGUsXG4gICAgU2hvd1ZhbGlkQ2hlY2tQaXBlLFxufSBmcm9tICcuL3BpcGVzJztcbmltcG9ydCB7XG4gICAgQ2FTdmdQaXBlLFxuICAgIExvYWRTdGF0dXNDb2xvclBpcGUsXG4gICAgVGhvdXNhbmRTZXBhcmF0b3JQaXBlLFxufSBmcm9tICcuLi8uLi9waXBlcyc7XG5cbi8vIG1hc2tcbmltcG9ydCB7IE5neE1hc2tNb2R1bGUgfSBmcm9tICduZ3gtbWFzayc7XG5pbXBvcnQgeyBOZ3hNYXNrU2VydmljZSB9IGZyb20gJ25neC1tYXNrJztcblxuLy8gY29tcG9uZW50c1xuaW1wb3J0IHsgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBhc3N3b3JkL2NhLWlucHV0LXBhc3N3b3JkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0UGxhY2Vob2xkZXJJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LXBsYWNlaG9sZGVyLWljb24vY2EtaW5wdXQtcGxhY2Vob2xkZXItaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FJbnB1dENsZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NhLWlucHV0LWNsZWFyL2NhLWlucHV0LWNsZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCB9IGZyb20gJy4uL2NhLWFwcC10b29sdGlwLXYyL2NhLWFwcC10b29sdGlwLXYyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2EtaW5wdXQtY29tbWFuZHMvY2EtaW5wdXQtY29tbWFuZHMuY29tcG9uZW50JztcbmltcG9ydCB7IENhU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NhLXNwaW5uZXIvY2Etc3Bpbm5lci5jb21wb25lbnQnO1xuXG4vLyBkaXJlY3RpdmVzXG5pbXBvcnQgeyBDYXBzTG9ja0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBNYXhWYWx1ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBSZXN0cmljdElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IFByaWNlRm9ybWF0RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NvbW1hbmQtdmlzaWJsZS5kaXJlY3RpdmUnO1xuXG4vLyBjbGFzc1xuaW1wb3J0IHsgRXZlbnRJbnB1dE1hbmFnZXIgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9jYS1pbnB1dC1ldmVudC1tYW5hZ2VyJztcblxuLy8gbWl4aW5zXG5pbXBvcnQgeyBJbnB1dENvbW1hbmRNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWNvbW1hbmQubWl4aW4nO1xuaW1wb3J0IHsgSW5wdXRIZWxwZXJNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2lucHV0LWhlbHBlci5taXhpbic7XG5pbXBvcnQgeyBPcHRpb25Nb2RlbCB9IGZyb20gJy4uL2NhLWlucHV0LWRyb3Bkb3duL21vZGVscyc7XG5cbmNsYXNzIElucHV0QmFzZSB7XG4gICAgcHVibGljIGlucHV0RWxlbWVudCE6IEVsZW1lbnRSZWY7XG4gICAgcHVibGljIF9pbnB1dENvbmZpZyE6IElDYUlucHV0O1xuICAgIHB1YmxpYyBpc1Zpc2libGVDb21tYW5kczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBtYXNrQXBwbGllciE6IE5neE1hc2tTZXJ2aWNlO1xuICAgIHB1YmxpYyB0aG91c2FuZFNlcGFyYXRvclBpcGUhOiBUaG91c2FuZFNlcGFyYXRvclBpcGU7XG4gICAgcHVibGljIGlzRm9jdXNJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0VkaXRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc0Ryb3Bkb3duVG9nZ2xlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RvdWNoZWRJbnB1dDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIHB1YmxpYyBzZXRDb21tYW5kRXZlbnQhOiBFdmVudElucHV0TWFuYWdlcjxDb21tYW5kc0V2ZW50PjtcblxuICAgIHB1YmxpYyBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnMhOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgICBwdWJsaWMgb25Ub3VjaGVkID0gKCkgPT4ge307XG4gICAgcHVibGljIG9uQ2hhbmdlKF86IGFueSk6IHZvaWQge31cbiAgICBwdWJsaWMgaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKF86IElucHV0Q2hhbmdlVmFsdWUpOiB2b2lkIHt9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2EtaW5wdXQtdGVzdCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIC8vIE1vZHVsZXNcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOZ2JNb2R1bGUsXG4gICAgICAgIEFuZ3VsYXJTdmdJY29uTW9kdWxlLFxuICAgICAgICBOZ3hNYXNrTW9kdWxlLFxuXG4gICAgICAgIC8vIFBpcGVzXG4gICAgICAgIElucHV0RXJyb3JQaXBlLFxuICAgICAgICBJbnB1dENvbnRhaW5lckNsYXNzUGlwZSxcbiAgICAgICAgSW5wdXRDbGFzc1BpcGUsXG4gICAgICAgIElucHV0UGxhY2Vob2xkZXJUZXh0Q2xhc3NQaXBlLFxuICAgICAgICBTaG93UGxhY2Vob2xkZXJUZXh0UGlwZSxcbiAgICAgICAgTGFiZWxDbGFzc1BpcGUsXG4gICAgICAgIENhU3ZnUGlwZSxcbiAgICAgICAgTG9hZFN0YXR1c0NvbG9yUGlwZSxcbiAgICAgICAgSW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzUGlwZSxcbiAgICAgICAgTWF4VmFsdWVEaXJlY3RpdmUsXG4gICAgICAgIElucHV0VHlwZVBpcGUsXG4gICAgICAgIFNob3dWYWxpZENoZWNrUGlwZSxcbiAgICAgICAgU2hvd0Ryb3Bkb3duQXJyb3dQaXBlLFxuICAgICAgICBJbnB1dERyb3Bkb3duQXJyb3dDbGFzc1BpcGUsXG5cbiAgICAgICAgLy8gRGlyZWN0aXZlc1xuICAgICAgICBSZXN0cmljdElucHV0RGlyZWN0aXZlLFxuICAgICAgICBQcmljZUZvcm1hdERpcmVjdGl2ZSxcbiAgICAgICAgU2hvd0NsZWFyUGlwZSxcbiAgICAgICAgQ2Fwc0xvY2tEaXJlY3RpdmUsXG4gICAgICAgIENvbW1hbmRWaXNpYmxlRGlyZWN0aXZlLFxuXG4gICAgICAgIC8vIENvbXBvbmVudHNcbiAgICAgICAgQ2FJbnB1dENsZWFyQ29tcG9uZW50LFxuICAgICAgICBDYUFwcFRvb2x0aXBWMkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBsYWNlaG9sZGVySWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ2FJbnB1dFBhc3N3b3JkQ29tcG9uZW50LFxuICAgICAgICBDYUlucHV0Q29tbWFuZHNDb21wb25lbnQsXG4gICAgICAgIENhU3Bpbm5lckNvbXBvbmVudCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vaW5wdXQtdGVzdC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRUZXN0Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBJbnB1dENvbW1hbmRNaXhpbihJbnB1dEhlbHBlck1peGluKElucHV0QmFzZSkpXG4gICAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XG57XG4gICAgcHVibGljIGlucHV0VmFsdWU6IElucHV0Q2hhbmdlVmFsdWUgPSAnJztcbiAgICBwdWJsaWMgb3ZlcnJpZGUgX2lucHV0Q29uZmlnITogSUNhSW5wdXQ7XG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgaW5wdXRTdmdSb3V0ZXMgPSBJbnB1dFN2Z1JvdXRlcztcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgb3ZlcnJpZGUgaW5wdXRFbGVtZW50ITogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpIHBhcmVudENvbnRyb2whOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbDtcbiAgICBASW5wdXQoKSBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciE6IExhYmVsQ29sb3IgfCBudWxsO1xuICAgIEBJbnB1dCgpIHRlbXBsYXRlITogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGluY29ycmVjdFZhbHVlITogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBzZXQgaW5wdXRDb25maWcoY29uZmlnOiBJQ2FJbnB1dCkge1xuICAgICAgICB0aGlzLl9pbnB1dENvbmZpZyA9IGNvbmZpZztcbiAgICB9XG5cbiAgICBASW5wdXQoKSBhY3RpdmVJdGVtITogT3B0aW9uTW9kZWwgfCBudWxsO1xuXG4gICAgQE91dHB1dCgnaGFuZGxlVG9nZ2xlRHJvcGRvd25PcHRpb25zJylcbiAgICBvdmVycmlkZSBoYW5kbGVUb2dnbGVEcm9wZG93bk9wdGlvbnM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBPdXRwdXQoJ2luY29ycmVjdEV2ZW50JykgaW5jb3JyZWN0SW5wdXQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoJ2JsdXJJbnB1dCcpIGJsdXJJbnB1dDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoJ2ZvY3VzSW5wdXQnKSBmb2N1c0lucHV0RXZlbnQ6IEV2ZW50RW1pdHRlcjxGb2N1c0V2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgICBAT3V0cHV0KCdjaGFuZ2UnKSBjaGFuZ2VJbnB1dDogRXZlbnRFbWl0dGVyPElucHV0Q2hhbmdlVmFsdWU+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxJbnB1dENoYW5nZVZhbHVlPigpO1xuICAgIEBPdXRwdXQoJ2NvbW1hbmRFdmVudCcpIGNvbW1hbmRFdmVudDogRXZlbnRFbWl0dGVyPENvbW1hbmRzRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxDb21tYW5kc0V2ZW50PigpO1xuICAgIEBPdXRwdXQoJ2NsZWFyJykgY2xlYXJJbnB1dEV2ZW50OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvLyBEcm9wZG93blxuICAgIEBPdXRwdXQoJ3Nob3dIaWRlRHJvcGRvd24nKSBzaG93SGlkZURyb3Bkb3duRXZlbnQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCdkcm9wRG93bktleU5hdmlnYXRpb24nKSBkcm9wRG93bktleU5hdmlnYXRpb25FdmVudDogRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICAgICAga2V5Q29kZTogbnVtYmVyO1xuICAgICAgICBkYXRhOiBJQ2FJbnB1dCB8IG51bGw7XG4gICAgfT4oKTtcblxuICAgIC8vIGV2ZW50c1xuICAgIHB1YmxpYyBvdmVycmlkZSBzZXRDb21tYW5kRXZlbnQgPSBuZXcgRXZlbnRJbnB1dE1hbmFnZXI8Q29tbWFuZHNFdmVudD4oXG4gICAgICAgIG51bGwsXG4gICAgICAgIHRoaXMuY29tbWFuZEV2ZW50XG4gICAgKTtcblxuICAgIHB1YmxpYyBpc0NhcHNMb2NrT24gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpbnB1dENvbW1hbmRzVHlwZSA9IElucHV0Q29tbWFuZHNUeXBlO1xuICAgIHB1YmxpYyBpbnB1dFN0cmluZ0VudW0gPSBJbnB1dFN0cmluZ0VudW07XG4gICAgcHVibGljIGRyb3Bkb3duVGVtcGxhdGVUeXBlRW51bSA9IERyb3Bkb3duVGVtcGxhdGVUeXBlRW51bTtcblxuICAgIC8vIFBhc3N3b3JkXG4gICAgcHVibGljIGlzVG9nZ2xlUGFzc3dvcmQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgaW5wdXRDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbnB1dENvbmZpZztcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXG4gICAgICAgIHB1YmxpYyBjaGRldDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBtYXNrQXBwbGllcjogTmd4TWFza1NlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSB0aG91c2FuZFNlcGFyYXRvclBpcGU6IFRob3VzYW5kU2VwYXJhdG9yUGlwZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHRoaXMuaW5wdXRWYWx1ZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLl9pbnB1dENvbmZpZy5hdXRvRm9jdXMpXG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYXJlbnRDb250cm9sKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRDb250cm9sLnN0YXR1c0NoYW5nZXNcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudENvbnRyb2w/Lmhhc1ZhbGlkYXRvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2w/LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy5yZW1vdmVWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2w/LnNldFZhbGlkYXRvcnModGhpcy5wYXJlbnRDb250cm9sLnZhbGlkYXRvcik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucGFyZW50Q29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbD8uYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sPy5jb250cm9sO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBJbnB1dENoYW5nZVZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy50cmFuc2Zvcm1WYWx1ZSh0aGlzLl9pbnB1dENvbmZpZywgb2JqKTsgLy8g4pyFIEFwcGx5IG1hc2tcblxuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7IC8vIE5vdGlmeSBBbmd1bGFyIGZvcm0gYWJvdXQgdGhlIGNoYW5nZVxuICAgICAgICBpZiAodmFsdWUgJiYgdGhpcy5faW5wdXRDb25maWcudXBkYXRlQXNUb3VjaGVkT25FZGl0KSB0aGlzLm9uVG91Y2hlZCgpOyAvLyBNYXJrIGFzIHRvdWNoZWRcblxuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmlzRHJvcGRvd24gJiYgIXRoaXMuX2lucHV0Q29uZmlnLmlzQWRkcmVzcylcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB0aGlzLmNoZGV0LmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTsgLy8gTm90aWZ5IEFuZ3VsYXIgZm9ybSBhYm91dCB0aGUgY2hhbmdlXG4gICAgICAgIGlmICh2YWx1ZSkgdGhpcy5vblRvdWNoZWQoKTsgLy8gTWFyayBhcyB0b3VjaGVkXG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRWYWx1ZSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbD8ubWFya0FzVW50b3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXJJbnB1dChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKCcnKTtcbiAgICAgICAgdGhpcy5jbGVhcklucHV0RXZlbnQuZW1pdCh0cnVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgaGFuZGxlQ2hhbmdlSW5wdXRBbmRVcGRhdGVDb250cm9sKHZhbHVlOiBJbnB1dENoYW5nZVZhbHVlKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmlzRHJvcGRvd24gJiYgIXRoaXMuX2lucHV0Q29uZmlnLmlzQWRkcmVzcykge1xuICAgICAgICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgLy8gVHJpZ2dlciBhbGwgaW5wdXRzIGRpcmVjdGl2ZXMgdGhhdCBsaXN0ZW4gZm9yIGlucHV0IEV2ZW50XG4gICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBFdmVudCgnaW5wdXQnLCB7IGJ1YmJsZXM6IHRydWUgfSk7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICAgICAgdGhpcy5mb2N1c0lucHV0RXZlbnQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRCbHVyKGV2ZW50OiBGb2N1c0V2ZW50KSB7XG4gICAgICAgIHRoaXMuYmx1cklucHV0LmVtaXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUG9wb3ZlclNob3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2lucHV0Q29uZmlnLmRyb3Bkb3duTGFiZWwpIHtcbiAgICAgICAgICAgIHRoaXMuaXNGb2N1c0lucHV0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblBvcG92ZXJIaWRkZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRDb25maWcuZHJvcGRvd25MYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5pc0ZvY3VzSW5wdXQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblRvZ2dsZVBhc3N3b3JkKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmlzVG9nZ2xlUGFzc3dvcmQgPSAhdGhpcy5pc1RvZ2dsZVBhc3N3b3JkO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVDYXBzTG9jayhzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0NhcHNMb2NrT24gPSBzdGF0dXM7XG4gICAgfVxuXG4gICAgcHVibGljIGhhbmRsZUNvbW1hbmRWaXNpYmxlKHN0YXR1czogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZUNvbW1hbmRzID0gc3RhdHVzO1xuICAgIH1cblxuICAgIHB1YmxpYyBpZGVudGlmeShpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMuZHJvcERvd25LZXlOYXZpZ2F0aW9uRXZlbnQuZW1pdCh7XG4gICAgICAgICAgICBrZXlDb2RlOiBldmVudC5rZXlDb2RlLFxuICAgICAgICAgICAgZGF0YTogdGhpcy5pbnB1dENvbmZpZyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiaW5wdXQtY3VzdG9tLWdyb3VwIHt7IF9pbnB1dENvbmZpZy5jdXN0b21DbGFzcyB9fVwiXG4gICAgW25nQ2xhc3NdPVwiXG4gICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgIHwgaW5wdXRDb250YWluZXJDbGFzc1xuICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgIFwiXG4gICAgbmdiVG9vbHRpcFxuICAgIFttYWluQ2FUb29sdGlwXT1cImNvbnRyb2w/LmVycm9ycyB8IGlucHV0RXJyb3I6IF9pbnB1dENvbmZpZy5uYW1lXCJcbiAgICBbdG9vbHRpcEJhY2tncm91bmRdPVwiJyNERjNDM0MnXCJcbiAgICBbZGlzYWJsZVRvb2x0aXBdPVwiIV9pbnB1dENvbmZpZy5yZXF1aXJlZExhYmVsIHx8ICEhY29udHJvbD8udmFsaWRcIlxuICAgIHBvc2l0aW9uPVwiYm90dG9tXCJcbiAgICB0cmlnZ2Vycz1cImhvdmVyXCJcbj5cbiAgICA8IS0tIElucHV0IExvYWRpbmcgc3Bpbm5lciAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZz8ubG9hZGluZ1NwaW5uZXI/LmlzTG9hZGluZyAmJiAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWQpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWxvYWRpbmctc3Bpbm5lclwiPlxuICAgICAgICAgICAgPGFwcC1jYS1zcGlubmVyXG4gICAgICAgICAgICAgICAgW3NpemVdPVwiX2lucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyPy5zaXplXCJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiX2lucHV0Q29uZmlnLmxvYWRpbmdTcGlubmVyPy5jb2xvclwiXG4gICAgICAgICAgICA+PC9hcHAtY2Etc3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBDb21tYW5kcyAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5jb21tYW5kcz8uYWN0aXZlICYmIGlzVmlzaWJsZUNvbW1hbmRzKSB7XG4gICAgICAgIDxhcHAtY2EtaW5wdXQtY29tbWFuZHNcbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2lzVmlzaWJsZUNvbW1hbmRzXT1cImlzVmlzaWJsZUNvbW1hbmRzXCJcbiAgICAgICAgICAgIChvbkNvbW1hbmRzQ2xpY2spPVwib25Db21tYW5kcygkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1jb21tYW5kcz5cbiAgICB9XG4gICAgPCEtLSBJbnB1dCBWYWxpZCBDaGVjayAtLT5cbiAgICBAaWYgKFxuICAgICAgICBjb250cm9sIHwgc2hvd1ZhbGlkQ2hlY2s6IGlzRm9jdXNJbnB1dCA6IF9pbnB1dENvbmZpZyA6IGNvbnRyb2w/LnZhbHVlXG4gICAgKSB7XG4gICAgICAgIDxzdmctaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1yZXF1aXJlZC1jaGVjayB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW3NyY109XCJpbnB1dFN2Z1JvdXRlcy5jb25maXJtU3ZnXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuICAgIDwhLS0gSW5wdXQgUGFzc3dvcmQgQ2FwcyBMb2NrIEFuZCBFeWUgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcudHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xuICAgICAgICA8YXBwLWNhLWlucHV0LXBhc3N3b3JkXG4gICAgICAgICAgICBbaW5wdXRDb25maWddPVwiX2lucHV0Q29uZmlnXCJcbiAgICAgICAgICAgIFtnZXRTdXBlckNvbnRyb2xdPVwiY29udHJvbFwiXG4gICAgICAgICAgICBbaXNGb2N1c0lucHV0XT1cImlzRm9jdXNJbnB1dFwiXG4gICAgICAgICAgICBbaXNUb3VjaGVkSW5wdXRdPVwiaXNUb3VjaGVkSW5wdXRcIlxuICAgICAgICAgICAgW2lzQ2Fwc0xvY2tPbl09XCJpc0NhcHNMb2NrT25cIlxuICAgICAgICAgICAgW2lzVG9nZ2xlUGFzc3dvcmRdPVwiaXNUb2dnbGVQYXNzd29yZFwiXG4gICAgICAgICAgICAob25Ub2dnbGVQYXNzd29yZENsaWNrKT1cIm9uVG9nZ2xlUGFzc3dvcmQoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgPC9hcHAtY2EtaW5wdXQtcGFzc3dvcmQ+XG4gICAgfVxuICAgIDwhLS0gSW5wdXQgQ2xlYXIgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcgfCBzaG93Q2xlYXIpIHtcbiAgICAgICAgPGFwcC1jYS1pbnB1dC1jbGVhclxuICAgICAgICAgICAgW2lucHV0Q29uZmlnXT1cIl9pbnB1dENvbmZpZ1wiXG4gICAgICAgICAgICBbZ2V0U3VwZXJDb250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgICAgICAgW2lzRm9jdXNJbnB1dF09XCJpc0ZvY3VzSW5wdXRcIlxuICAgICAgICAgICAgW2luY29ycmVjdFZhbHVlXT1cImluY29ycmVjdFZhbHVlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvcl09XCJzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvclwiXG4gICAgICAgICAgICBbdGVtcGxhdGVdPVwidGVtcGxhdGVcIlxuICAgICAgICAgICAgKGNsZWFySW5wdXRDbGljayk9XCJjbGVhcklucHV0KCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXBwLWNhLWlucHV0LWNsZWFyPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgRHJvcGRvd24gQXJyb3cgLS0+XG4gICAgQGlmIChfaW5wdXRDb25maWcgfCBzaG93RHJvcGRvd25BcnJvdykge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZHJvcGRvd24tYXJyb3cge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlxuICAgICAgICAgICAgICAgIGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgfCBpbnB1dERyb3Bkb3duQXJyb3dDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3NyY109XCJpbnB1dFN2Z1JvdXRlcy5pbnB1dERyb3Bkb3duQXJyb3dTdmdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZURyb3Bkb3duT3B0aW9ucygpXCJcbiAgICAgICAgPjwvc3ZnLWljb24+XG4gICAgfVxuXG4gICAgPCEtLSBJbnB1dCBQbGFjZWhvbGRlciBJY29uIC0tPlxuICAgIEBpZiAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySWNvbikge1xuICAgICAgICA8YXBwLWNhLWlucHV0LXBsYWNlaG9sZGVyLWljb25cbiAgICAgICAgICAgIFtpbnB1dENvbmZpZ109XCJfaW5wdXRDb25maWdcIlxuICAgICAgICAgICAgW2dldFN1cGVyQ29udHJvbF09XCJjb250cm9sXCJcbiAgICAgICAgICAgIFtpc0ZvY3VzSW5wdXRdPVwiaXNGb2N1c0lucHV0XCJcbiAgICAgICAgICAgIFtpc1RvdWNoZWRJbnB1dF09XCJjb250cm9sPy50b3VjaGVkIVwiXG4gICAgICAgICAgICBbc2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JdPVwic2VsZWN0ZWREcm9wZG93bkxhYmVsQ29sb3JcIlxuICAgICAgICAgICAgW2lzRWRpdElucHV0XT1cImlzRWRpdElucHV0XCJcbiAgICAgICAgICAgIChvblBsYWNlaG9sZGVySWNvbkV2ZW50RW1pdHRlcik9XCJvblBsYWNlaG9sZGVySWNvbkV2ZW50KCRldmVudClcIlxuICAgICAgICAgICAgKG9uUG9wb3ZlclNob3duRW1pdHRlcik9XCJvblBvcG92ZXJTaG93bigpXCJcbiAgICAgICAgICAgIChvblBvcG92ZXJIaWRkZW5FbWl0dGVyKT1cIm9uUG9wb3ZlckhpZGRlbigpXCJcbiAgICAgICAgPlxuICAgICAgICA8L2FwcC1jYS1pbnB1dC1wbGFjZWhvbGRlci1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgUGxhY2Vob2xkZXIgVGV4dCAtLT5cbiAgICBAaWYgKFxuICAgICAgICBfaW5wdXRDb25maWdcbiAgICAgICAgICAgIHwgc2hvd1BsYWNlaG9sZGVyVGV4dDogY29udHJvbCA6IGlzVmlzaWJsZUNvbW1hbmRzIDogY29udHJvbD8udmFsdWVcbiAgICApIHtcbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgIGNsYXNzPVwiY2EtcGxhY2Vob2xkZXItdGV4dCB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgIHwgaW5wdXRQbGFjZWhvbGRlclRleHRDbGFzc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy50b3VjaGVkIVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sXG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1Zpc2libGVDb21tYW5kc1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cIlxuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgPT09XG4gICAgICAgICAgICAgICAgICAgIGlucHV0U3RyaW5nRW51bS5QRVJTT05TIHx8XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVyVGV4dD8udG9Mb3dlckNhc2UoKSA9PT1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRTdHJpbmdFbnVtLlZFSElDTEVTXG4gICAgICAgICAgICAgICAgICAgID8gMzAgKyAoY29udHJvbD8udmFsdWU/LnRvU3RyaW5nKCk/Lmxlbmd0aCArIDEpICogOSArICdweCdcbiAgICAgICAgICAgICAgICAgICAgOiBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQ/LnRvTG93ZXJDYXNlKCkgIT09XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRDb21tYW5kc1R5cGUuTU9OVEhTXG4gICAgICAgICAgICAgICAgICAgICAgPyAnYXV0bydcbiAgICAgICAgICAgICAgICAgICAgICA6IChjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgMSkgKiA4ICsgJ3B4J1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtzdHlsZS5yaWdodF09XCJcbiAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJUZXh0Py50b0xvd2VyQ2FzZSgpICE9PVxuICAgICAgICAgICAgICAgICAgICBpbnB1dENvbW1hbmRzVHlwZS5NT05USFNcbiAgICAgICAgICAgICAgICAgICAgPyAnMjhweCdcbiAgICAgICAgICAgICAgICAgICAgOiAnYXV0bydcbiAgICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclRleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgTGFiZWwgQ291bnRlciAtLT5cbiAgICBAaWYgKFxuICAgICAgICBzZWxlY3RlZERyb3Bkb3duTGFiZWxDb2xvciAmJlxuICAgICAgICBjb250cm9sPy52YWx1ZSAmJlxuICAgICAgICAhaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNEaXNhYmxlZCAmJlxuICAgICAgICBfaW5wdXRDb25maWcuc2hvd0NvdW50XG4gICAgKSB7XG4gICAgICAgIDxwXG4gICAgICAgICAgICBbc3R5bGUudG9wXT1cIic0cHgnXCJcbiAgICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cIihjb250cm9sPy52YWx1ZT8udG9TdHJpbmcoKT8ubGVuZ3RoICsgNi41KSAqIDggKyAncHgnXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbGFiZWwtY291bnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IHNlbGVjdGVkRHJvcGRvd25MYWJlbENvbG9yLmNvdW50IH19XG4gICAgICAgIDwvcD5cbiAgICB9XG5cbiAgICA8IS0tIFNwZWNpYWwgRHJvcGRvd24gU2VsZWN0ZWQgU1ZHIHdpdGggb3IgV2l0aG91dCBUZXh0IC0tPlxuICAgIEBpZiAoXG4gICAgICAgIF9pbnB1dENvbmZpZz8uZHJvcGRvd25JbWFnZUlucHV0Py5pY29uc1BhdGggJiZcbiAgICAgICAgYWN0aXZlSXRlbSAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnPy5oaWRlQWxsSXRlbXNJbklucHV0RHJvcGRvd24gJiZcbiAgICAgICAgISghX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8ud2l0aFRleHQgJiYgaXNGb2N1c0lucHV0KSAmJlxuICAgICAgICAhKFxuICAgICAgICAgICAgWyd0cnVjaycsICd0cmFpbGVyJ10uaW5jbHVkZXMoXG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8udGVtcGxhdGUhXG4gICAgICAgICAgICApICYmXG4gICAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiZcbiAgICAgICAgICAgIF9pbnB1dENvbmZpZy5kcm9wZG93bkltYWdlSW5wdXQ/LnJlbW92ZVxuICAgICAgICApICYmXG4gICAgICAgICFfaW5wdXRDb25maWc/LmRyb3Bkb3duSW1hZ2VJbnB1dD8ubmFtZUluaXRpYWxzSW5zdGVhZFVybFxuICAgICkge1xuICAgICAgICA8c3ZnLWljb25cbiAgICAgICAgICAgIFtzcmNdPVwiX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uaWNvbnNQYXRoIVwiXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLXNlbGVjdGVkLWltYWdlIHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3NcbiAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAndW5zZXQtY29sb3InOlxuICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgJiYgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY2xhc3MsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgICAgIFtzdmdTdHlsZV09XCJ7XG4gICAgICAgICAgICAgICAgZmlsbDpcbiAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8uY29sb3IgJiYgIWlzRm9jdXNJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBfaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py5jb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICB9XCJcbiAgICAgICAgPlxuICAgICAgICA8L3N2Zy1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgTGFiZWwgLS0+XG4gICAgQGlmICghX2lucHV0Q29uZmlnLm11bHRpU2VsZWN0RHJvcGRvd25BY3RpdmUpIHtcbiAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICBbZm9yXT1cIl9pbnB1dENvbmZpZy5uYW1lXCJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtbGFiZWwge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19IHt7XG4gICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmN1c3RvbUNsYXNzXG4gICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgICAgICAgICBjb250cm9sPy52YWx1ZVxuICAgICAgICAgICAgICAgICAgICB8IGxhYmVsQ2xhc3NcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IF9pbnB1dENvbmZpZ1xuICAgICAgICAgICAgICAgICAgICAgICAgOiBpc1RvdWNoZWRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy5pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnRvdWNoZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIDogY29udHJvbFxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGlmIChfaW5wdXRDb25maWcubGFiZWwpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBfaW5wdXRDb25maWcubGFiZWwgfX0gPC9zcGFuPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKF9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5sYWJlbHM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cIl9pbnB1dENvbmZpZy5tdWx0aXBsZUxhYmVsPy5jdXN0b21DbGFzcyFcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAnbXVsdGlwbGUtbGFiZWxzLXBvc2l0aW9uLW9uLWZvY3VzJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ZvY3VzSW5wdXQgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcubXVsdGlwbGVJbnB1dFZhbHVlcz8ub3B0aW9ucz8ubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2lucHV0Q29uZmlnLmlzUmVxdWlyZWQgJiYgIV9pbnB1dENvbmZpZy5pc0Rpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWwgb2YgX2lucHV0Q29uZmlnLm11bHRpcGxlTGFiZWw/LmxhYmVscztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9sYWJlbD5cbiAgICB9XG5cbiAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0XG4gICAgICAgIChpbnB1dCk9XCJoYW5kbGVJbnB1dCgkZXZlbnQpXCJcbiAgICAgICAgW3Jlc3RyaWN0SW5wdXRdPVwiaW5wdXRDb25maWdcIlxuICAgICAgICBwcmljZUZvcm1hdFxuICAgICAgICBbcHJpY2VTZXBhcmF0b3JdPVwiXG4gICAgICAgICAgICBpbnB1dENvbmZpZy5wcmljZVNlcGFyYXRvciB8fCBpbnB1dENvbmZpZy50aG91c2FuZFNlcGFyYXRvclxuICAgICAgICBcIlxuICAgICAgICAoZm9jdXMpPVwiaGFuZGxlSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwiaGFuZGxlSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVLZXlEb3duKCRldmVudClcIlxuICAgICAgICBbcmVhZE9ubHldPVwiX2lucHV0Q29uZmlnLnJlYWRPbmx5XCJcbiAgICAgICAgW3R5cGVdPVwiX2lucHV0Q29uZmlnLnR5cGUgfCBpbnB1dFR5cGU6IGlzVG9nZ2xlUGFzc3dvcmRcIlxuICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy50ZXh0VHJhbnNmb3JtIH19XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcudGV4dEFsaWduIH19XG4gICAgICAgICAgICB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cbiAgICAgICAgXCJcbiAgICAgICAgW2FwcE1heFZhbHVlXT1cImlucHV0Q29uZmlnLm1heFwiXG4gICAgICAgIGFwcENhcHNMb2NrXG4gICAgICAgIChjYXBzTG9ja1N0YXR1cyk9XCJoYW5kbGVDYXBzTG9jaygkZXZlbnQpXCJcbiAgICAgICAgY29tbWFuZFZpc2libGVcbiAgICAgICAgKGNvbW1hbmRWaXNpYmxlKT1cImhhbmRsZUNvbW1hbmRWaXNpYmxlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiXG4gICAgICAgICAgICAoX2lucHV0Q29uZmlnLnBsYWNlaG9sZGVySW5zdGVhZE9mTGFiZWwgJiZcbiAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlciAmJlxuICAgICAgICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgPyBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICA6ICcnKSB8fFxuICAgICAgICAgICAgKF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlciAmJiBpc0ZvY3VzSW5wdXRcbiAgICAgICAgICAgICAgICA/IF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgIDogJycpXG4gICAgICAgIFwiXG4gICAgICAgIFttYXNrXT1cIl9pbnB1dENvbmZpZy5tYXNrXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICBjb250cm9sXG4gICAgICAgICAgICAgICAgfCBpbnB1dENsYXNzXG4gICAgICAgICAgICAgICAgICAgIDogaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZCFcbiAgICAgICAgICAgICAgICAgICAgOiBfaW5wdXRDb25maWdcbiAgICAgICAgICAgICAgICAgICAgOiBpbnB1dFxuICAgICAgICAgICAgICAgICAgICA6IGlzVmlzaWJsZUNvbW1hbmRzXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgOiBjb250cm9sPy5pbnZhbGlkXG4gICAgICAgICAgICAgICAgICAgIDogY29udHJvbD8udG91Y2hlZFxuICAgICAgICAgICAgICAgICAgICA6IGlzRHJvcGRvd25Ub2dnbGVyXG4gICAgICAgICAgICAgICAgICAgIDogaXNFZGl0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgOiB0ZW1wbGF0ZVxuICAgICAgICBcIlxuICAgIC8+XG5cbiAgICA8IS0tIFBsYWNlaG9sZGVyIEljb24gb24gUmlnaHQgU2lkZSAtLT5cbiAgICBAaWYgKF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25SaWdodFNpZGUpIHtcbiAgICAgICAgPHN2Zy1pY29uXG4gICAgICAgICAgICBjbGFzcz1cInBsYWNlaG9sZGVyLWljb24tcmlnaHQtc2lkZSB7e1xuICAgICAgICAgICAgICAgIF9pbnB1dENvbmZpZy5wbGFjZWhvbGRlckljb25Db2xvclxuICAgICAgICAgICAgfX1cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiXG4gICAgICAgICAgICAgICAgaXNGb2N1c0lucHV0XG4gICAgICAgICAgICAgICAgICAgIHwgaW5wdXRQbGFjZWhvbGRlckljb25SaWdodENsYXNzXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgICAgIDogX2lucHV0Q29uZmlnXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzVG91Y2hlZElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGNvbnRyb2w/LnZhbHVlXG4gICAgICAgICAgICBcIlxuICAgICAgICAgICAgW3NyY109XCJcbiAgICAgICAgICAgICAgICBfaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uUmlnaHRTaWRlLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgICAgICAgICAgfCBjYVN2ZzogJ2NvbW1vbidcbiAgICAgICAgICAgIFwiXG4gICAgICAgID48L3N2Zy1pY29uPlxuICAgIH1cblxuICAgIDwhLS0gSW5wdXQgRXJyb3IgTWVzc2FnZSAtLT5cbiAgICBAaWYgKFxuICAgICAgICAhKCFjb250cm9sPy52YWx1ZSAmJiBpc0ZvY3VzSW5wdXQpICYmXG4gICAgICAgIChpc1RvdWNoZWRJbnB1dCB8fCBjb250cm9sPy50b3VjaGVkIHx8IGNvbnRyb2w/LnZhbHVlKSAmJlxuICAgICAgICBjb250cm9sPy5pbnZhbGlkICYmXG4gICAgICAgICFfaW5wdXRDb25maWcuaXNJbnZhbGlkU2VhcmNoSW5Ecm9wZG93biAmJlxuICAgICAgICAhX2lucHV0Q29uZmlnLmlzRGlzYWJsZWRcbiAgICApIHtcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICEoX2lucHV0Q29uZmlnLmhpZGVFcnJvck1lc3NhZ2UgfHwgX2lucHV0Q29uZmlnLmVycm9ySW5zaWRlSW5wdXQpXG4gICAgICAgICkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1lcnJvciB7eyBfaW5wdXRDb25maWcuY3VzdG9tQ2xhc3MgfX1cIj5cbiAgICAgICAgICAgICAgICB7eyBjb250cm9sPy5lcnJvcnMgfCBpbnB1dEVycm9yOiBfaW5wdXRDb25maWcubmFtZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG5cbiAgICAgICAgPCEtLSBFcnJvciBNZXNzYWdlIEluc2lkZSBJbnB1dCAtLT5cbiAgICAgICAgQGlmIChfaW5wdXRDb25maWcuZXJyb3JJbnNpZGVJbnB1dCkge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1pbnNpZGUtaW5wdXQge3sgX2lucHV0Q29uZmlnLmN1c3RvbUNsYXNzIH19XCI+XG4gICAgICAgICAgICAgICAge3sgY29udHJvbD8uZXJyb3JzIHwgaW5wdXRFcnJvcjogX2lucHV0Q29uZmlnLm5hbWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoX2lucHV0Q29uZmlnLmZpeGVkUGxhY2hvbGRlciAmJiBpbnB1dC52YWx1ZSkge1xuICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWZpeGVkLXBsYWNlaG9kZXItbGFiZWxcIj5cbiAgICAgICAgICAgIHt7IF9pbnB1dENvbmZpZy5maXhlZFBsYWNob2xkZXIgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgIH1cbjwvZGl2PlxuIl19
|
|
@@ -3,7 +3,8 @@ import { Validators } from '@angular/forms';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class LabelClassPipe {
|
|
5
5
|
transform(value, isFocusInput, inputConfig, isTouchedInput, superControlInvalid, superControlTouched, control) {
|
|
6
|
-
const isFormControlRequired = control?.hasValidator(Validators.required) ||
|
|
6
|
+
const isFormControlRequired = control?.hasValidator(Validators.required) ||
|
|
7
|
+
inputConfig.isRequired;
|
|
7
8
|
return {
|
|
8
9
|
required: isFormControlRequired && !inputConfig.isDisabled,
|
|
9
10
|
'inactive-empty': !value && inputConfig.isDisabled,
|
|
@@ -15,7 +16,8 @@ export class LabelClassPipe {
|
|
|
15
16
|
inputConfig.dropdownImageInput?.url &&
|
|
16
17
|
!inputConfig.labelInInput),
|
|
17
18
|
'input-placeholderIcon-on': inputConfig.placeholderIcon,
|
|
18
|
-
hidden: inputConfig.placeholderInsteadOfLabel &&
|
|
19
|
+
hidden: inputConfig.placeholderInsteadOfLabel &&
|
|
20
|
+
(isFocusInput || value),
|
|
19
21
|
'multiple-labels': inputConfig?.multipleInputValues?.options?.length,
|
|
20
22
|
'in-label-focus': isFocusInput && inputConfig.labelInInput,
|
|
21
23
|
'in-label': inputConfig.labelInInput,
|
|
@@ -37,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
37
39
|
standalone: true,
|
|
38
40
|
}]
|
|
39
41
|
}] });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtY2xhc3MucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NhLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2NhLWlucHV0LXRlc3QvcGlwZXMvbGFiZWwtY2xhc3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQW1CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU03RCxNQUFNLE9BQU8sY0FBYztJQUN2QixTQUFTLENBQ0wsS0FBc0IsRUFDdEIsWUFBcUIsRUFDckIsV0FBcUIsRUFDckIsY0FBdUIsRUFDdkIsbUJBQTZCLEVBQzdCLG1CQUE2QixFQUM3QixPQUEwQztRQUUxQyxNQUFNLHFCQUFxQixHQUN2QixPQUFPLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDMUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztRQUUzQixPQUFPO1lBQ0gsUUFBUSxFQUFFLHFCQUFxQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVU7WUFDMUQsZ0JBQWdCLEVBQUUsQ0FBQyxLQUFLLElBQUksV0FBVyxDQUFDLFVBQVU7WUFDbEQsVUFBVSxFQUNOLEtBQUs7Z0JBQ0wsS0FBSyxLQUFLLENBQUM7Z0JBQ1gsWUFBWTtnQkFDWixXQUFXLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLE1BQU07Z0JBQ2pELENBQUMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLEVBQUUsUUFBUTtvQkFDdEMsV0FBVyxDQUFDLGtCQUFrQixFQUFFLEdBQUc7b0JBQ25DLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztZQUNsQywwQkFBMEIsRUFBRSxXQUFXLENBQUMsZUFBZTtZQUN2RCxNQUFNLEVBQ0YsV0FBVyxDQUFDLHlCQUF5QjtnQkFDckMsQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDO1lBQzNCLGlCQUFpQixFQUNiLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsTUFBTTtZQUNyRCxnQkFBZ0IsRUFBRSxZQUFZLElBQUksV0FBVyxDQUFDLFlBQVk7WUFDMUQsVUFBVSxFQUFFLFdBQVcsQ0FBQyxZQUFZO1lBQ3BDLGdCQUFnQixFQUNaLENBQUMsWUFBWTtnQkFDYixDQUFDLEtBQUs7Z0JBQ04sbUJBQW1CO2dCQUNuQixDQUFDLGNBQWMsSUFBSSxtQkFBbUIsQ0FBQztnQkFDdkMsQ0FBQyxXQUFXLENBQUMsVUFBVTtnQkFDdkIsV0FBVyxDQUFDLGFBQWE7U0FDaEMsQ0FBQztJQUNOLENBQUM7K0dBekNRLGNBQWM7NkdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFKMUIsSUFBSTttQkFBQztvQkFDRixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNhSW5wdXQgfSBmcm9tICcuLi9jb25maWcvY2EtaW5wdXQuY29uZmlnJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdsYWJlbENsYXNzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMYWJlbENsYXNzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShcbiAgICAgICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcixcbiAgICAgICAgaXNGb2N1c0lucHV0OiBib29sZWFuLFxuICAgICAgICBpbnB1dENvbmZpZzogSUNhSW5wdXQsXG4gICAgICAgIGlzVG91Y2hlZElucHV0OiBib29sZWFuLFxuICAgICAgICBzdXBlckNvbnRyb2xJbnZhbGlkPzogYm9vbGVhbixcbiAgICAgICAgc3VwZXJDb250cm9sVG91Y2hlZD86IGJvb2xlYW4sXG4gICAgICAgIGNvbnRyb2w/OiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbFxuICAgICk6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgfCBzdHJpbmcgfCBudW1iZXIgfSB7XG4gICAgICAgIGNvbnN0IGlzRm9ybUNvbnRyb2xSZXF1aXJlZCA9XG4gICAgICAgICAgICBjb250cm9sPy5oYXNWYWxpZGF0b3IoVmFsaWRhdG9ycy5yZXF1aXJlZCkgfHxcbiAgICAgICAgICAgIGlucHV0Q29uZmlnLmlzUmVxdWlyZWQ7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlcXVpcmVkOiBpc0Zvcm1Db250cm9sUmVxdWlyZWQgJiYgIWlucHV0Q29uZmlnLmlzRGlzYWJsZWQsXG4gICAgICAgICAgICAnaW5hY3RpdmUtZW1wdHknOiAhdmFsdWUgJiYgaW5wdXRDb25maWcuaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICd1cC1sYWJlbCc6XG4gICAgICAgICAgICAgICAgdmFsdWUgfHxcbiAgICAgICAgICAgICAgICB2YWx1ZSA9PT0gMCB8fFxuICAgICAgICAgICAgICAgIGlzRm9jdXNJbnB1dCB8fFxuICAgICAgICAgICAgICAgIGlucHV0Q29uZmlnPy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGggfHxcbiAgICAgICAgICAgICAgICAoIWlucHV0Q29uZmlnLmRyb3Bkb3duSW1hZ2VJbnB1dD8ud2l0aFRleHQgJiZcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRDb25maWcuZHJvcGRvd25JbWFnZUlucHV0Py51cmwgJiZcbiAgICAgICAgICAgICAgICAgICAgIWlucHV0Q29uZmlnLmxhYmVsSW5JbnB1dCksXG4gICAgICAgICAgICAnaW5wdXQtcGxhY2Vob2xkZXJJY29uLW9uJzogaW5wdXRDb25maWcucGxhY2Vob2xkZXJJY29uLFxuICAgICAgICAgICAgaGlkZGVuOlxuICAgICAgICAgICAgICAgIGlucHV0Q29uZmlnLnBsYWNlaG9sZGVySW5zdGVhZE9mTGFiZWwgJiZcbiAgICAgICAgICAgICAgICAoaXNGb2N1c0lucHV0IHx8IHZhbHVlKSxcbiAgICAgICAgICAgICdtdWx0aXBsZS1sYWJlbHMnOlxuICAgICAgICAgICAgICAgIGlucHV0Q29uZmlnPy5tdWx0aXBsZUlucHV0VmFsdWVzPy5vcHRpb25zPy5sZW5ndGgsXG4gICAgICAgICAgICAnaW4tbGFiZWwtZm9jdXMnOiBpc0ZvY3VzSW5wdXQgJiYgaW5wdXRDb25maWcubGFiZWxJbklucHV0LFxuICAgICAgICAgICAgJ2luLWxhYmVsJzogaW5wdXRDb25maWcubGFiZWxJbklucHV0LFxuICAgICAgICAgICAgJ3JlcXVpcmVkLWxhYmVsJzpcbiAgICAgICAgICAgICAgICAhaXNGb2N1c0lucHV0ICYmXG4gICAgICAgICAgICAgICAgIXZhbHVlICYmXG4gICAgICAgICAgICAgICAgc3VwZXJDb250cm9sSW52YWxpZCAmJlxuICAgICAgICAgICAgICAgIChpc1RvdWNoZWRJbnB1dCB8fCBzdXBlckNvbnRyb2xUb3VjaGVkKSAmJlxuICAgICAgICAgICAgICAgICFpbnB1dENvbmZpZy5pc0Rpc2FibGVkICYmXG4gICAgICAgICAgICAgICAgaW5wdXRDb25maWcucmVxdWlyZWRMYWJlbCxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -28594,7 +28594,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
28594
28594
|
|
|
28595
28595
|
class LabelClassPipe {
|
|
28596
28596
|
transform(value, isFocusInput, inputConfig, isTouchedInput, superControlInvalid, superControlTouched, control) {
|
|
28597
|
-
const isFormControlRequired = control?.hasValidator(Validators.required) ||
|
|
28597
|
+
const isFormControlRequired = control?.hasValidator(Validators.required) ||
|
|
28598
|
+
inputConfig.isRequired;
|
|
28598
28599
|
return {
|
|
28599
28600
|
required: isFormControlRequired && !inputConfig.isDisabled,
|
|
28600
28601
|
'inactive-empty': !value && inputConfig.isDisabled,
|
|
@@ -28606,7 +28607,8 @@ class LabelClassPipe {
|
|
|
28606
28607
|
inputConfig.dropdownImageInput?.url &&
|
|
28607
28608
|
!inputConfig.labelInInput),
|
|
28608
28609
|
'input-placeholderIcon-on': inputConfig.placeholderIcon,
|
|
28609
|
-
hidden: inputConfig.placeholderInsteadOfLabel &&
|
|
28610
|
+
hidden: inputConfig.placeholderInsteadOfLabel &&
|
|
28611
|
+
(isFocusInput || value),
|
|
28610
28612
|
'multiple-labels': inputConfig?.multipleInputValues?.options?.length,
|
|
28611
28613
|
'in-label-focus': isFocusInput && inputConfig.labelInInput,
|
|
28612
28614
|
'in-label': inputConfig.labelInInput,
|
|
@@ -29975,14 +29977,17 @@ class InputTestComponent extends InputCommandMixin(InputHelperMixin(InputBase))
|
|
|
29975
29977
|
.subscribe(() => {
|
|
29976
29978
|
if (this.parentControl?.hasValidator(Validators.required)) {
|
|
29977
29979
|
this.control?.addValidators(Validators.required);
|
|
29980
|
+
this.control?.updateValueAndValidity();
|
|
29978
29981
|
}
|
|
29979
29982
|
else {
|
|
29980
29983
|
this.control?.removeValidators(Validators.required);
|
|
29984
|
+
this.control?.updateValueAndValidity();
|
|
29981
29985
|
}
|
|
29982
29986
|
});
|
|
29983
29987
|
this.control?.setValidators(this.parentControl.validator);
|
|
29984
29988
|
if (this.parentControl?.hasValidator(Validators.required)) {
|
|
29985
29989
|
this.control?.addValidators(Validators.required);
|
|
29990
|
+
this.control?.updateValueAndValidity();
|
|
29986
29991
|
}
|
|
29987
29992
|
}
|
|
29988
29993
|
});
|