barsa-sap-ui 2.0.21 → 2.0.22
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/form-dialog/form-dialog.component.mjs +3 -3
- package/esm2022/lib/index.mjs +1 -29
- package/esm2022/lib/layout-control/layout-control.component.mjs +3 -3
- package/esm2022/lib/ui-button/ui-button.component.mjs +6 -5
- package/fesm2022/barsa-sap-ui.mjs +6 -34
- package/fesm2022/barsa-sap-ui.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -142,13 +142,13 @@ export class FormDialogComponent extends BaseComponent {
|
|
|
142
142
|
this.caption = typeDefName + ':' + moCaption;
|
|
143
143
|
}
|
|
144
144
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: FormDialogComponent, deps: [{ token: i1.DialogService }, { token: i2.DialogParams }, { token: i2.PortalService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
145
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: FormDialogComponent, selector: "bsu-form-dialog", providers: [ContainerService], viewQueries: [{ propertyName: "dialogTemplateRef", first: true, predicate: ["dialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTplRef>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <h1 fd-title>{{ dialogConfig.data.caption }}</h1>\n </div>\n <div fd-bar-right>\n
|
|
145
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: FormDialogComponent, selector: "bsu-form-dialog", providers: [ContainerService], viewQueries: [{ propertyName: "dialogTemplateRef", first: true, predicate: ["dialog"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTplRef>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <h1 fd-title>{{ dialogConfig.data.caption }}</h1>\n </div>\n <div fd-bar-right>\n <bsu-form-toolbar\n fd-bar-right\n style=\"width: auto\"\n [deviceSize]=\"deviceSize\"\n [buttons]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [isFirefox]=\"isFirefox\"\n (toolbarClick)=\"onToolbarClick($event)\"\n #formToolbar\n ></bsu-form-toolbar>\n @if (dialogConfig.data.canFullscreen) {\n <fd-button-bar\n ariaLabel=\"fullscreen\"\n [glyph]=\"fullscreen ? 'exitfullscreen' : 'resize'\"\n fullscreenDialog\n [dialog]=\"dialog\"\n [fullscreen]=\"fullscreen\"\n (fullscreenChanged)=\"fullscreen = $event\"\n [dialogComponent]=\"dialogTplRef\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onCancel()\"></fd-button-bar>\n </div>\n </ng-template>\n <!-- <ng-template\n fdkTemplate=\"subheader\"\n *ngIf=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false as toolbarItems\"\n >\n <div fd-bar-middle>\n <fd-bar-element [fullWidth]=\"true\" class=\"!tw-justify-end\">\n <bsu-form-toolbar\n [deviceSize]=\"deviceSize\"\n [buttons]=\"toolbarItems\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [isFirefox]=\"isFirefox\"\n (toolbarClick)=\"onToolbarClick($event)\"\n #formToolbar\n ></bsu-form-toolbar>\n </fd-bar-element>\n </div>\n </ng-template> -->\n </fd-dialog-header>\n\n <fd-dialog-body>\n <bnrc-form\n [formPanelCtrl]=\"formPanelCtrlr\"\n [params]=\"params\"\n (formClose)=\"onFormClose()\"\n (uiComponent)=\"onFormUiComponentReady($event)\"\n ></bnrc-form>\n </fd-dialog-body>\n <fd-dialog-footer [style.display]=\"!showFooter ? 'none' : null\">\n @for (btn of (extendToolbarItems$ | async); track btn.Id) { @if (!(btn === '-' || btn.text === '-') &&\n ((btn.isBuiltin && btn.inFooter) || btn.isWorkflow)) {\n <ng-container\n *ngTemplateOutlet=\"\n btn.Data?.CustomUi?.Selector ? dynamicBtnTemplate : btnTemplate;\n context: { $implicit: btn }\n \"\n ></ng-container>\n <ng-template #btnTemplate let-btn>\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-dialog-decisive-button\n [fdType]=\"btn.isWorkflow ? 'attention' : btn.design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : null\"\n (click)=\"btn.handler(btn, formPanelCtrlr?.Adapter?.Control)\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n </ng-template>\n <ng-template #dynamicBtnTemplate let-btn>\n <fd-dialog-footer-button>\n <bnrc-dynamic-form-toolbaritem\n fd-toolbar-item\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"btn.handler(btn, formPanelCtrlr?.Adapter?.Control)\"\n ></bnrc-dynamic-form-toolbaritem>\n </fd-dialog-footer-button>\n </ng-template>\n } } @if (!isNonePersistance && showSaveButton !== false) {\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-initial-focus\n fd-dialog-decisive-button\n [label]=\"'Cancel' | bbbTranslate\"\n (click)=\"onCancel()\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n }\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [":host{display:block;height:auto}fd-dialog-body{display:flex;flex-direction:column;height:100%;align-items:stretch;justify-content:stretch}fd-dialog-body>bnrc-form{flex-grow:1;display:flex;flex-direction:row;height:100%;justify-content:stretch;align-items:stretch}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.FormComponent, selector: "bnrc-form", inputs: ["params", "customFormPanelUi", "formPanelCtrl", "UlvMainCtrlr", "formPanelCtrlId", "saveOnChange", "inlineEditInReport"], outputs: ["titleChanged", "moChanged", "formClose", "uiComponent", "formRendered", "bruleAction", "beforeTransition", "afterTransition"] }, { kind: "component", type: i2.DynamicFormToolbaritemComponent, selector: "bnrc-dynamic-form-toolbaritem", inputs: ["mo", "index", "deviceName", "deviceSize", "context", "btn", "isEnable", "showText", "allColumns", "conditionalFormats"], outputs: ["btnClick"] }, { kind: "directive", type: i2.FormCloseDirective, selector: "[formClose]", inputs: ["isMobile"] }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabelledby", "id"] }, { kind: "component", type: i5.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i5.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i5.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i5.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.TitleComponent, selector: "[fd-title], [fdTitle]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i8.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "component", type: i9.FormToolbarComponent, selector: "bsu-form-toolbar", outputs: ["toolbarClick"] }, { kind: "directive", type: i10.FullscreenDialogDirective, selector: "[fullscreenDialog]", inputs: ["dialog", "dialogComponent", "fullscreen"], outputs: ["fullscreenChanged"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.TlbButtonsPipe, name: "tlbButtons" }, { kind: "pipe", type: i2.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
146
146
|
}
|
|
147
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: FormDialogComponent, decorators: [{
|
|
148
148
|
type: Component,
|
|
149
|
-
args: [{ selector: 'bsu-form-dialog', providers: [ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTplRef>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <h1 fd-title>{{ dialogConfig.data.caption }}</h1>\n </div>\n <div fd-bar-right>\n
|
|
149
|
+
args: [{ selector: 'bsu-form-dialog', providers: [ContainerService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template let-dialog let-dialogConfig=\"dialogConfig\" #dialog>\n <fd-dialog [dialogConfig]=\"dialogConfig\" [dialogRef]=\"dialog\" #dialogTplRef>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <h1 fd-title>{{ dialogConfig.data.caption }}</h1>\n </div>\n <div fd-bar-right>\n <bsu-form-toolbar\n fd-bar-right\n style=\"width: auto\"\n [deviceSize]=\"deviceSize\"\n [buttons]=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [isFirefox]=\"isFirefox\"\n (toolbarClick)=\"onToolbarClick($event)\"\n #formToolbar\n ></bsu-form-toolbar>\n @if (dialogConfig.data.canFullscreen) {\n <fd-button-bar\n ariaLabel=\"fullscreen\"\n [glyph]=\"fullscreen ? 'exitfullscreen' : 'resize'\"\n fullscreenDialog\n [dialog]=\"dialog\"\n [fullscreen]=\"fullscreen\"\n (fullscreenChanged)=\"fullscreen = $event\"\n [dialogComponent]=\"dialogTplRef\"\n ></fd-button-bar>\n }\n <fd-button-bar ariaLabel=\"close\" glyph=\"decline\" (click)=\"onCancel()\"></fd-button-bar>\n </div>\n </ng-template>\n <!-- <ng-template\n fdkTemplate=\"subheader\"\n *ngIf=\"extendToolbarItems$ | async | tlbButtons: 'inFooter':false as toolbarItems\"\n >\n <div fd-bar-middle>\n <fd-bar-element [fullWidth]=\"true\" class=\"!tw-justify-end\">\n <bsu-form-toolbar\n [deviceSize]=\"deviceSize\"\n [buttons]=\"toolbarItems\"\n [dirValue]=\"(dirValue$ | async)!!\"\n [isFirefox]=\"isFirefox\"\n (toolbarClick)=\"onToolbarClick($event)\"\n #formToolbar\n ></bsu-form-toolbar>\n </fd-bar-element>\n </div>\n </ng-template> -->\n </fd-dialog-header>\n\n <fd-dialog-body>\n <bnrc-form\n [formPanelCtrl]=\"formPanelCtrlr\"\n [params]=\"params\"\n (formClose)=\"onFormClose()\"\n (uiComponent)=\"onFormUiComponentReady($event)\"\n ></bnrc-form>\n </fd-dialog-body>\n <fd-dialog-footer [style.display]=\"!showFooter ? 'none' : null\">\n @for (btn of (extendToolbarItems$ | async); track btn.Id) { @if (!(btn === '-' || btn.text === '-') &&\n ((btn.isBuiltin && btn.inFooter) || btn.isWorkflow)) {\n <ng-container\n *ngTemplateOutlet=\"\n btn.Data?.CustomUi?.Selector ? dynamicBtnTemplate : btnTemplate;\n context: { $implicit: btn }\n \"\n ></ng-container>\n <ng-template #btnTemplate let-btn>\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-dialog-decisive-button\n [fdType]=\"btn.isWorkflow ? 'attention' : btn.design\"\n [label]=\"btn.text | bbbTranslate\"\n [glyph]=\"btn.newIcon ? btn.newIcon : null\"\n (click)=\"btn.handler(btn, formPanelCtrlr?.Adapter?.Control)\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n </ng-template>\n <ng-template #dynamicBtnTemplate let-btn>\n <fd-dialog-footer-button>\n <bnrc-dynamic-form-toolbaritem\n fd-toolbar-item\n [component]=\"btn.Data.CustomUi\"\n [context]=\"btn\"\n [isEnable]=\"btn.Command?._isEnable\"\n (btnClick)=\"btn.handler(btn, formPanelCtrlr?.Adapter?.Control)\"\n ></bnrc-dynamic-form-toolbaritem>\n </fd-dialog-footer-button>\n </ng-template>\n } } @if (!isNonePersistance && showSaveButton !== false) {\n <fd-dialog-footer-button>\n <fd-button-bar\n fd-initial-focus\n fd-dialog-decisive-button\n [label]=\"'Cancel' | bbbTranslate\"\n (click)=\"onCancel()\"\n ></fd-button-bar>\n </fd-dialog-footer-button>\n }\n </fd-dialog-footer>\n </fd-dialog>\n</ng-template>\n", styles: [":host{display:block;height:auto}fd-dialog-body{display:flex;flex-direction:column;height:100%;align-items:stretch;justify-content:stretch}fd-dialog-body>bnrc-form{flex-grow:1;display:flex;flex-direction:row;height:100%;justify-content:stretch;align-items:stretch}\n"] }]
|
|
150
150
|
}], ctorParameters: () => [{ type: i1.DialogService }, { type: i2.DialogParams }, { type: i2.PortalService }], propDecorators: { dialogTemplateRef: [{
|
|
151
151
|
type: ViewChild,
|
|
152
152
|
args: ['dialog', { read: TemplateRef, static: true }]
|
|
153
153
|
}] } });
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQ0gsUUFBUSxFQUlSLGdCQUFnQixFQUNoQixhQUFhLEVBRWIsU0FBUyxFQUNaLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7OztBQVU5QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQWdDbEQsWUFDWSxjQUE2QixFQUM3QixZQUEwQixFQUMxQixjQUE2QjtRQUVyQyxLQUFLLEVBQUUsQ0FBQztRQUpBLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBOUJ6QyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVluQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFLbkIsY0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBYXBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFB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QkFBbUIsR0FBRyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUNELFVBQVU7UUFDTixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQztRQUN2RSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzVDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUcsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUcsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzlFLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNqRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lB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QVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUM7SUFDakQsQ0FBQzs4R0F0S1EsbUJBQW1CO2tHQUFuQixtQkFBbUIsMENBSGpCLENBQUMsZ0JBQWdCLENBQUMsa0hBSUEsV0FBVyxrRUN0QjVDLGcxSkFzR0E7OzJGRGpGYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0ksaUJBQWlCLGFBR2hCLENBQUMsZ0JBQWdCLENBQUMsbUJBQ1osdUJBQXVCLENBQUMsTUFBTTt5SUFJL0MsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dDb25maWcsIERpYWxvZ1JlZiwgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQge1xuICAgIEJhcnNhQXBpLFxuICAgIERpYWxvZ1BhcmFtcyxcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIFBvcnRhbFNlcnZpY2UsXG4gICAgQ29udGFpbmVyU2VydmljZSxcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEZvcm1CYXNlQ29tcG9uZW50LFxuICAgIGlzRmlyZWZveFxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWZvcm0tZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbQ29udGFpbmVyU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybURpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2RpYWxvZycsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIGRpYWxvZ1RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgZm9ybUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEZvcm1Db21wb25lbnQ+O1xuICAgIGNhcHRpb24gPSAnJztcbiAgICBmdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgZGlhbG9nT3BlbmVkOiBib29sZWFuO1xuICAgIGRpYWxvZ1JlZjogRGlhbG9nUmVmO1xuICAgIGluRGlhbG9nOiBhbnk7XG4gICAgcGFyYW1zOiB7XG4gICAgICAgIG1vSWQ6IHN0cmluZztcbiAgICAgICAgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgICAgIGluRGlhbG9nOiBib29sZWFuO1xuICAgIH07XG4gICAgcGFyZW50Q29udGFpbmVyOiBhbnk7XG4gICAgZGV2aWNlU2l6ZTogc3RyaW5nO1xuICAgIGlzTm9uZVBlcnNpc3RhbmNlID0gZmFsc2U7XG4gICAgc2hvd1NhdmVCdXR0b24gPSB0cnVlO1xuICAgIHNob3dUb29sYmFyID0gdHJ1ZTtcbiAgICBzaG93Rm9vdGVyOiBib29sZWFuO1xuICAgIGNhbkZ1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgY2FuTW92ZTogYm9vbGVhbjtcbiAgICBjYW5SZXNpemU6IGJvb2xlYW47XG4gICAgaXNGaXJlZm94ID0gaXNGaXJlZm94KCk7XG4gICAgZnVsbHNjcmVlbkRlZmF1bHQ6IGJvb2xlYW47XG4gICAgZXh0ZW5kVG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8J3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJz47XG4gICAgZGlyVmFsdWUkOiBPYnNlcnZhYmxlPCdydGwnIHwgJ2x0cic+O1xuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgX2Zvcm1VaUNvbXBvbmVudDogRm9ybUJhc2VDb21wb25lbnQ7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUGFyYW1zOiBEaWFsb2dQYXJhbXMsXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGRldmljZVNpemUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9IGRldmljZVNpemU7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuZm9ybXBhbmVsQ3RybHI7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ1NldHRpbmcuVmlldy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XG4gICAgICAgIGNvbnN0IG1vSWQgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LmlkO1xuICAgICAgICBjb25zdCB0eXBlRGVmSWQgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LnR5aWQ7XG4gICAgICAgIGNvbnN0IHJlcG9ydElkID0gdGhpcy5kaWFsb2dQYXJhbXMuY29udGV4dC5yZXBpZDtcbiAgICAgICAgdGhpcy5pbkRpYWxvZyA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuaW5EaWFsb2c7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuZnVsbHNjcmVlbjtcbiAgICAgICAgdGhpcy5jYW5GdWxsc2NyZWVuID0gcGFyYW1ldGVycz8uQ2FuRnVsbHNjcmVlbjtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuRGVmYXVsdCA9IHBhcmFtZXRlcnM/LkZ1bGxzY3JlZW5EZWZhdWx0O1xuICAgICAgICBpZiAodGhpcy5mdWxsc2NyZWVuRGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5mdWxsc2NyZWVuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhbk1vdmUgPSBwYXJhbWV0ZXJzPy5DYW5Nb3ZlO1xuICAgICAgICB0aGlzLmNhblJlc2l6ZSA9IHBhcmFtZXRlcnM/LkNhblJlc2l6ZTtcbiAgICAgICAgdGhpcy5wYXJhbXMgPSB7IG1vSWQsIHR5cGVEZWZJZCwgcmVwb3J0SWQsIGluRGlhbG9nOiB0cnVlIH07XG4gICAgICAgIHRoaXMuX3NldENhcHRpb24oZm9ybVBhbmVsQ3RybHIpO1xuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyID0gZm9ybVBhbmVsQ3RybHI7XG4gICAgfVxuICAgIGdldCBBZGFwdGVyKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1QYW5lbEN0cmxyLkFkYXB0ZXI7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgICAgIHRoaXMuc2hvd1NhdmVCdXR0b24gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLFxuICAgICAgICAgICAgJ1NldHRpbmcuVmlldy5Gb3JtU2V0dGluZ3MuU2hvd1NhdmVCdXR0b24nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2hvd1Rvb2xiYXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ1NldHRpbmcuVmlldy5Gb3JtU2V0dGluZ3MuU2hvd1Rvb2xiYXInKTtcbiAgICAgICAgdGhpcy5pc05vbmVQZXJzaXN0YW5jZSA9IGZvcm1QYW5lbEN0cmxyPy5TZXR0aW5nPy5WaWV3Py5Jc05vbmVQZXJzaXN0YW5jZTtcbiAgICAgICAgdGhpcy5zaG93Rm9vdGVyID0gdGhpcy5pc05vbmVQZXJzaXN0YW5jZVxuICAgICAgICAgICAgPyB0aGlzLnNob3dTYXZlQnV0dG9uICE9PSBmYWxzZSAmJiB0aGlzLnNob3dUb29sYmFyICE9PSBmYWxzZVxuICAgICAgICAgICAgOiB0aGlzLnNob3dTYXZlQnV0dG9uO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2hvd0Zvb3RlciA9PSB0eXBlb2YgbnVsbCB8fCBmb3JtUGFuZWxDdHJscj8uU2V0dGluZz8uV29ya2Zsb3cpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zvb3RlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKCk7XG4gICAgfVxuICAgIG9uVG9vbGJhckNsaWNrKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybVVpQ29tcG9uZW50Lm9uVG9vbGJhckNsaWNrKGUpO1xuICAgIH1cbiAgICBvbkZvcm1VaUNvbXBvbmVudFJlYWR5KHVpQ29tcG9uZW50OiBGb3JtQmFzZUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtVWlDb21wb25lbnQgPSB1aUNvbXBvbmVudDtcbiAgICAgICAgdGhpcy5leHRlbmRUb29sYmFySXRlbXMkID0gdWlDb21wb25lbnQuZXh0ZW5kVG9vbGJhckl0ZW1zJDtcbiAgICAgICAgdGhpcy5ydGwkID0gdWlDb21wb25lbnQucnRsJDtcbiAgICAgICAgdGhpcy5kaXJWYWx1ZSQgPSB1aUNvbXBvbmVudC5kaXJWYWx1ZSQ7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB1aUNvbXBvbmVudC5kZXZpY2VTaXplJDtcbiAgICB9XG4gICAgb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc21hbGxEZXZpY2UgPSB0aGlzLmRldmljZVNpemUgPT09ICdzJyB8fCB0aGlzLmRldmljZVNpemUgPT09ICdtJztcbiAgICAgICAgY29uc3Qgd2lkdGggPSBzbWFsbERldmljZSA/ICcxMDAlJyA6ICczMHZ3JztcbiAgICAgICAgbGV0IGhlaWdodCA9IHNtYWxsRGV2aWNlID8gJzEwMCUnIDogJ2F1dG8nO1xuICAgICAgICBjb25zdCB2aWV3V2lkdGggPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmZvcm1QYW5lbEN0cmxyLCAnU2V0dGluZy5WaWV3Lk1pblNpemUud2lkdGgnLCBudWxsKTtcbiAgICAgICAgY29uc3Qgdmlld0hpZWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuZm9ybVBhbmVsQ3RybHIsICdTZXR0aW5nLlZpZXcuTWluU2l6ZS5oZWlnaHQnLCBudWxsKTtcbiAgICAgICAgY29uc3QgbWluV2lkdGggPSBzbWFsbERldmljZSA/ICcxMDAlJyA6IHZpZXdXaWR0aCA/IHZpZXdXaWR0aCArICdweCcgOiAnYXV0byc7XG4gICAgICAgIGNvbnN0IG1pbkhlaWdodCA9IHNtYWxsRGV2aWNlID8gJzEwMCUnIDogdmlld0hpZWdodCA/IHZpZXdIaWVnaHQgKyAncHgnIDogJ2F1dG8nO1xuICAgICAgICBpZiAodmlld0hpZWdodCkge1xuICAgICAgICAgICAgaGVpZ2h0ID0gc21hbGxEZXZpY2UgPyAnMTAwJScgOiBgJHt2aWV3SGllZ2h0ICsgMTAwfXB4YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RhbFNldHRpbmcgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIsXG4gICAgICAgICAgICAnU2V0dGluZy5WaWV3LkN1c3RvbVVpLlBhcmFtZXRlcnMuTW9kYWxTZXR0aW5nJyxcbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgc2V0dGluZzogRGlhbG9nQ29uZmlnID0ge1xuICAgICAgICAgICAgZXNjS2V5Q2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBtb2JpbGU6IHNtYWxsRGV2aWNlLFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICAvLyBib2R5TWluSGVpZ2h0OiBtaW5IZWlnaHQsXG4gICAgICAgICAgICBtaW5IZWlnaHQsXG4gICAgICAgICAgICBtaW5XaWR0aCxcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdGhpcy5jYW5Nb3ZlLFxuICAgICAgICAgICAgcmVzaXphYmxlOiB0aGlzLmNhblJlc2l6ZSxcbiAgICAgICAgICAgIGRhdGE6IHsgY2FwdGlvbjogdGhpcy5jYXB0aW9uLCBjYW5GdWxsc2NyZWVuOiB0aGlzLmNhbkZ1bGxzY3JlZW4sIGNhbk1vdmU6IHRoaXMuY2FuTW92ZSB9XG4gICAgICAgIH07XG4gICAgICAgIGlmIChtb2RhbFNldHRpbmcpIHtcbiAgICAgICAgICAgIHNldHRpbmcgPSB7IC4uLnNldHRpbmcsIC4uLm1vZGFsU2V0dGluZyB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuZGlhbG9nVGVtcGxhdGVSZWYsIHNldHRpbmcpO1xuICAgIH1cblxuICAgIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5BZGFwdGVyO1xuICAgICAgICBhZGFwdGVyLmZpcmVFdmVudCgnVG9vbENsaWNrJywgYWRhcHRlciwgeyBLZXk6ICdDYW5jZWwnIH0pO1xuICAgICAgICB0aGlzLl9jbG9zZSgpO1xuICAgIH1cbiAgICBvblNhdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLkFkYXB0ZXI7XG4gICAgICAgIGFkYXB0ZXIuZmlyZUV2ZW50KCdUb29sQ2xpY2snLCBhZGFwdGVyLCB7IEtleTogJ1NhdmVBbmRDbG9zZScgfSk7XG4gICAgfVxuICAgIG9uT2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLkFkYXB0ZXI7XG4gICAgICAgIGFkYXB0ZXIuZmlyZUV2ZW50KCdUb29sQ2xpY2snLCBhZGFwdGVyLCB7IEtleTogJ09rJyB9KTtcbiAgICB9XG5cbiAgICBvbkZvcm1DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5kaWFsb2dQYXJhbXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5kaWFsb2dPcGVuZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAvLyBASW5wdXQoKSBTaG93Rm9ybVBhbmVsQ29udHJvbCA9IChmb3JtcGFuZWxDdHJscikgPT4ge307XG4gICAgLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAvLyBASW5wdXQoKSBGb3JjZUNsb3NlQ2hpbGQgPSAoKSA9PiB7fTtcbiAgICAvLyAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIC8vIEBJbnB1dCgpIFJlZnJlc2hGb3JtUGFuZWxDb250cm9sID0gKGZvcm1wYW5lbEN0cmxyKSA9PiB7fTtcbiAgICBwcml2YXRlIF9jbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5jbG9zZSgpO1xuICAgICAgICBpZiAodGhpcy5BZGFwdGVyKSB7XG4gICAgICAgICAgICB0aGlzLkFkYXB0ZXIuQ29udHJvbC5maXJlRXZlbnQoJ1JlcXVlc3RGb3JDbG9zZScsIHRoaXMuQWRhcHRlci5Db250cm9sLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgICAvLyB0aGlzLmRpYWxvZ1BhcmFtcy5jbG9zZSgpO1xuICAgICAgICAvLyB0aGlzLmRpYWxvZ09wZW5lZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldENhcHRpb24oZm9ybVBhbmVsQ3RybHI6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0eXBlRGVmTmFtZSA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKGZvcm1QYW5lbEN0cmxyLCAnTW8uJFR5cGVEZWZOYW1lJywgJycpO1xuICAgICAgICBjb25zdCBtb0NhcHRpb24gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ01vLiRDYXB0aW9uJywgJycpO1xuICAgICAgICB0aGlzLmNhcHRpb24gPSB0eXBlRGVmTmFtZSArICc6JyArIG1vQ2FwdGlvbjtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI2RpYWxvZz5cbiAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIiAjZGlhbG9nVHBsUmVmPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoMSBmZC10aXRsZT57eyBkaWFsb2dDb25maWcuZGF0YS5jYXB0aW9uIH19PC9oMT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChkaWFsb2dDb25maWcuZGF0YS5jYW5GdWxsc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZC1idXR0b24tYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhTGFiZWw9XCJmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJmdWxsc2NyZWVuID8gJ2V4aXRmdWxsc2NyZWVuJyA6ICdyZXNpemUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxzY3JlZW5EaWFsb2dcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaWFsb2ddPVwiZGlhbG9nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtmdWxsc2NyZWVuXT1cImZ1bGxzY3JlZW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5DaGFuZ2VkKT1cImZ1bGxzY3JlZW4gPSAkZXZlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RpYWxvZ0NvbXBvbmVudF09XCJkaWFsb2dUcGxSZWZcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDxic3UtZm9ybS10b29sYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICBmZC1iYXItbGVmdFxuICAgICAgICAgICAgICAgICAgICAgICAgW2RldmljZVNpemVdPVwiZGV2aWNlU2l6ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYnV0dG9uc109XCJleHRlbmRUb29sYmFySXRlbXMkIHwgYXN5bmMgfCB0bGJCdXR0b25zOiAnaW5Gb290ZXInOmZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXJWYWx1ZV09XCIoZGlyVmFsdWUkIHwgYXN5bmMpISFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2lzRmlyZWZveF09XCJpc0ZpcmVmb3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKHRvb2xiYXJDbGljayk9XCJvblRvb2xiYXJDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICNmb3JtVG9vbGJhclxuICAgICAgICAgICAgICAgICAgICA+PC9ic3UtZm9ybS10b29sYmFyPlxuICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhciBhcmlhTGFiZWw9XCJjbG9zZVwiIGdseXBoPVwiZGVjbGluZVwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwhLS0gPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgZmRrVGVtcGxhdGU9XCJzdWJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZXh0ZW5kVG9vbGJhckl0ZW1zJCB8IGFzeW5jIHwgdGxiQnV0dG9uczogJ2luRm9vdGVyJzpmYWxzZSBhcyB0b29sYmFySXRlbXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLW1pZGRsZT5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50IFtmdWxsV2lkdGhdPVwidHJ1ZVwiIGNsYXNzPVwiIXR3LWp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnN1LWZvcm0tdG9vbGJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25zXT1cInRvb2xiYXJJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpclZhbHVlXT1cIihkaXJWYWx1ZSQgfCBhc3luYykhIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzRmlyZWZveF09XCJpc0ZpcmVmb3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0b29sYmFyQ2xpY2spPVwib25Ub29sYmFyQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Zvcm1Ub29sYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9ic3UtZm9ybS10b29sYmFyPlxuICAgICAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XG4gICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgICAgICA8Ym5yYy1mb3JtXG4gICAgICAgICAgICAgICAgW2Zvcm1QYW5lbEN0cmxdPVwiZm9ybVBhbmVsQ3RybHJcIlxuICAgICAgICAgICAgICAgIFtwYXJhbXNdPVwicGFyYW1zXCJcbiAgICAgICAgICAgICAgICAoZm9ybUNsb3NlKT1cIm9uRm9ybUNsb3NlKClcIlxuICAgICAgICAgICAgICAgICh1aUNvbXBvbmVudCk9XCJvbkZvcm1VaUNvbXBvbmVudFJlYWR5KCRldmVudClcIlxuICAgICAgICAgICAgPjwvYm5yYy1mb3JtPlxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuICAgICAgICA8ZmQtZGlhbG9nLWZvb3RlciBbc3R5bGUuZGlzcGxheV09XCIhc2hvd0Zvb3RlciA/ICdub25lJyA6IG51bGxcIj5cbiAgICAgICAgICAgIEBmb3IgKGJ0biBvZiAoZXh0ZW5kVG9vbGJhckl0ZW1zJCB8IGFzeW5jKTsgdHJhY2sgYnRuLklkKSB7IEBpZiAoIShidG4gPT09ICctJyB8fCBidG4udGV4dCA9PT0gJy0nKSAmJlxuICAgICAgICAgICAgKChidG4uaXNCdWlsdGluICYmIGJ0bi5pbkZvb3RlcikgfHwgYnRuLmlzV29ya2Zsb3cpKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgYnRuLkRhdGE/LkN1c3RvbVVpPy5TZWxlY3RvciA/IGR5bmFtaWNCdG5UZW1wbGF0ZSA6IGJ0blRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogYnRuIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNidG5UZW1wbGF0ZSBsZXQtYnRuPlxuICAgICAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiYnRuLmlzV29ya2Zsb3cgPyAnYXR0ZW50aW9uJyA6IGJ0bi5kZXNpZ25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImJ0bi50ZXh0IHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJidG4ubmV3SWNvbiA/IGJ0bi5uZXdJY29uIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnRuLmhhbmRsZXIoYnRuLCBmb3JtUGFuZWxDdHJscj8uQWRhcHRlcj8uQ29udHJvbClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkeW5hbWljQnRuVGVtcGxhdGUgbGV0LWJ0bj5cbiAgICAgICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50XT1cImJ0bi5EYXRhLkN1c3RvbVVpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNFbmFibGVdPVwiYnRuLkNvbW1hbmQ/Ll9pc0VuYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYnRuQ2xpY2spPVwiYnRuLmhhbmRsZXIoYnRuLCBmb3JtUGFuZWxDdHJscj8uQWRhcHRlcj8uQ29udHJvbClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9ibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbT5cbiAgICAgICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH0gfSBAaWYgKCFpc05vbmVQZXJzaXN0YW5jZSAmJiBzaG93U2F2ZUJ1dHRvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgICAgICBmZC1pbml0aWFsLWZvY3VzXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG4gICAgPC9mZC1kaWFsb2c+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBd0IsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSCxPQUFPLEVBQ0gsUUFBUSxFQUlSLGdCQUFnQixFQUNoQixhQUFhLEVBRWIsU0FBUyxFQUNaLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7Ozs7OztBQVU5QixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsYUFBYTtJQWdDbEQsWUFDWSxjQUE2QixFQUM3QixZQUEwQixFQUMxQixjQUE2QjtRQUVyQyxLQUFLLEVBQUUsQ0FBQztRQUpBLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBOUJ6QyxZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVluQixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFLbkIsY0FBUyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBYXBCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3JELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFB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QkFBbUIsR0FBRyxXQUFXLENBQUMsbUJBQW1CLENBQUM7UUFDM0QsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUNELFVBQVU7UUFDTixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUcsQ0FBQztRQUN2RSxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzVDLElBQUksTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUcsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUcsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzlFLE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNqRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lB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QVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUM7SUFDakQsQ0FBQzs4R0F0S1EsbUJBQW1CO2tHQUFuQixtQkFBbUIsMENBSGpCLENBQUMsZ0JBQWdCLENBQUMsa0hBSUEsV0FBVyxrRUN0QjVDLGc0SkF1R0E7OzJGRGxGYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0ksaUJBQWlCLGFBR2hCLENBQUMsZ0JBQWdCLENBQUMsbUJBQ1osdUJBQXVCLENBQUMsTUFBTTt5SUFJL0MsaUJBQWlCO3NCQURoQixTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dDb25maWcsIERpYWxvZ1JlZiwgRGlhbG9nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQge1xuICAgIEJhcnNhQXBpLFxuICAgIERpYWxvZ1BhcmFtcyxcbiAgICBGb3JtQ29tcG9uZW50LFxuICAgIFBvcnRhbFNlcnZpY2UsXG4gICAgQ29udGFpbmVyU2VydmljZSxcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEZvcm1CYXNlQ29tcG9uZW50LFxuICAgIGlzRmlyZWZveFxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWZvcm0tZGlhbG9nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2Zvcm0tZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbQ29udGFpbmVyU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybURpYWxvZ0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2RpYWxvZycsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIGRpYWxvZ1RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGZvcm1QYW5lbEN0cmxyOiBhbnk7XG4gICAgZm9ybUNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEZvcm1Db21wb25lbnQ+O1xuICAgIGNhcHRpb24gPSAnJztcbiAgICBmdWxsc2NyZWVuID0gZmFsc2U7XG4gICAgZGlhbG9nT3BlbmVkOiBib29sZWFuO1xuICAgIGRpYWxvZ1JlZjogRGlhbG9nUmVmO1xuICAgIGluRGlhbG9nOiBhbnk7XG4gICAgcGFyYW1zOiB7XG4gICAgICAgIG1vSWQ6IHN0cmluZztcbiAgICAgICAgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgICAgIHJlcG9ydElkOiBzdHJpbmc7XG4gICAgICAgIGluRGlhbG9nOiBib29sZWFuO1xuICAgIH07XG4gICAgcGFyZW50Q29udGFpbmVyOiBhbnk7XG4gICAgZGV2aWNlU2l6ZTogc3RyaW5nO1xuICAgIGlzTm9uZVBlcnNpc3RhbmNlID0gZmFsc2U7XG4gICAgc2hvd1NhdmVCdXR0b24gPSB0cnVlO1xuICAgIHNob3dUb29sYmFyID0gdHJ1ZTtcbiAgICBzaG93Rm9vdGVyOiBib29sZWFuO1xuICAgIGNhbkZ1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgY2FuTW92ZTogYm9vbGVhbjtcbiAgICBjYW5SZXNpemU6IGJvb2xlYW47XG4gICAgaXNGaXJlZm94ID0gaXNGaXJlZm94KCk7XG4gICAgZnVsbHNjcmVlbkRlZmF1bHQ6IGJvb2xlYW47XG4gICAgZXh0ZW5kVG9vbGJhckl0ZW1zJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gICAgZGV2aWNlU2l6ZSQ6IE9ic2VydmFibGU8J3MnIHwgJ20nIHwgJ2wnIHwgJ3hsJz47XG4gICAgZGlyVmFsdWUkOiBPYnNlcnZhYmxlPCdydGwnIHwgJ2x0cic+O1xuICAgIHJ0bCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgX2Zvcm1VaUNvbXBvbmVudDogRm9ybUJhc2VDb21wb25lbnQ7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUGFyYW1zOiBEaWFsb2dQYXJhbXMsXG4gICAgICAgIHByaXZhdGUgX3BvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5fcG9ydGFsU2VydmljZS5kZXZpY2VTaXplJC5zdWJzY3JpYmUoKGRldmljZVNpemUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZGV2aWNlU2l6ZSA9IGRldmljZVNpemU7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuZm9ybXBhbmVsQ3RybHI7XG4gICAgICAgIGNvbnN0IHBhcmFtZXRlcnMgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ1NldHRpbmcuVmlldy5DdXN0b21VaS5QYXJhbWV0ZXJzJywgbnVsbCk7XG4gICAgICAgIGNvbnN0IG1vSWQgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LmlkO1xuICAgICAgICBjb25zdCB0eXBlRGVmSWQgPSB0aGlzLmRpYWxvZ1BhcmFtcy5jb250ZXh0LnR5aWQ7XG4gICAgICAgIGNvbnN0IHJlcG9ydElkID0gdGhpcy5kaWFsb2dQYXJhbXMuY29udGV4dC5yZXBpZDtcbiAgICAgICAgdGhpcy5pbkRpYWxvZyA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuaW5EaWFsb2c7XG4gICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IHRoaXMuZGlhbG9nUGFyYW1zLmNvbnRleHQuZnVsbHNjcmVlbjtcbiAgICAgICAgdGhpcy5jYW5GdWxsc2NyZWVuID0gcGFyYW1ldGVycz8uQ2FuRnVsbHNjcmVlbjtcbiAgICAgICAgdGhpcy5mdWxsc2NyZWVuRGVmYXVsdCA9IHBhcmFtZXRlcnM/LkZ1bGxzY3JlZW5EZWZhdWx0O1xuICAgICAgICBpZiAodGhpcy5mdWxsc2NyZWVuRGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5mdWxsc2NyZWVuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNhbk1vdmUgPSBwYXJhbWV0ZXJzPy5DYW5Nb3ZlO1xuICAgICAgICB0aGlzLmNhblJlc2l6ZSA9IHBhcmFtZXRlcnM/LkNhblJlc2l6ZTtcbiAgICAgICAgdGhpcy5wYXJhbXMgPSB7IG1vSWQsIHR5cGVEZWZJZCwgcmVwb3J0SWQsIGluRGlhbG9nOiB0cnVlIH07XG4gICAgICAgIHRoaXMuX3NldENhcHRpb24oZm9ybVBhbmVsQ3RybHIpO1xuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmxyID0gZm9ybVBhbmVsQ3RybHI7XG4gICAgfVxuICAgIGdldCBBZGFwdGVyKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1QYW5lbEN0cmxyLkFkYXB0ZXI7XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBjb25zdCBmb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybHI7XG4gICAgICAgIHRoaXMuc2hvd1NhdmVCdXR0b24gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIGZvcm1QYW5lbEN0cmxyLFxuICAgICAgICAgICAgJ1NldHRpbmcuVmlldy5Gb3JtU2V0dGluZ3MuU2hvd1NhdmVCdXR0b24nXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuc2hvd1Rvb2xiYXIgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ1NldHRpbmcuVmlldy5Gb3JtU2V0dGluZ3MuU2hvd1Rvb2xiYXInKTtcbiAgICAgICAgdGhpcy5pc05vbmVQZXJzaXN0YW5jZSA9IGZvcm1QYW5lbEN0cmxyPy5TZXR0aW5nPy5WaWV3Py5Jc05vbmVQZXJzaXN0YW5jZTtcbiAgICAgICAgdGhpcy5zaG93Rm9vdGVyID0gdGhpcy5pc05vbmVQZXJzaXN0YW5jZVxuICAgICAgICAgICAgPyB0aGlzLnNob3dTYXZlQnV0dG9uICE9PSBmYWxzZSAmJiB0aGlzLnNob3dUb29sYmFyICE9PSBmYWxzZVxuICAgICAgICAgICAgOiB0aGlzLnNob3dTYXZlQnV0dG9uO1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2hvd0Zvb3RlciA9PSB0eXBlb2YgbnVsbCB8fCBmb3JtUGFuZWxDdHJscj8uU2V0dGluZz8uV29ya2Zsb3cpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0Zvb3RlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKCk7XG4gICAgfVxuICAgIG9uVG9vbGJhckNsaWNrKGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZm9ybVVpQ29tcG9uZW50Lm9uVG9vbGJhckNsaWNrKGUpO1xuICAgIH1cbiAgICBvbkZvcm1VaUNvbXBvbmVudFJlYWR5KHVpQ29tcG9uZW50OiBGb3JtQmFzZUNvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9mb3JtVWlDb21wb25lbnQgPSB1aUNvbXBvbmVudDtcbiAgICAgICAgdGhpcy5leHRlbmRUb29sYmFySXRlbXMkID0gdWlDb21wb25lbnQuZXh0ZW5kVG9vbGJhckl0ZW1zJDtcbiAgICAgICAgdGhpcy5ydGwkID0gdWlDb21wb25lbnQucnRsJDtcbiAgICAgICAgdGhpcy5kaXJWYWx1ZSQgPSB1aUNvbXBvbmVudC5kaXJWYWx1ZSQ7XG4gICAgICAgIHRoaXMuZGV2aWNlU2l6ZSQgPSB1aUNvbXBvbmVudC5kZXZpY2VTaXplJDtcbiAgICB9XG4gICAgb3BlbkRpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc21hbGxEZXZpY2UgPSB0aGlzLmRldmljZVNpemUgPT09ICdzJyB8fCB0aGlzLmRldmljZVNpemUgPT09ICdtJztcbiAgICAgICAgY29uc3Qgd2lkdGggPSBzbWFsbERldmljZSA/ICcxMDAlJyA6ICczMHZ3JztcbiAgICAgICAgbGV0IGhlaWdodCA9IHNtYWxsRGV2aWNlID8gJzEwMCUnIDogJ2F1dG8nO1xuICAgICAgICBjb25zdCB2aWV3V2lkdGggPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLmZvcm1QYW5lbEN0cmxyLCAnU2V0dGluZy5WaWV3Lk1pblNpemUud2lkdGgnLCBudWxsKTtcbiAgICAgICAgY29uc3Qgdmlld0hpZWdodCA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKHRoaXMuZm9ybVBhbmVsQ3RybHIsICdTZXR0aW5nLlZpZXcuTWluU2l6ZS5oZWlnaHQnLCBudWxsKTtcbiAgICAgICAgY29uc3QgbWluV2lkdGggPSBzbWFsbERldmljZSA/ICcxMDAlJyA6IHZpZXdXaWR0aCA/IHZpZXdXaWR0aCArICdweCcgOiAnYXV0byc7XG4gICAgICAgIGNvbnN0IG1pbkhlaWdodCA9IHNtYWxsRGV2aWNlID8gJzEwMCUnIDogdmlld0hpZWdodCA/IHZpZXdIaWVnaHQgKyAncHgnIDogJ2F1dG8nO1xuICAgICAgICBpZiAodmlld0hpZWdodCkge1xuICAgICAgICAgICAgaGVpZ2h0ID0gc21hbGxEZXZpY2UgPyAnMTAwJScgOiBgJHt2aWV3SGllZ2h0ICsgMTAwfXB4YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb2RhbFNldHRpbmcgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybHIsXG4gICAgICAgICAgICAnU2V0dGluZy5WaWV3LkN1c3RvbVVpLlBhcmFtZXRlcnMuTW9kYWxTZXR0aW5nJyxcbiAgICAgICAgICAgIG51bGxcbiAgICAgICAgKTtcblxuICAgICAgICBsZXQgc2V0dGluZzogRGlhbG9nQ29uZmlnID0ge1xuICAgICAgICAgICAgZXNjS2V5Q2xvc2VhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIHJlc3BvbnNpdmVQYWRkaW5nOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbGlja0Nsb3NlYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBtb2JpbGU6IHNtYWxsRGV2aWNlLFxuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQsXG4gICAgICAgICAgICAvLyBib2R5TWluSGVpZ2h0OiBtaW5IZWlnaHQsXG4gICAgICAgICAgICBtaW5IZWlnaHQsXG4gICAgICAgICAgICBtaW5XaWR0aCxcbiAgICAgICAgICAgIHZlcnRpY2FsUGFkZGluZzogdHJ1ZSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogdGhpcy5jYW5Nb3ZlLFxuICAgICAgICAgICAgcmVzaXphYmxlOiB0aGlzLmNhblJlc2l6ZSxcbiAgICAgICAgICAgIGRhdGE6IHsgY2FwdGlvbjogdGhpcy5jYXB0aW9uLCBjYW5GdWxsc2NyZWVuOiB0aGlzLmNhbkZ1bGxzY3JlZW4sIGNhbk1vdmU6IHRoaXMuY2FuTW92ZSB9XG4gICAgICAgIH07XG4gICAgICAgIGlmIChtb2RhbFNldHRpbmcpIHtcbiAgICAgICAgICAgIHNldHRpbmcgPSB7IC4uLnNldHRpbmcsIC4uLm1vZGFsU2V0dGluZyB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuZGlhbG9nVGVtcGxhdGVSZWYsIHNldHRpbmcpO1xuICAgIH1cblxuICAgIG9uQ2FuY2VsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5BZGFwdGVyO1xuICAgICAgICBhZGFwdGVyLmZpcmVFdmVudCgnVG9vbENsaWNrJywgYWRhcHRlciwgeyBLZXk6ICdDYW5jZWwnIH0pO1xuICAgICAgICB0aGlzLl9jbG9zZSgpO1xuICAgIH1cbiAgICBvblNhdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLkFkYXB0ZXI7XG4gICAgICAgIGFkYXB0ZXIuZmlyZUV2ZW50KCdUb29sQ2xpY2snLCBhZGFwdGVyLCB7IEtleTogJ1NhdmVBbmRDbG9zZScgfSk7XG4gICAgfVxuICAgIG9uT2soKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLkFkYXB0ZXI7XG4gICAgICAgIGFkYXB0ZXIuZmlyZUV2ZW50KCdUb29sQ2xpY2snLCBhZGFwdGVyLCB7IEtleTogJ09rJyB9KTtcbiAgICB9XG5cbiAgICBvbkZvcm1DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5kaWFsb2dQYXJhbXMuY2xvc2UoKTtcbiAgICAgICAgdGhpcy5kaWFsb2dPcGVuZWQgPSBmYWxzZTtcbiAgICB9XG4gICAgLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAvLyBASW5wdXQoKSBTaG93Rm9ybVBhbmVsQ29udHJvbCA9IChmb3JtcGFuZWxDdHJscikgPT4ge307XG4gICAgLy8gLyogZXNsaW50LWRpc2FibGUgKi9cbiAgICAvLyBASW5wdXQoKSBGb3JjZUNsb3NlQ2hpbGQgPSAoKSA9PiB7fTtcbiAgICAvLyAvKiBlc2xpbnQtZGlzYWJsZSAqL1xuICAgIC8vIEBJbnB1dCgpIFJlZnJlc2hGb3JtUGFuZWxDb250cm9sID0gKGZvcm1wYW5lbEN0cmxyKSA9PiB7fTtcbiAgICBwcml2YXRlIF9jbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgLy8gdGhpcy5kaWFsb2dSZWYubmF0aXZlRWxlbWVudC5jbG9zZSgpO1xuICAgICAgICBpZiAodGhpcy5BZGFwdGVyKSB7XG4gICAgICAgICAgICB0aGlzLkFkYXB0ZXIuQ29udHJvbC5maXJlRXZlbnQoJ1JlcXVlc3RGb3JDbG9zZScsIHRoaXMuQWRhcHRlci5Db250cm9sLCB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAvLyB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgICAvLyB0aGlzLmRpYWxvZ1BhcmFtcy5jbG9zZSgpO1xuICAgICAgICAvLyB0aGlzLmRpYWxvZ09wZW5lZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldENhcHRpb24oZm9ybVBhbmVsQ3RybHI6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCB0eXBlRGVmTmFtZSA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKGZvcm1QYW5lbEN0cmxyLCAnTW8uJFR5cGVEZWZOYW1lJywgJycpO1xuICAgICAgICBjb25zdCBtb0NhcHRpb24gPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZShmb3JtUGFuZWxDdHJsciwgJ01vLiRDYXB0aW9uJywgJycpO1xuICAgICAgICB0aGlzLmNhcHRpb24gPSB0eXBlRGVmTmFtZSArICc6JyArIG1vQ2FwdGlvbjtcbiAgICB9XG59XG4iLCI8bmctdGVtcGxhdGUgbGV0LWRpYWxvZyBsZXQtZGlhbG9nQ29uZmlnPVwiZGlhbG9nQ29uZmlnXCIgI2RpYWxvZz5cbiAgICA8ZmQtZGlhbG9nIFtkaWFsb2dDb25maWddPVwiZGlhbG9nQ29uZmlnXCIgW2RpYWxvZ1JlZl09XCJkaWFsb2dcIiAjZGlhbG9nVHBsUmVmPlxuICAgICAgICA8ZmQtZGlhbG9nLWhlYWRlcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLWxlZnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoMSBmZC10aXRsZT57eyBkaWFsb2dDb25maWcuZGF0YS5jYXB0aW9uIH19PC9oMT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGZkLWJhci1yaWdodD5cbiAgICAgICAgICAgICAgICAgICAgPGJzdS1mb3JtLXRvb2xiYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWJhci1yaWdodFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGV2aWNlU2l6ZV09XCJkZXZpY2VTaXplXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25zXT1cImV4dGVuZFRvb2xiYXJJdGVtcyQgfCBhc3luYyB8IHRsYkJ1dHRvbnM6ICdpbkZvb3Rlcic6ZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2RpclZhbHVlXT1cIihkaXJWYWx1ZSQgfCBhc3luYykhIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNGaXJlZm94XT1cImlzRmlyZWZveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAodG9vbGJhckNsaWNrKT1cIm9uVG9vbGJhckNsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI2Zvcm1Ub29sYmFyXG4gICAgICAgICAgICAgICAgICAgID48L2JzdS1mb3JtLXRvb2xiYXI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoZGlhbG9nQ29uZmlnLmRhdGEuY2FuRnVsbHNjcmVlbikge1xuICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwiZnVsbHNjcmVlblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZ2x5cGhdPVwiZnVsbHNjcmVlbiA/ICdleGl0ZnVsbHNjcmVlbicgOiAncmVzaXplJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBmdWxsc2NyZWVuRGlhbG9nXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlhbG9nXT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZnVsbHNjcmVlbl09XCJmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuQ2hhbmdlZCk9XCJmdWxsc2NyZWVuID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaWFsb2dDb21wb25lbnRdPVwiZGlhbG9nVHBsUmVmXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvZmQtYnV0dG9uLWJhcj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhciBhcmlhTGFiZWw9XCJjbG9zZVwiIGdseXBoPVwiZGVjbGluZVwiIChjbGljayk9XCJvbkNhbmNlbCgpXCI+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwhLS0gPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgZmRrVGVtcGxhdGU9XCJzdWJoZWFkZXJcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZXh0ZW5kVG9vbGJhckl0ZW1zJCB8IGFzeW5jIHwgdGxiQnV0dG9uczogJ2luRm9vdGVyJzpmYWxzZSBhcyB0b29sYmFySXRlbXNcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgZmQtYmFyLW1pZGRsZT5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50IFtmdWxsV2lkdGhdPVwidHJ1ZVwiIGNsYXNzPVwiIXR3LWp1c3RpZnktZW5kXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnN1LWZvcm0tdG9vbGJhclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZXZpY2VTaXplXT1cImRldmljZVNpemVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtidXR0b25zXT1cInRvb2xiYXJJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RpclZhbHVlXT1cIihkaXJWYWx1ZSQgfCBhc3luYykhIVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lzRmlyZWZveF09XCJpc0ZpcmVmb3hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0b29sYmFyQ2xpY2spPVwib25Ub29sYmFyQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Zvcm1Ub29sYmFyXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9ic3UtZm9ybS10b29sYmFyPlxuICAgICAgICAgICAgICAgICAgICA8L2ZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XG4gICAgICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgICAgICA8ZmQtZGlhbG9nLWJvZHk+XG4gICAgICAgICAgICA8Ym5yYy1mb3JtXG4gICAgICAgICAgICAgICAgW2Zvcm1QYW5lbEN0cmxdPVwiZm9ybVBhbmVsQ3RybHJcIlxuICAgICAgICAgICAgICAgIFtwYXJhbXNdPVwicGFyYW1zXCJcbiAgICAgICAgICAgICAgICAoZm9ybUNsb3NlKT1cIm9uRm9ybUNsb3NlKClcIlxuICAgICAgICAgICAgICAgICh1aUNvbXBvbmVudCk9XCJvbkZvcm1VaUNvbXBvbmVudFJlYWR5KCRldmVudClcIlxuICAgICAgICAgICAgPjwvYm5yYy1mb3JtPlxuICAgICAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuICAgICAgICA8ZmQtZGlhbG9nLWZvb3RlciBbc3R5bGUuZGlzcGxheV09XCIhc2hvd0Zvb3RlciA/ICdub25lJyA6IG51bGxcIj5cbiAgICAgICAgICAgIEBmb3IgKGJ0biBvZiAoZXh0ZW5kVG9vbGJhckl0ZW1zJCB8IGFzeW5jKTsgdHJhY2sgYnRuLklkKSB7IEBpZiAoIShidG4gPT09ICctJyB8fCBidG4udGV4dCA9PT0gJy0nKSAmJlxuICAgICAgICAgICAgKChidG4uaXNCdWlsdGluICYmIGJ0bi5pbkZvb3RlcikgfHwgYnRuLmlzV29ya2Zsb3cpKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgICAgICAgYnRuLkRhdGE/LkN1c3RvbVVpPy5TZWxlY3RvciA/IGR5bmFtaWNCdG5UZW1wbGF0ZSA6IGJ0blRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogYnRuIH1cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNidG5UZW1wbGF0ZSBsZXQtYnRuPlxuICAgICAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPGZkLWJ1dHRvbi1iYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIFtmZFR5cGVdPVwiYnRuLmlzV29ya2Zsb3cgPyAnYXR0ZW50aW9uJyA6IGJ0bi5kZXNpZ25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cImJ0bi50ZXh0IHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtnbHlwaF09XCJidG4ubmV3SWNvbiA/IGJ0bi5uZXdJY29uIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYnRuLmhhbmRsZXIoYnRuLCBmb3JtUGFuZWxDdHJscj8uQWRhcHRlcj8uQ29udHJvbClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9mZC1idXR0b24tYmFyPlxuICAgICAgICAgICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkeW5hbWljQnRuVGVtcGxhdGUgbGV0LWJ0bj5cbiAgICAgICAgICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBbY29tcG9uZW50XT1cImJ0bi5EYXRhLkN1c3RvbVVpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImJ0blwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXNFbmFibGVdPVwiYnRuLkNvbW1hbmQ/Ll9pc0VuYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYnRuQ2xpY2spPVwiYnRuLmhhbmRsZXIoYnRuLCBmb3JtUGFuZWxDdHJscj8uQWRhcHRlcj8uQ29udHJvbClcIlxuICAgICAgICAgICAgICAgICAgICA+PC9ibnJjLWR5bmFtaWMtZm9ybS10b29sYmFyaXRlbT5cbiAgICAgICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH0gfSBAaWYgKCFpc05vbmVQZXJzaXN0YW5jZSAmJiBzaG93U2F2ZUJ1dHRvbiAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZmQtYnV0dG9uLWJhclxuICAgICAgICAgICAgICAgICAgICBmZC1pbml0aWFsLWZvY3VzXG4gICAgICAgICAgICAgICAgICAgIGZkLWRpYWxvZy1kZWNpc2l2ZS1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidDYW5jZWwnIHwgYmJiVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgICAgICAgICAgID48L2ZkLWJ1dHRvbi1iYXI+XG4gICAgICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG4gICAgPC9mZC1kaWFsb2c+XG48L25nLXRlbXBsYXRlPlxuIl19
|
package/esm2022/lib/index.mjs
CHANGED
|
@@ -444,34 +444,6 @@ export const directives = [
|
|
|
444
444
|
];
|
|
445
445
|
export const INIT_SAPFIORI = (rtlService, contentDensityService, themeService, portalService, domSanitizer) => () => {
|
|
446
446
|
rtlService.rtl.next(BarsaApi.LoginFormData.IsRtl);
|
|
447
|
-
const YekanDigit = 'IRANYekanDigits';
|
|
448
|
-
let fontFamily = YekanDigit;
|
|
449
|
-
const iranSans = 'BarsaFont';
|
|
450
|
-
if (BarsaApi.LoginFormData.Culture === 'en-US') {
|
|
451
|
-
fontFamily = iranSans;
|
|
452
|
-
}
|
|
453
|
-
const css = `* {
|
|
454
|
-
--sapFontFamily: '${iranSans}';
|
|
455
|
-
--fdDynamicPage_Title_Font_Family: '${fontFamily}';
|
|
456
|
-
--fdButton_Font_Family: '${iranSans}';
|
|
457
|
-
--fdIcon_Tab_Bar_Label_Font_Family: '${iranSans}';
|
|
458
|
-
--sapFontFamily: '${fontFamily}';
|
|
459
|
-
--fdWizard_Label_Font_Family: '${fontFamily}';
|
|
460
|
-
--sapFontLightFamily: '${fontFamily}';
|
|
461
|
-
--sapFontHeaderFamily: '${fontFamily}';
|
|
462
|
-
--_ui5_input_compact_height: 1.625rem;
|
|
463
|
-
--sapFontSize: 0.885rem;
|
|
464
|
-
/* --sapContent_HeaderShadow: none; */
|
|
465
|
-
}`, head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style');
|
|
466
|
-
head.appendChild(style);
|
|
467
|
-
style.type = 'text/css';
|
|
468
|
-
if (style.styleSheet) {
|
|
469
|
-
// This is required for IE8 and below.
|
|
470
|
-
style.styleSheet.cssText = css;
|
|
471
|
-
}
|
|
472
|
-
else {
|
|
473
|
-
style.appendChild(document.createTextNode(css));
|
|
474
|
-
}
|
|
475
447
|
portalService.userPortalSettings$.pipe().subscribe((userPortalSettings) => {
|
|
476
448
|
const userSettings = userPortalSettings['UserPortalSettings'];
|
|
477
449
|
if (!userSettings) {
|
|
@@ -560,4 +532,4 @@ export const INIT_SAPFIORI = (rtlService, contentDensityService, themeService, p
|
|
|
560
532
|
}
|
|
561
533
|
});
|
|
562
534
|
};
|
|
563
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJDLGtCQUFrQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFDdkgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8s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Q0FBQztnQkFDSixRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRSxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDaEUsQ0FBQztZQUNELFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0IsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDMUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztvQkFDUixhQUFhLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pHLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ0bFNlcnZpY2UsIEdsb2JhbENvbnRlbnREZW5zaXR5U2VydmljZSwgQ29udGVudERlbnNpdHlNb2RlLCBUaGVtaW5nU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBCYXJzYUFwaSwgZ2V0RGV2aWNlSXNNb2JpbGUsIGdldERldmljZUlzUGhvbmUsIGdldERldmljZUlzVGFibGV0LCBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuaW1wb3J0IHsgVWlUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtZmllbGQvdWktdGV4dC1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRGaWVsZExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYXlvdXQtZmllbGQtbGFiZWwvbHktbGF5b3V0LWZpZWxkLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNoZWNrQm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1jaGVjay1ib3gvdWktY2hlY2stYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVNpbXBsZUNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW1wbGUtY29tYm8vdWktc2ltcGxlLWNvbWJvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVJhZGlvR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3VpLXJhZGlvLWdyb3VwL3VpLXJhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQvdWktZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC9seS1sYXlvdXQtY29udGFpbmVyLW9mLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IEx5TGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1wYW5lbC9seS1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVpUmVhZE9ubHlGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdWktcmVhZC1vbmx5LWZpZWxkL3VpLXJlYWQtb25seS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jb250YWluZXItd2l0aC1idXR0b24vdWktY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVBpY3R1cmVGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi91aS1waWN0dXJlLWZpbGUvdWktcGljdHVyZS1maWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU1vSW5mb1VsdkNvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLXVsdi1jb21iby91aS1tby1pbmZvLXVsdi1jb21iby5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY29tYm8vdWktbXVsdGktc2VsZWN0LWNvbWJvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU51bURlY2ltYWxVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktbnVtLWRlY2ltYWwtdWkvdWktbnVtLWRlY2ltYWwtdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTnVtSW50VWlDb21wb25lbnQgfSBmcm9tICcuL3VpLW51bS1pbnQtdWkvdWktbnVtLWludC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUaW1lU3BhbkNvbXBvbmVudCB9IGZyb20gJy4vdWktdGltZS1zcGFuL3VpLXRpbWUtc3Bhbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlGaWxlTGluZWFyTGlzdEJveENvbXBvbmVudCB9IGZyb20gJy4vdWktZmlsZS1saW5lYXItbGlzdC1ib3gvdWktZmlsZS1saW5lYXItbGlzdC1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IEx5RW1wdHlTcGFjZUNvbXBvbmVudCB9IGZyb20gJy4vbHktZW1wdHktc3BhY2UvbHktZW1wdHktc3BhY2UuY29tcG9uZW50JztcbmltcG9ydCB7IFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCB9IGZyb20gJy4vdWktc2luZ2xlLXBpY3R1cmUvdWktc2luZ2xlLXBpY3R1cmUuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdlNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vdWx2LXNlbGVjdGlvbi91bHYtc2VsZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtdG9vbGJhci91bHYtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2UGFnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtcGFnaW5nL3Vsdi1wYWdpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZFNvcnRTZXR0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLXNvcnQtc2V0dGluZy91aS1ncmlkLXNvcnQtc2V0dGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmlkU29ydEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1pdGVtL3VpLWdyaWQtc29ydC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRDb2x1bW5zQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWNvbHVtbnMvdWktZ3JpZC1jb2x1bW5zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXNrQ29tcG9uZW50IH0gZnJvbSAnLi9tYXNrL21hc2suY29tcG9uZW50JztcbmltcG9ydCB7IFVpSW5mb0JhclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1pbmZvLWJhci1wYW5lbC91aS1pbmZvLWJhci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlGb3JtUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWZvcm0tcGFuZWwvdWktZm9ybS1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlTZWFyY2hDb21tYW5kSW5mb1VpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zZWFyY2gtY29tbWFuZC1pbmZvLXVpL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdlNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc2V0dGluZ3MvdWx2LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRpbnltY2VDb21wb25lbnQgfSBmcm9tICcuL3VpLXRpbnltY2UvdWktdGlueW1jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLWJ1dHRvbi91aS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFVpRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL3VpLWRhdGUtdGltZS91aS1kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZGlhbG9nL2Zvcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWFkZXJGYWNldEtleVZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQta2V5LXZhbHVlL2hlYWRlci1mYWNldC1rZXktdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckZhY2V0Rm9ybUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWZhY2V0LWZvcm0vaGVhZGVyLWZhY2V0LWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckZhY2V0UmF0ZUNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWZhY2V0LXJhdGUvaGVhZGVyLWZhY2V0LXJhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckZhY2V0UHJvZ3Jlc3NDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1wcm9ncmVzcy9oZWFkZXItZmFjZXQtcHJvZ3Jlc3MuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckZhY2V0TWljcm9jaGFydENvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWZhY2V0LW1pY3JvY2hhcnQvaGVhZGVyLWZhY2V0LW1pY3JvY2hhcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckZhY2V0UGxhaW5UZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtcGxhaW4tdGV4dC9oZWFkZXItZmFjZXQtcGxhaW4tdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNb0luZm9TdWJGb3JtVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLW1vLWluZm8tc3ViLWZvcm0tdWkvdWktbW8taW5mby1zdWItZm9ybS11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3BvbnNpdmUtdG9vbGJhci9yZXNwb25zaXZlLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc3BvbnNpdmVUb29sYmFyUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci9yZXNwb25zaXZlLXRvb2xiYXItcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuL3VpLXRleHQtYXJlYS91aS10ZXh0LWFyZWEuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1jb250cm9sL2xheW91dC1jb250cm9sLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRXaXphcmRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC13aXphcmQvbGF5b3V0LXdpemFyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS13aXphcmQvZm9ybS13aXphcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFdpemFyZExheW91dERpcmVjdGl2ZSB9IGZyb20gJy4vd2l6YXJkLWxheW91dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybURpYWxvZ0xlc3NDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZGlhbG9nLWxlc3MvZm9ybS1kaWFsb2ctbGVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmljaFRleHRTdGF0aWNDb21wb25lbnQgfSBmcm9tICcuL3JpY2gtdGV4dC1zdGF0aWMvcmljaC10ZXh0LXN0YXRpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlQaWN0dXJlc0luZm9Db21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmVzLWluZm8vdWktcGljdHVyZXMtaW5mby5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlIb3Jpem9udGFsTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9seS1ob3Jpem9udGFsLWxheW91dC9seS1ob3Jpem9udGFsLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlWZXJ0aWNhbExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbHktdmVydGljYWwtbGF5b3V0L2x5LXZlcnRpY2FsLWxheW91dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlUYWJDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1jb250YWluZXIvbHktdGFiLWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlUYWJQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9seS10YWItcGFnZS9seS10YWItcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbHktbGFiZWwvbHktbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IENvbFJlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2wtcmVuZGVyZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVpTW9JbmZvQ29tYm9WaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLW1vLWluZm8tY29tYm8tdmlld2VyL3VpLW1vLWluZm8tY29tYm8tdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbE1zZ0JveEFkYXB0ZXJDb21wb25lbnQgfSBmcm9tICcuL3VsLW1zZy1ib3gtYWRhcHRlci91bC1tc2ctYm94LWFkYXB0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckF2YXRhckNvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWF2YXRhci9oZWFkZXItYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBcHBseUNvbmRpdGlvbmFsRm9ybWF0c0RpcmVjdGl2ZSB9IGZyb20gJy4vYXBwbHktY29uZGl0aW9uYWwtZm9ybW1hdGluZ3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVpV29ya2Zsb3dQYW5lbFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS13b3JrZmxvdy1wYW5lbC11aS91aS13b3JrZmxvdy1wYW5lbC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2Q29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb250ZXh0LW1lbnUvdWx2LWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWxMb2FkaW5nTWFza1VpQ29tcG9uZW50IH0gZnJvbSAnLi91bC1sb2FkaW5nLW1hc2stdWkvdWwtbG9hZGluZy1tYXNrLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRleHRGaWVsZEF1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vdWktdGV4dC1maWVsZC1hdXRvLWNvbXBsZXRlL3VpLXRleHQtZmllbGQtYXV0by1jb21wbGV0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FwdGNoYUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jYXB0Y2hhLWZpZWxkL2NhcHRjaGEtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEx5U2ltcGxlTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LXNpbXBsZS1sYWJlbC9seS1zaW1wbGUtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEdsb2JhbFNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoLXBhbmVsL2dsb2JhbC1zZWFyY2gtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEdsb2JhbFNlYXJjaE1vZHVsZUNvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC1tb2R1bGUvZ2xvYmFsLXNlYXJjaC1tb2R1bGUuY29tcG9uZW50JztcbmltcG9ydCB7IEdsb2JhbFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vZ2xvYmFsLXNlYXJjaC9nbG9iYWwtc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIeXBlcmxpbmtDb21wb25lbnQgfSBmcm9tICcuL2h5cGVybGluay9oeXBlcmxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IFN0YXRpY1RleHRDb21wb25lbnQgfSBmcm9tICcuL3N0YXRpYy10ZXh0L3N0YXRpYy10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbFRvYXN0QWRhcHRlckNvbXBvbmVudCB9IGZyb20gJy4vdWwtdG9hc3QtYWRhcHRlci91bC10b2FzdC1hZGFwdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RyaXBDb21wb25lbnQgfSBmcm9tICcuL21lc3NhZ2Utc3RyaXAvbWVzc2FnZS1zdHJpcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlMaW5lYXJMaXN0Q29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uL3VpLWxpbmVhci1saXN0LWNvbnRhaW5lci13aXRoLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVuZGFtZW50YWxEeW5hbWljRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtL2Z1bmRhbWVudGFsLWR5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0QWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LWFjdGlvbnMvbGF5b3V0LWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEx5TGF5b3V0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYXlvdXQtY29udGFpbmVyL2x5LWxheW91dC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVWx2Rm9ybU11bHRpU2VsZWN0VWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS91aS11bHYtZm9ybS1tdWx0aS1zZWxlY3QtdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVsdkZvcm1NdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vdWx2LWZvcm0tbXVsdGktc2VsZWN0L3Vsdi1mb3JtLW11bHRpLXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2Q29sdW1uU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1jb2x1bW4tc2V0dGluZ3MvdWx2LWNvbHVtbi1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2RmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1maWx0ZXItc2V0dGluZ3MvdWx2LWZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2U29ydFNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc29ydC1zZXR0aW5ncy91bHYtc29ydC1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtZ3JvdXBieS1zZXR0aW5ncy91bHYtZ3JvdXBieS1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FMaXN0RmlsZUxpbmVhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci9iYXJzYS1saXN0LWZpbGUtbGluZWFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVBkZlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktcGRmLXZpZXdlci91aS1wZGYtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10aW55ZW1jZS9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNb25hY29FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3VpLW1vbmFjby1lZGl0b3IvdWktbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FNb25hY29FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLW1vbmFjby1lZGl0b3IvYmFyc2EtbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FEYXRlVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZGF0ZS10aW1lLXBpY2tlci9iYXJzYS1kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRyZWVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10cmVlLWl0ZW0vYmFyc2EtdHJlZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVcGxvYWRGaWxlU3RhdHVzUGlwZSB9IGZyb20gJy4vdXBsb2FkLWZpbGUtc3RhdHVzLnBpcGUnO1xuaW1wb3J0IHsgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLXN3aXRjaC1idXR0b24vdWktc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlDb2xvclVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jb2xvci11aS91aS1jb2xvci11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9seS1saW5lL2x5LWxpbmUuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVWx2TWFpblVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS11bHYtbWFpbi11aS91aS11bHYtbWFpbi11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0TmF2aWdhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnQtbmF2aWdhdG9yL3JlcG9ydC1uYXZpZ2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuL21hbmFnZS1maWx0ZXJzLXJlcG9ydC9tYW5hZ2UtZmlsdGVycy1yZXBvcnQuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaEZpZWxkc01hbmFnZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlL3JlcG9ydC1zZWFyY2gtZmllbGRzLW1hbmFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy9yZXBvcnQtc2VhcmNoLWZpZWxkcy1oaWRkZW4tc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFNlYXJjaFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcGFuZWwvc2VhcmNoLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hQYW5lbFNhdmVDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS9yZXBvcnQtc2VhcmNoLXBhbmVsLXNhdmUuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZEZpbHRlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWZpbHRlci1zZXR0aW5ncy91aS1ncmlkLWZpbHRlci1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmlkRmlsdGVySXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdWktZ3JpZC1maWx0ZXItaXRlbS91aS1ncmlkLWZpbHRlci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXBGb250UGlwZSB9IGZyb20gJy4vc2FwLWZvbnQucGlwZSc7XG5pbXBvcnQgeyBTYXBGb250Q2xhc3NQaXBlIH0gZnJvbSAnLi9zYXAtZm9udC1jbGFzcy5waXBlJztcbmltcG9ydCB7IFVpRGF0ZVJhbmdlRXhDb21wb25lbnQgfSBmcm9tICcuL3VpLWRhdGUtcmFuZ2UtZXgvdWktZGF0ZS1yYW5nZS1leC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWxOb3RpZnlQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vdWwtbm90aWZ5LXBvcHVwL3VsLW5vdGlmeS1wb3B1cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLXRhYmxlLXZpZXcvdWktdGFibGUtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktbGlzdC12aWV3L3VpLWxpc3Qtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RyaW5nVG9BcnJheVBpcGUsIFVpQ2FyZFZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLWNhcmQtdmlldy91aS1jYXJkLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFVpUmVwb3J0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1yZXBvcnQtY29udGFpbmVyL3VpLXJlcG9ydC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vbm8tZGF0YS9uby1kYXRhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2x1bW5SZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXJlbmRlcmVyL2NvbHVtbi1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5saW5lU2F2ZUFuZENhbmNlbENvbXBvbmVudCB9IGZyb20gJy4vaW5saW5lLXNhdmUtYW5kLWNhbmNlbC9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRyZWVWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS10cmVlLXZpZXcvdWktdHJlZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRyZWVDb21wb25lbnQgfSBmcm9tICcuL3VpLXRyZWUvdWktdHJlZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vdWktY2FsZW5kYXIvdWktY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5vZGVIYXNPbmVEZXB0aExldmVsUGlwZSB9IGZyb20gJy4vYmFyc2EtdHJlZS1pdGVtL25vZGUtaGFzLW9uZS1kZXB0aC1sZXZlbC5waXBlJztcbmltcG9ydCB7IFVpQXNwUmVwb3J0Vmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1hc3AtcmVwb3J0LXZpZXdlci91aS1hc3AtcmVwb3J0LXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmFwaENvbXBvbmVudCB9IGZyb20gJy4vdWktZ3JhcGgvdWktZ3JhcGguY29tcG9uZW50JztcbmltcG9ydCB7IFVpRXhjZXB0aW9uRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vdWktZXhjZXB0aW9uLWZvcm0vdWktZXhjZXB0aW9uLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFVpRWRpdGFibGVHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1lZGl0YWJsZS1ncmlkL3VpLWVkaXRhYmxlLWdyaWQuY29tcG9uZW50JztcbmltcG9ydCB7IENvbHVtbk1hdHJpeFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTWF0cml4Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktbWF0cml4LXZpZXcvdWktbWF0cml4LXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbURhdGVUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jdXN0b20tZGF0ZS10aW1lL2N1c3RvbS1kYXRlLXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdHJpeFZhbHVlUGlwZSB9IGZyb20gJy4vY29sdW1uLW1hdHJpeC1yZW5kZXJlci9tYXRyaXgtdmFsdWUucGlwZSc7XG5pbXBvcnQgeyBCYXJzYUFzcFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYXNwLXZpZXdlci9iYXJzYS1hc3Atdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlSW5EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtaW4tZGlhbG9nL2ZpbGUtaW4tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEeW5hbWljUGFnZVNpemVQaXBlIH0gZnJvbSAnLi9keW5hbWljLXBhZ2Utc2l6ZS5waXBlJztcbmltcG9ydCB7IFJlcG9ydFZpZXdSZW5kZXJlckRpcmVjdGl2ZSB9IGZyb20gJy4vcmVwb3J0LXZpZXctcmVuZGVyZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tby1pbmZvLWdlbmVyYWwtb2JqZWN0LXVpL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR2FudHRDaGFydENvbXBvbmVudCB9IGZyb20gJy4vdWktZ2FudHQtY2hhcnQvdWktZ2FudHQtY2hhcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0RGh0bWxDaGFydFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2dhbnR0LWRodG1sLWNoYXJ0LXZpZXcvZ2FudHQtZGh0bWwtY2hhcnQtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSB9IGZyb20gJy4vZnVsbHNjcmVlbi1kaWFsb2cuZGlyZWN0aXZlJztcbmltcG9ydCB7IFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3IvcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2NhcmQtdmlldy1jb250ZW50L2NhcmQtdmlldy1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXJkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1pdGVtL2NhcmQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlDYXJkVmlld0hvcml6b250YWxHcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAvdWktY2FyZC12aWV3LWhvcml6b250YWwtZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi90aXRsZS90aXRsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FVbHZNYWluQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS11bHYtbWFpbi9iYXJzYS11bHYtbWFpbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEh0cmVlQ3JlYXRlTmV3Q29tcG9uZW50IH0gZnJvbSAnLi9odHJlZS1jcmVhdGUtbmV3L2h0cmVlLWNyZWF0ZS1uZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFibGVSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLXJvdy9iYXJzYS10YWJsZS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLWNvbHVtbi9iYXJzYS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFibGVIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhYmxlLWhlYWRlci9iYXJzYS10YWJsZS1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJyZWFkY3J1bWJDb21wb25lbnQgfSBmcm9tICcuL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vdWktbGFiZWwvdWktbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Ub29sYmFyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXRvb2xiYXItYnV0dG9uL2Zvcm0tdG9vbGJhci1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2Etc2VhcmNoLWZvcm0vYmFyc2Etc2VhcmNoLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydE5ld1RvcEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uZXctdG9wLWZvcm0vcmVwb3J0LW5ldy10b3AtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FOZXR3b3JrT2ZmbGluZUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbmV0d29yay1vZmZsaW5lL2JhcnNhLW5ldHdvcmstb2ZmbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmxvYlZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vYmxvYi12aWV3ZXIvYmxvYi12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtdmlld2VyL2ZpbGUtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVmlld2VyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItY29udGVudC9maWxlLXZpZXdlci1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXItcG9wb3Zlci9maWxlLXZpZXdlci1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb3dubG9hZEZpbGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9kb3dubG9hZC1maWxlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRnVsbHNjcmVlbkZpbGVzRGlyZWN0aXZlIH0gZnJvbSAnLi9mdWxsc2NyZWVuLWZpbGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb24taXRlbS9ub3RpZmljYXRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZVRlbXBsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZS9iYXJzYS1jYXJ0YWJsZS10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1ncm91cC1jYXJ0YWJsZS9iYXJzYS1jYXJ0YWJsZS1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJ0YWJsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLWZvcm0vYmFyc2EtY2FydGFibGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDb2x1bW5JbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNvbHVtbi1pbmRpY2F0b3IvYmFyc2EtY29sdW1uLWluZGljYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FGaWVsZEtleVZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1maWVsZC1rZXktdmFsdWUvYmFyc2EtZmllbGQta2V5LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2gvYmFyc2EtdG9vbGJhcml0ZW0tc2VhcmNoLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUh0bWxWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWh0bWwtdmlld2VyL3VpLWh0bWwtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVBpc2huYW1heWVzaFBheWFtQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0vYmFyc2EtcGlzaG5hbWF5ZXNoLXBheWFtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGV4dC1lbGxpcHNpcy9iYXJzYS10ZXh0LWVsbGlwc2lzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUxpc3RGaWxlTGluZWFyR21haWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWxpc3QtZmlsZS1saW5lYXItZ21haWwvYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FMaW5rYWJsZUl0ZW1zUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWxpbmthYmxlLWl0ZW1zLXBhbmVsL2JhcnNhLWxpbmthYmxlLWl0ZW1zLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1lbnVtLW1lbnUtYnV0dG9uL2JhcnNhLWVudW0tbWVudS1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2FyZExheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC9iYXJzYS1jYXJkLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FIb3Jpem9udGFsRmxleFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1ob3Jpem9udGFsLWZsZXgtcGFuZWwvYmFyc2EtaG9yaXpvbnRhbC1mbGV4LXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFzZS1wYW5lbC9iYXJzYS1iYXNlLWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FCYXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYmFyLXBhbmVsL2JhcnNhLWJhci1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FGb3JtU2lkZUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWZvcm0tc2lkZS1jb250ZW50L2JhcnNhLWZvcm0tc2lkZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dIYW5kbGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaWFsb2ctaGFuZGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQmFyc2FTaW1wbGVGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1zaW1wbGUtZm9ybS9iYXJzYS1zaW1wbGUtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tdG9vbGJhci9mb3JtLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhTGlzdExheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWxheW91dC1wYW5lbC9iYXJzYS1saXN0LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FHcmlkTGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWdyaWQtbGF5b3V0LXBhbmVsL2JhcnNhLWdyaWQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUR5bmFtaWNGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZHluYW1pYy1maWVsZC9iYXJzYS1keW5hbWljLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYXBTaXplUGlwZSB9IGZyb20gJy4vc2FwLXNpemUucGlwZSc7XG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0UmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1yYWRpby91aS1tdWx0aS1zZWxlY3QtcmFkaW8uY29tcG9uZW50JztcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LWNoZWNrYm94L3VpLW11bHRpLXNlbGVjdC1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXNsaWRlci91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LWNhcmQvdWktbXVsdGktc2VsZWN0LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RTbWlsZUNvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXNtaWxlL3VpLW11bHRpLXNlbGVjdC1zbWlsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlOdW1JbnRTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLW51bS1pbnQtc2xpZGVyL3VpLW51bS1pbnQtc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVJlcG9ydENoZWNrYm94U3dpdGNoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1yZXBvcnQtY2hlY2tib3gtc3dpdGNoLWJ1dHRvbi9iYXJzYS1yZXBvcnQtY2hlY2tib3gtc3dpdGNoLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDb2x1bW5Sb3dOdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNvbHVtbi1yb3dudW1iZXIvYmFyc2EtY29sdW1uLXJvd251bWJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC9iYXJzYS1yZXBvcnQtb25lLW9mLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2FyZFJvd1BheWFtQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jYXJkLXJvdy1wYXlhbS9iYXJzYS1jYXJkLXJvdy1wYXlhbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FRdWVzdGlvblBvc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLXBvc3QvYmFyc2EtcXVlc3Rpb24tcG9zdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyRm9ybUFkZENvbW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLWFkZC1jb21tZW50L2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1mb3JtLWFkZC1jb21tZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUFuc3dlckNhcmRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWFuc3dlci1jYXJkL2JhcnNhLWFuc3dlci1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNyZWF0b3ItdGltZS1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyQ29tbWVudHNTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29tbWVudHMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29tbWVudHMtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FRdWVzdGlvbkFuc3dlclZvdGVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItdm90ZS1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci12b3RlLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb250ZW50QWN0aW9uc1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY29udGVudC1hY3Rpb25zLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hpcC9iYXJzYS1jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVJlcG9ydENhcmRGbGV4Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcmVwb3J0LWNhcmQtZmxleC12aWV3L2JhcnNhLXJlcG9ydC1jYXJkLWZsZXgtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93L2JhcnNhLXRhZ3MtY2F0ZWdvcnktcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRhZ0NoaXBDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhZy1jaGlwL2JhcnNhLXRhZy1jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRhZ0NhdGVnb3JpZXNDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRhZy1jYXRlZ29yaWVzL2JhcnNhLXRhZy1jYXRlZ29yaWVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUN1c3RvbUlubGluZUVkaXRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ3VzdG9tSW5saW5lRWRpdFJvd0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0LXJvdy9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEJhcnNhQ2hhdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC9iYXJzYS1jaGF0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNoYXRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LWNvbnRlbnQvYmFyc2EtY2hhdC1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNoYXRNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LW1lc3NhZ2UvYmFyc2EtY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtdGhyZWFkL2JhcnNhLWNoYXQtdGhyZWFkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNoYXRUaHJlYWRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QvYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hhdFRocmVhZHNMaXN0VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC10aHJlYWRzLWxpc3QtdG9vbGJhci9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNoYXRDb250ZW50VG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIvYmFyc2EtY2hhdC1jb250ZW50LXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hhdExpc3RDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtbGlzdC9iYXJzYS1jaGF0LWxpc3QuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IGNvbXBvbmVudHMgPSBbXG4gICAgVWlUZXh0RmllbGRDb21wb25lbnQsXG4gICAgTHlMYXlvdXRGaWVsZExhYmVsQ29tcG9uZW50LFxuICAgIFVpQ2hlY2tCb3hDb21wb25lbnQsXG4gICAgVWlTaW1wbGVDb21ib0NvbXBvbmVudCxcbiAgICBVaVJhZGlvR3JvdXBDb21wb25lbnQsXG4gICAgVWlHcmlkQ29tcG9uZW50LFxuICAgIEx5TGF5b3V0Q29udGFpbmVyT2ZSb290Q29tcG9uZW50LFxuICAgIEx5TGF5b3V0UGFuZWxDb21wb25lbnQsXG4gICAgVWlSZWFkT25seUZpZWxkQ29tcG9uZW50LFxuICAgIFVpQ29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCxcbiAgICBVaVBpY3R1cmVGaWxlQ29tcG9uZW50LFxuICAgIFVpTW9JbmZvVWx2Q29tYm9Db21wb25lbnQsXG4gICAgVWlNdWx0aVNlbGVjdENvbWJvQ29tcG9uZW50LFxuICAgIFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50LFxuICAgIFVpTnVtSW50VWlDb21wb25lbnQsXG4gICAgVWlUaW1lU3BhbkNvbXBvbmVudCxcbiAgICBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50LFxuICAgIEx5RW1wdHlTcGFjZUNvbXBvbmVudCxcbiAgICBVaVNpbmdsZVBpY3R1cmVDb21wb25lbnQsXG4gICAgVWx2U2VsZWN0aW9uQ29tcG9uZW50LFxuICAgIFVsdlRvb2xiYXJDb21wb25lbnQsXG4gICAgVWx2UGFnaW5nQ29tcG9uZW50LFxuICAgIFVpR3JpZFNvcnRTZXR0aW5nQ29tcG9uZW50LFxuICAgIFVpR3JpZFNvcnRJdGVtQ29tcG9uZW50LFxuICAgIFVpR3JpZENvbHVtbnNDb21wb25lbnQsXG4gICAgTWFza0NvbXBvbmVudCxcbiAgICBVaUluZm9CYXJQYW5lbENvbXBvbmVudCxcbiAgICBVaUZvcm1QYW5lbENvbXBvbmVudCxcbiAgICBVaVNlYXJjaENvbW1hbmRJbmZvVWlDb21wb25lbnQsXG4gICAgVWx2U2V0dGluZ3NDb21wb25lbnQsXG4gICAgVWlUaW55bWNlQ29tcG9uZW50LFxuICAgIFVpQnV0dG9uQ29tcG9uZW50LFxuICAgIFVpRGF0ZVRpbWVDb21wb25lbnQsXG4gICAgRm9ybURpYWxvZ0NvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldEtleVZhbHVlQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0Rm9ybUNvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldFJhdGVDb21wb25lbnQsXG4gICAgSGVhZGVyRmFjZXRQcm9ncmVzc0NvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldE1pY3JvY2hhcnRDb21wb25lbnQsXG4gICAgSGVhZGVyRmFjZXRQbGFpblRleHRDb21wb25lbnQsXG4gICAgVWlNb0luZm9TdWJGb3JtVWlDb21wb25lbnQsXG4gICAgUmVzcG9uc2l2ZVRvb2xiYXJDb21wb25lbnQsXG4gICAgUmVzcG9uc2l2ZVRvb2xiYXJSZW5kZXJlckNvbXBvbmVudCxcbiAgICBVaVRleHRBcmVhQ29tcG9uZW50LFxuICAgIExheW91dENvbnRyb2xDb21wb25lbnQsXG4gICAgTGF5b3V0V2l6YXJkQ29tcG9uZW50LFxuICAgIEZvcm1XaXphcmRDb21wb25lbnQsXG4gICAgRm9ybURpYWxvZ0xlc3NDb21wb25lbnQsXG4gICAgUmljaFRleHRTdGF0aWNDb21wb25lbnQsXG4gICAgVWlQaWN0dXJlc0luZm9Db21wb25lbnQsXG4gICAgTHlIb3Jpem9udGFsTGF5b3V0Q29tcG9uZW50LFxuICAgIEx5VmVydGljYWxMYXlvdXRDb21wb25lbnQsXG4gICAgTHlUYWJDb250YWluZXJDb21wb25lbnQsXG4gICAgTHlUYWJQYWdlQ29tcG9uZW50LFxuICAgIEx5TGFiZWxDb21wb25lbnQsXG4gICAgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCxcbiAgICBVbE1zZ0JveEFkYXB0ZXJDb21wb25lbnQsXG4gICAgVWlUcmVlQ29tcG9uZW50LFxuICAgIEhlYWRlckF2YXRhckNvbXBvbmVudCxcbiAgICBVaVdvcmtmbG93UGFuZWxVaUNvbXBvbmVudCxcbiAgICBVbHZDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQsXG4gICAgVWlUZXh0RmllbGRBdXRvQ29tcGxldGVDb21wb25lbnQsXG4gICAgQ2FwdGNoYUZpZWxkQ29tcG9uZW50LFxuICAgIEx5U2ltcGxlTGFiZWxDb21wb25lbnQsXG4gICAgR2xvYmFsU2VhcmNoUGFuZWxDb21wb25lbnQsXG4gICAgR2xvYmFsU2VhcmNoTW9kdWxlQ29tcG9uZW50LFxuICAgIEdsb2JhbFNlYXJjaENvbXBvbmVudCxcbiAgICBIeXBlcmxpbmtDb21wb25lbnQsXG4gICAgU3RhdGljVGV4dENvbXBvbmVudCxcbiAgICBVbFRvYXN0QWRhcHRlckNvbXBvbmVudCxcbiAgICBNZXNzYWdlU3RyaXBDb21wb25lbnQsXG4gICAgVWlMaW5lYXJMaXN0Q29udGFpbmVyV2l0aEJ1dHRvbkNvbXBvbmVudCxcbiAgICBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50LFxuICAgIExheW91dEFjdGlvbnNDb21wb25lbnQsXG4gICAgTHlMYXlvdXRDb250YWluZXJDb21wb25lbnQsXG4gICAgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCxcbiAgICBVbHZGb3JtTXVsdGlTZWxlY3RDb21wb25lbnQsXG4gICAgVWx2Q29sdW1uU2V0dGluZ3NDb21wb25lbnQsXG4gICAgVWx2RmlsdGVyU2V0dGluZ3NDb21wb25lbnQsXG4gICAgVWx2U29ydFNldHRpbmdzQ29tcG9uZW50LFxuICAgIFVsdkdyb3VwYnlTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50LFxuICAgIFVpUGRmVmlld2VyQ29tcG9uZW50LFxuICAgIEJhcnNhVGlueWVtY2VDb21wb25lbnQsXG4gICAgVWlNb25hY29FZGl0b3JDb21wb25lbnQsXG4gICAgQmFyc2FNb25hY29FZGl0b3JDb21wb25lbnQsXG4gICAgQmFyc2FEYXRlVGltZVBpY2tlckNvbXBvbmVudCxcbiAgICBCYXJzYVRyZWVJdGVtQ29tcG9uZW50LFxuICAgIFVpU3dpdGNoQnV0dG9uQ29tcG9uZW50LFxuICAgIFVpQ29sb3JVaUNvbXBvbmVudCxcbiAgICBMeUxpbmVDb21wb25lbnQsXG4gICAgVWlVbHZNYWluVWlDb21wb25lbnQsXG4gICAgUmVwb3J0TmF2aWdhdG9yQ29tcG9uZW50LFxuICAgIE1hbmFnZUZpbHRlcnNSZXBvcnRDb21wb25lbnQsXG4gICAgUmVwb3J0U2VhcmNoRmllbGRzTWFuYWdlQ29tcG9uZW50LFxuICAgIFJlcG9ydFNlYXJjaEZpZWxkc0hpZGRlblNldHRpbmdzQ29tcG9uZW50LFxuICAgIFNlYXJjaFBhbmVsQ29tcG9uZW50LFxuICAgIFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCxcbiAgICBVaUdyaWRGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVaUdyaWRGaWx0ZXJJdGVtQ29tcG9uZW50LFxuICAgIFVpRGF0ZVJhbmdlRXhDb21wb25lbnQsXG4gICAgVWxOb3RpZnlQb3B1cENvbXBvbmVudCxcbiAgICBVaVRhYmxlVmlld0NvbXBvbmVudCxcbiAgICBVaUxpc3RWaWV3Q29tcG9uZW50LFxuICAgIFVpQ2FyZFZpZXdDb21wb25lbnQsXG4gICAgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQsXG4gICAgTm9EYXRhQ29tcG9uZW50LFxuICAgIENvbHVtblJlbmRlcmVyQ29tcG9uZW50LFxuICAgIElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQsXG4gICAgVWlUcmVlVmlld0NvbXBvbmVudCxcbiAgICBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50LFxuICAgIFVpQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgVWlBc3BSZXBvcnRWaWV3ZXJDb21wb25lbnQsXG4gICAgVWlHcmFwaENvbXBvbmVudCxcbiAgICBVaUV4Y2VwdGlvbkZvcm1Db21wb25lbnQsXG4gICAgVWlFZGl0YWJsZUdyaWRDb21wb25lbnQsXG4gICAgQ29sdW1uTWF0cml4UmVuZGVyZXJDb21wb25lbnQsXG4gICAgVWlNYXRyaXhWaWV3Q29tcG9uZW50LFxuICAgIEN1c3RvbURhdGVUaW1lQ29tcG9uZW50LFxuICAgIEJhcnNhQXNwVmlld2VyQ29tcG9uZW50LFxuICAgIEZpbGVJbkRpYWxvZ0NvbXBvbmVudCxcbiAgICBVaU1vSW5mb0dlbmVyYWxPYmplY3RVaUNvbXBvbmVudCxcbiAgICBVaUdhbnR0Q2hhcnRDb21wb25lbnQsXG4gICAgR2FudHREaHRtbENoYXJ0Vmlld0NvbXBvbmVudCxcbiAgICBQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCxcbiAgICBDYXJkVmlld0NvbnRlbnRDb21wb25lbnQsXG4gICAgQ2FyZEl0ZW1Db21wb25lbnQsXG4gICAgVWlDYXJkVmlld0hvcml6b250YWxHcm91cENvbXBvbmVudCxcbiAgICBUaXRsZUNvbXBvbmVudCxcbiAgICBCYXJzYVVsdk1haW5Db21wb25lbnQsXG4gICAgTGlzdEl0ZW1Db21wb25lbnQsXG4gICAgSHRyZWVDcmVhdGVOZXdDb21wb25lbnQsXG4gICAgQmFyc2FUYWJsZUhlYWRlckNvbXBvbmVudCxcbiAgICBCYXJzYVRhYmxlUm93Q29tcG9uZW50LFxuICAgIEJhcnNhVGFibGVDb2x1bW5Db21wb25lbnQsXG4gICAgQnJlYWRjcnVtYkNvbXBvbmVudCxcbiAgICBVaUxhYmVsQ29tcG9uZW50LFxuICAgIEZvcm1Ub29sYmFyQnV0dG9uQ29tcG9uZW50LFxuICAgIEJhcnNhU2VhcmNoRm9ybUNvbXBvbmVudCxcbiAgICBSZXBvcnROZXdUb3BGb3JtQ29tcG9uZW50LFxuICAgIEJhcnNhTmV0d29ya09mZmxpbmVDb21wb25lbnQsXG4gICAgRmlsZVZpZXdlckNvbnRlbnRDb21wb25lbnQsXG4gICAgRmlsZVZpZXdlclBvcG92ZXJDb21wb25lbnQsXG4gICAgRmlsZVZpZXdlckNvbXBvbmVudCxcbiAgICBCbG9iVmlld2VyQ29tcG9uZW50LFxuICAgIE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQsXG4gICAgQmFyc2FDYXJ0YWJsZVRlbXBsYXRlQ29tcG9uZW50LFxuICAgIEJhcnNhQ2FydGFibGVHcm91cENvbXBvbmVudCxcbiAgICBCYXJzYUNhcnRhYmxlRm9ybUNvbXBvbmVudCxcbiAgICBCYXJzYUNvbHVtbkluZGljYXRvckNvbXBvbmVudCxcbiAgICBCYXJzYUZpZWxkS2V5VmFsdWVDb21wb25lbnQsXG4gICAgQmFyc2FUb29sYmFyaXRlbVNlYXJjaENvbXBvbmVudCxcbiAgICBVaUh0bWxWaWV3ZXJDb21wb25lbnQsXG4gICAgQmFyc2FQaXNobmFtYXllc2hQYXlhbUNvbXBvbmVudCxcbiAgICBCYXJzYVRleHRFbGxpcHNpc0NvbXBvbmVudCxcbiAgICBCYXJzYUxpc3RGaWxlTGluZWFyR21haWxDb21wb25lbnQsXG4gICAgQmFyc2FMaW5rYWJsZUl0ZW1zUGFuZWxDb21wb25lbnQsXG4gICAgQmFyc2FFbnVtTWVudUJ1dHRvbkNvbXBvbmVudCxcbiAgICBCYXJzYUNhcmRMYXlvdXRQYW5lbENvbXBvbmVudCxcbiAgICBCYXJzYUhvcml6b250YWxGbGV4UGFuZWxDb21wb25lbnQsXG4gICAgQmFyc2FCYXNlTGF5b3V0UGFuZWxDb21wb25lbnQsXG4gICAgQmFyc2FCYXJQYW5lbENvbXBvbmVudCxcbiAgICBCYXJzYUZvcm1TaWRlQ29udGVudENvbXBvbmVudCxcbiAgICBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQsXG4gICAgRm9ybVRvb2xiYXJDb21wb25lbnQsXG4gICAgQmFyc2FMaXN0TGF5b3V0UGFuZWxDb21wb25lbnQsXG4gICAgQmFyc2FHcmlkTGF5b3V0UGFuZWxDb21wb25lbnQsXG4gICAgQmFyc2FEeW5hbWljRmllbGRDb21wb25lbnQsXG4gICAgVWlNdWx0aVNlbGVjdFJhZGlvQ29tcG9uZW50LFxuICAgIFVpTXVsdGlTZWxlY3RDaGVja2JveENvbXBvbmVudCxcbiAgICBVaU51bUludFNsaWRlckNvbXBvbmVudCxcbiAgICBVaU11bHRpU2VsZWN0U2xpZGVyQ29tcG9uZW50LFxuICAgIFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50LFxuICAgIFVpTXVsdGlTZWxlY3RTbWlsZUNvbXBvbmVudCxcbiAgICBCYXJzYVJlcG9ydENoZWNrYm94U3dpdGNoQnV0dG9uQ29tcG9uZW50LFxuICAgIEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50LFxuICAgIEJhcnNhQ2FyZFJvd1BheWFtQ29tcG9uZW50LFxuICAgIEJhcnNhQ29sdW1uUm93TnVtYmVyQ29tcG9uZW50LFxuICAgIEJhcnNhUXVlc3Rpb25Qb3N0Q29tcG9uZW50LFxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQ29tcG9uZW50LFxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCxcbiAgICBCYXJzYUFuc3dlckNhcmRDb21wb25lbnQsXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckNvbnRlbnRBY3Rpb25zU2VjdGlvbkNvbXBvbmVudCxcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyVm90ZVNlY3Rpb25Db21wb25lbnQsXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckNyZWF0b3JUaW1lU2VjdGlvbkNvbXBvbmVudCxcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyQ29tbWVudHNTZWN0aW9uQ29tcG9uZW50LFxuICAgIEJhcnNhQ2hpcENvbXBvbmVudCxcbiAgICBCYXJzYVRhZ0NoaXBDb21wb25lbnQsXG4gICAgQmFyc2FSZXBvcnRDYXJkRmxleFZpZXdDb21wb25lbnQsXG4gICAgQmFyc2FUYWdzQ2F0ZWdvcnlSb3dDb21wb25lbnQsXG4gICAgQmFyc2FUYWdDYXRlZ29yaWVzQ29tcG9uZW50LFxuICAgIEJhcnNhUmVwb3J0T25lT2ZMaXN0Q29tcG9uZW50LFxuICAgIEJhcnNhQ2FyZFJvd1BheWFtQ29tcG9uZW50LFxuICAgIEJhcnNhQ3VzdG9tSW5saW5lRWRpdENvbXBvbmVudCxcbiAgICBCYXJzYUN1c3RvbUlubGluZUVkaXRSb3dDb21wb25lbnQsXG4gICAgQmFyc2FDaGF0Q29tcG9uZW50LFxuICAgIEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQsXG4gICAgQmFyc2FDaGF0TWVzc2FnZUNvbXBvbmVudCxcbiAgICBCYXJzYUNoYXRUaHJlYWRDb21wb25lbnQsXG4gICAgQmFyc2FDaGF0VGhyZWFkc0xpc3RDb21wb25lbnQsXG4gICAgQmFyc2FDaGF0VGhyZWFkc0xpc3RUb29sYmFyQ29tcG9uZW50LFxuICAgIEJhcnNhQ2hhdENvbnRlbnRUb29sYmFyQ29tcG9uZW50LFxuICAgIEJhcnNhQ2hhdExpc3RDb21wb25lbnRcbl07XG5leHBvcnQgY29uc3QgcGlwZXMgPSBbXG4gICAgVXBsb2FkRmlsZVN0YXR1c1BpcGUsXG4gICAgU2FwRm9udFBpcGUsXG4gICAgU2FwRm9udENsYXNzUGlwZSxcbiAgICBTdHJpbmdUb0FycmF5UGlwZSxcbiAgICBOb2RlSGFzT25lRGVwdGhMZXZlbFBpcGUsXG4gICAgTWF0cml4VmFsdWVQaXBlLFxuICAgIER5bmFtaWNQYWdlU2l6ZVBpcGUsXG4gICAgU2FwU2l6ZVBpcGVcbl07XG5leHBvcnQgY29uc3QgZGlyZWN0aXZlcyA9IFtcbiAgICBXaXphcmRMYXlvdXREaXJlY3RpdmUsXG4gICAgQ29sUmVuZGVyZXJEaXJlY3RpdmUsXG4gICAgQXBwbHlDb25kaXRpb25hbEZvcm1hdHNEaXJlY3RpdmUsXG4gICAgUmVwb3J0Vmlld1JlbmRlcmVyRGlyZWN0aXZlLFxuICAgIEZ1bGxzY3JlZW5EaWFsb2dEaXJlY3RpdmUsXG4gICAgRnVsbHNjcmVlbkZpbGVzRGlyZWN0aXZlLFxuICAgIERvd25sb2FkRmlsZXNEaXJlY3RpdmUsXG4gICAgRGlhbG9nSGFuZGxlckRpcmVjdGl2ZVxuXTtcblxuZXhwb3J0IGNvbnN0IElOSVRfU0FQRklPUkkgPVxuICAgIChcbiAgICAgICAgcnRsU2VydmljZTogUnRsU2VydmljZSxcbiAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlOiBHbG9iYWxDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgICAgIHRoZW1lU2VydmljZTogVGhlbWluZ1NlcnZpY2UsXG4gICAgICAgIHBvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXG4gICAgICAgIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICAgKSA9PlxuICAgICgpID0+IHtcbiAgICAgICAgcnRsU2VydmljZS5ydGwubmV4dChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLklzUnRsKTtcbiAgICAgICAgY29uc3QgWWVrYW5EaWdpdCA9ICdJUkFOWWVrYW5EaWdpdHMnO1xuICAgICAgICBsZXQgZm9udEZhbWlseSA9IFlla2FuRGlnaXQ7XG4gICAgICAgIGNvbnN0IGlyYW5TYW5zID0gJ0JhcnNhRm9udCc7XG4gICAgICAgIGlmIChCYXJzYUFwaS5Mb2dpbkZvcm1EYXRhLkN1bHR1cmUgPT09ICdlbi1VUycpIHtcbiAgICAgICAgICAgIGZvbnRGYW1pbHkgPSBpcmFuU2FucztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNzcyA9IGAqIHtcbiAgICAtLXNhcEZvbnRGYW1pbHk6ICcke2lyYW5TYW5zfSc7XG4gICAgLS1mZER5bmFtaWNQYWdlX1RpdGxlX0ZvbnRfRmFtaWx5OiAnJHtmb250RmFtaWx5fSc7XG4gICAgLS1mZEJ1dHRvbl9Gb250X0ZhbWlseTogJyR7aXJhblNhbnN9JztcbiAgICAtLWZkSWNvbl9UYWJfQmFyX0xhYmVsX0ZvbnRfRmFtaWx5OiAnJHtpcmFuU2Fuc30nO1xuICAgIC0tc2FwRm9udEZhbWlseTogJyR7Zm9udEZhbWlseX0nO1xuICAgIC0tZmRXaXphcmRfTGFiZWxfRm9udF9GYW1pbHk6ICcke2ZvbnRGYW1pbHl9JztcbiAgICAtLXNhcEZvbnRMaWdodEZhbWlseTogJyR7Zm9udEZhbWlseX0nO1xuICAgIC0tc2FwRm9udEhlYWRlckZhbWlseTogJyR7Zm9udEZhbWlseX0nO1xuICAgIC0tX3VpNV9pbnB1dF9jb21wYWN0X2hlaWdodDogMS42MjVyZW07XG4gICAgLS1zYXBGb250U2l6ZTogMC44ODVyZW07XG4gICAgLyogLS1zYXBDb250ZW50X0hlYWRlclNoYWRvdzogbm9uZTsgKi9cbn1gLFxuICAgICAgICAgICAgaGVhZCA9IGRvY3VtZW50LmhlYWQgfHwgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXSxcbiAgICAgICAgICAgIHN0eWxlOiBhbnkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuXG4gICAgICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xuICAgICAgICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgICAgICAgICAgLy8gVGhpcyBpcyByZXF1aXJlZCBmb3IgSUU4IGFuZCBiZWxvdy5cbiAgICAgICAgICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9ydGFsU2VydmljZS51c2VyUG9ydGFsU2V0dGluZ3MkLnBpcGUoKS5zdWJzY3JpYmUoKHVzZXJQb3J0YWxTZXR0aW5ncykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXNlclNldHRpbmdzID0gdXNlclBvcnRhbFNldHRpbmdzWydVc2VyUG9ydGFsU2V0dGluZ3MnXTtcbiAgICAgICAgICAgIGlmICghdXNlclNldHRpbmdzKSB7XG4gICAgICAgICAgICAgICAgdGhlbWVTZXJ2aWNlLnNldFRoZW1lKCdzYXBfZmlvcmlfMycpO1xuICAgICAgICAgICAgICAgIHRoZW1lU2VydmljZS5jdXJyZW50VGhlbWUuc3Vic2NyaWJlKCh0aGVtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhlbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvcnRhbFNlcnZpY2Uuc2V0VGhlbWUoZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybCh0aGVtZS50aGVtaW5nLnRoZW1lUGF0aCkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGNvbnRlbnREZW5zaXR5OiBhbnk7XG4gICAgICAgICAgICBsZXQgdGhlbWU6IGFueTtcbiAgICAgICAgICAgIGlmICghdXNlclNldHRpbmdzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGdldERldmljZUlzTW9iaWxlKCkgfHwgZ2V0RGV2aWNlSXNQaG9uZSgpIHx8IGdldERldmljZUlzVGFibGV0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09aWTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT01QQUNUO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBDb250ZW50RGVuc2l0eSRDYXB0aW9uLCBUaGVtZSRDYXB0aW9uIH0gPSB1c2VyU2V0dGluZ3M7XG4gICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eSRDYXB0aW9uO1xuICAgICAgICAgICAgICAgIHRoZW1lID0gVGhlbWUkQ2FwdGlvbjtcbiAgICAgICAgICAgICAgICBpZiAoIWNvbnRlbnREZW5zaXR5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPTVBBQ1Q7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGdldERldmljZUlzTW9iaWxlKCkgfHwgZ2V0RGV2aWNlSXNQaG9uZSgpKSB7XG4gICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09aWTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb250ZW50RGVuc2l0eSkge1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHlTZXJ2aWNlLnVwZGF0ZUNvbnRlbnREZW5zaXR5KGNvbnRlbnREZW5zaXR5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ29tcGFjdCA9ICd1aTUtY29udGVudC1kZW5zaXR5LWNvbXBhY3QnO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlDbGFzc0NvbmRlbnNlZCA9ICd1aTUtY29udGVudC1kZW5zaXR5LWNvbmRlbnNlZCc7XG4gICAgICAgICAgICAgICAgY29uc3QgYm9keUNsYXNzQ296eSA9ICd1aTUtY29udGVudC1kZW5zaXR5LWNvenknO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSBkb2N1bWVudD8uYm9keTtcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvbnRlbnREZW5zaXR5KSB7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbmRlbnNlZCc6XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib2R5LmNsYXNzTGlzdC5jb250YWlucyhib2R5Q2xhc3NDb25kZW5zZWQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb25kZW5zZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ29tcGFjdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvenkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY296eSc6XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib2R5LmNsYXNzTGlzdC5jb250YWlucyhib2R5Q2xhc3NDb3p5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5hZGQoYm9keUNsYXNzQ296eSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb21wYWN0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ29uZGVuc2VkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb21wYWN0JzpcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKGJvZHlDbGFzc0NvbXBhY3QpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LmFkZChib2R5Q2xhc3NDb21wYWN0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvenkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb25kZW5zZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoZW1lKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoZW1lLmluZGV4T2YoJ2RhcmsnKSA+IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnY29sb3Itc2NoZW1lJywgJ2RhcmsnKTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1tb2RlJywgJ2RhcmsnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yLXNjaGVtZScsICdsaWdodCcpO1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkYXRhLW1vZGUnLCAnbGlnaHQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhlbWVTZXJ2aWNlLnNldFRoZW1lKHRoZW1lKTtcbiAgICAgICAgICAgICAgICB0aGVtZVNlcnZpY2UuY3VycmVudFRoZW1lLnN1YnNjcmliZSgodGhlbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoZW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLnNldFRoZW1lKGRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhlbWUudGhlbWluZy50aGVtZVBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9O1xuIl19
|
|
535
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTJDLGtCQUFrQixFQUFrQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFDdkgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8s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Q0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM3QixRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUNuRSxRQUFRLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDL0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3BFLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQ0QsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QixZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUMxQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNSLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDakcsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnRsU2VydmljZSwgR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLCBDb250ZW50RGVuc2l0eU1vZGUsIFRoZW1pbmdTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IEJhcnNhQXBpLCBnZXREZXZpY2VJc01vYmlsZSwgZ2V0RGV2aWNlSXNQaG9uZSwgZ2V0RGV2aWNlSXNUYWJsZXQsIFBvcnRhbFNlcnZpY2UgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5pbXBvcnQgeyBVaVRleHRGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdWktdGV4dC1maWVsZC91aS10ZXh0LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1maWVsZC1sYWJlbC9seS1sYXlvdXQtZmllbGQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVpQ2hlY2tCb3hDb21wb25lbnQgfSBmcm9tICcuL3VpLWNoZWNrLWJveC91aS1jaGVjay1ib3guY29tcG9uZW50JztcbmltcG9ydCB7IFVpU2ltcGxlQ29tYm9Db21wb25lbnQgfSBmcm9tICcuL3VpLXNpbXBsZS1jb21iby91aS1zaW1wbGUtY29tYm8uY29tcG9uZW50JztcbmltcG9ydCB7IFVpUmFkaW9Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vdWktcmFkaW8tZ3JvdXAvdWktcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZENvbXBvbmVudCB9IGZyb20gJy4vdWktZ3JpZC91aS1ncmlkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxheW91dENvbnRhaW5lck9mUm9vdENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LWNvbnRhaW5lci1vZi1yb290L2x5LWxheW91dC1jb250YWluZXItb2Ytcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vbHktbGF5b3V0LXBhbmVsL2x5LWxheW91dC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlSZWFkT25seUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1yZWFkLW9ubHktZmllbGQvdWktcmVhZC1vbmx5LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNvbnRhaW5lcldpdGhCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3VpLWNvbnRhaW5lci13aXRoLWJ1dHRvbi91aS1jb250YWluZXItd2l0aC1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFVpUGljdHVyZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL3VpLXBpY3R1cmUtZmlsZS91aS1waWN0dXJlLWZpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTW9JbmZvVWx2Q29tYm9Db21wb25lbnQgfSBmcm9tICcuL3VpLW1vLWluZm8tdWx2LWNvbWJvL3VpLW1vLWluZm8tdWx2LWNvbWJvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQgfSBmcm9tICcuL3VpLW11bHRpLXNlbGVjdC1jb21iby91aS1tdWx0aS1zZWxlY3QtY29tYm8uY29tcG9uZW50JztcbmltcG9ydCB7IFVpTnVtRGVjaW1hbFVpQ29tcG9uZW50IH0gZnJvbSAnLi91aS1udW0tZGVjaW1hbC11aS91aS1udW0tZGVjaW1hbC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlOdW1JbnRVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktbnVtLWludC11aS91aS1udW0taW50LXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRpbWVTcGFuQ29tcG9uZW50IH0gZnJvbSAnLi91aS10aW1lLXNwYW4vdWktdGltZS1zcGFuLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUZpbGVMaW5lYXJMaXN0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1maWxlLWxpbmVhci1saXN0LWJveC91aS1maWxlLWxpbmVhci1saXN0LWJveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlFbXB0eVNwYWNlQ29tcG9uZW50IH0gZnJvbSAnLi9seS1lbXB0eS1zcGFjZS9seS1lbXB0eS1zcGFjZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlTaW5nbGVQaWN0dXJlQ29tcG9uZW50IH0gZnJvbSAnLi91aS1zaW5nbGUtcGljdHVyZS91aS1zaW5nbGUtcGljdHVyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2U2VsZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi91bHYtc2VsZWN0aW9uL3Vsdi1zZWxlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFVsdlRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3Vsdi10b29sYmFyL3Vsdi10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZQYWdpbmdDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1wYWdpbmcvdWx2LXBhZ2luZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtc29ydC1zZXR0aW5nL3VpLWdyaWQtc29ydC1zZXR0aW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRTb3J0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vdWktZ3JpZC1zb3J0LWl0ZW0vdWktZ3JpZC1zb3J0LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVpR3JpZENvbHVtbnNDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtY29sdW1ucy91aS1ncmlkLWNvbHVtbnMuY29tcG9uZW50JztcbmltcG9ydCB7IE1hc2tDb21wb25lbnQgfSBmcm9tICcuL21hc2svbWFzay5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlJbmZvQmFyUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3VpLWluZm8tYmFyLXBhbmVsL3VpLWluZm8tYmFyLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUZvcm1QYW5lbENvbXBvbmVudCB9IGZyb20gJy4vdWktZm9ybS1wYW5lbC91aS1mb3JtLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVNlYXJjaENvbW1hbmRJbmZvVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXNlYXJjaC1jb21tYW5kLWluZm8tdWkvdWktc2VhcmNoLWNvbW1hbmQtaW5mby11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2U2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1zZXR0aW5ncy91bHYtc2V0dGluZ3MuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVGlueW1jZUNvbXBvbmVudCB9IGZyb20gJy4vdWktdGlueW1jZS91aS10aW55bWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktYnV0dG9uL3VpLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vdWktZGF0ZS10aW1lL3VpLWRhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2cvZm9ybS1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEhlYWRlckZhY2V0S2V5VmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1rZXktdmFsdWUvaGVhZGVyLWZhY2V0LWtleS12YWx1ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtZm9ybS9oZWFkZXItZmFjZXQtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRSYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtcmF0ZS9oZWFkZXItZmFjZXQtcmF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRQcm9ncmVzc0NvbXBvbmVudCB9IGZyb20gJy4vaGVhZGVyLWZhY2V0LXByb2dyZXNzL2hlYWRlci1mYWNldC1wcm9ncmVzcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRNaWNyb2NoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItZmFjZXQtbWljcm9jaGFydC9oZWFkZXItZmFjZXQtbWljcm9jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyRmFjZXRQbGFpblRleHRDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci1mYWNldC1wbGFpbi10ZXh0L2hlYWRlci1mYWNldC1wbGFpbi10ZXh0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU1vSW5mb1N1YkZvcm1VaUNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1zdWItZm9ybS11aS91aS1tby1pbmZvLXN1Yi1mb3JtLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXNwb25zaXZlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyL3Jlc3BvbnNpdmUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVzcG9uc2l2ZVRvb2xiYXJSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vcmVzcG9uc2l2ZS10b29sYmFyLXJlbmRlcmVyL3Jlc3BvbnNpdmUtdG9vbGJhci1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlUZXh0QXJlYUNvbXBvbmVudCB9IGZyb20gJy4vdWktdGV4dC1hcmVhL3VpLXRleHQtYXJlYS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGF5b3V0Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LWNvbnRyb2wvbGF5b3V0LWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IExheW91dFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LXdpemFyZC9sYXlvdXQtd2l6YXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtV2l6YXJkQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXdpemFyZC9mb3JtLXdpemFyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2l6YXJkTGF5b3V0RGlyZWN0aXZlIH0gZnJvbSAnLi93aXphcmQtbGF5b3V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1kaWFsb2ctbGVzcy9mb3JtLWRpYWxvZy1sZXNzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSaWNoVGV4dFN0YXRpY0NvbXBvbmVudCB9IGZyb20gJy4vcmljaC10ZXh0LXN0YXRpYy9yaWNoLXRleHQtc3RhdGljLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVBpY3R1cmVzSW5mb0NvbXBvbmVudCB9IGZyb20gJy4vdWktcGljdHVyZXMtaW5mby91aS1waWN0dXJlcy1pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2x5LWhvcml6b250YWwtbGF5b3V0L2x5LWhvcml6b250YWwtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeVZlcnRpY2FsTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi9seS12ZXJ0aWNhbC1sYXlvdXQvbHktdmVydGljYWwtbGF5b3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeVRhYkNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vbHktdGFiLWNvbnRhaW5lci9seS10YWItY29udGFpbmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeVRhYlBhZ2VDb21wb25lbnQgfSBmcm9tICcuL2x5LXRhYi1wYWdlL2x5LXRhYi1wYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9seS1sYWJlbC9seS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sUmVuZGVyZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbC1yZW5kZXJlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVWlNb0luZm9Db21ib1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW8taW5mby1jb21iby12aWV3ZXIvdWktbW8taW5mby1jb21iby12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVsTXNnQm94QWRhcHRlckNvbXBvbmVudCB9IGZyb20gJy4vdWwtbXNnLWJveC1hZGFwdGVyL3VsLW1zZy1ib3gtYWRhcHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSGVhZGVyQXZhdGFyQ29tcG9uZW50IH0gZnJvbSAnLi9oZWFkZXItYXZhdGFyL2hlYWRlci1hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFwcGx5Q29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHBseS1jb25kaXRpb25hbC1mb3JtbWF0aW5ncy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVWlXb3JrZmxvd1BhbmVsVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXdvcmtmbG93LXBhbmVsLXVpL3VpLXdvcmtmbG93LXBhbmVsLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vdWx2LWNvbnRleHQtbWVudS91bHYtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbExvYWRpbmdNYXNrVWlDb21wb25lbnQgfSBmcm9tICcuL3VsLWxvYWRpbmctbWFzay11aS91bC1sb2FkaW5nLW1hc2stdWkuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVGV4dEZpZWxkQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi91aS10ZXh0LWZpZWxkLWF1dG8tY29tcGxldGUvdWktdGV4dC1maWVsZC1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXB0Y2hhRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NhcHRjaGEtZmllbGQvY2FwdGNoYS1maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlTaW1wbGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vbHktc2ltcGxlLWxhYmVsL2x5LXNpbXBsZS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2xvYmFsU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2dsb2JhbC1zZWFyY2gtcGFuZWwvZ2xvYmFsLXNlYXJjaC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2xvYmFsU2VhcmNoTW9kdWxlQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoLW1vZHVsZS9nbG9iYWwtc2VhcmNoLW1vZHVsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2xvYmFsU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9nbG9iYWwtc2VhcmNoL2dsb2JhbC1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IEh5cGVybGlua0NvbXBvbmVudCB9IGZyb20gJy4vaHlwZXJsaW5rL2h5cGVybGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RhdGljVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc3RhdGljLXRleHQvc3RhdGljLXRleHQuY29tcG9uZW50JztcbmltcG9ydCB7IFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50IH0gZnJvbSAnLi91bC10b2FzdC1hZGFwdGVyL3VsLXRvYXN0LWFkYXB0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1lc3NhZ2VTdHJpcENvbXBvbmVudCB9IGZyb20gJy4vbWVzc2FnZS1zdHJpcC9tZXNzYWdlLXN0cmlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUxpbmVhckxpc3RDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aS1saW5lYXItbGlzdC1jb250YWluZXItd2l0aC1idXR0b24vdWktbGluZWFyLWxpc3QtY29udGFpbmVyLXdpdGgtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdW5kYW1lbnRhbER5bmFtaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9mdW5kYW1lbnRhbC1keW5hbWljLWZvcm0vZnVuZGFtZW50YWwtZHluYW1pYy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMYXlvdXRBY3Rpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXQtYWN0aW9ucy9sYXlvdXQtYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTHlMYXlvdXRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2x5LWxheW91dC1jb250YWluZXIvbHktbGF5b3V0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlVbHZGb3JtTXVsdGlTZWxlY3RVaUNvbXBvbmVudCB9IGZyb20gJy4vdWktdWx2LWZvcm0tbXVsdGktc2VsZWN0LXVpL3VpLXVsdi1mb3JtLW11bHRpLXNlbGVjdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWx2Rm9ybU11bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi91bHYtZm9ybS1tdWx0aS1zZWxlY3QvdWx2LWZvcm0tbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZDb2x1bW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWNvbHVtbi1zZXR0aW5ncy91bHYtY29sdW1uLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vdWx2LWZpbHRlci1zZXR0aW5ncy91bHYtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZTb3J0U2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1zb3J0LXNldHRpbmdzL3Vsdi1zb3J0LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbHZHcm91cGJ5U2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3Vsdi1ncm91cGJ5LXNldHRpbmdzL3Vsdi1ncm91cGJ5LXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUxpc3RGaWxlTGluZWFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1saXN0LWZpbGUtbGluZWFyL2JhcnNhLWxpc3QtZmlsZS1saW5lYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpUGRmVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1wZGYtdmlld2VyL3VpLXBkZi12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGlueWVtY2VDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRpbnllbWNlL2JhcnNhLXRpbnllbWNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vdWktbW9uYWNvLWVkaXRvci91aS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbW9uYWNvLWVkaXRvci9iYXJzYS1tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYURhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1kYXRlLXRpbWUtcGlja2VyL2JhcnNhLWRhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVHJlZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRyZWUtaXRlbS9iYXJzYS10cmVlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZEZpbGVTdGF0dXNQaXBlIH0gZnJvbSAnLi91cGxvYWQtZmlsZS1zdGF0dXMucGlwZSc7XG5pbXBvcnQgeyBVaVN3aXRjaEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWktc3dpdGNoLWJ1dHRvbi91aS1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNvbG9yVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLWNvbG9yLXVpL3VpLWNvbG9yLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMeUxpbmVDb21wb25lbnQgfSBmcm9tICcuL2x5LWxpbmUvbHktbGluZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlVbHZNYWluVWlDb21wb25lbnQgfSBmcm9tICcuL3VpLXVsdi1tYWluLXVpL3VpLXVsdi1tYWluLXVpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3JlcG9ydC1uYXZpZ2F0b3IvcmVwb3J0LW5hdmlnYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCB9IGZyb20gJy4vbWFuYWdlLWZpbHRlcnMtcmVwb3J0L21hbmFnZS1maWx0ZXJzLXJlcG9ydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0U2VhcmNoRmllbGRzTWFuYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9yZXBvcnQtc2VhcmNoLWZpZWxkcy1tYW5hZ2UvcmVwb3J0LXNlYXJjaC1maWVsZHMtbWFuYWdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZXBvcnRTZWFyY2hGaWVsZHNIaWRkZW5TZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1maWVsZHMtaGlkZGVuLXNldHRpbmdzL3JlcG9ydC1zZWFyY2gtZmllbGRzLWhpZGRlbi1zZXR0aW5ncy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1wYW5lbC9zZWFyY2gtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFJlcG9ydFNlYXJjaFBhbmVsU2F2ZUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LXNlYXJjaC1wYW5lbC1zYXZlL3JlcG9ydC1zZWFyY2gtcGFuZWwtc2F2ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHcmlkRmlsdGVyU2V0dGluZ3NDb21wb25lbnQgfSBmcm9tICcuL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzL3VpLWdyaWQtZmlsdGVyLXNldHRpbmdzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyaWRGaWx0ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmlkLWZpbHRlci1pdGVtL3VpLWdyaWQtZmlsdGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNhcEZvbnRQaXBlIH0gZnJvbSAnLi9zYXAtZm9udC5waXBlJztcbmltcG9ydCB7IFNhcEZvbnRDbGFzc1BpcGUgfSBmcm9tICcuL3NhcC1mb250LWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgVWlEYXRlUmFuZ2VFeENvbXBvbmVudCB9IGZyb20gJy4vdWktZGF0ZS1yYW5nZS1leC91aS1kYXRlLXJhbmdlLWV4LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVbE5vdGlmeVBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi91bC1ub3RpZnktcG9wdXAvdWwtbm90aWZ5LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaVRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktdGFibGUtdmlldy91aS10YWJsZS12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUxpc3RWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1saXN0LXZpZXcvdWktbGlzdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdUb0FycmF5UGlwZSwgVWlDYXJkVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdWktY2FyZC12aWV3L3VpLWNhcmQtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlSZXBvcnRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLXJlcG9ydC1jb250YWluZXIvdWktcmVwb3J0LWNvbnRhaW5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9EYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9uby1kYXRhL25vLWRhdGEuY29tcG9uZW50JztcbmltcG9ydCB7IENvbHVtblJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb2x1bW4tcmVuZGVyZXIvY29sdW1uLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbmxpbmVTYXZlQW5kQ2FuY2VsQ29tcG9uZW50IH0gZnJvbSAnLi9pbmxpbmUtc2F2ZS1hbmQtY2FuY2VsL2lubGluZS1zYXZlLWFuZC1jYW5jZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVHJlZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3VpLXRyZWUtdmlldy91aS10cmVlLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IFVpVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vdWktdHJlZS91aS10cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYWxlbmRhci91aS1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm9kZUhhc09uZURlcHRoTGV2ZWxQaXBlIH0gZnJvbSAnLi9iYXJzYS10cmVlLWl0ZW0vbm9kZS1oYXMtb25lLWRlcHRoLWxldmVsLnBpcGUnO1xuaW1wb3J0IHsgVWlBc3BSZXBvcnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL3VpLWFzcC1yZXBvcnQtdmlld2VyL3VpLWFzcC1yZXBvcnQtdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUdyYXBoQ29tcG9uZW50IH0gZnJvbSAnLi91aS1ncmFwaC91aS1ncmFwaC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlFeGNlcHRpb25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91aS1leGNlcHRpb24tZm9ybS91aS1leGNlcHRpb24tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlFZGl0YWJsZUdyaWRDb21wb25lbnQgfSBmcm9tICcuL3VpLWVkaXRhYmxlLWdyaWQvdWktZWRpdGFibGUtZ3JpZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uTWF0cml4UmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbHVtbi1tYXRyaXgtcmVuZGVyZXIvY29sdW1uLW1hdHJpeC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNYXRyaXhWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi91aS1tYXRyaXgtdmlldy91aS1tYXRyaXgtdmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ3VzdG9tRGF0ZVRpbWVDb21wb25lbnQgfSBmcm9tICcuL2N1c3RvbS1kYXRlLXRpbWUvY3VzdG9tLWRhdGUtdGltZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0cml4VmFsdWVQaXBlIH0gZnJvbSAnLi9jb2x1bW4tbWF0cml4LXJlbmRlcmVyL21hdHJpeC12YWx1ZS5waXBlJztcbmltcG9ydCB7IEJhcnNhQXNwVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1hc3Atdmlld2VyL2JhcnNhLWFzcC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVJbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1pbi1kaWFsb2cvZmlsZS1pbi1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNQYWdlU2l6ZVBpcGUgfSBmcm9tICcuL2R5bmFtaWMtcGFnZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgUmVwb3J0Vmlld1JlbmRlcmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9yZXBvcnQtdmlldy1yZW5kZXJlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVWlNb0luZm9HZW5lcmFsT2JqZWN0VWlDb21wb25lbnQgfSBmcm9tICcuL3VpLW1vLWluZm8tZ2VuZXJhbC1vYmplY3QtdWkvdWktbW8taW5mby1nZW5lcmFsLW9iamVjdC11aS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlHYW50dENoYXJ0Q29tcG9uZW50IH0gZnJvbSAnLi91aS1nYW50dC1jaGFydC91aS1nYW50dC1jaGFydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2FudHREaHRtbENoYXJ0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vZ2FudHQtZGh0bWwtY2hhcnQtdmlldy9nYW50dC1kaHRtbC1jaGFydC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGdWxsc2NyZWVuRGlhbG9nRGlyZWN0aXZlIH0gZnJvbSAnLi9mdWxsc2NyZWVuLWRpYWxvZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NJbmRpY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gJy4vY2FyZC12aWV3LWNvbnRlbnQvY2FyZC12aWV3LWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IENhcmRJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLWl0ZW0vY2FyZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC91aS1jYXJkLXZpZXctaG9yaXpvbnRhbC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGl0bGVDb21wb25lbnQgfSBmcm9tICcuL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVVsdk1haW5Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXVsdi1tYWluL2JhcnNhLXVsdi1tYWluLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSHRyZWVDcmVhdGVOZXdDb21wb25lbnQgfSBmcm9tICcuL2h0cmVlLWNyZWF0ZS1uZXcvaHRyZWUtY3JlYXRlLW5ldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FUYWJsZVJvd0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFibGUtcm93L2JhcnNhLXRhYmxlLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFibGUtY29sdW1uL2JhcnNhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FUYWJsZUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFibGUtaGVhZGVyL2JhcnNhLXRhYmxlLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaUxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi91aS1sYWJlbC91aS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVRvb2xiYXJCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0tdG9vbGJhci1idXR0b24vZm9ybS10b29sYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FTZWFyY2hGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1zZWFyY2gtZm9ybS9iYXJzYS1zZWFyY2gtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmVwb3J0TmV3VG9wRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vcmVwb3J0LW5ldy10b3AtZm9ybS9yZXBvcnQtbmV3LXRvcC1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYU5ldHdvcmtPZmZsaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1uZXR3b3JrLW9mZmxpbmUvYmFyc2EtbmV0d29yay1vZmZsaW5lLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCbG9iVmlld2VyQ29tcG9uZW50IH0gZnJvbSAnLi9ibG9iLXZpZXdlci9ibG9iLXZpZXdlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS12aWV3ZXIvZmlsZS12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVWaWV3ZXJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXZpZXdlci1jb250ZW50L2ZpbGUtdmlld2VyLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVWaWV3ZXJQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLXZpZXdlci1wb3BvdmVyL2ZpbGUtdmlld2VyLXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERvd25sb2FkRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Rvd25sb2FkLWZpbGVzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGdWxsc2NyZWVuRmlsZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Z1bGxzY3JlZW4tZmlsZXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1pdGVtL25vdGlmaWNhdGlvbi1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlL2JhcnNhLWNhcnRhYmxlLXRlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWdyb3VwLWNhcnRhYmxlL2JhcnNhLWNhcnRhYmxlLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNhcnRhYmxlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2FydGFibGUtZm9ybS9iYXJzYS1jYXJ0YWJsZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNvbHVtbkluZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY29sdW1uLWluZGljYXRvci9iYXJzYS1jb2x1bW4taW5kaWNhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUZpZWxkS2V5VmFsdWVDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWZpZWxkLWtleS12YWx1ZS9iYXJzYS1maWVsZC1rZXktdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVG9vbGJhcml0ZW1TZWFyY2hDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXRvb2xiYXJpdGVtLXNlYXJjaC9iYXJzYS10b29sYmFyaXRlbS1zZWFyY2guY29tcG9uZW50JztcbmltcG9ydCB7IFVpSHRtbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdWktaHRtbC12aWV3ZXIvdWktaHRtbC12aWV3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUGlzaG5hbWF5ZXNoUGF5YW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXBpc2huYW1heWVzaC1wYXlhbS9iYXJzYS1waXNobmFtYXllc2gtcGF5YW0uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGV4dEVsbGlwc2lzQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS10ZXh0LWVsbGlwc2lzL2JhcnNhLXRleHQtZWxsaXBzaXMuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlzdC1maWxlLWxpbmVhci1nbWFpbC9iYXJzYS1saXN0LWZpbGUtbGluZWFyLWdtYWlsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUxpbmthYmxlSXRlbXNQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwvYmFyc2EtbGlua2FibGUtaXRlbXMtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhRW51bU1lbnVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWVudW0tbWVudS1idXR0b24vYmFyc2EtZW51bS1tZW51LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJkTGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsL2JhcnNhLWNhcmQtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUhvcml6b250YWxGbGV4UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWhvcml6b250YWwtZmxleC1wYW5lbC9iYXJzYS1ob3Jpem9udGFsLWZsZXgtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQmFzZUxheW91dFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1iYXNlLXBhbmVsL2JhcnNhLWJhc2UtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUJhclBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1iYXItcGFuZWwvYmFyc2EtYmFyLXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUZvcm1TaWRlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZm9ybS1zaWRlLWNvbnRlbnQvYmFyc2EtZm9ybS1zaWRlLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0hhbmRsZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpYWxvZy1oYW5kbGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYXJzYVNpbXBsZUZvcm1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXNpbXBsZS1mb3JtL2JhcnNhLXNpbXBsZS1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vZm9ybS10b29sYmFyL2Zvcm0tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FMaXN0TGF5b3V0UGFuZWxDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWxpc3QtbGF5b3V0LXBhbmVsL2JhcnNhLWxpc3QtbGF5b3V0LXBhbmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwvYmFyc2EtZ3JpZC1sYXlvdXQtcGFuZWwuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhRHluYW1pY0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1keW5hbWljLWZpZWxkL2JhcnNhLWR5bmFtaWMtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFNhcFNpemVQaXBlIH0gZnJvbSAnLi9zYXAtc2l6ZS5waXBlJztcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vdWktbXVsdGktc2VsZWN0LXJhZGlvL3VpLW11bHRpLXNlbGVjdC1yYWRpby5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY2hlY2tib3gvdWktbXVsdGktc2VsZWN0LWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU11bHRpU2VsZWN0U2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3Qtc2xpZGVyL3VpLW11bHRpLXNlbGVjdC1zbGlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpTXVsdGlTZWxlY3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3QtY2FyZC91aS1tdWx0aS1zZWxlY3QtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgVWlNdWx0aVNlbGVjdFNtaWxlQ29tcG9uZW50IH0gZnJvbSAnLi91aS1tdWx0aS1zZWxlY3Qtc21pbGUvdWktbXVsdGktc2VsZWN0LXNtaWxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBVaU51bUludFNsaWRlckNvbXBvbmVudCB9IGZyb20gJy4vdWktbnVtLWludC1zbGlkZXIvdWktbnVtLWludC1zbGlkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUmVwb3J0Q2hlY2tib3hTd2l0Y2hCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uL2JhcnNhLXJlcG9ydC1jaGVja2JveC1zd2l0Y2gtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYUNvbHVtblJvd051bWJlckNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY29sdW1uLXJvd251bWJlci9iYXJzYS1jb2x1bW4tcm93bnVtYmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVJlcG9ydE9uZU9mTGlzdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcmVwb3J0LW9uZS1vZi1saXN0L2JhcnNhLXJlcG9ydC1vbmUtb2YtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNhcmQtcm93LXBheWFtL2JhcnNhLWNhcmQtcm93LXBheWFtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uUG9zdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tcG9zdC9iYXJzYS1xdWVzdGlvbi1wb3N0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJGb3JtQWRkQ29tbWVudENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQvYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWZvcm0tYWRkLWNvbW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQW5zd2VyQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtYW5zd2VyLWNhcmQvYmFyc2EtYW5zd2VyLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDcmVhdG9yVGltZVNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jcmVhdG9yLXRpbWUtc2VjdGlvbi9iYXJzYS1xdWVzdGlvbi1hbnN3ZXItY3JlYXRvci10aW1lLXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb21tZW50cy1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVF1ZXN0aW9uQW5zd2VyVm90ZVNlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci12b3RlLXNlY3Rpb24vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLXZvdGUtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FRdWVzdGlvbkFuc3dlckNvbnRlbnRBY3Rpb25zU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtcXVlc3Rpb24tYW5zd2VyLWNvbnRlbnQtYWN0aW9ucy1zZWN0aW9uL2JhcnNhLXF1ZXN0aW9uLWFuc3dlci1jb250ZW50LWFjdGlvbnMtc2VjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGlwL2JhcnNhLWNoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhUmVwb3J0Q2FyZEZsZXhWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1yZXBvcnQtY2FyZC1mbGV4LXZpZXcvYmFyc2EtcmVwb3J0LWNhcmQtZmxleC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXJzYVRhZ3NDYXRlZ29yeVJvd0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cvYmFyc2EtdGFncy1jYXRlZ29yeS1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFnQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFnLWNoaXAvYmFyc2EtdGFnLWNoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhVGFnQ2F0ZWdvcmllc0NvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtdGFnLWNhdGVnb3JpZXMvYmFyc2EtdGFnLWNhdGVnb3JpZXMuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ3VzdG9tSW5saW5lRWRpdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY3VzdG9tLWlubGluZS1lZGl0L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDdXN0b21JbmxpbmVFZGl0Um93Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jdXN0b20taW5saW5lLWVkaXQtcm93L2JhcnNhLWN1c3RvbS1pbmxpbmUtZWRpdC1yb3cuY29tcG9uZW50JztcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQmFyc2FDaGF0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0L2JhcnNhLWNoYXQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hhdENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtY29udGVudC9iYXJzYS1jaGF0LWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hhdE1lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2JhcnNhLWNoYXQtbWVzc2FnZS9iYXJzYS1jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hhdFRocmVhZENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC10aHJlYWQvYmFyc2EtY2hhdC10aHJlYWQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hhdFRocmVhZHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDaGF0VGhyZWFkc0xpc3RUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LXRocmVhZHMtbGlzdC10b29sYmFyL2JhcnNhLWNoYXQtdGhyZWFkcy1saXN0LXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJhcnNhQ2hhdENvbnRlbnRUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhci9iYXJzYS1jaGF0LWNvbnRlbnQtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFyc2FDaGF0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vYmFyc2EtY2hhdC1saXN0L2JhcnNhLWNoYXQtbGlzdC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgY29tcG9uZW50cyA9IFtcbiAgICBVaVRleHRGaWVsZENvbXBvbmVudCxcbiAgICBMeUxheW91dEZpZWxkTGFiZWxDb21wb25lbnQsXG4gICAgVWlDaGVja0JveENvbXBvbmVudCxcbiAgICBVaVNpbXBsZUNvbWJvQ29tcG9uZW50LFxuICAgIFVpUmFkaW9Hcm91cENvbXBvbmVudCxcbiAgICBVaUdyaWRDb21wb25lbnQsXG4gICAgTHlMYXlvdXRDb250YWluZXJPZlJvb3RDb21wb25lbnQsXG4gICAgTHlMYXlvdXRQYW5lbENvbXBvbmVudCxcbiAgICBVaVJlYWRPbmx5RmllbGRDb21wb25lbnQsXG4gICAgVWlDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50LFxuICAgIFVpUGljdHVyZUZpbGVDb21wb25lbnQsXG4gICAgVWlNb0luZm9VbHZDb21ib0NvbXBvbmVudCxcbiAgICBVaU11bHRpU2VsZWN0Q29tYm9Db21wb25lbnQsXG4gICAgVWlOdW1EZWNpbWFsVWlDb21wb25lbnQsXG4gICAgVWlOdW1JbnRVaUNvbXBvbmVudCxcbiAgICBVaVRpbWVTcGFuQ29tcG9uZW50LFxuICAgIFVpRmlsZUxpbmVhckxpc3RCb3hDb21wb25lbnQsXG4gICAgTHlFbXB0eVNwYWNlQ29tcG9uZW50LFxuICAgIFVpU2luZ2xlUGljdHVyZUNvbXBvbmVudCxcbiAgICBVbHZTZWxlY3Rpb25Db21wb25lbnQsXG4gICAgVWx2VG9vbGJhckNvbXBvbmVudCxcbiAgICBVbHZQYWdpbmdDb21wb25lbnQsXG4gICAgVWlHcmlkU29ydFNldHRpbmdDb21wb25lbnQsXG4gICAgVWlHcmlkU29ydEl0ZW1Db21wb25lbnQsXG4gICAgVWlHcmlkQ29sdW1uc0NvbXBvbmVudCxcbiAgICBNYXNrQ29tcG9uZW50LFxuICAgIFVpSW5mb0JhclBhbmVsQ29tcG9uZW50LFxuICAgIFVpRm9ybVBhbmVsQ29tcG9uZW50LFxuICAgIFVpU2VhcmNoQ29tbWFuZEluZm9VaUNvbXBvbmVudCxcbiAgICBVbHZTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVaVRpbnltY2VDb21wb25lbnQsXG4gICAgVWlCdXR0b25Db21wb25lbnQsXG4gICAgVWlEYXRlVGltZUNvbXBvbmVudCxcbiAgICBGb3JtRGlhbG9nQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0S2V5VmFsdWVDb21wb25lbnQsXG4gICAgSGVhZGVyRmFjZXRGb3JtQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0UmF0ZUNvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldFByb2dyZXNzQ29tcG9uZW50LFxuICAgIEhlYWRlckZhY2V0TWljcm9jaGFydENvbXBvbmVudCxcbiAgICBIZWFkZXJGYWNldFBsYWluVGV4dENvbXBvbmVudCxcbiAgICBVaU1vSW5mb1N1YkZvcm1VaUNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlVG9vbGJhckNvbXBvbmVudCxcbiAgICBSZXNwb25zaXZlVG9vbGJhclJlbmRlcmVyQ29tcG9uZW50LFxuICAgIFVpVGV4dEFyZWFDb21wb25lbnQsXG4gICAgTGF5b3V0Q29udHJvbENvbXBvbmVudCxcbiAgICBMYXlvdXRXaXphcmRDb21wb25lbnQsXG4gICAgRm9ybVdpemFyZENvbXBvbmVudCxcbiAgICBGb3JtRGlhbG9nTGVzc0NvbXBvbmVudCxcbiAgICBSaWNoVGV4dFN0YXRpY0NvbXBvbmVudCxcbiAgICBVaVBpY3R1cmVzSW5mb0NvbXBvbmVudCxcbiAgICBMeUhvcml6b250YWxMYXlvdXRDb21wb25lbnQsXG4gICAgTHlWZXJ0aWNhbExheW91dENvbXBvbmVudCxcbiAgICBMeVRhYkNvbnRhaW5lckNvbXBvbmVudCxcbiAgICBMeVRhYlBhZ2VDb21wb25lbnQsXG4gICAgTHlMYWJlbENvbXBvbmVudCxcbiAgICBVaU1vSW5mb0NvbWJvVmlld2VyQ29tcG9uZW50LFxuICAgIFVsTXNnQm94QWRhcHRlckNvbXBvbmVudCxcbiAgICBVaVRyZWVDb21wb25lbnQsXG4gICAgSGVhZGVyQXZhdGFyQ29tcG9uZW50LFxuICAgIFVpV29ya2Zsb3dQYW5lbFVpQ29tcG9uZW50LFxuICAgIFVsdkNvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIFVsTG9hZGluZ01hc2tVaUNvbXBvbmVudCxcbiAgICBVaVRleHRGaWVsZEF1dG9Db21wbGV0ZUNvbXBvbmVudCxcbiAgICBDYXB0Y2hhRmllbGRDb21wb25lbnQsXG4gICAgTHlTaW1wbGVMYWJlbENvbXBvbmVudCxcbiAgICBHbG9iYWxTZWFyY2hQYW5lbENvbXBvbmVudCxcbiAgICBHbG9iYWxTZWFyY2hNb2R1bGVDb21wb25lbnQsXG4gICAgR2xvYmFsU2VhcmNoQ29tcG9uZW50LFxuICAgIEh5cGVybGlua0NvbXBvbmVudCxcbiAgICBTdGF0aWNUZXh0Q29tcG9uZW50LFxuICAgIFVsVG9hc3RBZGFwdGVyQ29tcG9uZW50LFxuICAgIE1lc3NhZ2VTdHJpcENvbXBvbmVudCxcbiAgICBVaUxpbmVhckxpc3RDb250YWluZXJXaXRoQnV0dG9uQ29tcG9uZW50LFxuICAgIEZ1bmRhbWVudGFsRHluYW1pY0Zvcm1Db21wb25lbnQsXG4gICAgTGF5b3V0QWN0aW9uc0NvbXBvbmVudCxcbiAgICBMeUxheW91dENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBVaVVsdkZvcm1NdWx0aVNlbGVjdFVpQ29tcG9uZW50LFxuICAgIFVsdkZvcm1NdWx0aVNlbGVjdENvbXBvbmVudCxcbiAgICBVbHZDb2x1bW5TZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVbHZGaWx0ZXJTZXR0aW5nc0NvbXBvbmVudCxcbiAgICBVbHZTb3J0U2V0dGluZ3NDb21wb25lbnQsXG4gICAgVWx2R3JvdXBieVNldHRpbmdzQ29tcG9uZW50LFxuICAgIEJhcnNhTGlzdEZpbGVMaW5lYXJDb21wb25lbnQsXG4gICAgVWlQZGZWaWV3ZXJDb21wb25lbnQsXG4gICAgQmFyc2FUaW55ZW1jZUNvbXBvbmVudCxcbiAgICBVaU1vbmFjb0VkaXRvckNvbXBvbmVudCxcbiAgICBCYXJzYU1vbmFjb0VkaXRvckNvbXBvbmVudCxcbiAgICBCYXJzYURhdGVUaW1lUGlja2VyQ29tcG9uZW50LFxuICAgIEJhcnNhVHJlZUl0ZW1Db21wb25lbnQsXG4gICAgVWlTd2l0Y2hCdXR0b25Db21wb25lbnQsXG4gICAgVWlDb2xvclVpQ29tcG9uZW50LFxuICAgIEx5TGluZUNvbXBvbmVudCxcbiAgICBVaVVsdk1haW5VaUNvbXBvbmVudCxcbiAgICBSZXBvcnROYXZpZ2F0b3JDb21wb25lbnQsXG4gICAgTWFuYWdlRmlsdGVyc1JlcG9ydENvbXBvbmVudCxcbiAgICBSZXBvcnRTZWFyY2hGaWVsZHNNYW5hZ2VDb21wb25lbnQsXG4gICAgUmVwb3J0U2VhcmNoRmllbGRzSGlkZGVuU2V0dGluZ3NDb21wb25lbnQsXG4gICAgU2VhcmNoUGFuZWxDb21wb25lbnQsXG4gICAgUmVwb3J0U2VhcmNoUGFuZWxTYXZlQ29tcG9uZW50LFxuICAgIFVpR3JpZEZpbHRlclNldHRpbmdzQ29tcG9uZW50LFxuICAgIFVpR3JpZEZpbHRlckl0ZW1Db21wb25lbnQsXG4gICAgVWlEYXRlUmFuZ2VFeENvbXBvbmVudCxcbiAgICBVbE5vdGlmeVBvcHVwQ29tcG9uZW50LFxuICAgIFVpVGFibGVWaWV3Q29tcG9uZW50LFxuICAgIFVpTGlzdFZpZXdDb21wb25lbnQsXG4gICAgVWlDYXJkVmlld0NvbXBvbmVudCxcbiAgICBVaVJlcG9ydENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBOb0RhdGFDb21wb25lbnQsXG4gICAgQ29sdW1uUmVuZGVyZXJDb21wb25lbnQsXG4gICAgSW5saW5lU2F2ZUFuZENhbmNlbENvbXBvbmVudCxcbiAgICBVaVRyZWVWaWV3Q29tcG9uZW50LFxuICAgIElubGluZVNhdmVBbmRDYW5jZWxDb21wb25lbnQsXG4gICAgVWlDYWxlbmRhckNvbXBvbmVudCxcbiAgICBVaUFzcFJlcG9ydFZpZXdlckNvbXBvbmVudCxcbiAgICBVaUdyYXBoQ29tcG9uZW50LFxuICAgIFVpRXhjZXB0aW9uRm9ybUNvbXBvbmVudCxcbiAgICBVaUVkaXRhYmxlR3JpZENvbXBvbmVudCxcbiAgICBDb2x1bW5NYXRyaXhSZW5kZXJlckNvbXBvbmVudCxcbiAgICBVaU1hdHJpeFZpZXdDb21wb25lbnQsXG4gICAgQ3VzdG9tRGF0ZVRpbWVDb21wb25lbnQsXG4gICAgQmFyc2FBc3BWaWV3ZXJDb21wb25lbnQsXG4gICAgRmlsZUluRGlhbG9nQ29tcG9uZW50LFxuICAgIFVpTW9JbmZvR2VuZXJhbE9iamVjdFVpQ29tcG9uZW50LFxuICAgIFVpR2FudHRDaGFydENvbXBvbmVudCxcbiAgICBHYW50dERodG1sQ2hhcnRWaWV3Q29tcG9uZW50LFxuICAgIFByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIENhcmRWaWV3Q29udGVudENvbXBvbmVudCxcbiAgICBDYXJkSXRlbUNvbXBvbmVudCxcbiAgICBVaUNhcmRWaWV3SG9yaXpvbnRhbEdyb3VwQ29tcG9uZW50LFxuICAgIFRpdGxlQ29tcG9uZW50LFxuICAgIEJhcnNhVWx2TWFpbkNvbXBvbmVudCxcbiAgICBMaXN0SXRlbUNvbXBvbmVudCxcbiAgICBIdHJlZUNyZWF0ZU5ld0NvbXBvbmVudCxcbiAgICBCYXJzYVRhYmxlSGVhZGVyQ29tcG9uZW50LFxuICAgIEJhcnNhVGFibGVSb3dDb21wb25lbnQsXG4gICAgQmFyc2FUYWJsZUNvbHVtbkNvbXBvbmVudCxcbiAgICBCcmVhZGNydW1iQ29tcG9uZW50LFxuICAgIFVpTGFiZWxDb21wb25lbnQsXG4gICAgRm9ybVRvb2xiYXJCdXR0b25Db21wb25lbnQsXG4gICAgQmFyc2FTZWFyY2hGb3JtQ29tcG9uZW50LFxuICAgIFJlcG9ydE5ld1RvcEZvcm1Db21wb25lbnQsXG4gICAgQmFyc2FOZXR3b3JrT2ZmbGluZUNvbXBvbmVudCxcbiAgICBGaWxlVmlld2VyQ29udGVudENvbXBvbmVudCxcbiAgICBGaWxlVmlld2VyUG9wb3ZlckNvbXBvbmVudCxcbiAgICBGaWxlVmlld2VyQ29tcG9uZW50LFxuICAgIEJsb2JWaWV3ZXJDb21wb25lbnQsXG4gICAgTm90aWZpY2F0aW9uSXRlbUNvbXBvbmVudCxcbiAgICBCYXJzYUNhcnRhYmxlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgQmFyc2FDYXJ0YWJsZUdyb3VwQ29tcG9uZW50LFxuICAgIEJhcnNhQ2FydGFibGVGb3JtQ29tcG9uZW50LFxuICAgIEJhcnNhQ29sdW1uSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIEJhcnNhRmllbGRLZXlWYWx1ZUNvbXBvbmVudCxcbiAgICBCYXJzYVRvb2xiYXJpdGVtU2VhcmNoQ29tcG9uZW50LFxuICAgIFVpSHRtbFZpZXdlckNvbXBvbmVudCxcbiAgICBCYXJzYVBpc2huYW1heWVzaFBheWFtQ29tcG9uZW50LFxuICAgIEJhcnNhVGV4dEVsbGlwc2lzQ29tcG9uZW50LFxuICAgIEJhcnNhTGlzdEZpbGVMaW5lYXJHbWFpbENvbXBvbmVudCxcbiAgICBCYXJzYUxpbmthYmxlSXRlbXNQYW5lbENvbXBvbmVudCxcbiAgICBCYXJzYUVudW1NZW51QnV0dG9uQ29tcG9uZW50LFxuICAgIEJhcnNhQ2FyZExheW91dFBhbmVsQ29tcG9uZW50LFxuICAgIEJhcnNhSG9yaXpvbnRhbEZsZXhQYW5lbENvbXBvbmVudCxcbiAgICBCYXJzYUJhc2VMYXlvdXRQYW5lbENvbXBvbmVudCxcbiAgICBCYXJzYUJhclBhbmVsQ29tcG9uZW50LFxuICAgIEJhcnNhRm9ybVNpZGVDb250ZW50Q29tcG9uZW50LFxuICAgIEJhcnNhU2ltcGxlRm9ybUNvbXBvbmVudCxcbiAgICBGb3JtVG9vbGJhckNvbXBvbmVudCxcbiAgICBCYXJzYUxpc3RMYXlvdXRQYW5lbENvbXBvbmVudCxcbiAgICBCYXJzYUdyaWRMYXlvdXRQYW5lbENvbXBvbmVudCxcbiAgICBCYXJzYUR5bmFtaWNGaWVsZENvbXBvbmVudCxcbiAgICBVaU11bHRpU2VsZWN0UmFkaW9Db21wb25lbnQsXG4gICAgVWlNdWx0aVNlbGVjdENoZWNrYm94Q29tcG9uZW50LFxuICAgIFVpTnVtSW50U2xpZGVyQ29tcG9uZW50LFxuICAgIFVpTXVsdGlTZWxlY3RTbGlkZXJDb21wb25lbnQsXG4gICAgVWlNdWx0aVNlbGVjdENhcmRDb21wb25lbnQsXG4gICAgVWlNdWx0aVNlbGVjdFNtaWxlQ29tcG9uZW50LFxuICAgIEJhcnNhUmVwb3J0Q2hlY2tib3hTd2l0Y2hCdXR0b25Db21wb25lbnQsXG4gICAgQmFyc2FDb2x1bW5Sb3dOdW1iZXJDb21wb25lbnQsXG4gICAgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQsXG4gICAgQmFyc2FDb2x1bW5Sb3dOdW1iZXJDb21wb25lbnQsXG4gICAgQmFyc2FRdWVzdGlvblBvc3RDb21wb25lbnQsXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1Db21wb25lbnQsXG4gICAgQmFyc2FRdWVzdGlvbkFuc3dlckZvcm1BZGRDb21tZW50Q29tcG9uZW50LFxuICAgIEJhcnNhQW5zd2VyQ2FyZENvbXBvbmVudCxcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyQ29udGVudEFjdGlvbnNTZWN0aW9uQ29tcG9uZW50LFxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJWb3RlU2VjdGlvbkNvbXBvbmVudCxcbiAgICBCYXJzYVF1ZXN0aW9uQW5zd2VyQ3JlYXRvclRpbWVTZWN0aW9uQ29tcG9uZW50LFxuICAgIEJhcnNhUXVlc3Rpb25BbnN3ZXJDb21tZW50c1NlY3Rpb25Db21wb25lbnQsXG4gICAgQmFyc2FDaGlwQ29tcG9uZW50LFxuICAgIEJhcnNhVGFnQ2hpcENvbXBvbmVudCxcbiAgICBCYXJzYVJlcG9ydENhcmRGbGV4Vmlld0NvbXBvbmVudCxcbiAgICBCYXJzYVRhZ3NDYXRlZ29yeVJvd0NvbXBvbmVudCxcbiAgICBCYXJzYVRhZ0NhdGVnb3JpZXNDb21wb25lbnQsXG4gICAgQmFyc2FSZXBvcnRPbmVPZkxpc3RDb21wb25lbnQsXG4gICAgQmFyc2FDYXJkUm93UGF5YW1Db21wb25lbnQsXG4gICAgQmFyc2FDdXN0b21JbmxpbmVFZGl0Q29tcG9uZW50LFxuICAgIEJhcnNhQ3VzdG9tSW5saW5lRWRpdFJvd0NvbXBvbmVudCxcbiAgICBCYXJzYUNoYXRDb21wb25lbnQsXG4gICAgQmFyc2FDaGF0Q29udGVudENvbXBvbmVudCxcbiAgICBCYXJzYUNoYXRNZXNzYWdlQ29tcG9uZW50LFxuICAgIEJhcnNhQ2hhdFRocmVhZENvbXBvbmVudCxcbiAgICBCYXJzYUNoYXRUaHJlYWRzTGlzdENvbXBvbmVudCxcbiAgICBCYXJzYUNoYXRUaHJlYWRzTGlzdFRvb2xiYXJDb21wb25lbnQsXG4gICAgQmFyc2FDaGF0Q29udGVudFRvb2xiYXJDb21wb25lbnQsXG4gICAgQmFyc2FDaGF0TGlzdENvbXBvbmVudFxuXTtcbmV4cG9ydCBjb25zdCBwaXBlcyA9IFtcbiAgICBVcGxvYWRGaWxlU3RhdHVzUGlwZSxcbiAgICBTYXBGb250UGlwZSxcbiAgICBTYXBGb250Q2xhc3NQaXBlLFxuICAgIFN0cmluZ1RvQXJyYXlQaXBlLFxuICAgIE5vZGVIYXNPbmVEZXB0aExldmVsUGlwZSxcbiAgICBNYXRyaXhWYWx1ZVBpcGUsXG4gICAgRHluYW1pY1BhZ2VTaXplUGlwZSxcbiAgICBTYXBTaXplUGlwZVxuXTtcbmV4cG9ydCBjb25zdCBkaXJlY3RpdmVzID0gW1xuICAgIFdpemFyZExheW91dERpcmVjdGl2ZSxcbiAgICBDb2xSZW5kZXJlckRpcmVjdGl2ZSxcbiAgICBBcHBseUNvbmRpdGlvbmFsRm9ybWF0c0RpcmVjdGl2ZSxcbiAgICBSZXBvcnRWaWV3UmVuZGVyZXJEaXJlY3RpdmUsXG4gICAgRnVsbHNjcmVlbkRpYWxvZ0RpcmVjdGl2ZSxcbiAgICBGdWxsc2NyZWVuRmlsZXNEaXJlY3RpdmUsXG4gICAgRG93bmxvYWRGaWxlc0RpcmVjdGl2ZSxcbiAgICBEaWFsb2dIYW5kbGVyRGlyZWN0aXZlXG5dO1xuXG5leHBvcnQgY29uc3QgSU5JVF9TQVBGSU9SSSA9XG4gICAgKFxuICAgICAgICBydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlLFxuICAgICAgICBjb250ZW50RGVuc2l0eVNlcnZpY2U6IEdsb2JhbENvbnRlbnREZW5zaXR5U2VydmljZSxcbiAgICAgICAgdGhlbWVTZXJ2aWNlOiBUaGVtaW5nU2VydmljZSxcbiAgICAgICAgcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcbiAgICApID0+XG4gICAgKCkgPT4ge1xuICAgICAgICBydGxTZXJ2aWNlLnJ0bC5uZXh0KEJhcnNhQXBpLkxvZ2luRm9ybURhdGEuSXNSdGwpO1xuXG4gICAgICAgIHBvcnRhbFNlcnZpY2UudXNlclBvcnRhbFNldHRpbmdzJC5waXBlKCkuc3Vic2NyaWJlKCh1c2VyUG9ydGFsU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHVzZXJTZXR0aW5ncyA9IHVzZXJQb3J0YWxTZXR0aW5nc1snVXNlclBvcnRhbFNldHRpbmdzJ107XG4gICAgICAgICAgICBpZiAoIXVzZXJTZXR0aW5ncykge1xuICAgICAgICAgICAgICAgIHRoZW1lU2VydmljZS5zZXRUaGVtZSgnc2FwX2Zpb3JpXzMnKTtcbiAgICAgICAgICAgICAgICB0aGVtZVNlcnZpY2UuY3VycmVudFRoZW1lLnN1YnNjcmliZSgodGhlbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoZW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3J0YWxTZXJ2aWNlLnNldFRoZW1lKGRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwodGhlbWUudGhlbWluZy50aGVtZVBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBjb250ZW50RGVuc2l0eTogYW55O1xuICAgICAgICAgICAgbGV0IHRoZW1lOiBhbnk7XG4gICAgICAgICAgICBpZiAoIXVzZXJTZXR0aW5ncykge1xuICAgICAgICAgICAgICAgIGlmIChnZXREZXZpY2VJc01vYmlsZSgpIHx8IGdldERldmljZUlzUGhvbmUoKSB8fCBnZXREZXZpY2VJc1RhYmxldCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPWlk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudERlbnNpdHkgPSBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgQ29udGVudERlbnNpdHkkQ2FwdGlvbiwgVGhlbWUkQ2FwdGlvbiB9ID0gdXNlclNldHRpbmdzO1xuICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHkkQ2FwdGlvbjtcbiAgICAgICAgICAgICAgICB0aGVtZSA9IFRoZW1lJENhcHRpb247XG4gICAgICAgICAgICAgICAgaWYgKCFjb250ZW50RGVuc2l0eSkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50RGVuc2l0eSA9IENvbnRlbnREZW5zaXR5TW9kZS5DT01QQUNUO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChnZXREZXZpY2VJc01vYmlsZSgpIHx8IGdldERldmljZUlzUGhvbmUoKSkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5ID0gQ29udGVudERlbnNpdHlNb2RlLkNPWlk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoY29udGVudERlbnNpdHkpIHtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnREZW5zaXR5U2VydmljZS51cGRhdGVDb250ZW50RGVuc2l0eShjb250ZW50RGVuc2l0eSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlDbGFzc0NvbXBhY3QgPSAndWk1LWNvbnRlbnQtZGVuc2l0eS1jb21wYWN0JztcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5Q2xhc3NDb25kZW5zZWQgPSAndWk1LWNvbnRlbnQtZGVuc2l0eS1jb25kZW5zZWQnO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvZHlDbGFzc0NvenkgPSAndWk1LWNvbnRlbnQtZGVuc2l0eS1jb3p5JztcbiAgICAgICAgICAgICAgICBjb25zdCBib2R5ID0gZG9jdW1lbnQ/LmJvZHk7XG4gICAgICAgICAgICAgICAgc3dpdGNoIChjb250ZW50RGVuc2l0eSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlICdjb25kZW5zZWQnOlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ29uZGVuc2VkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5hZGQoYm9keUNsYXNzQ29uZGVuc2VkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbXBhY3QpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb3p5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvenknOlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYm9keS5jbGFzc0xpc3QuY29udGFpbnMoYm9keUNsYXNzQ296eSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QuYWRkKGJvZHlDbGFzc0NvenkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ29tcGFjdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9keS5jbGFzc0xpc3QucmVtb3ZlKGJvZHlDbGFzc0NvbmRlbnNlZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29tcGFjdCc6XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFib2R5LmNsYXNzTGlzdC5jb250YWlucyhib2R5Q2xhc3NDb21wYWN0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5hZGQoYm9keUNsYXNzQ29tcGFjdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHkuY2xhc3NMaXN0LnJlbW92ZShib2R5Q2xhc3NDb3p5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5LmNsYXNzTGlzdC5yZW1vdmUoYm9keUNsYXNzQ29uZGVuc2VkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGVtZSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGVtZS5pbmRleE9mKCdkYXJrJykgPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJ2NvbG9yLXNjaGVtZScsICdkYXJrJyk7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtbW9kZScsICdkYXJrJyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCdjb2xvci1zY2hlbWUnLCAnbGlnaHQnKTtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1tb2RlJywgJ2xpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoZW1lU2VydmljZS5zZXRUaGVtZSh0aGVtZSk7XG4gICAgICAgICAgICAgICAgdGhlbWVTZXJ2aWNlLmN1cnJlbnRUaGVtZS5zdWJzY3JpYmUoKHRoZW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGVtZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9ydGFsU2VydmljZS5zZXRUaGVtZShkb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHRoZW1lLnRoZW1pbmcudGhlbWVQYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfTtcbiJdfQ==
|