@ieeesa-npm/presentation 0.25.4 → 0.25.6
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/assets/constants.json +5 -1
- package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +11 -3
- package/esm2022/lib/components/file-upload/file-upload.component.mjs +31 -10
- package/esm2022/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.mjs +4 -2
- package/esm2022/lib/directives/dynamic-form-field/dynamic-form-field.directive.mjs +15 -2
- package/esm2022/lib/models/delete-file.model.mjs +2 -0
- package/esm2022/lib/models/field-config.model.mjs +1 -1
- package/esm2022/lib/models/file-attachment.model.mjs +2 -0
- package/esm2022/lib/models/file-upload-response.model.mjs +1 -1
- package/esm2022/lib/services/file-upload.service.mjs +39 -22
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/ieeesa-npm-presentation.mjs +100 -35
- package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
- package/lib/components/chips/chips.component.d.ts +4 -0
- package/lib/components/dynamic-form/dynamic-form.component.d.ts +5 -2
- package/lib/components/file-upload/file-upload.component.d.ts +25 -6
- package/lib/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +5 -2
- package/lib/directives/file-upload/file-upload.directive.d.ts +1 -1
- package/lib/models/delete-file.model.d.ts +10 -0
- package/lib/models/field-config.model.d.ts +1 -1
- package/lib/models/file-attachment.model.d.ts +9 -0
- package/lib/models/file-upload-response.model.d.ts +1 -0
- package/lib/services/file-upload.service.d.ts +20 -9
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/src/lib/assets/constants.json +5 -1
package/esm2022/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.mjs
CHANGED
|
@@ -97,7 +97,8 @@ export class MultiSelectAutocompleteComponent {
|
|
|
97
97
|
* @memberof MultiSelectAutocompleteComponent
|
|
98
98
|
*/
|
|
99
99
|
ngAfterViewInit() {
|
|
100
|
-
|
|
100
|
+
if (this.selectedOptions?.length)
|
|
101
|
+
this.group?.get(this.config?.controlName)?.setErrors(null);
|
|
101
102
|
this.onValueChanges();
|
|
102
103
|
this.changeDetectorRef.detectChanges();
|
|
103
104
|
}
|
|
@@ -136,6 +137,7 @@ export class MultiSelectAutocompleteComponent {
|
|
|
136
137
|
* @memberof MultiSelectAutocompleteComponent
|
|
137
138
|
*/
|
|
138
139
|
handleFieldError() {
|
|
140
|
+
this.group?.controls[this.config?.controlName]?.setValue(this.selectedOptions);
|
|
139
141
|
if (this.selectedOptions?.length) {
|
|
140
142
|
this.group?.get(this.config?.controlName)?.setErrors({
|
|
141
143
|
required: false,
|
|
@@ -316,4 +318,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
316
318
|
type: ViewChild,
|
|
317
319
|
args: ['autocompleteTrigger']
|
|
318
320
|
}] } });
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixnQ0FBZ0MsR0FFakMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFB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O2dCQUN6QyxRQUFRLEVBQUU7b0JBQ1IsaUJBQWlCLEVBQUUsZ0RBQWdEO2lCQUNwRTthQUNGO1NBQ0Ysb1FDekVILHkxR0E2RkEsK3JlRHpDSSxZQUFZLDZWQUNaLG1CQUFtQixvMkJBQ25CLGtCQUFrQixpSEFDbEIsd0JBQXdCLHdJQUN4QixlQUFlLDBIQUNmLHFCQUFxQixvV0FDckIsY0FBYyx1dkJBQ2QsYUFBYSw4QkFDYixlQUFlLDJMQUNmLGlCQUFpQixnTEFDakIsY0FBYyw0NEJBQ2QsZ0JBQWdCLGdJQUNoQixzQkFBc0I7OzRGQWNiLGdDQUFnQztrQkE5QjVDLFNBQVM7K0JBQ0Usa0NBQWtDLGNBQ2hDLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix3QkFBd0I7d0JBQ3hCLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsZ0JBQWdCO3dCQUNoQixzQkFBc0I7cUJBQ3ZCLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGdDQUFnQzs0QkFDekMsUUFBUSxFQUFFO2dDQUNSLGlCQUFpQixFQUFFLGdEQUFnRDs2QkFDcEU7eUJBQ0Y7cUJBQ0YsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5SUFlakMsOEJBQThCO3NCQURqQyxLQUFLO2dCQWFJLGtDQUFrQztzQkFBM0MsTUFBTTtnQkFDRyx1Q0FBdUM7c0JBQWhELE1BQU07Z0JBRUcsc0NBQXNDO3NCQUEvQyxNQUFNO2dCQUcrQix1QkFBdUI7c0JBQTVELFNBQVM7dUJBQUMseUJBQXlCO2dCQUNGLFlBQVk7c0JBQTdDLFNBQVM7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gIE1BVF9BVVRPQ09NUExFVEVfREVGQVVMVF9PUFRJT05TLFxyXG4gIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcclxuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZmlsdGVyLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIGF1dG9jb21wbGV0ZUNvbnN0SW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCwgTWF0Q2hpcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb3JtLXV0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdC1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1maWVsZC5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQgfSBmcm9tICcuLi9mb3JtLXN1cHBvcnQtdGV4dC9mb3JtLXN1cHBvcnQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XHJcbmltcG9ydCB7IFRleHRUcnVuY2F0ZWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RleHQtdHJ1bmNhdGVkL3RleHQtdHJ1bmNhdGVkLmRpcmVjdGl2ZSc7XHJcbi8qKlxyXG4gKiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCBhbGxvd3MgdG8gc2VhcmNoIHRoZSBvcHRpb24ocykgZnJvbSB0aGUgbGlzdCBhbmQgc2VsZWN0IHRoZSBvcHRpb24ocykgZnJvbSB0aGUgYXV0b2NvbXBsZXRlIHNlYXJjaCByZXN1bHRzLlxyXG4gKiBAY2xhc3MgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICogQGltcGxlbWVudHMge0FmdGVyVmlld0luaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgICBNYXRPcHRpb25Nb2R1bGUsXHJcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIFRleHRUcnVuY2F0ZWREaXJlY3RpdmUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMsXHJcbiAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgb3ZlcmxheVBhbmVsQ2xhc3M6ICdpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS1vdmVybGF5LXBhbmVsJyxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25Jbml0LCBGb3JtRmllbGQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdFxyXG57XHJcbiAgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUFdO1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIHNlbGVjdGVkT3B0aW9uczogU2VsZWN0T3B0aW9uW10gPSBbXTtcclxuICBhdXRvQ29tcGxldGVPcHRpb25MaXN0ITogQXV0b0NvbXBsZXRlT3B0aW9uW107XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgb3B0aW9ucyBmb3IgbXVsdGkgc2VsZWN0IGF1dG9jb21wbGV0ZS5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnModmFsdWU6IEF1dG9Db21wbGV0ZU9wdGlvbltdKSB7XHJcbiAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3QgPSB2YWx1ZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB0aGUgYXV0b2NvbXBsZXRlIG9wdGlvbnMgbGlzdC5cclxuICAgKiBAcmVhZG9ubHlcclxuICAgKiBAdHlwZSB7QXV0b0NvbXBsZXRlT3B0aW9uW119XHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucygpOiBBdXRvQ29tcGxldGVPcHRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0O1xyXG4gIH1cclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUgPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIEF1dG9Db21wbGV0ZU9wdGlvbltdXHJcbiAgPigpO1xyXG4gIEBWaWV3Q2hpbGQoJ211bHRpU2VsZWN0QXV0b0NvbXBsZXRlJykgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGUhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2F1dG9jb21wbGV0ZVRyaWdnZXInKSBtYXRBQ1RyaWdnZXIhOiBNYXRBdXRvY29tcGxldGVUcmlnZ2VyO1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGF1dG9jb21wbGV0ZUNvbnN0SW5mbzogYW55ID0gYXV0b2NvbXBsZXRlQ29uc3RJbmZvO1xyXG4gIHJlbW92ZUljb25VUkwgPVxyXG4gICAgdGhpcy5hdXRvY29tcGxldGVDb25zdEluZm8/Lm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlPy5pY29ucz8ucmVtb3ZlO1xyXG4gIGNsZWFyQWxsSWNvblVSTCA9XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/Lmljb25zPy5jbGVhckFsbDtcclxuICBjbGVhckFsbCA9XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/LmxhYmVsLmNsZWFyQWxsO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBmb3JtVXRpbGl0eVNlcnZpY2U6IEZvcm1VdGlsaXR5U2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gaW5pdGlhbGl6ZSBjb21wb25lbnRzIGluc3RhbmNlIHByb3BlcnRpZXMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnID8/XHJcbiAgICAgIHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1GaWVsZENvbmZpZyhcclxuICAgICAgICAnbXVsdGlTZWxlY3RBdXRvY29tcGxldGUnLFxyXG4gICAgICAgIEZvcm1Db250cm9sVHlwZS5BVVRPX0NPTVBMRVRFXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmdyb3VwID1cclxuICAgICAgdGhpcy5ncm91cCA/P1xyXG4gICAgICB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtR3JvdXAoJ211bHRpU2VsZWN0QXV0b2NvbXBsZXRlJyk7XHJcbiAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnMgPz9cclxuICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnM7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LnZhbHVlKSB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IHRoaXMuY29uZmlnPy52YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemUgdGhlIGZvcm0gY29udHJvbCBjaGFuZ2UgZXZlbnQgb25jZSB0aGUgZm9ybSBjb250cm9sIGlzIHJlYWR5IG9uIG5nQWZ0ZXJWaWV3SW5pdCBieSBjYWxsaW5nIG9uVmFsdWVDaGFuZ2VzIG1ldGhvZC5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBhbiBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlIGNoYW5nZSBldmVudCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkIGFuZCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gbWluQ2hhclRvU2VhcmNoIG9yIGVxdWFsIHRvIHplcm8uXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBmcm9tRXZlbnQodGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8ubmF0aXZlRWxlbWVudCwgJ2tleXVwJylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgbWFwKChldmVudDogYW55KSA9PiBldmVudD8udGFyZ2V0Py52YWx1ZSksXHJcbiAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICAgIChyZXM6IGFueSkgPT5cclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggPFxyXG4gICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5hdXRvY29tcGxldGU/Lm1pbkNoYXJUb1NlYXJjaCAmJlxyXG4gICAgICAgICAgICByZXM/Lmxlbmd0aCAhPT0gMFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5hdXRvY29tcGxldGU/LmRlYm91bmNlVGltZSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0ZXh0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodGV4dCA9PT0gJycpIHRoaXMuaGFuZGxlRmllbGRFcnJvcigpO1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlLmVtaXQodGV4dCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ3JvdXA/LmNvbnRyb2xzW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0/LnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICAgIChyZXM6IGFueSkgPT5cclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggPj1cclxuICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5taW5DaGFyVG9TZWFyY2ggfHxcclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggPT09IDBcclxuICAgICAgICApLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5kZWJvdW5jZVRpbWUpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlLmVtaXQodGV4dCk7XHJcbiAgICAgICAgaWYgKHRleHQgPT09ICcnKSB0aGlzLmhhbmRsZUZpZWxkRXJyb3IoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZpZWxkIGVycm9yIGJ5IHNldHRpbmcgdGhlIGFwcHJvcHJpYXRlIGZvcm0gY29udHJvbCBlcnJvcnMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgaGFuZGxlRmllbGRFcnJvcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoe1xyXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIGEgbmV3bHkgZW50ZXJlZCBvcHRpb24gdG8gdGhlIHNlbGVjdGVkT3B0aW9ucyBhcnJheS5cclxuICAgKiBAcGFyYW0geyp9IGV2ZW50IC1UaGUgZXZlbnQgY29udGFpbmluZyB0aGUgaW5wdXQgYW5kIHZhbHVlLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGFkZChldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3QubGVuZ3RoKSByZXR1cm47XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSk7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50Py5jaGlwSW5wdXQ/LmlucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50Py52YWx1ZSB8fCAnJykudHJpbSgpO1xyXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgY29uc3QgbWluTGVuZ3RoID0gY29udHJvbD8uZXJyb3JzPy5bJ21pbmxlbmd0aCddPy5yZXF1aXJlZExlbmd0aDtcclxuICAgIGNvbnN0IG1heExlbmd0aCA9IGNvbnRyb2w/LmVycm9ycz8uWydtYXhsZW5ndGgnXT8ucmVxdWlyZWRMZW5ndGg7XHJcbiAgICBpZiAoXHJcbiAgICAgICh2YWx1ZS5sZW5ndGggPj0gbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8PSBtYXhMZW5ndGgpIHx8XHJcbiAgICAgIChtaW5MZW5ndGggPT09IHVuZGVmaW5lZCAmJiBtYXhMZW5ndGggPT09IHVuZGVmaW5lZClcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKHsgaWQ6ICcnLCBuYW1lOiB2YWx1ZSB9KTtcclxuICAgICAgaWYgKGlucHV0KSBpbnB1dC52YWx1ZSA9ICcnO1xyXG4gICAgICB0aGlzLmZvcm1hdFNlbGVjdGVkT3B0aW9uKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBhIHNlbGVjdGVkIG9wdGlvbiBmcm9tIHRoZSBzZWxlY3RlZE9wdGlvbnMgYXJyYXkuXHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb259IHJlbW92ZWRPcHRpb24gLVRoZSBvcHRpb24gdG8gcmVtb3ZlLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uT3B0aW9uUmVtb3ZlZChyZW1vdmVkT3B0aW9uOiBTZWxlY3RPcHRpb24pOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM/LmZpbmRJbmRleChcclxuICAgICAgKG9wdGlvbjogU2VsZWN0T3B0aW9uKSA9PiBvcHRpb24uaWQgPT09IHJlbW92ZWRPcHRpb24uaWRcclxuICAgICk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucz8uc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9ucz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAudmFsdWVbdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXSA9ICcnO1xyXG4gICAgICB0aGlzLmdyb3VwPy5jb250cm9sc1t0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdLnNldFZhbHVlKCcnKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcclxuICAgICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0ID0gW107XHJcbiAgICAgIHRoaXMuaGFuZGxlRmllbGRFcnJvcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRTZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBzZWxlY3Rpb24gb2YgYW4gYXV0b2NvbXBsZXRlIG9wdGlvbi5cclxuICAgKiBAcGFyYW0ge0F1dG9Db21wbGV0ZU9wdGlvbn0gb3B0aW9uICAtVGhlIHNlbGVjdGVkIGF1dG9jb21wbGV0ZSBvcHRpb24uXHJcbiAgICogQHJldHVybiB7QXV0b0NvbXBsZXRlT3B0aW9ufVxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgb25DaGFuZ2Uob3B0aW9uOiBhbnkpOiBBdXRvQ29tcGxldGVPcHRpb24ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBvcHRpb24/LnZhbHVlO1xyXG4gICAgaWYgKHRoaXMuaXNDaGVja2JveFNlbGVjdGVkKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm9uT3B0aW9uUmVtb3ZlZCh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKHZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybWF0U2VsZWN0ZWRPcHRpb24odGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xyXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXRzIHRoZSBzZWxlY3RlZCBvcHRpb25zIGFuZCBlbWl0cyB0aGUgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCBldmVudC5cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbltdfSBzZWxlY3RlZE9wdGlvbnMgLUFycmF5IG9mIHNlbGVjdGVkIG9wdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZm9ybWF0U2VsZWN0ZWRPcHRpb24oc2VsZWN0ZWRPcHRpb25zOiBTZWxlY3RPcHRpb25bXSkge1xyXG4gICAgY29uc3QgZm9ybWF0dGVkT3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucz8ubWFwKChvcHRpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpZDogb3B0aW9uLmlkLFxyXG4gICAgICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkPy5lbWl0KGZvcm1hdHRlZE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheXMgdGhlIG5hbWUgb2YgdGhlIG9wdGlvblxyXG4gICAqIEBwYXJhbSB7QXV0b0NvbXBsZXRlT3B0aW9ufSBvcHRpb25cclxuICAgKiBAcmV0dXJuIHsqfSAge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBkaXNwbGF5T3B0aW9uTmFtZShvcHRpb246IEF1dG9Db21wbGV0ZU9wdGlvbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gb3B0aW9uPy5uYW1lID8gb3B0aW9uLm5hbWUgOiAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYWNrcyB0aGUgb3B0aW9uIGJ5IGl0cyBpbmRleCBvciBpZC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbn0gb3B0aW9uXHJcbiAgICogQHJldHVybiB7Kn0gIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgb3B0aW9uOiBTZWxlY3RPcHRpb24pOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiB0aGUgY2hlY2tib3ggaXMgc2VsZWN0ZWQuXHJcbiAgICogQHBhcmFtIHtBdXRvQ29tcGxldGVPcHRpb259IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyp9ICB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBpc0NoZWNrYm94U2VsZWN0ZWQob3B0aW9uOiBBdXRvQ29tcGxldGVPcHRpb24pOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ucz8uc29tZSgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gb3B0aW9uLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFycyBhbGwgc2VsZWN0ZWQgb3B0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBjbGVhclNlbGVjdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwLnZhbHVlW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0gPSAnJztcclxuICAgIHRoaXMuZ3JvdXA/LmNvbnRyb2xzW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0uc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcclxuICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9uTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5mb3JtYXRTZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgICB0aGlzLmhhbmRsZUZpZWxkRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImllZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlXCJcclxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAqbmdJZj1cImdyb3VwXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGNvbmZpZy5pc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGUtZmllbGRfX2xhYmVsLWxlZnQnXHJcbiAgICAgIDogJ2llZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLWZpZWxkX19sYWJlbC10b3AnXHJcbiAgXCJcclxuPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fbGFiZWxcIlxyXG4gICAgPnt7IGNvbmZpZy5sYWJlbCB9fTwvbWF0LWxhYmVsXHJcbiAgPlxyXG4gIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fbWF0LWZvcm0tZmllbGRcIlxyXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxyXG4gID5cclxuICAgIDxtYXQtY2hpcC1ncmlkXHJcbiAgICAgICNjaGlwR3JpZFxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/LmFyaWFMYWJlbD8uc2VsZWN0ZWRPcHRpb25zXCJcclxuICAgID5cclxuICAgICAgPG1hdC1jaGlwLXJvd1xyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uPy5uYW1lXCJcclxuICAgICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIChyZW1vdmVkKT1cIm9uT3B0aW9uUmVtb3ZlZChvcHRpb24pXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICBpZWVlc2FUZXh0VHJ1bmNhdGVkXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJvcHRpb24ubmFtZVwiXHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1sYWJlbC1sZy1ib2xkLTE2IG0tMFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgbWF0Q2hpcFJlbW92ZVxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRvY29tcGxldGVDb25zdEluZm8/Lm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlPy5hcmlhTGFiZWw/LnJlbW92ZU9wdGlvbiArIG9wdGlvbi5uYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWVlZXNhLWNoaXBfX3N2Zy1hdmF0YXJcIiBtYXRDaGlwQXZhdGFyPlxyXG4gICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwicmVtb3ZlSWNvblVSTFwiPjwvdXNlPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgPC9tYXQtY2hpcC1ncmlkPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGVfX2lucHV0IGllZWVzYS10aXRsZS1zbS0xNlwiXHJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlciA/PyAnJ1wiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgW25hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcuYXJpYUxhYmVsXCJcclxuICAgICAgW2FyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeUlkID8/ICcnXCJcclxuICAgICAgI211bHRpU2VsZWN0QXV0b0NvbXBsZXRlXHJcbiAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIlxyXG4gICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiYWRkKCRldmVudClcIlxyXG4gICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBHcmlkXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICAjbWF0QXV0b2NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIm9uQ2hhbmdlKCRldmVudC5vcHRpb24pXCJcclxuICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlPcHRpb25OYW1lXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fYXV0b2NvbXBsZXRlLWxpc3RcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgYXV0b0NvbXBsZXRlT3B0aW9uTGlzdDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgW2NoZWNrZWRdPVwiaXNDaGVja2JveFNlbGVjdGVkKG9wdGlvbilcIj5cclxuICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBtYXRTdWZmaXhcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIFttYXRUb29sdGlwXT1cImNsZWFyQWxsXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRvY29tcGxldGVDb25zdEluZm8uYXJpYUxhYmVsLmNsZWFyXCJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFwiXHJcbiAgICAgIChjbGljayk9XCJjbGVhclNlbGVjdGlvbnMoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzdmcgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fc3ZnLWNsZWFyLWFsbFwiPlxyXG4gICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJjbGVhckFsbEljb25VUkxcIj48L3VzZT5cclxuICAgICAgPC9zdmc+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxpZWVlc2EtZm9ybS1lcnJvciBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbmZpZ109XCJjb25maWdcIj4gPC9pZWVlc2EtZm9ybS1lcnJvcj5cclxuICA8aWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0XHJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICA+PC9pZWVlc2EtZm9ybS1zdXBwb3J0LXRleHQ+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
321
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFHTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixnQ0FBZ0MsR0FFakMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFB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QkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDT01NQSwgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgTUFUX0FVVE9DT01QTEVURV9ERUZBVUxUX09QVElPTlMsXHJcbiAgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRPcHRpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsLCBmaWx0ZXIsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0ICogYXMgYXV0b2NvbXBsZXRlQ29uc3RJbmZvIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IE1hdENoaXBJbnB1dEV2ZW50LCBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1VdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgVGV4dFRydW5jYXRlZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdGV4dC10cnVuY2F0ZWQvdGV4dC10cnVuY2F0ZWQuZGlyZWN0aXZlJztcclxuLyoqXHJcbiAqIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50IGFsbG93cyB0byBzZWFyY2ggdGhlIG9wdGlvbihzKSBmcm9tIHRoZSBsaXN0IGFuZCBzZWxlY3QgdGhlIG9wdGlvbihzKSBmcm9tIHRoZSBhdXRvY29tcGxldGUgc2VhcmNoIHJlc3VsdHMuXHJcbiAqIEBjbGFzcyBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7Rm9ybUZpZWxkfVxyXG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxyXG4gKiBAaW1wbGVtZW50cyB7QWZ0ZXJWaWV3SW5pdH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1FcnJvckNvbXBvbmVudCxcclxuICAgIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCxcclxuICAgIE1hdE9wdGlvbk1vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxyXG4gICAgVGV4dFRydW5jYXRlZERpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNQVRfQVVUT0NPTVBMRVRFX0RFRkFVTFRfT1BUSU9OUyxcclxuICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICBvdmVybGF5UGFuZWxDbGFzczogJ2llZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLW92ZXJsYXktcGFuZWwnLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIEZvcm1GaWVsZCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0XHJcbntcclxuICBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQV07XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgc2VsZWN0ZWRPcHRpb25zOiBTZWxlY3RPcHRpb25bXSA9IFtdO1xyXG4gIGF1dG9Db21wbGV0ZU9wdGlvbkxpc3QhOiBBdXRvQ29tcGxldGVPcHRpb25bXTtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBvcHRpb25zIGZvciBtdWx0aSBzZWxlY3QgYXV0b2NvbXBsZXRlLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucyh2YWx1ZTogQXV0b0NvbXBsZXRlT3B0aW9uW10pIHtcclxuICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9uTGlzdCA9IHZhbHVlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBhdXRvY29tcGxldGUgb3B0aW9ucyBsaXN0LlxyXG4gICAqIEByZWFkb25seVxyXG4gICAqIEB0eXBlIHtBdXRvQ29tcGxldGVPcHRpb25bXX1cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBnZXQgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zKCk6IEF1dG9Db21wbGV0ZU9wdGlvbltdIHtcclxuICAgIHJldHVybiB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3Q7XHJcbiAgfVxyXG4gIEBPdXRwdXQoKSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgQXV0b0NvbXBsZXRlT3B0aW9uW11cclxuICA+KCk7XHJcbiAgQFZpZXdDaGlsZCgnbXVsdGlTZWxlY3RBdXRvQ29tcGxldGUnKSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZSE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnYXV0b2NvbXBsZXRlVHJpZ2dlcicpIG1hdEFDVHJpZ2dlciE6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXI7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgYXV0b2NvbXBsZXRlQ29uc3RJbmZvOiBhbnkgPSBhdXRvY29tcGxldGVDb25zdEluZm87XHJcbiAgcmVtb3ZlSWNvblVSTCA9XHJcbiAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/Lmljb25zPy5yZW1vdmU7XHJcbiAgY2xlYXJBbGxJY29uVVJMID1cclxuICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8uaWNvbnM/LmNsZWFyQWxsO1xyXG4gIGNsZWFyQWxsID1cclxuICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8ubGFiZWwuY2xlYXJBbGw7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25Jbml0IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byBpbml0aWFsaXplIGNvbXBvbmVudHMgaW5zdGFuY2UgcHJvcGVydGllcy5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY29uZmlnID1cclxuICAgICAgdGhpcy5jb25maWcgPz9cclxuICAgICAgdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UuZ2V0Rm9ybUZpZWxkQ29uZmlnKFxyXG4gICAgICAgICdtdWx0aVNlbGVjdEF1dG9jb21wbGV0ZScsXHJcbiAgICAgICAgRm9ybUNvbnRyb2xUeXBlLkFVVE9fQ09NUExFVEVcclxuICAgICAgKTtcclxuICAgIHRoaXMuZ3JvdXAgPVxyXG4gICAgICB0aGlzLmdyb3VwID8/XHJcbiAgICAgIHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1Hcm91cCgnbXVsdGlTZWxlY3RBdXRvY29tcGxldGUnKTtcclxuICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zID1cclxuICAgICAgdGhpcy5jb25maWc/Lm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucyA/P1xyXG4gICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9ucztcclxuICAgIGlmICh0aGlzLmNvbmZpZz8udmFsdWUpIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gdGhpcy5jb25maWc/LnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGUgZm9ybSBjb250cm9sIGNoYW5nZSBldmVudCBvbmNlIHRoZSBmb3JtIGNvbnRyb2wgaXMgcmVhZHkgb24gbmdBZnRlclZpZXdJbml0IGJ5IGNhbGxpbmcgb25WYWx1ZUNoYW5nZXMgbWV0aG9kLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9ucz8ubGVuZ3RoKVxyXG4gICAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgdGhpcy5vblZhbHVlQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBhbiBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlIGNoYW5nZSBldmVudCB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkIGFuZCB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gbWluQ2hhclRvU2VhcmNoIG9yIGVxdWFsIHRvIHplcm8uXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25WYWx1ZUNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBmcm9tRXZlbnQodGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8ubmF0aXZlRWxlbWVudCwgJ2tleXVwJylcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgbWFwKChldmVudDogYW55KSA9PiBldmVudD8udGFyZ2V0Py52YWx1ZSksXHJcbiAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICAgIChyZXM6IGFueSkgPT5cclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggPFxyXG4gICAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5hdXRvY29tcGxldGU/Lm1pbkNoYXJUb1NlYXJjaCAmJlxyXG4gICAgICAgICAgICByZXM/Lmxlbmd0aCAhPT0gMFxyXG4gICAgICAgICksXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuYXV0b2NvbXBsZXRlQ29uc3RJbmZvPy5hdXRvY29tcGxldGU/LmRlYm91bmNlVGltZSlcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0ZXh0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBpZiAodGV4dCA9PT0gJycpIHRoaXMuaGFuZGxlRmllbGRFcnJvcigpO1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlLmVtaXQodGV4dCk7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ3JvdXA/LmNvbnRyb2xzW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0/LnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgICAgZmlsdGVyKFxyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICAgIChyZXM6IGFueSkgPT5cclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggPj1cclxuICAgICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5taW5DaGFyVG9TZWFyY2ggfHxcclxuICAgICAgICAgICAgcmVzPy5sZW5ndGggPT09IDBcclxuICAgICAgICApLFxyXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmF1dG9jb21wbGV0ZUNvbnN0SW5mbz8uYXV0b2NvbXBsZXRlPy5kZWJvdW5jZVRpbWUpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgodGV4dDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlLmVtaXQodGV4dCk7XHJcbiAgICAgICAgaWYgKHRleHQgPT09ICcnKSB0aGlzLmhhbmRsZUZpZWxkRXJyb3IoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZpZWxkIGVycm9yIGJ5IHNldHRpbmcgdGhlIGFwcHJvcHJpYXRlIGZvcm0gY29udHJvbCBlcnJvcnMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgaGFuZGxlRmllbGRFcnJvcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZ3JvdXA/LmNvbnRyb2xzW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0/LnNldFZhbHVlKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uc1xyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9ucz8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoe1xyXG4gICAgICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBZGRzIGEgbmV3bHkgZW50ZXJlZCBvcHRpb24gdG8gdGhlIHNlbGVjdGVkT3B0aW9ucyBhcnJheS5cclxuICAgKiBAcGFyYW0geyp9IGV2ZW50IC1UaGUgZXZlbnQgY29udGFpbmluZyB0aGUgaW5wdXQgYW5kIHZhbHVlLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGFkZChldmVudDogTWF0Q2hpcElucHV0RXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZU9wdGlvbkxpc3QubGVuZ3RoKSByZXR1cm47XHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSk7XHJcbiAgICBjb25zdCBpbnB1dCA9IGV2ZW50Py5jaGlwSW5wdXQ/LmlucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50Py52YWx1ZSB8fCAnJykudHJpbSgpO1xyXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuO1xyXG4gICAgY29uc3QgbWluTGVuZ3RoID0gY29udHJvbD8uZXJyb3JzPy5bJ21pbmxlbmd0aCddPy5yZXF1aXJlZExlbmd0aDtcclxuICAgIGNvbnN0IG1heExlbmd0aCA9IGNvbnRyb2w/LmVycm9ycz8uWydtYXhsZW5ndGgnXT8ucmVxdWlyZWRMZW5ndGg7XHJcbiAgICBpZiAoXHJcbiAgICAgICh2YWx1ZS5sZW5ndGggPj0gbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8PSBtYXhMZW5ndGgpIHx8XHJcbiAgICAgIChtaW5MZW5ndGggPT09IHVuZGVmaW5lZCAmJiBtYXhMZW5ndGggPT09IHVuZGVmaW5lZClcclxuICAgICkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKHsgaWQ6ICcnLCBuYW1lOiB2YWx1ZSB9KTtcclxuICAgICAgaWYgKGlucHV0KSBpbnB1dC52YWx1ZSA9ICcnO1xyXG4gICAgICB0aGlzLmZvcm1hdFNlbGVjdGVkT3B0aW9uKHRoaXMuc2VsZWN0ZWRPcHRpb25zKTtcclxuICAgIH1cclxuICB9XHJcbiAgLyoqXHJcbiAgICogUmVtb3ZlcyBhIHNlbGVjdGVkIG9wdGlvbiBmcm9tIHRoZSBzZWxlY3RlZE9wdGlvbnMgYXJyYXkuXHJcbiAgICogQHBhcmFtIHtTZWxlY3RPcHRpb259IHJlbW92ZWRPcHRpb24gLVRoZSBvcHRpb24gdG8gcmVtb3ZlLlxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uT3B0aW9uUmVtb3ZlZChyZW1vdmVkT3B0aW9uOiBTZWxlY3RPcHRpb24pOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM/LmZpbmRJbmRleChcclxuICAgICAgKG9wdGlvbjogU2VsZWN0T3B0aW9uKSA9PiBvcHRpb24uaWQgPT09IHJlbW92ZWRPcHRpb24uaWRcclxuICAgICk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucz8uc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9ucz8ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAudmFsdWVbdGhpcy5jb25maWc/LmNvbnRyb2xOYW1lXSA9ICcnO1xyXG4gICAgICB0aGlzLmdyb3VwPy5jb250cm9sc1t0aGlzLmNvbmZpZz8uY29udHJvbE5hbWVdLnNldFZhbHVlKCcnKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcclxuICAgICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25MaXN0ID0gW107XHJcbiAgICAgIHRoaXMuaGFuZGxlRmllbGRFcnJvcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtYXRTZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBzZWxlY3Rpb24gb2YgYW4gYXV0b2NvbXBsZXRlIG9wdGlvbi5cclxuICAgKiBAcGFyYW0ge0F1dG9Db21wbGV0ZU9wdGlvbn0gb3B0aW9uICAtVGhlIHNlbGVjdGVkIGF1dG9jb21wbGV0ZSBvcHRpb24uXHJcbiAgICogQHJldHVybiB7QXV0b0NvbXBsZXRlT3B0aW9ufVxyXG4gICAqIEBtZW1iZXJvZiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgb25DaGFuZ2Uob3B0aW9uOiBhbnkpOiBBdXRvQ29tcGxldGVPcHRpb24ge1xyXG4gICAgY29uc3QgdmFsdWUgPSBvcHRpb24/LnZhbHVlO1xyXG4gICAgaWYgKHRoaXMuaXNDaGVja2JveFNlbGVjdGVkKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm9uT3B0aW9uUmVtb3ZlZCh2YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKHZhbHVlKTtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybWF0U2VsZWN0ZWRPcHRpb24odGhpcy5zZWxlY3RlZE9wdGlvbnMpO1xyXG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcclxuICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXRzIHRoZSBzZWxlY3RlZCBvcHRpb25zIGFuZCBlbWl0cyB0aGUgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCBldmVudC5cclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbltdfSBzZWxlY3RlZE9wdGlvbnMgLUFycmF5IG9mIHNlbGVjdGVkIG9wdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZm9ybWF0U2VsZWN0ZWRPcHRpb24oc2VsZWN0ZWRPcHRpb25zOiBTZWxlY3RPcHRpb25bXSkge1xyXG4gICAgY29uc3QgZm9ybWF0dGVkT3B0aW9ucyA9IHNlbGVjdGVkT3B0aW9ucz8ubWFwKChvcHRpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBpZDogb3B0aW9uLmlkLFxyXG4gICAgICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkPy5lbWl0KGZvcm1hdHRlZE9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGlzcGxheXMgdGhlIG5hbWUgb2YgdGhlIG9wdGlvblxyXG4gICAqIEBwYXJhbSB7QXV0b0NvbXBsZXRlT3B0aW9ufSBvcHRpb25cclxuICAgKiBAcmV0dXJuIHsqfSAge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBkaXNwbGF5T3B0aW9uTmFtZShvcHRpb246IEF1dG9Db21wbGV0ZU9wdGlvbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gb3B0aW9uPy5uYW1lID8gb3B0aW9uLm5hbWUgOiAnJztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRyYWNrcyB0aGUgb3B0aW9uIGJ5IGl0cyBpbmRleCBvciBpZC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge1NlbGVjdE9wdGlvbn0gb3B0aW9uXHJcbiAgICogQHJldHVybiB7Kn0gIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgb3B0aW9uOiBTZWxlY3RPcHRpb24pOiBudW1iZXIgfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG9wdGlvbi5pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoZWNrcyBpZiB0aGUgY2hlY2tib3ggaXMgc2VsZWN0ZWQuXHJcbiAgICogQHBhcmFtIHtBdXRvQ29tcGxldGVPcHRpb259IG9wdGlvblxyXG4gICAqIEByZXR1cm4geyp9ICB7Ym9vbGVhbn1cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBpc0NoZWNrYm94U2VsZWN0ZWQob3B0aW9uOiBBdXRvQ29tcGxldGVPcHRpb24pOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ucz8uc29tZSgoaXRlbSkgPT4gaXRlbS5pZCA9PT0gb3B0aW9uLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENsZWFycyBhbGwgc2VsZWN0ZWQgb3B0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnRcclxuICAgKi9cclxuICBjbGVhclNlbGVjdGlvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdyb3VwLnZhbHVlW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0gPSAnJztcclxuICAgIHRoaXMuZ3JvdXA/LmNvbnRyb2xzW3RoaXMuY29uZmlnPy5jb250cm9sTmFtZV0uc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSBbXTtcclxuICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9uTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5mb3JtYXRTZWxlY3RlZE9wdGlvbih0aGlzLnNlbGVjdGVkT3B0aW9ucyk7XHJcbiAgICB0aGlzLmhhbmRsZUZpZWxkRXJyb3IoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImllZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlXCJcclxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAqbmdJZj1cImdyb3VwXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGNvbmZpZy5pc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGUtZmllbGRfX2xhYmVsLWxlZnQnXHJcbiAgICAgIDogJ2llZWVzYS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLWZpZWxkX19sYWJlbC10b3AnXHJcbiAgXCJcclxuPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fbGFiZWxcIlxyXG4gICAgPnt7IGNvbmZpZy5sYWJlbCB9fTwvbWF0LWxhYmVsXHJcbiAgPlxyXG4gIDxtYXQtZm9ybS1maWVsZFxyXG4gICAgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fbWF0LWZvcm0tZmllbGRcIlxyXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxyXG4gID5cclxuICAgIDxtYXQtY2hpcC1ncmlkXHJcbiAgICAgICNjaGlwR3JpZFxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImF1dG9jb21wbGV0ZUNvbnN0SW5mbz8ubXVsdGlTZWxlY3RBdXRvQ29tcGxldGU/LmFyaWFMYWJlbD8uc2VsZWN0ZWRPcHRpb25zXCJcclxuICAgID5cclxuICAgICAgPG1hdC1jaGlwLXJvd1xyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygc2VsZWN0ZWRPcHRpb25zOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uPy5uYW1lXCJcclxuICAgICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIChyZW1vdmVkKT1cIm9uT3B0aW9uUmVtb3ZlZChvcHRpb24pXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxwXHJcbiAgICAgICAgICBpZWVlc2FUZXh0VHJ1bmNhdGVkXHJcbiAgICAgICAgICBbbWF0VG9vbHRpcF09XCJvcHRpb24ubmFtZVwiXHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1sYWJlbC1sZy1ib2xkLTE2IG0tMFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cclxuICAgICAgICA8L3A+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgbWF0Q2hpcFJlbW92ZVxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRvY29tcGxldGVDb25zdEluZm8/Lm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlPy5hcmlhTGFiZWw/LnJlbW92ZU9wdGlvbiArIG9wdGlvbi5uYW1lXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWVlZXNhLWNoaXBfX3N2Zy1hdmF0YXJcIiBtYXRDaGlwQXZhdGFyPlxyXG4gICAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwicmVtb3ZlSWNvblVSTFwiPjwvdXNlPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgPC9tYXQtY2hpcC1ncmlkPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGVfX2lucHV0IGllZWVzYS10aXRsZS1zbS0xNlwiXHJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlciA/PyAnJ1wiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgW25hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcuYXJpYUxhYmVsXCJcclxuICAgICAgW2FyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeUlkID8/ICcnXCJcclxuICAgICAgI211bHRpU2VsZWN0QXV0b0NvbXBsZXRlXHJcbiAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIlxyXG4gICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiYWRkKCRldmVudClcIlxyXG4gICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBHcmlkXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZVxyXG4gICAgICAjbWF0QXV0b2NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCJcclxuICAgICAgKG9wdGlvblNlbGVjdGVkKT1cIm9uQ2hhbmdlKCRldmVudC5vcHRpb24pXCJcclxuICAgICAgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlPcHRpb25OYW1lXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fYXV0b2NvbXBsZXRlLWxpc3RcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LW9wdGlvblxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgYXV0b0NvbXBsZXRlT3B0aW9uTGlzdDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggY29sb3I9XCJwcmltYXJ5XCIgW2NoZWNrZWRdPVwiaXNDaGVja2JveFNlbGVjdGVkKG9wdGlvbilcIj5cclxuICAgICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICBtYXRTdWZmaXhcclxuICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgIFttYXRUb29sdGlwXT1cImNsZWFyQWxsXCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhdXRvY29tcGxldGVDb25zdEluZm8uYXJpYUxhYmVsLmNsZWFyXCJcclxuICAgICAgKm5nSWY9XCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMFwiXHJcbiAgICAgIChjbGljayk9XCJjbGVhclNlbGVjdGlvbnMoKVwiXHJcbiAgICA+XHJcbiAgICAgIDxzdmcgY2xhc3M9XCJpZWVlc2EtbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZV9fc3ZnLWNsZWFyLWFsbFwiPlxyXG4gICAgICAgIDx1c2UgW2F0dHIueGxpbms6aHJlZl09XCJjbGVhckFsbEljb25VUkxcIj48L3VzZT5cclxuICAgICAgPC9zdmc+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxpZWVlc2EtZm9ybS1lcnJvciBbZm9ybUdyb3VwXT1cImdyb3VwXCIgW2NvbmZpZ109XCJjb25maWdcIj4gPC9pZWVlc2EtZm9ybS1lcnJvcj5cclxuICA8aWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0XHJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICA+PC9pZWVlc2EtZm9ybS1zdXBwb3J0LXRleHQ+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -78,6 +78,15 @@ export class DynamicFormFieldDirective {
|
|
|
78
78
|
}
|
|
79
79
|
this._filesUploadedSuccessfullyCount = value;
|
|
80
80
|
}
|
|
81
|
+
get filesNamesUploadFailed() {
|
|
82
|
+
return this._filesNamesUploadFailed;
|
|
83
|
+
}
|
|
84
|
+
set filesNamesUploadFailed(value) {
|
|
85
|
+
if (this.component?.instance) {
|
|
86
|
+
this.component.instance.filesNamesUploadFailed = value;
|
|
87
|
+
}
|
|
88
|
+
this._filesNamesUploadFailed = value;
|
|
89
|
+
}
|
|
81
90
|
/**
|
|
82
91
|
* Sets the submit response of form submit event
|
|
83
92
|
* @memberof DynamicFormFieldDirective
|
|
@@ -160,6 +169,8 @@ export class DynamicFormFieldDirective {
|
|
|
160
169
|
this.component.instance.searchResponse = this.searchResponse;
|
|
161
170
|
this.component.instance.filesUploadedSuccessfullyCount =
|
|
162
171
|
this.filesUploadedSuccessfullyCount;
|
|
172
|
+
this.component.instance.filesNamesUploadFailed =
|
|
173
|
+
this.filesNamesUploadFailed;
|
|
163
174
|
if (this.config.type === FormControlType.SEARCH) {
|
|
164
175
|
this.component.instance.searchValue
|
|
165
176
|
?.pipe(takeUntil(this.destroy$))
|
|
@@ -325,7 +336,7 @@ export class DynamicFormFieldDirective {
|
|
|
325
336
|
this.destroy$.unsubscribe();
|
|
326
337
|
}
|
|
327
338
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormFieldDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
328
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DynamicFormFieldDirective, isStandalone: true, selector: "[ieeesaDynamicFormField]", inputs: { config: "config", group: "group", filesUploadedSuccessfullyCount: "filesUploadedSuccessfullyCount", submitResponse: "submitResponse", searchResponse: "searchResponse" }, outputs: { formSearchApply: "formSearchApply", formDropdownSelected: "formDropdownSelected", formDateSelected: "formDateSelected", formTimeSelected: "formTimeSelected", formSelectedDateRange: "formSelectedDateRange", formSelectSearch: "formSelectSearch", formAutoCompleteSearch: "formAutoCompleteSearch", autoCompleteClearSearchValue: "autoCompleteClearSearchValue", autoCompleteOptionSelected: "autoCompleteOptionSelected", formCheckboxSelection: "formCheckboxSelection", formInputValue: "formInputValue", addFormGroup: "addFormGroup", supportTextLinkClick: "supportTextLinkClick", formSlideToggleChange: "formSlideToggleChange", dropdownOpenedChange: "dropdownOpenedChange", formColorPickerChange: "formColorPickerChange", formFileUpload: "formFileUpload", formRadioOptionSelected: "formRadioOptionSelected", ctaButtonClick: "ctaButtonClick", formMultiSelectAutoCompleteSearch: "formMultiSelectAutoCompleteSearch", multiSelectAutoCompleteClearSearchValue: "multiSelectAutoCompleteClearSearchValue", multiSelectAutoCompleteOptionsSelected: "multiSelectAutoCompleteOptionsSelected", formRichTextEditorContentChange: "formRichTextEditorContentChange" }, ngImport: i0 }); }
|
|
339
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DynamicFormFieldDirective, isStandalone: true, selector: "[ieeesaDynamicFormField]", inputs: { config: "config", group: "group", filesUploadedSuccessfullyCount: "filesUploadedSuccessfullyCount", filesNamesUploadFailed: "filesNamesUploadFailed", submitResponse: "submitResponse", searchResponse: "searchResponse" }, outputs: { formSearchApply: "formSearchApply", formDropdownSelected: "formDropdownSelected", formDateSelected: "formDateSelected", formTimeSelected: "formTimeSelected", formSelectedDateRange: "formSelectedDateRange", formSelectSearch: "formSelectSearch", formAutoCompleteSearch: "formAutoCompleteSearch", autoCompleteClearSearchValue: "autoCompleteClearSearchValue", autoCompleteOptionSelected: "autoCompleteOptionSelected", formCheckboxSelection: "formCheckboxSelection", formInputValue: "formInputValue", addFormGroup: "addFormGroup", supportTextLinkClick: "supportTextLinkClick", formSlideToggleChange: "formSlideToggleChange", dropdownOpenedChange: "dropdownOpenedChange", formColorPickerChange: "formColorPickerChange", formFileUpload: "formFileUpload", formRadioOptionSelected: "formRadioOptionSelected", ctaButtonClick: "ctaButtonClick", formMultiSelectAutoCompleteSearch: "formMultiSelectAutoCompleteSearch", multiSelectAutoCompleteClearSearchValue: "multiSelectAutoCompleteClearSearchValue", multiSelectAutoCompleteOptionsSelected: "multiSelectAutoCompleteOptionsSelected", formRichTextEditorContentChange: "formRichTextEditorContentChange" }, ngImport: i0 }); }
|
|
329
340
|
}
|
|
330
341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DynamicFormFieldDirective, decorators: [{
|
|
331
342
|
type: Directive,
|
|
@@ -339,6 +350,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
339
350
|
type: Input
|
|
340
351
|
}], filesUploadedSuccessfullyCount: [{
|
|
341
352
|
type: Input
|
|
353
|
+
}], filesNamesUploadFailed: [{
|
|
354
|
+
type: Input
|
|
342
355
|
}], submitResponse: [{
|
|
343
356
|
type: Input
|
|
344
357
|
}], searchResponse: [{
|
|
@@ -390,4 +403,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
390
403
|
}], formRichTextEditorContentChange: [{
|
|
391
404
|
type: Output
|
|
392
405
|
}] } });
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSXpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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QkFBOUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUNBQWlDO3NCQUExQyxNQUFNO2dCQUNHLHVDQUF1QztzQkFBaEQsTUFBTTtnQkFFRyxzQ0FBc0M7c0JBQS9DLE1BQU07Z0JBR0csK0JBQStCO3NCQUF4QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUeXBlLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NoZWNrYm94LW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEFkZEZvcm1Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYWRkLWZvcm0tZ3JvdXAvYWRkLWZvcm0tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0ZWREYXRlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlbGVjdGVkLWRhdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZFRpbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtdGltZS5tb2RlbCc7XHJcbmltcG9ydCB7IExpbmtFdmVudEVtaXRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V2ZW50LWVtaXQtdHlwZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNsaWRlVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zbGlkZS10b2dnbGUvc2xpZGUtdG9nZ2xlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNsaWRlVG9nZ2xlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NsaWRlLXRvZ2dsZS1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0T3BlbmVkU3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0LW9wZW5lZC1zdGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IENvbG9yUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jb2xvci1waWNrZXIvY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3JhZGlvLW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi9tb2RlbHMvaWNvbi1idXR0b24ubW9kZWwnO1xyXG5pbXBvcnQgeyBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZS9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZU9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hdXRvY29tcGxldGUtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcmljaC10ZXh0LWVkaXRvci5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgY29tcG9uZW50czogeyBbdHlwZTogc3RyaW5nXTogVHlwZTxGb3JtRmllbGQ+IH0gPSB7XHJcbiAgW0Zvcm1Db250cm9sVHlwZS5JTlBVVF06IElucHV0Q29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuVEVYVF9BUkVBXTogVGV4dEFyZWFDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5TRUxFQ1RdOiBTZWxlY3RDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5TRUFSQ0hdOiBTZWFyY2hDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5EQVRFXTogRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkNIRUNLQk9YXTogQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5SQURJT106IFJhZGlvQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQVVUT19DT01QTEVURV06IEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkFERF9GT1JNX0dST1VQXTogQWRkRm9ybUdyb3VwQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuVElNRV9QSUNLRVJdOiBUaW1lUGlja2VyQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuU0xJREVfVE9HR0xFXTogU2xpZGVUb2dnbGVDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5DT0xPUl9QSUNLRVJdOiBDb2xvclBpY2tlckNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkZJTEVfVVBMT0FEXTogRmlsZVVwbG9hZENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLk1VTFRJX1NFTEVDVF9BVVRPX0NPTVBMRVRFXTpcclxuICAgIE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuUklDSF9URVhUX0VESVRPUl06IFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG59O1xyXG5cclxuLyoqXHJcbiAqIFByb3ZpZGVzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlIHdoaWNoIGhvc3RzIGFuZCBjcmVhdGVzIHRoZSBmb3JtIGZpZWxkcyBjb21wb25lbnRzIGR5bmFtaWNhbGx5LlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAqIEBpbXBsZW1lbnRzIHtGb3JtRmllbGR9XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkRlc3Ryb3l9XHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZWVlc2FEeW5hbWljRm9ybUZpZWxkXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUgaW1wbGVtZW50cyBGb3JtRmllbGQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSBfY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgcHJpdmF0ZSBfZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZm9ybSBmaWVsZCBjb25maWd1cmF0aW9uXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBjb25maWcodmFsdWU6IEZpZWxkQ29uZmlnKSB7XHJcbiAgICB0aGlzLl9jb25maWcgPSB2YWx1ZTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudCkge1xyXG4gICAgICB0aGlzLmxvYWRDb21wb25lbnQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGNvbmZpZygpOiBGaWVsZENvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZm9ybSBncm91cFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZ3JvdXAodmFsdWU6IEZvcm1Hcm91cCkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5ncm91cCA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZ3JvdXAgPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IGdyb3VwKCk6IEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ3JvdXA7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudCA9IDA7XHJcblxyXG4gIEBJbnB1dCgpIGdldCBmaWxlc1VwbG9hZGVkU3VjY2Vzc2Z1bGx5Q291bnQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9maWxlc1VwbG9hZGVkU3VjY2Vzc2Z1bGx5Q291bnQ7XHJcbiAgfVxyXG4gIHNldCBmaWxlc1VwbG9hZGVkU3VjY2Vzc2Z1bGx5Q291bnQodmFsdWU6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5maWxlc1VwbG9hZGVkU3VjY2Vzc2Z1bGx5Q291bnQgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2ZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zdWJtaXRSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzdWJtaXQgcmVzcG9uc2Ugb2YgZm9ybSBzdWJtaXQgZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc3VibWl0UmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zdWJtaXRSZXNwb25zZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc3VibWl0UmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc3VibWl0UmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtaXRSZXNwb25zZTtcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfc2VhcmNoUmVzcG9uc2UhOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZm9ybSBzZWFyY2ggcmVzcG9uc2Ugb2YgZm9ybSBzZWFyY2ggYXBwbHkuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0IHNlYXJjaFJlc3BvbnNlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoUmVzcG9uc2UgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlYXJjaFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0IHNlYXJjaFJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZm9ybVNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybURyb3Bkb3duU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZERhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1UaW1lU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkVGltZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdGVkRGF0ZVJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzdGFydERhdGU6IHN0cmluZztcclxuICAgIGVuZERhdGU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2VsZWN0U2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWFyY2hFdmVudDogRXZlbnQ7XHJcbiAgICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1BdXRvQ29tcGxldGVTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBhdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1DaGVja2JveFNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1JbnB1dFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIGFkZEZvcm1Hcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIHN1cHBvcnRUZXh0TGlua0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMaW5rRXZlbnRFbWl0VHlwZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNsaWRlVG9nZ2xlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTbGlkZVRvZ2dsZU9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wZW5lZFN0YXRlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ29sb3JQaWNrZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjdGFCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SWNvbkJ1dHRvbj4oKTtcclxuICBAT3V0cHV0KCkgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgQXV0b0NvbXBsZXRlT3B0aW9uW11cclxuICA+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbXBvbmVudCE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gY2FsbCBsb2FkQ29tcG9uZW50cyBtZXRob2QuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyB0aGUgY29tcG9uZW50IGR5bmFtaWNhbGx5IGFuZCBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2UgcHJvcGVydGllcyBvZiBjcmVhdGVkIGNvbXBvbmVudCwgYWxzbyBoYW5kbGVzIHRoZSBjcmVhdGVkIGNvbXBvbmVudCBldmVudHMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBsb2FkQ29tcG9uZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKCFjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXSkge1xyXG4gICAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudHMpLmpvaW4oJywgJyk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuY29uZmlnLnR5cGV9KS5cclxuICAgICAgICAgICAgU3VwcG9ydGVkIHR5cGVzOiAke3N1cHBvcnRlZFR5cGVzfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXVxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc3VibWl0UmVzcG9uc2UgPSB0aGlzLnN1Ym1pdFJlc3BvbnNlO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWFyY2hSZXNwb25zZSA9IHRoaXMuc2VhcmNoUmVzcG9uc2U7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudCA9XHJcbiAgICAgICAgdGhpcy5maWxlc1VwbG9hZGVkU3VjY2Vzc2Z1bGx5Q291bnQ7XHJcblxyXG4gICAgICBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlNFQVJDSCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TZWFyY2hBcHBseS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5DSEVDS0JPWCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmNoZWNrYm94U2VsZWN0aW9uXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBDaGVja2JveE9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1DaGVja2JveFNlbGVjdGlvbi5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmN0YUJ1dHRvbkNsaWNrXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBJY29uQnV0dG9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY3RhQnV0dG9uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuU0VMRUNUKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uub3B0aW9uU2VsZWN0ZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybURyb3Bkb3duU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5vcHRpb25TZWFyY2hlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2VsZWN0U2VhcmNoLmVtaXQoe1xyXG4gICAgICAgICAgICAgIHNlYXJjaEV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogdGhpcy5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZHJvcGRvd25PcGVuZWRDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IFNlbGVjdE9wZW5lZFN0YXRlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25PcGVuZWRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuREFURSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlbGVjdGVkRGF0ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybURhdGVTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICAgICAgICBkYXRlOiBldmVudCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogdGhpcy5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWREYXRlUmFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHsgc3RhcnREYXRlOiBzdHJpbmc7IGVuZERhdGU6IHN0cmluZyB9KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlbGVjdGVkRGF0ZVJhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkFVVE9fQ09NUExFVEUpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hdXRvQ29tcGxldGVTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUF1dG9Db21wbGV0ZVNlYXJjaC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5NVUxUSV9TRUxFQ1RfQVVUT19DT01QTEVURVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2guZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBBdXRvQ29tcGxldGVPcHRpb25bXSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlT3B0aW9uc1NlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlRJTUVfUElDS0VSKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZm9ybVRpbWVTZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVRpbWVTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICAgICAgICB0aW1lOiBldmVudCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29uZmlnLmNvbnRyb2xOYW1lLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5JTlBVVCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmlucHV0VmFsdWVDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZyB8IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1JbnB1dFZhbHVlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkFERF9GT1JNX0dST1VQKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuYWRkRm9ybUdyb3VwXHJcbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hZGRGb3JtR3JvdXAuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuVEVYVF9BUkVBKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlPy5zdXBwb3J0VGV4dExpbmtDbGlja1xyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogTGlua0V2ZW50RW1pdFR5cGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zdXBwb3J0VGV4dExpbmtDbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5TTElERV9UT0dHTEUpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zbGlkZVRvZ2dsZUNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogU2xpZGVUb2dnbGVPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2xpZGVUb2dnbGVDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29sb3JQaWNrZXJDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db2xvclBpY2tlckNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5GSUxFX1VQTE9BRCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnVwbG9hZFNlbGVjdGVkRmlsZXNcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEZpbGUgfCBGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1GaWxlVXBsb2FkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlJBRElPKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWRSYWRpb09wdGlvblxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogUmFkaW9PcHRpb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUmFkaW9PcHRpb25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5SSUNIX1RFWFRfRURJVE9SKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UucmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
406
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSXpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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S0FBSztnQkFhSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFJRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBSUcsc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLDRCQUE0QjtzQkFBckMsTUFBTTtnQkFDRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxpQ0FBaUM7c0JBQTFDLE1BQU07Z0JBQ0csdUNBQXVDO3NCQUFoRCxNQUFNO2dCQUVHLHNDQUFzQztzQkFBL0MsTUFBTTtnQkFHRywrQkFBK0I7c0JBQXhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudFJlZixcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFR5cGUsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmllbGQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcmFkaW8vcmFkaW8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgQ2hlY2tib3hPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY2hlY2tib3gtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgQWRkRm9ybUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hZGQtZm9ybS1ncm91cC9hZGQtZm9ybS1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZERhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtZGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkVGltZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3RlZC10aW1lLm1vZGVsJztcclxuaW1wb3J0IHsgTGlua0V2ZW50RW1pdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS9zbGlkZS10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2xpZGUtdG9nZ2xlLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcGVuZWRTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFkaW8tb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uL21vZGVscy9pY29uLWJ1dHRvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBjb21wb25lbnRzOiB7IFt0eXBlOiBzdHJpbmddOiBUeXBlPEZvcm1GaWVsZD4gfSA9IHtcclxuICBbRm9ybUNvbnRyb2xUeXBlLklOUFVUXTogSW5wdXRDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5URVhUX0FSRUFdOiBUZXh0QXJlYUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlNFTEVDVF06IFNlbGVjdENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlNFQVJDSF06IFNlYXJjaENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkRBVEVdOiBEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQ0hFQ0tCT1hdOiBDaGVja2JveENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlJBRElPXTogUmFkaW9Db21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5BVVRPX0NPTVBMRVRFXTogQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQUREX0ZPUk1fR1JPVVBdOiBBZGRGb3JtR3JvdXBDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5USU1FX1BJQ0tFUl06IFRpbWVQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5TTElERV9UT0dHTEVdOiBTbGlkZVRvZ2dsZUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkNPTE9SX1BJQ0tFUl06IENvbG9yUGlja2VyQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQURdOiBGaWxlVXBsb2FkQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuTVVMVElfU0VMRUNUX0FVVE9fQ09NUExFVEVdOlxyXG4gICAgTXVsdGlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5SSUNIX1RFWFRfRURJVE9SXTogUmljaFRleHRFZGl0b3JDb21wb25lbnQsXHJcbn07XHJcblxyXG4vKipcclxuICogUHJvdmlkZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUgd2hpY2ggaG9zdHMgYW5kIGNyZWF0ZXMgdGhlIGZvcm0gZmllbGRzIGNvbXBvbmVudHMgZHluYW1pY2FsbHkuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICogQGltcGxlbWVudHMge0Zvcm1GaWVsZH1cclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICogQGltcGxlbWVudHMge09uRGVzdHJveX1cclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2llZWVzYUR5bmFtaWNGb3JtRmllbGRdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIEZvcm1GaWVsZCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwcml2YXRlIF9jb25maWchOiBGaWVsZENvbmZpZztcclxuICBwcml2YXRlIF9ncm91cCE6IEZvcm1Hcm91cDtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBmb3JtIGZpZWxkIGNvbmZpZ3VyYXRpb25cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGNvbmZpZyh2YWx1ZTogRmllbGRDb25maWcpIHtcclxuICAgIHRoaXMuX2NvbmZpZyA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50KSB7XHJcbiAgICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXQgY29uZmlnKCk6IEZpZWxkQ29uZmlnIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBmb3JtIGdyb3VwXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBncm91cCh2YWx1ZTogRm9ybUdyb3VwKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9ncm91cCA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgZ3JvdXAoKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiB0aGlzLl9ncm91cDtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmlsZXNVcGxvYWRlZFN1Y2Nlc3NmdWxseUNvdW50ID0gMDtcclxuXHJcbiAgQElucHV0KCkgZ2V0IGZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudDtcclxuICB9XHJcbiAgc2V0IGZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudCA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZmlsZXNVcGxvYWRlZFN1Y2Nlc3NmdWxseUNvdW50ID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbGVzTmFtZXNVcGxvYWRGYWlsZWQhOiBzdHJpbmdbXTtcclxuXHJcbiAgQElucHV0KCkgZ2V0IGZpbGVzTmFtZXNVcGxvYWRGYWlsZWQoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVzTmFtZXNVcGxvYWRGYWlsZWQ7XHJcbiAgfVxyXG4gIHNldCBmaWxlc05hbWVzVXBsb2FkRmFpbGVkKHZhbHVlOiBzdHJpbmdbXSkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5maWxlc05hbWVzVXBsb2FkRmFpbGVkID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9maWxlc05hbWVzVXBsb2FkRmFpbGVkID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHByaXZhdGUgX3N1Ym1pdFJlc3BvbnNlITogYW55O1xyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHN1Ym1pdCByZXNwb25zZSBvZiBmb3JtIHN1Ym1pdCBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHNldCBzdWJtaXRSZXNwb25zZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnN1Ym1pdFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9zdWJtaXRSZXNwb25zZSA9IHZhbHVlO1xyXG4gIH1cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldCBzdWJtaXRSZXNwb25zZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1pdFJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zZWFyY2hSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBmb3JtIHNlYXJjaCByZXNwb25zZSBvZiBmb3JtIHNlYXJjaCBhcHBseS5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc2VhcmNoUmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWFyY2hSZXNwb25zZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2VhcmNoUmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc2VhcmNoUmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXNwb25zZTtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSBmb3JtU2VhcmNoQXBwbHkgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRHJvcGRvd25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1EYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkRGF0ZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVRpbWVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0ZWRUaW1lPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2VsZWN0ZWREYXRlUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gICAgZW5kRGF0ZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1TZWxlY3RTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHNlYXJjaEV2ZW50OiBFdmVudDtcclxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUF1dG9Db21wbGV0ZVNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBhdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUNoZWNrYm94U2VsZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDaGVja2JveE9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUlucHV0VmFsdWUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcclxuICBAT3V0cHV0KCkgYWRkRm9ybUdyb3VwID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgc3VwcG9ydFRleHRMaW5rQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtFdmVudEVtaXRUeXBlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2xpZGVUb2dnbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNsaWRlVG9nZ2xlT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBkcm9wZG93bk9wZW5lZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0T3BlbmVkU3RhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1Db2xvclBpY2tlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRmlsZVVwbG9hZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtUmFkaW9PcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UmFkaW9PcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGN0YUJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxJY29uQnV0dG9uPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtTXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBtdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnNTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBBdXRvQ29tcGxldGVPcHRpb25bXVxyXG4gID4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVJpY2hUZXh0RWRpdG9yQ29udGVudENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgY29tcG9uZW50ITogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25Jbml0IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byBjYWxsIGxvYWRDb21wb25lbnRzIG1ldGhvZC5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkQ29tcG9uZW50KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGVzIHRoZSBjb21wb25lbnQgZHluYW1pY2FsbHkgYW5kIGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBwcm9wZXJ0aWVzIG9mIGNyZWF0ZWQgY29tcG9uZW50LCBhbHNvIGhhbmRsZXMgdGhlIGNyZWF0ZWQgY29tcG9uZW50IGV2ZW50cy5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIGxvYWRDb21wb25lbnQoKTogdm9pZCB7XHJcbiAgICBpZiAoIWNvbXBvbmVudHNbdGhpcy5jb25maWc/LnR5cGVdKSB7XHJcbiAgICAgIGNvbnN0IHN1cHBvcnRlZFR5cGVzID0gT2JqZWN0LmtleXMoY29tcG9uZW50cykuam9pbignLCAnKTtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgIGBUcnlpbmcgdG8gdXNlIGFuIHVuc3VwcG9ydGVkIHR5cGUgKCR7dGhpcy5jb25maWcudHlwZX0pLlxyXG4gICAgICAgICAgICBTdXBwb3J0ZWQgdHlwZXM6ICR7c3VwcG9ydGVkVHlwZXN9YFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb21wb25lbnQgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoXHJcbiAgICAgIGNvbXBvbmVudHNbdGhpcy5jb25maWc/LnR5cGVdXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcgPSB0aGlzLmNvbmZpZztcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB0aGlzLmdyb3VwO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zdWJtaXRSZXNwb25zZSA9IHRoaXMuc3VibWl0UmVzcG9uc2U7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlYXJjaFJlc3BvbnNlID0gdGhpcy5zZWFyY2hSZXNwb25zZTtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZmlsZXNVcGxvYWRlZFN1Y2Nlc3NmdWxseUNvdW50ID1cclxuICAgICAgICB0aGlzLmZpbGVzVXBsb2FkZWRTdWNjZXNzZnVsbHlDb3VudDtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZmlsZXNOYW1lc1VwbG9hZEZhaWxlZCA9XHJcbiAgICAgICAgdGhpcy5maWxlc05hbWVzVXBsb2FkRmFpbGVkO1xyXG5cclxuICAgICAgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5TRUFSQ0gpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2VhcmNoQXBwbHkuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQ0hFQ0tCT1gpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jaGVja2JveFNlbGVjdGlvblxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogQ2hlY2tib3hPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ2hlY2tib3hTZWxlY3Rpb24uZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jdGFCdXR0b25DbGlja1xyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogSWNvbkJ1dHRvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmN0YUJ1dHRvbkNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlNFTEVDVCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm9wdGlvblNlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Ecm9wZG93blNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uub3B0aW9uU2VhcmNoZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlbGVjdFNlYXJjaC5lbWl0KHtcclxuICAgICAgICAgICAgICBzZWFyY2hFdmVudDogZXZlbnQsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6IHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmRyb3Bkb3duT3BlbmVkQ2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBTZWxlY3RPcGVuZWRTdGF0ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duT3BlbmVkQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkRBVEUpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZERhdGVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1EYXRlU2VsZWN0ZWQuZW1pdCh7XHJcbiAgICAgICAgICAgICAgZGF0ZTogZXZlbnQsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6IHRoaXMuY29uZmlnLmNvbnRyb2xOYW1lLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlbGVjdGVkRGF0ZVJhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiB7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlOiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TZWxlY3RlZERhdGVSYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5BVVRPX0NPTVBMRVRFKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuYXV0b0NvbXBsZXRlU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1BdXRvQ29tcGxldGVTZWFyY2guZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuYXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChcclxuICAgICAgICB0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuTVVMVElfU0VMRUNUX0FVVE9fQ09NUExFVEVcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZUNsZWFyU2VhcmNoVmFsdWUuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnNTZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogQXV0b0NvbXBsZXRlT3B0aW9uW10pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tdWx0aVNlbGVjdEF1dG9Db21wbGV0ZU9wdGlvbnNTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5USU1FX1BJQ0tFUikge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZvcm1UaW1lU2VsZWN0ZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1UaW1lU2VsZWN0ZWQuZW1pdCh7XHJcbiAgICAgICAgICAgICAgdGltZTogZXZlbnQsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6IHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmNvbmZpZy5jb250cm9sTmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuSU5QVVQpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5pbnB1dFZhbHVlQ2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcgfCBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtSW5wdXRWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5BRERfRk9STV9HUk9VUCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmFkZEZvcm1Hcm91cFxyXG4gICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYWRkRm9ybUdyb3VwLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlRFWFRfQVJFQSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZT8uc3VwcG9ydFRleHRMaW5rQ2xpY2tcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IExpbmtFdmVudEVtaXRUeXBlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VwcG9ydFRleHRMaW5rQ2xpY2suZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuU0xJREVfVE9HR0xFKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2xpZGVUb2dnbGVDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IFNsaWRlVG9nZ2xlT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVNsaWRlVG9nZ2xlQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkNPTE9SX1BJQ0tFUikge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmNvbG9yUGlja2VyQ2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQ29sb3JQaWNrZXJDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQUQpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS51cGxvYWRTZWxlY3RlZEZpbGVzXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBGaWxlIHwgRmlsZUxpc3QpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRmlsZVVwbG9hZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5SQURJTykge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNlbGVjdGVkUmFkaW9PcHRpb25cclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IFJhZGlvT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuUklDSF9URVhUX0VESVRPUikge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnJpY2hUZXh0RWRpdG9yQ29udGVudENoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVJpY2hUZXh0RWRpdG9yQ29udGVudENoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uRGVzdHJveSBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gdW5zdWJzY3JpYmUgdGhlIG9wZW4gb2JzZXJ2YWJsZSBzdWJzY3JpcHRpb25zLlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWZpbGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9tb2RlbHMvZGVsZXRlLWZpbGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRmlsZVBheWxvYWQge1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgW2tleTogc3RyaW5nXTogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRmlsZVJlc3BvbnNlIHtcclxuICBzdGF0dXM6IGJvb2xlYW47XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG4gIGJvZHk6IHtcclxuICAgIG1lc3NhZ2U6IHN0cmluZztcclxuICB9O1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NoZWNrYm94LW9wdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IERhdGVQaWNrZXIgfSBmcm9tICcuLi9tb2RlbHMvZGF0ZS1waWNrZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBSYWRpb09wdGlvbiB9IGZyb20gJy4uL21vZGVscy9yYWRpby1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBTZWFyY2hUeXBlIH0gZnJvbSAnLi4vbW9kZWxzL3NlYXJjaC5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdE9wdGlvbiB9IGZyb20gJy4uL21vZGVscy9zZWxlY3Qtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBMaW5rVHlwZSB9IGZyb20gJy4vbGluay10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVPcHRpb24gfSBmcm9tICcuL3NsaWRlLXRvZ2dsZS1vcHRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgQ29sb3JGb3JtYXQsIENvbG9yc0FuaW1hdGlvbiB9IGZyb20gJy4vY29sb3ItZm9ybWF0Lm1vZGVsJztcclxuaW1wb3J0IHsgQWxsb3dlZEZpbGVUeXBlcyB9IGZyb20gJy4vYWxsb3dlZC1maWxlLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRWRpdG9yQ29uZmlnIH0gZnJvbSAnbmd4LXNpbXBsZS10ZXh0LWVkaXRvcic7XHJcbmltcG9ydCB7IFZpZXdGaWxlc0Zvcm1hdCB9IGZyb20gJy4vdmlldy1maWxlcy1mb3JtYXQubW9kZWwnO1xyXG5pbXBvcnQgeyBBbGlnblR5cGUgfSBmcm9tICcuL2FsaWduLXR5cGUubW9kZWwnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWVsZENvbmZpZyB7XHJcbiAgaXNTb3J0TmVlZGVkPzogYm9vbGVhbjtcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICBkcm9wZG93bk9wdGlvbnM/OiBTZWxlY3RPcHRpb25bXTtcclxuICBjaGVja2JveE9wdGlvbnM/OiBDaGVja2JveE9wdGlvbltdO1xyXG4gIGF1dG9Db21wbGV0ZU9wdGlvbnM/OiBBdXRvQ29tcGxldGVPcHRpb25bXTtcclxuICByYWRpb09wdGlvbnM/OiBSYWRpb09wdGlvbltdO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIHR5cGU6IHN0cmluZztcclxuICByZXF1aXJlZEVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBwYXR0ZXJuRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIGludmFsaWRFbWFpbEVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBtaW5FcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgbWF4RXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHN1cHBvcnRNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHZhbGlkYXRpb24/OiBWYWxpZGF0b3JGbltdO1xyXG4gIGlzTXVsdGlTZWxlY3Q/OiBib29sZWFuO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgaXNOdW1iZXI/OiBib29sZWFuO1xyXG4gIGlzRW1haWw/OiBib29sZWFuO1xyXG4gIG1pbj86IG51bWJlcjtcclxuICBtYXg/OiBudW1iZXI7XHJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xyXG4gIG1pbkxlbmd0aD86IG51bWJlcjtcclxuICBpc0ludGVnZXI/OiBib29sZWFuO1xyXG4gIGlzUmVzaXplPzogYm9vbGVhbjtcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICBpc0xhYmVsQWxpZ25lZExlZnQ/OiBib29sZWFuO1xyXG4gIGRhdGVQaWNrZXI/OiBEYXRlUGlja2VyO1xyXG4gIHNlYXJjaFR5cGU/OiBTZWFyY2hUeXBlO1xyXG4gIGRhdGVSYW5nZUNvbnRyb2xzPzogeyBzdGFydERhdGU6IHN0cmluZzsgZW5kRGF0ZTogc3RyaW5nIH07XHJcbiAgY2xlYXI/OiBib29sZWFuO1xyXG4gIGFyaWFMYWJlbD86IHN0cmluZztcclxuICBhcmlhRGVzY3JpYmVkQnlJZD86IHN0cmluZztcclxuICBhcmlhTXVsdGlsaW5lPzogYm9vbGVhbjtcclxuICBtaW5TZWxlY3Rpb25SZXF1aXJlZD86IG51bWJlcjtcclxuICBtYXhDaGFyQ291bnQ/OiBudW1iZXI7XHJcbiAgcmVtYWluaW5nQ2hhcnNMZWZ0TWVzc2FnZT86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIG1heFJhbmdlTGltaXQ/OiBudW1iZXI7XHJcbiAgaG91cjI0PzogbnVtYmVyO1xyXG4gIGhvdXIxMj86IG51bWJlcjtcclxuICBpc1NlYXJjaD86IGJvb2xlYW47XHJcbiAgaW52YWxpZERhdGVUaW1lRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIGlzMjRIb3Vyc1RpbWVGb3JtYXQ/OiBib29sZWFuO1xyXG4gIGxpbmtUeXBlPzogTGlua1R5cGU7XHJcbiAgc2xpZGVUb2dnbGVPcHRpb24/OiBTbGlkZVRvZ2dsZU9wdGlvbjtcclxuICBpc011bHRpRmlsZVVwbG9hZD86IGJvb2xlYW47XHJcbiAgbWF4VXBsb2FkRmlsZVNpemU/OiBudW1iZXI7XHJcbiAgYWxsb3dlZEZpbGVUeXBlcz86IEFsbG93ZWRGaWxlVHlwZXNbXTtcclxuICBtYXhGaWxlU2l6ZUVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBpc0ZpbGVTZWxlY3RlZD86IGJvb2xlYW47XHJcbiAgYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIGludmFsaWREYXRlUmFuZ2VFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgaW52YWxpZENvbG9yRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHBhbGV0dGU/OiBzdHJpbmdbXTtcclxuICBmaWxlVXBsb2FkSGVhZGluZz86IHN0cmluZztcclxuICBkZWZhdWx0Q29sb3I/OiBzdHJpbmc7XHJcbiAgY29sb3JGb3JtYXQ/OiBDb2xvckZvcm1hdDtcclxuICBvdmVybGF5Q2xhc3NOYW1lPzogc3RyaW5nO1xyXG4gIGNvbG9yQW5pbWF0aW9uPzogQ29sb3JzQW5pbWF0aW9uO1xyXG4gIHBhbGV0dGVTZWxlY3RMYWJlbD86IHN0cmluZztcclxuICBwYWxldHRlQ2FuY2VsTGFiZWw/OiBzdHJpbmc7XHJcbiAgaXNDb2xvckNvZGVMYWJlbE5lZWRlZD86IGJvb2xlYW47XHJcbiAgaXNBcnJvd0ljb25OZWVkZWQ/OiBib29sZWFuO1xyXG4gIGNhbkhpZGVDb2xvclBpY2tlcj86IGJvb2xlYW47XHJcbiAgY2FuSGlkZVRleHRJbnB1dD86IGJvb2xlYW47XHJcbiAgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zPzogQXV0b0NvbXBsZXRlT3B0aW9uW107XHJcbiAgZWRpdG9yQ29uZmlnPzogRWRpdG9yQ29uZmlnO1xyXG4gIGlzQWxsb3dBbnlGaWxlVHlwZT86IGJvb2xlYW47XHJcbiAgdmlld0ZpbGVzRm9ybWF0PzogVmlld0ZpbGVzRm9ybWF0O1xyXG4gIGlzVXBsb2FkQnV0dG9uTmVlZGVkPzogYm9vbGVhbjtcclxuICBhY3Rpb25CdXR0b25BbGlnbj86IEFsaWduVHlwZTtcclxuICBmaWxlVXBsb2FkRXJyb3JQb3NpdGlvbj86IHN0cmluZztcclxuICBtYXhGaWxlc1VwbG9hZExpbWl0PzogbnVtYmVyO1xyXG4gIG1heEZpbGVzVXBsb2FkTGltaXRFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvbW9kZWxzL2ZpbGUtYXR0YWNobWVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBGaWxlQXR0YWNobWVudCB7XHJcbiAgYWdlbmRhSXRlbUlkOiBzdHJpbmc7XHJcbiAgYWdlbmRhSWQ6IHN0cmluZztcclxuICBzM0ZpbGVQYXRoOiBzdHJpbmc7XHJcbiAgZmlsZU5hbWU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVBdHRhY2htZW50UGF5bG9hZCB7XHJcbiAgcGF5bG9hZDogRmlsZUF0dGFjaG1lbnRbXTtcclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtcmVzcG9uc2UubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9tb2RlbHMvZmlsZS11cGxvYWQtcmVzcG9uc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRmlsZVVwbG9hZEJvZHlSZXNwb25zZSB7XHJcbiAgZmlsZU5hbWU6IHN0cmluZztcclxuICBwcmVTaWduZWRVcmw6IHN0cmluZztcclxuICBzM1BhdGg6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGaWxlVXBsb2FkUmVzcG9uc2Uge1xyXG4gIHN0YXR1czogYm9vbGVhbjtcclxuICBib2R5OiBGaWxlVXBsb2FkQm9keVJlc3BvbnNlW107XHJcbiAgbWVzc2FnZTogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|