@eui/mobile-core 17.0.0-next.3 → 17.0.0-next.4

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.
Files changed (34) hide show
  1. package/docs/components/EuimAlertMessageComponent.html +1 -1
  2. package/docs/components/EuimChipSelectorComponent.html +1 -1
  3. package/docs/components/EuimEmptyListPlaceholderComponent.html +1 -1
  4. package/docs/components/EuimLanguageListComponent.html +1 -1
  5. package/docs/components/EuimMediaHeaderComponent.html +1 -1
  6. package/docs/components/EuimMenuComponent.html +1 -1
  7. package/docs/components/EuimMultiselectComponent.html +1 -1
  8. package/docs/components/EuimMultiselectToolbarComponent.html +1 -1
  9. package/docs/components/EuimPdfWrapperComponent.html +1 -1
  10. package/docs/components/EuimSkeletonListComponent.html +1 -1
  11. package/docs/components/EuimSkeletonListItemComponent.html +1 -1
  12. package/docs/components/EuimSliderComponent.html +1 -1
  13. package/docs/components/EuimSliderInfoScreenComponent.html +1 -1
  14. package/docs/dependencies.html +6 -2
  15. package/docs/js/search/search_index.js +2 -2
  16. package/esm2022/lib/components/euim-alert-message/euim-alert-messsage.component.mjs +5 -6
  17. package/esm2022/lib/components/euim-chip-selector/euim-chip-selector.component.mjs +5 -6
  18. package/esm2022/lib/components/euim-empty-list-placeholder/euim-empty-list-placeholder.component.mjs +5 -6
  19. package/esm2022/lib/components/euim-fieldset/euim-fieldset.component.mjs +2 -2
  20. package/esm2022/lib/components/euim-media-header/euim-media-header.component.mjs +3 -4
  21. package/esm2022/lib/components/euim-menu/euim-menu.component.mjs +6 -7
  22. package/esm2022/lib/components/euim-multiselect/euim-multiselect-toolbar/euim-multiselect-toolbar.component.mjs +7 -8
  23. package/esm2022/lib/components/euim-multiselect/euim-multiselect.component.mjs +4 -5
  24. package/esm2022/lib/components/euim-pdf-wrapper/euim-pdf-wrapper.component.mjs +7 -8
  25. package/esm2022/lib/components/euim-skeleton-list/euim-skeleton-list.component.mjs +3 -3
  26. package/esm2022/lib/components/euim-skeleton-list-item/euim-skeleton-list-item.component.mjs +4 -5
  27. package/esm2022/lib/components/euim-slider/euim-slider.component.mjs +3 -3
  28. package/esm2022/lib/components/euim-slider-info-screen/euim-slider-info-screen.component.mjs +3 -3
  29. package/esm2022/lib/components/euim-spinner/euim-spinner.component.mjs +2 -2
  30. package/esm2022/lib/components/layout/euim-info-screen/euim-info-screen.component.mjs +2 -2
  31. package/esm2022/lib/components/layout/euim-language-selector/euim-language-list.component.mjs +6 -7
  32. package/fesm2022/eui-mobile-core.mjs +41 -41
  33. package/fesm2022/eui-mobile-core.mjs.map +1 -1
  34. package/package.json +1 -1
@@ -127,7 +127,7 @@ export class EuimSliderComponent {
127
127
  this.leftBtnActionClicked.emit(event);
128
128
  }
129
129
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimSliderComponent, deps: [{ token: i0.Renderer2 }, { token: i1.GestureController }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
130
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimSliderComponent, selector: "euim-slider", inputs: { actionBtnNames: "actionBtnNames", isLeftBtnVisible: "isLeftBtnVisible", isPreviousBtn: "isPreviousBtn", isNextBtn: "isNextBtn" }, outputs: { actionClicked: "actionClicked", lastStepActionClicked: "lastStepActionClicked", leftBtnActionClicked: "leftBtnActionClicked" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "slides", first: true, predicate: ["slides"], descendants: true, static: true }], ngImport: i0, template: "<div #sliderElement class=\"euim-slider__slider-container\">\n <div #slides class=\"euim-slider__slides\">\n <ng-content></ng-content>\n </div>\n <div class=\"euim-slider__pagination-container\">\n <ion-button (click)=\"onLeftBtnAction($event)\" *ngIf=isLeftBtnVisible class=\"euim-slider__action-button euim-slider__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftActionBtnName}}</ion-button>\n <div class=\"euim-slider__pagination\">\n <span (click)=\"goToSlide(i)\" *ngFor=\"let slide of slidesArray; let i = index\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider__span\"></span>\n </div>\n <ion-button (click)=\"onAction($event)\" *ngIf=\"!isLastItemReached && !isNextBtn || isNextBtn && isRightBtnVisible\" class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.actionBtnName}}</ion-button>\n <ion-button (click)=\"onLastStepAction($event)\" *ngIf=isLastItemReached class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n </div>\n</div>\n", styles: [".euim-slider__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider__slides{display:flex;transition:all .5s ease;width:100%}.euim-slider__slide{width:100%}.euim-slider__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider__pagination{display:flex}.euim-slider__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary)}.euim-slider__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider__span.active{background-color:var(--eui-base-color-primary)}.euim-slider__action-button{position:absolute;color:var(--eui-base-color-primary);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] }); }
130
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: EuimSliderComponent, selector: "euim-slider", inputs: { actionBtnNames: "actionBtnNames", isLeftBtnVisible: "isLeftBtnVisible", isPreviousBtn: "isPreviousBtn", isNextBtn: "isNextBtn" }, outputs: { actionClicked: "actionClicked", lastStepActionClicked: "lastStepActionClicked", leftBtnActionClicked: "leftBtnActionClicked" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "slides", first: true, predicate: ["slides"], descendants: true, static: true }], ngImport: i0, template: "<div #sliderElement class=\"euim-slider__slider-container\">\n <div #slides class=\"euim-slider__slides\">\n <ng-content></ng-content>\n </div>\n <div class=\"euim-slider__pagination-container\">\n @if (isLeftBtnVisible) {\n <ion-button (click)=\"onLeftBtnAction($event)\"class=\"euim-slider__action-button euim-slider__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftActionBtnName}}</ion-button>\n }\n <div class=\"euim-slider__pagination\">\n @for (slide of slidesArray; track slide; let i = $index) {\n <span (click)=\"goToSlide(i)\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider__span\"></span>\n }\n </div>\n @if (!isLastItemReached && !isNextBtn || isNextBtn && isRightBtnVisible) {\n <ion-button (click)=\"onAction($event)\" class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.actionBtnName}}</ion-button>\n }\n @if (isLastItemReached) {\n <ion-button (click)=\"onLastStepAction($event)\"class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n }\n </div>\n</div>\n", styles: [".euim-slider__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider__slides{display:flex;transition:all .5s ease;width:100%}.euim-slider__slide{width:100%}.euim-slider__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider__pagination{display:flex}.euim-slider__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary-100)}.euim-slider__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider__span.active{background-color:var(--eui-base-color-primary-100)}.euim-slider__action-button{position:absolute;color:var(--eui-base-color-primary-100);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] }); }
131
131
  }
