fabrikantencore 2.28.4 → 2.28.5
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/src/app/modules/fabrikantencore/components/fab-texture-configurator/fab-texture-configurator.component.mjs +2 -2
- package/esm2022/src/app/modules/fabrikantencore/fabrikantencore.module.mjs +2 -2
- package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +24 -1
- package/fesm2022/fabrikantencore.mjs +26 -3
- package/fesm2022/fabrikantencore.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -387,11 +387,11 @@ class FabTextureConfiguratorComponent {
|
|
|
387
387
|
}
|
|
388
388
|
}
|
|
389
389
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FabTextureConfiguratorComponent, deps: [{ token: i1.MobileService }, { token: i2.FabrikantenService }, { token: i3.TranslateService }, { token: i4.ActivatedRoute }, { token: i5.MatLegacyDialog }, { token: i6.TextureApiClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
390
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FabTextureConfiguratorComponent, selector: "app-fab-texture-configurator", ngImport: i0, template: "<div *ngIf=\"IsLoading()\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\" *ngIf=\"!FabrikantenService.IsStartingDownload()\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ProductsLoading) }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<div *ngIf=\"!IsLoading()\">\r\n <div class=\"center-block\">\r\n <div>\r\n <div class=\"steen-select\">\r\n <ng-container *ngIf=\"GetSteen() != null\">\r\n <app-fab-input [input]=\"GetSteen()\"></app-fab-input>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"IsSteenSelected()\">\r\n <div *ngIf=\"Steen2 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen2.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen3 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen3.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen4 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen4.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen5 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen5.id) }}\r\n </div>\r\n\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Verband) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVerbandId\">\r\n <ng-container *ngFor=\"let verband of GetVerbanden()\">\r\n <mat-option [value]=\"verband.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"verband.imagePath != null && verband.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePathProduct(verband) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, verband.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Lintvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ LintvoegMin }}\" max=\"{{ LintvoegMax }}\" [(ngModel)]=\"Lintvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <ng-container *ngIf=\"GetVoeg() != null\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Voeg) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVoegId\">\r\n <ng-container *ngFor=\"let voeg of GetVoeg().filter.options\">\r\n <mat-option [value]=\"voeg.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"voeg.imagePath != null && voeg.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePath(voeg) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, voeg.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Stootvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ StootvoegMin }}\" max=\"{{ StootvoegMax }}\" [(ngModel)]=\"Stootvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"high-res-checkbox-div\">\r\n <mat-checkbox [(ngModel)]=\"HiRes\" class=\"high-res-checkbox\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.HogeResolutie) }}\r\n </mat-checkbox>\r\n </div>\r\n\r\n <div class=\"buttonrow\">\r\n <button mat-raised-button (click)=\"TextuurGenereren()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.TextuurGenereren) }}\r\n </button>\r\n <div class=\"flexauto\"></div>\r\n <button mat-raised-button (click)=\"OpenMix()\" *ngIf=\"!ShowMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Mix) }}\r\n </button>\r\n <ng-container *ngIf=\"ShowMix()\">\r\n <button mat-raised-button (click)=\"SluitMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\r\n </button>\r\n <button mat-raised-button (click)=\"ResetMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ResetFilters) }}\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowTexture()\" class=\"main-window flex-col\">\r\n <div class=\"image-row\">\r\n <div>\r\n <div>\r\n <a href=\"{{ TextureResponseModel.patroonURL }}\" target=\"_blank\">\r\n <img class=\"image image-patroon\" src=\"{{ TextureResponseModel.patroonURL }}\" />\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetPatroonDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadTexture) }}\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetBumpDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadBump) }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowMix()\">\r\n <div class=\"main-window flex-col\">\r\n <ng-container *ngFor=\"let option of TextureMixResponseModel.stones\">\r\n <div class=\"filter-option-div-mix\" [ngClass]=\"{'border-selected': IsSelected(option)}\">\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div-mix\" matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ZoomIn) }}\" (click)=\"OpenPhoto(GetImagePath(option))\">\r\n <img src=\"{{ GetImagePath(option) }}\" class=\"filter-option-image\" />\r\n <img class=\"filter-option-image-zoom-in\" />\r\n </div>\r\n </ng-container>\r\n <button mat-raised-button matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Select) }}\" (click)=\"SelectSteen(option)\" class=\"fab-picture-select-button\" [disabled]=\"IsDisabled(option)\">\r\n <span class=\"name-span\">{{ CutOffFormat(TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id)) }}</span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-texture-configurator .displayflex{display:flex}app-fab-texture-configurator .steen-select{padding:30px}app-fab-texture-configurator .fullwidth{width:100%}app-fab-texture-configurator .first-row{width:300px}app-fab-texture-configurator .component-block{padding:5px}app-fab-texture-configurator .center-block{width:-moz-fit-content;width:fit-content;margin:auto;display:flex}app-fab-texture-configurator .flexauto{flex:auto}app-fab-texture-configurator .small-input{width:100px}app-fab-texture-configurator .loader-card{margin:200px auto auto;width:300px}app-fab-texture-configurator .loader-subtitle{text-align:center}app-fab-texture-configurator .loader-spinner{margin:auto}app-fab-texture-configurator .image{width:calc(100vW - 500px);max-width:600px}app-fab-texture-configurator .image-row{padding:20px}app-fab-texture-configurator .high-res-checkbox-div{padding-left:10px;padding-bottom:5px}app-fab-texture-configurator .filter-option-div-mix{border:2px solid #FFF}app-fab-texture-configurator .steen-div{padding:10px 10px 10px 30px}app-fab-texture-configurator .border-selected{border:2px solid #0F0}app-fab-texture-configurator .filter-option-image{max-width:200px;max-height:200px}app-fab-texture-configurator .buttonrow{display:flex;gap:3px;padding:3px}app-fab-texture-configurator .filter-option-image-div-mix{height:210px}app-fab-texture-configurator .filter-option-div-mix{width:200px;height:250px;cursor:zoom-in;padding:3px}app-fab-texture-configurator .main-window{display:flex;flex-wrap:wrap;padding:10px;gap:3px}app-fab-texture-configurator .fab-picture-select-button{width:100%}.filter-option-image-mini-div{max-height:40px;padding-right:4px}.filter-option-image-mini-div .filter-option-image{max-width:40px;max-height:40px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i10.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i11.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i12.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i13.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i13.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i13.MatLegacyCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i14.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i15.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i16.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i18.FabInputComponent, selector: "app-fab-input", inputs: ["input"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
390
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FabTextureConfiguratorComponent, selector: "app-fab-texture-configurator", ngImport: i0, template: "<div *ngIf=\"IsLoading()\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\" *ngIf=\"!FabrikantenService.IsStartingDownload()\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ProductsLoading) }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<div *ngIf=\"!IsLoading()\">\r\n <div class=\"center-block\">\r\n <div>\r\n <div class=\"steen-select\">\r\n <ng-container *ngIf=\"GetSteen() != null\">\r\n <app-fab-input [input]=\"GetSteen()\"></app-fab-input>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"IsSteenSelected()\">\r\n <div *ngIf=\"Steen2 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen2.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen3 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen3.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen4 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen4.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen5 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen5.id) }}\r\n </div>\r\n\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Verband) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVerbandId\">\r\n <ng-container *ngFor=\"let verband of GetVerbanden()\">\r\n <mat-option [value]=\"verband.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"verband.imagePath != null && verband.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePathProduct(verband) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, verband.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Lintvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ LintvoegMin }}\" max=\"{{ LintvoegMax }}\" [(ngModel)]=\"Lintvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <ng-container *ngIf=\"GetVoeg() != null\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Voeg) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVoegId\">\r\n <ng-container *ngFor=\"let voeg of GetVoeg().filter.options\">\r\n <mat-option [value]=\"voeg.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"voeg.imagePath != null && voeg.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePath(voeg) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, voeg.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Stootvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ StootvoegMin }}\" max=\"{{ StootvoegMax }}\" [(ngModel)]=\"Stootvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"high-res-checkbox-div\">\r\n <mat-checkbox [(ngModel)]=\"HiRes\" class=\"high-res-checkbox\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.HogeResolutie) }}\r\n </mat-checkbox>\r\n </div>\r\n\r\n <div class=\"buttonrow\">\r\n <button mat-raised-button (click)=\"TextuurGenereren()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.TextuurGenereren) }}\r\n </button>\r\n <div class=\"flexauto\"></div>\r\n <button mat-raised-button (click)=\"OpenMix()\" *ngIf=\"!ShowMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Mix) }}\r\n </button>\r\n <ng-container *ngIf=\"ShowMix()\">\r\n <button mat-raised-button (click)=\"SluitMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\r\n </button>\r\n <button mat-raised-button (click)=\"ResetMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ResetFilters) }}\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowTexture()\" class=\"main-window flex-col\">\r\n <div class=\"image-row\">\r\n <div>\r\n <div>\r\n <a href=\"{{ TextureResponseModel.patroonURL }}\" target=\"_blank\">\r\n <img class=\"image image-patroon\" src=\"{{ TextureResponseModel.patroonURL }}\" />\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetPatroonDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadTexture) }}\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetBumpDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadBump) }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowMix()\">\r\n <div class=\"main-window flex-col\">\r\n <ng-container *ngFor=\"let option of TextureMixResponseModel.stones\">\r\n <div class=\"filter-option-div-mix\" [ngClass]=\"{'border-selected': IsSelected(option)}\">\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div-mix\" matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ZoomIn) }}\" (click)=\"OpenPhoto(GetImagePath(option))\">\r\n <img src=\"{{ GetImagePath(option) }}\" class=\"filter-option-image\" />\r\n <img class=\"filter-option-image-zoom-in\" />\r\n </div>\r\n </ng-container>\r\n <button mat-raised-button matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Select) }}\" (click)=\"SelectSteen(option)\" class=\"fab-picture-select-button\" [disabled]=\"IsDisabled(option)\">\r\n <span class=\"name-span\">{{ CutOffFormat(TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id)) }}</span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-texture-configurator .displayflex{display:flex}app-fab-texture-configurator .steen-select{padding:30px}app-fab-texture-configurator .fullwidth{width:100%}app-fab-texture-configurator .filter-option-image-zoom-in{content:url(/assets/zoom-in.png);height:32px;position:absolute;bottom:0;cursor:zoom-in;right:0}app-fab-texture-configurator .first-row{width:300px}app-fab-texture-configurator .component-block{padding:5px}app-fab-texture-configurator .center-block{width:-moz-fit-content;width:fit-content;margin:auto;display:flex}app-fab-texture-configurator .flexauto{flex:auto}app-fab-texture-configurator .small-input{width:100px}app-fab-texture-configurator .loader-card{margin:200px auto auto;width:300px}app-fab-texture-configurator .loader-subtitle{text-align:center}app-fab-texture-configurator .loader-spinner{margin:auto}app-fab-texture-configurator .image{width:calc(100vW - 500px);max-width:600px}app-fab-texture-configurator .image-row{padding:20px}app-fab-texture-configurator .high-res-checkbox-div{padding-left:10px;padding-bottom:10px}app-fab-texture-configurator .filter-option-div-mix{border:2px solid #FFF}app-fab-texture-configurator .steen-div{padding:10px 10px 10px 30px}app-fab-texture-configurator .border-selected{border:2px solid #0F0}app-fab-texture-configurator .filter-option-image{max-width:200px;max-height:200px}app-fab-texture-configurator .buttonrow{display:flex;gap:3px;padding:3px}app-fab-texture-configurator .filter-option-image-div-mix{height:210px;text-align:center;position:relative;display:inline-block}app-fab-texture-configurator .filter-option-div-mix{width:200px;height:250px;cursor:zoom-in;padding:3px}app-fab-texture-configurator .main-window{display:flex;flex-wrap:wrap;padding:10px;gap:3px}app-fab-texture-configurator .fab-picture-select-button{width:100%}.filter-option-image-mini-div{max-height:40px;padding-right:4px}.filter-option-image-mini-div .filter-option-image{max-width:40px;max-height:40px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatLegacyFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i8.MatLegacyLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatLegacyInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", exportAs: ["matInput"] }, { kind: "directive", type: i10.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i10.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i10.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i10.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i10.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i10.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i11.MatLegacyTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i12.MatLegacyButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i13.MatLegacyCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i13.MatLegacyCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i13.MatLegacyCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i14.MatLegacyCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i15.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i16.MatLegacySelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatLegacyOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i18.FabInputComponent, selector: "app-fab-input", inputs: ["input"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
391
391
|
}
|
|
392
392
|
export { FabTextureConfiguratorComponent };
|
|
393
393
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FabTextureConfiguratorComponent, decorators: [{
|
|
394
394
|
type: Component,
|
|
395
|
-
args: [{ selector: 'app-fab-texture-configurator', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"IsLoading()\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\" *ngIf=\"!FabrikantenService.IsStartingDownload()\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ProductsLoading) }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<div *ngIf=\"!IsLoading()\">\r\n <div class=\"center-block\">\r\n <div>\r\n <div class=\"steen-select\">\r\n <ng-container *ngIf=\"GetSteen() != null\">\r\n <app-fab-input [input]=\"GetSteen()\"></app-fab-input>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"IsSteenSelected()\">\r\n <div *ngIf=\"Steen2 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen2.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen3 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen3.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen4 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen4.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen5 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen5.id) }}\r\n </div>\r\n\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Verband) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVerbandId\">\r\n <ng-container *ngFor=\"let verband of GetVerbanden()\">\r\n <mat-option [value]=\"verband.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"verband.imagePath != null && verband.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePathProduct(verband) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, verband.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Lintvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ LintvoegMin }}\" max=\"{{ LintvoegMax }}\" [(ngModel)]=\"Lintvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <ng-container *ngIf=\"GetVoeg() != null\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Voeg) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVoegId\">\r\n <ng-container *ngFor=\"let voeg of GetVoeg().filter.options\">\r\n <mat-option [value]=\"voeg.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"voeg.imagePath != null && voeg.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePath(voeg) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, voeg.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Stootvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ StootvoegMin }}\" max=\"{{ StootvoegMax }}\" [(ngModel)]=\"Stootvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"high-res-checkbox-div\">\r\n <mat-checkbox [(ngModel)]=\"HiRes\" class=\"high-res-checkbox\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.HogeResolutie) }}\r\n </mat-checkbox>\r\n </div>\r\n\r\n <div class=\"buttonrow\">\r\n <button mat-raised-button (click)=\"TextuurGenereren()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.TextuurGenereren) }}\r\n </button>\r\n <div class=\"flexauto\"></div>\r\n <button mat-raised-button (click)=\"OpenMix()\" *ngIf=\"!ShowMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Mix) }}\r\n </button>\r\n <ng-container *ngIf=\"ShowMix()\">\r\n <button mat-raised-button (click)=\"SluitMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\r\n </button>\r\n <button mat-raised-button (click)=\"ResetMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ResetFilters) }}\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowTexture()\" class=\"main-window flex-col\">\r\n <div class=\"image-row\">\r\n <div>\r\n <div>\r\n <a href=\"{{ TextureResponseModel.patroonURL }}\" target=\"_blank\">\r\n <img class=\"image image-patroon\" src=\"{{ TextureResponseModel.patroonURL }}\" />\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetPatroonDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadTexture) }}\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetBumpDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadBump) }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowMix()\">\r\n <div class=\"main-window flex-col\">\r\n <ng-container *ngFor=\"let option of TextureMixResponseModel.stones\">\r\n <div class=\"filter-option-div-mix\" [ngClass]=\"{'border-selected': IsSelected(option)}\">\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div-mix\" matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ZoomIn) }}\" (click)=\"OpenPhoto(GetImagePath(option))\">\r\n <img src=\"{{ GetImagePath(option) }}\" class=\"filter-option-image\" />\r\n <img class=\"filter-option-image-zoom-in\" />\r\n </div>\r\n </ng-container>\r\n <button mat-raised-button matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Select) }}\" (click)=\"SelectSteen(option)\" class=\"fab-picture-select-button\" [disabled]=\"IsDisabled(option)\">\r\n <span class=\"name-span\">{{ CutOffFormat(TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id)) }}</span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-texture-configurator .displayflex{display:flex}app-fab-texture-configurator .steen-select{padding:30px}app-fab-texture-configurator .fullwidth{width:100%}app-fab-texture-configurator .first-row{width:300px}app-fab-texture-configurator .component-block{padding:5px}app-fab-texture-configurator .center-block{width:-moz-fit-content;width:fit-content;margin:auto;display:flex}app-fab-texture-configurator .flexauto{flex:auto}app-fab-texture-configurator .small-input{width:100px}app-fab-texture-configurator .loader-card{margin:200px auto auto;width:300px}app-fab-texture-configurator .loader-subtitle{text-align:center}app-fab-texture-configurator .loader-spinner{margin:auto}app-fab-texture-configurator .image{width:calc(100vW - 500px);max-width:600px}app-fab-texture-configurator .image-row{padding:20px}app-fab-texture-configurator .high-res-checkbox-div{padding-left:10px;padding-bottom:5px}app-fab-texture-configurator .filter-option-div-mix{border:2px solid #FFF}app-fab-texture-configurator .steen-div{padding:10px 10px 10px 30px}app-fab-texture-configurator .border-selected{border:2px solid #0F0}app-fab-texture-configurator .filter-option-image{max-width:200px;max-height:200px}app-fab-texture-configurator .buttonrow{display:flex;gap:3px;padding:3px}app-fab-texture-configurator .filter-option-image-div-mix{height:210px}app-fab-texture-configurator .filter-option-div-mix{width:200px;height:250px;cursor:zoom-in;padding:3px}app-fab-texture-configurator .main-window{display:flex;flex-wrap:wrap;padding:10px;gap:3px}app-fab-texture-configurator .fab-picture-select-button{width:100%}.filter-option-image-mini-div{max-height:40px;padding-right:4px}.filter-option-image-mini-div .filter-option-image{max-width:40px;max-height:40px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}\n"] }]
|
|
395
|
+
args: [{ selector: 'app-fab-texture-configurator', encapsulation: ViewEncapsulation.None, template: "<div *ngIf=\"IsLoading()\" class=\"loader\">\r\n <mat-card class=\"loader-card\">\r\n <mat-card-content>\r\n <mat-spinner class=\"loader-spinner\" [diameter]=\"80\"></mat-spinner>\r\n </mat-card-content>\r\n <mat-card-subtitle class=\"loader-subtitle\" *ngIf=\"!FabrikantenService.IsStartingDownload()\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ProductsLoading) }}\r\n </mat-card-subtitle>\r\n </mat-card>\r\n</div>\r\n\r\n<div *ngIf=\"!IsLoading()\">\r\n <div class=\"center-block\">\r\n <div>\r\n <div class=\"steen-select\">\r\n <ng-container *ngIf=\"GetSteen() != null\">\r\n <app-fab-input [input]=\"GetSteen()\"></app-fab-input>\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"IsSteenSelected()\">\r\n <div *ngIf=\"Steen2 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen2.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen3 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen3.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen4 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen4.id) }}\r\n </div>\r\n\r\n <div *ngIf=\"Steen5 != null\" class=\"steen-div\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, Steen5.id) }}\r\n </div>\r\n\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Verband) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVerbandId\">\r\n <ng-container *ngFor=\"let verband of GetVerbanden()\">\r\n <mat-option [value]=\"verband.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"verband.imagePath != null && verband.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePathProduct(verband) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Product, TranslationSubCategory.Name, verband.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Lintvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ LintvoegMin }}\" max=\"{{ LintvoegMax }}\" [(ngModel)]=\"Lintvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <div class=\"displayflex\">\r\n <div class=\"component-block first-row\">\r\n <ng-container *ngIf=\"GetVoeg() != null\">\r\n <mat-form-field appearance=\"fill\" class=\"fullwidth\">\r\n <mat-label class=\"select-mat-label\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Voeg) }}\r\n </mat-label>\r\n <mat-select [(ngModel)]=\"SelectedVoegId\">\r\n <ng-container *ngFor=\"let voeg of GetVoeg().filter.options\">\r\n <mat-option [value]=\"voeg.id\" class=\"select-mat-option\">\r\n <ng-container *ngIf=\"voeg.imagePath != null && voeg.imagePath != ''\">\r\n <div class=\"filter-option-image-mini-div\">\r\n <img src=\"{{ GetImagePath(voeg) }}\" class=\"filter-option-image\" />\r\n </div>\r\n </ng-container>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, voeg.id) }}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </ng-container>\r\n </div>\r\n <div class=\"component-block\">\r\n <mat-form-field appearance=\"fill\" class=\"small-input\">\r\n <mat-label>\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Stootvoeg) }}\r\n </mat-label>\r\n <input matInput type=\"number\" min=\"{{ StootvoegMin }}\" max=\"{{ StootvoegMax }}\" [(ngModel)]=\"Stootvoeg\">\r\n <!--<mat-error>error</mat-error>-->\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n <div class=\"high-res-checkbox-div\">\r\n <mat-checkbox [(ngModel)]=\"HiRes\" class=\"high-res-checkbox\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.HogeResolutie) }}\r\n </mat-checkbox>\r\n </div>\r\n\r\n <div class=\"buttonrow\">\r\n <button mat-raised-button (click)=\"TextuurGenereren()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.TextuurGenereren) }}\r\n </button>\r\n <div class=\"flexauto\"></div>\r\n <button mat-raised-button (click)=\"OpenMix()\" *ngIf=\"!ShowMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Mix) }}\r\n </button>\r\n <ng-container *ngIf=\"ShowMix()\">\r\n <button mat-raised-button (click)=\"SluitMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Close) }}\r\n </button>\r\n <button mat-raised-button (click)=\"ResetMix()\" class=\"link\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ResetFilters) }}\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowTexture()\" class=\"main-window flex-col\">\r\n <div class=\"image-row\">\r\n <div>\r\n <div>\r\n <a href=\"{{ TextureResponseModel.patroonURL }}\" target=\"_blank\">\r\n <img class=\"image image-patroon\" src=\"{{ TextureResponseModel.patroonURL }}\" />\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetPatroonDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadTexture) }}\r\n </a>\r\n </div>\r\n <div>\r\n <a href=\"{{ GetBumpDownloadURL() }}\" target=\"_blank\">\r\n {{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.DownloadBump) }}\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"ShowMix()\">\r\n <div class=\"main-window flex-col\">\r\n <ng-container *ngFor=\"let option of TextureMixResponseModel.stones\">\r\n <div class=\"filter-option-div-mix\" [ngClass]=\"{'border-selected': IsSelected(option)}\">\r\n <ng-container *ngIf=\"option.imagePath != null && option.imagePath != ''\">\r\n <div class=\"filter-option-image-div-mix\" matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.ZoomIn) }}\" (click)=\"OpenPhoto(GetImagePath(option))\">\r\n <img src=\"{{ GetImagePath(option) }}\" class=\"filter-option-image\" />\r\n <img class=\"filter-option-image-zoom-in\" />\r\n </div>\r\n </ng-container>\r\n <button mat-raised-button matTooltip=\"{{ TranslateService.GetActiveValue(TranslationCategory.Common, TranslationSubCategory.Select) }}\" (click)=\"SelectSteen(option)\" class=\"fab-picture-select-button\" [disabled]=\"IsDisabled(option)\">\r\n <span class=\"name-span\">{{ CutOffFormat(TranslateService.GetActiveValue(TranslationCategory.FilterOption, TranslationSubCategory.Name, option.id)) }}</span>\r\n </button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["app-fab-texture-configurator .displayflex{display:flex}app-fab-texture-configurator .steen-select{padding:30px}app-fab-texture-configurator .fullwidth{width:100%}app-fab-texture-configurator .filter-option-image-zoom-in{content:url(/assets/zoom-in.png);height:32px;position:absolute;bottom:0;cursor:zoom-in;right:0}app-fab-texture-configurator .first-row{width:300px}app-fab-texture-configurator .component-block{padding:5px}app-fab-texture-configurator .center-block{width:-moz-fit-content;width:fit-content;margin:auto;display:flex}app-fab-texture-configurator .flexauto{flex:auto}app-fab-texture-configurator .small-input{width:100px}app-fab-texture-configurator .loader-card{margin:200px auto auto;width:300px}app-fab-texture-configurator .loader-subtitle{text-align:center}app-fab-texture-configurator .loader-spinner{margin:auto}app-fab-texture-configurator .image{width:calc(100vW - 500px);max-width:600px}app-fab-texture-configurator .image-row{padding:20px}app-fab-texture-configurator .high-res-checkbox-div{padding-left:10px;padding-bottom:10px}app-fab-texture-configurator .filter-option-div-mix{border:2px solid #FFF}app-fab-texture-configurator .steen-div{padding:10px 10px 10px 30px}app-fab-texture-configurator .border-selected{border:2px solid #0F0}app-fab-texture-configurator .filter-option-image{max-width:200px;max-height:200px}app-fab-texture-configurator .buttonrow{display:flex;gap:3px;padding:3px}app-fab-texture-configurator .filter-option-image-div-mix{height:210px;text-align:center;position:relative;display:inline-block}app-fab-texture-configurator .filter-option-div-mix{width:200px;height:250px;cursor:zoom-in;padding:3px}app-fab-texture-configurator .main-window{display:flex;flex-wrap:wrap;padding:10px;gap:3px}app-fab-texture-configurator .fab-picture-select-button{width:100%}.filter-option-image-mini-div{max-height:40px;padding-right:4px}.filter-option-image-mini-div .filter-option-image{max-width:40px;max-height:40px}.select-mat-option .mat-option-text:first-letter{text-transform:capitalize}.select-mat-option .mat-option-text{display:flex}\n"] }]
|
|
396
396
|
}], ctorParameters: function () { return [{ type: i1.MobileService }, { type: i2.FabrikantenService }, { type: i3.TranslateService }, { type: i4.ActivatedRoute }, { type: i5.MatLegacyDialog }, { type: i6.TextureApiClient }, { type: i0.ChangeDetectorRef }]; } });
|
|
397
397
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLXRleHR1cmUtY29uZmlndXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItdGV4dHVyZS1jb25maWd1cmF0b3IvZmFiLXRleHR1cmUtY29uZmlndXJhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItdGV4dHVyZS1jb25maWd1cmF0b3IvZmFiLXRleHR1cmUtY29uZmlndXJhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQXFCLFNBQVMsRUFBMEMsTUFBTSxlQUFlLENBQUM7QUFNckcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHNCQUFzQixFQUE2RyxtQkFBbUIsRUFBaUQsc0JBQXNCLEVBQW9DLE1BQU0sNkJBQTZCLENBQUM7QUFDblUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWhILE1BTWEsK0JBQStCO0lBaUNqQztJQUNBO0lBQ0E7SUFDQztJQUNEO0lBQ0M7SUFDQTtJQXJDVixJQUFXLG1CQUFtQjtRQUM1QixPQUFPLG1CQUFtQixDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLHNCQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFFTSxpQkFBaUIsR0FBVyxDQUFDLENBQUMsQ0FBQztJQUMvQixjQUFjLEdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDNUIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixXQUFXLEdBQVcsQ0FBQyxDQUFDO0lBQ3hCLFdBQVcsR0FBVyxF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QUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2lCQUM3QzthQUNGO1NBQ0Y7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxJQUFJLFNBQVMsRUFBRTtZQUNyRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ25GLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRTtvQkFDakYsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUMvRDthQUNGO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLFFBQVEsSUFBSSxTQUFTLEVBQUU7WUFDdkUsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLEVBQUUsUUFBUSxDQUFDO1NBQy9EO2FBQ0k7WUFDSCxPQUFPLElBQUksS0FBSyxFQUErQixDQUFDO1NBQ2pEO0lBRUgsQ0FBQzt3R0FuY1UsK0JBQStCOzRGQUEvQiwrQkFBK0Isb0VDaEI1QyxpelJBdUtBOztTRHZKYSwrQkFBK0I7NEZBQS9CLCtCQUErQjtrQkFOM0MsU0FBUzsrQkFDRSw4QkFBOEIsaUJBR3pCLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkNoYW5nZXMsIERvQ2hlY2ssIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TGVnYWN5RGlhbG9nIGFzIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1kaWFsb2cnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcbmltcG9ydCB7IE1vYmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tb2JpbGUuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhbnNsYXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSwgRmFicmlrYW50ZW5UZXh0dXJlQmFzZVZpZXdNb2RlbCwgRmFicmlrYW50ZW5JbnB1dFZpZXdNb2RlbCwgRmFicmlrYW50ZW5Qcm9kdWN0Vmlld01vZGVsLCBUZXh0dXJlQXBpQ2xpZW50LCBUZXh0dXJlUmVxdWVzdE1vZGVsLCBUZXh0dXJlUmVzcG9uc2VNb2RlbCwgVGV4dHVyZU1peFJlc3BvbnNlTW9kZWwsIFRleHR1cmVNaXhSZXF1ZXN0TW9kZWwsIEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsIH0gZnJvbSAnLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcbmltcG9ydCB7IEZhYkRpc3BsYXlQaG90b0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2ZhYi1kaXNwbGF5LXBob3RvLWRpYWxvZy9mYWItZGlzcGxheS1waG90by1kaWFsb2cuY29tcG9uZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLXRleHR1cmUtY29uZmlndXJhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi10ZXh0dXJlLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZhYi10ZXh0dXJlLWNvbmZpZ3VyYXRvci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZhYlRleHR1cmVDb25maWd1cmF0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25DYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25DYXRlZ29yeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSgpIHtcbiAgICByZXR1cm4gVHJhbnNsYXRpb25TdWJDYXRlZ29yeTtcbiAgfVxuXG4gIHB1YmxpYyBTZWxlY3RlZFZlcmJhbmRJZDogbnVtYmVyID0gLTE7XG4gIHB1YmxpYyBTZWxlY3RlZFZvZWdJZDogbnVtYmVyID0gLTE7XG4gIHB1YmxpYyBMaW50dm9lZzogbnVtYmVyID0gMTI7XG4gIHB1YmxpYyBMaW50dm9lZ01pbjogbnVtYmVyID0gNjtcbiAgcHVibGljIExpbnR2b2VnTWF4OiBudW1iZXIgPSAxNDtcbiAgcHVibGljIFN0b290dm9lZzogbnVtYmVyID0gMTA7XG4gIHB1YmxpYyBTdG9vdHZvZWdNaW46IG51bWJlciA9IDY7XG4gIHB1YmxpYyBTdG9vdHZvZWdNYXg6IG51bWJlciA9IDE0O1xuXG4gIHB1YmxpYyBIaVJlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgbVNob3dNaXg6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgVGV4dHVyZVJlc3BvbnNlTW9kZWw6IFRleHR1cmVSZXNwb25zZU1vZGVsIHwgbnVsbCA9IG51bGw7XG4gIHB1YmxpYyBUZXh0dXJlTWl4UmVzcG9uc2VNb2RlbDogVGV4dHVyZU1peFJlc3BvbnNlTW9kZWwgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgU3RlZW4yOiBGYWJyaWthbnRlbkZpbHRlck9wdGlvblZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgU3RlZW4zOiBGYWJyaWthbnRlbkZpbHRlck9wdGlvblZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgU3RlZW40OiBGYWJyaWthbnRlbkZpbHRlck9wdGlvblZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xuICBwdWJsaWMgU3RlZW41OiBGYWJyaWthbnRlbkZpbHRlck9wdGlvblZpZXdNb2RlbCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBNb2JpbGVTZXJ2aWNlOiBNb2JpbGVTZXJ2aWNlLFxuICAgIHB1YmxpYyBGYWJyaWthbnRlblNlcnZpY2U6IEZhYnJpa2FudGVuU2VydmljZSxcbiAgICBwdWJsaWMgVHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIEFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBUZXh0dXJlQXBpQ2xpZW50OiBUZXh0dXJlQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHRoaXMuVHJhbnNsYXRlU2VydmljZS5Qcm9jZXNzUGFyYW1ldGVycyh0aGlzLkFjdGl2YXRlZFJvdXRlLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIHRoaXMuU2VsZWN0Rmlyc3RDaG9pY2VzKCk7XHJcbiAgICB0aGlzLkNsZWFuQ2hvaWNlcygpO1xyXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5Mb2FkRmFicmlrYW50ZW5WaWV3TW9kZWwodGhpcy5DaGFuZ2VEZXRlY3RvclJlZiwgdGhpcy5BY3RpdmF0ZWRSb3V0ZSk7XG4gIH1cblxuICBwdWJsaWMgU2VsZWN0Rmlyc3RDaG9pY2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLlNlbGVjdGVkVmVyYmFuZElkID09IC0xKSB7XG4gICAgICBpZiAodGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWw/LnByb2R1Y3RzICE9IHVuZGVmaW5lZCAmJiB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5wcm9kdWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5wcm9kdWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLnByb2R1Y3RzW2ldLmlkID09IDYyKSB7IC8vIGhhbGZzdGVlbnN2ZXJiYW5kXHJcbiAgICAgICAgICAgIHRoaXMuU2VsZWN0ZWRWZXJiYW5kSWQgPSB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5wcm9kdWN0c1tpXS5pZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLlNlbGVjdGVkVmVyYmFuZElkID09IC0xKSB7XHJcbiAgICAgICAgICB0aGlzLlNlbGVjdGVkVmVyYmFuZElkID0gdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwucHJvZHVjdHNbMF0uaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuU2VsZWN0ZWRWb2VnSWQgPT0gLTEpIHtcbiAgICAgIHZhciB2b2VnID0gdGhpcy5HZXRWb2VnKCk7XHJcblxyXG4gICAgICBpZiAodm9lZz8uZmlsdGVyPy5vcHRpb25zICE9IHVuZGVmaW5lZCAmJiB2b2VnLmZpbHRlci5vcHRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLlNlbGVjdGVkVm9lZ0lkID0gdm9lZy5maWx0ZXI/Lm9wdGlvbnNbMF0uaWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIENsZWFuQ2hvaWNlcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuSXNTdGVlblNlbGVjdGVkKCkpIHtcclxuICAgICAgdGhpcy5tU2hvd01peCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLlRleHR1cmVNaXhSZXNwb25zZU1vZGVsID0gbnVsbDtcclxuICAgICAgdGhpcy5UZXh0dXJlUmVzcG9uc2VNb2RlbCA9IG51bGw7XHJcbiAgICAgIHRoaXMuU3RlZW4yID0gbnVsbDtcclxuICAgICAgdGhpcy5TdGVlbjMgPSBudWxsO1xyXG4gICAgICB0aGlzLlN0ZWVuNCA9IG51bGw7XHJcbiAgICAgIHRoaXMuU3RlZW41ID0gbnVsbDtcclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIFRleHR1dXJHZW5lcmVyZW4oKTogdm9pZCB7XG4gICAgdGhpcy5tU2hvd01peCA9IGZhbHNlO1xuICAgIHZhciBzdGVlbmlkID0gdGhpcy5HZXRTdGVlbigpPy5maWx0ZXI/LnNlbGVjdGVkT3B0aW9uO1xuICAgIGlmIChzdGVlbmlkICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IFRleHR1cmVSZXF1ZXN0TW9kZWwoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QudmVyYmFuZElkID0gdGhpcy5TZWxlY3RlZFZlcmJhbmRJZDtcclxuICAgICAgcmVxdWVzdC5zdGVlbklkID0gc3RlZW5pZDtcclxuICAgICAgcmVxdWVzdC52b2VnSWQgPSB0aGlzLlNlbGVjdGVkVm9lZ0lkO1xyXG4gICAgICByZXF1ZXN0LmhpZ2hSZXNvbHV0aW9uID0gdGhpcy5IaVJlcztcclxuXHJcbiAgICAgIGlmICh0aGlzLlN0ZWVuMiA9PSBudWxsKSB7XHJcbiAgICAgICAgcmVxdWVzdC5zdGVlbjJJZCA9IC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJlcXVlc3Quc3RlZW4ySWQgPSB0aGlzLlN0ZWVuMi5pZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuU3RlZW4zID09IG51bGwpIHtcclxuICAgICAgICByZXF1ZXN0LnN0ZWVuM0lkID0gLTE7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgcmVxdWVzdC5zdGVlbjNJZCA9IHRoaXMuU3RlZW4zLmlkO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5TdGVlbjQgPT0gbnVsbCkge1xyXG4gICAgICAgIHJlcXVlc3Quc3RlZW40SWQgPSAtMTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXF1ZXN0LnN0ZWVuNElkID0gdGhpcy5TdGVlbjQuaWQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLlN0ZWVuNSA9PSBudWxsKSB7XHJcbiAgICAgICAgcmVxdWVzdC5zdGVlbjVJZCA9IC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJlcXVlc3Quc3RlZW41SWQgPSB0aGlzLlN0ZWVuNS5pZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuU3Rvb3R2b2VnIDwgdGhpcy5TdG9vdHZvZWdNaW4pIHtcclxuICAgICAgICB0aGlzLlN0b290dm9lZyA9IHRoaXMuU3Rvb3R2b2VnTWluO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy5TdG9vdHZvZWcgPiB0aGlzLlN0b290dm9lZ01heCkge1xyXG4gICAgICAgIHRoaXMuU3Rvb3R2b2VnID0gdGhpcy5TdG9vdHZvZWdNYXg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHJlcXVlc3QuYnJlZWR0ZVN0b290dm9lZyA9IHRoaXMuU3Rvb3R2b2VnO1xyXG5cclxuICAgICAgaWYgKHRoaXMuTGludHZvZWcgPCB0aGlzLkxpbnR2b2VnTWluKSB7XHJcbiAgICAgICAgdGhpcy5MaW50dm9lZyA9IHRoaXMuTGludHZvZWdNaW47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLkxpbnR2b2VnID4gdGhpcy5MaW50dm9lZ01heCkge1xyXG4gICAgICAgIHRoaXMuTGludHZvZWcgPSB0aGlzLkxpbnR2b2VnTWF4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXF1ZXN0Lmhvb2d0ZUxpbnR2b2VnID0gdGhpcy5MaW50dm9lZztcclxuXHJcbiAgICAgIHRoaXMuVGV4dHVyZUFwaUNsaWVudC5nZXRUZXh0dXJlKHJlcXVlc3QpLnN1YnNjcmliZSgobW9kZWw6IFRleHR1cmVSZXNwb25zZU1vZGVsKSA9PiB7XHJcbiAgICAgICAgdGhpcy5UZXh0dXJlUmVzcG9uc2VNb2RlbCA9IG1vZGVsO1xyXG4gICAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgT3Blbk1peCgpOiB2b2lkIHtcbiAgICB2YXIgc3RlZW5pZCA9IHRoaXMuR2V0U3RlZW4oKT8uZmlsdGVyPy5zZWxlY3RlZE9wdGlvbjtcbiAgICBpZiAoc3RlZW5pZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBUZXh0dXJlTWl4UmVxdWVzdE1vZGVsKCk7XHJcblxyXG4gICAgICByZXF1ZXN0LnN0ZWVuSWQgPSBzdGVlbmlkO1xyXG5cclxuICAgICAgdGhpcy5UZXh0dXJlQXBpQ2xpZW50LmdldFRleHR1cmVNaXgocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogVGV4dHVyZU1peFJlc3BvbnNlTW9kZWwpID0+IHtcclxuICAgICAgICB0aGlzLlRleHR1cmVNaXhSZXNwb25zZU1vZGVsID0gbW9kZWw7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5tU2hvd01peCA9IHRydWU7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBTbHVpdE1peCgpOiB2b2lkIHtcbiAgICB0aGlzLlJlc2V0TWl4KCk7XG4gICAgdGhpcy5tU2hvd01peCA9IGZhbHNlO1xyXG4gIH1cblxuICBwdWJsaWMgUmVzZXRNaXgoKTogdm9pZCB7XG4gICAgdGhpcy5TdGVlbjIgPSBudWxsO1xyXG4gICAgdGhpcy5TdGVlbjMgPSBudWxsO1xyXG4gICAgdGhpcy5TdGVlbjQgPSBudWxsO1xyXG4gICAgdGhpcy5TdGVlbjUgPSBudWxsO1xyXG4gIH1cblxuICBwdWJsaWMgU2VsZWN0U3RlZW4oc3RlZW46IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsKSB7XG4gICAgdmFyIHByb2Nlc3NlZCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuU3RlZW4yPy5pZCA9PSBzdGVlbi5pZCkge1xyXG4gICAgICB0aGlzLlN0ZWVuMiA9IG51bGw7XHJcbiAgICAgIHByb2Nlc3NlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuU3RlZW4zPy5pZCA9PSBzdGVlbi5pZCkge1xyXG4gICAgICB0aGlzLlN0ZWVuMiA9IG51bGw7XHJcbiAgICAgIHByb2Nlc3NlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuU3RlZW40Py5pZCA9PSBzdGVlbi5pZCkge1xyXG4gICAgICB0aGlzLlN0ZWVuNCA9IG51bGw7XHJcbiAgICAgIHByb2Nlc3NlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuU3RlZW41Py5pZCA9PSBzdGVlbi5pZCkge1xyXG4gICAgICB0aGlzLlN0ZWVuNSA9IG51bGw7XHJcbiAgICAgIHByb2Nlc3NlZCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuU3RlZW4zICE9IG51bGwgJiYgdGhpcy5TdGVlbjIgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLlN0ZWVuMiA9IHRoaXMuU3RlZW4zO1xyXG4gICAgICB0aGlzLlN0ZWVuMyA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuU3RlZW40ICE9IG51bGwgJiYgdGhpcy5TdGVlbjMgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLlN0ZWVuMyA9IHRoaXMuU3RlZW40O1xyXG4gICAgICB0aGlzLlN0ZWVuNCA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuU3RlZW41ICE9IG51bGwgJiYgdGhpcy5TdGVlbjQgPT0gbnVsbCkge1xyXG4gICAgICB0aGlzLlN0ZWVuNCA9IHRoaXMuU3RlZW41O1xyXG4gICAgICB0aGlzLlN0ZWVuNSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFwcm9jZXNzZWQpIHtcclxuICAgICAgaWYgKHRoaXMuU3RlZW4yID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLlN0ZWVuMiA9IHN0ZWVuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuU3RlZW4zID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLlN0ZWVuMyA9IHN0ZWVuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuU3RlZW40ID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLlN0ZWVuNCA9IHN0ZWVuO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHRoaXMuU3RlZW41ID09IG51bGwpIHtcclxuICAgICAgICB0aGlzLlN0ZWVuNSA9IHN0ZWVuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBPcGVuUGhvdG8odXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihGYWJEaXNwbGF5UGhvdG9EaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIHVybDogdXJsXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgU2hvd1RleHR1cmUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubVNob3dNaXgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cblxuICAgIGlmICh0aGlzLlRleHR1cmVSZXNwb25zZU1vZGVsICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cblxuICBwdWJsaWMgU2hvd01peCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuSXNTdGVlblNlbGVjdGVkKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cblxuICAgIGlmICh0aGlzLlRleHR1cmVNaXhSZXNwb25zZU1vZGVsID09IG51bGwpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cblxuICAgIGlmICh0aGlzLm1TaG93TWl4KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XG5cbiAgcHVibGljIElzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5Mb2FkaW5nKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5Mb2FkaW5nKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XG5cbiAgcHVibGljIElzU3RlZW5TZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICB2YXIgc3RlZW4gPSB0aGlzLkdldFN0ZWVuKCk7XG5cbiAgICBpZiAoc3RlZW4/LmZpbGxlZCA9PSB0cnVlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XG5cbiAgcHVibGljIElzU2VsZWN0ZWQoc3RlZW46IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsKTogYm9vbGVhbiB7XG5cbiAgICB2YXIgc3RlZW5maWx0ZXIgPSB0aGlzLkdldFN0ZWVuKCk7XG5cbiAgICBpZiAoc3RlZW5maWx0ZXI/LmZpbGxlZCA9PSB0cnVlKSB7XG4gICAgICBpZiAoc3RlZW5maWx0ZXIuZmlsdGVyPy5zZWxlY3RlZE9wdGlvbiA9PSBzdGVlbi5pZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XG5cbiAgICBpZiAodGhpcy5TdGVlbjI/LmlkID09IHN0ZWVuLmlkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIGlmICh0aGlzLlN0ZWVuMz8uaWQgPT0gc3RlZW4uaWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuU3RlZW40Py5pZCA9PSBzdGVlbi5pZCkge1xuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XG5cbiAgICBpZiAodGhpcy5TdGVlbjU/LmlkID09IHN0ZWVuLmlkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XG5cbiAgcHVibGljIElzRGlzYWJsZWQoc3RlZW46IEZhYnJpa2FudGVuRmlsdGVyT3B0aW9uVmlld01vZGVsKTogYm9vbGVhbiB7XG5cbiAgICB2YXIgc3RlZW5maWx0ZXIgPSB0aGlzLkdldFN0ZWVuKCk7XG5cbiAgICBpZiAoc3RlZW5maWx0ZXI/LmZpbGxlZCA9PSB0cnVlKSB7XG4gICAgICBpZiAoc3RlZW5maWx0ZXIuZmlsdGVyPy5zZWxlY3RlZE9wdGlvbiA9PSBzdGVlbi5pZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XG5cbiAgICBpZiAodGhpcy5TdGVlbjIgIT0gbnVsbCAmJiB0aGlzLlN0ZWVuMyAhPSBudWxsICYmIHRoaXMuU3RlZW40ICE9IG51bGwgJiYgdGhpcy5TdGVlbjUgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5TdGVlbjI/LmlkICE9IHN0ZWVuLmlkICYmIHRoaXMuU3RlZW4zPy5pZCAhPSBzdGVlbi5pZCAmJiB0aGlzLlN0ZWVuND8uaWQgIT0gc3RlZW4uaWQgJiYgdGhpcy5TdGVlbjU/LmlkICE9IHN0ZWVuLmlkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XG5cbiAgcHVibGljIEdldFBhdHJvb25Eb3dubG9hZFVSTCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblNldHRpbmdzVmlld01vZGVsLmJjYldlYnNlcnZpY2VVUkxCYXNlICsgXCJEb3dubG9hZC5hc3B4P2ZpbGU9XCIgKyB0aGlzLlRleHR1cmVSZXNwb25zZU1vZGVsPy5wYXRyb29uVVJMICsgXCImZG9lbD1cIiArIHRoaXMuR2V0QWN0aXZlU3RlZW4oKSArIFwiLnBuZ1wiO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0QnVtcERvd25sb2FkVVJMKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWwuYmNiV2Vic2VydmljZVVSTEJhc2UgKyBcIkRvd25sb2FkLmFzcHg/ZmlsZT1cIiArIHRoaXMuVGV4dHVyZVJlc3BvbnNlTW9kZWw/LmJ1bXBVUkwgKyBcIiZkb2VsPVwiICsgdGhpcy5HZXRBY3RpdmVTdGVlbigpICsgXCJfYnVtcC5wbmdcIjtcclxuICB9XG5cbiAgcHVibGljIEN1dE9mZkZvcm1hdChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhciBwb3NzdGFydCA9IG5hbWUuaW5kZXhPZignKCcpO1xuICAgIHZhciBwb3NlbmQgPSBuYW1lLmluZGV4T2YoJyknKTtcblxuICAgIHZhciBuZXduYW1lYWZ0ZXIgPSBuYW1lLnN1YnN0cmluZyhwb3NlbmQgKyAxKTtcbiAgICB2YXIgbmV3bmFtZSA9IG5hbWUuc3Vic3RyaW5nKDAsIHBvc3N0YXJ0KTtcblxuICAgIHJldHVybiBuZXduYW1lICsgbmV3bmFtZWFmdGVyO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0SW1hZ2VQYXRoKG9wdGlvbjogRmFicmlrYW50ZW5GaWx0ZXJPcHRpb25WaWV3TW9kZWwpOiBzdHJpbmcge1xuICAgIHZhciB2YWx1ZSA9IG9wdGlvbi5pbWFnZVBhdGggKyBcIlwiO1xyXG5cclxuICAgIGlmICh2YWx1ZS5pbmRleE9mKFwiI0JDQiNcIikgIT0gLTEpIHtcclxuICAgICAgdmFyIGJjYnVybCA9IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWwuYmNiV2Vic2VydmljZVVSTEJhc2UgKyBcIlwiO1xyXG4gICAgICBiY2J1cmwgPSBiY2J1cmwuc3Vic3RyaW5nKDAsIGJjYnVybC5sZW5ndGggLSAxKTtcclxuXHJcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShcIiNCQ0IjXCIsIGJjYnVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0SW1hZ2VQYXRoUHJvZHVjdChvcHRpb246IEZhYnJpa2FudGVuUHJvZHVjdFZpZXdNb2RlbCk6IHN0cmluZyB7XG4gICAgdmFyIHZhbHVlID0gb3B0aW9uLmltYWdlUGF0aCArIFwiXCI7XHJcblxyXG4gICAgaWYgKHZhbHVlLmluZGV4T2YoXCIjQkNCI1wiKSAhPSAtMSkge1xyXG4gICAgICB2YXIgYmNidXJsID0gdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5TZXR0aW5nc1ZpZXdNb2RlbC5iY2JXZWJzZXJ2aWNlVVJMQmFzZSArIFwiXCI7XHJcbiAgICAgIGJjYnVybCA9IGJjYnVybC5zdWJzdHJpbmcoMCwgYmNidXJsLmxlbmd0aCAtIDEpO1xyXG5cclxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKFwiI0JDQiNcIiwgYmNidXJsKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxuXG4gIHB1YmxpYyBHZXRTdGVlbigpOiBGYWJyaWthbnRlbklucHV0Vmlld01vZGVsIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsPy5pbnB1dHMgIT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLmlucHV0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5pbnB1dHNbaV0uZmlsdGVyPy5uYW1lID09IFwiU3RlZW4gMVwiKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuaW5wdXRzW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxuXG4gIHB1YmxpYyBHZXRBY3RpdmVTdGVlbigpOiBzdHJpbmcge1xuICAgIHZhciBzdGVlbiA9IHRoaXMuR2V0U3RlZW4oKTtcblxuICAgIGlmIChzdGVlbj8uZmlsdGVyPy5vcHRpb25zICE9IHVuZGVmaW5lZCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdGVlbi5maWx0ZXIub3B0aW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChzdGVlbi5maWx0ZXIub3B0aW9uc1tpXS5pZCA9PSBzdGVlbi5maWx0ZXIuc2VsZWN0ZWRPcHRpb24pIHtcclxuICAgICAgICAgIHJldHVybiBzdGVlbi5maWx0ZXIub3B0aW9uc1tpXS51cmxOYW1lICsgXCJcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cblxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0Vm9lZygpOiBGYWJyaWthbnRlbklucHV0Vmlld01vZGVsIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsPy5pbnB1dHMgIT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuRmFicmlrYW50ZW5TZXJ2aWNlLkZhYnJpa2FudGVuVmlld01vZGVsLmlucHV0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5pbnB1dHNbaV0uZmlsdGVyPy5uYW1lID09IFwiVm9lZ1wiKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWwuaW5wdXRzW2ldO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxuXG4gIHB1YmxpYyBHZXRWZXJiYW5kZW4oKTogRmFicmlrYW50ZW5Qcm9kdWN0Vmlld01vZGVsW10ge1xuICAgIGlmICh0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbD8ucHJvZHVjdHMgIT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5GYWJyaWthbnRlblNlcnZpY2UuRmFicmlrYW50ZW5WaWV3TW9kZWw/LnByb2R1Y3RzO1xyXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyBBcnJheTxGYWJyaWthbnRlblByb2R1Y3RWaWV3TW9kZWw+KCk7XHJcbiAgICB9XG5cclxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiSXNMb2FkaW5nKClcIiBjbGFzcz1cImxvYWRlclwiPlxyXG4gIDxtYXQtY2FyZCBjbGFzcz1cImxvYWRlci1jYXJkXCI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPVwibG9hZGVyLXNwaW5uZXJcIiBbZGlhbWV0ZXJdPVwiODBcIj48L21hdC1zcGlubmVyPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLXN1YnRpdGxlIGNsYXNzPVwibG9hZGVyLXN1YnRpdGxlXCIgKm5nSWY9XCIhRmFicmlrYW50ZW5TZXJ2aWNlLklzU3RhcnRpbmdEb3dubG9hZCgpXCI+XHJcbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuUHJvZHVjdHNMb2FkaW5nKSB9fVxyXG4gICAgPC9tYXQtY2FyZC1zdWJ0aXRsZT5cclxuICA8L21hdC1jYXJkPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhSXNMb2FkaW5nKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2VudGVyLWJsb2NrXCI+XHJcbiAgICA8ZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RlZW4tc2VsZWN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkdldFN0ZWVuKCkgIT0gbnVsbFwiPlxyXG4gICAgICAgICAgPGFwcC1mYWItaW5wdXQgW2lucHV0XT1cIkdldFN0ZWVuKClcIj48L2FwcC1mYWItaW5wdXQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cIklzU3RlZW5TZWxlY3RlZCgpXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIlN0ZWVuMiAhPSBudWxsXCIgY2xhc3M9XCJzdGVlbi1kaXZcIj5cclxuICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5GaWx0ZXJPcHRpb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgU3RlZW4yLmlkKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiU3RlZW4zICE9IG51bGxcIiBjbGFzcz1cInN0ZWVuLWRpdlwiPlxyXG4gICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZpbHRlck9wdGlvbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5OYW1lLCBTdGVlbjMuaWQpIH19XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJTdGVlbjQgIT0gbnVsbFwiIGNsYXNzPVwic3RlZW4tZGl2XCI+XHJcbiAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRmlsdGVyT3B0aW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk5hbWUsIFN0ZWVuNC5pZCkgfX1cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIlN0ZWVuNSAhPSBudWxsXCIgY2xhc3M9XCJzdGVlbi1kaXZcIj5cclxuICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5GaWx0ZXJPcHRpb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgU3RlZW41LmlkKSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb21wb25lbnQtYmxvY2sgZmlyc3Qtcm93XCI+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbHdpZHRoXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cInNlbGVjdC1tYXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuVmVyYmFuZCkgfX1cclxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIlNlbGVjdGVkVmVyYmFuZElkXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2ZXJiYW5kIG9mIEdldFZlcmJhbmRlbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ2ZXJiYW5kLmlkXCIgY2xhc3M9XCJzZWxlY3QtbWF0LW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2ZXJiYW5kLmltYWdlUGF0aCAhPSBudWxsICYmIHZlcmJhbmQuaW1hZ2VQYXRoICE9ICcnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1pbWFnZS1taW5pLWRpdlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cInt7IEdldEltYWdlUGF0aFByb2R1Y3QodmVyYmFuZCkgfX1cIiBjbGFzcz1cImZpbHRlci1vcHRpb24taW1hZ2VcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LlByb2R1Y3QsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTmFtZSwgdmVyYmFuZC5pZCkgfX1cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29tcG9uZW50LWJsb2NrXCI+XHJcbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwic21hbGwtaW5wdXRcIj5cclxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5MaW50dm9lZykgfX1cclxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIG1pbj1cInt7IExpbnR2b2VnTWluIH19XCIgbWF4PVwie3sgTGludHZvZWdNYXggfX1cIiBbKG5nTW9kZWwpXT1cIkxpbnR2b2VnXCI+XHJcbiAgICAgICAgICAgICAgPCEtLTxtYXQtZXJyb3I+ZXJyb3I8L21hdC1lcnJvcj4tLT5cclxuICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBvbmVudC1ibG9jayBmaXJzdC1yb3dcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkdldFZvZWcoKSAhPSBudWxsXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsd2lkdGhcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJzZWxlY3QtbWF0LWxhYmVsXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuVm9lZykgfX1cclxuICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJTZWxlY3RlZFZvZWdJZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2b2VnIG9mIEdldFZvZWcoKS5maWx0ZXIub3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ2b2VnLmlkXCIgY2xhc3M9XCJzZWxlY3QtbWF0LW9wdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZvZWcuaW1hZ2VQYXRoICE9IG51bGwgJiYgdm9lZy5pbWFnZVBhdGggIT0gJydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1vcHRpb24taW1hZ2UtbWluaS1kaXZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cInt7IEdldEltYWdlUGF0aCh2b2VnKSB9fVwiIGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1pbWFnZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRmlsdGVyT3B0aW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk5hbWUsIHZvZWcuaWQpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbXBvbmVudC1ibG9ja1wiPlxyXG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cInNtYWxsLWlucHV0XCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuU3Rvb3R2b2VnKSB9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwie3sgU3Rvb3R2b2VnTWluIH19XCIgbWF4PVwie3sgU3Rvb3R2b2VnTWF4IH19XCIgWyhuZ01vZGVsKV09XCJTdG9vdHZvZWdcIj5cclxuICAgICAgICAgICAgICA8IS0tPG1hdC1lcnJvcj5lcnJvcjwvbWF0LWVycm9yPi0tPlxyXG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoaWdoLXJlcy1jaGVja2JveC1kaXZcIj5cclxuICAgICAgICAgIDxtYXQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJIaVJlc1wiIGNsYXNzPVwiaGlnaC1yZXMtY2hlY2tib3hcIj5cclxuICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5Ib2dlUmVzb2x1dGllKSB9fVxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b25yb3dcIj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlRleHR1dXJHZW5lcmVyZW4oKVwiIGNsYXNzPVwibGlua1wiPlxyXG4gICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlRleHR1dXJHZW5lcmVyZW4pIH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4YXV0b1wiPjwvZGl2PlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiT3Blbk1peCgpXCIgKm5nSWY9XCIhU2hvd01peCgpXCIgY2xhc3M9XCJsaW5rXCI+XHJcbiAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuTWl4KSB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2hvd01peCgpXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlNsdWl0TWl4KClcIiBjbGFzcz1cImxpbmtcIj5cclxuICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNsb3NlKSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVzZXRNaXgoKVwiIGNsYXNzPVwibGlua1wiPlxyXG4gICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuUmVzZXRGaWx0ZXJzKSB9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJTaG93VGV4dHVyZSgpXCIgY2xhc3M9XCJtYWluLXdpbmRvdyBmbGV4LWNvbFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Utcm93XCI+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxhIGhyZWY9XCJ7eyBUZXh0dXJlUmVzcG9uc2VNb2RlbC5wYXRyb29uVVJMIH19XCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltYWdlIGltYWdlLXBhdHJvb25cIiBzcmM9XCJ7eyBUZXh0dXJlUmVzcG9uc2VNb2RlbC5wYXRyb29uVVJMIH19XCIgLz5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8YSBocmVmPVwie3sgR2V0UGF0cm9vbkRvd25sb2FkVVJMKCkgfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkVGV4dHVyZSkgfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICA8YSBocmVmPVwie3sgR2V0QnVtcERvd25sb2FkVVJMKCkgfX1cIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkRvd25sb2FkQnVtcCkgfX1cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIlNob3dNaXgoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWFpbi13aW5kb3cgZmxleC1jb2xcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgVGV4dHVyZU1peFJlc3BvbnNlTW9kZWwuc3RvbmVzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLW9wdGlvbi1kaXYtbWl4XCIgW25nQ2xhc3NdPVwieydib3JkZXItc2VsZWN0ZWQnOiBJc1NlbGVjdGVkKG9wdGlvbil9XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb24uaW1hZ2VQYXRoICE9IG51bGwgJiYgb3B0aW9uLmltYWdlUGF0aCAhPSAnJ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItb3B0aW9uLWltYWdlLWRpdi1taXhcIiBtYXRUb29sdGlwPVwie3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkNvbW1vbiwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5ab29tSW4pIH19XCIgKGNsaWNrKT1cIk9wZW5QaG90byhHZXRJbWFnZVBhdGgob3B0aW9uKSlcIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwie3sgR2V0SW1hZ2VQYXRoKG9wdGlvbikgfX1cIiBjbGFzcz1cImZpbHRlci1vcHRpb24taW1hZ2VcIiAvPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImZpbHRlci1vcHRpb24taW1hZ2Utem9vbS1pblwiIC8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIG1hdFRvb2x0aXA9XCJ7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlNlbGVjdCkgfX1cIiAoY2xpY2spPVwiU2VsZWN0U3RlZW4ob3B0aW9uKVwiIGNsYXNzPVwiZmFiLXBpY3R1cmUtc2VsZWN0LWJ1dHRvblwiIFtkaXNhYmxlZF09XCJJc0Rpc2FibGVkKG9wdGlvbilcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUtc3BhblwiPnt7IEN1dE9mZkZvcm1hdChUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRmlsdGVyT3B0aW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5Lk5hbWUsIG9wdGlvbi5pZCkpIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -188,7 +188,7 @@ const routes = [
|
|
|
188
188
|
{ path: ':language/product/:product/:filter1', component: FabProductComponent },
|
|
189
189
|
{ path: ':language/product/:product', component: FabProductComponent },
|
|
190
190
|
{ path: ':language/texture', component: FabTextureConfiguratorComponent },
|
|
191
|
-
{ path: ':language/texture/:
|
|
191
|
+
{ path: ':language/texture/:stone', component: FabTextureConfiguratorComponent },
|
|
192
192
|
{ path: ':language/:category/:filter1/:filter2/:filter3/:filter4', component: FabProductSelectComponent },
|
|
193
193
|
{ path: ':language/:category/:filter1/:filter2/:filter3', component: FabProductSelectComponent },
|
|
194
194
|
{ path: ':language/:category/:filter1/:filter2', component: FabProductSelectComponent },
|
|
@@ -598,4 +598,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
598
598
|
]
|
|
599
599
|
}]
|
|
600
600
|
}] });
|
|
601
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmlrYW50ZW5jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvZmFicmlrYW50ZW5jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELFNBQVM7QUFDVCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsb0JBQW9C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QUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixhQUFhO3dCQUNiLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDeEU7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgUHJvamVjdFNldHRpbmdBcGlDbGllbnQsXHJcbiAgU2VjdXJpdHlBcGlDbGllbnQsXHJcbiAgRG9jdW1lbnRBcGlDbGllbnQsXHJcbiAgU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQsXHJcbiAgUHJvZHVjdHNBcGlDbGllbnQsXHJcbiAgSW1wb3J0QXBpQ2xpZW50LFxyXG4gIEZhYnJpa2FudGVuQXBpQ2xpZW50LFxyXG4gIFRleHR1cmVBcGlDbGllbnQsXHJcbiAgU3RhdHNBcGlDbGllbnQsXHJcbiAgQ29uZmlndXJhdG9yQXBpQ2xpZW50LFxyXG4gIEZvcm1BcGlDbGllbnQsXHJcbiAgRUJPS29wcGVsQXBpQ2xpZW50LFxyXG4gIENhdGVnb3JpZXNBcGlDbGllbnQsXHJcbiAgVHJhbnNsYXRlQXBpQ2xpZW50XHJcbn0gZnJvbSAnLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cclxuLy8gQXV0aCBjb21wb25lbnRzXHJcbmltcG9ydCB7IEJhc2ljQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnLi9oZWxwZXJzL2Jhc2ljLWF1dGguaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBFcnJvckludGVyY2VwdG9yIH0gZnJvbSAnLi9oZWxwZXJzL2Vycm9yLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9oZWxwZXJzL2F1dGguZ3VhcmQnO1xyXG5cclxuLy8gQmVoZWVyXHJcbmltcG9ydCB7IEJlaGVlck1haW5Db21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1tYWluL2JlaGVlci1tYWluLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlcklubG9nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW5sb2cvYmVoZWVyLWlubG9nLmNvbXBvbmVudCc7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2V0dGluZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Byb2plY3RzZXR0aW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXRzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW1wb3J0c2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGhvdG9TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9waG90by5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVzdGVrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmVzdGVrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2JpbGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tb2JpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0YXRpc3RpY3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdGF0aXN0aWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCY2JQcm9kdWN0SW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9iY2Jwcm9kdWN0aW5zdGFuY2Uuc2VydmljZSc7XHJcblxyXG4vLyBNYXRlcmlhbFxyXG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRvb2x0aXBNb2R1bGUgYXMgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10b29sdGlwJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5SW5wdXRNb2R1bGUgYXMgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lCdXR0b25Nb2R1bGUgYXMgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUxpc3RNb2R1bGUgYXMgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1saXN0JztcclxuaW1wb3J0IHsgTWF0TGVnYWN5U2VsZWN0TW9kdWxlIGFzIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lDYXJkTW9kdWxlIGFzIE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY2FyZCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRhYmxlTW9kdWxlIGFzIE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXRhYmxlJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIGFzIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5U25hY2tCYXJNb2R1bGUgYXMgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5Q2hlY2tib3hNb2R1bGUgYXMgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dNb2R1bGUgYXMgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRhYnNNb2R1bGUgYXMgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10YWJzJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0U3RlcHBlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXInO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lSYWRpb01vZHVsZSBhcyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1yYWRpbyc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVBhZ2luYXRvck1vZHVsZSBhcyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcGFnaW5hdG9yJztcclxuXHJcbi8vXHJcbmltcG9ydCB7IEJlaGVlck5hdkNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLW5hdi9iZWhlZXItbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclVzZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItdXNlcnMvYmVoZWVyLXVzZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlckZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXJzL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2V0dGluZ3MvYmVoZWVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItbG9hZGVyL2ZhYi1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VhcmNoUHJvZHVjdHNDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy9iZWhlZXItc2VhcmNocHJvZHVjdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VhcmNocHJvZHVjdHNLb3BwZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy9iZWhlZXItc2VhcmNocHJvZHVjdHMta29wcGVsLWRpYWxvZy9iZWhlZXItc2VhcmNocHJvZHVjdHMta29wcGVsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c1Byb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtcHJvZHVjdC9iZWhlZXItcHJvZHVjdHMtcHJvZHVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0JjYnByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdC9iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJJbXBvcnRTZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW1wb3J0LXNldHMvYmVoZWVyLWltcG9ydC1zZXRzLmNvbXBvbmVudCc7XHJcbi8qaW1wb3J0IHsgIH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW1wb3J0LXNldHMvYmVoZWVyLWltcG9ydC1zZXRzLW9wYm91dy9iZWhlZXItaW1wb3J0LXNldHMtb3Bib3V3LmNvbXBvbmVudCc7Ki9cclxuaW1wb3J0IHsgQmVoZWVySW1wb3J0U2V0c0VpZ2Vuc2NoYXBDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1pbXBvcnQtc2V0cy9iZWhlZXItaW1wb3J0LXNldHMtZWlnZW5zY2hhcC9iZWhlZXItaW1wb3J0LXNldHMtZWlnZW5zY2hhcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJJbXBvcnRTZXRzRWJvQ29tcG9uZW50LCBCZWhlZXJJbXBvcnRTZXRzT3Bib3V3Q29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW1wb3J0LXNldHMvYmVoZWVyLWltcG9ydC1zZXRzLWViby9iZWhlZXItaW1wb3J0LXNldHMtZWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzRWlnZW5zY2hhcENvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci9mYWItZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiQmNiUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItYmNiLXByb2R1Y3QvZmFiLWJjYi1wcm9kdWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3Qtc2VsZWN0L2ZhYi1wcm9kdWN0LXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJQcm9kdWN0VGlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItcHJvZHVjdC10aWxlL2ZhYi1wcm9kdWN0LXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiUHJvZHVjdEluZm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtaW5mby9mYWItcHJvZHVjdC1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RCZXN0ZWtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtYmVzdGVrL2ZhYi1wcm9kdWN0LWJlc3Rlay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJQcm9kdWN0SW5mb1Bob3RvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1wcm9kdWN0L2ZhYi1wcm9kdWN0LWluZm8vZmFiLXByb2R1Y3QtaW5mby1waG90by9mYWItcHJvZHVjdC1pbmZvLXBob3RvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RJbmZvUGhvdG9EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtaW5mby9mYWItcHJvZHVjdC1pbmZvLXBob3RvLWRpYWxvZy9mYWItcHJvZHVjdC1pbmZvLXBob3RvLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJFYm9Lb3BwZWxDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNldHRpbmdzT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXNldHRpbmdzL2JlaGVlci1zZXR0aW5ncy1vcHRpb25zL2JlaGVlci1zZXR0aW5ncy1vcHRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNldHRpbmdzU3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2V0dGluZ3MvYmVoZWVyLXNldHRpbmdzLXN0cmluZy9iZWhlZXItc2V0dGluZ3Mtc3RyaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlckltcG9ydFNldHNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1pbXBvcnQtc2V0cy9iZWhlZXItaW1wb3J0LXNldHMtZGlhbG9nL2JlaGVlci1pbXBvcnQtc2V0cy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyQ2F0ZWdvcmllc0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWNhdGVnb3JpZXMvYmVoZWVyLWNhdGVnb3JpZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyQ29ubmVjdENhdGVnb3J5RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cvYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlN0YXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1zdGFydC9mYWItc3RhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiQ2F0ZWdvcmllc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY2F0ZWdvcmllcy9mYWItY2F0ZWdvcmllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJDYXRlZ29yeVRpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWNhdGVnb3J5LXRpbGUvZmFiLWNhdGVnb3J5LXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItYnJlYWRjcnVtYi9mYWItYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWZpbHRlcnMtaW5wdXQvZmFiLWZpbHRlcnMtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiRmlsdGVyc092ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1maWx0ZXJzLW92ZXJ2aWV3L2ZhYi1maWx0ZXJzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkZsYWdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWZsYWcvZmFiLWZsYWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyVHJhbnNsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItdHJhbnNsYXRlL2JlaGVlci10cmFuc2xhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiTGFuZ3VhZ2VTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWxhbmd1YWdlLXNlbGVjdC9mYWItbGFuZ3VhZ2Utc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFiSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1oZWFkZXIvZmFiLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWJXZWJnbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItd2ViZ2wtdmlld2VyL2ZhYi13ZWJnbC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2ViR0xTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy93ZWJnbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU1ZHU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc3ZnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWJTdmdWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXN2Zy12aWV3ZXIvZmFiLXN2Zy12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNFYm9Db21wb25lbnQsIEJlaGVlclByb2R1Y3RzT3Bib3V3Q29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzRWlnZW5zY2hhcEJlcmVpa0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpay9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyRGlzcGxheUVib0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWRpc3BsYXktZWJvL2JlaGVlci1kaXNwbGF5LWViby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0Nvbm5lY3RSYW5nZWlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlJhbmdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXJhbmdlLWlucHV0L2ZhYi1yYW5nZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZXR0aW5nc0Jvb2xlYW5Db21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZXR0aW5ncy9iZWhlZXItc2V0dGluZ3MtYm9vbGVhbi9iZWhlZXItc2V0dGluZ3MtYm9vbGVhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiVGV4dHVyZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItdGV4dHVyZS9mYWItdGV4dHVyZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0dXJlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGV4dHVyZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFiSWZyYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1pZnJhbWUvZmFiLWlmcmFtZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJEZWVwbGlua0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWRlZXBsaW5rL2JlaGVlci1kZWVwbGluay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJDb2xvdXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItY29sb3VyL2ZhYi1maWx0ZXItY29sb3VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkZpbHRlckNvbG91ckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1jb2xvdXIvZmFiLWZpbHRlci1jb2xvdXItZGlhbG9nL2ZhYi1maWx0ZXItY29sb3VyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJUb2ViZWhvcmVuQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1wcm9kdWN0L2ZhYi10b2ViZWhvcmVuL2ZhYi10b2ViZWhvcmVuLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkFjdGlvbm1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWFjdGlvbm1lbnUvZmFiLWFjdGlvbm1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9lYmVob3JlblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RvZWJlaG9yZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEZhYlNlbGVjdEJjYnByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXNlbGVjdC1iY2Jwcm9kdWN0L2ZhYi1zZWxlY3QtYmNicHJvZHVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJDYXRlZ29yeU5hdmlnYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY2F0ZWdvcnktbmF2aWdhdG9yL2ZhYi1jYXRlZ29yeS1uYXZpZ2F0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1pbnB1dC9mYWItaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYk11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1tdWx0aXNlbGVjdC9mYWItbXVsdGlzZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiRmlsdGVyRm9sZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1mb2xkL2ZhYi1maWx0ZXItZm9sZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJNdWx0aXNlbGVjdEZvbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLW11bHRpc2VsZWN0LWZvbGQvZmFiLW11bHRpc2VsZWN0LWZvbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiUmFuZ2VJbnB1dEZvbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXJhbmdlLWlucHV0LWZvbGQvZmFiLXJhbmdlLWlucHV0LWZvbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiRmlsdGVyTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItbGFiZWwvZmFiLWZpbHRlci1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJDb2xvdXJMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1jb2xvdXItbGFiZWwvZmFiLWZpbHRlci1jb2xvdXItbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZmlsdGVyL2JlaGVlci1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUmFuZ2VpbnB1dENvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXJhbmdlaW5wdXQvYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvck1vZHVsZSB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xuaW1wb3J0IHsgRmFiRmlsdGVyRGlzcGxheVZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLWRpc3BsYXktdmFsdWUvZmFiLWZpbHRlci1kaXNwbGF5LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJDdXN0b21Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItY3VzdG9tL2ZhYi1maWx0ZXItY3VzdG9tLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGVtcGxhdGUtY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmFiRmlsdGVyQ3VzdG9tQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1jdXN0b20tYmFzZS9mYWItZmlsdGVyLWN1c3RvbS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY2hlY2tib3gvZmFiLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJJbnB1dENvZGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWlucHV0LWNvZGUvZmFiLWlucHV0LWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWZvcm0tZGlhbG9nL2ZhYi1mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiRG93bmxvYWRaaXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWRvd25sb2FkLXppcC9mYWItZG93bmxvYWQtemlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJQaWN0dXJlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLXBpY3R1cmUtc2VsZWN0L2ZhYi1maWx0ZXItcGljdHVyZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkRpc3BsYXlQaG90b0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItZGlzcGxheS1waG90by1kaWFsb2cvZmFiLWRpc3BsYXktcGhvdG8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItYXV0b2NvbXBsZXRlL2ZhYi1maWx0ZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJBdXRvY29tcGxldGVGb2xkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLWF1dG9jb21wbGV0ZS1mb2xkL2ZhYi1maWx0ZXItYXV0b2NvbXBsZXRlLWZvbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkFjdGlvbm1lbnVSZXZpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItYWN0aW9ubWVudS9mYWItYWN0aW9ubWVudS1yZXZpdC1kaWFsb2cvZmFiLWFjdGlvbm1lbnUtcmV2aXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJQcm9kdWN0QXV0b1NwZWNpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtYXV0by1zcGVjaWZpY2F0aW9uL2ZhYi1wcm9kdWN0LWF1dG8tc3BlY2lmaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiQ29va2llc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY29va2llcy1kaWFsb2cvZmFiLWNvb2tpZXMtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJDYXRlZ29yeUxpc3RpdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1jYXRlZ29yeS1saXN0aXRlbS9mYWItY2F0ZWdvcnktbGlzdGl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEJlaGVlckNvbmZpZ3VyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWNvbmZpZ3VyYXRvci9iZWhlZXItY29uZmlndXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhlZXJCY2JJbnN0YW5jZUNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWJjYi1pbnN0YW5jZS9iZWhlZXItYmNiLWluc3RhbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhlZXJIYW5nZmlyZUNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWhhbmdmaXJlL2JlaGVlci1oYW5nZmlyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVoZWVyUHJvamVjdENvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2plY3QvYmVoZWVyLXByb2plY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2FmZWh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlaHRtbC5waXBlJztcbmltcG9ydCB7IEZhYlBvcHVwVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItcG9wdXAtdGV4dC9mYWItcG9wdXAtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi11cGxvYWQvZmFiLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVoZWVyVXBsb2Fkc0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXVwbG9hZHMvYmVoZWVyLXVwbG9hZHMuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkZpbHRlclBpY3R1cmVTZWxlY3RQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1waWN0dXJlLXNlbGVjdC1wb3B1cC9mYWItZmlsdGVyLXBpY3R1cmUtc2VsZWN0LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJQaWN0dXJlU2VsZWN0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLXBpY3R1cmUtc2VsZWN0LXBvcHVwL2ZhYi1maWx0ZXItcGljdHVyZS1zZWxlY3QtZGlhbG9nL2ZhYi1maWx0ZXItcGljdHVyZS1zZWxlY3QtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhlZXJEb2N1bWVudHNDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1kb2N1bWVudHMvYmVoZWVyLWRvY3VtZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiVGV4dHVyZUNvbmZpZ3VyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItdGV4dHVyZS1jb25maWd1cmF0b3IvZmFiLXRleHR1cmUtY29uZmlndXJhdG9yLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnYmVoZWVyJywgY2hpbGRyZW46IFtcclxuICAgICAgeyBwYXRoOiAnaW5sb2dnZW4nLCBjb21wb25lbnQ6IEJlaGVlcklubG9nQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnSW5sb2dnZW4nIH0gfSxcclxuICAgICAgeyBwYXRoOiAnb3ZlcnZpZXcnLCBjb21wb25lbnQ6IEJlaGVlck1haW5Db21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdPdmVydmlldycgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ3Byb2R1Y3RzJywgY29tcG9uZW50OiBCZWhlZXJQcm9kdWN0c0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ1Byb2R1Y3RzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnaW1wb3J0c2V0cycsIGNvbXBvbmVudDogQmVoZWVySW1wb3J0U2V0c0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ0ltcG9ydHNldCcgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ2ZpbHRlcnMnLCBjb21wb25lbnQ6IEJlaGVlckZpbHRlcnNDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdGaWx0ZXJzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAndXNlcnMnLCBjb21wb25lbnQ6IEJlaGVlclVzZXJzQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnVXNlcnMnIH0sIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkXSB9LFxyXG4gICAgICB7IHBhdGg6ICdzZXR0aW5ncycsIGNvbXBvbmVudDogQmVoZWVyU2V0dGluZ3NDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdTZXR0aW5ncycgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ2RvY3VtZW50cycsIGNvbXBvbmVudDogQmVoZWVyRG9jdW1lbnRzQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnRG9jdW1lbnRzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnc2VhcmNocHJvZHVjdHMnLCBjb21wb25lbnQ6IEJlaGVlclNlYXJjaFByb2R1Y3RzQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnU2VhcmNoJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnZWJva29wcGVsJywgY29tcG9uZW50OiBCZWhlZXJFYm9Lb3BwZWxDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdFQk8ga29wcGVsJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnY2F0ZWdvcmllcycsIGNvbXBvbmVudDogQmVoZWVyQ2F0ZWdvcmllc0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ0NhdGVnb3JpZXMnIH0sIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkXSB9LFxyXG4gICAgICB7IHBhdGg6ICd0cmFuc2xhdGUnLCBjb21wb25lbnQ6IEJlaGVlclRyYW5zbGF0ZUNvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ1RyYW5zbGF0ZScgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ2RlZXBsaW5rJywgY29tcG9uZW50OiBCZWhlZXJEZWVwbGlua0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ0RlZXBsaW5rJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnY29uZmlndXJhdG9yJywgY29tcG9uZW50OiBCZWhlZXJDb25maWd1cmF0b3JDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdDb25maWd1cmF0b3InIH0sIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkXSB9LFxyXG4gICAgICB7IHBhdGg6ICdoYW5nZmlyZScsIGNvbXBvbmVudDogQmVoZWVySGFuZ2ZpcmVDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdIYW5nZmlyZScgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ3VwbG9hZHMnLCBjb21wb25lbnQ6IEJlaGVlclVwbG9hZHNDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdVcGxvYWRzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnJywgY29tcG9uZW50OiBCZWhlZXJNYWluQ29tcG9uZW50LCBwYXRoTWF0Y2g6ICdmdWxsJywgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH1cclxuICAgIF1cclxuICB9LFxyXG4gIHsgcGF0aDogJycsIGNvbXBvbmVudDogRmFiU3RhcnRDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvY2F0ZWdvcmllcycsIGNvbXBvbmVudDogRmFiQ2F0ZWdvcmllc0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9jYXRlZ29yaWVzLzpjYXRlZ29yeScsIGNvbXBvbmVudDogRmFiQ2F0ZWdvcmllc0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0cycsIGNvbXBvbmVudDogRmFiUHJvZHVjdFNlbGVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0cy86bm9yZWdpc3RlcicsIGNvbXBvbmVudDogRmFiUHJvZHVjdFNlbGVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0Lzpwcm9kdWN0LzpmaWx0ZXIxLzpmaWx0ZXIyLzpmaWx0ZXIzLzpmaWx0ZXI0JywgY29tcG9uZW50OiBGYWJQcm9kdWN0Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnOmxhbmd1YWdlL3Byb2R1Y3QvOnByb2R1Y3QvOmZpbHRlcjEvOmZpbHRlcjIvOmZpbHRlcjMnLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvcHJvZHVjdC86cHJvZHVjdC86ZmlsdGVyMS86ZmlsdGVyMicsIGNvbXBvbmVudDogRmFiUHJvZHVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0Lzpwcm9kdWN0LzpmaWx0ZXIxJywgY29tcG9uZW50OiBGYWJQcm9kdWN0Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnOmxhbmd1YWdlL3Byb2R1Y3QvOnByb2R1Y3QnLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvdGV4dHVyZScsIGNvbXBvbmVudDogRmFiVGV4dHVyZUNvbmZpZ3VyYXRvckNvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS90ZXh0dXJlLzpwcm9kdWN0JywgY29tcG9uZW50OiBGYWJUZXh0dXJlQ29uZmlndXJhdG9yQ29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnOmxhbmd1YWdlLzpjYXRlZ29yeS86ZmlsdGVyMS86ZmlsdGVyMi86ZmlsdGVyMy86ZmlsdGVyNCcsIGNvbXBvbmVudDogRmFiUHJvZHVjdFNlbGVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS86Y2F0ZWdvcnkvOmZpbHRlcjEvOmZpbHRlcjIvOmZpbHRlcjMnLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RTZWxlY3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvOmNhdGVnb3J5LzpmaWx0ZXIxLzpmaWx0ZXIyJywgY29tcG9uZW50OiBGYWJQcm9kdWN0U2VsZWN0Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnOmxhbmd1YWdlLzpjYXRlZ29yeS86ZmlsdGVyMScsIGNvbXBvbmVudDogRmFiUHJvZHVjdFNlbGVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS86Y2F0ZWdvcnknLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RTZWxlY3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICdpZnJhbWUnLCBjb21wb25lbnQ6IEZhYklmcmFtZUNvbXBvbmVudCB9XHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEh0dHBDbGllbnRNb2R1bGUsXHJcbiAgICBBbmd1bGFyRWRpdG9yTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIE1hdFRyZWVNb2R1bGUsXHJcbiAgICBNYXRTaWRlbmF2TW9kdWxlLFxyXG4gICAgTWF0VGFibGVNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Ub2dnbGVNb2R1bGUsXHJcbiAgICBNYXRTdGVwcGVyTW9kdWxlLFxyXG4gICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXHJcbiAgICBEcmFnRHJvcE1vZHVsZSxcclxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcclxuICAgIE1hdFRhYnNNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsXHJcbiAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICBNYXRTbmFja0Jhck1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUuZm9yUm9vdChyb3V0ZXMsIHtcclxuICAgICAgc2Nyb2xsUG9zaXRpb25SZXN0b3JhdGlvbjogJ2VuYWJsZWQnLFxyXG4gICAgICBhbmNob3JTY3JvbGxpbmc6ICdlbmFibGVkJyxcclxuICAgIH0pLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTYWZlaHRtbFBpcGUsXHJcbiAgICBGYWJDYXRlZ29yeU5hdmlnYXRvckNvbXBvbmVudCxcclxuICAgIEJlaGVlck1haW5Db21wb25lbnQsXHJcbiAgICBCZWhlZXJJbmxvZ0NvbXBvbmVudCxcclxuICAgIEJlaGVlck5hdkNvbXBvbmVudCxcclxuICAgIEJlaGVlclVzZXJzQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvZHVjdHNDb21wb25lbnQsXHJcbiAgICBCZWhlZXJGaWx0ZXJzQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyU2V0dGluZ3NDb21wb25lbnQsXHJcbiAgICBGYWJMb2FkZXJDb21wb25lbnQsXHJcbiAgICBCZWhlZXJTZWFyY2hQcm9kdWN0c0NvbXBvbmVudCxcclxuICAgIEJlaGVlclNlYXJjaHByb2R1Y3RzS29wcGVsRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvZHVjdHNQcm9kdWN0Q29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvZHVjdHNCY2Jwcm9kdWN0Q29tcG9uZW50LFxyXG4gICAgQmVoZWVySW1wb3J0U2V0c0NvbXBvbmVudCxcclxuICAgIEJlaGVlckltcG9ydFNldHNPcGJvdXdDb21wb25lbnQsXHJcbiAgICBCZWhlZXJJbXBvcnRTZXRzRWlnZW5zY2hhcENvbXBvbmVudCxcclxuICAgIEJlaGVlckltcG9ydFNldHNFYm9Db21wb25lbnQsXHJcbiAgICBCZWhlZXJQcm9kdWN0c0VpZ2Vuc2NoYXBDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0Q29tcG9uZW50LFxyXG4gICAgRmFiQmNiUHJvZHVjdENvbXBvbmVudCxcclxuICAgIEZhYlByb2R1Y3RTZWxlY3RDb21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0VGlsZUNvbXBvbmVudCxcclxuICAgIEZhYlByb2R1Y3RJbmZvQ29tcG9uZW50LFxyXG4gICAgRmFiUHJvZHVjdEJlc3Rla0NvbXBvbmVudCxcclxuICAgIEZhYlByb2R1Y3RJbmZvUGhvdG9Db21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0SW5mb1Bob3RvRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyRWJvS29wcGVsQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyU2V0dGluZ3NPcHRpb25zQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyU2V0dGluZ3NTdHJpbmdDb21wb25lbnQsXHJcbiAgICBCZWhlZXJJbXBvcnRTZXRzRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyQ2F0ZWdvcmllc0NvbXBvbmVudCxcclxuICAgIEJlaGVlckNvbm5lY3RDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEZhYlN0YXJ0Q29tcG9uZW50LFxyXG4gICAgRmFiQ2F0ZWdvcmllc0NvbXBvbmVudCxcclxuICAgIEZhYkNhdGVnb3J5VGlsZUNvbXBvbmVudCxcclxuICAgIEZhYkJyZWFkY3J1bWJDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJzSW5wdXRDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJzT3ZlcnZpZXdDb21wb25lbnQsXHJcbiAgICBGYWJGbGFnQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyVHJhbnNsYXRlQ29tcG9uZW50LFxyXG4gICAgRmFiTGFuZ3VhZ2VTZWxlY3RDb21wb25lbnQsXHJcbiAgICBGYWJIZWFkZXJDb21wb25lbnQsXHJcbiAgICBGYWJXZWJnbFZpZXdlckNvbXBvbmVudCxcclxuICAgIEZhYlN2Z1ZpZXdlckNvbXBvbmVudCxcclxuICAgIEJlaGVlclByb2R1Y3RzT3Bib3V3Q29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvZHVjdHNFYm9Db21wb25lbnQsXHJcbiAgICBCZWhlZXJQcm9kdWN0c0VpZ2Vuc2NoYXBCZXJlaWtDb21wb25lbnQsXHJcbiAgICBCZWhlZXJEaXNwbGF5RWJvQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvZHVjdHNDb25uZWN0UmFuZ2VpbnB1dENvbXBvbmVudCxcclxuICAgIEZhYlJhbmdlSW5wdXRDb21wb25lbnQsXHJcbiAgICBCZWhlZXJTZXR0aW5nc0Jvb2xlYW5Db21wb25lbnQsXHJcbiAgICBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQsXHJcbiAgICBGYWJUZXh0dXJlQ29tcG9uZW50LFxyXG4gICAgRmFiSWZyYW1lQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyRGVlcGxpbmtDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDb2xvdXJDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDb2xvdXJEaWFsb2dDb21wb25lbnQsXHJcbiAgICBGYWJUb2ViZWhvcmVuQ29tcG9uZW50LFxyXG4gICAgRmFiQWN0aW9ubWVudUNvbXBvbmVudCxcclxuICAgIEZhYlNlbGVjdEJjYnByb2R1Y3RDb21wb25lbnQsXHJcbiAgICBGYWJJbnB1dENvbXBvbmVudCxcclxuICAgIEJlaGVlclNlbGVjdEZpbHRlcm9wdGlvbkRpYWxvZ0NvbXBvbmVudCxcclxuICAgIEZhYk11bHRpc2VsZWN0Q29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyRm9sZENvbXBvbmVudCxcclxuICAgIEZhYk11bHRpc2VsZWN0Rm9sZENvbXBvbmVudCxcclxuICAgIEZhYlJhbmdlSW5wdXRGb2xkQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyTGFiZWxDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDb2xvdXJMYWJlbENvbXBvbmVudCxcclxuICAgIEJlaGVlckZpbHRlckNvbXBvbmVudCxcclxuICAgIEJlaGVlclJhbmdlaW5wdXRDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJEaXNwbGF5VmFsdWVDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDdXN0b21Db21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDdXN0b21CYXNlQ29tcG9uZW50LFxyXG4gICAgRmFiQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBGYWJJbnB1dENvZGVDb21wb25lbnQsXHJcbiAgICBGYWJGb3JtRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRmFiRG93bmxvYWRaaXBDb21wb25lbnQsXHJcbiAgICBGYWJGb3JtQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyUGljdHVyZVNlbGVjdENvbXBvbmVudCxcclxuICAgIEZhYkRpc3BsYXlQaG90b0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlckF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlckF1dG9jb21wbGV0ZUZvbGRDb21wb25lbnQsXHJcbiAgICBGYWJBY3Rpb25tZW51UmV2aXREaWFsb2dDb21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0QXV0b1NwZWNpZmljYXRpb25Db21wb25lbnQsXHJcbiAgICBGYWJDb29raWVzRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRmFiQ2F0ZWdvcnlMaXN0aXRlbUNvbXBvbmVudCxcclxuICAgIEJlaGVlckNvbmZpZ3VyYXRvckNvbXBvbmVudCxcclxuICAgIEJlaGVlckJjYkluc3RhbmNlQ29tcG9uZW50LFxyXG4gICAgQmVoZWVySGFuZ2ZpcmVDb21wb25lbnQsXHJcbiAgICBCZWhlZXJQcm9qZWN0Q29tcG9uZW50LFxyXG4gICAgRmFiUG9wdXBUZXh0Q29tcG9uZW50LFxyXG4gICAgRmFiVXBsb2FkQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyVXBsb2Fkc0NvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlclBpY3R1cmVTZWxlY3RQb3B1cENvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlclBpY3R1cmVTZWxlY3REaWFsb2dDb21wb25lbnQsXHJcbiAgICBCZWhlZXJEb2N1bWVudHNDb21wb25lbnQsXHJcbiAgICBGYWJUZXh0dXJlQ29uZmlndXJhdG9yQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE5hdmlnYXRlU2VydmljZSxcclxuICAgIEF1dGhlbnRpY2F0aW9uU2VydmljZSxcclxuICAgIFByb2plY3RTZXR0aW5nU2VydmljZSxcclxuICAgIFByb2R1Y3RzU2VydmljZSxcclxuICAgIFBob3RvU2VydmljZSxcclxuICAgIEJlc3Rla1NlcnZpY2UsXHJcbiAgICBXZWJHTFNlcnZpY2UsXHJcbiAgICBUb2ViZWhvcmVuU2VydmljZSxcclxuICAgIFRleHR1cmVTZXJ2aWNlLFxyXG4gICAgU1ZHU2VydmljZSxcclxuICAgIFN0YXRpc3RpY3NTZXJ2aWNlLFxyXG4gICAgQmNiUHJvZHVjdEluc3RhbmNlU2VydmljZSxcclxuICAgIE1vYmlsZVNlcnZpY2UsXHJcbiAgICBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgRmFicmlrYW50ZW5TZXJ2aWNlLFxyXG4gICAgSW1wb3J0U2V0c1NlcnZpY2UsXHJcbiAgICBGaWx0ZXJzQXBpQ2xpZW50LFxyXG4gICAgRmFicmlrYW50ZW5BcGlDbGllbnQsXHJcbiAgICBUZXh0dXJlQXBpQ2xpZW50LFxyXG4gICAgU3RhdHNBcGlDbGllbnQsXHJcbiAgICBDb25maWd1cmF0b3JBcGlDbGllbnQsXHJcbiAgICBGb3JtQXBpQ2xpZW50LFxyXG4gICAgQ2F0ZWdvcmllc0FwaUNsaWVudCxcclxuICAgIFRyYW5zbGF0ZUFwaUNsaWVudCxcclxuICAgIEVCT0tvcHBlbEFwaUNsaWVudCxcclxuICAgIFNlY3VyaXR5QXBpQ2xpZW50LFxyXG4gICAgRG9jdW1lbnRBcGlDbGllbnQsXHJcbiAgICBTZWFyY2hQcm9kdWN0c0FwaUNsaWVudCxcclxuICAgIFRlbXBsYXRlQ29tcG9uZW50U2VydmljZSxcclxuICAgIEltcG9ydEFwaUNsaWVudCxcclxuICAgIFByb2R1Y3RzQXBpQ2xpZW50LFxyXG4gICAgUHJvamVjdFNldHRpbmdBcGlDbGllbnQsXHJcbiAgICBDb29raWVTZXJ2aWNlLFxyXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEJhc2ljQXV0aEludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9LFxyXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IEVycm9ySW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH1cclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEZhYkFjdGlvbm1lbnVDb21wb25lbnQsXHJcbiAgICBGYWJDYXRlZ29yeU5hdmlnYXRvckNvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlckNvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlckN1c3RvbUNvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlckxhYmVsQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyc0lucHV0Q29tcG9uZW50LFxyXG4gICAgRmFiTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgRmFiV2ViZ2xWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBGYWJTdmdWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0QmVzdGVrQ29tcG9uZW50LFxyXG4gICAgRmFiU2VsZWN0QmNicHJvZHVjdENvbXBvbmVudCxcclxuICAgIEZhYkRvd25sb2FkWmlwQ29tcG9uZW50LFxyXG4gICAgRmFiRm9ybUNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBGYWJyaWthbnRlbkNvcmVNb2R1bGUge1xyXG59XHJcbiJdfQ==
|
|
601
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFicmlrYW50ZW5jb3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvZmFicmlrYW50ZW5jb3JlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVuRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELFNBQVM7QUFDVCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsb0JBQW9C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QUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixhQUFhO3dCQUNiLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3dCQUMzRSxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDeEU7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsNkJBQTZCO3dCQUM3QixrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHlCQUF5Qjt3QkFDekIsNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gJ25neC1jb29raWUtc2VydmljZSc7XHJcblxyXG5pbXBvcnQge1xyXG4gIEZpbHRlcnNBcGlDbGllbnQsXHJcbiAgUHJvamVjdFNldHRpbmdBcGlDbGllbnQsXHJcbiAgU2VjdXJpdHlBcGlDbGllbnQsXHJcbiAgRG9jdW1lbnRBcGlDbGllbnQsXHJcbiAgU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQsXHJcbiAgUHJvZHVjdHNBcGlDbGllbnQsXHJcbiAgSW1wb3J0QXBpQ2xpZW50LFxyXG4gIEZhYnJpa2FudGVuQXBpQ2xpZW50LFxyXG4gIFRleHR1cmVBcGlDbGllbnQsXHJcbiAgU3RhdHNBcGlDbGllbnQsXHJcbiAgQ29uZmlndXJhdG9yQXBpQ2xpZW50LFxyXG4gIEZvcm1BcGlDbGllbnQsXHJcbiAgRUJPS29wcGVsQXBpQ2xpZW50LFxyXG4gIENhdGVnb3JpZXNBcGlDbGllbnQsXHJcbiAgVHJhbnNsYXRlQXBpQ2xpZW50XHJcbn0gZnJvbSAnLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cclxuLy8gQXV0aCBjb21wb25lbnRzXHJcbmltcG9ydCB7IEJhc2ljQXV0aEludGVyY2VwdG9yIH0gZnJvbSAnLi9oZWxwZXJzL2Jhc2ljLWF1dGguaW50ZXJjZXB0b3InO1xyXG5pbXBvcnQgeyBFcnJvckludGVyY2VwdG9yIH0gZnJvbSAnLi9oZWxwZXJzL2Vycm9yLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9oZWxwZXJzL2F1dGguZ3VhcmQnO1xyXG5cclxuLy8gQmVoZWVyXHJcbmltcG9ydCB7IEJlaGVlck1haW5Db21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1tYWluL2JlaGVlci1tYWluLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlcklubG9nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW5sb2cvYmVoZWVyLWlubG9nLmNvbXBvbmVudCc7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9qZWN0U2V0dGluZ1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Byb2plY3RzZXR0aW5nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXRzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvaW1wb3J0c2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGhvdG9TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9waG90by5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmVzdGVrU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvYmVzdGVrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb2JpbGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9tb2JpbGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFN0YXRpc3RpY3NTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zdGF0aXN0aWNzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCY2JQcm9kdWN0SW5zdGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9iY2Jwcm9kdWN0aW5zdGFuY2Uuc2VydmljZSc7XHJcblxyXG4vLyBNYXRlcmlhbFxyXG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRvb2x0aXBNb2R1bGUgYXMgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10b29sdGlwJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5SW5wdXRNb2R1bGUgYXMgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lCdXR0b25Nb2R1bGUgYXMgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XHJcbmltcG9ydCB7IE1hdExlZ2FjeUxpc3RNb2R1bGUgYXMgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1saXN0JztcclxuaW1wb3J0IHsgTWF0TGVnYWN5U2VsZWN0TW9kdWxlIGFzIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1zZWxlY3QnO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lDYXJkTW9kdWxlIGFzIE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY2FyZCc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRhYmxlTW9kdWxlIGFzIE1hdFRhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LXRhYmxlJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIGFzIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5U25hY2tCYXJNb2R1bGUgYXMgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktc25hY2stYmFyJztcclxuaW1wb3J0IHsgTWF0TGVnYWN5Q2hlY2tib3hNb2R1bGUgYXMgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dNb2R1bGUgYXMgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVRhYnNNb2R1bGUgYXMgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS10YWJzJztcclxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Ub2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcclxuaW1wb3J0IHsgTWF0U3RlcHBlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3N0ZXBwZXInO1xyXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBNYXRMZWdhY3lSYWRpb01vZHVsZSBhcyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1yYWRpbyc7XHJcbmltcG9ydCB7IE1hdExlZ2FjeVBhZ2luYXRvck1vZHVsZSBhcyBNYXRQYWdpbmF0b3JNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktcGFnaW5hdG9yJztcclxuXHJcbi8vXHJcbmltcG9ydCB7IEJlaGVlck5hdkNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLW5hdi9iZWhlZXItbmF2LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclVzZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItdXNlcnMvYmVoZWVyLXVzZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlckZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1maWx0ZXJzL2JlaGVlci1maWx0ZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2V0dGluZ3MvYmVoZWVyLXNldHRpbmdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItbG9hZGVyL2ZhYi1sb2FkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VhcmNoUHJvZHVjdHNDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy9iZWhlZXItc2VhcmNocHJvZHVjdHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VhcmNocHJvZHVjdHNLb3BwZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWFyY2hwcm9kdWN0cy9iZWhlZXItc2VhcmNocHJvZHVjdHMta29wcGVsLWRpYWxvZy9iZWhlZXItc2VhcmNocHJvZHVjdHMta29wcGVsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c1Byb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtcHJvZHVjdC9iZWhlZXItcHJvZHVjdHMtcHJvZHVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0JjYnByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdC9iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJJbXBvcnRTZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW1wb3J0LXNldHMvYmVoZWVyLWltcG9ydC1zZXRzLmNvbXBvbmVudCc7XHJcbi8qaW1wb3J0IHsgIH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW1wb3J0LXNldHMvYmVoZWVyLWltcG9ydC1zZXRzLW9wYm91dy9iZWhlZXItaW1wb3J0LXNldHMtb3Bib3V3LmNvbXBvbmVudCc7Ki9cclxuaW1wb3J0IHsgQmVoZWVySW1wb3J0U2V0c0VpZ2Vuc2NoYXBDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1pbXBvcnQtc2V0cy9iZWhlZXItaW1wb3J0LXNldHMtZWlnZW5zY2hhcC9iZWhlZXItaW1wb3J0LXNldHMtZWlnZW5zY2hhcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJJbXBvcnRTZXRzRWJvQ29tcG9uZW50LCBCZWhlZXJJbXBvcnRTZXRzT3Bib3V3Q29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItaW1wb3J0LXNldHMvYmVoZWVyLWltcG9ydC1zZXRzLWViby9iZWhlZXItaW1wb3J0LXNldHMtZWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzRWlnZW5zY2hhcENvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLmNvbXBvbmVudCc7XHJcbi8vaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci9mYWItZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiQmNiUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItYmNiLXByb2R1Y3QvZmFiLWJjYi1wcm9kdWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3Qtc2VsZWN0L2ZhYi1wcm9kdWN0LXNlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJQcm9kdWN0VGlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItcHJvZHVjdC10aWxlL2ZhYi1wcm9kdWN0LXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiUHJvZHVjdEluZm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtaW5mby9mYWItcHJvZHVjdC1pbmZvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RCZXN0ZWtDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtYmVzdGVrL2ZhYi1wcm9kdWN0LWJlc3Rlay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJQcm9kdWN0SW5mb1Bob3RvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1wcm9kdWN0L2ZhYi1wcm9kdWN0LWluZm8vZmFiLXByb2R1Y3QtaW5mby1waG90by9mYWItcHJvZHVjdC1pbmZvLXBob3RvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlByb2R1Y3RJbmZvUGhvdG9EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtaW5mby9mYWItcHJvZHVjdC1pbmZvLXBob3RvLWRpYWxvZy9mYWItcHJvZHVjdC1pbmZvLXBob3RvLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJFYm9Lb3BwZWxDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsL2JlaGVlci1lYm8ta29wcGVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNldHRpbmdzT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXNldHRpbmdzL2JlaGVlci1zZXR0aW5ncy1vcHRpb25zL2JlaGVlci1zZXR0aW5ncy1vcHRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclNldHRpbmdzU3RyaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2V0dGluZ3MvYmVoZWVyLXNldHRpbmdzLXN0cmluZy9iZWhlZXItc2V0dGluZ3Mtc3RyaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlckltcG9ydFNldHNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1pbXBvcnQtc2V0cy9iZWhlZXItaW1wb3J0LXNldHMtZGlhbG9nL2JlaGVlci1pbXBvcnQtc2V0cy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyQ2F0ZWdvcmllc0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWNhdGVnb3JpZXMvYmVoZWVyLWNhdGVnb3JpZXMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyQ29ubmVjdENhdGVnb3J5RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cvYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlN0YXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1zdGFydC9mYWItc3RhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiQ2F0ZWdvcmllc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY2F0ZWdvcmllcy9mYWItY2F0ZWdvcmllcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJDYXRlZ29yeVRpbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWNhdGVnb3J5LXRpbGUvZmFiLWNhdGVnb3J5LXRpbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItYnJlYWRjcnVtYi9mYWItYnJlYWRjcnVtYi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWZpbHRlcnMtaW5wdXQvZmFiLWZpbHRlcnMtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiRmlsdGVyc092ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1maWx0ZXJzLW92ZXJ2aWV3L2ZhYi1maWx0ZXJzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkZsYWdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWZsYWcvZmFiLWZsYWcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyVHJhbnNsYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItdHJhbnNsYXRlL2JlaGVlci10cmFuc2xhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiTGFuZ3VhZ2VTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWxhbmd1YWdlLXNlbGVjdC9mYWItbGFuZ3VhZ2Utc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFiSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1oZWFkZXIvZmFiLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0ZVNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL25hdmlnYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWJXZWJnbFZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItd2ViZ2wtdmlld2VyL2ZhYi13ZWJnbC12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2ViR0xTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy93ZWJnbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU1ZHU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc3ZnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGYWJTdmdWaWV3ZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXN2Zy12aWV3ZXIvZmFiLXN2Zy12aWV3ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNFYm9Db21wb25lbnQsIEJlaGVlclByb2R1Y3RzT3Bib3V3Q29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzRWlnZW5zY2hhcEJlcmVpa0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLWJlcmVpay9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyRGlzcGxheUVib0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWRpc3BsYXktZWJvL2JlaGVlci1kaXNwbGF5LWViby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0Nvbm5lY3RSYW5nZWlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYlJhbmdlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXJhbmdlLWlucHV0L2ZhYi1yYW5nZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZXR0aW5nc0Jvb2xlYW5Db21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZXR0aW5ncy9iZWhlZXItc2V0dGluZ3MtYm9vbGVhbi9iZWhlZXItc2V0dGluZ3MtYm9vbGVhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJTZWxlY3RGaWx0ZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1zZWxlY3QtZmlsdGVyLWRpYWxvZy9iZWhlZXItc2VsZWN0LWZpbHRlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiVGV4dHVyZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItdGV4dHVyZS9mYWItdGV4dHVyZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUZXh0dXJlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGV4dHVyZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmFiSWZyYW1lQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1pZnJhbWUvZmFiLWlmcmFtZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJEZWVwbGlua0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWRlZXBsaW5rL2JlaGVlci1kZWVwbGluay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJDb2xvdXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItY29sb3VyL2ZhYi1maWx0ZXItY29sb3VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkZpbHRlckNvbG91ckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1jb2xvdXIvZmFiLWZpbHRlci1jb2xvdXItZGlhbG9nL2ZhYi1maWx0ZXItY29sb3VyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJUb2ViZWhvcmVuQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1wcm9kdWN0L2ZhYi10b2ViZWhvcmVuL2ZhYi10b2ViZWhvcmVuLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYkFjdGlvbm1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWFjdGlvbm1lbnUvZmFiLWFjdGlvbm1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9lYmVob3JlblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3RvZWJlaG9yZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IEZhYlNlbGVjdEJjYnByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXNlbGVjdC1iY2Jwcm9kdWN0L2ZhYi1zZWxlY3QtYmNicHJvZHVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJDYXRlZ29yeU5hdmlnYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY2F0ZWdvcnktbmF2aWdhdG9yL2ZhYi1jYXRlZ29yeS1uYXZpZ2F0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1pbnB1dC9mYWItaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyU2VsZWN0RmlsdGVyb3B0aW9uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItc2VsZWN0LWZpbHRlcm9wdGlvbi1kaWFsb2cvYmVoZWVyLXNlbGVjdC1maWx0ZXJvcHRpb24tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhYk11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1tdWx0aXNlbGVjdC9mYWItbXVsdGlzZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiRmlsdGVyRm9sZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1mb2xkL2ZhYi1maWx0ZXItZm9sZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJNdWx0aXNlbGVjdEZvbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLW11bHRpc2VsZWN0LWZvbGQvZmFiLW11bHRpc2VsZWN0LWZvbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiUmFuZ2VJbnB1dEZvbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXJhbmdlLWlucHV0LWZvbGQvZmFiLXJhbmdlLWlucHV0LWZvbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFiRmlsdGVyTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItbGFiZWwvZmFiLWZpbHRlci1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWJGaWx0ZXJDb2xvdXJMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1jb2xvdXItbGFiZWwvZmFiLWZpbHRlci1jb2xvdXItbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItZmlsdGVyL2JlaGVlci1maWx0ZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUmFuZ2VpbnB1dENvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXJhbmdlaW5wdXQvYmVoZWVyLXJhbmdlaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvck1vZHVsZSB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xuaW1wb3J0IHsgRmFiRmlsdGVyRGlzcGxheVZhbHVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLWRpc3BsYXktdmFsdWUvZmFiLWZpbHRlci1kaXNwbGF5LXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJDdXN0b21Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItY3VzdG9tL2ZhYi1maWx0ZXItY3VzdG9tLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRlbXBsYXRlQ29tcG9uZW50U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvdGVtcGxhdGUtY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmFiRmlsdGVyQ3VzdG9tQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1jdXN0b20tYmFzZS9mYWItZmlsdGVyLWN1c3RvbS1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY2hlY2tib3gvZmFiLWNoZWNrYm94LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJJbnB1dENvZGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWlucHV0LWNvZGUvZmFiLWlucHV0LWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkZvcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWZvcm0tZGlhbG9nL2ZhYi1mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiRG93bmxvYWRaaXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLWRvd25sb2FkLXppcC9mYWItZG93bmxvYWQtemlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJQaWN0dXJlU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLXBpY3R1cmUtc2VsZWN0L2ZhYi1maWx0ZXItcGljdHVyZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkRpc3BsYXlQaG90b0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItZGlzcGxheS1waG90by1kaWFsb2cvZmFiLWRpc3BsYXktcGhvdG8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXRzL2ZhYi1maWx0ZXItYXV0b2NvbXBsZXRlL2ZhYi1maWx0ZXItYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJBdXRvY29tcGxldGVGb2xkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLWF1dG9jb21wbGV0ZS1mb2xkL2ZhYi1maWx0ZXItYXV0b2NvbXBsZXRlLWZvbGQuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkFjdGlvbm1lbnVSZXZpdERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItYWN0aW9ubWVudS9mYWItYWN0aW9ubWVudS1yZXZpdC1kaWFsb2cvZmFiLWFjdGlvbm1lbnUtcmV2aXQtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJQcm9kdWN0QXV0b1NwZWNpZmljYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFiLXByb2R1Y3QvZmFiLXByb2R1Y3QtYXV0by1zcGVjaWZpY2F0aW9uL2ZhYi1wcm9kdWN0LWF1dG8tc3BlY2lmaWNhdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiQ29va2llc0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItY29va2llcy1kaWFsb2cvZmFiLWNvb2tpZXMtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJDYXRlZ29yeUxpc3RpdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi1jYXRlZ29yeS1saXN0aXRlbS9mYWItY2F0ZWdvcnktbGlzdGl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEJlaGVlckNvbmZpZ3VyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWNvbmZpZ3VyYXRvci9iZWhlZXItY29uZmlndXJhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhlZXJCY2JJbnN0YW5jZUNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWJjYi1pbnN0YW5jZS9iZWhlZXItYmNiLWluc3RhbmNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhlZXJIYW5nZmlyZUNvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLWhhbmdmaXJlL2JlaGVlci1oYW5nZmlyZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVoZWVyUHJvamVjdENvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2plY3QvYmVoZWVyLXByb2plY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2FmZWh0bWxQaXBlIH0gZnJvbSAnLi9waXBlcy9zYWZlaHRtbC5waXBlJztcbmltcG9ydCB7IEZhYlBvcHVwVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItcG9wdXAtdGV4dC9mYWItcG9wdXAtdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhYi11cGxvYWQvZmFiLXVwbG9hZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmVoZWVyVXBsb2Fkc0NvbXBvbmVudCB9IGZyb20gJy4vYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXVwbG9hZHMvYmVoZWVyLXVwbG9hZHMuY29tcG9uZW50JztcbmltcG9ydCB7IEZhYkZpbHRlclBpY3R1cmVTZWxlY3RQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dHMvZmFiLWZpbHRlci1waWN0dXJlLXNlbGVjdC1wb3B1cC9mYWItZmlsdGVyLXBpY3R1cmUtc2VsZWN0LXBvcHVwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGYWJGaWx0ZXJQaWN0dXJlU2VsZWN0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2lucHV0cy9mYWItZmlsdGVyLXBpY3R1cmUtc2VsZWN0LXBvcHVwL2ZhYi1maWx0ZXItcGljdHVyZS1zZWxlY3QtZGlhbG9nL2ZhYi1maWx0ZXItcGljdHVyZS1zZWxlY3QtZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCZWhlZXJEb2N1bWVudHNDb21wb25lbnQgfSBmcm9tICcuL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1kb2N1bWVudHMvYmVoZWVyLWRvY3VtZW50cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFiVGV4dHVyZUNvbmZpZ3VyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWItdGV4dHVyZS1jb25maWd1cmF0b3IvZmFiLXRleHR1cmUtY29uZmlndXJhdG9yLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcclxuICB7XHJcbiAgICBwYXRoOiAnYmVoZWVyJywgY2hpbGRyZW46IFtcclxuICAgICAgeyBwYXRoOiAnaW5sb2dnZW4nLCBjb21wb25lbnQ6IEJlaGVlcklubG9nQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnSW5sb2dnZW4nIH0gfSxcclxuICAgICAgeyBwYXRoOiAnb3ZlcnZpZXcnLCBjb21wb25lbnQ6IEJlaGVlck1haW5Db21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdPdmVydmlldycgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ3Byb2R1Y3RzJywgY29tcG9uZW50OiBCZWhlZXJQcm9kdWN0c0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ1Byb2R1Y3RzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnaW1wb3J0c2V0cycsIGNvbXBvbmVudDogQmVoZWVySW1wb3J0U2V0c0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ0ltcG9ydHNldCcgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ2ZpbHRlcnMnLCBjb21wb25lbnQ6IEJlaGVlckZpbHRlcnNDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdGaWx0ZXJzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAndXNlcnMnLCBjb21wb25lbnQ6IEJlaGVlclVzZXJzQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnVXNlcnMnIH0sIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkXSB9LFxyXG4gICAgICB7IHBhdGg6ICdzZXR0aW5ncycsIGNvbXBvbmVudDogQmVoZWVyU2V0dGluZ3NDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdTZXR0aW5ncycgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ2RvY3VtZW50cycsIGNvbXBvbmVudDogQmVoZWVyRG9jdW1lbnRzQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnRG9jdW1lbnRzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnc2VhcmNocHJvZHVjdHMnLCBjb21wb25lbnQ6IEJlaGVlclNlYXJjaFByb2R1Y3RzQ29tcG9uZW50LCBkYXRhOiB7IHRpdGxlOiAnU2VhcmNoJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnZWJva29wcGVsJywgY29tcG9uZW50OiBCZWhlZXJFYm9Lb3BwZWxDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdFQk8ga29wcGVsJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnY2F0ZWdvcmllcycsIGNvbXBvbmVudDogQmVoZWVyQ2F0ZWdvcmllc0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ0NhdGVnb3JpZXMnIH0sIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkXSB9LFxyXG4gICAgICB7IHBhdGg6ICd0cmFuc2xhdGUnLCBjb21wb25lbnQ6IEJlaGVlclRyYW5zbGF0ZUNvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ1RyYW5zbGF0ZScgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ2RlZXBsaW5rJywgY29tcG9uZW50OiBCZWhlZXJEZWVwbGlua0NvbXBvbmVudCwgZGF0YTogeyB0aXRsZTogJ0RlZXBsaW5rJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnY29uZmlndXJhdG9yJywgY29tcG9uZW50OiBCZWhlZXJDb25maWd1cmF0b3JDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdDb25maWd1cmF0b3InIH0sIGNhbkFjdGl2YXRlOiBbQXV0aEd1YXJkXSB9LFxyXG4gICAgICB7IHBhdGg6ICdoYW5nZmlyZScsIGNvbXBvbmVudDogQmVoZWVySGFuZ2ZpcmVDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdIYW5nZmlyZScgfSwgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH0sXHJcbiAgICAgIHsgcGF0aDogJ3VwbG9hZHMnLCBjb21wb25lbnQ6IEJlaGVlclVwbG9hZHNDb21wb25lbnQsIGRhdGE6IHsgdGl0bGU6ICdVcGxvYWRzJyB9LCBjYW5BY3RpdmF0ZTogW0F1dGhHdWFyZF0gfSxcclxuICAgICAgeyBwYXRoOiAnJywgY29tcG9uZW50OiBCZWhlZXJNYWluQ29tcG9uZW50LCBwYXRoTWF0Y2g6ICdmdWxsJywgY2FuQWN0aXZhdGU6IFtBdXRoR3VhcmRdIH1cclxuICAgIF1cclxuICB9LFxyXG4gIHsgcGF0aDogJycsIGNvbXBvbmVudDogRmFiU3RhcnRDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvY2F0ZWdvcmllcycsIGNvbXBvbmVudDogRmFiQ2F0ZWdvcmllc0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9jYXRlZ29yaWVzLzpjYXRlZ29yeScsIGNvbXBvbmVudDogRmFiQ2F0ZWdvcmllc0NvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0cycsIGNvbXBvbmVudDogRmFiUHJvZHVjdFNlbGVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0cy86bm9yZWdpc3RlcicsIGNvbXBvbmVudDogRmFiUHJvZHVjdFNlbGVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0Lzpwcm9kdWN0LzpmaWx0ZXIxLzpmaWx0ZXIyLzpmaWx0ZXIzLzpmaWx0ZXI0JywgY29tcG9uZW50OiBGYWJQcm9kdWN0Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnOmxhbmd1YWdlL3Byb2R1Y3QvOnByb2R1Y3QvOmZpbHRlcjEvOmZpbHRlcjIvOmZpbHRlcjMnLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvcHJvZHVjdC86cHJvZHVjdC86ZmlsdGVyMS86ZmlsdGVyMicsIGNvbXBvbmVudDogRmFiUHJvZHVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS9wcm9kdWN0Lzpwcm9kdWN0LzpmaWx0ZXIxJywgY29tcG9uZW50OiBGYWJQcm9kdWN0Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnOmxhbmd1YWdlL3Byb2R1Y3QvOnByb2R1Y3QnLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvdGV4dHVyZScsIGNvbXBvbmVudDogRmFiVGV4dHVyZUNvbmZpZ3VyYXRvckNvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS90ZXh0dXJlLzpzdG9uZScsIGNvbXBvbmVudDogRmFiVGV4dHVyZUNvbmZpZ3VyYXRvckNvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS86Y2F0ZWdvcnkvOmZpbHRlcjEvOmZpbHRlcjIvOmZpbHRlcjMvOmZpbHRlcjQnLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RTZWxlY3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvOmNhdGVnb3J5LzpmaWx0ZXIxLzpmaWx0ZXIyLzpmaWx0ZXIzJywgY29tcG9uZW50OiBGYWJQcm9kdWN0U2VsZWN0Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnOmxhbmd1YWdlLzpjYXRlZ29yeS86ZmlsdGVyMS86ZmlsdGVyMicsIGNvbXBvbmVudDogRmFiUHJvZHVjdFNlbGVjdENvbXBvbmVudCB9LFxyXG4gIHsgcGF0aDogJzpsYW5ndWFnZS86Y2F0ZWdvcnkvOmZpbHRlcjEnLCBjb21wb25lbnQ6IEZhYlByb2R1Y3RTZWxlY3RDb21wb25lbnQgfSxcclxuICB7IHBhdGg6ICc6bGFuZ3VhZ2UvOmNhdGVnb3J5JywgY29tcG9uZW50OiBGYWJQcm9kdWN0U2VsZWN0Q29tcG9uZW50IH0sXHJcbiAgeyBwYXRoOiAnaWZyYW1lJywgY29tcG9uZW50OiBGYWJJZnJhbWVDb21wb25lbnQgfVxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgQW5ndWxhckVkaXRvck1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0RXhwYW5zaW9uTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBNYXRUcmVlTW9kdWxlLFxyXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcclxuICAgIE1hdFRhYmxlTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxyXG4gICAgTWF0U3RlcHBlck1vZHVsZSxcclxuICAgIE1hdFJhZGlvTW9kdWxlLFxyXG4gICAgTWF0UGFnaW5hdG9yTW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgIE1hdERpdmlkZXJNb2R1bGUsXHJcbiAgICBNYXRUYWJzTW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxyXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLmZvclJvb3Qocm91dGVzLCB7XHJcbiAgICAgIHNjcm9sbFBvc2l0aW9uUmVzdG9yYXRpb246ICdlbmFibGVkJyxcclxuICAgICAgYW5jaG9yU2Nyb2xsaW5nOiAnZW5hYmxlZCcsXHJcbiAgICB9KSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2FmZWh0bWxQaXBlLFxyXG4gICAgRmFiQ2F0ZWdvcnlOYXZpZ2F0b3JDb21wb25lbnQsXHJcbiAgICBCZWhlZXJNYWluQ29tcG9uZW50LFxyXG4gICAgQmVoZWVySW5sb2dDb21wb25lbnQsXHJcbiAgICBCZWhlZXJOYXZDb21wb25lbnQsXHJcbiAgICBCZWhlZXJVc2Vyc0NvbXBvbmVudCxcclxuICAgIEJlaGVlclByb2R1Y3RzQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyRmlsdGVyc0NvbXBvbmVudCxcclxuICAgIEJlaGVlclNldHRpbmdzQ29tcG9uZW50LFxyXG4gICAgRmFiTG9hZGVyQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyU2VhcmNoUHJvZHVjdHNDb21wb25lbnQsXHJcbiAgICBCZWhlZXJTZWFyY2hwcm9kdWN0c0tvcHBlbERpYWxvZ0NvbXBvbmVudCxcclxuICAgIEJlaGVlclByb2R1Y3RzUHJvZHVjdENvbXBvbmVudCxcclxuICAgIEJlaGVlclByb2R1Y3RzQmNicHJvZHVjdENvbXBvbmVudCxcclxuICAgIEJlaGVlckltcG9ydFNldHNDb21wb25lbnQsXHJcbiAgICBCZWhlZXJJbXBvcnRTZXRzT3Bib3V3Q29tcG9uZW50LFxyXG4gICAgQmVoZWVySW1wb3J0U2V0c0VpZ2Vuc2NoYXBDb21wb25lbnQsXHJcbiAgICBCZWhlZXJJbXBvcnRTZXRzRWJvQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvZHVjdHNFaWdlbnNjaGFwQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgRmFiUHJvZHVjdENvbXBvbmVudCxcclxuICAgIEZhYkJjYlByb2R1Y3RDb21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0U2VsZWN0Q29tcG9uZW50LFxyXG4gICAgRmFiUHJvZHVjdFRpbGVDb21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0SW5mb0NvbXBvbmVudCxcclxuICAgIEZhYlByb2R1Y3RCZXN0ZWtDb21wb25lbnQsXHJcbiAgICBGYWJQcm9kdWN0SW5mb1Bob3RvQ29tcG9uZW50LFxyXG4gICAgRmFiUHJvZHVjdEluZm9QaG90b0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIEJlaGVlckVib0tvcHBlbENvbXBvbmVudCxcclxuICAgIEJlaGVlclNldHRpbmdzT3B0aW9uc0NvbXBvbmVudCxcclxuICAgIEJlaGVlclNldHRpbmdzU3RyaW5nQ29tcG9uZW50LFxyXG4gICAgQmVoZWVySW1wb3J0U2V0c0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIEJlaGVlckNhdGVnb3JpZXNDb21wb25lbnQsXHJcbiAgICBCZWhlZXJDb25uZWN0Q2F0ZWdvcnlEaWFsb2dDb21wb25lbnQsXHJcbiAgICBGYWJTdGFydENvbXBvbmVudCxcclxuICAgIEZhYkNhdGVnb3JpZXNDb21wb25lbnQsXHJcbiAgICBGYWJDYXRlZ29yeVRpbGVDb21wb25lbnQsXHJcbiAgICBGYWJCcmVhZGNydW1iQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyc0lucHV0Q29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyc092ZXJ2aWV3Q29tcG9uZW50LFxyXG4gICAgRmFiRmxhZ0NvbXBvbmVudCxcclxuICAgIEJlaGVlclRyYW5zbGF0ZUNvbXBvbmVudCxcclxuICAgIEZhYkxhbmd1YWdlU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgRmFiSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgRmFiV2ViZ2xWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBGYWJTdmdWaWV3ZXJDb21wb25lbnQsXHJcbiAgICBCZWhlZXJQcm9kdWN0c09wYm91d0NvbXBvbmVudCxcclxuICAgIEJlaGVlclByb2R1Y3RzRWJvQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvZHVjdHNFaWdlbnNjaGFwQmVyZWlrQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyRGlzcGxheUVib0NvbXBvbmVudCxcclxuICAgIEJlaGVlclByb2R1Y3RzQ29ubmVjdFJhbmdlaW5wdXRDb21wb25lbnQsXHJcbiAgICBGYWJSYW5nZUlucHV0Q29tcG9uZW50LFxyXG4gICAgQmVoZWVyU2V0dGluZ3NCb29sZWFuQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyU2VsZWN0RmlsdGVyRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRmFiVGV4dHVyZUNvbXBvbmVudCxcclxuICAgIEZhYklmcmFtZUNvbXBvbmVudCxcclxuICAgIEJlaGVlckRlZXBsaW5rQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyQ29sb3VyQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyQ29sb3VyRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRmFiVG9lYmVob3JlbkNvbXBvbmVudCxcclxuICAgIEZhYkFjdGlvbm1lbnVDb21wb25lbnQsXHJcbiAgICBGYWJTZWxlY3RCY2Jwcm9kdWN0Q29tcG9uZW50LFxyXG4gICAgRmFiSW5wdXRDb21wb25lbnQsXHJcbiAgICBCZWhlZXJTZWxlY3RGaWx0ZXJvcHRpb25EaWFsb2dDb21wb25lbnQsXHJcbiAgICBGYWJNdWx0aXNlbGVjdENvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlckZvbGRDb21wb25lbnQsXHJcbiAgICBGYWJNdWx0aXNlbGVjdEZvbGRDb21wb25lbnQsXHJcbiAgICBGYWJSYW5nZUlucHV0Rm9sZENvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlckxhYmVsQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyQ29sb3VyTGFiZWxDb21wb25lbnQsXHJcbiAgICBCZWhlZXJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBCZWhlZXJSYW5nZWlucHV0Q29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyRGlzcGxheVZhbHVlQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyQ3VzdG9tQ29tcG9uZW50LFxyXG4gICAgRmFiRmlsdGVyQ3VzdG9tQmFzZUNvbXBvbmVudCxcclxuICAgIEZhYkNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgRmFiSW5wdXRDb2RlQ29tcG9uZW50LFxyXG4gICAgRmFiRm9ybURpYWxvZ0NvbXBvbmVudCxcclxuICAgIEZhYkRvd25sb2FkWmlwQ29tcG9uZW50LFxyXG4gICAgRmFiRm9ybUNvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlclBpY3R1cmVTZWxlY3RDb21wb25lbnQsXHJcbiAgICBGYWJEaXNwbGF5UGhvdG9EaWFsb2dDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJBdXRvY29tcGxldGVGb2xkQ29tcG9uZW50LFxyXG4gICAgRmFiQWN0aW9ubWVudVJldml0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgRmFiUHJvZHVjdEF1dG9TcGVjaWZpY2F0aW9uQ29tcG9uZW50LFxyXG4gICAgRmFiQ29va2llc0RpYWxvZ0NvbXBvbmVudCxcclxuICAgIEZhYkNhdGVnb3J5TGlzdGl0ZW1Db21wb25lbnQsXHJcbiAgICBCZWhlZXJDb25maWd1cmF0b3JDb21wb25lbnQsXHJcbiAgICBCZWhlZXJCY2JJbnN0YW5jZUNvbXBvbmVudCxcclxuICAgIEJlaGVlckhhbmdmaXJlQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyUHJvamVjdENvbXBvbmVudCxcclxuICAgIEZhYlBvcHVwVGV4dENvbXBvbmVudCxcclxuICAgIEZhYlVwbG9hZENvbXBvbmVudCxcclxuICAgIEJlaGVlclVwbG9hZHNDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJQaWN0dXJlU2VsZWN0UG9wdXBDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJQaWN0dXJlU2VsZWN0RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQmVoZWVyRG9jdW1lbnRzQ29tcG9uZW50LFxyXG4gICAgRmFiVGV4dHVyZUNvbmZpZ3VyYXRvckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBOYXZpZ2F0ZVNlcnZpY2UsXHJcbiAgICBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBQcm9qZWN0U2V0dGluZ1NlcnZpY2UsXHJcbiAgICBQcm9kdWN0c1NlcnZpY2UsXHJcbiAgICBQaG90b1NlcnZpY2UsXHJcbiAgICBCZXN0ZWtTZXJ2aWNlLFxyXG4gICAgV2ViR0xTZXJ2aWNlLFxyXG4gICAgVG9lYmVob3JlblNlcnZpY2UsXHJcbiAgICBUZXh0dXJlU2VydmljZSxcclxuICAgIFNWR1NlcnZpY2UsXHJcbiAgICBTdGF0aXN0aWNzU2VydmljZSxcclxuICAgIEJjYlByb2R1Y3RJbnN0YW5jZVNlcnZpY2UsXHJcbiAgICBNb2JpbGVTZXJ2aWNlLFxyXG4gICAgVHJhbnNsYXRlU2VydmljZSxcclxuICAgIEZhYnJpa2FudGVuU2VydmljZSxcclxuICAgIEltcG9ydFNldHNTZXJ2aWNlLFxyXG4gICAgRmlsdGVyc0FwaUNsaWVudCxcclxuICAgIEZhYnJpa2FudGVuQXBpQ2xpZW50LFxyXG4gICAgVGV4dHVyZUFwaUNsaWVudCxcclxuICAgIFN0YXRzQXBpQ2xpZW50LFxyXG4gICAgQ29uZmlndXJhdG9yQXBpQ2xpZW50LFxyXG4gICAgRm9ybUFwaUNsaWVudCxcclxuICAgIENhdGVnb3JpZXNBcGlDbGllbnQsXHJcbiAgICBUcmFuc2xhdGVBcGlDbGllbnQsXHJcbiAgICBFQk9Lb3BwZWxBcGlDbGllbnQsXHJcbiAgICBTZWN1cml0eUFwaUNsaWVudCxcclxuICAgIERvY3VtZW50QXBpQ2xpZW50LFxyXG4gICAgU2VhcmNoUHJvZHVjdHNBcGlDbGllbnQsXHJcbiAgICBUZW1wbGF0ZUNvbXBvbmVudFNlcnZpY2UsXHJcbiAgICBJbXBvcnRBcGlDbGllbnQsXHJcbiAgICBQcm9kdWN0c0FwaUNsaWVudCxcclxuICAgIFByb2plY3RTZXR0aW5nQXBpQ2xpZW50LFxyXG4gICAgQ29va2llU2VydmljZSxcclxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBCYXNpY0F1dGhJbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcclxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBFcnJvckludGVyY2VwdG9yLCBtdWx0aTogdHJ1ZSB9XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBGYWJBY3Rpb25tZW51Q29tcG9uZW50LFxyXG4gICAgRmFiQ2F0ZWdvcnlOYXZpZ2F0b3JDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDb21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJDdXN0b21Db21wb25lbnQsXHJcbiAgICBGYWJGaWx0ZXJMYWJlbENvbXBvbmVudCxcclxuICAgIEZhYkZpbHRlcnNJbnB1dENvbXBvbmVudCxcclxuICAgIEZhYkxvYWRlckNvbXBvbmVudCxcclxuICAgIEZhYldlYmdsVmlld2VyQ29tcG9uZW50LFxyXG4gICAgRmFiU3ZnVmlld2VyQ29tcG9uZW50LFxyXG4gICAgRmFiUHJvZHVjdEJlc3Rla0NvbXBvbmVudCxcclxuICAgIEZhYlNlbGVjdEJjYnByb2R1Y3RDb21wb25lbnQsXHJcbiAgICBGYWJEb3dubG9hZFppcENvbXBvbmVudCxcclxuICAgIEZhYkZvcm1Db21wb25lbnRcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRmFicmlrYW50ZW5Db3JlTW9kdWxlIHtcclxufVxyXG4iXX0=
|