ngx-wapp-components 2.1.13-alpha.2 → 2.1.13-alpha.3

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.
@@ -2,15 +2,14 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { CardStatus, SendingStatus } from '../shared/models/enums.model';
3
3
  import { WImageCropperComponent } from '../../file/w-image-cropper/w-image-cropper.component';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- import * as i2 from "@angular/material/icon";
7
- import * as i3 from "@angular/platform-browser";
8
- import * as i4 from "primeng/dynamicdialog";
9
- import * as i5 from "@angular/common";
10
- import * as i6 from "primeng/tooltip";
11
- import * as i7 from "@angular/material/card";
12
- import * as i8 from "@angular/flex-layout/flex";
13
- import * as i9 from "@angular/flex-layout/extended";
5
+ import * as i1 from "@angular/material/icon";
6
+ import * as i2 from "@angular/platform-browser";
7
+ import * as i3 from "primeng/dynamicdialog";
8
+ import * as i4 from "@angular/common";
9
+ import * as i5 from "primeng/tooltip";
10
+ import * as i6 from "@angular/material/card";
11
+ import * as i7 from "@angular/flex-layout/flex";
12
+ import * as i8 from "@angular/flex-layout/extended";
14
13
  export class WMaterialServiceCardComponent {
15
14
  set wappingServicesTranslations(value) {
16
15
  if (value)
@@ -27,8 +26,7 @@ export class WMaterialServiceCardComponent {
27
26
  get wappingService() {
28
27
  return this._wappingService;
29
28
  }
30
- constructor(route, matIconRegistry, domSanitizer, dialogService) {
31
- this.route = route;
29
+ constructor(matIconRegistry, domSanitizer, dialogService) {
32
30
  this.matIconRegistry = matIconRegistry;
33
31
  this.domSanitizer = domSanitizer;
34
32
  this.dialogService = dialogService;
@@ -146,12 +144,12 @@ export class WMaterialServiceCardComponent {
146
144
  return obj.base64 !== undefined;
147
145
  }
148
146
  }
149
- WMaterialServiceCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WMaterialServiceCardComponent, deps: [{ token: i1.Router }, { token: i2.MatIconRegistry }, { token: i3.DomSanitizer }, { token: i4.DialogService }], target: i0.ɵɵFactoryTarget.Component });
150
- WMaterialServiceCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WMaterialServiceCardComponent, selector: "w-material-service-card", inputs: { isDevModeActive: "isDevModeActive", wappingServicesTranslations: "wappingServicesTranslations", wappingService: "wappingService", defaultImage: "defaultImage", croppedImageConfiguration: "croppedImageConfiguration", croppedDialogTranslations: "croppedDialogTranslations", onHoverImageTooltip: "onHoverImageTooltip" }, outputs: { cardClicked: "cardClicked", onDefaultImageEvent: "onDefaultImageEvent" }, usesOnChanges: true, ngImport: i0, template: "<mat-card *ngIf=\"wappingServiceReady\" class=\"service-card\" (click)=\"isDevModeActive ? setImage() : cardOnClick(wappingService)\" [pTooltip]=\"onHoverImageTooltip\" tooltipPosition=\"top\">\r\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <div class=\"service-card-image-title\"\r\n fxLayout=\"row\" fxLayoutGap=\"5px\"\r\n *ngIf=\"wappingService.tile1 && wappingService.tile1 != ''\">\r\n <!--tile1-->\r\n <div [ngClass]=\"{'tile-no-html': !hasHtml(wappingService.tile1)}\" class=\"service-card-tile1\"\r\n [innerHtml]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div class=\"service-card-image\">\r\n <img mat-card-image \r\n [ngClass]=\"{'default-image' : isNoImage}\" \r\n [src]=\"getImage()\">\r\n </div>\r\n </div>\r\n <mat-card-header fxLayout=\"column\">\r\n <div fxLayout=\"row\">\r\n <div fxFlex></div>\r\n <!--status-->\r\n <div class=\"card-header-status-container\" *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard\" fxLayout=\"row\" fxLayoutGap=\"5px\">\r\n <div class=\"card-header-status\" *ngIf=\"wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"activated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.activedService }}</span>\r\n </div>\r\n <div class=\"card-header-status\" *ngIf=\"!wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"deactivated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.disabledService }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!--tile3-->\r\n <div *ngIf=\"wappingService.tile3\" class=\"card-header-description\">\r\n <div [innerHtml]=\"wappingService.tile3\"></div>\r\n </div>\r\n </mat-card-header>\r\n</mat-card>", styles: [":host ::ng-deep .service-card{width:380px}.mat-mdc-card{padding:0}.service-card{cursor:pointer;transition:none!important;box-shadow:1px 2px 8px #1f1f1f14}.service-card-image-title{position:absolute!important;width:100%!important;min-height:22px!important;top:0!important;z-index:99!important}.service-card-tile1{width:100%;min-height:22px}.service-card-image{font-size:0px;border-top-left-radius:5px;border-top-right-radius:5px;width:100%}.mat-mdc-card-image{width:100%;margin:0;max-height:500px}.mat-mdc-card-image:first-child{margin:0}.mat-mdc-card-content{padding:5px}.mat-mdc-card-header{height:130px!important;padding:16px 15px;background-color:#eee6;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.mat-mdc-card-header .mat-mdc-card-title{margin:0!important}.card-header-benefits{align-items:center;text-transform:uppercase}.card-header-status{display:flex;align-items:center}.card-header-status-icon{margin-right:5px;width:10px}.status{text-transform:uppercase}.card-header-description{margin-top:10px!important;text-align:left;line-height:1.78;overflow-y:auto}.card-header-detail{margin-top:10px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:pre-line}.tile-no-html{background-color:#000;color:#fff;margin-left:60px;margin-right:60px;border-radius:0 0 4.3118px 4.3118px!important;justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important;padding:4px!important}.default-image{padding:68px}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardImage, selector: "[mat-card-image], [matCardImage]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i9.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
147
+ WMaterialServiceCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WMaterialServiceCardComponent, deps: [{ token: i1.MatIconRegistry }, { token: i2.DomSanitizer }, { token: i3.DialogService }], target: i0.ɵɵFactoryTarget.Component });
148
+ WMaterialServiceCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: WMaterialServiceCardComponent, selector: "w-material-service-card", inputs: { isDevModeActive: "isDevModeActive", wappingServicesTranslations: "wappingServicesTranslations", wappingService: "wappingService", defaultImage: "defaultImage", croppedImageConfiguration: "croppedImageConfiguration", croppedDialogTranslations: "croppedDialogTranslations", onHoverImageTooltip: "onHoverImageTooltip" }, outputs: { cardClicked: "cardClicked", onDefaultImageEvent: "onDefaultImageEvent" }, usesOnChanges: true, ngImport: i0, template: "<mat-card *ngIf=\"wappingServiceReady\" class=\"service-card\" (click)=\"isDevModeActive ? setImage() : cardOnClick(wappingService)\" [pTooltip]=\"onHoverImageTooltip\" tooltipPosition=\"top\">\r\n <div class=\"service-card-header\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <!-- tile1 -->\r\n <div *ngIf=\"!hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-card-image-title\">\r\n <div class=\"tile-no-html\"\r\n [innerHtml]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div *ngIf=\"hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-card-image-title-html\"\r\n fxLayout=\"row\" fxLayoutGap=\"5px\">\r\n <div class=\"service-card-tile1\"\r\n [innerHtml]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div class=\"service-card-image\">\r\n <img mat-card-image \r\n [ngClass]=\"{'default-image' : isNoImage}\" \r\n [src]=\"getImage()\">\r\n </div>\r\n </div>\r\n <mat-card-header fxLayout=\"column\">\r\n <div fxLayout=\"row\">\r\n <div fxFlex></div>\r\n <!--status-->\r\n <div class=\"card-header-status-container\" *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard\" fxLayout=\"row\" fxLayoutGap=\"5px\">\r\n <div class=\"card-header-status\" *ngIf=\"wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"activated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.activedService }}</span>\r\n </div>\r\n <div class=\"card-header-status\" *ngIf=\"!wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"deactivated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.disabledService }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!--tile3-->\r\n <div *ngIf=\"wappingService.tile3\" class=\"card-header-description\">\r\n <div [innerHtml]=\"wappingService.tile3\"></div>\r\n </div>\r\n </mat-card-header>\r\n</mat-card>\r\n", styles: [":host ::ng-deep .service-card{width:380px}.mat-mdc-card{padding:0}.service-card{cursor:pointer;transition:none!important;box-shadow:1px 2px 8px #1f1f1f14}.service-card-header{position:relative}.service-card-image-title{position:absolute;top:0!important;right:0!important;left:0!important;z-index:2;margin:0 60px!important;min-height:22px!important;border-radius:0 0 4.3118px 4.3118px!important;background-color:#0e0c0c;color:#fff;display:flex;justify-content:center;align-items:center;padding:4px}.service-card-image-title-html{position:absolute!important;width:100%!important;min-height:22px!important;top:0!important;z-index:99!important}.service-card-tile1{width:100%;min-height:22px}.service-card-image{font-size:0px;border-top-left-radius:5px;border-top-right-radius:5px;width:100%}.mat-mdc-card-image{width:100%;margin:0;max-height:500px}.mat-mdc-card-image:first-child{margin:0}.mat-mdc-card-content{padding:5px}.mat-mdc-card-header{height:130px!important;padding:16px 15px;background-color:#eee6;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.mat-mdc-card-header .mat-mdc-card-title{margin:0!important}.card-header-benefits{align-items:center;text-transform:uppercase}.card-header-status{display:flex;align-items:center}.card-header-status-icon{margin-right:5px;width:10px}.status{text-transform:uppercase}.card-header-description{margin-top:10px!important;text-align:left;line-height:1.78;overflow-y:auto}.card-header-detail{margin-top:10px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:pre-line}.tile-no-html{justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important}.default-image{padding:68px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: i6.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i6.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i6.MatCardImage, selector: "[mat-card-image], [matCardImage]" }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i7.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i7.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i7.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "directive", type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }] });
151
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: WMaterialServiceCardComponent, decorators: [{
152
150
  type: Component,
153
- args: [{ selector: 'w-material-service-card', template: "<mat-card *ngIf=\"wappingServiceReady\" class=\"service-card\" (click)=\"isDevModeActive ? setImage() : cardOnClick(wappingService)\" [pTooltip]=\"onHoverImageTooltip\" tooltipPosition=\"top\">\r\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <div class=\"service-card-image-title\"\r\n fxLayout=\"row\" fxLayoutGap=\"5px\"\r\n *ngIf=\"wappingService.tile1 && wappingService.tile1 != ''\">\r\n <!--tile1-->\r\n <div [ngClass]=\"{'tile-no-html': !hasHtml(wappingService.tile1)}\" class=\"service-card-tile1\"\r\n [innerHtml]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div class=\"service-card-image\">\r\n <img mat-card-image \r\n [ngClass]=\"{'default-image' : isNoImage}\" \r\n [src]=\"getImage()\">\r\n </div>\r\n </div>\r\n <mat-card-header fxLayout=\"column\">\r\n <div fxLayout=\"row\">\r\n <div fxFlex></div>\r\n <!--status-->\r\n <div class=\"card-header-status-container\" *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard\" fxLayout=\"row\" fxLayoutGap=\"5px\">\r\n <div class=\"card-header-status\" *ngIf=\"wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"activated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.activedService }}</span>\r\n </div>\r\n <div class=\"card-header-status\" *ngIf=\"!wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"deactivated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.disabledService }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!--tile3-->\r\n <div *ngIf=\"wappingService.tile3\" class=\"card-header-description\">\r\n <div [innerHtml]=\"wappingService.tile3\"></div>\r\n </div>\r\n </mat-card-header>\r\n</mat-card>", styles: [":host ::ng-deep .service-card{width:380px}.mat-mdc-card{padding:0}.service-card{cursor:pointer;transition:none!important;box-shadow:1px 2px 8px #1f1f1f14}.service-card-image-title{position:absolute!important;width:100%!important;min-height:22px!important;top:0!important;z-index:99!important}.service-card-tile1{width:100%;min-height:22px}.service-card-image{font-size:0px;border-top-left-radius:5px;border-top-right-radius:5px;width:100%}.mat-mdc-card-image{width:100%;margin:0;max-height:500px}.mat-mdc-card-image:first-child{margin:0}.mat-mdc-card-content{padding:5px}.mat-mdc-card-header{height:130px!important;padding:16px 15px;background-color:#eee6;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.mat-mdc-card-header .mat-mdc-card-title{margin:0!important}.card-header-benefits{align-items:center;text-transform:uppercase}.card-header-status{display:flex;align-items:center}.card-header-status-icon{margin-right:5px;width:10px}.status{text-transform:uppercase}.card-header-description{margin-top:10px!important;text-align:left;line-height:1.78;overflow-y:auto}.card-header-detail{margin-top:10px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:pre-line}.tile-no-html{background-color:#000;color:#fff;margin-left:60px;margin-right:60px;border-radius:0 0 4.3118px 4.3118px!important;justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important;padding:4px!important}.default-image{padding:68px}\n"] }]
154
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MatIconRegistry }, { type: i3.DomSanitizer }, { type: i4.DialogService }]; }, propDecorators: { isDevModeActive: [{
151
+ args: [{ selector: 'w-material-service-card', template: "<mat-card *ngIf=\"wappingServiceReady\" class=\"service-card\" (click)=\"isDevModeActive ? setImage() : cardOnClick(wappingService)\" [pTooltip]=\"onHoverImageTooltip\" tooltipPosition=\"top\">\r\n <div class=\"service-card-header\" fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <!-- tile1 -->\r\n <div *ngIf=\"!hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-card-image-title\">\r\n <div class=\"tile-no-html\"\r\n [innerHtml]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div *ngIf=\"hasHtml(wappingService.tile1) && wappingService.tile1 && wappingService.tile1 != ''\" class=\"service-card-image-title-html\"\r\n fxLayout=\"row\" fxLayoutGap=\"5px\">\r\n <div class=\"service-card-tile1\"\r\n [innerHtml]=\"wappingService.tile1\"></div>\r\n </div>\r\n <div class=\"service-card-image\">\r\n <img mat-card-image \r\n [ngClass]=\"{'default-image' : isNoImage}\" \r\n [src]=\"getImage()\">\r\n </div>\r\n </div>\r\n <mat-card-header fxLayout=\"column\">\r\n <div fxLayout=\"row\">\r\n <div fxFlex></div>\r\n <!--status-->\r\n <div class=\"card-header-status-container\" *ngIf=\"wappingService.allowSelect && allowSelectSendGiftCard\" fxLayout=\"row\" fxLayoutGap=\"5px\">\r\n <div class=\"card-header-status\" *ngIf=\"wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"activated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.activedService }}</span>\r\n </div>\r\n <div class=\"card-header-status\" *ngIf=\"!wappingService.active\">\r\n <mat-icon class=\"card-header-status-icon\" svgIcon=\"deactivated\"></mat-icon>\r\n <span class=\"status\">{{ wappingTranslations.disabledService }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!--tile3-->\r\n <div *ngIf=\"wappingService.tile3\" class=\"card-header-description\">\r\n <div [innerHtml]=\"wappingService.tile3\"></div>\r\n </div>\r\n </mat-card-header>\r\n</mat-card>\r\n", styles: [":host ::ng-deep .service-card{width:380px}.mat-mdc-card{padding:0}.service-card{cursor:pointer;transition:none!important;box-shadow:1px 2px 8px #1f1f1f14}.service-card-header{position:relative}.service-card-image-title{position:absolute;top:0!important;right:0!important;left:0!important;z-index:2;margin:0 60px!important;min-height:22px!important;border-radius:0 0 4.3118px 4.3118px!important;background-color:#0e0c0c;color:#fff;display:flex;justify-content:center;align-items:center;padding:4px}.service-card-image-title-html{position:absolute!important;width:100%!important;min-height:22px!important;top:0!important;z-index:99!important}.service-card-tile1{width:100%;min-height:22px}.service-card-image{font-size:0px;border-top-left-radius:5px;border-top-right-radius:5px;width:100%}.mat-mdc-card-image{width:100%;margin:0;max-height:500px}.mat-mdc-card-image:first-child{margin:0}.mat-mdc-card-content{padding:5px}.mat-mdc-card-header{height:130px!important;padding:16px 15px;background-color:#eee6;border-bottom-left-radius:5px;border-bottom-right-radius:5px}.mat-mdc-card-header .mat-mdc-card-title{margin:0!important}.card-header-benefits{align-items:center;text-transform:uppercase}.card-header-status{display:flex;align-items:center}.card-header-status-icon{margin-right:5px;width:10px}.status{text-transform:uppercase}.card-header-description{margin-top:10px!important;text-align:left;line-height:1.78;overflow-y:auto}.card-header-detail{margin-top:10px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:pre-line}.tile-no-html{justify-content:center!important;align-items:center!important;display:flex!important;text-align:center!important}.default-image{padding:68px}\n"] }]
152
+ }], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i2.DomSanitizer }, { type: i3.DialogService }]; }, propDecorators: { isDevModeActive: [{
155
153
  type: Input
156
154
  }], wappingServicesTranslations: [{
157
155
  type: Input
@@ -171,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
171
169
  }], onHoverImageTooltip: [{
172
170
  type: Input
173
171
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUE2QixNQUFNLDhCQUE4QixDQUFDO0FBU3BHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7Ozs7OztBQVM5RixNQUFNLE9BQU8sNkJBQTZCO0lBcUJ4QyxJQUFhLDJCQUEyQixDQUFDLEtBQWlDO1FBQ3hFLElBQUcsS0FBSztZQUFFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFJRCxJQUFhLGNBQWMsQ0FBQyxLQUFxQjtRQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFHLEtBQUs7WUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQWtCRCxZQUNVLEtBQWEsRUFDYixlQUFnQyxFQUNoQyxZQUEwQixFQUMxQixhQUE0QjtRQUg1QixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQ2Isb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBM0Q3QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUMxQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUNoQyw0QkFBdUIsR0FBWSxJQUFJLENBQUM7UUFFeEMsc0JBQWlCLEdBQTBCLGFBQWEsQ0FBQztRQUN6RCxnQkFBVyxHQUFzQixVQUFVLENBQUM7UUFFNUMsd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBQ3JDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFbkIseUJBQW9CLEdBQStCO1lBQ3pELGNBQWMsRUFBRSxVQUFVO1lBQzFCLGVBQWUsRUFBRSxhQUFhO1lBQzlCLGNBQWMsRUFBRSxtQ0FBbUM7WUFDbkQsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixhQUFhLEVBQUUsZ0VBQWdFO1lBQy9FLGFBQWEsRUFBRSxzQkFBc0I7WUFDckMsUUFBUSxFQUFFLGFBQWE7U0FDeEIsQ0FBQztRQXFCcUIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUcvRCw4QkFBeUIsR0FBc0I7WUFDdEQsY0FBYyxFQUFFLEtBQUs7WUFDckIscUJBQXFCLEVBQUUsQ0FBQyxHQUFDLENBQUM7WUFDMUIsZUFBZSxFQUFFLEdBQUc7WUFDcEIsZUFBZSxFQUFFLEdBQUc7WUFDcEIsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQztRQUdRLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDN0QsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUNsQix3QkFBbUIsR0FBUSxjQUFjLENBQUM7UUFRakQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsOEJBQThCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO1FBQ2pJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQztJQUN2SSxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsWUFBWSxFQUFDO1lBQ3JFLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsWUFBWSxDQUFBO1NBQzdEO1FBRUQsSUFBRyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksRUFBQztZQUNqRSxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBRUQsdUJBQXVCLENBQUMsT0FBdUI7UUFDN0MsSUFBSSxPQUFPLENBQUMsdUJBQXVCLElBQUksSUFBSSxFQUFFO1lBQzNDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxzQkFBOEMsRUFBRSxFQUFFO2dCQUN6RixJQUFJLHNCQUFzQixDQUFDLGFBQWEsSUFBSSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFDO29CQUM3RixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLENBQUM7aUJBQ2pHO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2lCQUNwQjtnQkFFRCxJQUFJLHNCQUFzQixDQUFDLFdBQVcsSUFBSSxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFDO29CQUN6RixPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQy9GO3FCQUFNO29CQUNMLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2lCQUNwQjtZQUVILENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBdUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLE9BQU8sb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxHQUFHLEdBQXFCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzVFLE1BQU0sRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEQsS0FBSyxFQUFFLE9BQU87WUFDZCxZQUFZLEVBQUUsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFDO1lBQzdFLElBQUksRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyx5QkFBeUIsRUFBQztZQUMvRixTQUFTLEVBQUUsSUFBSTtTQUNoQixDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQXNCLEVBQUUsRUFBRTtZQUMvQyxJQUFHLFlBQVksRUFBQztnQkFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztnQkFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEQ7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBRyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksRUFBQztZQUM5QixJQUFHLElBQUksQ0FBQyxZQUFZLEVBQUM7Z0JBQ25CLElBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUM7b0JBQ3RDLE9BQVEsSUFBSSxDQUFDLFlBQXlCLENBQUMsVUFBVSxDQUFDO2lCQUNuRDtxQkFBSTtvQkFDSCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7aUJBQzFCO2FBQ0Y7aUJBQUk7Z0JBQ0gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ3RCLE9BQU8sdUNBQXVDLENBQUM7YUFDaEQ7U0FDRjthQUFJO1lBQ0gsSUFBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFDO2dCQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO2dCQUNoQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO2FBQ3JDO2lCQUFJO2dCQUNILElBQUcsSUFBSSxDQUFDLFlBQVksRUFBQztvQkFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2lCQUMxQjtxQkFBSTtvQkFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztvQkFDdEIsT0FBTyx1Q0FBdUMsQ0FBQztpQkFDaEQ7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFzQjtRQUNqQyxPQUFRLEdBQWdCLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQztJQUNoRCxDQUFDOzsySEF2SlUsNkJBQTZCOytHQUE3Qiw2QkFBNkIsaWZDbkIxQyx1MURBbUNXOzRGRGhCRSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UseUJBQXlCO2tMQUsxQixlQUFlO3NCQUF2QixLQUFLO2dCQW9CTywyQkFBMkI7c0JBQXZDLEtBQUs7Z0JBVU8sY0FBYztzQkFBMUIsS0FBSztnQkFTaUIsV0FBVztzQkFBakMsTUFBTTt1QkFBQyxhQUFhO2dCQUVaLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQVFHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRUUsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhcmRTdGF0dXMsIFNlbmRpbmdTdGF0dXMsIFdhcHBpbmdTZXJ2aWNlQXBwVmlld1R5cGUgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL2VudW1zLm1vZGVsJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3dhcHBpbmctc2VydmljZSc7XHJcbmltcG9ydCB7IFdhcHBpbmdTZXJ2aWNlVHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy93YXBwaW5nLXNlcnZpY2UtdHJhbnNsYXRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2VJdGVtVmlldyB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLWl0ZW0tdmlldyc7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2VUZW1wbGF0ZSB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLXRlbXBsYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFdJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9maWxlL3ctaW1hZ2UtY3JvcHBlci93LWltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV0ZpbGVCNjQgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL3ctZmlsZS1iNjQubW9kZWwnO1xyXG5pbXBvcnQgeyBXSW1hZ2VDcm9wcGVyRGF0YSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvdy1pbWFnZS1jcm9wcGVyLWRhdGEubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LW1hdGVyaWFsLXNlcnZpY2UtY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ctbWF0ZXJpYWwtc2VydmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LW1hdGVyaWFsLXNlcnZpY2UtY2FyZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXTWF0ZXJpYWxTZXJ2aWNlQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgaXNEZXZNb2RlQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNTZW5kR2lmdENhcmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbGxvd1NlbGVjdFNlbmRHaWZ0Q2FyZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgZW51bVNlbmRpbmdTdGF0dXM6IHR5cGVvZiBTZW5kaW5nU3RhdHVzID0gIFNlbmRpbmdTdGF0dXM7XHJcbiAgZWNhcmRTdGF0dXM6IHR5cGVvZiBDYXJkU3RhdHVzID0gQ2FyZFN0YXR1cztcclxuXHJcbiAgd2FwcGluZ1NlcnZpY2VSZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVtcHR5VGlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF93YXBwaW5nVHJhbnNsYXRpb25zOiBXYXBwaW5nU2VydmljZVRyYW5zbGF0aW9ucyA9IHtcclxuICAgIGFjdGl2ZWRTZXJ2aWNlOiAnQWN0aXZhZGEnLFxyXG4gICAgZGlzYWJsZWRTZXJ2aWNlOiAnRGVzYWN0aXZhZGEnLFxyXG4gICAgc2NoZWR1bGVkTGFiZWw6ICdQcm9ncmFtYWRhIHBhcmEgZW52aWFyIGEge3tuYW1lfX0nLFxyXG4gICAgc2VuZExhYmVsOiAnRW52aWFkYSBhIHt7bmFtZX19JyxcclxuICAgIGNhcmRHZW5lcmF0ZWQ6ICdUdSB0YXJqZXRhIGVzdGFyw6EgZGlzcG9uaWJsZSBwYXJhIGVsIGVudsOtbyBlbiBicmV2ZXMgaW5zdGFudGVzJyxcclxuICAgIHJlY2VpdmVkTGFiZWw6IFwiRW52aWFkYSBwb3Ige3tuYW1lfX1cIixcclxuICAgIHNob3dNb3JlOiBcIk1vc3RyYXIgbcOhc1wiLFxyXG4gIH07XHJcbiAgXHJcbiAgQElucHV0KCkgc2V0IHdhcHBpbmdTZXJ2aWNlc1RyYW5zbGF0aW9ucyh2YWx1ZTogV2FwcGluZ1NlcnZpY2VUcmFuc2xhdGlvbnMpIHtcclxuICAgIGlmKHZhbHVlKSB0aGlzLl93YXBwaW5nVHJhbnNsYXRpb25zID0gdmFsdWU7XHJcbiAgfVxyXG4gIFxyXG4gIGdldCB3YXBwaW5nVHJhbnNsYXRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dhcHBpbmdUcmFuc2xhdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YXBwaW5nU2VydmljZSE6IFdhcHBpbmdTZXJ2aWNlO1xyXG5cclxuICBASW5wdXQoKSBzZXQgd2FwcGluZ1NlcnZpY2UodmFsdWU6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLl93YXBwaW5nU2VydmljZSA9IHZhbHVlO1xyXG4gICAgaWYodmFsdWUpIHRoaXMuZ2V0V2FwcGluZ1NlcnZpY2VUaXRsZXModmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdhcHBpbmdTZXJ2aWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dhcHBpbmdTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgnY2FyZENsaWNrZWQnKSBjYXJkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8V2FwcGluZ1NlcnZpY2U+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGRlZmF1bHRJbWFnZSE6IFdGaWxlQjY0IHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNyb3BwZWRJbWFnZUNvbmZpZ3VyYXRpb246IFdJbWFnZUNyb3BwZXJEYXRhID0ge1xyXG4gICAgcm91bmRlZENyb3BwZXI6IGZhbHNlLCBcclxuICAgIGNvbmZpZ3VyZWRBc3BlY3RSYXRpbzogNC8zLCBcclxuICAgIHZpZXdQb3J0SGVpaHRQeDogNjAwLCBcclxuICAgIHZpZXdQb3J0V2lkdGhQeDogODAwLCBcclxuICAgIG1heEZpbGVTaXplOiAyMDAwXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCkgY3JvcHBlZERpYWxvZ1RyYW5zbGF0aW9uczogYW55O1xyXG4gIEBPdXRwdXQoKSBvbkRlZmF1bHRJbWFnZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxXRmlsZUI2ND4oKTtcclxuICBpc05vSW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvbkhvdmVySW1hZ2VUb29sdGlwOiBhbnkgPSAnVXBsb2FkIGltYWdlJztcclxuICBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGU6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXHJcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLCBcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcImFjdGl2YXRlZFwiLCB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXCJhc3NldHMvd2FwcEljb25zL2FjdGl2YXRlZC5zdmdcIikpO1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcImRlYWN0aXZhdGVkXCIsIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcImFzc2V0cy93YXBwSWNvbnMvZGVhY3RpdmF0ZWQuc3ZnXCIpKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXNbJ3dhcHBpbmdTZXJ2aWNlJ10gJiYgY2hhbmdlc1snd2FwcGluZ1NlcnZpY2UnXS5jdXJyZW50VmFsdWUpe1xyXG4gICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlID0gY2hhbmdlc1snd2FwcGluZ1NlcnZpY2UnXS5jdXJyZW50VmFsdWVcclxuICAgIH1cclxuXHJcbiAgICBpZihjaGFuZ2VzWydkZWZhdWx0SW1hZ2UnXSAmJiBjaGFuZ2VzWydkZWZhdWx0SW1hZ2UnXS5jdXJyZW50VmFsdWUpe1xyXG4gICAgICB0aGlzLmRlZmF1bHRJbWFnZSA9IGNoYW5nZXNbJ2RlZmF1bHRJbWFnZSddLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFdhcHBpbmdTZXJ2aWNlVGl0bGVzKHNlcnZpY2U6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICBpZiAoc2VydmljZS53YXBwaW5nU2VydmljZVRlbXBsYXRlcyAhPSBudWxsKSB7XHJcbiAgICAgIHNlcnZpY2Uud2FwcGluZ1NlcnZpY2VUZW1wbGF0ZXMuZm9yRWFjaCgod2FwcGluZ1NlcnZpY2VUZW1wbGF0ZTogV2FwcGluZ1NlcnZpY2VUZW1wbGF0ZSkgPT4ge1xyXG4gICAgICAgIGlmICh3YXBwaW5nU2VydmljZVRlbXBsYXRlLnN1bW1hcnlIZWFkZXIgJiYgd2FwcGluZ1NlcnZpY2VUZW1wbGF0ZS5zdW1tYXJ5SGVhZGVyLnRyaW0oKSAhPT0gJycpe1xyXG4gICAgICAgICAgc2VydmljZS50aWxlMSA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhcHBpbmdTZXJ2aWNlVGVtcGxhdGUuc3VtbWFyeUhlYWRlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNlcnZpY2UudGlsZTEgPSAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh3YXBwaW5nU2VydmljZVRlbXBsYXRlLnN1bW1hcnlCb2R5ICYmIHdhcHBpbmdTZXJ2aWNlVGVtcGxhdGUuc3VtbWFyeUJvZHkudHJpbSgpICE9PSAnJyl7XHJcbiAgICAgICAgICBzZXJ2aWNlLnRpbGUzID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwod2FwcGluZ1NlcnZpY2VUZW1wbGF0ZS5zdW1tYXJ5Qm9keSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNlcnZpY2UudGlsZTMgPSAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy53YXBwaW5nU2VydmljZVJlYWR5ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhcmRPbkNsaWNrKHNlcnZpY2U6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmNhcmRDbGlja2VkLmVtaXQoc2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBoYXNIdG1sKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvPFxcLz9bYS16XVtcXHNcXFNdKj4vaS50ZXN0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldEltYWdlKCl7XHJcbiAgICBjb25zdCByZWY6IER5bmFtaWNEaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihXSW1hZ2VDcm9wcGVyQ29tcG9uZW50LCB7XHJcbiAgICAgIGhlYWRlcjogdGhpcy5jcm9wcGVkRGlhbG9nVHJhbnNsYXRpb25zPy5tb2RhbC5oZWFkZXIsXHJcbiAgICAgIHdpZHRoOiAnNzByZW0nLFxyXG4gICAgICBjb250ZW50U3R5bGU6IHtcIm92ZXJmbG93XCI6IFwiYXV0b1wiLCBcImhlaWdodFwiOiBcImF1dG9cIiwgXCJwYWRkaW5nLWJvdHRvbVwiOiBcIjhweFwifSxcclxuICAgICAgZGF0YToge2RhdGFNb2RhbDogdGhpcy5jcm9wcGVkSW1hZ2VDb25maWd1cmF0aW9uLCB0cmFuc2xhdGlvbnM6IHRoaXMuY3JvcHBlZERpYWxvZ1RyYW5zbGF0aW9uc30sXHJcbiAgICAgIHJlc2l6YWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVmLm9uQ2xvc2Uuc3Vic2NyaWJlKChpbWFnZUNyb3BwZWQ6IFdGaWxlQjY0KSA9PiB7XHJcbiAgICAgIGlmKGltYWdlQ3JvcHBlZCl7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0SW1hZ2UgPSBpbWFnZUNyb3BwZWQ7XHJcbiAgICAgICAgdGhpcy5vbkRlZmF1bHRJbWFnZUV2ZW50LmVtaXQodGhpcy5kZWZhdWx0SW1hZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2UoKXtcclxuICAgIHRoaXMuaXNOb0ltYWdlID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLmlzRGV2TW9kZUFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgaWYodGhpcy5kZWZhdWx0SW1hZ2Upe1xyXG4gICAgICAgIGlmKHRoaXMuaXNXRmlsZUltYWdlKHRoaXMuZGVmYXVsdEltYWdlKSl7XHJcbiAgICAgICAgICByZXR1cm4gKHRoaXMuZGVmYXVsdEltYWdlIGFzIFdGaWxlQjY0KS5maWxlQmFzZTY0O1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdEltYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5pc05vSW1hZ2UgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiAnLi8uLi8uLi8uLi9hc3NldHMvd2FwcEljb25zL2ltYWdlLnN2Zyc7XHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICBpZih0aGlzLndhcHBpbmdTZXJ2aWNlICYmIHRoaXMud2FwcGluZ1NlcnZpY2UuaW1hZ2VVcmwpe1xyXG4gICAgICAgIHRoaXMub25Ib3ZlckltYWdlVG9vbHRpcCA9IG51bGw7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud2FwcGluZ1NlcnZpY2UuaW1hZ2VVcmw7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuZGVmYXVsdEltYWdlKXtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRJbWFnZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuaXNOb0ltYWdlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybiAnLi8uLi8uLi8uLi9hc3NldHMvd2FwcEljb25zL2ltYWdlLnN2Zyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1dGaWxlSW1hZ2Uob2JqOiBXRmlsZUI2NCB8IHN0cmluZyl7XHJcbiAgICByZXR1cm4gKG9iaiBhcyBXRmlsZUI2NCkuYmFzZTY0ICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2FyZCAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlUmVhZHlcIiBjbGFzcz1cInNlcnZpY2UtY2FyZFwiIChjbGljayk9XCJpc0Rldk1vZGVBY3RpdmUgPyBzZXRJbWFnZSgpIDogY2FyZE9uQ2xpY2sod2FwcGluZ1NlcnZpY2UpXCIgW3BUb29sdGlwXT1cIm9uSG92ZXJJbWFnZVRvb2x0aXBcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIj5cclxuICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWNhcmQtaW1hZ2UtdGl0bGVcIlxyXG4gICAgICAgICBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0R2FwPVwiNXB4XCJcclxuICAgICAgICAgKm5nSWY9XCJ3YXBwaW5nU2VydmljZS50aWxlMSAmJiB3YXBwaW5nU2VydmljZS50aWxlMSAhPSAnJ1wiPlxyXG4gICAgICA8IS0tdGlsZTEtLT5cclxuICAgICAgPGRpdiBbbmdDbGFzc109XCJ7J3RpbGUtbm8taHRtbCc6ICFoYXNIdG1sKHdhcHBpbmdTZXJ2aWNlLnRpbGUxKX1cIiBjbGFzcz1cInNlcnZpY2UtY2FyZC10aWxlMVwiXHJcbiAgICAgICAgW2lubmVySHRtbF09XCJ3YXBwaW5nU2VydmljZS50aWxlMVwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkLWltYWdlXCI+XHJcbiAgICAgIDxpbWcgbWF0LWNhcmQtaW1hZ2UgIFxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnZGVmYXVsdC1pbWFnZScgOiBpc05vSW1hZ2V9XCIgXHJcbiAgICAgICAgW3NyY109XCJnZXRJbWFnZSgpXCI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWNhcmQtaGVhZGVyIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCI+XHJcbiAgICAgIDxkaXYgZnhGbGV4PjwvZGl2PlxyXG4gICAgICA8IS0tc3RhdHVzLS0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlci1zdGF0dXMtY29udGFpbmVyXCIgKm5nSWY9XCJ3YXBwaW5nU2VydmljZS5hbGxvd1NlbGVjdCAmJiBhbGxvd1NlbGVjdFNlbmRHaWZ0Q2FyZFwiIGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCI1cHhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXItc3RhdHVzXCIgKm5nSWY9XCJ3YXBwaW5nU2VydmljZS5hY3RpdmVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNhcmQtaGVhZGVyLXN0YXR1cy1pY29uXCIgc3ZnSWNvbj1cImFjdGl2YXRlZFwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXR1c1wiPnt7IHdhcHBpbmdUcmFuc2xhdGlvbnMuYWN0aXZlZFNlcnZpY2UgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyLXN0YXR1c1wiICpuZ0lmPVwiIXdhcHBpbmdTZXJ2aWNlLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY2FyZC1oZWFkZXItc3RhdHVzLWljb25cIiBzdmdJY29uPVwiZGVhY3RpdmF0ZWRcIj48L21hdC1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdGF0dXNcIj57eyB3YXBwaW5nVHJhbnNsYXRpb25zLmRpc2FibGVkU2VydmljZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDwhLS10aWxlMy0tPlxyXG4gICAgPGRpdiAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlLnRpbGUzXCIgY2xhc3M9XCJjYXJkLWhlYWRlci1kZXNjcmlwdGlvblwiPlxyXG4gICAgICAgIDxkaXYgW2lubmVySHRtbF09XCJ3YXBwaW5nU2VydmljZS50aWxlM1wiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbjwvbWF0LWNhcmQ+Il19
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2FwcC1jb21wb25lbnRzL3NyYy9saWIvbWF0ZXJpYWwvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQvdy1tYXRlcmlhbC1zZXJ2aWNlLWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUE2QixNQUFNLDhCQUE4QixDQUFDO0FBU3BHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7Ozs7O0FBUzlGLE1BQU0sT0FBTyw2QkFBNkI7SUFxQnhDLElBQWEsMkJBQTJCLENBQUMsS0FBaUM7UUFDeEUsSUFBRyxLQUFLO1lBQUUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUlELElBQWEsY0FBYyxDQUFDLEtBQXFCO1FBQy9DLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQzdCLElBQUcsS0FBSztZQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixD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TTt1QkFBQyxhQUFhO2dCQUVaLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQVFHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRUUsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhcmRTdGF0dXMsIFNlbmRpbmdTdGF0dXMsIFdhcHBpbmdTZXJ2aWNlQXBwVmlld1R5cGUgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL2VudW1zLm1vZGVsJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3dhcHBpbmctc2VydmljZSc7XHJcbmltcG9ydCB7IFdhcHBpbmdTZXJ2aWNlVHJhbnNsYXRpb25zIH0gZnJvbSAnLi4vc2hhcmVkL21vZGVscy93YXBwaW5nLXNlcnZpY2UtdHJhbnNsYXRpb25zLm1vZGVsJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2VJdGVtVmlldyB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLWl0ZW0tdmlldyc7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgV2FwcGluZ1NlcnZpY2VUZW1wbGF0ZSB9IGZyb20gJy4uL3NoYXJlZC9tb2RlbHMvd2FwcGluZy1zZXJ2aWNlLXRlbXBsYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSwgRHluYW1pY0RpYWxvZ1JlZiB9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XHJcbmltcG9ydCB7IFdJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9maWxlL3ctaW1hZ2UtY3JvcHBlci93LWltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV0ZpbGVCNjQgfSBmcm9tICcuLi8uLi9zaGFyZWQvbW9kZWxzL3ctZmlsZS1iNjQubW9kZWwnO1xyXG5pbXBvcnQgeyBXSW1hZ2VDcm9wcGVyRGF0YSB9IGZyb20gJy4uLy4uL3NoYXJlZC9tb2RlbHMvdy1pbWFnZS1jcm9wcGVyLWRhdGEubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3LW1hdGVyaWFsLXNlcnZpY2UtY2FyZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ctbWF0ZXJpYWwtc2VydmljZS1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LW1hdGVyaWFsLXNlcnZpY2UtY2FyZC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXTWF0ZXJpYWxTZXJ2aWNlQ2FyZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgaXNEZXZNb2RlQWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNTZW5kR2lmdENhcmQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhbGxvd1NlbGVjdFNlbmRHaWZ0Q2FyZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgXHJcbiAgZW51bVNlbmRpbmdTdGF0dXM6IHR5cGVvZiBTZW5kaW5nU3RhdHVzID0gIFNlbmRpbmdTdGF0dXM7XHJcbiAgZWNhcmRTdGF0dXM6IHR5cGVvZiBDYXJkU3RhdHVzID0gQ2FyZFN0YXR1cztcclxuXHJcbiAgd2FwcGluZ1NlcnZpY2VSZWFkeTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGVtcHR5VGlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF93YXBwaW5nVHJhbnNsYXRpb25zOiBXYXBwaW5nU2VydmljZVRyYW5zbGF0aW9ucyA9IHtcclxuICAgIGFjdGl2ZWRTZXJ2aWNlOiAnQWN0aXZhZGEnLFxyXG4gICAgZGlzYWJsZWRTZXJ2aWNlOiAnRGVzYWN0aXZhZGEnLFxyXG4gICAgc2NoZWR1bGVkTGFiZWw6ICdQcm9ncmFtYWRhIHBhcmEgZW52aWFyIGEge3tuYW1lfX0nLFxyXG4gICAgc2VuZExhYmVsOiAnRW52aWFkYSBhIHt7bmFtZX19JyxcclxuICAgIGNhcmRHZW5lcmF0ZWQ6ICdUdSB0YXJqZXRhIGVzdGFyw6EgZGlzcG9uaWJsZSBwYXJhIGVsIGVudsOtbyBlbiBicmV2ZXMgaW5zdGFudGVzJyxcclxuICAgIHJlY2VpdmVkTGFiZWw6IFwiRW52aWFkYSBwb3Ige3tuYW1lfX1cIixcclxuICAgIHNob3dNb3JlOiBcIk1vc3RyYXIgbcOhc1wiLFxyXG4gIH07XHJcbiAgXHJcbiAgQElucHV0KCkgc2V0IHdhcHBpbmdTZXJ2aWNlc1RyYW5zbGF0aW9ucyh2YWx1ZTogV2FwcGluZ1NlcnZpY2VUcmFuc2xhdGlvbnMpIHtcclxuICAgIGlmKHZhbHVlKSB0aGlzLl93YXBwaW5nVHJhbnNsYXRpb25zID0gdmFsdWU7XHJcbiAgfVxyXG4gIFxyXG4gIGdldCB3YXBwaW5nVHJhbnNsYXRpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dhcHBpbmdUcmFuc2xhdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF93YXBwaW5nU2VydmljZSE6IFdhcHBpbmdTZXJ2aWNlO1xyXG5cclxuICBASW5wdXQoKSBzZXQgd2FwcGluZ1NlcnZpY2UodmFsdWU6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLl93YXBwaW5nU2VydmljZSA9IHZhbHVlO1xyXG4gICAgaWYodmFsdWUpIHRoaXMuZ2V0V2FwcGluZ1NlcnZpY2VUaXRsZXModmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdhcHBpbmdTZXJ2aWNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dhcHBpbmdTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgnY2FyZENsaWNrZWQnKSBjYXJkQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8V2FwcGluZ1NlcnZpY2U+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGRlZmF1bHRJbWFnZSE6IFdGaWxlQjY0IHwgc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNyb3BwZWRJbWFnZUNvbmZpZ3VyYXRpb246IFdJbWFnZUNyb3BwZXJEYXRhID0ge1xyXG4gICAgcm91bmRlZENyb3BwZXI6IGZhbHNlLCBcclxuICAgIGNvbmZpZ3VyZWRBc3BlY3RSYXRpbzogNC8zLCBcclxuICAgIHZpZXdQb3J0SGVpaHRQeDogNjAwLCBcclxuICAgIHZpZXdQb3J0V2lkdGhQeDogODAwLCBcclxuICAgIG1heEZpbGVTaXplOiAyMDAwXHJcbiAgfTtcclxuXHJcbiAgQElucHV0KCkgY3JvcHBlZERpYWxvZ1RyYW5zbGF0aW9uczogYW55O1xyXG4gIEBPdXRwdXQoKSBvbkRlZmF1bHRJbWFnZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxXRmlsZUI2ND4oKTtcclxuICBpc05vSW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvbkhvdmVySW1hZ2VUb29sdGlwOiBhbnkgPSAnVXBsb2FkIGltYWdlJztcclxuICBcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgbWF0SWNvblJlZ2lzdHJ5OiBNYXRJY29uUmVnaXN0cnksXHJcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyLCBcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcImFjdGl2YXRlZFwiLCB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwoXCJhc3NldHMvd2FwcEljb25zL2FjdGl2YXRlZC5zdmdcIikpO1xyXG4gICAgdGhpcy5tYXRJY29uUmVnaXN0cnkuYWRkU3ZnSWNvbihcImRlYWN0aXZhdGVkXCIsIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RSZXNvdXJjZVVybChcImFzc2V0cy93YXBwSWNvbnMvZGVhY3RpdmF0ZWQuc3ZnXCIpKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXNbJ3dhcHBpbmdTZXJ2aWNlJ10gJiYgY2hhbmdlc1snd2FwcGluZ1NlcnZpY2UnXS5jdXJyZW50VmFsdWUpe1xyXG4gICAgICB0aGlzLndhcHBpbmdTZXJ2aWNlID0gY2hhbmdlc1snd2FwcGluZ1NlcnZpY2UnXS5jdXJyZW50VmFsdWVcclxuICAgIH1cclxuXHJcbiAgICBpZihjaGFuZ2VzWydkZWZhdWx0SW1hZ2UnXSAmJiBjaGFuZ2VzWydkZWZhdWx0SW1hZ2UnXS5jdXJyZW50VmFsdWUpe1xyXG4gICAgICB0aGlzLmRlZmF1bHRJbWFnZSA9IGNoYW5nZXNbJ2RlZmF1bHRJbWFnZSddLmN1cnJlbnRWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFdhcHBpbmdTZXJ2aWNlVGl0bGVzKHNlcnZpY2U6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICBpZiAoc2VydmljZS53YXBwaW5nU2VydmljZVRlbXBsYXRlcyAhPSBudWxsKSB7XHJcbiAgICAgIHNlcnZpY2Uud2FwcGluZ1NlcnZpY2VUZW1wbGF0ZXMuZm9yRWFjaCgod2FwcGluZ1NlcnZpY2VUZW1wbGF0ZTogV2FwcGluZ1NlcnZpY2VUZW1wbGF0ZSkgPT4ge1xyXG4gICAgICAgIGlmICh3YXBwaW5nU2VydmljZVRlbXBsYXRlLnN1bW1hcnlIZWFkZXIgJiYgd2FwcGluZ1NlcnZpY2VUZW1wbGF0ZS5zdW1tYXJ5SGVhZGVyLnRyaW0oKSAhPT0gJycpe1xyXG4gICAgICAgICAgc2VydmljZS50aWxlMSA9IHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKHdhcHBpbmdTZXJ2aWNlVGVtcGxhdGUuc3VtbWFyeUhlYWRlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNlcnZpY2UudGlsZTEgPSAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh3YXBwaW5nU2VydmljZVRlbXBsYXRlLnN1bW1hcnlCb2R5ICYmIHdhcHBpbmdTZXJ2aWNlVGVtcGxhdGUuc3VtbWFyeUJvZHkudHJpbSgpICE9PSAnJyl7XHJcbiAgICAgICAgICBzZXJ2aWNlLnRpbGUzID0gdGhpcy5kb21TYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwod2FwcGluZ1NlcnZpY2VUZW1wbGF0ZS5zdW1tYXJ5Qm9keSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHNlcnZpY2UudGlsZTMgPSAnJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy53YXBwaW5nU2VydmljZVJlYWR5ID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhcmRPbkNsaWNrKHNlcnZpY2U6IFdhcHBpbmdTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmNhcmRDbGlja2VkLmVtaXQoc2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBoYXNIdG1sKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvPFxcLz9bYS16XVtcXHNcXFNdKj4vaS50ZXN0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldEltYWdlKCl7XHJcbiAgICBjb25zdCByZWY6IER5bmFtaWNEaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbihXSW1hZ2VDcm9wcGVyQ29tcG9uZW50LCB7XHJcbiAgICAgIGhlYWRlcjogdGhpcy5jcm9wcGVkRGlhbG9nVHJhbnNsYXRpb25zPy5tb2RhbC5oZWFkZXIsXHJcbiAgICAgIHdpZHRoOiAnNzByZW0nLFxyXG4gICAgICBjb250ZW50U3R5bGU6IHtcIm92ZXJmbG93XCI6IFwiYXV0b1wiLCBcImhlaWdodFwiOiBcImF1dG9cIiwgXCJwYWRkaW5nLWJvdHRvbVwiOiBcIjhweFwifSxcclxuICAgICAgZGF0YToge2RhdGFNb2RhbDogdGhpcy5jcm9wcGVkSW1hZ2VDb25maWd1cmF0aW9uLCB0cmFuc2xhdGlvbnM6IHRoaXMuY3JvcHBlZERpYWxvZ1RyYW5zbGF0aW9uc30sXHJcbiAgICAgIHJlc2l6YWJsZTogdHJ1ZVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmVmLm9uQ2xvc2Uuc3Vic2NyaWJlKChpbWFnZUNyb3BwZWQ6IFdGaWxlQjY0KSA9PiB7XHJcbiAgICAgIGlmKGltYWdlQ3JvcHBlZCl7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0SW1hZ2UgPSBpbWFnZUNyb3BwZWQ7XHJcbiAgICAgICAgdGhpcy5vbkRlZmF1bHRJbWFnZUV2ZW50LmVtaXQodGhpcy5kZWZhdWx0SW1hZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0SW1hZ2UoKXtcclxuICAgIHRoaXMuaXNOb0ltYWdlID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLmlzRGV2TW9kZUFjdGl2ZSA9PSB0cnVlKXtcclxuICAgICAgaWYodGhpcy5kZWZhdWx0SW1hZ2Upe1xyXG4gICAgICAgIGlmKHRoaXMuaXNXRmlsZUltYWdlKHRoaXMuZGVmYXVsdEltYWdlKSl7XHJcbiAgICAgICAgICByZXR1cm4gKHRoaXMuZGVmYXVsdEltYWdlIGFzIFdGaWxlQjY0KS5maWxlQmFzZTY0O1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdEltYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy5pc05vSW1hZ2UgPSB0cnVlO1xyXG4gICAgICAgIHJldHVybiAnLi8uLi8uLi8uLi9hc3NldHMvd2FwcEljb25zL2ltYWdlLnN2Zyc7XHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICBpZih0aGlzLndhcHBpbmdTZXJ2aWNlICYmIHRoaXMud2FwcGluZ1NlcnZpY2UuaW1hZ2VVcmwpe1xyXG4gICAgICAgIHRoaXMub25Ib3ZlckltYWdlVG9vbHRpcCA9IG51bGw7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud2FwcGluZ1NlcnZpY2UuaW1hZ2VVcmw7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuZGVmYXVsdEltYWdlKXtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRJbWFnZTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuaXNOb0ltYWdlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybiAnLi8uLi8uLi8uLi9hc3NldHMvd2FwcEljb25zL2ltYWdlLnN2Zyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1dGaWxlSW1hZ2Uob2JqOiBXRmlsZUI2NCB8IHN0cmluZyl7XHJcbiAgICByZXR1cm4gKG9iaiBhcyBXRmlsZUI2NCkuYmFzZTY0ICE9PSB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2FyZCAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlUmVhZHlcIiBjbGFzcz1cInNlcnZpY2UtY2FyZFwiIChjbGljayk9XCJpc0Rldk1vZGVBY3RpdmUgPyBzZXRJbWFnZSgpIDogY2FyZE9uQ2xpY2sod2FwcGluZ1NlcnZpY2UpXCIgW3BUb29sdGlwXT1cIm9uSG92ZXJJbWFnZVRvb2x0aXBcIiB0b29sdGlwUG9zaXRpb249XCJ0b3BcIj5cclxuICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkLWhlYWRlclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cclxuICAgIDwhLS0gdGlsZTEgLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWhhc0h0bWwod2FwcGluZ1NlcnZpY2UudGlsZTEpICYmIHdhcHBpbmdTZXJ2aWNlLnRpbGUxICYmIHdhcHBpbmdTZXJ2aWNlLnRpbGUxICE9ICcnXCIgY2xhc3M9XCJzZXJ2aWNlLWNhcmQtaW1hZ2UtdGl0bGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbGUtbm8taHRtbFwiXHJcbiAgICAgICAgW2lubmVySHRtbF09XCJ3YXBwaW5nU2VydmljZS50aWxlMVwiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiaGFzSHRtbCh3YXBwaW5nU2VydmljZS50aWxlMSkgJiYgd2FwcGluZ1NlcnZpY2UudGlsZTEgJiYgd2FwcGluZ1NlcnZpY2UudGlsZTEgIT0gJydcIiBjbGFzcz1cInNlcnZpY2UtY2FyZC1pbWFnZS10aXRsZS1odG1sXCJcclxuICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjVweFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic2VydmljZS1jYXJkLXRpbGUxXCJcclxuICAgICAgICBbaW5uZXJIdG1sXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUxXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzZXJ2aWNlLWNhcmQtaW1hZ2VcIj5cclxuICAgICAgPGltZyBtYXQtY2FyZC1pbWFnZSAgXHJcbiAgICAgICAgW25nQ2xhc3NdPVwieydkZWZhdWx0LWltYWdlJyA6IGlzTm9JbWFnZX1cIiBcclxuICAgICAgICBbc3JjXT1cImdldEltYWdlKClcIj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxtYXQtY2FyZC1oZWFkZXIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cclxuICAgICAgPGRpdiBmeEZsZXg+PC9kaXY+XHJcbiAgICAgIDwhLS1zdGF0dXMtLT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyLXN0YXR1cy1jb250YWluZXJcIiAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlLmFsbG93U2VsZWN0ICYmIGFsbG93U2VsZWN0U2VuZEdpZnRDYXJkXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEdhcD1cIjVweFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlci1zdGF0dXNcIiAqbmdJZj1cIndhcHBpbmdTZXJ2aWNlLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY2FyZC1oZWFkZXItc3RhdHVzLWljb25cIiBzdmdJY29uPVwiYWN0aXZhdGVkXCI+PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3RhdHVzXCI+e3sgd2FwcGluZ1RyYW5zbGF0aW9ucy5hY3RpdmVkU2VydmljZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXItc3RhdHVzXCIgKm5nSWY9XCIhd2FwcGluZ1NlcnZpY2UuYWN0aXZlXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjYXJkLWhlYWRlci1zdGF0dXMtaWNvblwiIHN2Z0ljb249XCJkZWFjdGl2YXRlZFwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0YXR1c1wiPnt7IHdhcHBpbmdUcmFuc2xhdGlvbnMuZGlzYWJsZWRTZXJ2aWNlIH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLXRpbGUzLS0+XHJcbiAgICA8ZGl2ICpuZ0lmPVwid2FwcGluZ1NlcnZpY2UudGlsZTNcIiBjbGFzcz1cImNhcmQtaGVhZGVyLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cIndhcHBpbmdTZXJ2aWNlLnRpbGUzXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L21hdC1jYXJkLWhlYWRlcj5cclxuPC9tYXQtY2FyZD5cclxuIl19