barsa-novin-ray-core 2.0.55 → 2.0.57
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/abstract-classes/form-base.mjs +2 -1
- package/esm2022/lib/services/form-panel.service.mjs +2 -1
- package/fesm2022/barsa-novin-ray-core.mjs +2 -0
- package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/form-base.d.ts +1 -0
- package/lib/services/form-panel.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -39,6 +39,7 @@ export class FormBaseComponent extends BaseComponent {
|
|
|
39
39
|
this.formWidth$ = this._formPanelService.formWidth$;
|
|
40
40
|
this.headerSubtitle$ = this._formPanelService.headerSubtitle$;
|
|
41
41
|
this.avatar$ = this._formPanelService.avatar$;
|
|
42
|
+
this.circleAvatar$ = this._formPanelService.circleAvatar$;
|
|
42
43
|
this.workflowPanelUi$ = this._formPanelService.workflowPanelUi$;
|
|
43
44
|
this.view$ = this._formPanelService.view$;
|
|
44
45
|
this.mo$ = this._formPanelService.mo$;
|
|
@@ -152,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
152
153
|
}], formClose: [{
|
|
153
154
|
type: Output
|
|
154
155
|
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUV2QixJQUFJLEVBRUosV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVl2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBb0RoRCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQVRFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixT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QUFXO3VCQUFDLGtCQUFrQjtnQkFFdEIsT0FBTztzQkFBZixLQUFLO2dCQUtJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIElucHV0LFxuICAgIENvbXBvbmVudCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIE9uSW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgRWxlbWVudFJlZixcbiAgICBTZWxmLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgbWVyZ2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IGdldERldmljZUlzTW9iaWxlLCBnZXRQYXJlbnRIZWlnaHQsIGdldFVuaXF1ZUlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEZvcm1QYW5lbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mb3JtLXBhbmVsLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuL2JhcnNhLWFwaSc7XG5pbXBvcnQge1xuICAgIEZvcm1TZXR0aW5nLFxuICAgIEZvcm1WaWV3U2V0dGluZyxcbiAgICBGb3JtVmlzaWJpbGl0eVN0YXR1cyxcbiAgICBJSGVhZGVyTGF5b3V0LFxuICAgIExheW91dFNldHRpbmcsXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbFxufSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBCcmVhZGNydW1iU2VydmljZSwgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENvbnRyb2xVaVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZyb21JbnRlcnNlY3Rpb25PYnNlcnZlciB9IGZyb20gJy4uL2Zyb20taW50ZXJzZWN0aW9uLW9ic2VydmVyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLWZvcm0tYmFzZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1CYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBpZCA9IGBmb3JtXyR7Z2V0VW5pcXVlSWQoNCl9YDtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZ1bGxzY3JlZW4nKSBmdWxsc2NyZWVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBjb250ZXh0OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgY29uZmlnOiBhbnk7XG4gICAgICAgIFNldHRpbmc6IEZvcm1TZXR0aW5nO1xuICAgIH07XG4gICAgQE91dHB1dCgpIGZvcm1DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBsaXN0RmllbGRVaTogYW55O1xuICAgIGlzV2l6YXJkOiBib29sZWFuO1xuICAgIHBhcmFtZXRlcnM6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgaXNNb2JpbGU6IGJvb2xlYW47XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8J3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJz47XG4gICAgZGlyVmFsdWUkOiBPYnNlcnZhYmxlPCdydGwnIHwgJ2x0cic+O1xuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdG9vbGJhclZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhpZGVDbG9zZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGlkZVRpdGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoaWRlUGluJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICB0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICB0b29sYmFySXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICB3b3JrZmxvd0J1dHRvbnMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICBoZWFkZXJMYXlvdXQkOiBPYnNlcnZhYmxlPElIZWFkZXJMYXlvdXQgfCBudWxsPjtcbiAgICBsYXlvdXQ5NCQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBsYXlvdXQ5NDogYW55O1xuICAgIG1heENvbnRlbnRXaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBmb3JtV2lkdGgkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyRGVzY3JpcHRpb24kOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhlYWRlclN1YnRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGF2YXRhciQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBleHRlbmRUb29sYmFySXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICB3b3JrZmxvd1BhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgdmlldyQ6IE9ic2VydmFibGU8Rm9ybVZpZXdTZXR0aW5nPjtcbiAgICBtbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw+O1xuICAgIGlzU2ltcGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaWVsZERpY3QkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+O1xuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzU2VhcmNoUGFuZWw6IGJvb2xlYW47XG4gICAgaXNNb2RhbDogYm9vbGVhbjtcbiAgICBpc1N1YkZvcm06IGJvb2xlYW47XG4gICAgbW9kZXJuVGFicyQ6IE9ic2VydmFibGU8TGF5b3V0U2V0dGluZ1tdPjtcbiAgICBpc0Zvcm1SZXBvcnQ6IGJvb2xlYW47XG4gICAgbGFuZHNjYXBlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzdGFuZGFsb25lJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwcm90ZWN0ZWQgX3N0eWxlOiBIVE1MU3R5bGVFbGVtZW50O1xuICAgIHByb3RlY3RlZCBfc3RhbmRhbG9uZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9mb3JtSW50ZXJzZWN0aW9uOiBhbnk7XG4gICAgZm9ybVZpc2liaWxpdHlTdGF0dXM6IEZvcm1WaXNpYmlsaXR5U3RhdHVzO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY29udHJvbFVpUGlwZTogQ29udHJvbFVpUGlwZSxcbiAgICAgICAgQFNlbGYoKSBwcm90ZWN0ZWQgX2Zvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5pc1NlYXJjaFBhbmVsJC5zdWJzY3JpYmUoKGlzU2VhcmNoUGFuZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCA9IGlzU2VhcmNoUGFuZWw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhpZGVDbG9zZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhpZGVDbG9zZSQ7XG4gICAgICAgIHRoaXMuaGlkZVRpdGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZVRpdGxlJDtcbiAgICAgICAgdGhpcy5oaWRlUGluJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZVBpbiQ7XG4gICAgICAgIHRoaXMudG9vbGJhclZpc2libGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFyVmlzaWJsZSQ7XG4gICAgICAgIHRoaXMudGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50aXRsZSQucGlwZShcbiAgICAgICAgICAgIG1hcCgodGl0bGUpID0+ICghdGl0bGUgPyAnJyA6IGdldERldmljZUlzTW9iaWxlKCkgPyB0aXRsZS5zcGxpdCgnOicpWzBdIDogdGl0bGUpKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnRvb2xiYXJJdGVtcyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRvb2xiYXJJdGVtcyQ7XG4gICAgICAgIHRoaXMud29ya2Zsb3dCdXR0b25zJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uud29ya2Zsb3dCdXR0b25zJDtcbiAgICAgICAgdGhpcy5oZWFkZXJMYXlvdXQkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJMYXlvdXQkO1xuICAgICAgICB0aGlzLmxheW91dDk0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubGF5b3V0JDtcbiAgICAgICAgdGhpcy5tYXhDb250ZW50V2lkdGgkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tYXhDb250ZW50V2lkdGgkO1xuICAgICAgICB0aGlzLmZvcm1XaWR0aCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZvcm1XaWR0aCQ7XG4gICAgICAgIHRoaXMuaGVhZGVyU3VidGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJTdWJ0aXRsZSQ7XG4gICAgICAgIHRoaXMuYXZhdGFyJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuYXZhdGFyJDtcbiAgICAgICAgdGhpcy53b3JrZmxvd1BhbmVsVWkkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS53b3JrZmxvd1BhbmVsVWkkO1xuICAgICAgICB0aGlzLnZpZXckID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS52aWV3JDtcbiAgICAgICAgdGhpcy5tbyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLm1vJDtcbiAgICAgICAgdGhpcy5maWVsZERpY3QkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5maWVsZERpY3QkO1xuICAgICAgICB0aGlzLmlzU2ltcGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaXNTaW1wbGVGb3JtJDtcbiAgICAgICAgdGhpcy5tYXNrJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubWFzayQ7XG4gICAgICAgIHRoaXMuaGVhZGVyRGVzY3JpcHRpb24kID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJEZXNjcmlwdGlvbiQ7XG4gICAgICAgIHRoaXMuaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZyQ7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuY29udGV4dCQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnZpZXckLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5sYW5kc2NhcGUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5sYW5kc2NhcGUkO1xuICAgICAgICB0aGlzLnN0YW5kYWxvbmUkID0gdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJDtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5zdGFuZGFsb25lJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChjKSA9PiAodGhpcy5fc3RhbmRhbG9uZSA9IGMpKTtcbiAgICB9XG4gICAgZ2V0IGZvcmNlQ2xvc2UkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5mb3JjZUNsb3NlJDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0ID0gdGhpcy5jb250ZXh0O1xuICAgICAgICB0aGlzLmlzTW9iaWxlID0gZ2V0RGV2aWNlSXNNb2JpbGUoKTtcbiAgICAgICAgdGhpcy5saXN0RmllbGRVaSA9IHRoaXMuY29udGV4dC5fZGljdEZpZWxkVWk7XG5cbiAgICAgICAgdGhpcy5pc01vZGFsID0gdGhpcy5jb250ZXh0LlNldHRpbmc/LklzTW9kYWw7XG4gICAgICAgIHRoaXMuaXNTdWJGb3JtID0gdGhpcy5jb250ZXh0LklzU3ViRm9ybTtcbiAgICAgICAgdGhpcy5pc0Zvcm1SZXBvcnQgPSB0aGlzLmNvbnRleHQuSXNGb3JtUmVwb3J0O1xuICAgICAgICB0aGlzLl9zZXRQYXJhbXRlcnMoKTtcbiAgICAgICAgdGhpcy5tb2Rlcm5UYWJzJCA9IHRoaXMubGF5b3V0OTQkLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGMpID0+IGMpLFxuICAgICAgICAgICAgbWFwKChsYXlvdXQ5NCkgPT4gKHRoaXMubGF5b3V0OTQgPSBsYXlvdXQ5NCkpLFxuICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAgICAgICAgIG1lcmdlKHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuZ3JvdXBMYXlvdXQkKSxcbiAgICAgICAgICAgIG1hcCgoXykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmxheW91dDk0Lml0ZW1zWzBdLnh0eXBlICE9PSAnTHkuTGF5b3V0VGFiUGFuZWwnKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgdGFiczogTGF5b3V0U2V0dGluZ1tdID0gdGhpcy5sYXlvdXQ5NC5pdGVtc1swXS5pdGVtcztcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFicy5maWx0ZXIoKGMpID0+IGMuVmlzaWJsZSAhPT0gZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9idGFpbkhlaWdodCgpO1xuICAgICAgICB9LCAwKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS53aW5kb3dSZXNpemUkLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vYnRhaW5IZWlnaHQoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX2Zvcm1JbnRlcnNlY3Rpb24gPSBmcm9tSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoXG4gICAgICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJvb3Q6IG51bGwsXG4gICAgICAgICAgICAgICAgcm9vdE1hcmdpbjogJzBweCcsXG4gICAgICAgICAgICAgICAgdGhyZXNob2xkOiAwXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgMTAwLFxuICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX29uSW5WaWV3KGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuX2Zvcm1JbnRlcnNlY3Rpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5kZXN0cm95KCk7XG4gICAgfVxuICAgIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ1JlcXVlc3RGb3JDbG9zZScsIHRoaXMuY29udGV4dCk7XG4gICAgfVxuICAgIG9uRnVsbHNjcmVlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuID0gIXRoaXMuZnVsbHNjcmVlbjtcbiAgICB9XG4gICAgb25Ub29sYmFyQ2xpY2soYnRuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudG9vbGJhckNsaWNrKGJ0bik7XG4gICAgfVxuICAgIG9uV29ya2Zsb3dDaG9pY2VDbGljayh3ZkNob2ljZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLndmQ2hvaWNlKHdmQ2hvaWNlKTtcbiAgICB9XG4gICAgZmllbGRDaGFuZ2UoZmllbGROYW1lLCB2YWx1ZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZFVpID0gdGhpcy5jb250ZXh0Ll9saXN0RmllbGRVaS5maW5kKChjKSA9PiBjLlNldHRpbmcuQ29udHJvbE5hbWUgPT09IGZpZWxkTmFtZSk7XG4gICAgICAgIGZpZWxkVWkudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgZmllbGRVaS5maXJlRXZlbnQoJ2NoYW5nZScsIGZpZWxkVWkpO1xuICAgIH1cbiAgICBzZWFyY2hDbGljaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmllbGRVaSA9IHRoaXMuY29udGV4dC5fbGlzdEZpZWxkVWkuZmluZCgoYykgPT4gYy5vcmlnaW5hbFh0eXBlID09PSAnVWkuU2VhcmNoQ29tbWFuZEluZm9VaScpO1xuXG4gICAgICAgIGZpZWxkVWkuZmlyZUV2ZW50KEJhcnNhQXBpLlVsLkZvcm1QYW5lbEN0cmxyLkV2ZW50RW51bS5TZWFyY2hDbGljaywgZmllbGRVaSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfb25JblZpZXcoZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtVmlzaWJpbGl0eVN0YXR1cyA9IGU7XG4gICAgICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9idGFpbkhlaWdodCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50SGVpZ2h0ID0gZ2V0UGFyZW50SGVpZ2h0KHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnNldEZvcm1IZWlnaHQocGFyZW50SGVpZ2h0KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfc2V0UGFyYW10ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmNvbnRleHQsICdTZXR0aW5nLlZpZXcuQ3VzdG9tVWkuUGFyYW1ldGVycycsIG51bGwpO1xuICAgIH1cbn1cbiJdfQ==
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2Zvcm0tYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sWUFBWSxFQUdaLHVCQUF1QixFQUV2QixJQUFJLEVBRUosV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQVl2QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBT3pFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBcURoRCxZQUNjLGtCQUFxQyxFQUNyQyxjQUE2QixFQUM3QixPQUFlLEVBQ2YsR0FBZSxFQUNmLGNBQTZCLEVBQ3JCLGlCQUFtQyxFQUMzQyxlQUErQixFQUMvQixJQUF1QjtRQUVqQyxLQUFLLEVBQUUsQ0FBQztRQVRFLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUNyQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQzNDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixT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QUFJO3NHQTFEZSxFQUFFO3NCQUF6QixXQUFXO3VCQUFDLFNBQVM7Z0JBQ1csVUFBVTtzQkFBMUMsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBRXRCLE9BQU87c0JBQWYsS0FBSztnQkFLSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBJbnB1dCxcbiAgICBDb21wb25lbnQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgU2VsZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBIb3N0QmluZGluZ1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwsIG1lcmdlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXREZXZpY2VJc01vYmlsZSwgZ2V0UGFyZW50SGVpZ2h0LCBnZXRVbmlxdWVJZCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtUGFuZWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1wYW5lbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xuaW1wb3J0IHtcbiAgICBGb3JtU2V0dGluZyxcbiAgICBGb3JtVmlld1NldHRpbmcsXG4gICAgRm9ybVZpc2liaWxpdHlTdGF0dXMsXG4gICAgSUhlYWRlckxheW91dCxcbiAgICBMYXlvdXRTZXR0aW5nLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWxcbn0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYlNlcnZpY2UsIFBvcnRhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb250cm9sVWlQaXBlIH0gZnJvbSAnLi4vcGlwZXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmcm9tSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgfSBmcm9tICcuLi9mcm9tLWludGVyc2VjdGlvbi1vYnNlcnZlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1mb3JtLWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtQmFzZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWQgPSBgZm9ybV8ke2dldFVuaXF1ZUlkKDQpfWA7XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mdWxsc2NyZWVuJykgZnVsbHNjcmVlbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgY29udGV4dDoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIGNvbmZpZzogYW55O1xuICAgICAgICBTZXR0aW5nOiBGb3JtU2V0dGluZztcbiAgICB9O1xuICAgIEBPdXRwdXQoKSBmb3JtQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgbGlzdEZpZWxkVWk6IGFueTtcbiAgICBpc1dpemFyZDogYm9vbGVhbjtcbiAgICBwYXJhbWV0ZXJzOiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGlzTW9iaWxlOiBib29sZWFuO1xuICAgIGRldmljZVNpemUkOiBPYnNlcnZhYmxlPCdzJyB8ICdtJyB8ICdsJyB8ICd4bCc+O1xuICAgIGRpclZhbHVlJDogT2JzZXJ2YWJsZTwncnRsJyB8ICdsdHInPjtcbiAgICBydGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHRvb2xiYXJWaXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoaWRlQ2xvc2UkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhpZGVUaXRsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGlkZVBpbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgdG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgd29ya2Zsb3dCdXR0b25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgaGVhZGVyTGF5b3V0JDogT2JzZXJ2YWJsZTxJSGVhZGVyTGF5b3V0IHwgbnVsbD47XG4gICAgbGF5b3V0OTQkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgbGF5b3V0OTQ6IGFueTtcbiAgICBtYXhDb250ZW50V2lkdGgkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgZm9ybVdpZHRoJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlckRlc2NyaXB0aW9uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoZWFkZXJTdWJ0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBhdmF0YXIkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgY2lyY2xlQXZhdGFyJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBleHRlbmRUb29sYmFySXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICB3b3JrZmxvd1BhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgdmlldyQ6IE9ic2VydmFibGU8Rm9ybVZpZXdTZXR0aW5nPjtcbiAgICBtbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw+O1xuICAgIGlzU2ltcGxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmaWVsZERpY3QkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+O1xuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzU2VhcmNoUGFuZWw6IGJvb2xlYW47XG4gICAgaXNNb2RhbDogYm9vbGVhbjtcbiAgICBpc1N1YkZvcm06IGJvb2xlYW47XG4gICAgbW9kZXJuVGFicyQ6IE9ic2VydmFibGU8TGF5b3V0U2V0dGluZ1tdPjtcbiAgICBpc0Zvcm1SZXBvcnQ6IGJvb2xlYW47XG4gICAgbGFuZHNjYXBlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBzdGFuZGFsb25lJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBwcm90ZWN0ZWQgX3N0eWxlOiBIVE1MU3R5bGVFbGVtZW50O1xuICAgIHByb3RlY3RlZCBfc3RhbmRhbG9uZTogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9mb3JtSW50ZXJzZWN0aW9uOiBhbnk7XG4gICAgZm9ybVZpc2liaWxpdHlTdGF0dXM6IEZvcm1WaXNpYmlsaXR5U3RhdHVzO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBfYnJlYWRjcnVtYlNlcnZpY2U6IEJyZWFkY3J1bWJTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByb3RlY3RlZCBfZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfY29udHJvbFVpUGlwZTogQ29udHJvbFVpUGlwZSxcbiAgICAgICAgQFNlbGYoKSBwcm90ZWN0ZWQgX2Zvcm1QYW5lbFNlcnZpY2U6IEZvcm1QYW5lbFNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5pc1NlYXJjaFBhbmVsJC5zdWJzY3JpYmUoKGlzU2VhcmNoUGFuZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCA9IGlzU2VhcmNoUGFuZWw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhpZGVDbG9zZSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhpZGVDbG9zZSQ7XG4gICAgICAgIHRoaXMuaGlkZVRpdGxlJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZVRpdGxlJDtcbiAgICAgICAgdGhpcy5oaWRlUGluJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuaGlkZVBpbiQ7XG4gICAgICAgIHRoaXMudG9vbGJhclZpc2libGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFyVmlzaWJsZSQ7XG4gICAgICAgIHRoaXMudGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS50aXRsZSQucGlwZShcbiAgICAgICAgICAgIG1hcCgodGl0bGUpID0+ICghdGl0bGUgPyAnJyA6IGdldERldmljZUlzTW9iaWxlKCkgPyB0aXRsZS5zcGxpdCgnOicpWzBdIDogdGl0bGUpKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLnRvb2xiYXJJdGVtcyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnRvb2xiYXJJdGVtcyQ7XG4gICAgICAgIHRoaXMud29ya2Zsb3dCdXR0b25zJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uud29ya2Zsb3dCdXR0b25zJDtcbiAgICAgICAgdGhpcy5oZWFkZXJMYXlvdXQkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJMYXlvdXQkO1xuICAgICAgICB0aGlzLmxheW91dDk0JCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubGF5b3V0JDtcbiAgICAgICAgdGhpcy5tYXhDb250ZW50V2lkdGgkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tYXhDb250ZW50V2lkdGgkO1xuICAgICAgICB0aGlzLmZvcm1XaWR0aCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZvcm1XaWR0aCQ7XG4gICAgICAgIHRoaXMuaGVhZGVyU3VidGl0bGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5oZWFkZXJTdWJ0aXRsZSQ7XG4gICAgICAgIHRoaXMuYXZhdGFyJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UuYXZhdGFyJDtcbiAgICAgICAgdGhpcy5jaXJjbGVBdmF0YXIkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jaXJjbGVBdmF0YXIkO1xuICAgICAgICB0aGlzLndvcmtmbG93UGFuZWxVaSQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLndvcmtmbG93UGFuZWxVaSQ7XG4gICAgICAgIHRoaXMudmlldyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLnZpZXckO1xuICAgICAgICB0aGlzLm1vJCA9IHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UubW8kO1xuICAgICAgICB0aGlzLmZpZWxkRGljdCQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZpZWxkRGljdCQ7XG4gICAgICAgIHRoaXMuaXNTaW1wbGUkID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5pc1NpbXBsZUZvcm0kO1xuICAgICAgICB0aGlzLm1hc2skID0gdGhpcy5fZm9ybVBhbmVsU2VydmljZS5tYXNrJDtcbiAgICAgICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhlYWRlckRlc2NyaXB0aW9uJDtcbiAgICAgICAgdGhpcy5oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZyQgPSB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJDtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS5jb250ZXh0JC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2UudmlldyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLmxhbmRzY2FwZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLmxhbmRzY2FwZSQ7XG4gICAgICAgIHRoaXMuc3RhbmRhbG9uZSQgPSB0aGlzLl9wb3J0YWxTZXJ2aWNlLnN0YW5kYWxvbmUkO1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnN0YW5kYWxvbmUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGMpID0+ICh0aGlzLl9zdGFuZGFsb25lID0gYykpO1xuICAgIH1cbiAgICBnZXQgZm9yY2VDbG9zZSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmZvcmNlQ2xvc2UkO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmNvbnRleHQgPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIHRoaXMuaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICB0aGlzLmxpc3RGaWVsZFVpID0gdGhpcy5jb250ZXh0Ll9kaWN0RmllbGRVaTtcblxuICAgICAgICB0aGlzLmlzTW9kYWwgPSB0aGlzLmNvbnRleHQuU2V0dGluZz8uSXNNb2RhbDtcbiAgICAgICAgdGhpcy5pc1N1YkZvcm0gPSB0aGlzLmNvbnRleHQuSXNTdWJGb3JtO1xuICAgICAgICB0aGlzLmlzRm9ybVJlcG9ydCA9IHRoaXMuY29udGV4dC5Jc0Zvcm1SZXBvcnQ7XG4gICAgICAgIHRoaXMuX3NldFBhcmFtdGVycygpO1xuICAgICAgICB0aGlzLm1vZGVyblRhYnMkID0gdGhpcy5sYXlvdXQ5NCQucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoYykgPT4gYyksXG4gICAgICAgICAgICBtYXAoKGxheW91dDk0KSA9PiAodGhpcy5sYXlvdXQ5NCA9IGxheW91dDk0KSksXG4gICAgICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgICAgICAgICAgbWVyZ2UodGhpcy5fZm9ybVBhbmVsU2VydmljZS5ncm91cExheW91dCQpLFxuICAgICAgICAgICAgbWFwKChfKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubGF5b3V0OTQuaXRlbXNbMF0ueHR5cGUgIT09ICdMeS5MYXlvdXRUYWJQYW5lbCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB0YWJzOiBMYXlvdXRTZXR0aW5nW10gPSB0aGlzLmxheW91dDk0Lml0ZW1zWzBdLml0ZW1zO1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWJzLmZpbHRlcigoYykgPT4gYy5WaXNpYmxlICE9PSBmYWxzZSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub2J0YWluSGVpZ2h0KCk7XG4gICAgICAgIH0sIDApO1xuICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLndpbmRvd1Jlc2l6ZSQuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9idGFpbkhlaWdodCgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fZm9ybUludGVyc2VjdGlvbiA9IGZyb21JbnRlcnNlY3Rpb25PYnNlcnZlcihcbiAgICAgICAgICAgIHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcm9vdDogbnVsbCxcbiAgICAgICAgICAgICAgICByb290TWFyZ2luOiAnMHB4JyxcbiAgICAgICAgICAgICAgICB0aHJlc2hvbGQ6IDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAxMDAsXG4gICAgICAgICAgICBmYWxzZVxuICAgICAgICApXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fb25JblZpZXcoZSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5fZm9ybUludGVyc2VjdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLl9mb3JtUGFuZWxTZXJ2aWNlLmRlc3Ryb3koKTtcbiAgICB9XG4gICAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0LmZpcmVFdmVudCgnUmVxdWVzdEZvckNsb3NlJywgdGhpcy5jb250ZXh0KTtcbiAgICB9XG4gICAgb25GdWxsc2NyZWVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZ1bGxzY3JlZW4gPSAhdGhpcy5mdWxsc2NyZWVuO1xuICAgIH1cbiAgICBvblRvb2xiYXJDbGljayhidG4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybVBhbmVsU2VydmljZS50b29sYmFyQ2xpY2soYnRuKTtcbiAgICB9XG4gICAgb25Xb3JrZmxvd0Nob2ljZUNsaWNrKHdmQ2hvaWNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uud2ZDaG9pY2Uod2ZDaG9pY2UpO1xuICAgIH1cbiAgICBmaWVsZENoYW5nZShmaWVsZE5hbWUsIHZhbHVlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkVWkgPSB0aGlzLmNvbnRleHQuX2xpc3RGaWVsZFVpLmZpbmQoKGMpID0+IGMuU2V0dGluZy5Db250cm9sTmFtZSA9PT0gZmllbGROYW1lKTtcbiAgICAgICAgZmllbGRVaS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBmaWVsZFVpLmZpcmVFdmVudCgnY2hhbmdlJywgZmllbGRVaSk7XG4gICAgfVxuICAgIHNlYXJjaENsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZFVpID0gdGhpcy5jb250ZXh0Ll9saXN0RmllbGRVaS5maW5kKChjKSA9PiBjLm9yaWdpbmFsWHR5cGUgPT09ICdVaS5TZWFyY2hDb21tYW5kSW5mb1VpJyk7XG5cbiAgICAgICAgZmllbGRVaS5maXJlRXZlbnQoQmFyc2FBcGkuVWwuRm9ybVBhbmVsQ3RybHIuRXZlbnRFbnVtLlNlYXJjaENsaWNrLCBmaWVsZFVpKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9vbkluVmlldyhlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1WaXNpYmlsaXR5U3RhdHVzID0gZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb2J0YWluSGVpZ2h0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwYXJlbnRIZWlnaHQgPSBnZXRQYXJlbnRIZWlnaHQodGhpcy5fZWwubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIHRoaXMuX2Zvcm1QYW5lbFNlcnZpY2Uuc2V0Rm9ybUhlaWdodChwYXJlbnRIZWlnaHQpO1xuICAgIH1cbiAgICBwcml2YXRlIF9zZXRQYXJhbXRlcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucGFyYW1ldGVycyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuY29udGV4dCwgJ1NldHRpbmcuVmlldy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XG4gICAgfVxufVxuIl19
|
|
@@ -74,6 +74,7 @@ export class FormPanelService extends BaseComponent {
|
|
|
74
74
|
.pipe(delay(0), takeUntil(this._onDestroy$));
|
|
75
75
|
this.headerSubtitle$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.SubTitle)), takeUntil(this._onDestroy$));
|
|
76
76
|
this.avatar$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.Avatar, true)), takeUntil(this._onDestroy$));
|
|
77
|
+
this.circleAvatar$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.CircleAvatar)), takeUntil(this._onDestroy$));
|
|
77
78
|
this.mask$ = this._maskSource.asObservable().pipe(debounceTime(200), takeUntil(this._onDestroy$));
|
|
78
79
|
}
|
|
79
80
|
get hidePin$() {
|
|
@@ -357,4 +358,4 @@ export class FormPanelService extends BaseComponent {
|
|
|
357
358
|
this._context = context;
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1wYW5lbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9mb3JtLXBhbmVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0csTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUE0RC9DO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUF6Q1osZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVd4QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2hELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25ELCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzNELCtCQUEwQixH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RSxDQUFDO0lBQzFDLENBQUM7SUFDUyxTQUFTLENBQUMsT0FBTztRQUN2QixNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ1Msa0JBQWtCLENBQUMsU0FBd0I7UUFDakQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBQ1MsZUFBZSxDQUFDLE9BQU87UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzVCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkZWxheSwgZmlsdGVyLCBtYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRm9ybVZpZXdTZXR0aW5nLCBJSGVhZGVyTGF5b3V0LCBMYXlvdXRTZXR0aW5nLCBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9tb2RlbHMnO1xuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL2JhcnNhLWFwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXZpY2VXaWR0aCwgRmluZExheW91dFNldHRpbmdGcm9tTGF5b3V0OTQsIGdldERldmljZUlzTW9iaWxlLCBnZXRIZWFkZXJWYWx1ZSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjbGFzcyBGb3JtUGFuZWxTZXJ2aWNlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgY29udGV4dCQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBzZWFyY2hQYW5lbElzT2JqZWN0JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1NlYXJjaFBhbmVsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBpc1NlYXJjUGFuZWxJblNpZGVDb250ZW50JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICB3b3JrZmxvd1BhbmVsVWkkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgbW8kOiBPYnNlcnZhYmxlPE1ldGFvYmplY3REYXRhTW9kZWw+O1xuICAgIHZpZXckOiBPYnNlcnZhYmxlPGFueT47XG4gICAgdG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgd29ya2Zsb3dCdXR0b25zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgbWF4Q29udGVudFdpZHRoJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIHdpemFyZE5leHRTdGVwJDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICB3aXphcmRQcmV2aW91c1N0ZXAkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAgIGxheW91dCQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBmb3JjZUNsb3NlJDogT2JzZXJ2YWJsZTx2b2lkPjtcbiAgICBncm91cExheW91dCQ6IE9ic2VydmFibGU8TGF5b3V0U2V0dGluZz47XG4gICAgaXNTaW1wbGVGb3JtJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBmb3JtV2lkdGgkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgdG9vbGJhclZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhlYWRlckxheW91dCQ6IE9ic2VydmFibGU8SUhlYWRlckxheW91dD47XG4gICAgX2hpZGVDbG9zZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBfaGlkZVRpdGxlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIF9oaWRlUGluJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlckRlc2NyaXB0aW9uJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICBoZWFkZXJTdWJ0aXRsZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICBhdmF0YXIkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgbWFzayQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgZm9ybUhlaWdodCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBmaWVsZERpY3QkOiBPYnNlcnZhYmxlPHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+O1xuXG4gICAgcHJpdmF0ZSBfY29udGV4dDtcbiAgICBwcml2YXRlIF9jb250ZXh0U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX2Zvcm1IZWlnaHRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBfc2VhcmNoUGFuZWxJc09iamVjdFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX2lzU2VhcmNoUGFuZWxTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIF9pc1NlYXJjUGFuZWxJblNpZGVDb250ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBfd29ya2Zsb3dQYW5lbFVpU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX21vU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX3ZpZXdTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gICAgcHJpdmF0ZSBfdG9vbGJhckl0ZW1zU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnlbXT4oW10pO1xuICAgIHByaXZhdGUgX3RpdGxlU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIF9tYXhDb250ZW50V2lkdGhTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJ2F1dG8nKTtcbiAgICBwcml2YXRlIF93aXphcmROZXh0U3RlcFNvdXJjZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfd2l6YXJkUHJldmlvdXNTdGVwU291cmNlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIF9sYXlvdXRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gICAgcHJpdmF0ZSBfZm9yY2VDbG9zZVNvdXJjZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfZ3JvdXBCUnVsZVNvdXJjZSA9IG5ldyBTdWJqZWN0PExheW91dFNldHRpbmc+KCk7XG4gICAgcHJpdmF0ZSBfaXNTaW1wbGVGb3JtU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBfZm9ybVdpZHRoU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcxMDAlJyk7XG4gICAgcHJpdmF0ZSBfdG9vbGJhclZpc2libGVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICAgIHByaXZhdGUgX2hlYWRlckxheW91dFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgICBwcml2YXRlIF9oZWFkZXJUaXRsZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSBfbWFza1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX2hlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBfaGVhZGVyRGVzY3JpcHRpb25Tb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgX2NhblNlbmQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgZm9ybUNvbnRhaW5lckRvbTogSFRNTEVsZW1lbnQ7XG4gICAgQ29sb25JbkxhYmVsID0gdHJ1ZTtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5jb250ZXh0JCA9IHRoaXMuX2NvbnRleHRTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoY29udGV4dCkgPT4gdGhpcy5fcHJlcGFyZUNvbnRleHQoY29udGV4dCkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hQYW5lbElzT2JqZWN0JCA9IHRoaXMuX3NlYXJjaFBhbmVsSXNPYmplY3RTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLmlzU2VhcmNoUGFuZWwkID0gdGhpcy5faXNTZWFyY2hQYW5lbFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMuaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCQgPSB0aGlzLl9pc1NlYXJjUGFuZWxJblNpZGVDb250ZW50XG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMud29ya2Zsb3dQYW5lbFVpJCA9IHRoaXMuX3dvcmtmbG93UGFuZWxVaVNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMuZm9ybUhlaWdodCQgPSB0aGlzLl9mb3JtSGVpZ2h0U291cmNlLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLm1vJCA9IHRoaXMuX21vU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcbiAgICAgICAgdGhpcy5maWVsZERpY3QkID0gdGhpcy5tbyQucGlwZShcbiAgICAgICAgICAgIG1hcCgoYykgPT4gYy4kRmllbGREaWN0KSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudmlldyQgPSB0aGlzLl92aWV3U291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHZpZXcpID0+IHRoaXMuX3ByZXBhcmVWaWV3KHZpZXcpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMudG9vbGJhckl0ZW1zJCA9IHRoaXMuX3Rvb2xiYXJJdGVtc1NvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgbWFwKChpdGVtcykgPT4gdGhpcy5fZmlsdGVyVG9vbGJhckl0ZW1zKGl0ZW1zKSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy53b3JrZmxvd0J1dHRvbnMkID0gdGhpcy5fdG9vbGJhckl0ZW1zU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGl0ZW1zKSA9PiB0aGlzLl9maWx0ZXJUb29sYmFySXRlbXMoaXRlbXMpKSxcbiAgICAgICAgICAgIG1hcCgoaXRlbXMpID0+IGl0ZW1zLmZpbHRlcigoYykgPT4gYy5pc1dvcmtmbG93KSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLm1heENvbnRlbnRXaWR0aCQgPSB0aGlzLl9tYXhDb250ZW50V2lkdGhTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIG1hcCgod2lkdGgpID0+ICh3aWR0aCA/IHdpZHRoICsgJ3B4JyA6ICdhdXRvJykpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy53aXphcmROZXh0U3RlcCQgPSB0aGlzLl93aXphcmROZXh0U3RlcFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMud2l6YXJkUHJldmlvdXNTdGVwJCA9IHRoaXMuX3dpemFyZFByZXZpb3VzU3RlcFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMubGF5b3V0JCA9IHRoaXMuX2xheW91dFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgbWFwKChsYXlvdXQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWxheW91dCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGF5b3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBkZXZpY2VXaWR0aCA9IERldmljZVdpZHRoKCk7XG4gICAgICAgICAgICAgICAgaWYgKGRldmljZVdpZHRoIDwgbGF5b3V0LkJvdW5kcy53aWR0aCkge1xuICAgICAgICAgICAgICAgICAgICBsYXlvdXQuQm91bmRzLndpZHRoID0gZGV2aWNlV2lkdGg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IC4uLmxheW91dCB9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmZvcmNlQ2xvc2UkID0gdGhpcy5fZm9yY2VDbG9zZVNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG5cbiAgICAgICAgdGhpcy5ncm91cExheW91dCQgPSB0aGlzLl9ncm91cEJSdWxlU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLmlzU2ltcGxlRm9ybSQgPSB0aGlzLl9pc1NpbXBsZUZvcm1Tb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMuZm9ybVdpZHRoJCA9IHRoaXMuX2Zvcm1XaWR0aFNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG5cbiAgICAgICAgdGhpcy50b29sYmFyVmlzaWJsZSQgPSB0aGlzLl90b29sYmFyVmlzaWJsZVNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMudGl0bGUkID0gY29tYmluZUxhdGVzdChbdGhpcy5faGVhZGVyVGl0bGVTb3VyY2UuYXNPYnNlcnZhYmxlKCksIHRoaXMuX3RpdGxlU291cmNlLmFzT2JzZXJ2YWJsZSgpXSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoW2hlYWRlclRpdGxlLCB0aXRsZV0pID0+IChoZWFkZXJUaXRsZSA/IGhlYWRlclRpdGxlIDogdGl0bGUpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLmhlYWRlckxheW91dCQgPSB0aGlzLl9oZWFkZXJMYXlvdXRTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigoaGVhZGVyTGF5b3V0KSA9PiAhIWhlYWRlckxheW91dCksXG4gICAgICAgICAgICB0YXAoKGhlYWRlckxheW91dCkgPT4gdGhpcy5faGVhZGVyVGl0bGVTb3VyY2UubmV4dChnZXRIZWFkZXJWYWx1ZShoZWFkZXJMYXlvdXQ/LlRpdGxlKSkpLFxuICAgICAgICAgICAgdGFwKChoZWFkZXJMYXlvdXQpID0+IHRoaXMuX2hpZGVDbG9zZSQubmV4dChoZWFkZXJMYXlvdXQ/LkhpZGVDbG9zZSkpLFxuICAgICAgICAgICAgdGFwKChoZWFkZXJMYXlvdXQpID0+IHRoaXMuX2hpZGVUaXRsZSQubmV4dChoZWFkZXJMYXlvdXQ/LkhpZGVUaXRsZSkpLFxuICAgICAgICAgICAgdGFwKChoZWFkZXJMYXlvdXQpID0+IHRoaXMuX2hpZGVQaW4kLm5leHQoaGVhZGVyTGF5b3V0Py5IaWRlUGluKSksXG4gICAgICAgICAgICB0YXAoKGhlYWRlckxheW91dCkgPT4gdGhpcy5faGVhZGVyRGVzY3JpcHRpb25Tb3VyY2UubmV4dChnZXRIZWFkZXJWYWx1ZShoZWFkZXJMYXlvdXQ/LkRlc2NyaXB0aW9uKSkpLFxuICAgICAgICAgICAgdGFwKChoZWFkZXJMYXlvdXQpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5faGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmdTb3VyY2UubmV4dChnZXRIZWFkZXJWYWx1ZShoZWFkZXJMYXlvdXQ/LlJlbW92ZUNvbnRlbnRQYWRkaW5nKSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmhlYWRlckRlc2NyaXB0aW9uJCA9IHRoaXMuX2hlYWRlckRlc2NyaXB0aW9uU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLmhlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nJCA9IHRoaXMuX2hlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nU291cmNlXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcbiAgICAgICAgICAgIC5waXBlKGRlbGF5KDApLCB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMuaGVhZGVyU3VidGl0bGUkID0gdGhpcy5oZWFkZXJMYXlvdXQkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGhlYWRlckxheW91dCkgPT4gZ2V0SGVhZGVyVmFsdWUoaGVhZGVyTGF5b3V0Py5TdWJUaXRsZSkpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5hdmF0YXIkID0gdGhpcy5oZWFkZXJMYXlvdXQkLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGhlYWRlckxheW91dCkgPT4gZ2V0SGVhZGVyVmFsdWUoaGVhZGVyTGF5b3V0Py5BdmF0YXIsIHRydWUpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMubWFzayQgPSB0aGlzLl9tYXNrU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgfVxuICAgIGdldCBoaWRlUGluJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVQaW4kLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBnZXQgaGlkZUNsb3NlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVDbG9zZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGdldCBoaWRlVGl0bGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZVRpdGxlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgZ2V0IGNhblNlbmQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FuU2VuZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGdldCBtbygpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vU291cmNlLmdldFZhbHVlKCk7XG4gICAgfVxuICAgIHNldCBjb250ZXh0KHZhbDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLl9jb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jb250ZXh0U291cmNlLm5leHQodmFsKTtcbiAgICB9XG4gICAgc2V0Rm9ybUhlaWdodCh2YWw6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSGVpZ2h0U291cmNlLm5leHQodmFsKTtcbiAgICB9XG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY29udGV4dC51bignR3JvdXBCUnVsZUNoYW5nZWQnLCB0aGlzLl9ncm91cEJSdWxlQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQudW4oJ1RpdGxlQ2hhbmdlZCcsIHRoaXMuX3RpdGxlQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQudW4oJ1dpemFyZE5leHRTdGVwJywgdGhpcy5fd2l6YXJkTmV4dFN0ZXApO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnVuKCdXaXphcmRQcmV2aW91c1N0ZXAnLCB0aGlzLl93aXphcmRQcmV2aW91c1N0ZXApO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnVuKCdEb0xheW91dCcsIHRoaXMuX2RvTGF5b3V0KTtcbiAgICAgICAgdGhpcy5fY29udGV4dC51bignTWFza0NoYW5nZWQnLCB0aGlzLl9tYXNrQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQudW4oJ0ZvcmNlQ2xvc2UnLCB0aGlzLl9mb3JjZUNsb3NlKTtcbiAgICAgICAgdGhpcy5fY29udGV4dC50b29sYmFyLnVuKCdUb29sYmFySXRlbXNDaGFuZ2VkJywgdGhpcy5fdG9vbGJhckl0ZW1zQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQgPSBudWxsO1xuICAgICAgICB0aGlzLl9sYXlvdXRTb3VyY2UubmV4dChudWxsKTtcbiAgICAgICAgLy8gdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgdG9vbGJhckNsaWNrKGJ0bik6IHZvaWQge1xuICAgICAgICBidG4uaGFuZGxlcihidG4sIHRoaXMuX2NvbnRleHQpO1xuICAgIH1cbiAgICB3ZkNob2ljZShidG4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGV4dC5Xb3JrZmxvd1BhbmVsVWkuZmlyZUV2ZW50KCdDaG9pY2VTZWxlY3QnLCBidG4sIHRoaXMuX2NvbnRleHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfaW5pdGlhbGl6ZShjb250ZXh0OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd29ya2Zsb3dQYW5lbFVpU291cmNlLm5leHQoY29udGV4dD8uV29ya2Zsb3dQYW5lbFVpKTtcbiAgICAgICAgdGhpcy5faXNTZWFyY2hQYW5lbFNvdXJjZS5uZXh0KGNvbnRleHQ/LlNldHRpbmc/LklzU2VhcmNoUGFuZWwpO1xuICAgICAgICB0aGlzLl9pc1NlYXJjUGFuZWxJblNpZGVDb250ZW50Lm5leHQoY29udGV4dD8uU2V0dGluZz8uSXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCk7XG4gICAgICAgIHRoaXMuX2NhblNlbmQkLm5leHQoY29udGV4dD8uU2V0dGluZz8uQ2FuU2VuZCk7XG4gICAgICAgIHRoaXMuX3NlYXJjaFBhbmVsSXNPYmplY3RTb3VyY2UubmV4dChjb250ZXh0Py5TZXR0aW5nPy5QYXJhbWV0ZXJUeXBlSXNPYmplY3QpO1xuICAgICAgICB0aGlzLl9tb1NvdXJjZS5uZXh0KGNvbnRleHQ/Lk1vKTtcbiAgICAgICAgdGhpcy5fdmlld1NvdXJjZS5uZXh0KGNvbnRleHQ/LlNldHRpbmc/LlZpZXcpO1xuICAgICAgICB0aGlzLl90b29sYmFySXRlbXNTb3VyY2UubmV4dChjb250ZXh0Py50b29sYmFyPy5pdGVtcyk7XG4gICAgICAgIGlmIChjb250ZXh0Py50b29sYmFyKSB7XG4gICAgICAgICAgICBjb250ZXh0LnRvb2xiYXIub24oe1xuICAgICAgICAgICAgICAgIFRvb2xiYXJJdGVtc0NoYW5nZWQ6IHRoaXMuX3Rvb2xiYXJJdGVtc0NoYW5nZWQuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdGl0bGVTb3VyY2U/Lm5leHQoY29udGV4dD8udGl0bGUpO1xuICAgICAgICB0aGlzLl90b29sYmFyVmlzaWJsZVNvdXJjZS5uZXh0KHRoaXMuX2dldFRvb2xiYXJWaXNpYmlsaXR5KGNvbnRleHQpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3ByZXBhcmVWaWV3KHZpZXcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0U291cmNlLm5leHQodmlldz8uTGF5b3V0OTQpO1xuICAgICAgICB0aGlzLl9wcmVwYXJlTGF5b3V0Q29tcG9uZW50KHZpZXcpO1xuICAgICAgICB0aGlzLl9tYXhDb250ZW50V2lkdGhTb3VyY2UubmV4dCh0aGlzLl9nZXRNYXhDb250ZW50V2lkdGgodmlldykpO1xuICAgICAgICB0aGlzLl9pc1NpbXBsZUZvcm1Tb3VyY2UubmV4dCh0aGlzLl9nZXRJc1NpbXBsZUZvcm0odmlldykpO1xuICAgICAgICB0aGlzLl9oZWFkZXJMYXlvdXRTb3VyY2UubmV4dCh0aGlzLl9nZXRIZWFkZXJMYXlvdXQodmlldykpO1xuICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgICAgdGhpcy5Db2xvbkluTGFiZWwgPSB2aWV3LkNvbG9uSW5MYWJlbCAhPT0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9ybVdpZHRoU291cmNlLm5leHQodmlldz8uaW5EaWFsb2cgPyB2aWV3LkxheW91dDk0LkJvdW5kcy53aWR0aCArICdweCcgOiAnMTAwJScpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2ZpbHRlclRvb2xiYXJJdGVtcyhpdGVtczogQXJyYXk8YW55Pik6IEFycmF5PGFueT4ge1xuICAgICAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgLy8g2K/YsSDYtdmI2LHYqtuMINqp2Ycg2K/YsSDZhdmI2KjYp9uM2YQg2KjYp9i02K8g2K/ZiCDYr9qp2YXZhyDZhtmF2KfbjNi0INiv2KfYr9mHINi02YjYryDYp9iyINiv2qnZhdmHINmH2KfbjCDaqdin2LHYqNixINmIINmB2LHYotuM2YbYr9uMXG4gICAgICAgIC8vINiv2LEg2LXZiNix2KrbjCDaqdmHINiv2qnZhdmHINuMINmI2KzZiNivINmG2K/Yp9i02Kog2YHZgti3INiv2qnZhdmHINiw2K7bjNix2Ycg2YbZhdin24zYtCDYr9in2K/ZhyDYtNmI2K9cbiAgICAgICAgLy8g2K/YsSDYrdin2YTYqtmH2KfbjCDYr9uM2q/YsSDYp9io2KrYr9inINiv2qnZhdmHINmH2KfbjCDaqdin2LHYqNix24wg2Ygg2YHYsdii24zZhtiv24wg2Ygg2KjYudivINiv2qnZhdmHINmH2KfbjCDYqti52LHbjNmBINi02K/ZhyDYs9uM2LPYqtmFINmG2YXYp9uM2LQg2K/Yp9iv2Ycg2YXbjNi02YjYry5cbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICBsZXQgbmV3SXRlbXMgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoYykgPT4gIWMuaGlkZGVuICYmICEoaXNNb2JpbGUgJiYgKGMuaXRlbUlkID09PSAnTmV4dCcgfHwgYy5pdGVtSWQgPT09ICdQcmV2aW91cycpKVxuICAgICAgICApO1xuXG4gICAgICAgIG5ld0l0ZW1zLnNvcnQoKGMsIGQpOiBudW1iZXIgPT4gKE51bWJlcihjPy5EYXRhPy5UYWJPcmRlck51bWJlcikgPCBOdW1iZXIoZD8uRGF0YT8uVGFiT3JkZXJOdW1iZXIpID8gMSA6IC0xKSk7XG4gICAgICAgIGNvbnN0IG5vblN0cmluZ0l0ZW1zID0gbmV3SXRlbXMuZmlsdGVyKChjKSA9PiB0eXBlb2YgYyAhPT0gJ3N0cmluZycpO1xuXG4gICAgICAgIGNvbnN0IHQgPSBub25TdHJpbmdJdGVtcy5maW5kKChjKSA9PiAhYy5pc0J1aWx0aW4gJiYgIWMuSUFtTWVudSk7XG4gICAgICAgIGlmICh0KSB7XG4gICAgICAgICAgICB0LnByaW9yaXR5ID0gJ2hpZ2gnO1xuICAgICAgICB9XG4gICAgICAgIC8vIGxldCBub25CdWlsdGluQ291bnQgPSAwO1xuICAgICAgICAvLyBub25TdHJpbmdJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIC8vICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgICAgY29uc3QgaW5Gb290ZXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShpdGVtLCAnRGF0YS5DdXN0b21VaS5QYXJhbWV0ZXJzLkluRm9vdGVyJywgZmFsc2UpO1xuICAgICAgICAvLyAgICAgaWYgKGl0ZW0uaXNCdWlsdGluIHx8IGluRm9vdGVyKSB7XG4gICAgICAgIC8vICAgICAgICAgLy8g2LPbjNiz2KrZhduMXG4gICAgICAgIC8vICAgICAgICAgaXRlbS5wcmlvcml0eSA9ICdhbHdheXMnO1xuICAgICAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gICAgICAgICBpZiAobm9uQnVpbHRpbkNvdW50ID4gMSkge1xuICAgICAgICAvLyAgICAgICAgICAgICAvLyDYr9qp2YXZhyDZh9in24wg2qnYp9ix2KjYsduMINqp2Ycg2KjbjNi02KrYsSDYp9iyINiv2Ygg2YfYs9iq2YbYr1xuICAgICAgICAvLyAgICAgICAgICAgICBpdGVtLnByaW9yaXR5ID0gJ2xvdyc7XG4gICAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgaXRlbS5wcmlvcml0eSA9ICdsb3cnO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgICAgICBub25CdWlsdGluQ291bnQrKztcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSk7XG4gICAgICAgIGNvbnN0IG5vQnVpbHRpbkl0ZW1zID0gbm9uU3RyaW5nSXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgKGMpID0+XG4gICAgICAgICAgICAgICAgdHlwZW9mIGMgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgIWMuaXNCdWlsdGluICYmXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoYywgJ0RhdGEuQ3VzdG9tVWkuUGFyYW1ldGVycy5JbkZvb3RlcicsIGZhbHNlKSAhPT0gdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBub0J1aWx0aW5JdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaW5kZXggPT09IDAgPyAoaXRlbS5wcmlvcml0eSA9ICdoaWdodCcpIDogKGl0ZW0ucHJpb3JpdHkgPSAnbG93Jyk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBub25CdWlsdGluQ291bnQgPSBub0J1aWx0aW5JdGVtcy5sZW5ndGg7XG4gICAgICAgIGlmIChub25CdWlsdGluQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgIC8vINin2q/YsSDZh9uM2oYg2K/aqdmF2Ycg2qnYp9ix2KjYsduMINmI2KzZiNivINmG2K/Yp9i02KpcbiAgICAgICAgICAgIG5vblN0cmluZ0l0ZW1zLmZvckVhY2goKGl0ZW0sIF8pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pdGVtSWQgPT09ICdTYXZlJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnByaW9yaXR5ID0gJ25ldmVyJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzYXZlQW5kTmV3ID0gbmV3SXRlbXMuZmluZCgoYykgPT4gYy5pdGVtSWQgPT09ICdTYXZlQW5kTmV3Jyk7XG4gICAgICAgIGNvbnN0IHNhdmVBbmRDbG9zZSA9IG5ld0l0ZW1zLmZpbmQoKGMpID0+IGMuaXRlbUlkID09PSAnU2F2ZUFuZENsb3NlJyk7XG4gICAgICAgIGlmIChzYXZlQW5kQ2xvc2UgJiYgc2F2ZUFuZENsb3NlLm1lbnUpIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmUgPSBzYXZlQW5kQ2xvc2UubWVudS5pdGVtc1swXTtcbiAgICAgICAgICAgIGlmIChzYXZlKSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5pc0J1aWx0aW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIHNhdmUucHJpb3JpdHkgPSBub25CdWlsdGluQ291bnQgPT09IDAgPyAnbmV2ZXInIDogJ2Fsd2F5cyc7XG5cbiAgICAgICAgICAgICAgICBuZXdJdGVtcy5wdXNoKHNhdmUpO1xuICAgICAgICAgICAgICAgIGlmIChzYXZlQW5kTmV3KSB7XG4gICAgICAgICAgICAgICAgICAgIHNhdmUuSUFtTWVudSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNhdmUubWVudSA9IHsgaXRlbXM6IFt7IC4uLnNhdmVBbmROZXcgfV0gfTtcbiAgICAgICAgICAgICAgICAgICAgbmV3SXRlbXMgPSBuZXdJdGVtcy5maWx0ZXIoKGMpID0+IGMuaXRlbUlkICE9PSAnU2F2ZUFuZE5ldycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBuZXdJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5tZW51KSB7XG4gICAgICAgICAgICAgICAgaXRlbS5tZW51Lml0ZW1zID0gaXRlbS5tZW51Lml0ZW1zLmZpbHRlcigoYykgPT4gIWMuaGlkZGVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGJ1aWx0aW5zQnV0dG9ucyA9IG5ld0l0ZW1zLmZpbHRlcigoYykgPT4gYz8uaXNCdWlsdGluKTtcbiAgICAgICAgbmV3SXRlbXMgPSBbXG4gICAgICAgICAgICAuLi5idWlsdGluc0J1dHRvbnMsXG4gICAgICAgICAgICAuLi5uZXdJdGVtcy5maWx0ZXIoKGMpID0+ICFjPy5pc0J1aWx0aW4gJiYgIWM/LmlzV29ya2Zsb3cpLFxuICAgICAgICAgICAgLi4ubmV3SXRlbXMuZmlsdGVyKChjKSA9PiBjPy5pc1dvcmtmbG93KVxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBtb3ZlTmV4dEluZGV4ID0gbmV3SXRlbXMuZmluZEluZGV4KChjKSA9PiBjLml0ZW1JZCA9PT0gJ01vdmVOZXh0Jyk7XG4gICAgICAgIGlmIChtb3ZlTmV4dEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIG5ld0l0ZW1zW21vdmVOZXh0SW5kZXhdLnByaW9yaXR5ID0gJ2Fsd2F5cyc7XG4gICAgICAgICAgICBjb25zdCBtb3MgPSBuZXdJdGVtcy5zcGxpY2UobW92ZU5leHRJbmRleCAtIDEsIDIpO1xuICAgICAgICAgICAgbmV3SXRlbXMgPSBbLi4ubW9zLCAuLi5uZXdJdGVtc107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW92ZVByZXZJbmRleCA9IG5ld0l0ZW1zLmZpbmRJbmRleCgoYykgPT4gYy5pdGVtSWQgPT09ICdNb3ZlUHJldicpO1xuICAgICAgICBpZiAobW92ZVByZXZJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBuZXdJdGVtc1ttb3ZlUHJldkluZGV4XS5wcmlvcml0eSA9ICdhbHdheXMnO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNoZWNrIHRvb2xiYXJpdGVtcyBpbiBmb290ZXIgcHJvcGVydHlcbiAgICAgICAgbmV3SXRlbXMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5Gb290ZXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShjLCAnRGF0YS5DdXN0b21VaS5QYXJhbWV0ZXJzLkluRm9vdGVyJywgZmFsc2UpO1xuICAgICAgICAgICAgaWYgKGluRm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgYy5pbkZvb3RlciA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBuZXdJdGVtcy5yZXZlcnNlKCk7XG4gICAgICAgIC8vIHJldHVybiBuZXdJdGVtcy5zb3J0KChhKTogbnVtYmVyID0+ICh0eXBlb2YgYSA9PSAnc3RyaW5nJyA/IDAgOiBhLklBbU1lbnUgPyAxIDogLTEpKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9nZXRIZWFkZXJMYXlvdXQodmlldyk6IElIZWFkZXJMYXlvdXQge1xuICAgICAgICBjb25zdCBoZWFkZXJMYXlvdXQgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh2aWV3LCAnSGVhZGVyTGF5b3V0JywgbnVsbCk7XG5cbiAgICAgICAgaWYgKGhlYWRlckxheW91dCkge1xuICAgICAgICAgICAgLy8gdGhpcy5zZXRIZWFkZXJUaXRsZUFuZFN1YnRpdGxlQW5kQXZhdGFyKGhlYWRlckxheW91dCk7XG4gICAgICAgICAgICBjb25zdCB0OiBhbnlbXSA9IFtdO1xuICAgICAgICAgICAgaGVhZGVyTGF5b3V0LkZhY2V0TGlzdC5Nb0RhdGFMaXN0LmZvckVhY2goKGZhY2V0Q29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZmFjZXRDb2x1bW4uQ29sdW1uU2V0dGluZ3MuJEZvcm1QYW5lbFNldHRpbmcuRGF0YS5Nby5UeXBlLFxuICAgICAgICAgICAgICAgICAgICBtbzogZmFjZXRDb2x1bW4uQ29sdW1uU2V0dGluZ3MuJEZvcm1QYW5lbFNldHRpbmcuRGF0YS5Nb1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBoZWFkZXJMYXlvdXQuRmFjZXRMaXN0MiA9IHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhlYWRlckxheW91dDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9wcmVwYXJlTGF5b3V0Q29tcG9uZW50KHZpZXc6IEZvcm1WaWV3U2V0dGluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZpZXcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsYXlvdXRDb21wb25lbnRzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmlldywgJ0V4dHJhSnNvblByb3AuQ29tcG9uZW50cycsIG51bGwpO1xuICAgICAgICBpZiAoIWxheW91dENvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGF5b3V0Q29tcG9uZW50cykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsYXlvdXRDb21wb25lbnRzLmZvckVhY2goKGxheW91dENvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0U2V0dGluZyA9IEZpbmRMYXlvdXRTZXR0aW5nRnJvbUxheW91dDk0KHZpZXcuTGF5b3V0OTQsIGxheW91dENvbXBvbmVudC5MYXlvdXRUaXRsZSk7XG4gICAgICAgICAgICBpZiAobGF5b3V0U2V0dGluZyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGF5b3V0U2V0dGluZy5jb21wb25lbnQgPSB7IC4uLmxheW91dENvbXBvbmVudCB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9nZXRJc1NpbXBsZUZvcm0odmlldzogRm9ybVZpZXdTZXR0aW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzU2ltcGxlID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmlldywgJ0V4dHJhSnNvblByb3AuSXNTaW1wbGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiBpc1NpbXBsZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9nZXRUb29sYmFyVmlzaWJpbGl0eShjb250ZXh0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghY29udGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhpZGVUb29sYmFyID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoY29udGV4dCwgJ3Rvb2xiYXIuaGlkZVRvb2xiYXInLCBmYWxzZSk7XG4gICAgICAgIGlmIChoaWRlVG9vbGJhcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgRm9ybVNldHRpbmdzIH0gPSBjb250ZXh0LlNldHRpbmcuVmlldztcbiAgICAgICAgaWYgKEZvcm1TZXR0aW5ncykge1xuICAgICAgICAgICAgY29uc3Qgc2hvd1Rvb2xiYXIgPSBGb3JtU2V0dGluZ3MuU2hvd1Rvb2xiYXIgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICAgICAgY29uc3QgZmVhdHVyZVRvb2xiYXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShjb250ZXh0LCAnRmVhdHVyZXMuVG9vbGJhcicsIGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgdmlzaWJsZSA9IChmZWF0dXJlVG9vbGJhciAmJiBzaG93VG9vbGJhcikgIT09IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZ2V0TWF4Q29udGVudFdpZHRoKHZpZXcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtYXhDb250ZW50V2lkdGggPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh2aWV3LCAnRXh0cmFKc29uUHJvcC5NYXhXaWR0aCcsICcwJyk7XG4gICAgICAgIHJldHVybiBtYXhDb250ZW50V2lkdGg7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfYWRkTGlzdGVuZXIoY29udGV4dCk6IHZvaWQge1xuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0Lm9uKHtcbiAgICAgICAgICAgIEdyb3VwQlJ1bGVDaGFuZ2VkOiB0aGlzLl9ncm91cEJSdWxlQ2hhbmdlZC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgVGl0bGVDaGFuZ2VkOiB0aGlzLl90aXRsZUNoYW5nZWQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIFdpemFyZE5leHRTdGVwOiB0aGlzLl93aXphcmROZXh0U3RlcC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgV2l6YXJkUHJldmlvdXNTdGVwOiB0aGlzLl93aXphcmRQcmV2aW91c1N0ZXAuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIERvTGF5b3V0OiB0aGlzLl9kb0xheW91dC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgTWFza0NoYW5nZWQ6IHRoaXMuX21hc2tDaGFuZ2VkLmJpbmQodGhpcyksXG4gICAgICAgICAgICBGb3JjZUNsb3NlOiB0aGlzLl9mb3JjZUNsb3NlLmJpbmQodGhpcyksXG4gICAgICAgICAgICBSZWZyZXNoOiB0aGlzLl9yZWZyZXNoLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnRleHQudG9vbGJhci5vbih7XG4gICAgICAgICAgICBUb29sYmFySXRlbXNDaGFuZ2VkOiB0aGlzLl90b29sYmFySXRlbXNDaGFuZ2VkLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmVmcmVzaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZSh0aGlzLl9jb250ZXh0KTtcbiAgICAgICAgLy8gdGhpcy5fcHJlcGFyZVZpZXcodGhpcy5fY29udGV4dC5TZXR0aW5nLlZpZXcpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2ZvcmNlQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvcmNlQ2xvc2VTb3VyY2UubmV4dCgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX21hc2tDaGFuZ2VkKG1hc2spOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWFza1NvdXJjZS5uZXh0KG1hc2spO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3Rvb2xiYXJJdGVtc0NoYW5nZWQoaXRlbXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9vbGJhckl0ZW1zU291cmNlLm5leHQoaXRlbXMpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3RpdGxlQ2hhbmdlZCh0aXRsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aXRsZVNvdXJjZS5uZXh0KHRpdGxlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF93aXphcmROZXh0U3RlcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2l6YXJkTmV4dFN0ZXBTb3VyY2UubmV4dCgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3dpemFyZFByZXZpb3VzU3RlcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2l6YXJkUHJldmlvdXNTdGVwU291cmNlLm5leHQoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9kb0xheW91dChjb250ZXh0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpZXcgPSBjb250ZXh0LlNldHRpbmcuVmlldztcbiAgICAgICAgdGhpcy5fdmlld1NvdXJjZS5uZXh0KHZpZXcpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2dyb3VwQlJ1bGVDaGFuZ2VkKGdyb3VwSXRlbTogTGF5b3V0U2V0dGluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ncm91cEJSdWxlU291cmNlLm5leHQoZ3JvdXBJdGVtKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9wcmVwYXJlQ29udGV4dChjb250ZXh0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FkZExpc3RlbmVyKGNvbnRleHQpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplKGNvbnRleHQpO1xuICAgICAgICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDtcbiAgICB9XG59XG4iXX0=
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1wYW5lbC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9mb3JtLXBhbmVsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0csTUFBTSxPQUFPLGdCQUFpQixTQUFRLGFBQWE7SUE2RC9DO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUExQ1osZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNsRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQVl4QyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ2hELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ25ELCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQzNELCtCQUEwQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLDJCQUFzQixHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQ3hELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUMzQyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFDO1FBQzdDLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0MsMkJBQXNCLEdBQUcsSUFBSSxlQUFlLENBQVMsTUFBTSxDQUFDLENBQUM7UUFDN0QsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1Qyw4QkFBeUIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hELGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7UUFDL0Msc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUNqRCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMxRCxxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxNQUFNLENBQUMsQ0FBQztRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUMzRCx3QkFBbUIsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztRQUNyRCx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNyRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xELHNDQUFpQyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLDZCQUF3QixHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzNELGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUV4RCxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUdoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDL0MsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsMEJBQTBCO2FBQzVELFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3JHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQzNCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUN4QixTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzlCLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQy9DLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQzlCLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDaEUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDL0MsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFDakQsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUMvQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM5QixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDM0csSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxNQUFNLENBQUM7WUFDbEIsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQztZQUN0QyxDQUFDO1lBQ0QsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFM0YsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUU1RixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRS9GLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFekYsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNuRyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hHLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNsRSxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM5QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUM3RCxNQUFNLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsRUFDeEMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUN4RixHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUNyRSxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUNyRSxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxFQUNqRSxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQ3BHLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQ2pCLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQ2xHLEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUV6RyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsSUFBSSxDQUFDLGlDQUFpQzthQUNwRSxZQUFZLEVBQUU7YUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFDN0QsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFDakUsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FDOUIsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUNqRSxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUM5QixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUNELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUNELElBQUksRUFBRTtRQUNGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsR0FBUTtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDRCxhQUFhLENBQUMsR0FBVztRQUNyQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QiwyQkFBMkI7SUFDL0IsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFHO1FBQ1osR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxRQUFRLENBQUMsR0FBRztRQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRVMsV0FBVyxDQUFDLE9BQVk7UUFDOUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDOUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3ZELElBQUksT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ25CLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNmLG1CQUFtQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQzVELENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRVMsWUFBWSxDQUFDLElBQUk7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQztRQUNwRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RixDQUFDO0lBQ1MsbUJBQW1CLENBQUMsS0FBaUI7UUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBQ0QsZ0ZBQWdGO1FBQ2hGLDhEQUE4RDtRQUM5RCxtR0FBbUc7UUFDbkcsTUFBTSxRQUFRLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztRQUNyQyxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUN2QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQ3RGLENBQUM7UUFFRixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUcsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQztRQUN4QixDQUFDO1FBQ0QsMkJBQTJCO1FBQzNCLHFDQUFxQztRQUNyQyxzQ0FBc0M7UUFDdEMsa0JBQWtCO1FBQ2xCLFFBQVE7UUFDUiwyR0FBMkc7UUFDM0csd0NBQXdDO1FBQ3hDLG9CQUFvQjtRQUNwQixvQ0FBb0M7UUFDcEMsZUFBZTtRQUNmLHFDQUFxQztRQUNyQyxzREFBc0Q7UUFDdEQscUNBQXFDO1FBQ3JDLG1CQUFtQjtRQUNuQixxQ0FBcUM7UUFDckMsWUFBWTtRQUNaLDZCQUE2QjtRQUM3QixRQUFRO1FBQ1IsTUFBTTtRQUNOLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQ3hDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDRixPQUFPLENBQUMsS0FBSyxRQUFRO1lBQ3JCLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDWixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FDL0YsQ0FBQztRQUNGLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDbkMsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDO1FBQzlDLElBQUksZUFBZSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLGlDQUFpQztZQUNqQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUMvQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7b0JBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO2dCQUM1QixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxZQUFZLENBQUMsQ0FBQztRQUNuRSxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksWUFBWSxJQUFJLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNQLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUUzRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQixJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUNwQixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFDM0MsUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssWUFBWSxDQUFDLENBQUM7Z0JBQ2pFLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDWixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9ELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM3RCxRQUFRLEdBQUc7WUFDUCxHQUFHLGVBQWU7WUFDbEIsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLElBQUksQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDO1lBQzFELEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztTQUMzQyxDQUFDO1FBQ0YsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQztRQUN6RSxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3JCLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQzVDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNsRCxRQUFRLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDaEQsQ0FBQztRQUNELHdDQUF3QztRQUN4QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRSxtQ0FBbUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNqRyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNYLENBQUMsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzFCLHdGQUF3RjtJQUM1RixDQUFDO0lBQ1MsZ0JBQWdCLENBQUMsSUFBSTtRQUMzQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2YseURBQXlEO1lBQ3pELE1BQU0sQ0FBQyxHQUFVLEVBQUUsQ0FBQztZQUNwQixZQUFZLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDdEQsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDSCxJQUFJLEVBQUUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUk7b0JBQy9ELEVBQUUsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFO2lCQUMzRCxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztZQUNILFlBQVksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBQ1MsdUJBQXVCLENBQUMsSUFBcUI7UUFDbkQsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1IsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNYLENBQUM7UUFDRCxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUN6QyxNQUFNLGFBQWEsR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNoRyxJQUFJLGFBQWEsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDeEIsT0FBTztZQUNYLENBQUM7WUFDRCxhQUFhLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxlQUFlLEVBQUUsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDUyxnQkFBZ0IsQ0FBQyxJQUFxQjtRQUM1QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFDUyxxQkFBcUIsQ0FBQyxPQUFPO1FBQ25DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVGLElBQUksV0FBVyxFQUFFLENBQUM7WUFDZCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzlDLElBQUksWUFBWSxFQUFFLENBQUM7WUFDZixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdEUsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUU1RixNQUFNLE9BQU8sR0FBRyxDQUFDLGNBQWMsSUFBSSxXQUFXLENBQUMsS0FBSyxLQUFLLENBQUM7WUFDMUQsT0FBTyxPQUFPLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDUyxtQkFBbUIsQ0FBQyxJQUFJO1FBQzlCLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUYsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQztJQUNTLFlBQVksQ0FBQyxPQUFPO1FBQzFCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNYLE9BQU87UUFDWCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNQLGlCQUFpQixFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3JELFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDM0MsY0FBYyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUMvQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2RCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ25DLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDekMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN2QyxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2YsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDNUQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNTLFFBQVE7UUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxpREFBaUQ7SUFDckQsQ0FBQztJQUNTLFdBQVc7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDUyxZQUFZLENBQUMsSUFBSTtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ1Msb0JBQW9CLENBQUMsS0FBSztRQUNoQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDUyxhQUFhLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ1MsZUFBZTtRQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUNTLG1CQUFtQjtRQUN6QixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNTLFNBQVMsQ0FBQyxPQUFPO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDUyxrQkFBa0IsQ0FBQyxTQUF3QjtRQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDUyxlQUFlLENBQUMsT0FBTztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDNUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBTdWJqZWN0LCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRlbGF5LCBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGb3JtVmlld1NldHRpbmcsIElIZWFkZXJMYXlvdXQsIExheW91dFNldHRpbmcsIE1ldGFvYmplY3REYXRhTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscyc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMvYmFyc2EtYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IERldmljZVdpZHRoLCBGaW5kTGF5b3V0U2V0dGluZ0Zyb21MYXlvdXQ5NCwgZ2V0RGV2aWNlSXNNb2JpbGUsIGdldEhlYWRlclZhbHVlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNsYXNzIEZvcm1QYW5lbFNlcnZpY2UgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICBjb250ZXh0JDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIHNlYXJjaFBhbmVsSXNPYmplY3QkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzU2VhcmNoUGFuZWwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGlzU2VhcmNQYW5lbEluU2lkZUNvbnRlbnQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIHdvcmtmbG93UGFuZWxVaSQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBtbyQ6IE9ic2VydmFibGU8TWV0YW9iamVjdERhdGFNb2RlbD47XG4gICAgdmlldyQ6IE9ic2VydmFibGU8YW55PjtcbiAgICB0b29sYmFySXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICB3b3JrZmxvd0J1dHRvbnMkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgICBtYXhDb250ZW50V2lkdGgkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgd2l6YXJkTmV4dFN0ZXAkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAgIHdpemFyZFByZXZpb3VzU3RlcCQ6IE9ic2VydmFibGU8dm9pZD47XG4gICAgbGF5b3V0JDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGZvcmNlQ2xvc2UkOiBPYnNlcnZhYmxlPHZvaWQ+O1xuICAgIGdyb3VwTGF5b3V0JDogT2JzZXJ2YWJsZTxMYXlvdXRTZXR0aW5nPjtcbiAgICBpc1NpbXBsZUZvcm0kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGZvcm1XaWR0aCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgICB0b29sYmFyVmlzaWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgaGVhZGVyTGF5b3V0JDogT2JzZXJ2YWJsZTxJSGVhZGVyTGF5b3V0PjtcbiAgICBfaGlkZUNsb3NlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIF9oaWRlVGl0bGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgX2hpZGVQaW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyRGVzY3JpcHRpb24kOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gICAgaGVhZGVyUmVtb3ZlQ29udGVudFBhZGRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGhlYWRlclN1YnRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICAgIGF2YXRhciQ6IE9ic2VydmFibGU8YW55PjtcbiAgICBjaXJjbGVBdmF0YXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIG1hc2skOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIGZvcm1IZWlnaHQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgZmllbGREaWN0JDogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgdW5kZWZpbmVkPjtcblxuICAgIHByaXZhdGUgX2NvbnRleHQ7XG4gICAgcHJpdmF0ZSBfY29udGV4dFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgICBwcml2YXRlIF9mb3JtSGVpZ2h0U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgX3NlYXJjaFBhbmVsSXNPYmplY3RTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIF9pc1NlYXJjaFBhbmVsU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gICAgcHJpdmF0ZSBfaXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX3dvcmtmbG93UGFuZWxVaVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgICBwcml2YXRlIF9tb1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgICBwcml2YXRlIF92aWV3U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX3Rvb2xiYXJJdGVtc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55W10+KFtdKTtcbiAgICBwcml2YXRlIF90aXRsZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSBfbWF4Q29udGVudFdpZHRoU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCdhdXRvJyk7XG4gICAgcHJpdmF0ZSBfd2l6YXJkTmV4dFN0ZXBTb3VyY2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX3dpemFyZFByZXZpb3VzU3RlcFNvdXJjZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfbGF5b3V0U291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xuICAgIHByaXZhdGUgX2ZvcmNlQ2xvc2VTb3VyY2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgX2dyb3VwQlJ1bGVTb3VyY2UgPSBuZXcgU3ViamVjdDxMYXlvdXRTZXR0aW5nPigpO1xuICAgIHByaXZhdGUgX2lzU2ltcGxlRm9ybVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX2Zvcm1XaWR0aFNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignMTAwJScpO1xuICAgIHByaXZhdGUgX3Rvb2xiYXJWaXNpYmxlU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcbiAgICBwcml2YXRlIF9oZWFkZXJMYXlvdXRTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XG4gICAgcHJpdmF0ZSBfaGVhZGVyVGl0bGVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgX21hc2tTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIF9oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZ1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByaXZhdGUgX2hlYWRlckRlc2NyaXB0aW9uU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIF9jYW5TZW5kJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIGZvcm1Db250YWluZXJEb206IEhUTUxFbGVtZW50O1xuICAgIENvbG9uSW5MYWJlbCA9IHRydWU7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29udGV4dCQgPSB0aGlzLl9jb250ZXh0U291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGNvbnRleHQpID0+IHRoaXMuX3ByZXBhcmVDb250ZXh0KGNvbnRleHQpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VhcmNoUGFuZWxJc09iamVjdCQgPSB0aGlzLl9zZWFyY2hQYW5lbElzT2JqZWN0U291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcbiAgICAgICAgdGhpcy5pc1NlYXJjaFBhbmVsJCA9IHRoaXMuX2lzU2VhcmNoUGFuZWxTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLmlzU2VhcmNQYW5lbEluU2lkZUNvbnRlbnQkID0gdGhpcy5faXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudFxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLndvcmtmbG93UGFuZWxVaSQgPSB0aGlzLl93b3JrZmxvd1BhbmVsVWlTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLmZvcm1IZWlnaHQkID0gdGhpcy5fZm9ybUhlaWdodFNvdXJjZS5hc09ic2VydmFibGUoKTtcbiAgICAgICAgdGhpcy5tbyQgPSB0aGlzLl9tb1NvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgICAgIHRoaXMuZmllbGREaWN0JCA9IHRoaXMubW8kLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGMpID0+IGMuJEZpZWxkRGljdCksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnZpZXckID0gdGhpcy5fdmlld1NvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgdGFwKCh2aWV3KSA9PiB0aGlzLl9wcmVwYXJlVmlldyh2aWV3KSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnRvb2xiYXJJdGVtcyQgPSB0aGlzLl90b29sYmFySXRlbXNTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoaXRlbXMpID0+IHRoaXMuX2ZpbHRlclRvb2xiYXJJdGVtcyhpdGVtcykpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMud29ya2Zsb3dCdXR0b25zJCA9IHRoaXMuX3Rvb2xiYXJJdGVtc1NvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgICAgICAgbWFwKChpdGVtcykgPT4gdGhpcy5fZmlsdGVyVG9vbGJhckl0ZW1zKGl0ZW1zKSksXG4gICAgICAgICAgICBtYXAoKGl0ZW1zKSA9PiBpdGVtcy5maWx0ZXIoKGMpID0+IGMuaXNXb3JrZmxvdykpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5tYXhDb250ZW50V2lkdGgkID0gdGhpcy5fbWF4Q29udGVudFdpZHRoU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHdpZHRoKSA9PiAod2lkdGggPyB3aWR0aCArICdweCcgOiAnYXV0bycpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMud2l6YXJkTmV4dFN0ZXAkID0gdGhpcy5fd2l6YXJkTmV4dFN0ZXBTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLndpemFyZFByZXZpb3VzU3RlcCQgPSB0aGlzLl93aXphcmRQcmV2aW91c1N0ZXBTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLmxheW91dCQgPSB0aGlzLl9sYXlvdXRTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIG1hcCgobGF5b3V0KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFsYXlvdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxheW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgZGV2aWNlV2lkdGggPSBEZXZpY2VXaWR0aCgpO1xuICAgICAgICAgICAgICAgIGlmIChkZXZpY2VXaWR0aCA8IGxheW91dC5Cb3VuZHMud2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGF5b3V0LkJvdW5kcy53aWR0aCA9IGRldmljZVdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4geyAuLi5sYXlvdXQgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5mb3JjZUNsb3NlJCA9IHRoaXMuX2ZvcmNlQ2xvc2VTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMuZ3JvdXBMYXlvdXQkID0gdGhpcy5fZ3JvdXBCUnVsZVNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG5cbiAgICAgICAgdGhpcy5pc1NpbXBsZUZvcm0kID0gdGhpcy5faXNTaW1wbGVGb3JtU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLmZvcm1XaWR0aCQgPSB0aGlzLl9mb3JtV2lkdGhTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuXG4gICAgICAgIHRoaXMudG9vbGJhclZpc2libGUkID0gdGhpcy5fdG9vbGJhclZpc2libGVTb3VyY2UuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpO1xuICAgICAgICB0aGlzLnRpdGxlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2hlYWRlclRpdGxlU291cmNlLmFzT2JzZXJ2YWJsZSgpLCB0aGlzLl90aXRsZVNvdXJjZS5hc09ic2VydmFibGUoKV0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFtoZWFkZXJUaXRsZSwgdGl0bGVdKSA9PiAoaGVhZGVyVGl0bGUgPyBoZWFkZXJUaXRsZSA6IHRpdGxlKSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5oZWFkZXJMYXlvdXQkID0gdGhpcy5faGVhZGVyTGF5b3V0U291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKGhlYWRlckxheW91dCkgPT4gISFoZWFkZXJMYXlvdXQpLFxuICAgICAgICAgICAgdGFwKChoZWFkZXJMYXlvdXQpID0+IHRoaXMuX2hlYWRlclRpdGxlU291cmNlLm5leHQoZ2V0SGVhZGVyVmFsdWUoaGVhZGVyTGF5b3V0Py5UaXRsZSkpKSxcbiAgICAgICAgICAgIHRhcCgoaGVhZGVyTGF5b3V0KSA9PiB0aGlzLl9oaWRlQ2xvc2UkLm5leHQoaGVhZGVyTGF5b3V0Py5IaWRlQ2xvc2UpKSxcbiAgICAgICAgICAgIHRhcCgoaGVhZGVyTGF5b3V0KSA9PiB0aGlzLl9oaWRlVGl0bGUkLm5leHQoaGVhZGVyTGF5b3V0Py5IaWRlVGl0bGUpKSxcbiAgICAgICAgICAgIHRhcCgoaGVhZGVyTGF5b3V0KSA9PiB0aGlzLl9oaWRlUGluJC5uZXh0KGhlYWRlckxheW91dD8uSGlkZVBpbikpLFxuICAgICAgICAgICAgdGFwKChoZWFkZXJMYXlvdXQpID0+IHRoaXMuX2hlYWRlckRlc2NyaXB0aW9uU291cmNlLm5leHQoZ2V0SGVhZGVyVmFsdWUoaGVhZGVyTGF5b3V0Py5EZXNjcmlwdGlvbikpKSxcbiAgICAgICAgICAgIHRhcCgoaGVhZGVyTGF5b3V0KSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuX2hlYWRlclJlbW92ZUNvbnRlbnRQYWRkaW5nU291cmNlLm5leHQoZ2V0SGVhZGVyVmFsdWUoaGVhZGVyTGF5b3V0Py5SZW1vdmVDb250ZW50UGFkZGluZykpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5oZWFkZXJEZXNjcmlwdGlvbiQgPSB0aGlzLl9oZWFkZXJEZXNjcmlwdGlvblNvdXJjZS5hc09ic2VydmFibGUoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG5cbiAgICAgICAgdGhpcy5oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZyQgPSB0aGlzLl9oZWFkZXJSZW1vdmVDb250ZW50UGFkZGluZ1NvdXJjZVxuICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAgICAgICAucGlwZShkZWxheSgwKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKTtcblxuICAgICAgICB0aGlzLmhlYWRlclN1YnRpdGxlJCA9IHRoaXMuaGVhZGVyTGF5b3V0JC5waXBlKFxuICAgICAgICAgICAgbWFwKChoZWFkZXJMYXlvdXQpID0+IGdldEhlYWRlclZhbHVlKGhlYWRlckxheW91dD8uU3ViVGl0bGUpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuYXZhdGFyJCA9IHRoaXMuaGVhZGVyTGF5b3V0JC5waXBlKFxuICAgICAgICAgICAgbWFwKChoZWFkZXJMYXlvdXQpID0+IGdldEhlYWRlclZhbHVlKGhlYWRlckxheW91dD8uQXZhdGFyLCB0cnVlKSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JClcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmNpcmNsZUF2YXRhciQgPSB0aGlzLmhlYWRlckxheW91dCQucGlwZShcbiAgICAgICAgICAgIG1hcCgoaGVhZGVyTGF5b3V0KSA9PiBnZXRIZWFkZXJWYWx1ZShoZWFkZXJMYXlvdXQ/LkNpcmNsZUF2YXRhcikpLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubWFzayQgPSB0aGlzLl9tYXNrU291cmNlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSk7XG4gICAgfVxuICAgIGdldCBoaWRlUGluJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVQaW4kLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBnZXQgaGlkZUNsb3NlJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hpZGVDbG9zZSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGdldCBoaWRlVGl0bGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZVRpdGxlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgZ2V0IGNhblNlbmQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FuU2VuZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGdldCBtbygpOiBNZXRhb2JqZWN0RGF0YU1vZGVsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21vU291cmNlLmdldFZhbHVlKCk7XG4gICAgfVxuICAgIHNldCBjb250ZXh0KHZhbDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLl9jb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jb250ZXh0U291cmNlLm5leHQodmFsKTtcbiAgICB9XG4gICAgc2V0Rm9ybUhlaWdodCh2YWw6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtSGVpZ2h0U291cmNlLm5leHQodmFsKTtcbiAgICB9XG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9jb250ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fY29udGV4dC51bignR3JvdXBCUnVsZUNoYW5nZWQnLCB0aGlzLl9ncm91cEJSdWxlQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQudW4oJ1RpdGxlQ2hhbmdlZCcsIHRoaXMuX3RpdGxlQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQudW4oJ1dpemFyZE5leHRTdGVwJywgdGhpcy5fd2l6YXJkTmV4dFN0ZXApO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnVuKCdXaXphcmRQcmV2aW91c1N0ZXAnLCB0aGlzLl93aXphcmRQcmV2aW91c1N0ZXApO1xuICAgICAgICB0aGlzLl9jb250ZXh0LnVuKCdEb0xheW91dCcsIHRoaXMuX2RvTGF5b3V0KTtcbiAgICAgICAgdGhpcy5fY29udGV4dC51bignTWFza0NoYW5nZWQnLCB0aGlzLl9tYXNrQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQudW4oJ0ZvcmNlQ2xvc2UnLCB0aGlzLl9mb3JjZUNsb3NlKTtcbiAgICAgICAgdGhpcy5fY29udGV4dC50b29sYmFyLnVuKCdUb29sYmFySXRlbXNDaGFuZ2VkJywgdGhpcy5fdG9vbGJhckl0ZW1zQ2hhbmdlZCk7XG4gICAgICAgIHRoaXMuX2NvbnRleHQgPSBudWxsO1xuICAgICAgICB0aGlzLl9sYXlvdXRTb3VyY2UubmV4dChudWxsKTtcbiAgICAgICAgLy8gdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgdG9vbGJhckNsaWNrKGJ0bik6IHZvaWQge1xuICAgICAgICBidG4uaGFuZGxlcihidG4sIHRoaXMuX2NvbnRleHQpO1xuICAgIH1cbiAgICB3ZkNob2ljZShidG4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY29udGV4dC5Xb3JrZmxvd1BhbmVsVWkuZmlyZUV2ZW50KCdDaG9pY2VTZWxlY3QnLCBidG4sIHRoaXMuX2NvbnRleHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfaW5pdGlhbGl6ZShjb250ZXh0OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd29ya2Zsb3dQYW5lbFVpU291cmNlLm5leHQoY29udGV4dD8uV29ya2Zsb3dQYW5lbFVpKTtcbiAgICAgICAgdGhpcy5faXNTZWFyY2hQYW5lbFNvdXJjZS5uZXh0KGNvbnRleHQ/LlNldHRpbmc/LklzU2VhcmNoUGFuZWwpO1xuICAgICAgICB0aGlzLl9pc1NlYXJjUGFuZWxJblNpZGVDb250ZW50Lm5leHQoY29udGV4dD8uU2V0dGluZz8uSXNTZWFyY1BhbmVsSW5TaWRlQ29udGVudCk7XG4gICAgICAgIHRoaXMuX2NhblNlbmQkLm5leHQoY29udGV4dD8uU2V0dGluZz8uQ2FuU2VuZCk7XG4gICAgICAgIHRoaXMuX3NlYXJjaFBhbmVsSXNPYmplY3RTb3VyY2UubmV4dChjb250ZXh0Py5TZXR0aW5nPy5QYXJhbWV0ZXJUeXBlSXNPYmplY3QpO1xuICAgICAgICB0aGlzLl9tb1NvdXJjZS5uZXh0KGNvbnRleHQ/Lk1vKTtcbiAgICAgICAgdGhpcy5fdmlld1NvdXJjZS5uZXh0KGNvbnRleHQ/LlNldHRpbmc/LlZpZXcpO1xuICAgICAgICB0aGlzLl90b29sYmFySXRlbXNTb3VyY2UubmV4dChjb250ZXh0Py50b29sYmFyPy5pdGVtcyk7XG4gICAgICAgIGlmIChjb250ZXh0Py50b29sYmFyKSB7XG4gICAgICAgICAgICBjb250ZXh0LnRvb2xiYXIub24oe1xuICAgICAgICAgICAgICAgIFRvb2xiYXJJdGVtc0NoYW5nZWQ6IHRoaXMuX3Rvb2xiYXJJdGVtc0NoYW5nZWQuYmluZCh0aGlzKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fdGl0bGVTb3VyY2U/Lm5leHQoY29udGV4dD8udGl0bGUpO1xuICAgICAgICB0aGlzLl90b29sYmFyVmlzaWJsZVNvdXJjZS5uZXh0KHRoaXMuX2dldFRvb2xiYXJWaXNpYmlsaXR5KGNvbnRleHQpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3ByZXBhcmVWaWV3KHZpZXcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0U291cmNlLm5leHQodmlldz8uTGF5b3V0OTQpO1xuICAgICAgICB0aGlzLl9wcmVwYXJlTGF5b3V0Q29tcG9uZW50KHZpZXcpO1xuICAgICAgICB0aGlzLl9tYXhDb250ZW50V2lkdGhTb3VyY2UubmV4dCh0aGlzLl9nZXRNYXhDb250ZW50V2lkdGgodmlldykpO1xuICAgICAgICB0aGlzLl9pc1NpbXBsZUZvcm1Tb3VyY2UubmV4dCh0aGlzLl9nZXRJc1NpbXBsZUZvcm0odmlldykpO1xuICAgICAgICB0aGlzLl9oZWFkZXJMYXlvdXRTb3VyY2UubmV4dCh0aGlzLl9nZXRIZWFkZXJMYXlvdXQodmlldykpO1xuICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgICAgdGhpcy5Db2xvbkluTGFiZWwgPSB2aWV3LkNvbG9uSW5MYWJlbCAhPT0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fZm9ybVdpZHRoU291cmNlLm5leHQodmlldz8uaW5EaWFsb2cgPyB2aWV3LkxheW91dDk0LkJvdW5kcy53aWR0aCArICdweCcgOiAnMTAwJScpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2ZpbHRlclRvb2xiYXJJdGVtcyhpdGVtczogQXJyYXk8YW55Pik6IEFycmF5PGFueT4ge1xuICAgICAgICBpZiAoIWl0ZW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cbiAgICAgICAgLy8g2K/YsSDYtdmI2LHYqtuMINqp2Ycg2K/YsSDZhdmI2KjYp9uM2YQg2KjYp9i02K8g2K/ZiCDYr9qp2YXZhyDZhtmF2KfbjNi0INiv2KfYr9mHINi02YjYryDYp9iyINiv2qnZhdmHINmH2KfbjCDaqdin2LHYqNixINmIINmB2LHYotuM2YbYr9uMXG4gICAgICAgIC8vINiv2LEg2LXZiNix2KrbjCDaqdmHINiv2qnZhdmHINuMINmI2KzZiNivINmG2K/Yp9i02Kog2YHZgti3INiv2qnZhdmHINiw2K7bjNix2Ycg2YbZhdin24zYtCDYr9in2K/ZhyDYtNmI2K9cbiAgICAgICAgLy8g2K/YsSDYrdin2YTYqtmH2KfbjCDYr9uM2q/YsSDYp9io2KrYr9inINiv2qnZhdmHINmH2KfbjCDaqdin2LHYqNix24wg2Ygg2YHYsdii24zZhtiv24wg2Ygg2KjYudivINiv2qnZhdmHINmH2KfbjCDYqti52LHbjNmBINi02K/ZhyDYs9uM2LPYqtmFINmG2YXYp9uM2LQg2K/Yp9iv2Ycg2YXbjNi02YjYry5cbiAgICAgICAgY29uc3QgaXNNb2JpbGUgPSBnZXREZXZpY2VJc01vYmlsZSgpO1xuICAgICAgICBsZXQgbmV3SXRlbXMgPSBpdGVtcy5maWx0ZXIoXG4gICAgICAgICAgICAoYykgPT4gIWMuaGlkZGVuICYmICEoaXNNb2JpbGUgJiYgKGMuaXRlbUlkID09PSAnTmV4dCcgfHwgYy5pdGVtSWQgPT09ICdQcmV2aW91cycpKVxuICAgICAgICApO1xuXG4gICAgICAgIG5ld0l0ZW1zLnNvcnQoKGMsIGQpOiBudW1iZXIgPT4gKE51bWJlcihjPy5EYXRhPy5UYWJPcmRlck51bWJlcikgPCBOdW1iZXIoZD8uRGF0YT8uVGFiT3JkZXJOdW1iZXIpID8gMSA6IC0xKSk7XG4gICAgICAgIGNvbnN0IG5vblN0cmluZ0l0ZW1zID0gbmV3SXRlbXMuZmlsdGVyKChjKSA9PiB0eXBlb2YgYyAhPT0gJ3N0cmluZycpO1xuXG4gICAgICAgIGNvbnN0IHQgPSBub25TdHJpbmdJdGVtcy5maW5kKChjKSA9PiAhYy5pc0J1aWx0aW4gJiYgIWMuSUFtTWVudSk7XG4gICAgICAgIGlmICh0KSB7XG4gICAgICAgICAgICB0LnByaW9yaXR5ID0gJ2hpZ2gnO1xuICAgICAgICB9XG4gICAgICAgIC8vIGxldCBub25CdWlsdGluQ291bnQgPSAwO1xuICAgICAgICAvLyBub25TdHJpbmdJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgIC8vICAgICBpZiAodHlwZW9mIGl0ZW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgICAgY29uc3QgaW5Gb290ZXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShpdGVtLCAnRGF0YS5DdXN0b21VaS5QYXJhbWV0ZXJzLkluRm9vdGVyJywgZmFsc2UpO1xuICAgICAgICAvLyAgICAgaWYgKGl0ZW0uaXNCdWlsdGluIHx8IGluRm9vdGVyKSB7XG4gICAgICAgIC8vICAgICAgICAgLy8g2LPbjNiz2KrZhduMXG4gICAgICAgIC8vICAgICAgICAgaXRlbS5wcmlvcml0eSA9ICdhbHdheXMnO1xuICAgICAgICAvLyAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gICAgICAgICBpZiAobm9uQnVpbHRpbkNvdW50ID4gMSkge1xuICAgICAgICAvLyAgICAgICAgICAgICAvLyDYr9qp2YXZhyDZh9in24wg2qnYp9ix2KjYsduMINqp2Ycg2KjbjNi02KrYsSDYp9iyINiv2Ygg2YfYs9iq2YbYr1xuICAgICAgICAvLyAgICAgICAgICAgICBpdGVtLnByaW9yaXR5ID0gJ2xvdyc7XG4gICAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgaXRlbS5wcmlvcml0eSA9ICdsb3cnO1xuICAgICAgICAvLyAgICAgICAgIH1cbiAgICAgICAgLy8gICAgICAgICBub25CdWlsdGluQ291bnQrKztcbiAgICAgICAgLy8gICAgIH1cbiAgICAgICAgLy8gfSk7XG4gICAgICAgIGNvbnN0IG5vQnVpbHRpbkl0ZW1zID0gbm9uU3RyaW5nSXRlbXMuZmlsdGVyKFxuICAgICAgICAgICAgKGMpID0+XG4gICAgICAgICAgICAgICAgdHlwZW9mIGMgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgIWMuaXNCdWlsdGluICYmXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoYywgJ0RhdGEuQ3VzdG9tVWkuUGFyYW1ldGVycy5JbkZvb3RlcicsIGZhbHNlKSAhPT0gdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBub0J1aWx0aW5JdGVtcy5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgaW5kZXggPT09IDAgPyAoaXRlbS5wcmlvcml0eSA9ICdoaWdodCcpIDogKGl0ZW0ucHJpb3JpdHkgPSAnbG93Jyk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBub25CdWlsdGluQ291bnQgPSBub0J1aWx0aW5JdGVtcy5sZW5ndGg7XG4gICAgICAgIGlmIChub25CdWlsdGluQ291bnQgPT09IDApIHtcbiAgICAgICAgICAgIC8vINin2q/YsSDZh9uM2oYg2K/aqdmF2Ycg2qnYp9ix2KjYsduMINmI2KzZiNivINmG2K/Yp9i02KpcbiAgICAgICAgICAgIG5vblN0cmluZ0l0ZW1zLmZvckVhY2goKGl0ZW0sIF8pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pdGVtSWQgPT09ICdTYXZlJykge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnByaW9yaXR5ID0gJ25ldmVyJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzYXZlQW5kTmV3ID0gbmV3SXRlbXMuZmluZCgoYykgPT4gYy5pdGVtSWQgPT09ICdTYXZlQW5kTmV3Jyk7XG4gICAgICAgIGNvbnN0IHNhdmVBbmRDbG9zZSA9IG5ld0l0ZW1zLmZpbmQoKGMpID0+IGMuaXRlbUlkID09PSAnU2F2ZUFuZENsb3NlJyk7XG4gICAgICAgIGlmIChzYXZlQW5kQ2xvc2UgJiYgc2F2ZUFuZENsb3NlLm1lbnUpIHtcbiAgICAgICAgICAgIGNvbnN0IHNhdmUgPSBzYXZlQW5kQ2xvc2UubWVudS5pdGVtc1swXTtcbiAgICAgICAgICAgIGlmIChzYXZlKSB7XG4gICAgICAgICAgICAgICAgc2F2ZS5pc0J1aWx0aW4gPSB0cnVlO1xuICAgICAgICAgICAgICAgIHNhdmUucHJpb3JpdHkgPSBub25CdWlsdGluQ291bnQgPT09IDAgPyAnbmV2ZXInIDogJ2Fsd2F5cyc7XG5cbiAgICAgICAgICAgICAgICBuZXdJdGVtcy5wdXNoKHNhdmUpO1xuICAgICAgICAgICAgICAgIGlmIChzYXZlQW5kTmV3KSB7XG4gICAgICAgICAgICAgICAgICAgIHNhdmUuSUFtTWVudSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHNhdmUubWVudSA9IHsgaXRlbXM6IFt7IC4uLnNhdmVBbmROZXcgfV0gfTtcbiAgICAgICAgICAgICAgICAgICAgbmV3SXRlbXMgPSBuZXdJdGVtcy5maWx0ZXIoKGMpID0+IGMuaXRlbUlkICE9PSAnU2F2ZUFuZE5ldycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBuZXdJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5tZW51KSB7XG4gICAgICAgICAgICAgICAgaXRlbS5tZW51Lml0ZW1zID0gaXRlbS5tZW51Lml0ZW1zLmZpbHRlcigoYykgPT4gIWMuaGlkZGVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGJ1aWx0aW5zQnV0dG9ucyA9IG5ld0l0ZW1zLmZpbHRlcigoYykgPT4gYz8uaXNCdWlsdGluKTtcbiAgICAgICAgbmV3SXRlbXMgPSBbXG4gICAgICAgICAgICAuLi5idWlsdGluc0J1dHRvbnMsXG4gICAgICAgICAgICAuLi5uZXdJdGVtcy5maWx0ZXIoKGMpID0+ICFjPy5pc0J1aWx0aW4gJiYgIWM/LmlzV29ya2Zsb3cpLFxuICAgICAgICAgICAgLi4ubmV3SXRlbXMuZmlsdGVyKChjKSA9PiBjPy5pc1dvcmtmbG93KVxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBtb3ZlTmV4dEluZGV4ID0gbmV3SXRlbXMuZmluZEluZGV4KChjKSA9PiBjLml0ZW1JZCA9PT0gJ01vdmVOZXh0Jyk7XG4gICAgICAgIGlmIChtb3ZlTmV4dEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgIG5ld0l0ZW1zW21vdmVOZXh0SW5kZXhdLnByaW9yaXR5ID0gJ2Fsd2F5cyc7XG4gICAgICAgICAgICBjb25zdCBtb3MgPSBuZXdJdGVtcy5zcGxpY2UobW92ZU5leHRJbmRleCAtIDEsIDIpO1xuICAgICAgICAgICAgbmV3SXRlbXMgPSBbLi4ubW9zLCAuLi5uZXdJdGVtc107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbW92ZVByZXZJbmRleCA9IG5ld0l0ZW1zLmZpbmRJbmRleCgoYykgPT4gYy5pdGVtSWQgPT09ICdNb3ZlUHJldicpO1xuICAgICAgICBpZiAobW92ZVByZXZJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBuZXdJdGVtc1ttb3ZlUHJldkluZGV4XS5wcmlvcml0eSA9ICdhbHdheXMnO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNoZWNrIHRvb2xiYXJpdGVtcyBpbiBmb290ZXIgcHJvcGVydHlcbiAgICAgICAgbmV3SXRlbXMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5Gb290ZXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShjLCAnRGF0YS5DdXN0b21VaS5QYXJhbWV0ZXJzLkluRm9vdGVyJywgZmFsc2UpO1xuICAgICAgICAgICAgaWYgKGluRm9vdGVyKSB7XG4gICAgICAgICAgICAgICAgYy5pbkZvb3RlciA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBuZXdJdGVtcy5yZXZlcnNlKCk7XG4gICAgICAgIC8vIHJldHVybiBuZXdJdGVtcy5zb3J0KChhKTogbnVtYmVyID0+ICh0eXBlb2YgYSA9PSAnc3RyaW5nJyA/IDAgOiBhLklBbU1lbnUgPyAxIDogLTEpKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9nZXRIZWFkZXJMYXlvdXQodmlldyk6IElIZWFkZXJMYXlvdXQge1xuICAgICAgICBjb25zdCBoZWFkZXJMYXlvdXQgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh2aWV3LCAnSGVhZGVyTGF5b3V0JywgbnVsbCk7XG5cbiAgICAgICAgaWYgKGhlYWRlckxheW91dCkge1xuICAgICAgICAgICAgLy8gdGhpcy5zZXRIZWFkZXJUaXRsZUFuZFN1YnRpdGxlQW5kQXZhdGFyKGhlYWRlckxheW91dCk7XG4gICAgICAgICAgICBjb25zdCB0OiBhbnlbXSA9IFtdO1xuICAgICAgICAgICAgaGVhZGVyTGF5b3V0LkZhY2V0TGlzdC5Nb0RhdGFMaXN0LmZvckVhY2goKGZhY2V0Q29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogZmFjZXRDb2x1bW4uQ29sdW1uU2V0dGluZ3MuJEZvcm1QYW5lbFNldHRpbmcuRGF0YS5Nby5UeXBlLFxuICAgICAgICAgICAgICAgICAgICBtbzogZmFjZXRDb2x1bW4uQ29sdW1uU2V0dGluZ3MuJEZvcm1QYW5lbFNldHRpbmcuRGF0YS5Nb1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBoZWFkZXJMYXlvdXQuRmFjZXRMaXN0MiA9IHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhlYWRlckxheW91dDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9wcmVwYXJlTGF5b3V0Q29tcG9uZW50KHZpZXc6IEZvcm1WaWV3U2V0dGluZyk6IHZvaWQge1xuICAgICAgICBpZiAoIXZpZXcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsYXlvdXRDb21wb25lbnRzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmlldywgJ0V4dHJhSnNvblByb3AuQ29tcG9uZW50cycsIG51bGwpO1xuICAgICAgICBpZiAoIWxheW91dENvbXBvbmVudHMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGF5b3V0Q29tcG9uZW50cykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsYXlvdXRDb21wb25lbnRzLmZvckVhY2goKGxheW91dENvbXBvbmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGF5b3V0U2V0dGluZyA9IEZpbmRMYXlvdXRTZXR0aW5nRnJvbUxheW91dDk0KHZpZXcuTGF5b3V0OTQsIGxheW91dENvbXBvbmVudC5MYXlvdXRUaXRsZSk7XG4gICAgICAgICAgICBpZiAobGF5b3V0U2V0dGluZyA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGF5b3V0U2V0dGluZy5jb21wb25lbnQgPSB7IC4uLmxheW91dENvbXBvbmVudCB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9nZXRJc1NpbXBsZUZvcm0odmlldzogRm9ybVZpZXdTZXR0aW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGlzU2ltcGxlID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodmlldywgJ0V4dHJhSnNvblByb3AuSXNTaW1wbGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiBpc1NpbXBsZTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9nZXRUb29sYmFyVmlzaWJpbGl0eShjb250ZXh0KTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghY29udGV4dCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhpZGVUb29sYmFyID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoY29udGV4dCwgJ3Rvb2xiYXIuaGlkZVRvb2xiYXInLCBmYWxzZSk7XG4gICAgICAgIGlmIChoaWRlVG9vbGJhcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgRm9ybVNldHRpbmdzIH0gPSBjb250ZXh0LlNldHRpbmcuVmlldztcbiAgICAgICAgaWYgKEZvcm1TZXR0aW5ncykge1xuICAgICAgICAgICAgY29uc3Qgc2hvd1Rvb2xiYXIgPSBGb3JtU2V0dGluZ3MuU2hvd1Rvb2xiYXIgPT09IGZhbHNlID8gZmFsc2UgOiB0cnVlO1xuICAgICAgICAgICAgY29uc3QgZmVhdHVyZVRvb2xiYXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShjb250ZXh0LCAnRmVhdHVyZXMuVG9vbGJhcicsIGZhbHNlKTtcblxuICAgICAgICAgICAgY29uc3QgdmlzaWJsZSA9IChmZWF0dXJlVG9vbGJhciAmJiBzaG93VG9vbGJhcikgIT09IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuIHZpc2libGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfZ2V0TWF4Q29udGVudFdpZHRoKHZpZXcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBtYXhDb250ZW50V2lkdGggPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh2aWV3LCAnRXh0cmFKc29uUHJvcC5NYXhXaWR0aCcsICcwJyk7XG4gICAgICAgIHJldHVybiBtYXhDb250ZW50V2lkdGg7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfYWRkTGlzdGVuZXIoY29udGV4dCk6IHZvaWQge1xuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0Lm9uKHtcbiAgICAgICAgICAgIEdyb3VwQlJ1bGVDaGFuZ2VkOiB0aGlzLl9ncm91cEJSdWxlQ2hhbmdlZC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgVGl0bGVDaGFuZ2VkOiB0aGlzLl90aXRsZUNoYW5nZWQuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIFdpemFyZE5leHRTdGVwOiB0aGlzLl93aXphcmROZXh0U3RlcC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgV2l6YXJkUHJldmlvdXNTdGVwOiB0aGlzLl93aXphcmRQcmV2aW91c1N0ZXAuYmluZCh0aGlzKSxcbiAgICAgICAgICAgIERvTGF5b3V0OiB0aGlzLl9kb0xheW91dC5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgTWFza0NoYW5nZWQ6IHRoaXMuX21hc2tDaGFuZ2VkLmJpbmQodGhpcyksXG4gICAgICAgICAgICBGb3JjZUNsb3NlOiB0aGlzLl9mb3JjZUNsb3NlLmJpbmQodGhpcyksXG4gICAgICAgICAgICBSZWZyZXNoOiB0aGlzLl9yZWZyZXNoLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnRleHQudG9vbGJhci5vbih7XG4gICAgICAgICAgICBUb29sYmFySXRlbXNDaGFuZ2VkOiB0aGlzLl90b29sYmFySXRlbXNDaGFuZ2VkLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfcmVmcmVzaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZSh0aGlzLl9jb250ZXh0KTtcbiAgICAgICAgLy8gdGhpcy5fcHJlcGFyZVZpZXcodGhpcy5fY29udGV4dC5TZXR0aW5nLlZpZXcpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2ZvcmNlQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2ZvcmNlQ2xvc2VTb3VyY2UubmV4dCgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX21hc2tDaGFuZ2VkKG1hc2spOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWFza1NvdXJjZS5uZXh0KG1hc2spO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3Rvb2xiYXJJdGVtc0NoYW5nZWQoaXRlbXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdG9vbGJhckl0ZW1zU291cmNlLm5leHQoaXRlbXMpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3RpdGxlQ2hhbmdlZCh0aXRsZSk6IHZvaWQge1xuICAgICAgICB0aGlzLl90aXRsZVNvdXJjZS5uZXh0KHRpdGxlKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF93aXphcmROZXh0U3RlcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2l6YXJkTmV4dFN0ZXBTb3VyY2UubmV4dCgpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3dpemFyZFByZXZpb3VzU3RlcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fd2l6YXJkUHJldmlvdXNTdGVwU291cmNlLm5leHQoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9kb0xheW91dChjb250ZXh0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpZXcgPSBjb250ZXh0LlNldHRpbmcuVmlldztcbiAgICAgICAgdGhpcy5fdmlld1NvdXJjZS5uZXh0KHZpZXcpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2dyb3VwQlJ1bGVDaGFuZ2VkKGdyb3VwSXRlbTogTGF5b3V0U2V0dGluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLl9ncm91cEJSdWxlU291cmNlLm5leHQoZ3JvdXBJdGVtKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9wcmVwYXJlQ29udGV4dChjb250ZXh0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FkZExpc3RlbmVyKGNvbnRleHQpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplKGNvbnRleHQpO1xuICAgICAgICB0aGlzLl9jb250ZXh0ID0gY29udGV4dDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -2565,6 +2565,7 @@ class FormPanelService extends BaseComponent {
|
|
|
2565
2565
|
.pipe(delay(0), takeUntil(this._onDestroy$));
|
|
2566
2566
|
this.headerSubtitle$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.SubTitle)), takeUntil(this._onDestroy$));
|
|
2567
2567
|
this.avatar$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.Avatar, true)), takeUntil(this._onDestroy$));
|
|
2568
|
+
this.circleAvatar$ = this.headerLayout$.pipe(map((headerLayout) => getHeaderValue(headerLayout?.CircleAvatar)), takeUntil(this._onDestroy$));
|
|
2568
2569
|
this.mask$ = this._maskSource.asObservable().pipe(debounceTime(200), takeUntil(this._onDestroy$));
|
|
2569
2570
|
}
|
|
2570
2571
|
get hidePin$() {
|
|
@@ -7399,6 +7400,7 @@ class FormBaseComponent extends BaseComponent {
|
|
|
7399
7400
|
this.formWidth$ = this._formPanelService.formWidth$;
|
|
7400
7401
|
this.headerSubtitle$ = this._formPanelService.headerSubtitle$;
|
|
7401
7402
|
this.avatar$ = this._formPanelService.avatar$;
|
|
7403
|
+
this.circleAvatar$ = this._formPanelService.circleAvatar$;
|
|
7402
7404
|
this.workflowPanelUi$ = this._formPanelService.workflowPanelUi$;
|
|
7403
7405
|
this.view$ = this._formPanelService.view$;
|
|
7404
7406
|
this.mo$ = this._formPanelService.mo$;
|