132
132
  __decorate([
133
133
  coerceBoolean
@@ -146,7 +146,7 @@ __decorate([
146
146
  ], EuimSliderComponent.prototype, "isRightBtnVisible", void 0);
147
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimSliderComponent, decorators: [{
148
148
  type: Component,
149
- args: [{ selector: 'euim-slider', template: "<div #sliderElement class=\"euim-slider__slider-container\">\n <div #slides class=\"euim-slider__slides\">\n <ng-content></ng-content>\n </div>\n <div class=\"euim-slider__pagination-container\">\n <ion-button (click)=\"onLeftBtnAction($event)\" *ngIf=isLeftBtnVisible class=\"euim-slider__action-button euim-slider__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftActionBtnName}}</ion-button>\n <div class=\"euim-slider__pagination\">\n <span (click)=\"goToSlide(i)\" *ngFor=\"let slide of slidesArray; let i = index\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider__span\"></span>\n </div>\n <ion-button (click)=\"onAction($event)\" *ngIf=\"!isLastItemReached && !isNextBtn || isNextBtn && isRightBtnVisible\" class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.actionBtnName}}</ion-button>\n <ion-button (click)=\"onLastStepAction($event)\" *ngIf=isLastItemReached class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n </div>\n</div>\n", styles: [".euim-slider__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider__slides{display:flex;transition:all .5s ease;width:100%}.euim-slider__slide{width:100%}.euim-slider__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider__pagination{display:flex}.euim-slider__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary)}.euim-slider__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider__span.active{background-color:var(--eui-base-color-primary)}.euim-slider__action-button{position:absolute;color:var(--eui-base-color-primary);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}\n"] }]
149
+ args: [{ selector: 'euim-slider', template: "<div #sliderElement class=\"euim-slider__slider-container\">\n <div #slides class=\"euim-slider__slides\">\n <ng-content></ng-content>\n </div>\n <div class=\"euim-slider__pagination-container\">\n @if (isLeftBtnVisible) {\n <ion-button (click)=\"onLeftBtnAction($event)\"class=\"euim-slider__action-button euim-slider__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftActionBtnName}}</ion-button>\n }\n <div class=\"euim-slider__pagination\">\n @for (slide of slidesArray; track slide; let i = $index) {\n <span (click)=\"goToSlide(i)\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider__span\"></span>\n }\n </div>\n @if (!isLastItemReached && !isNextBtn || isNextBtn && isRightBtnVisible) {\n <ion-button (click)=\"onAction($event)\" class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.actionBtnName}}</ion-button>\n }\n @if (isLastItemReached) {\n <ion-button (click)=\"onLastStepAction($event)\"class=\"euim-slider__action-button euim-slider__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n }\n </div>\n</div>\n", styles: [".euim-slider__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider__slides{display:flex;transition:all .5s ease;width:100%}.euim-slider__slide{width:100%}.euim-slider__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider__pagination{display:flex}.euim-slider__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary-100)}.euim-slider__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider__span.active{background-color:var(--eui-base-color-primary-100)}.euim-slider__action-button{position:absolute;color:var(--eui-base-color-primary-100);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}\n"] }]
150
150
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.GestureController }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { slides: [{
151
151
  type: ViewChild,
152
152
  args: ['slides', { static: true }]
@@ -171,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
171
171
  type: HostListener,
172
172
  args: ['window:resize', ['$event']]
173
173
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tc2xpZGVyL2V1aW0tc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLXNsaWRlci9ldWltLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdILFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBUTFDOztFQUVFO0FBQ0YsTUFBTSxPQUFPLG1CQUFtQjtJQXdDNUIsWUFBb0IsUUFBbUIsRUFDbkIsV0FBOEIsRUFDOUIsYUFBeUIsRUFDekIsR0FBc0I7UUFIdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQVk7UUFDekIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4Q2hDLGtCQUFhLEdBQ25CLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIsMEJBQXFCLEdBQzNCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIseUJBQW9CLEdBQzFCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUIsbUJBQWMsR0FBbUI7WUFDdEMsYUFBYSxFQUFFLE1BQU07WUFDckIscUJBQXFCLEVBQUUsTUFBTTtZQUM3QixpQkFBaUIsRUFBRSxVQUFVO1NBQ2hDLENBQUM7UUFHRixzQkFBaUIsR0FBaUIsS0FBSyxDQUFDO1FBSXhDLHFCQUFnQixHQUFpQixLQUFLLENBQUM7UUFJdkMsa0JBQWEsR0FBaUIsS0FBSyxDQUFDO1FBSXBDLGNBQVMsR0FB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QUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO2lJQTNLUSxtQkFBbUI7cUhBQW5CLG1CQUFtQixtaUJDM0JoQywydkNBa0JBOztBRDBCSTtJQURDLGFBQWE7OERBQzBCO0FBSXhDO0lBREMsYUFBYTs2REFDeUI7QUFJdkM7SUFEQyxhQUFhOzBEQUNzQjtBQUlwQztJQURDLGFBQWE7c0RBQ2tCO0FBR2hDO0lBREMsYUFBYTs4REFDeUI7MkZBaEM5QixtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0ksYUFBYTt1S0FTZ0IsTUFBTTtzQkFBNUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUzQixhQUFhO3NCQUF0QixNQUFNO2dCQUVHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBR0UsY0FBYztzQkFBdEIsS0FBSztnQkFPTixpQkFBaUIsTUFJakIsZ0JBQWdCO3NCQUZmLEtBQUs7Z0JBTU4sYUFBYTtzQkFGWixLQUFLO2dCQU1OLFNBQVM7c0JBRlIsS0FBSztnQkFLTixpQkFBaUIsTUFFSyxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBY3BCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBIb3N0TGlzdGVuZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2VzdHVyZUNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWltLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG59KVxuXG4vKipcbiogIEBkZXByZWNhdGVkIEl0IHdhcyByZW1vdmVkIGluIHYxNi4gVXNlIHtAbGluayBldWltLXNsaWRlci1pbmZvLXNjcmVlbn0gaW5zdGVhZC4gXG4qL1xuZXhwb3J0IGNsYXNzIEV1aW1TbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3NsaWRlcycsIHsgc3RhdGljOiB0cnVlIH0pIHNsaWRlczogRWxlbWVudFJlZjtcblxuICAgIEBPdXRwdXQoKSBhY3Rpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGxhc3RTdGVwQWN0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBsZWZ0QnRuQWN0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgQElucHV0KCkgYWN0aW9uQnRuTmFtZXM6IEFjdGlvbkJ0bk5hbWVzID0ge1xuICAgICAgICBhY3Rpb25CdG5OYW1lOiAnU2tpcCcsXG4gICAgICAgIGxhc3RTdGVwQWN0aW9uQnRuTmFtZTogJ0RvbmUnLFxuICAgICAgICBsZWZ0QWN0aW9uQnRuTmFtZTogJ1ByZXZpb3VzJyxcbiAgICB9O1xuXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc0xhc3RJdGVtUmVhY2hlZDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNMZWZ0QnRuVmlzaWJsZTogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNQcmV2aW91c0J0bjogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNOZXh0QnRuOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNSaWdodEJ0blZpc2libGU6IEJvb2xlYW5JbnB1dCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tc2xpZGVyJztcblxuICAgIHNsaWRlc0FycmF5ID0gW107XG4gICAgY3VycmVudFNsaWRlID0gMDtcbiAgICBzdGFydFggPSAwO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZ2VzdHVyZUN0cmw6IEdlc3R1cmVDb250cm9sbGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2xpZGVyRWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uUmVzaXplKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFNsaWRlclN0eWxlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTbGlkZXJTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZ2VzdHVyZSA9IHRoaXMuZ2VzdHVyZUN0cmwuY3JlYXRlKHtcbiAgICAgICAgICAgIGVsOiB0aGlzLnNsaWRlckVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGdlc3R1cmVOYW1lOiAnb24tZ2VzdHVyZS1lbmQnLFxuICAgICAgICAgICAgb25FbmQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVG91Y2hFbmQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTmV4dEJ1dHRvblZpc2libGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGdlc3R1cmUuZW5hYmxlKCk7XG5cbiAgICAgICAgdGhpcy5pc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpO1xuICAgICAgICB0aGlzLmlzTmV4dEJ1dHRvblZpc2libGUoKTtcbiAgICB9XG5cbiAgICBzZXRTbGlkZXJTdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbkhlaWdodCA9IDYwO1xuICAgICAgICBjb25zdCBzbGlkZUhlaWdodCA9IHdpbmRvd0hlaWdodCAtIHBhZ2luYXRpb25IZWlnaHQ7XG5cbiAgICAgICAgdGhpcy5zbGlkZXNBcnJheSA9IHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW47XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zbGlkZXMubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5zbGlkZXNBcnJheS5sZW5ndGggKiAxMDB9JWApO1xuXG4gICAgICAgIGZvciAoY29uc3Qgc2xpZGUgb2YgdGhpcy5zbGlkZXNBcnJheSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzbGlkZSwgJ3dpZHRoJywgYCR7MTAwIC8gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGh9JWApO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzbGlkZSwgJ21heEhlaWdodCcsIGAke3NsaWRlSGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNsaWRlLCAnb3ZlcmZsb3cnLCAnYXV0bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gY2FsY3VsYXRlIHRoZSBjYXNlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgc2xpZGVcbiAgICAgICAgaWYgKCF0aGlzLmlzTGFzdEl0ZW1SZWFjaGVkICYmIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgdGhpcy5pc0xhc3RJdGVtUmVhY2hlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xlZnRCdG5WaXNpYmxlID0gdGhpcy5jdXJyZW50U2xpZGUgPiAwICYmIHRoaXMuaXNQcmV2aW91c0J0bjtcbiAgICB9XG5cbiAgICBpc05leHRCdXR0b25WaXNpYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUmlnaHRCdG5WaXNpYmxlID0gdGhpcy5jdXJyZW50U2xpZGUgIT09IHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoIC0gMSAmJiB0aGlzLmlzTmV4dEJ0bjtcbiAgICB9XG5cbiAgICBoYW5kbGVUb3VjaEVuZChlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRpZmZlcmVuY2UgPSAtZS5kZWx0YVg7XG5cbiAgICAgICAgaWYgKGRpZmZlcmVuY2UgPiAwICYmIHRoaXMuY3VycmVudFNsaWRlIDwgdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSsrO1xuICAgICAgICAgICAgdGhpcy5pc0xhc3RJdGVtUmVhY2hlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKGRpZmZlcmVuY2UgPCAwICYmIHRoaXMuY3VycmVudFNsaWRlID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUtLTtcbiAgICAgICAgICAgIHRoaXMuaXNMYXN0SXRlbVJlYWNoZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMYXN0SXRlbVJlYWNoZWQgPSB0aGlzLmN1cnJlbnRTbGlkZSA9PT0gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zbGlkZXMubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgtJHt0aGlzLmN1cnJlbnRTbGlkZSAqIDEwMCAvIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RofSUpYCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgIH1cblxuICAgIGdvVG9TbGlkZShpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSA9IGluZGV4O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZVgoLSR7dGhpcy5jdXJyZW50U2xpZGUgKiAxMDAgLyB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aH0lKWApO1xuXG4gICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgdGhpcy5pc05leHRCdXR0b25WaXNpYmxlKCk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzU2xpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTbGlkZSA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNsaWRlLS07XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGVYKC0ke3RoaXMuY3VycmVudFNsaWRlICogMTAwIC8gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGh9JSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgdGhpcy5pc05leHRCdXR0b25WaXNpYmxlKCk7XG4gICAgfVxuXG4gICAgZ29Ub05leHRTbGlkZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFNsaWRlIDwgdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSsrO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlcy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgtJHt0aGlzLmN1cnJlbnRTbGlkZSAqIDEwMCAvIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RofSUpYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzUHJldmlvdXNCdXR0b25WaXNpYmxlKCk7XG4gICAgICAgIHRoaXMuaXNOZXh0QnV0dG9uVmlzaWJsZSgpO1xuICAgIH1cblxuICAgIG9uQWN0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmV4dEJ0bikge1xuICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGlvbkNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25MYXN0U3RlcEFjdGlvbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxhc3RTdGVwQWN0aW9uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkxlZnRCdG5BY3Rpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNQcmV2aW91c0J0bikge1xuICAgICAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sZWZ0QnRuQWN0aW9uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQnRuTmFtZXMge1xuICAgIGFjdGlvbkJ0bk5hbWU6IHN0cmluZztcbiAgICBsYXN0U3RlcEFjdGlvbkJ0bk5hbWU6IHN0cmluZztcbiAgICBsZWZ0QWN0aW9uQnRuTmFtZTogc3RyaW5nO1xufVxuIiwiPGRpdiAjc2xpZGVyRWxlbWVudCBjbGFzcz1cImV1aW0tc2xpZGVyX19zbGlkZXItY29udGFpbmVyXCI+XG4gICAgPGRpdiAjc2xpZGVzIGNsYXNzPVwiZXVpbS1zbGlkZXJfX3NsaWRlc1wiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImV1aW0tc2xpZGVyX19wYWdpbmF0aW9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25MZWZ0QnRuQWN0aW9uKCRldmVudClcIiAqbmdJZj1pc0xlZnRCdG5WaXNpYmxlIGNsYXNzPVwiZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24gZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLmxlZnRBY3Rpb25CdG5OYW1lfX08L2lvbi1idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJldWltLXNsaWRlcl9fcGFnaW5hdGlvblwiPlxuICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cImdvVG9TbGlkZShpKVwiICpuZ0Zvcj1cImxldCBzbGlkZSBvZiBzbGlkZXNBcnJheTsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdhY3RpdmUnOiBjdXJyZW50U2xpZGUgPT09IGkgfVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tc2xpZGVyX19zcGFuXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uQWN0aW9uKCRldmVudClcIiAqbmdJZj1cIiFpc0xhc3RJdGVtUmVhY2hlZCAmJiAhaXNOZXh0QnRuIHx8IGlzTmV4dEJ0biAmJiBpc1JpZ2h0QnRuVmlzaWJsZVwiIGNsYXNzPVwiZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24gZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImNsZWFyXCI+e3thY3Rpb25CdG5OYW1lcy5hY3Rpb25CdG5OYW1lfX08L2lvbi1idXR0b24+XG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvbkxhc3RTdGVwQWN0aW9uKCRldmVudClcIiAqbmdJZj1pc0xhc3RJdGVtUmVhY2hlZCBjbGFzcz1cImV1aW0tc2xpZGVyX19hY3Rpb24tYnV0dG9uIGV1aW0tc2xpZGVyX19hY3Rpb24tYnV0dG9uLS1yaWdodFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiPnt7YWN0aW9uQnRuTmFtZXMubGFzdFN0ZXBBY3Rpb25CdG5OYW1lfX08L2lvbi1idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1zbGlkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tc2xpZGVyL2V1aW0tc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLXNsaWRlci9ldWltLXNsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdILFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7O0FBUTFDOztFQUVFO0FBQ0YsTUFBTSxPQUFPLG1CQUFtQjtJQXdDNUIsWUFBb0IsUUFBbUIsRUFDbkIsV0FBOEIsRUFDOUIsYUFBeUIsRUFDekIsR0FBc0I7UUFIdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDOUIsa0JBQWEsR0FBYixhQUFhLENBQVk7UUFDekIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF4Q2hDLGtCQUFhLEdBQ25CLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIsMEJBQXFCLEdBQzNCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIseUJBQW9CLEdBQzFCLElBQUksWUFBWSxFQUFjLENBQUM7UUFFMUIsbUJBQWMsR0FBbUI7WUFDdEMsYUFBYSxFQUFFLE1BQU07WUFDckIscUJBQXFCLEVBQUUsTUFBTTtZQUM3QixpQkFBaUIsRUFBRSxVQUFVO1NBQ2hDLENBQUM7UUFHRixzQkFBaUIsR0FBaUIsS0FBSyxDQUFDO1FBSXhDLHFCQUFnQixHQUFpQixLQUFLLENBQUM7UUFJdkMsa0JBQWEsR0FBaUIsS0FBSyxDQUFDO1FBSXBDLGNBQVMsR0FB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QUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO2lJQTNLUSxtQkFBbUI7cUhBQW5CLG1CQUFtQixtaUJDM0JoQyw2dENBMEJBOztBRGtCSTtJQURDLGFBQWE7OERBQzBCO0FBSXhDO0lBREMsYUFBYTs2REFDeUI7QUFJdkM7SUFEQyxhQUFhOzBEQUNzQjtBQUlwQztJQURDLGFBQWE7c0RBQ2tCO0FBR2hDO0lBREMsYUFBYTs4REFDeUI7MkZBaEM5QixtQkFBbUI7a0JBVC9CLFNBQVM7K0JBQ0ksYUFBYTt1S0FTZ0IsTUFBTTtzQkFBNUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUzQixhQUFhO3NCQUF0QixNQUFNO2dCQUVHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBR0UsY0FBYztzQkFBdEIsS0FBSztnQkFPTixpQkFBaUIsTUFJakIsZ0JBQWdCO3NCQUZmLEtBQUs7Z0JBTU4sYUFBYTtzQkFGWixLQUFLO2dCQU1OLFNBQVM7c0JBRlIsS0FBSztnQkFLTixpQkFBaUIsTUFFSyxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBY3BCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBIb3N0TGlzdGVuZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2VzdHVyZUNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhbiB9IGZyb20gJ0BldWkvYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1zbGlkZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWltLXNsaWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc3R5bGVzL19pbmRleC5zY3NzJ10sXG59KVxuXG4vKipcbiogIEBkZXByZWNhdGVkIEl0IHdhcyByZW1vdmVkIGluIHYxNi4gVXNlIHtAbGluayBldWltLXNsaWRlci1pbmZvLXNjcmVlbn0gaW5zdGVhZC4gXG4qL1xuZXhwb3J0IGNsYXNzIEV1aW1TbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoJ3NsaWRlcycsIHsgc3RhdGljOiB0cnVlIH0pIHNsaWRlczogRWxlbWVudFJlZjtcblxuICAgIEBPdXRwdXQoKSBhY3Rpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGxhc3RTdGVwQWN0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBsZWZ0QnRuQWN0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgQElucHV0KCkgYWN0aW9uQnRuTmFtZXM6IEFjdGlvbkJ0bk5hbWVzID0ge1xuICAgICAgICBhY3Rpb25CdG5OYW1lOiAnU2tpcCcsXG4gICAgICAgIGxhc3RTdGVwQWN0aW9uQnRuTmFtZTogJ0RvbmUnLFxuICAgICAgICBsZWZ0QWN0aW9uQnRuTmFtZTogJ1ByZXZpb3VzJyxcbiAgICB9O1xuXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc0xhc3RJdGVtUmVhY2hlZDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNMZWZ0QnRuVmlzaWJsZTogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNQcmV2aW91c0J0bjogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNOZXh0QnRuOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNSaWdodEJ0blZpc2libGU6IEJvb2xlYW5JbnB1dCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tc2xpZGVyJztcblxuICAgIHNsaWRlc0FycmF5ID0gW107XG4gICAgY3VycmVudFNsaWRlID0gMDtcbiAgICBzdGFydFggPSAwO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZ2VzdHVyZUN0cmw6IEdlc3R1cmVDb250cm9sbGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2xpZGVyRWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uUmVzaXplKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFNsaWRlclN0eWxlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTbGlkZXJTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZ2VzdHVyZSA9IHRoaXMuZ2VzdHVyZUN0cmwuY3JlYXRlKHtcbiAgICAgICAgICAgIGVsOiB0aGlzLnNsaWRlckVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGdlc3R1cmVOYW1lOiAnb24tZ2VzdHVyZS1lbmQnLFxuICAgICAgICAgICAgb25FbmQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVG91Y2hFbmQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTmV4dEJ1dHRvblZpc2libGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGdlc3R1cmUuZW5hYmxlKCk7XG5cbiAgICAgICAgdGhpcy5pc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpO1xuICAgICAgICB0aGlzLmlzTmV4dEJ1dHRvblZpc2libGUoKTtcbiAgICB9XG5cbiAgICBzZXRTbGlkZXJTdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbkhlaWdodCA9IDYwO1xuICAgICAgICBjb25zdCBzbGlkZUhlaWdodCA9IHdpbmRvd0hlaWdodCAtIHBhZ2luYXRpb25IZWlnaHQ7XG5cbiAgICAgICAgdGhpcy5zbGlkZXNBcnJheSA9IHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW47XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zbGlkZXMubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5zbGlkZXNBcnJheS5sZW5ndGggKiAxMDB9JWApO1xuXG4gICAgICAgIGZvciAoY29uc3Qgc2xpZGUgb2YgdGhpcy5zbGlkZXNBcnJheSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzbGlkZSwgJ3dpZHRoJywgYCR7MTAwIC8gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGh9JWApO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzbGlkZSwgJ21heEhlaWdodCcsIGAke3NsaWRlSGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNsaWRlLCAnb3ZlcmZsb3cnLCAnYXV0bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gY2FsY3VsYXRlIHRoZSBjYXNlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgc2xpZGVcbiAgICAgICAgaWYgKCF0aGlzLmlzTGFzdEl0ZW1SZWFjaGVkICYmIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgdGhpcy5pc0xhc3RJdGVtUmVhY2hlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0xlZnRCdG5WaXNpYmxlID0gdGhpcy5jdXJyZW50U2xpZGUgPiAwICYmIHRoaXMuaXNQcmV2aW91c0J0bjtcbiAgICB9XG5cbiAgICBpc05leHRCdXR0b25WaXNpYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUmlnaHRCdG5WaXNpYmxlID0gdGhpcy5jdXJyZW50U2xpZGUgIT09IHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoIC0gMSAmJiB0aGlzLmlzTmV4dEJ0bjtcbiAgICB9XG5cbiAgICBoYW5kbGVUb3VjaEVuZChlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRpZmZlcmVuY2UgPSAtZS5kZWx0YVg7XG5cbiAgICAgICAgaWYgKGRpZmZlcmVuY2UgPiAwICYmIHRoaXMuY3VycmVudFNsaWRlIDwgdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSsrO1xuICAgICAgICAgICAgdGhpcy5pc0xhc3RJdGVtUmVhY2hlZCA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKGRpZmZlcmVuY2UgPCAwICYmIHRoaXMuY3VycmVudFNsaWRlID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUtLTtcbiAgICAgICAgICAgIHRoaXMuaXNMYXN0SXRlbVJlYWNoZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMYXN0SXRlbVJlYWNoZWQgPSB0aGlzLmN1cnJlbnRTbGlkZSA9PT0gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zbGlkZXMubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgtJHt0aGlzLmN1cnJlbnRTbGlkZSAqIDEwMCAvIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RofSUpYCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblxuICAgIH1cblxuICAgIGdvVG9TbGlkZShpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSA9IGluZGV4O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZVgoLSR7dGhpcy5jdXJyZW50U2xpZGUgKiAxMDAgLyB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aH0lKWApO1xuXG4gICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgdGhpcy5pc05leHRCdXR0b25WaXNpYmxlKCk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzU2xpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTbGlkZSA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNsaWRlLS07XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGVYKC0ke3RoaXMuY3VycmVudFNsaWRlICogMTAwIC8gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGh9JSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgdGhpcy5pc05leHRCdXR0b25WaXNpYmxlKCk7XG4gICAgfVxuXG4gICAgZ29Ub05leHRTbGlkZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFNsaWRlIDwgdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSsrO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlcy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgtJHt0aGlzLmN1cnJlbnRTbGlkZSAqIDEwMCAvIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RofSUpYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzUHJldmlvdXNCdXR0b25WaXNpYmxlKCk7XG4gICAgICAgIHRoaXMuaXNOZXh0QnV0dG9uVmlzaWJsZSgpO1xuICAgIH1cblxuICAgIG9uQWN0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmV4dEJ0bikge1xuICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFjdGlvbkNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25MYXN0U3RlcEFjdGlvbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxhc3RTdGVwQWN0aW9uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkxlZnRCdG5BY3Rpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNQcmV2aW91c0J0bikge1xuICAgICAgICAgICAgdGhpcy5nb1RvUHJldmlvdXNTbGlkZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sZWZ0QnRuQWN0aW9uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQnRuTmFtZXMge1xuICAgIGFjdGlvbkJ0bk5hbWU6IHN0cmluZztcbiAgICBsYXN0U3RlcEFjdGlvbkJ0bk5hbWU6IHN0cmluZztcbiAgICBsZWZ0QWN0aW9uQnRuTmFtZTogc3RyaW5nO1xufVxuIiwiPGRpdiAjc2xpZGVyRWxlbWVudCBjbGFzcz1cImV1aW0tc2xpZGVyX19zbGlkZXItY29udGFpbmVyXCI+XG4gIDxkaXYgI3NsaWRlcyBjbGFzcz1cImV1aW0tc2xpZGVyX19zbGlkZXNcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZXVpbS1zbGlkZXJfX3BhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gICAgQGlmIChpc0xlZnRCdG5WaXNpYmxlKSB7XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25MZWZ0QnRuQWN0aW9uKCRldmVudClcImNsYXNzPVwiZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24gZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24tLWxlZnRcIlxuICAgICAgZmlsbD1cImNsZWFyXCI+e3thY3Rpb25CdG5OYW1lcy5sZWZ0QWN0aW9uQnRuTmFtZX19PC9pb24tYnV0dG9uPlxuICAgIH1cbiAgICA8ZGl2IGNsYXNzPVwiZXVpbS1zbGlkZXJfX3BhZ2luYXRpb25cIj5cbiAgICAgIEBmb3IgKHNsaWRlIG9mIHNsaWRlc0FycmF5OyB0cmFjayBzbGlkZTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cImdvVG9TbGlkZShpKVwiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnYWN0aXZlJzogY3VycmVudFNsaWRlID09PSBpIH1cIlxuICAgICAgICBjbGFzcz1cImV1aW0tc2xpZGVyX19zcGFuXCI+PC9zcGFuPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIEBpZiAoIWlzTGFzdEl0ZW1SZWFjaGVkICYmICFpc05leHRCdG4gfHwgaXNOZXh0QnRuICYmIGlzUmlnaHRCdG5WaXNpYmxlKSB7XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50KVwiIGNsYXNzPVwiZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24gZXVpbS1zbGlkZXJfX2FjdGlvbi1idXR0b24tLXJpZ2h0XCJcbiAgICAgIGZpbGw9XCJjbGVhclwiPnt7YWN0aW9uQnRuTmFtZXMuYWN0aW9uQnRuTmFtZX19PC9pb24tYnV0dG9uPlxuICAgIH1cbiAgICBAaWYgKGlzTGFzdEl0ZW1SZWFjaGVkKSB7XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25MYXN0U3RlcEFjdGlvbigkZXZlbnQpXCJjbGFzcz1cImV1aW0tc2xpZGVyX19hY3Rpb24tYnV0dG9uIGV1aW0tc2xpZGVyX19hY3Rpb24tYnV0dG9uLS1yaWdodFwiXG4gICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLmxhc3RTdGVwQWN0aW9uQnRuTmFtZX19PC9pb24tYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -128,7 +128,7 @@ export class EuimSliderInfoScreenComponent {
128
128
  this.leftActionClicked.emit(event);
129
129
  }
130
130
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimSliderInfoScreenComponent, deps: [{ token: i0.Renderer2 }, { token: i1.GestureController }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
131
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimSliderInfoScreenComponent, selector: "euim-slider-info-screen", inputs: { isCarousel: "isCarousel", showLeftBtn: "showLeftBtn", showRightBtn: "showRightBtn", isPreviousBtn: "isPreviousBtn", isNextBtn: "isNextBtn", actionBtnNames: "actionBtnNames" }, outputs: { rightActionClicked: "rightActionClicked", lastStepActionClicked: "lastStepActionClicked", leftActionClicked: "leftActionClicked" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "slides", first: true, predicate: ["slides"], descendants: true, static: true }], ngImport: i0, template: "<div #sliderElement class=\"euim-slider-info-screen__slider-container\">\n <div #slides class=\"euim-slider-info-screen__slides\">\n <ng-content></ng-content>\n </div>\n <div class=\"euim-slider-info-screen__pagination-container\" *ngIf=\"showLeftBtn || showRightBtn || isCarousel || isLastItemReached\" >\n <ion-button (click)=\"onLeftBtnAction($event)\" *ngIf=\"showLeftBtn && !showLeftBtnAsPrevious && !isPreviousBtn\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n <ion-button (click)=\"onLeftBtnAction($event)\" *ngIf=showLeftBtnAsPrevious class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n <div *ngIf=isCarousel class=\"euim-slider-info-screen__pagination\">\n <span (click)=\"goToSlide(i)\" *ngFor=\"let slide of slidesArray; let i = index\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider-info-screen__span\"></span>\n </div>\n <ion-button (click)=\"onRightBtnAction($event)\" *ngIf=\"!isLastItemReached && !isNextBtn || isNextBtn && showRightBtn\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.rightBtnName}}</ion-button>\n <ion-button (click)=\"onLastStepAction($event)\" *ngIf=isLastItemReached class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n </div>\n</div>\n", styles: [".euim-slider-info-screen__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider-info-screen__slides{display:flex;transition:all .5s ease;height:100%;width:100%}.euim-slider-info-screen__slide{width:100%;height:100%}.euim-slider-info-screen__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider-info-screen__pagination{display:flex}.euim-slider-info-screen__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary)}.euim-slider-info-screen__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider-info-screen__span.active{background-color:var(--eui-base-color-primary)}.euim-slider-info-screen__action-button{position:absolute;color:var(--eui-base-color-primary);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider-info-screen__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}.euim-slider-info-screen__title{@eui-font (3xl);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-slider-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-slider-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-slider-info-screen__title+.euim-slider-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-slider-info-screen__sub-title+.euim-slider-info-screen__content,title+.euim-slider-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], encapsulation: i0.ViewEncapsulation.None }); }
131
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: EuimSliderInfoScreenComponent, selector: "euim-slider-info-screen", inputs: { isCarousel: "isCarousel", showLeftBtn: "showLeftBtn", showRightBtn: "showRightBtn", isPreviousBtn: "isPreviousBtn", isNextBtn: "isNextBtn", actionBtnNames: "actionBtnNames" }, outputs: { rightActionClicked: "rightActionClicked", lastStepActionClicked: "lastStepActionClicked", leftActionClicked: "leftActionClicked" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.className" } }, viewQueries: [{ propertyName: "slides", first: true, predicate: ["slides"], descendants: true, static: true }], ngImport: i0, template: "<div #sliderElement class=\"euim-slider-info-screen__slider-container\">\n <div #slides class=\"euim-slider-info-screen__slides\">\n <ng-content></ng-content>\n </div>\n @if (showLeftBtn || showRightBtn || isCarousel || isLastItemReached){\n <div class=\"euim-slider-info-screen__pagination-container\">\n @if (showLeftBtn && !showLeftBtnAsPrevious && !isPreviousBtn) {\n <ion-button (click)=\"onLeftBtnAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n }\n @if (showLeftBtnAsPrevious) {\n <ion-button (click)=\"onLeftBtnAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n }\n @if (isCarousel){\n <div class=\"euim-slider-info-screen__pagination\">\n <span (click)=\"goToSlide(i)\" *ngFor=\"let slide of slidesArray; let i = index\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider-info-screen__span\"></span>\n </div>\n }\n @if (!isLastItemReached && !isNextBtn || isNextBtn && showRightBtn) {\n <ion-button (click)=\"onRightBtnAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.rightBtnName}}</ion-button>\n }\n\n @if (isLastItemReached) {\n <ion-button (click)=\"onLastStepAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n }\n </div>\n }\n\n</div>\n", styles: [".euim-slider-info-screen__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider-info-screen__slides{display:flex;transition:all .5s ease;height:100%;width:100%}.euim-slider-info-screen__slide{width:100%;height:100%}.euim-slider-info-screen__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider-info-screen__pagination{display:flex}.euim-slider-info-screen__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary-100)}.euim-slider-info-screen__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider-info-screen__span.active{background-color:var(--eui-base-color-primary-100)}.euim-slider-info-screen__action-button{position:absolute;color:var(--eui-base-color-primary-100);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider-info-screen__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}.euim-slider-info-screen__title{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-slider-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-slider-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-slider-info-screen__title+.euim-slider-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-slider-info-screen__sub-title+.euim-slider-info-screen__content,title+.euim-slider-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], encapsulation: i0.ViewEncapsulation.None }); }
132
132
  }
133
133
  __decorate([
134
134
  coerceBoolean
@@ -153,7 +153,7 @@ __decorate([
153
153
  ], EuimSliderInfoScreenComponent.prototype, "showLeftBtnAsPrevious", void 0);
154
154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimSliderInfoScreenComponent, decorators: [{
155
155
  type: Component,
156
- args: [{ selector: 'euim-slider-info-screen', encapsulation: ViewEncapsulation.None, template: "<div #sliderElement class=\"euim-slider-info-screen__slider-container\">\n <div #slides class=\"euim-slider-info-screen__slides\">\n <ng-content></ng-content>\n </div>\n <div class=\"euim-slider-info-screen__pagination-container\" *ngIf=\"showLeftBtn || showRightBtn || isCarousel || isLastItemReached\" >\n <ion-button (click)=\"onLeftBtnAction($event)\" *ngIf=\"showLeftBtn && !showLeftBtnAsPrevious && !isPreviousBtn\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n <ion-button (click)=\"onLeftBtnAction($event)\" *ngIf=showLeftBtnAsPrevious class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n <div *ngIf=isCarousel class=\"euim-slider-info-screen__pagination\">\n <span (click)=\"goToSlide(i)\" *ngFor=\"let slide of slidesArray; let i = index\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider-info-screen__span\"></span>\n </div>\n <ion-button (click)=\"onRightBtnAction($event)\" *ngIf=\"!isLastItemReached && !isNextBtn || isNextBtn && showRightBtn\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.rightBtnName}}</ion-button>\n <ion-button (click)=\"onLastStepAction($event)\" *ngIf=isLastItemReached class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n </div>\n</div>\n", styles: [".euim-slider-info-screen__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider-info-screen__slides{display:flex;transition:all .5s ease;height:100%;width:100%}.euim-slider-info-screen__slide{width:100%;height:100%}.euim-slider-info-screen__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider-info-screen__pagination{display:flex}.euim-slider-info-screen__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary)}.euim-slider-info-screen__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider-info-screen__span.active{background-color:var(--eui-base-color-primary)}.euim-slider-info-screen__action-button{position:absolute;color:var(--eui-base-color-primary);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider-info-screen__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}.euim-slider-info-screen__title{@eui-font (3xl);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-slider-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-slider-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-slider-info-screen__title+.euim-slider-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-slider-info-screen__sub-title+.euim-slider-info-screen__content,title+.euim-slider-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"] }]
156
+ args: [{ selector: 'euim-slider-info-screen', encapsulation: ViewEncapsulation.None, template: "<div #sliderElement class=\"euim-slider-info-screen__slider-container\">\n <div #slides class=\"euim-slider-info-screen__slides\">\n <ng-content></ng-content>\n </div>\n @if (showLeftBtn || showRightBtn || isCarousel || isLastItemReached){\n <div class=\"euim-slider-info-screen__pagination-container\">\n @if (showLeftBtn && !showLeftBtnAsPrevious && !isPreviousBtn) {\n <ion-button (click)=\"onLeftBtnAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n }\n @if (showLeftBtnAsPrevious) {\n <ion-button (click)=\"onLeftBtnAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--left\"\n fill=\"clear\">{{actionBtnNames.leftBtnName}}</ion-button>\n }\n @if (isCarousel){\n <div class=\"euim-slider-info-screen__pagination\">\n <span (click)=\"goToSlide(i)\" *ngFor=\"let slide of slidesArray; let i = index\"\n [ngClass]=\"{ 'active': currentSlide === i }\"\n class=\"euim-slider-info-screen__span\"></span>\n </div>\n }\n @if (!isLastItemReached && !isNextBtn || isNextBtn && showRightBtn) {\n <ion-button (click)=\"onRightBtnAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.rightBtnName}}</ion-button>\n }\n\n @if (isLastItemReached) {\n <ion-button (click)=\"onLastStepAction($event)\" class=\"euim-slider-info-screen__action-button euim-slider-info-screen__action-button--right\"\n fill=\"clear\">{{actionBtnNames.lastStepActionBtnName}}</ion-button>\n }\n </div>\n }\n\n</div>\n", styles: [".euim-slider-info-screen__slider-container{overflow:hidden;position:relative;height:100vh}.euim-slider-info-screen__slides{display:flex;transition:all .5s ease;height:100%;width:100%}.euim-slider-info-screen__slide{width:100%;height:100%}.euim-slider-info-screen__pagination-container{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;height:60px}.euim-slider-info-screen__pagination{display:flex}.euim-slider-info-screen__span{width:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);height:calc(var(--eui-base-spacing-xs) + var(--eui-base-spacing-2xs) / 2);border-radius:50%;cursor:pointer;border:1px solid var(--eui-base-color-primary-100)}.euim-slider-info-screen__span:not(:last-child){margin-right:var(--eui-base-spacing-xs)}.euim-slider-info-screen__span.active{background-color:var(--eui-base-color-primary-100)}.euim-slider-info-screen__action-button{position:absolute;color:var(--eui-base-color-primary-100);font-weight:700;top:50%;transform:translateY(-50%)}.euim-slider-info-screen__action-button::part(native){padding:0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--right{right:0;margin:0 var(--eui-base-spacing-xs) 0 var(--eui-base-spacing-m)}.euim-slider-info-screen__action-button--left{margin:0 var(--eui-base-spacing-m) 0 var(--eui-base-spacing-xs);left:0}.euim-slider-info-screen__title{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-slider-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-slider-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-slider-info-screen__title+.euim-slider-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-slider-info-screen__sub-title+.euim-slider-info-screen__content,title+.euim-slider-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"] }]
157
157
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.GestureController }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { slides: [{
158
158
  type: ViewChild,
159
159
  args: ['slides', { static: true }]
@@ -182,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
182
182
  type: HostListener,
183
183
  args: ['window:resize', ['$event']]
184
184
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1zbGlkZXItaW5mby1zY3JlZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tc2xpZGVyLWluZm8tc2NyZWVuL2V1aW0tc2xpZGVyLWluZm8tc2NyZWVuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLXNsaWRlci1pbmZvLXNjcmVlbi9ldWltLXNsaWRlci1pbmZvLXNjcmVlbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdILFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQVExQyxNQUFNLE9BQU8sNkJBQTZCO0lBZ0R0QyxZQUFvQixRQUFtQixFQUNuQixXQUE4QixFQUM5QixhQUF5QixFQUN6QixHQUFzQjtRQUh0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBWTtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWhEaEMsdUJBQWtCLEdBQ3hCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIsMEJBQXFCLEdBQzNCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIsc0JBQWlCLEdBQ3ZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHbkMsc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUl4QyxlQUFVLEdBQWlCLEtBQUssQ0FBQztRQUlqQyxnQkFBVyxHQUFpQixLQUFLLENBQUM7UUFJbEMsaUJBQVksR0FBaUIsS0FBSyxDQUFDO1FBSW5DLGtCQUFhLEdBQWlCLEtB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QUMsT0FBTztnQkFjcEIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0NoaWxkLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXN0dXJlQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuIH0gZnJvbSAnQGV1aS9iYXNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLXNsaWRlci1pbmZvLXNjcmVlbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V1aW0tc2xpZGVyLWluZm8tc2NyZWVuLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdHlsZXMvX2luZGV4LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBFdWltU2xpZGVySW5mb1NjcmVlbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnc2xpZGVzJywgeyBzdGF0aWM6IHRydWUgfSkgc2xpZGVzOiBFbGVtZW50UmVmO1xuXG4gICAgQE91dHB1dCgpIHJpZ2h0QWN0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBsYXN0U3RlcEFjdGlvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgbGVmdEFjdGlvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgICAgIG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNMYXN0SXRlbVJlYWNoZWQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGlzQ2Fyb3VzZWw6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIHNob3dMZWZ0QnRuOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBzaG93UmlnaHRCdG46IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGlzUHJldmlvdXNCdG46IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIGlzTmV4dEJ0bjogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBhY3Rpb25CdG5OYW1lczogQWN0aW9uQnRuc05hbWVzID0ge1xuICAgICAgICByaWdodEJ0bk5hbWU6ICdTa2lwJyxcbiAgICAgICAgbGFzdFN0ZXBBY3Rpb25CdG5OYW1lOiAnRG9uZScsXG4gICAgICAgIGxlZnRCdG5OYW1lOiAnUHJldmlvdXMnLFxuICAgIH07XG5cbiAgICBAY29lcmNlQm9vbGVhblxuICAgIHNob3dMZWZ0QnRuQXNQcmV2aW91czogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3NOYW1lID0gJ2V1aW0tc2xpZGVyLWluZm8tc2NyZWVuJztcblxuICAgIHNsaWRlc0FycmF5ID0gW107XG4gICAgY3VycmVudFNsaWRlID0gMDtcbiAgICBzdGFydFggPSAwO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZ2VzdHVyZUN0cmw6IEdlc3R1cmVDb250cm9sbGVyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgc2xpZGVyRWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcblxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICAgIG9uUmVzaXplKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFNsaWRlclN0eWxlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRTbGlkZXJTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZ2VzdHVyZSA9IHRoaXMuZ2VzdHVyZUN0cmwuY3JlYXRlKHtcbiAgICAgICAgICAgIGVsOiB0aGlzLnNsaWRlckVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgIGdlc3R1cmVOYW1lOiAnb24tZ2VzdHVyZS1lbmQnLFxuICAgICAgICAgICAgb25FbmQ6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlVG91Y2hFbmQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTmV4dEJ1dHRvblZpc2libGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGdlc3R1cmUuZW5hYmxlKCk7XG5cbiAgICAgICAgdGhpcy5pc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpO1xuICAgICAgICB0aGlzLmlzTmV4dEJ1dHRvblZpc2libGUoKTtcbiAgICB9XG5cbiAgICBzZXRTbGlkZXJTdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHdpbmRvd0hlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbkhlaWdodCA9IDYwO1xuICAgICAgICBjb25zdCBzbGlkZUhlaWdodCA9IHdpbmRvd0hlaWdodCAtIHBhZ2luYXRpb25IZWlnaHQ7XG5cbiAgICAgICAgdGhpcy5zbGlkZXNBcnJheSA9IHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW47XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zbGlkZXMubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy5zbGlkZXNBcnJheS5sZW5ndGggKiAxMDB9JWApO1xuXG4gICAgICAgIGZvciAoY29uc3Qgc2xpZGUgb2YgdGhpcy5zbGlkZXNBcnJheSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzbGlkZSwgJ3dpZHRoJywgYCR7MTAwIC8gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGh9JWApO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzbGlkZSwgJ21heEhlaWdodCcsIGAke3NsaWRlSGVpZ2h0fXB4YCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNsaWRlLCAnb3ZlcmZsb3cnLCAnYXV0bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gY2FsY3VsYXRlIHRoZSBjYXNlIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgc2xpZGVcbiAgICAgICAgaWYgKCF0aGlzLmlzTGFzdEl0ZW1SZWFjaGVkICYmIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgdGhpcy5pc0xhc3RJdGVtUmVhY2hlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVUb3VjaEVuZChlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRpZmZlcmVuY2UgPSAtZS5kZWx0YVg7XG5cbiAgICAgICAgaWYgKGRpZmZlcmVuY2UgPiAwICYmIHRoaXMuY3VycmVudFNsaWRlIDwgdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSsrO1xuICAgICAgICB9IGVsc2UgaWYgKGRpZmZlcmVuY2UgPCAwICYmIHRoaXMuY3VycmVudFNsaWRlID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNMYXN0SXRlbVJlYWNoZWQgPSB0aGlzLmN1cnJlbnRTbGlkZSA9PT0gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxO1xuXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZVBlcmNlbnRhZ2UgPSAtdGhpcy5jdXJyZW50U2xpZGUgKiAxMDAgLyB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlcy5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZVgoJHt0cmFuc2xhdGVQZXJjZW50YWdlfSUpYCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBnb1RvU2xpZGUoaW5kZXgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUgPSBpbmRleDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlcy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGVYKC0ke3RoaXMuY3VycmVudFNsaWRlICogMTAwIC8gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGh9JSlgKTtcblxuICAgICAgICB0aGlzLmhhbmRsZVRvdWNoRW5kKGV2ZW50KTtcblxuICAgICAgICB0aGlzLmlzUHJldmlvdXNCdXR0b25WaXNpYmxlKCk7XG4gICAgICAgIHRoaXMuaXNOZXh0QnV0dG9uVmlzaWJsZSgpO1xuICAgIH1cblxuICAgIGdvVG9QcmV2aW91c1NsaWRlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50U2xpZGUgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZS0tO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlcy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgtJHt0aGlzLmN1cnJlbnRTbGlkZSAqIDEwMCAvIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RofSUpYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZVRvdWNoRW5kKGV2ZW50KTtcblxuICAgICAgICB0aGlzLmlzUHJldmlvdXNCdXR0b25WaXNpYmxlKCk7XG4gICAgICAgIHRoaXMuaXNOZXh0QnV0dG9uVmlzaWJsZSgpO1xuICAgIH1cblxuICAgIGdvVG9OZXh0U2xpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTbGlkZSA8IHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50U2xpZGUrKztcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zbGlkZXMubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZVgoLSR7dGhpcy5jdXJyZW50U2xpZGUgKiAxMDAgLyB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aH0lKWApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oYW5kbGVUb3VjaEVuZChldmVudCk7XG5cbiAgICAgICAgdGhpcy5pc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpO1xuICAgICAgICB0aGlzLmlzTmV4dEJ1dHRvblZpc2libGUoKTtcbiAgICB9XG5cbiAgICBpc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93TGVmdEJ0bkFzUHJldmlvdXMgPSB0aGlzLmN1cnJlbnRTbGlkZSA+IDAgJiYgdGhpcy5pc1ByZXZpb3VzQnRuO1xuICAgIH1cblxuICAgIGlzTmV4dEJ1dHRvblZpc2libGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd1JpZ2h0QnRuID0gdGhpcy5jdXJyZW50U2xpZGUgIT09IHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoIC0gMSAmJiB0aGlzLmlzTmV4dEJ0bjtcbiAgICB9XG5cbiAgICBvblJpZ2h0QnRuQWN0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzTmV4dEJ0bikge1xuICAgICAgICAgICAgdGhpcy5nb1RvTmV4dFNsaWRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJpZ2h0QWN0aW9uQ2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkxhc3RTdGVwQWN0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMubGFzdFN0ZXBBY3Rpb25DbGlja2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uTGVmdEJ0bkFjdGlvbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc1ByZXZpb3VzQnRuKSB7XG4gICAgICAgICAgICB0aGlzLmdvVG9QcmV2aW91c1NsaWRlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxlZnRBY3Rpb25DbGlja2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb25CdG5zTmFtZXMge1xuICAgIHJpZ2h0QnRuTmFtZTogc3RyaW5nO1xuICAgIGxhc3RTdGVwQWN0aW9uQnRuTmFtZTogc3RyaW5nO1xuICAgIGxlZnRCdG5OYW1lOiBzdHJpbmc7XG59XG4iLCI8ZGl2ICNzbGlkZXJFbGVtZW50IGNsYXNzPVwiZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX3NsaWRlci1jb250YWluZXJcIj5cbiAgICA8ZGl2ICNzbGlkZXMgY2xhc3M9XCJldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fc2xpZGVzXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX3BhZ2luYXRpb24tY29udGFpbmVyXCIgKm5nSWY9XCJzaG93TGVmdEJ0biB8fCBzaG93UmlnaHRCdG4gfHwgaXNDYXJvdXNlbCB8fCBpc0xhc3RJdGVtUmVhY2hlZFwiID5cbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uTGVmdEJ0bkFjdGlvbigkZXZlbnQpXCIgKm5nSWY9XCJzaG93TGVmdEJ0biAmJiAhc2hvd0xlZnRCdG5Bc1ByZXZpb3VzICYmICFpc1ByZXZpb3VzQnRuXCIgY2xhc3M9XCJldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fYWN0aW9uLWJ1dHRvbiBldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fYWN0aW9uLWJ1dHRvbi0tbGVmdFwiXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjbGVhclwiPnt7YWN0aW9uQnRuTmFtZXMubGVmdEJ0bk5hbWV9fTwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uTGVmdEJ0bkFjdGlvbigkZXZlbnQpXCIgKm5nSWY9c2hvd0xlZnRCdG5Bc1ByZXZpb3VzIGNsYXNzPVwiZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX2FjdGlvbi1idXR0b24gZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX2FjdGlvbi1idXR0b24tLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLmxlZnRCdG5OYW1lfX08L2lvbi1idXR0b24+XG4gICAgICAgIDxkaXYgKm5nSWY9aXNDYXJvdXNlbCBjbGFzcz1cImV1aW0tc2xpZGVyLWluZm8tc2NyZWVuX19wYWdpbmF0aW9uXCI+XG4gICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwiZ29Ub1NsaWRlKGkpXCIgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHNsaWRlc0FycmF5OyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZSc6IGN1cnJlbnRTbGlkZSA9PT0gaSB9XCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX3NwYW5cIj48L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25SaWdodEJ0bkFjdGlvbigkZXZlbnQpXCIgKm5nSWY9XCIhaXNMYXN0SXRlbVJlYWNoZWQgJiYgIWlzTmV4dEJ0biB8fCBpc05leHRCdG4gJiYgc2hvd1JpZ2h0QnRuXCIgY2xhc3M9XCJldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fYWN0aW9uLWJ1dHRvbiBldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fYWN0aW9uLWJ1dHRvbi0tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLnJpZ2h0QnRuTmFtZX19PC9pb24tYnV0dG9uPlxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25MYXN0U3RlcEFjdGlvbigkZXZlbnQpXCIgKm5nSWY9aXNMYXN0SXRlbVJlYWNoZWQgY2xhc3M9XCJldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fYWN0aW9uLWJ1dHRvbiBldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fYWN0aW9uLWJ1dHRvbi0tcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLmxhc3RTdGVwQWN0aW9uQnRuTmFtZX19PC9pb24tYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1zbGlkZXItaW5mby1zY3JlZW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2V1aW0tc2xpZGVyLWluZm8tc2NyZWVuL2V1aW0tc2xpZGVyLWluZm8tc2NyZWVuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9ldWltLXNsaWRlci1pbmZvLXNjcmVlbi9ldWltLXNsaWRlci1pbmZvLXNjcmVlbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdILFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQVExQyxNQUFNLE9BQU8sNkJBQTZCO0lBZ0R0QyxZQUFvQixRQUFtQixFQUNuQixXQUE4QixFQUM5QixhQUF5QixFQUN6QixHQUFzQjtRQUh0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBWTtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWhEaEMsdUJBQWtCLEdBQ3hCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIsMEJBQXFCLEdBQzNCLElBQUksWUFBWSxFQUFjLENBQUM7UUFDekIsc0JBQWlCLEdBQ3ZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFHbkMsc0JBQWlCLEdBQWlCLEtBQUssQ0FBQztRQUl4QyxlQUFVLEdBQWlCLEtBQUssQ0FBQztRQUlqQyxnQkFBVyxHQUFpQixLQUFLLENBQUM7UUFJbEMsaUJBQVksR0FBaUIsS0FBSyxDQUFDO1FBSW5DLGtCQUFhLEdBQWlCLEtB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QyxPQUFPO2dCQWNwQixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdlc3R1cmVDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW4gfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aW0tc2xpZGVyLWluZm8tc2NyZWVuJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXVpbS1zbGlkZXItaW5mby1zY3JlZW4uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1TbGlkZXJJbmZvU2NyZWVuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCdzbGlkZXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzbGlkZXM6IEVsZW1lbnRSZWY7XG5cbiAgICBAT3V0cHV0KCkgcmlnaHRBY3Rpb25DbGlja2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPVxuICAgICAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIGxhc3RTdGVwQWN0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBsZWZ0QWN0aW9uQ2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICAgICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgQGNvZXJjZUJvb2xlYW5cbiAgICBpc0xhc3RJdGVtUmVhY2hlZDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNDYXJvdXNlbDogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgc2hvd0xlZnRCdG46IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAY29lcmNlQm9vbGVhblxuICAgIHNob3dSaWdodEJ0bjogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNQcmV2aW91c0J0bjogQm9vbGVhbklucHV0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgaXNOZXh0QnRuOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGFjdGlvbkJ0bk5hbWVzOiBBY3Rpb25CdG5zTmFtZXMgPSB7XG4gICAgICAgIHJpZ2h0QnRuTmFtZTogJ1NraXAnLFxuICAgICAgICBsYXN0U3RlcEFjdGlvbkJ0bk5hbWU6ICdEb25lJyxcbiAgICAgICAgbGVmdEJ0bk5hbWU6ICdQcmV2aW91cycsXG4gICAgfTtcblxuICAgIEBjb2VyY2VCb29sZWFuXG4gICAgc2hvd0xlZnRCdG5Bc1ByZXZpb3VzOiBCb29sZWFuSW5wdXQgPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzc05hbWUgPSAnZXVpbS1zbGlkZXItaW5mby1zY3JlZW4nO1xuXG4gICAgc2xpZGVzQXJyYXkgPSBbXTtcbiAgICBjdXJyZW50U2xpZGUgPSAwO1xuICAgIHN0YXJ0WCA9IDA7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBnZXN0dXJlQ3RybDogR2VzdHVyZUNvbnRyb2xsZXIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBzbGlkZXJFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuXG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25SZXNpemUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0U2xpZGVyU3R5bGVzKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldFNsaWRlclN0eWxlcygpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBnZXN0dXJlID0gdGhpcy5nZXN0dXJlQ3RybC5jcmVhdGUoe1xuICAgICAgICAgICAgZWw6IHRoaXMuc2xpZGVyRWxlbWVudC5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgZ2VzdHVyZU5hbWU6ICdvbi1nZXN0dXJlLWVuZCcsXG4gICAgICAgICAgICBvbkVuZDogKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVUb3VjaEVuZChldmVudCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1ByZXZpb3VzQnV0dG9uVmlzaWJsZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNOZXh0QnV0dG9uVmlzaWJsZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZ2VzdHVyZS5lbmFibGUoKTtcblxuICAgICAgICB0aGlzLmlzUHJldmlvdXNCdXR0b25WaXNpYmxlKCk7XG4gICAgICAgIHRoaXMuaXNOZXh0QnV0dG9uVmlzaWJsZSgpO1xuICAgIH1cblxuICAgIHNldFNsaWRlclN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgd2luZG93SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBwYWdpbmF0aW9uSGVpZ2h0ID0gNjA7XG4gICAgICAgIGNvbnN0IHNsaWRlSGVpZ2h0ID0gd2luZG93SGVpZ2h0IC0gcGFnaW5hdGlvbkhlaWdodDtcblxuICAgICAgICB0aGlzLnNsaWRlc0FycmF5ID0gdGhpcy5zbGlkZXMubmF0aXZlRWxlbWVudC5jaGlsZHJlbjtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlcy5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aCAqIDEwMH0lYCk7XG5cbiAgICAgICAgZm9yIChjb25zdCBzbGlkZSBvZiB0aGlzLnNsaWRlc0FycmF5KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNsaWRlLCAnd2lkdGgnLCBgJHsxMDAgLyB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aH0lYCk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHNsaWRlLCAnbWF4SGVpZ2h0JywgYCR7c2xpZGVIZWlnaHR9cHhgKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoc2xpZGUsICdvdmVyZmxvdycsICdhdXRvJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBjYWxjdWxhdGUgdGhlIGNhc2Ugd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBzbGlkZVxuICAgICAgICBpZiAoIXRoaXMuaXNMYXN0SXRlbVJlYWNoZWQgJiYgdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgICB0aGlzLmlzTGFzdEl0ZW1SZWFjaGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZVRvdWNoRW5kKGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZGlmZmVyZW5jZSA9IC1lLmRlbHRhWDtcblxuICAgICAgICBpZiAoZGlmZmVyZW5jZSA+IDAgJiYgdGhpcy5jdXJyZW50U2xpZGUgPCB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNsaWRlKys7XG4gICAgICAgIH0gZWxzZSBpZiAoZGlmZmVyZW5jZSA8IDAgJiYgdGhpcy5jdXJyZW50U2xpZGUgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZS0tO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc0xhc3RJdGVtUmVhY2hlZCA9IHRoaXMuY3VycmVudFNsaWRlID09PSB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aCAtIDE7XG5cbiAgICAgICAgY29uc3QgdHJhbnNsYXRlUGVyY2VudGFnZSA9IC10aGlzLmN1cnJlbnRTbGlkZSAqIDEwMCAvIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RoO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgke3RyYW5zbGF0ZVBlcmNlbnRhZ2V9JSlgKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIGdvVG9TbGlkZShpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSA9IGluZGV4O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZVgoLSR7dGhpcy5jdXJyZW50U2xpZGUgKiAxMDAgLyB0aGlzLnNsaWRlc0FycmF5Lmxlbmd0aH0lKWApO1xuXG4gICAgICAgIHRoaXMuaGFuZGxlVG91Y2hFbmQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgdGhpcy5pc05leHRCdXR0b25WaXNpYmxlKCk7XG4gICAgfVxuXG4gICAgZ29Ub1ByZXZpb3VzU2xpZGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRTbGlkZSA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFNsaWRlLS07XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuc2xpZGVzLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGVYKC0ke3RoaXMuY3VycmVudFNsaWRlICogMTAwIC8gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGh9JSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaGFuZGxlVG91Y2hFbmQoZXZlbnQpO1xuXG4gICAgICAgIHRoaXMuaXNQcmV2aW91c0J1dHRvblZpc2libGUoKTtcbiAgICAgICAgdGhpcy5pc05leHRCdXR0b25WaXNpYmxlKCk7XG4gICAgfVxuXG4gICAgZ29Ub05leHRTbGlkZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY3VycmVudFNsaWRlIDwgdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRTbGlkZSsrO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNsaWRlcy5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICd0cmFuc2Zvcm0nLCBgdHJhbnNsYXRlWCgtJHt0aGlzLmN1cnJlbnRTbGlkZSAqIDEwMCAvIHRoaXMuc2xpZGVzQXJyYXkubGVuZ3RofSUpYCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhhbmRsZVRvdWNoRW5kKGV2ZW50KTtcblxuICAgICAgICB0aGlzLmlzUHJldmlvdXNCdXR0b25WaXNpYmxlKCk7XG4gICAgICAgIHRoaXMuaXNOZXh0QnV0dG9uVmlzaWJsZSgpO1xuICAgIH1cblxuICAgIGlzUHJldmlvdXNCdXR0b25WaXNpYmxlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dMZWZ0QnRuQXNQcmV2aW91cyA9IHRoaXMuY3VycmVudFNsaWRlID4gMCAmJiB0aGlzLmlzUHJldmlvdXNCdG47XG4gICAgfVxuXG4gICAgaXNOZXh0QnV0dG9uVmlzaWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93UmlnaHRCdG4gPSB0aGlzLmN1cnJlbnRTbGlkZSAhPT0gdGhpcy5zbGlkZXNBcnJheS5sZW5ndGggLSAxICYmIHRoaXMuaXNOZXh0QnRuO1xuICAgIH1cblxuICAgIG9uUmlnaHRCdG5BY3Rpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOZXh0QnRuKSB7XG4gICAgICAgICAgICB0aGlzLmdvVG9OZXh0U2xpZGUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmlnaHRBY3Rpb25DbGlja2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uTGFzdFN0ZXBBY3Rpb24oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYXN0U3RlcEFjdGlvbkNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25MZWZ0QnRuQWN0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUHJldmlvdXNCdG4pIHtcbiAgICAgICAgICAgIHRoaXMuZ29Ub1ByZXZpb3VzU2xpZGUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubGVmdEFjdGlvbkNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkJ0bnNOYW1lcyB7XG4gICAgcmlnaHRCdG5OYW1lOiBzdHJpbmc7XG4gICAgbGFzdFN0ZXBBY3Rpb25CdG5OYW1lOiBzdHJpbmc7XG4gICAgbGVmdEJ0bk5hbWU6IHN0cmluZztcbn1cbiIsIjxkaXYgI3NsaWRlckVsZW1lbnQgY2xhc3M9XCJldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fc2xpZGVyLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgI3NsaWRlcyBjbGFzcz1cImV1aW0tc2xpZGVyLWluZm8tc2NyZWVuX19zbGlkZXNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIEBpZiAoc2hvd0xlZnRCdG4gfHwgc2hvd1JpZ2h0QnRuIHx8IGlzQ2Fyb3VzZWwgfHwgaXNMYXN0SXRlbVJlYWNoZWQpe1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX3BhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICBAaWYgKHNob3dMZWZ0QnRuICYmICFzaG93TGVmdEJ0bkFzUHJldmlvdXMgJiYgIWlzUHJldmlvdXNCdG4pIHtcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25MZWZ0QnRuQWN0aW9uKCRldmVudClcIiBjbGFzcz1cImV1aW0tc2xpZGVyLWluZm8tc2NyZWVuX19hY3Rpb24tYnV0dG9uIGV1aW0tc2xpZGVyLWluZm8tc2NyZWVuX19hY3Rpb24tYnV0dG9uLS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLmxlZnRCdG5OYW1lfX08L2lvbi1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNob3dMZWZ0QnRuQXNQcmV2aW91cykge1xuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvbkxlZnRCdG5BY3Rpb24oJGV2ZW50KVwiICBjbGFzcz1cImV1aW0tc2xpZGVyLWluZm8tc2NyZWVuX19hY3Rpb24tYnV0dG9uIGV1aW0tc2xpZGVyLWluZm8tc2NyZWVuX19hY3Rpb24tYnV0dG9uLS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLmxlZnRCdG5OYW1lfX08L2lvbi1idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGlzQ2Fyb3VzZWwpe1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWltLXNsaWRlci1pbmZvLXNjcmVlbl9fcGFnaW5hdGlvblwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIChjbGljayk9XCJnb1RvU2xpZGUoaSlcIiAqbmdGb3I9XCJsZXQgc2xpZGUgb2Ygc2xpZGVzQXJyYXk7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2FjdGl2ZSc6IGN1cnJlbnRTbGlkZSA9PT0gaSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aW0tc2xpZGVyLWluZm8tc2NyZWVuX19zcGFuXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICghaXNMYXN0SXRlbVJlYWNoZWQgJiYgIWlzTmV4dEJ0biB8fCBpc05leHRCdG4gJiYgc2hvd1JpZ2h0QnRuKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uUmlnaHRCdG5BY3Rpb24oJGV2ZW50KVwiIGNsYXNzPVwiZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX2FjdGlvbi1idXR0b24gZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX2FjdGlvbi1idXR0b24tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLnJpZ2h0QnRuTmFtZX19PC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaWYgKGlzTGFzdEl0ZW1SZWFjaGVkKSB7XG4gICAgICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uTGFzdFN0ZXBBY3Rpb24oJGV2ZW50KVwiIGNsYXNzPVwiZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX2FjdGlvbi1idXR0b24gZXVpbS1zbGlkZXItaW5mby1zY3JlZW5fX2FjdGlvbi1idXR0b24tLXJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY2xlYXJcIj57e2FjdGlvbkJ0bk5hbWVzLmxhc3RTdGVwQWN0aW9uQnRuTmFtZX19PC9pb24tYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG5cbjwvZGl2PlxuIl19
@@ -6,11 +6,11 @@ export class EuimSpinnerComponent {
6
6
  this.className = 'euim-spinner';
7
7
  }
8
8
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimSpinnerComponent, selector: "euim-spinner", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ion-spinner class=\"euim-spinner__icon\">\n</ion-spinner>\n<ng-content>\n</ng-content>\n\n\n", styles: [".euim-spinner{width:100%;margin:0;padding:0}.euim-spinner__icon{width:100%;height:var(--eui-base-spacing-2xl);color:var(--eui-base-color-primary)}.euim-spinner--size-2xs{font-size:var(--eui-base-font-size-2xs)}.euim-spinner--size-xs{font-size:var(--eui-base-font-size-xs)}.euim-spinner--size-s{font-size:var(--eui-base-font-size-s)}.euim-spinner--size-m{font-size:var(--eui-base-font-size-m)}.euim-spinner--size-l{font-size:var(--eui-base-font-size-l)}.euim-spinner--size-xl{font-size:var(--eui-base-font-size-xl)}.euim-spinner--size-2xl{font-size:var(--eui-base-font-size-2xl)}.euim-spinner--size-3xl{font-size:var(--eui-base-font-size-3xl)}.euim-spinner--size-4xl{font-size:var(--eui-base-font-size-4xl)}.euim-spinner--primary{color:var(--eui-base-color-primary-100)}.euim-spinner--secondary{color:var(--eui-base-color-grey-50)}.euim-spinner--info{color:var(--eui-base-color-info-100)}.euim-spinner--success{color:var(--eui-base-color-success-100)}.euim-spinner--warning{color:var(--eui-base-color-warning-100)}.euim-spinner--danger{color:var(--eui-base-color-danger-100)}.euim-spinner--accent{color:var(--eui-base-color-accent-100)}.euim-spinner-message{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;display:flex;justify-content:center;color:var(--eui-base-color-grey-75)}.euim-spinner-description{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);display:flex;justify-content:center;color:var(--eui-base-color-grey-75);margin-top:var(--eui-base-spacing-2xs)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }], encapsulation: i0.ViewEncapsulation.None }); }
9
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimSpinnerComponent, selector: "euim-spinner", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ion-spinner class=\"euim-spinner__icon\">\n</ion-spinner>\n<ng-content>\n</ng-content>\n\n\n", styles: [".euim-spinner{width:100%;margin:0;padding:0}.euim-spinner__icon{width:100%;height:var(--eui-base-spacing-2xl);color:var(--eui-base-color-primary-100)}.euim-spinner--size-2xs{font-size:var(--eui-base-font-size-2xs)}.euim-spinner--size-xs{font-size:var(--eui-base-font-size-xs)}.euim-spinner--size-s{font-size:var(--eui-base-font-size-s)}.euim-spinner--size-m{font-size:var(--eui-base-font-size-m)}.euim-spinner--size-l{font-size:var(--eui-base-font-size-l)}.euim-spinner--size-xl{font-size:var(--eui-base-font-size-xl)}.euim-spinner--size-2xl{font-size:var(--eui-base-font-size-2xl)}.euim-spinner--size-3xl{font-size:var(--eui-base-font-size-3xl)}.euim-spinner--size-4xl{font-size:var(--eui-base-font-size-4xl)}.euim-spinner--primary{color:var(--eui-base-color-primary-100)}.euim-spinner--secondary{color:var(--eui-base-color-grey-50)}.euim-spinner--info{color:var(--eui-base-color-info-100)}.euim-spinner--success{color:var(--eui-base-color-success-100)}.euim-spinner--warning{color:var(--eui-base-color-warning-100)}.euim-spinner--danger{color:var(--eui-base-color-danger-100)}.euim-spinner--accent{color:var(--eui-base-color-accent-100)}.euim-spinner-message{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;display:flex;justify-content:center;color:var(--eui-base-color-grey-75)}.euim-spinner-description{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);display:flex;justify-content:center;color:var(--eui-base-color-grey-75);margin-top:var(--eui-base-spacing-2xs)}\n"], dependencies: [{ kind: "component", type: i1.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }], encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimSpinnerComponent, decorators: [{
12
12
  type: Component,
13
- args: [{ selector: 'euim-spinner', encapsulation: ViewEncapsulation.None, template: "<ion-spinner class=\"euim-spinner__icon\">\n</ion-spinner>\n<ng-content>\n</ng-content>\n\n\n", styles: [".euim-spinner{width:100%;margin:0;padding:0}.euim-spinner__icon{width:100%;height:var(--eui-base-spacing-2xl);color:var(--eui-base-color-primary)}.euim-spinner--size-2xs{font-size:var(--eui-base-font-size-2xs)}.euim-spinner--size-xs{font-size:var(--eui-base-font-size-xs)}.euim-spinner--size-s{font-size:var(--eui-base-font-size-s)}.euim-spinner--size-m{font-size:var(--eui-base-font-size-m)}.euim-spinner--size-l{font-size:var(--eui-base-font-size-l)}.euim-spinner--size-xl{font-size:var(--eui-base-font-size-xl)}.euim-spinner--size-2xl{font-size:var(--eui-base-font-size-2xl)}.euim-spinner--size-3xl{font-size:var(--eui-base-font-size-3xl)}.euim-spinner--size-4xl{font-size:var(--eui-base-font-size-4xl)}.euim-spinner--primary{color:var(--eui-base-color-primary-100)}.euim-spinner--secondary{color:var(--eui-base-color-grey-50)}.euim-spinner--info{color:var(--eui-base-color-info-100)}.euim-spinner--success{color:var(--eui-base-color-success-100)}.euim-spinner--warning{color:var(--eui-base-color-warning-100)}.euim-spinner--danger{color:var(--eui-base-color-danger-100)}.euim-spinner--accent{color:var(--eui-base-color-accent-100)}.euim-spinner-message{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;display:flex;justify-content:center;color:var(--eui-base-color-grey-75)}.euim-spinner-description{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);display:flex;justify-content:center;color:var(--eui-base-color-grey-75);margin-top:var(--eui-base-spacing-2xs)}\n"] }]
13
+ args: [{ selector: 'euim-spinner', encapsulation: ViewEncapsulation.None, template: "<ion-spinner class=\"euim-spinner__icon\">\n</ion-spinner>\n<ng-content>\n</ng-content>\n\n\n", styles: [".euim-spinner{width:100%;margin:0;padding:0}.euim-spinner__icon{width:100%;height:var(--eui-base-spacing-2xl);color:var(--eui-base-color-primary-100)}.euim-spinner--size-2xs{font-size:var(--eui-base-font-size-2xs)}.euim-spinner--size-xs{font-size:var(--eui-base-font-size-xs)}.euim-spinner--size-s{font-size:var(--eui-base-font-size-s)}.euim-spinner--size-m{font-size:var(--eui-base-font-size-m)}.euim-spinner--size-l{font-size:var(--eui-base-font-size-l)}.euim-spinner--size-xl{font-size:var(--eui-base-font-size-xl)}.euim-spinner--size-2xl{font-size:var(--eui-base-font-size-2xl)}.euim-spinner--size-3xl{font-size:var(--eui-base-font-size-3xl)}.euim-spinner--size-4xl{font-size:var(--eui-base-font-size-4xl)}.euim-spinner--primary{color:var(--eui-base-color-primary-100)}.euim-spinner--secondary{color:var(--eui-base-color-grey-50)}.euim-spinner--info{color:var(--eui-base-color-info-100)}.euim-spinner--success{color:var(--eui-base-color-success-100)}.euim-spinner--warning{color:var(--eui-base-color-warning-100)}.euim-spinner--danger{color:var(--eui-base-color-danger-100)}.euim-spinner--accent{color:var(--eui-base-color-accent-100)}.euim-spinner-message{font:normal normal 400 1rem/1.25rem var(--eui-base-font-family);font-weight:700;display:flex;justify-content:center;color:var(--eui-base-color-grey-75)}.euim-spinner-description{font:normal normal 400 .875rem/1rem var(--eui-base-font-family);display:flex;justify-content:center;color:var(--eui-base-color-grey-75);margin-top:var(--eui-base-spacing-2xs)}\n"] }]
14
14
  }], propDecorators: { className: [{
15
15
  type: HostBinding,
16
16
  args: ['class']
@@ -8,11 +8,11 @@ export class EuimInfoScreenComponent {
8
8
  this.className = 'euim-info-screen';
9
9
  }
10
10
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimInfoScreenComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimInfoScreenComponent, selector: "euim-info-screen", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-info-screen__title{@eui-font (3xl);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-info-screen__title+.euim-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-info-screen__sub-title+.euim-info-screen__content,title+.euim-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimInfoScreenComponent, selector: "euim-info-screen", host: { properties: { "class": "this.className" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [".euim-info-screen__title{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-info-screen__title+.euim-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-info-screen__sub-title+.euim-info-screen__content,title+.euim-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
12
  }
13
13
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimInfoScreenComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'euim-info-screen', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".euim-info-screen__title{@eui-font (3xl);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);@eui-font (l);}.euim-info-screen__title+.euim-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-info-screen__sub-title+.euim-info-screen__content,title+.euim-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"] }]
15
+ args: [{ selector: 'euim-info-screen', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>\n", styles: [".euim-info-screen__title{font:normal normal 400 1.75rem/2rem var(--eui-base-font-family);font-weight:700;color:var(--eui-base-color-grey-100);margin-top:var(--eui-base-spacing-l);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l)}.euim-info-screen__sub-title{color:var(--eui-base-color-grey-75);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-info-screen__content{color:var(--eui-base-color-grey-100);padding-left:var(--eui-base-spacing-l);padding-right:var(--eui-base-spacing-l);font:normal normal 400 1.125rem/1.5rem var(--eui-base-font-family)}.euim-info-screen__title+.euim-info-screen__sub-title{margin-top:var(--eui-base-spacing-2xs)}.euim-info-screen__sub-title+.euim-info-screen__content,title+.euim-info-screen__content{margin-top:var(--eui-base-spacing-m)}\n"] }]
16
16
  }], propDecorators: { className: [{
17
17
  type: HostBinding,
18
18
  args: ['class']
@@ -7,10 +7,9 @@ import * as i1 from "@ngx-translate/core";
7
7
  import * as i2 from "@eui/core";
8
8
  import * as i3 from "../../../services";
9
9
  import * as i4 from "@ionic/angular";
10
- import * as i5 from "@angular/common";
11
- import * as i6 from "../../euim-avatar-icon/euim-avatar-icon.component";
12
- import * as i7 from "../../atoms/euim-label/euim-label.component";
13
- import * as i8 from "../../euim-empty-list-placeholder/euim-empty-list-placeholder.component";
10
+ import * as i5 from "../../euim-avatar-icon/euim-avatar-icon.component";
11
+ import * as i6 from "../../atoms/euim-label/euim-label.component";
12
+ import * as i7 from "../../euim-empty-list-placeholder/euim-empty-list-placeholder.component";
14
13
  export class EuimLanguageListComponent {
15
14
  constructor(cd, translateService, appShellService, appService, modalCtrl, platform) {
16
15
  this.cd = cd;
@@ -88,10 +87,10 @@ export class EuimLanguageListComponent {
88
87
  });
89
88
  }
90
89
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimLanguageListComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslateService }, { token: i2.EuiAppShellService }, { token: i3.EuimAppService }, { token: i4.ModalController }, { token: i4.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
91
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: EuimLanguageListComponent, selector: "euim-language-list", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"onClose()\">\n <ion-icon name=\"close-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title> {{'euim.language-list.SELECT-LANGUAGE' | translate }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"primary\" class=\"euim-language-selector__search\">\n <ion-searchbar (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <ion-list *ngIf=\"results.length > 0\">\n <ng-container *ngFor=\"let item of results\">\n <ion-item-divider *ngIf=\"firstElementFromEUList?.code === item.code\n || firstElementFromNonEUList?.code === item.code\">\n {{ (firstElementFromEUList?.code === item.code)\n ? ('euim.language-list.EU-LANGUAGES' | translate)\n : 'euim.language-list.NON-EU-LANGUAGES' | translate }}\n </ion-item-divider>\n <ion-item button (click)=\"onLanguageSelected(item)\" [lines]=\"lastElementFromEUList === item ? 'none' : 'inset'\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\" variant=\"rounded\" class=\"euim-language-selector__avatar\">\n <ion-icon name=\"language-sharp\" class=\"euim-language-selector__internal-icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <div euimLabel euimLabelTitle>{{item.label}}</div>\n <div euimLabel euimLabelMeta class=\"eui-u-text-uppercase\">\n {{item.code}}\n </div>\n </ion-label>\n <ion-buttons *ngIf=\"selectedLanguage?.code===item.code\">\n <ion-button fill=\"clear\" >\n <ion-icon name=\"checkmark-sharp\" slot=\"icon-only\" color=\"primary\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-item>\n </ng-container>\n </ion-list>\n <euim-empty-list-placeholder euimMarginTopLarge *ngIf=\"results.length < 1\"\n class=\"euim-language-selector__empty-placeholder\">\n </euim-empty-list-placeholder>\n</ion-content>\n\n", dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i4.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i4.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i6.EuimAvatarIconComponent, selector: "euim-avatar-icon", inputs: ["color", "size", "fill", "variant", "borderColor"] }, { kind: "component", type: i7.EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }, { kind: "component", type: i8.EuimEmptyListPlaceholderComponent, selector: "euim-empty-list-placeholder", inputs: ["message", "icon", "description", "button", "euimMarginTopLarge", "euimMarginTopSmall", "euimMarginBottomSmall"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: EuimLanguageListComponent, selector: "euim-language-list", ngImport: i0, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"onClose()\">\n <ion-icon name=\"close-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title> {{'euim.language-list.SELECT-LANGUAGE' | translate }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"primary\" class=\"euim-language-selector__search\">\n <ion-searchbar (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n @if (results.length > 0) {\n <ion-list>\n @for (item of results; track item) {\n @if (firstElementFromEUList?.code === item.code\n || firstElementFromNonEUList?.code === item.code) {\n <ion-item-divider>\n {{ (firstElementFromEUList?.code === item.code)\n ? ('euim.language-list.EU-LANGUAGES' | translate)\n : 'euim.language-list.NON-EU-LANGUAGES' | translate }}\n </ion-item-divider>\n }\n <ion-item button (click)=\"onLanguageSelected(item)\" [lines]=\"lastElementFromEUList === item ? 'none' : 'inset'\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\" variant=\"rounded\" class=\"euim-language-selector__avatar\">\n <ion-icon name=\"language-sharp\" class=\"euim-language-selector__internal-icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <div euimLabel euimLabelTitle>{{item.label}}</div>\n <div euimLabel euimLabelMeta class=\"eui-u-text-uppercase\">\n {{item.code}}\n </div>\n </ion-label>\n @if (selectedLanguage?.code===item.code) {\n <ion-buttons>\n <ion-button fill=\"clear\" >\n <ion-icon name=\"checkmark-sharp\" slot=\"icon-only\" color=\"primary\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n </ion-item>\n }\n </ion-list>\n }\n @if (results.length < 1) {\n <euim-empty-list-placeholder euimMarginTopLarge\n class=\"euim-language-selector__empty-placeholder\">\n </euim-empty-list-placeholder>\n }\n</ion-content>\n\n", dependencies: [{ kind: "component", type: i4.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i4.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i4.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i4.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i4.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i4.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i4.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { kind: "component", type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i4.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i4.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i4.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i4.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i4.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "component", type: i5.EuimAvatarIconComponent, selector: "euim-avatar-icon", inputs: ["color", "size", "fill", "variant", "borderColor"] }, { kind: "component", type: i6.EuimLabelComponent, selector: "div[euimLabel], p[euimLabel], span[euimLabel], euim-label", inputs: ["euimLabelTruncateWithLines", "euimLabelTitle", "euimLabelSubTitle", "euimLabelMeta", "euimLabelTruncate"] }, { kind: "component", type: i7.EuimEmptyListPlaceholderComponent, selector: "euim-empty-list-placeholder", inputs: ["message", "icon", "description", "button", "euimMarginTopLarge", "euimMarginTopSmall", "euimMarginBottomSmall"] }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
92
91
  }
93
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: EuimLanguageListComponent, decorators: [{
94
93
  type: Component,
95
- args: [{ selector: 'euim-language-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"onClose()\">\n <ion-icon name=\"close-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title> {{'euim.language-list.SELECT-LANGUAGE' | translate }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"primary\" class=\"euim-language-selector__search\">\n <ion-searchbar (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n <ion-list *ngIf=\"results.length > 0\">\n <ng-container *ngFor=\"let item of results\">\n <ion-item-divider *ngIf=\"firstElementFromEUList?.code === item.code\n || firstElementFromNonEUList?.code === item.code\">\n {{ (firstElementFromEUList?.code === item.code)\n ? ('euim.language-list.EU-LANGUAGES' | translate)\n : 'euim.language-list.NON-EU-LANGUAGES' | translate }}\n </ion-item-divider>\n <ion-item button (click)=\"onLanguageSelected(item)\" [lines]=\"lastElementFromEUList === item ? 'none' : 'inset'\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\" variant=\"rounded\" class=\"euim-language-selector__avatar\">\n <ion-icon name=\"language-sharp\" class=\"euim-language-selector__internal-icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <div euimLabel euimLabelTitle>{{item.label}}</div>\n <div euimLabel euimLabelMeta class=\"eui-u-text-uppercase\">\n {{item.code}}\n </div>\n </ion-label>\n <ion-buttons *ngIf=\"selectedLanguage?.code===item.code\">\n <ion-button fill=\"clear\" >\n <ion-icon name=\"checkmark-sharp\" slot=\"icon-only\" color=\"primary\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-item>\n </ng-container>\n </ion-list>\n <euim-empty-list-placeholder euimMarginTopLarge *ngIf=\"results.length < 1\"\n class=\"euim-language-selector__empty-placeholder\">\n </euim-empty-list-placeholder>\n</ion-content>\n\n" }]
94
+ args: [{ selector: 'euim-language-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-header>\n <ion-toolbar color=\"primary\">\n <ion-buttons slot=\"start\">\n <ion-button (click)=\"onClose()\">\n <ion-icon name=\"close-sharp\" slot=\"icon-only\"></ion-icon>\n </ion-button>\n </ion-buttons>\n <ion-title> {{'euim.language-list.SELECT-LANGUAGE' | translate }}</ion-title>\n </ion-toolbar>\n <ion-toolbar color=\"primary\" class=\"euim-language-selector__search\">\n <ion-searchbar (ionChange)=\"handleChange($event)\"></ion-searchbar>\n </ion-toolbar>\n</ion-header>\n<ion-content>\n @if (results.length > 0) {\n <ion-list>\n @for (item of results; track item) {\n @if (firstElementFromEUList?.code === item.code\n || firstElementFromNonEUList?.code === item.code) {\n <ion-item-divider>\n {{ (firstElementFromEUList?.code === item.code)\n ? ('euim.language-list.EU-LANGUAGES' | translate)\n : 'euim.language-list.NON-EU-LANGUAGES' | translate }}\n </ion-item-divider>\n }\n <ion-item button (click)=\"onLanguageSelected(item)\" [lines]=\"lastElementFromEUList === item ? 'none' : 'inset'\">\n <euim-avatar-icon fill=\"solid\" slot=\"start\" variant=\"rounded\" class=\"euim-language-selector__avatar\">\n <ion-icon name=\"language-sharp\" class=\"euim-language-selector__internal-icon\"></ion-icon>\n </euim-avatar-icon>\n <ion-label>\n <div euimLabel euimLabelTitle>{{item.label}}</div>\n <div euimLabel euimLabelMeta class=\"eui-u-text-uppercase\">\n {{item.code}}\n </div>\n </ion-label>\n @if (selectedLanguage?.code===item.code) {\n <ion-buttons>\n <ion-button fill=\"clear\" >\n <ion-icon name=\"checkmark-sharp\" slot=\"icon-only\" color=\"primary\"></ion-icon>\n </ion-button>\n </ion-buttons>\n }\n </ion-item>\n }\n </ion-list>\n }\n @if (results.length < 1) {\n <euim-empty-list-placeholder euimMarginTopLarge\n class=\"euim-language-selector__empty-placeholder\">\n </euim-empty-list-placeholder>\n }\n</ion-content>\n\n" }]
96
95
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TranslateService }, { type: i2.EuiAppShellService }, { type: i3.EuimAppService }, { type: i4.ModalController }, { type: i4.Platform }] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1sYW5ndWFnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvZXVpbS1sYW5ndWFnZS1zZWxlY3Rvci9ldWltLWxhbmd1YWdlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9ldWltLWxhbmd1YWdlLXNlbGVjdG9yL2V1aW0tbGFuZ3VhZ2UtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBcUIsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFzQixjQUFjLEVBQWUsTUFBTSxXQUFXLENBQUM7QUFFNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFTL0IsTUFBTSxPQUFPLHlCQUF5QjtJQWlCbEMsWUFDWSxFQUFxQixFQUNyQixnQkFBa0MsRUFDbkMsZUFBbUMsRUFDbkMsVUFBMEIsRUFDekIsU0FBMEIsRUFDMUIsUUFBa0I7UUFMbEIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNuQyxvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFDbkMsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQVJ0QixhQUFRLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFVeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQVMsRUFBRTtZQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLElB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bXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV1aUFwcFNoZWxsU2VydmljZSwgRXVpRXVMYW5ndWFnZXMsIEV1aUxhbmd1YWdlIH0gZnJvbSAnQGV1aS9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdWltQXBwU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciwgUGxhdGZvcm0gfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXVpbS1sYW5ndWFnZS1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJ2V1aW0tbGFuZ3VhZ2UtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEV1aW1MYW5ndWFnZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBsYW5ndWFnZXM6IEV1aUxhbmd1YWdlW107XG4gICAgc2VsZWN0ZWRMYW5ndWFnZTogRXVpTGFuZ3VhZ2U7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGxhbmd1YWdlc1NvcnRlZEJ5RVVBbmROb25FVTogRXVpTGFuZ3VhZ2VbXTtcbiAgICBmaXJzdEVsZW1lbnRGcm9tTm9uRVVMaXN0OiBFdWlMYW5ndWFnZTtcbiAgICBmaXJzdEVsZW1lbnRGcm9tRVVMaXN0OiBFdWlMYW5ndWFnZTtcbiAgICBsYXN0RWxlbWVudEZyb21FVUxpc3Q6IEV1aUxhbmd1YWdlO1xuICAgIGV1TGFuZ3VhZ2VMaXN0OiBFdWlMYW5ndWFnZVtdO1xuICAgIG5vbkVVTGFuZ3VhZ2VMaXN0OiBFdWlMYW5ndWFnZVtdO1xuICAgIHJlc3VsdHM6IEV1aUxhbmd1YWdlW107XG5cbiAgICBpc0tleWJvYXJkU2hvd24gOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGFwcFNoZWxsU2VydmljZTogRXVpQXBwU2hlbGxTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYXBwU2VydmljZTogRXVpbUFwcFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbW9kYWxDdHJsOiBNb2RhbENvbnRyb2xsZXIsXG4gICAgICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtLFxuICAgICkge1xuICAgICAgICB0aGlzLnBsYXRmb3JtLmtleWJvYXJkRGlkU2hvdy5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0tleWJvYXJkU2hvd24gPSB0cnVlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnBsYXRmb3JtLmtleWJvYXJkRGlkSGlkZS5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc0tleWJvYXJkU2hvd24gPSBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgICAgICB0aGlzLmFwcFNoZWxsU2VydmljZS5zdGF0ZSQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkKCdsYW5ndWFnZXMnKSxcbiAgICAgICAgKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG5cbiAgICAgICAgICAgIHRoaXMubGFuZ3VhZ2VzID0gKHN0YXRlLmxhbmd1YWdlcykgP1xuICAgICAgICAgICAgICAgIEV1aUV1TGFuZ3VhZ2VzLmdldE9yZGVyZWRMYW5ndWFnZXMoc3RhdGUubGFuZ3VhZ2VzKSA6XG4gICAgICAgICAgICAgICAgRXVpRXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuZXVMYW5ndWFnZUxpc3QgPVxuICAgICAgICAgICAgICAgIEV1aUV1TGFuZ3VhZ2VzLmdldE9yZGVyZWRMYW5ndWFnZXMoXG4gICAgICAgICAgICAgICAgICAgIEV1aUV1TGFuZ3VhZ2VzLmZpbHRlckVVTGFuZ3VhZ2VzKHRoaXMubGFuZ3VhZ2VzKSk7XG5cbiAgICAgICAgICAgIHRoaXMuZmlyc3RFbGVtZW50RnJvbUVVTGlzdCA9IHRoaXMuZXVMYW5ndWFnZUxpc3RbMF07XG4gICAgICAgICAgICB0aGlzLmxhc3RFbGVtZW50RnJvbUVVTGlzdCA9IHRoaXMuZXVMYW5ndWFnZUxpc3RbdGhpcy5ldUxhbmd1YWdlTGlzdD8ubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIHRoaXMubm9uRVVMYW5ndWFnZUxpc3QgPVxuICAgICAgICAgICAgICAgIFsuLi5FdWlFdUxhbmd1YWdlcy5nZXRPcmRlcmVkTGFuZ3VhZ2VzKFxuICAgICAgICAgICAgICAgICAgICBFdWlFdUxhbmd1YWdlcy5maWx0ZXJOb25FVUxhbmd1YWdlcyh0aGlzLmxhbmd1YWdlcykpXTtcblxuICAgICAgICAgICAgdGhpcy5maXJzdEVsZW1lbnRGcm9tTm9uRVVMaXN0ID0gdGhpcy5ub25FVUxhbmd1YWdlTGlzdFswXTtcblxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXNTb3J0ZWRCeUVVQW5kTm9uRVUgPSBbLi4udGhpcy5ldUxhbmd1YWdlTGlzdCwgLi4udGhpcy5ub25FVUxhbmd1YWdlTGlzdF07XG5cbiAgICAgICAgICAgIHRoaXMucmVzdWx0cyA9IFsuLi50aGlzLmxhbmd1YWdlc1NvcnRlZEJ5RVVBbmROb25FVV07XG5cbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYXBwU2hlbGxTZXJ2aWNlLnN0YXRlJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbEtleUNoYW5nZWQoJ2FjdGl2ZUxhbmd1YWdlJyksXG4gICAgICAgICkuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExhbmd1YWdlID0ge1xuICAgICAgICAgICAgICAgIGNvZGU6IHN0YXRlLmFjdGl2ZUxhbmd1YWdlLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldExhbmd1YWdlTGFiZWwoc3RhdGUuYWN0aXZlTGFuZ3VhZ2UpLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgb25MYW5ndWFnZVNlbGVjdGVkKGxhbmd1YWdlOiBFdWlMYW5ndWFnZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmd1YWdlLmNvZGUpO1xuICAgICAgICAvLyB0aGlzLmFwcFNlcnZpY2UuaXNMYW5ndWFnZUxpc3RWaXNpYmxlID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5hcHBTaGVsbFNlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICAgICAgLi4udGhpcy5hcHBTaGVsbFNlcnZpY2Uuc3RhdGUsXG4gICAgICAgICAgICBhY3RpdmVMYW5ndWFnZTogbGFuZ3VhZ2UuY29kZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5tb2RhbEN0cmwuZGlzbWlzcyhudWxsLCAnY2FuY2VsJyk7XG4gICAgfVxuXG4gICAgb25MYW5ndWFnZUxpc3RDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBTZXJ2aWNlLmlzTGFuZ3VhZ2VMaXN0VmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRMYW5ndWFnZUxhYmVsKGxhbmd1YWdlQ29kZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgZm9yIChjb25zdCBsYW5ndWFnZSBvZiB0aGlzLmxhbmd1YWdlcykge1xuICAgICAgICAgICAgaWYgKGxhbmd1YWdlLmNvZGUgPT09IGxhbmd1YWdlQ29kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBsYW5ndWFnZS5sYWJlbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xvc2UoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vZGFsQ3RybC5kaXNtaXNzKG51bGwsICdjYW5jZWwnKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2hhbmdlKGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgdGhpcy5yZXN1bHRzID0gdGhpcy5sYW5ndWFnZXNTb3J0ZWRCeUVVQW5kTm9uRVUuZmlsdGVyKGQgPT4ge1xuXG4gICAgICAgICAgICBpZiAoZC5jb2RlLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeSkgPiAtMSB8fFxuICAgICAgICAgICAgICAgIGQubGFiZWwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5KSA+IC0xICkge1xuXG4gICAgICAgICAgICAgICByZXR1cm4gZDtcbiAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbn1cbiIsIjxpb24taGVhZGVyPlxuICAgIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiPlxuICAgICAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2Utc2hhcnBcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgPGlvbi10aXRsZT4ge3snZXVpbS5sYW5ndWFnZS1saXN0LlNFTEVDVC1MQU5HVUFHRScgfCB0cmFuc2xhdGUgfX08L2lvbi10aXRsZT5cbiAgICA8L2lvbi10b29sYmFyPlxuICAgIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImV1aW0tbGFuZ3VhZ2Utc2VsZWN0b3JfX3NlYXJjaFwiPlxuICAgICAgICA8aW9uLXNlYXJjaGJhciAoaW9uQ2hhbmdlKT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCI+PC9pb24tc2VhcmNoYmFyPlxuICAgIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG48aW9uLWNvbnRlbnQ+XG4gICAgPGlvbi1saXN0ICpuZ0lmPVwicmVzdWx0cy5sZW5ndGggPiAwXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcmVzdWx0c1wiPlxuICAgICAgICAgICAgPGlvbi1pdGVtLWRpdmlkZXIgKm5nSWY9XCJmaXJzdEVsZW1lbnRGcm9tRVVMaXN0Py5jb2RlID09PSBpdGVtLmNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGZpcnN0RWxlbWVudEZyb21Ob25FVUxpc3Q/LmNvZGUgPT09IGl0ZW0uY29kZVwiPlxuICAgICAgICAgICAgICAgIHt7IChmaXJzdEVsZW1lbnRGcm9tRVVMaXN0Py5jb2RlID09PSBpdGVtLmNvZGUpXG4gICAgICAgICAgICAgICAgICAgID8gKCdldWltLmxhbmd1YWdlLWxpc3QuRVUtTEFOR1VBR0VTJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICAgICAgICAgICAgOiAnZXVpbS5sYW5ndWFnZS1saXN0Lk5PTi1FVS1MQU5HVUFHRVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2lvbi1pdGVtLWRpdmlkZXI+XG4gICAgICAgICAgICA8aW9uLWl0ZW0gYnV0dG9uIChjbGljayk9XCJvbkxhbmd1YWdlU2VsZWN0ZWQoaXRlbSlcIiBbbGluZXNdPVwibGFzdEVsZW1lbnRGcm9tRVVMaXN0ID09PSBpdGVtID8gJ25vbmUnIDogJ2luc2V0J1wiPlxuICAgICAgICAgICAgICAgIDxldWltLWF2YXRhci1pY29uICBmaWxsPVwic29saWRcIiBzbG90PVwic3RhcnRcIiB2YXJpYW50PVwicm91bmRlZFwiIGNsYXNzPVwiZXVpbS1sYW5ndWFnZS1zZWxlY3Rvcl9fYXZhdGFyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibGFuZ3VhZ2Utc2hhcnBcIiBjbGFzcz1cImV1aW0tbGFuZ3VhZ2Utc2VsZWN0b3JfX2ludGVybmFsLWljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgIDwvZXVpbS1hdmF0YXItaWNvbj5cbiAgICAgICAgICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGV1aW1MYWJlbCBldWltTGFiZWxUaXRsZT57e2l0ZW0ubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGV1aW1MYWJlbCBldWltTGFiZWxNZXRhIGNsYXNzPVwiZXVpLXUtdGV4dC11cHBlcmNhc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7aXRlbS5jb2RlfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9pb24tbGFiZWw+XG4gICAgICAgICAgICAgICA8aW9uLWJ1dHRvbnMgKm5nSWY9XCJzZWxlY3RlZExhbmd1YWdlPy5jb2RlPT09aXRlbS5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uICBmaWxsPVwiY2xlYXJcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFyay1zaGFycFwiIHNsb3Q9XCJpY29uLW9ubHlcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9ucz5cbiAgICAgICAgICAgIDwvaW9uLWl0ZW0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvaW9uLWxpc3Q+XG4gICAgPGV1aW0tZW1wdHktbGlzdC1wbGFjZWhvbGRlciBldWltTWFyZ2luVG9wTGFyZ2UgKm5nSWY9XCJyZXN1bHRzLmxlbmd0aCA8IDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWltLWxhbmd1YWdlLXNlbGVjdG9yX19lbXB0eS1wbGFjZWhvbGRlclwiPlxuICAgIDwvZXVpbS1lbXB0eS1saXN0LXBsYWNlaG9sZGVyPlxuPC9pb24tY29udGVudD5cblxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpbS1sYW5ndWFnZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9sYXlvdXQvZXVpbS1sYW5ndWFnZS1zZWxlY3Rvci9ldWltLWxhbmd1YWdlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9ldWltLWxhbmd1YWdlLXNlbGVjdG9yL2V1aW0tbGFuZ3VhZ2UtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBcUIsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFzQixjQUFjLEVBQWUsTUFBTSxXQUFXLENBQUM7QUFFNUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVMvQixNQUFNLE9BQU8seUJBQXlCO0lBaUJsQyxZQUNZLEVBQXFCLEVBQ3JCLGdCQUFrQyxFQUNuQyxlQUFtQyxFQUNuQyxVQUEwQixFQUN6QixTQUEwQixFQUMxQixRQUFrQjtRQUxsQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ25DLG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQUNuQyxlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBUnRCLGFBQVEsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQVV4RCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBUyxFQUFFO1lBQy9DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFB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cG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXVpQXBwU2hlbGxTZXJ2aWNlLCBFdWlFdUxhbmd1YWdlcywgRXVpTGFuZ3VhZ2UgfSBmcm9tICdAZXVpL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbEtleUNoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEV1aW1BcHBTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBQbGF0Zm9ybSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdldWltLWxhbmd1YWdlLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnZXVpbS1sYW5ndWFnZS1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRXVpbUxhbmd1YWdlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIGxhbmd1YWdlczogRXVpTGFuZ3VhZ2VbXTtcbiAgICBzZWxlY3RlZExhbmd1YWdlOiBFdWlMYW5ndWFnZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbGFuZ3VhZ2VzU29ydGVkQnlFVUFuZE5vbkVVOiBFdWlMYW5ndWFnZVtdO1xuICAgIGZpcnN0RWxlbWVudEZyb21Ob25FVUxpc3Q6IEV1aUxhbmd1YWdlO1xuICAgIGZpcnN0RWxlbWVudEZyb21FVUxpc3Q6IEV1aUxhbmd1YWdlO1xuICAgIGxhc3RFbGVtZW50RnJvbUVVTGlzdDogRXVpTGFuZ3VhZ2U7XG4gICAgZXVMYW5ndWFnZUxpc3Q6IEV1aUxhbmd1YWdlW107XG4gICAgbm9uRVVMYW5ndWFnZUxpc3Q6IEV1aUxhbmd1YWdlW107XG4gICAgcmVzdWx0czogRXVpTGFuZ3VhZ2VbXTtcblxuICAgIGlzS2V5Ym9hcmRTaG93biA6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgYXBwU2hlbGxTZXJ2aWNlOiBFdWlBcHBTaGVsbFNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBhcHBTZXJ2aWNlOiBFdWltQXBwU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBtb2RhbEN0cmw6IE1vZGFsQ29udHJvbGxlcixcbiAgICAgICAgcHJpdmF0ZSBwbGF0Zm9ybTogUGxhdGZvcm0sXG4gICAgKSB7XG4gICAgICAgIHRoaXMucGxhdGZvcm0ua2V5Ym9hcmREaWRTaG93LnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzS2V5Ym9hcmRTaG93biA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucGxhdGZvcm0ua2V5Ym9hcmREaWRIaWRlLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLmlzS2V5Ym9hcmRTaG93biA9IGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgICAgIHRoaXMuYXBwU2hlbGxTZXJ2aWNlLnN0YXRlJC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbEtleUNoYW5nZWQoJ2xhbmd1YWdlcycpLFxuICAgICAgICApLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcblxuICAgICAgICAgICAgdGhpcy5sYW5ndWFnZXMgPSAoc3RhdGUubGFuZ3VhZ2VzKSA/XG4gICAgICAgICAgICAgICAgRXVpRXVMYW5ndWFnZXMuZ2V0T3JkZXJlZExhbmd1YWdlcyhzdGF0ZS5sYW5ndWFnZXMpIDpcbiAgICAgICAgICAgICAgICBFdWlFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZXMoKTtcblxuICAgICAgICAgICAgdGhpcy5ldUxhbmd1YWdlTGlzdCA9XG4gICAgICAgICAgICAgICAgRXVpRXVMYW5ndWFnZXMuZ2V0T3JkZXJlZExhbmd1YWdlcyhcbiAgICAgICAgICAgICAgICAgICAgRXVpRXVMYW5ndWFnZXMuZmlsdGVyRVVMYW5ndWFnZXModGhpcy5sYW5ndWFnZXMpKTtcblxuICAgICAgICAgICAgdGhpcy5maXJzdEVsZW1lbnRGcm9tRVVMaXN0ID0gdGhpcy5ldUxhbmd1YWdlTGlzdFswXTtcbiAgICAgICAgICAgIHRoaXMubGFzdEVsZW1lbnRGcm9tRVVMaXN0ID0gdGhpcy5ldUxhbmd1YWdlTGlzdFt0aGlzLmV1TGFuZ3VhZ2VMaXN0Py5sZW5ndGggLSAxXTtcblxuICAgICAgICAgICAgdGhpcy5ub25FVUxhbmd1YWdlTGlzdCA9XG4gICAgICAgICAgICAgICAgWy4uLkV1aUV1TGFuZ3VhZ2VzLmdldE9yZGVyZWRMYW5ndWFnZXMoXG4gICAgICAgICAgICAgICAgICAgIEV1aUV1TGFuZ3VhZ2VzLmZpbHRlck5vbkVVTGFuZ3VhZ2VzKHRoaXMubGFuZ3VhZ2VzKSldO1xuXG4gICAgICAgICAgICB0aGlzLmZpcnN0RWxlbWVudEZyb21Ob25FVUxpc3QgPSB0aGlzLm5vbkVVTGFuZ3VhZ2VMaXN0WzBdO1xuXG4gICAgICAgICAgICB0aGlzLmxhbmd1YWdlc1NvcnRlZEJ5RVVBbmROb25FVSA9IFsuLi50aGlzLmV1TGFuZ3VhZ2VMaXN0LCAuLi50aGlzLm5vbkVVTGFuZ3VhZ2VMaXN0XTtcblxuICAgICAgICAgICAgdGhpcy5yZXN1bHRzID0gWy4uLnRoaXMubGFuZ3VhZ2VzU29ydGVkQnlFVUFuZE5vbkVVXTtcblxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5hcHBTaGVsbFNlcnZpY2Uuc3RhdGUkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsS2V5Q2hhbmdlZCgnYWN0aXZlTGFuZ3VhZ2UnKSxcbiAgICAgICAgKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZ3VhZ2UgPSB7XG4gICAgICAgICAgICAgICAgY29kZTogc3RhdGUuYWN0aXZlTGFuZ3VhZ2UsXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0TGFuZ3VhZ2VMYWJlbChzdGF0ZS5hY3RpdmVMYW5ndWFnZSksXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBvbkxhbmd1YWdlU2VsZWN0ZWQobGFuZ3VhZ2U6IEV1aUxhbmd1YWdlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZ3VhZ2UuY29kZSk7XG4gICAgICAgIC8vIHRoaXMuYXBwU2VydmljZS5pc0xhbmd1YWdlTGlzdFZpc2libGUgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmFwcFNoZWxsU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAuLi50aGlzLmFwcFNoZWxsU2VydmljZS5zdGF0ZSxcbiAgICAgICAgICAgIGFjdGl2ZUxhbmd1YWdlOiBsYW5ndWFnZS5jb2RlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm1vZGFsQ3RybC5kaXNtaXNzKG51bGwsICdjYW5jZWwnKTtcbiAgICB9XG5cbiAgICBvbkxhbmd1YWdlTGlzdENsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFwcFNlcnZpY2UuaXNMYW5ndWFnZUxpc3RWaXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldExhbmd1YWdlTGFiZWwobGFuZ3VhZ2VDb2RlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIHRoaXMubGFuZ3VhZ2VzKSB7XG4gICAgICAgICAgICBpZiAobGFuZ3VhZ2UuY29kZSA9PT0gbGFuZ3VhZ2VDb2RlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGxhbmd1YWdlLmxhYmVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbG9zZSgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kYWxDdHJsLmRpc21pc3MobnVsbCwgJ2NhbmNlbCcpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVDaGFuZ2UoZXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcXVlcnkgPSBldmVudC50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICB0aGlzLnJlc3VsdHMgPSB0aGlzLmxhbmd1YWdlc1NvcnRlZEJ5RVVBbmROb25FVS5maWx0ZXIoZCA9PiB7XG5cbiAgICAgICAgICAgIGlmIChkLmNvZGUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHF1ZXJ5KSA+IC0xIHx8XG4gICAgICAgICAgICAgICAgZC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YocXVlcnkpID4gLTEgKSB7XG5cbiAgICAgICAgICAgICAgIHJldHVybiBkO1xuICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIiwiPGlvbi1oZWFkZXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIj5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XG4gICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgIDxpb24taWNvbiBuYW1lPVwiY2xvc2Utc2hhcnBcIiBzbG90PVwiaWNvbi1vbmx5XCI+PC9pb24taWNvbj5cbiAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2lvbi1idXR0b25zPlxuICAgIDxpb24tdGl0bGU+IHt7J2V1aW0ubGFuZ3VhZ2UtbGlzdC5TRUxFQ1QtTEFOR1VBR0UnIHwgdHJhbnNsYXRlIH19PC9pb24tdGl0bGU+XG4gIDwvaW9uLXRvb2xiYXI+XG4gIDxpb24tdG9vbGJhciBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImV1aW0tbGFuZ3VhZ2Utc2VsZWN0b3JfX3NlYXJjaFwiPlxuICAgIDxpb24tc2VhcmNoYmFyIChpb25DaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIj48L2lvbi1zZWFyY2hiYXI+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG48aW9uLWNvbnRlbnQ+XG4gIEBpZiAocmVzdWx0cy5sZW5ndGggPiAwKSB7XG4gICAgPGlvbi1saXN0PlxuICAgICAgQGZvciAoaXRlbSBvZiByZXN1bHRzOyB0cmFjayBpdGVtKSB7XG4gICAgICAgIEBpZiAoZmlyc3RFbGVtZW50RnJvbUVVTGlzdD8uY29kZSA9PT0gaXRlbS5jb2RlXG4gICAgICAgICAgfHwgZmlyc3RFbGVtZW50RnJvbU5vbkVVTGlzdD8uY29kZSA9PT0gaXRlbS5jb2RlKSB7XG4gICAgICAgICAgPGlvbi1pdGVtLWRpdmlkZXI+XG4gICAgICAgICAgICB7eyAoZmlyc3RFbGVtZW50RnJvbUVVTGlzdD8uY29kZSA9PT0gaXRlbS5jb2RlKVxuICAgICAgICAgICAgPyAoJ2V1aW0ubGFuZ3VhZ2UtbGlzdC5FVS1MQU5HVUFHRVMnIHwgdHJhbnNsYXRlKVxuICAgICAgICAgICAgOiAnZXVpbS5sYW5ndWFnZS1saXN0Lk5PTi1FVS1MQU5HVUFHRVMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9pb24taXRlbS1kaXZpZGVyPlxuICAgICAgICB9XG4gICAgICAgIDxpb24taXRlbSBidXR0b24gKGNsaWNrKT1cIm9uTGFuZ3VhZ2VTZWxlY3RlZChpdGVtKVwiIFtsaW5lc109XCJsYXN0RWxlbWVudEZyb21FVUxpc3QgPT09IGl0ZW0gPyAnbm9uZScgOiAnaW5zZXQnXCI+XG4gICAgICAgICAgPGV1aW0tYXZhdGFyLWljb24gIGZpbGw9XCJzb2xpZFwiIHNsb3Q9XCJzdGFydFwiIHZhcmlhbnQ9XCJyb3VuZGVkXCIgY2xhc3M9XCJldWltLWxhbmd1YWdlLXNlbGVjdG9yX19hdmF0YXJcIj5cbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibGFuZ3VhZ2Utc2hhcnBcIiBjbGFzcz1cImV1aW0tbGFuZ3VhZ2Utc2VsZWN0b3JfX2ludGVybmFsLWljb25cIj48L2lvbi1pY29uPlxuICAgICAgICAgIDwvZXVpbS1hdmF0YXItaWNvbj5cbiAgICAgICAgICA8aW9uLWxhYmVsPlxuICAgICAgICAgICAgPGRpdiBldWltTGFiZWwgZXVpbUxhYmVsVGl0bGU+e3tpdGVtLmxhYmVsfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgZXVpbUxhYmVsIGV1aW1MYWJlbE1ldGEgY2xhc3M9XCJldWktdS10ZXh0LXVwcGVyY2FzZVwiPlxuICAgICAgICAgICAgICB7e2l0ZW0uY29kZX19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2lvbi1sYWJlbD5cbiAgICAgICAgICBAaWYgKHNlbGVjdGVkTGFuZ3VhZ2U/LmNvZGU9PT1pdGVtLmNvZGUpIHtcbiAgICAgICAgICAgIDxpb24tYnV0dG9ucz5cbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gIGZpbGw9XCJjbGVhclwiID5cbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFyay1zaGFycFwiIHNsb3Q9XCJpY29uLW9ubHlcIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgICAgICAgICA8L2lvbi1idXR0b25zPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9pb24taXRlbT5cbiAgICAgIH1cbiAgICA8L2lvbi1saXN0PlxuICB9XG4gIEBpZiAocmVzdWx0cy5sZW5ndGggPCAxKSB7XG4gICAgPGV1aW0tZW1wdHktbGlzdC1wbGFjZWhvbGRlciBldWltTWFyZ2luVG9wTGFyZ2VcbiAgICAgIGNsYXNzPVwiZXVpbS1sYW5ndWFnZS1zZWxlY3Rvcl9fZW1wdHktcGxhY2Vob2xkZXJcIj5cbiAgICA8L2V1aW0tZW1wdHktbGlzdC1wbGFjZWhvbGRlcj5cbiAgfVxuPC9pb24tY29udGVudD5cblxuIl19