survey-angular-ui 1.9.127 → 1.9.129

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.
@@ -1,24 +1,26 @@
1
1
  import { AfterViewInit, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
2
- import { SurveyModel } from "survey-core";
2
+ import { SurveyModel, ProgressButtons, IProgressButtonsViewModel } from "survey-core";
3
3
  import * as i0 from "@angular/core";
4
- export declare class ProgressButtonsComponent implements OnDestroy, AfterViewInit, OnChanges, OnInit {
4
+ export declare class ProgressButtonsComponent implements OnDestroy, AfterViewInit, OnChanges, OnInit, IProgressButtonsViewModel {
5
5
  private changeDetectorRef;
6
- model: SurveyModel;
6
+ model: ProgressButtons;
7
+ survey: SurveyModel;
8
+ container: string;
7
9
  progressButtonsListContainer: ElementRef<HTMLDivElement>;
8
- private progressButtonsModel;
9
- private hasScroller;
10
- private updateScroller;
10
+ hasScroller: boolean;
11
+ canShowHeader: boolean;
12
+ canShowFooter: boolean;
13
+ canShowItemTitles: boolean;
14
+ private respManager?;
11
15
  constructor(changeDetectorRef: ChangeDetectorRef);
12
- private createProgressButtonsModel;
16
+ onResize(canShowItemTitles: boolean): void;
17
+ onUpdateScroller(hasScroller: boolean): void;
18
+ onUpdateSettings(): void;
13
19
  ngOnInit(): void;
14
20
  ngOnChanges(changes: SimpleChanges): void;
15
- isListElementClickable(index: number): boolean;
16
- getListElementCss(index: number): string;
17
- clickListElement(index: number): void;
18
- getScrollButtonCss(isLeftScroll: boolean): string;
19
21
  clickScrollButton(isLeftScroll: boolean): void;
20
22
  ngAfterViewInit(): void;
21
23
  ngOnDestroy(): void;
22
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ProgressButtonsComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<ProgressButtonsComponent, "sv-ng-progress-buttons", never, { "model": "model"; }, {}, never, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProgressButtonsComponent, "sv-ng-progress-buttons", never, { "model": "model"; "survey": "survey"; "container": "container"; }, {}, never, never>;
24
26
  }
@@ -11,7 +11,7 @@ export class ChooseFileBtn extends EmbeddedViewContentComponent {
11
11
  }
12
12
  }
13
13
  ChooseFileBtn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChooseFileBtn, deps: null, target: i0.ɵɵFactoryTarget.Component });
14
- ChooseFileBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: { data: "data", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <label tabindex=\"0\" [class]=\"question.getChooseFileCss()\"\n [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonText\" [key2click]>\n <svg *ngIf=\"question.cssClasses.chooseFileIconId\" [title]=\"question.chooseButtonText\"\n [iconName]=\"question.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <span>{{ question.chooseButtonText }}</span>\n</label>\n</ng-template>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
14
+ ChooseFileBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ChooseFileBtn, selector: "sv-ng-choose-file-btn", inputs: { data: "data", model: "model" }, usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <label tabindex=\"0\" [class]=\"question.getChooseFileCss()\"\n [attr.for]=\"question.inputId\" [attr.aria-label]=\"question.chooseButtonText\" [key2click]\n (click)=\"question.chooseFile()\">\n <svg *ngIf=\"question.cssClasses.chooseFileIconId\" [title]=\"question.chooseButtonText\"\n [iconName]=\"question.cssClasses.chooseFileIconId\" [size]=\"'auto'\" sv-ng-svg-icon></svg>\n <span>{{ question.chooseButtonText }}</span>\n</label>\n</ng-template>", components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }], directives: [{ type: i2.Key2ClickDirective, selector: "[key2click]", inputs: ["key2click"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ChooseFileBtn, decorators: [{
16
16
  type: Component,
17
17
  args: [{
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
24
24
  type: Input
25
25
  }] } });
26
26
  AngularComponentFactory.Instance.registerComponent("sv-file-choose-btn", ChooseFileBtn);
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZmlsZS9jaG9vc2UtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9maWxlL2Nob29zZS1maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUtyRixNQUFNLE9BQU8sYUFBYyxTQUFRLDRCQUE0QjtJQUczRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEUsQ0FBQzs7MkdBTFEsYUFBYTsrRkFBYixhQUFhLDhIQ1IxQiw4ZEFPYzs0RkRDRCxhQUFhO2tCQUp6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSw4QkFBOEI7aUJBQzVDOzhCQUVZLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7O0FBS1YsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLG9CQUFvQixFQUFFLGFBQWEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uLCBRdWVzdGlvbkZpbGVNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudEZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50LWZhY3RvcnlcIjtcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9lbWJlZGRlZC12aWV3LWNvbnRlbnQuY29tcG9uZW50XCI7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwic3YtbmctY2hvb3NlLWZpbGUtYnRuXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2hvb3NlLWZpbGUuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBDaG9vc2VGaWxlQnRuIGV4dGVuZHMgRW1iZWRkZWRWaWV3Q29udGVudENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgZGF0YTogYW55O1xuICAgIEBJbnB1dCgpIG1vZGVsITogQWN0aW9uO1xuICAgIHB1YmxpYyBnZXQgcXVlc3Rpb24oKTogUXVlc3Rpb25GaWxlTW9kZWwge1xuICAgICAgcmV0dXJuICh0aGlzLm1vZGVsICYmIHRoaXMubW9kZWwuZGF0YS5xdWVzdGlvbikgfHwgdGhpcy5kYXRhLnF1ZXN0aW9uO1xuICAgIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtZmlsZS1jaG9vc2UtYnRuXCIsIENob29zZUZpbGVCdG4pOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAgPGxhYmVsIHRhYmluZGV4PVwiMFwiIFtjbGFzc109XCJxdWVzdGlvbi5nZXRDaG9vc2VGaWxlQ3NzKClcIlxuICAgICAgICBbYXR0ci5mb3JdPVwicXVlc3Rpb24uaW5wdXRJZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwicXVlc3Rpb24uY2hvb3NlQnV0dG9uVGV4dFwiIFtrZXkyY2xpY2tdPlxuICAgICAgICA8c3ZnICpuZ0lmPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jaG9vc2VGaWxlSWNvbklkXCIgW3RpdGxlXT1cInF1ZXN0aW9uLmNob29zZUJ1dHRvblRleHRcIlxuICAgICAgICAgICAgW2ljb25OYW1lXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2hvb3NlRmlsZUljb25JZFwiIFtzaXplXT1cIidhdXRvJ1wiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICA8c3Bhbj57eyBxdWVzdGlvbi5jaG9vc2VCdXR0b25UZXh0IH19PC9zcGFuPlxuPC9sYWJlbD5cbjwvbmctdGVtcGxhdGU+Il19
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvZmlsZS9jaG9vc2UtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9maWxlL2Nob29zZS1maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7OztBQUtyRixNQUFNLE9BQU8sYUFBYyxTQUFRLDRCQUE0QjtJQUczRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEUsQ0FBQzs7MkdBTFEsYUFBYTsrRkFBYixhQUFhLDhIQ1IxQix5Z0JBUWM7NEZEQUQsYUFBYTtrQkFKekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsOEJBQThCO2lCQUM1Qzs4QkFFWSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLOztBQUtWLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbiwgUXVlc3Rpb25GaWxlTW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vZW1iZWRkZWQtdmlldy1jb250ZW50LmNvbXBvbmVudFwiO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInN2LW5nLWNob29zZS1maWxlLWJ0blwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Nob29zZS1maWxlLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgQ2hvb3NlRmlsZUJ0biBleHRlbmRzIEVtYmVkZGVkVmlld0NvbnRlbnRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIGRhdGE6IGFueTtcbiAgICBASW5wdXQoKSBtb2RlbCE6IEFjdGlvbjtcbiAgICBwdWJsaWMgZ2V0IHF1ZXN0aW9uKCk6IFF1ZXN0aW9uRmlsZU1vZGVsIHtcbiAgICAgIHJldHVybiAodGhpcy5tb2RlbCAmJiB0aGlzLm1vZGVsLmRhdGEucXVlc3Rpb24pIHx8IHRoaXMuZGF0YS5xdWVzdGlvbjtcbiAgICB9XG59XG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWZpbGUtY2hvb3NlLWJ0blwiLCBDaG9vc2VGaWxlQnRuKTsiLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgIDxsYWJlbCB0YWJpbmRleD1cIjBcIiBbY2xhc3NdPVwicXVlc3Rpb24uZ2V0Q2hvb3NlRmlsZUNzcygpXCJcbiAgICAgICAgW2F0dHIuZm9yXT1cInF1ZXN0aW9uLmlucHV0SWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInF1ZXN0aW9uLmNob29zZUJ1dHRvblRleHRcIiBba2V5MmNsaWNrXVxuICAgICAgICAoY2xpY2spPVwicXVlc3Rpb24uY2hvb3NlRmlsZSgpXCI+XG4gICAgICAgIDxzdmcgKm5nSWY9XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNob29zZUZpbGVJY29uSWRcIiBbdGl0bGVdPVwicXVlc3Rpb24uY2hvb3NlQnV0dG9uVGV4dFwiXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwicXVlc3Rpb24uY3NzQ2xhc3Nlcy5jaG9vc2VGaWxlSWNvbklkXCIgW3NpemVdPVwiJ2F1dG8nXCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDxzcGFuPnt7IHF1ZXN0aW9uLmNob29zZUJ1dHRvblRleHQgfX08L3NwYW4+XG48L2xhYmVsPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -12,7 +12,7 @@ export class HeaderComponent extends BaseAngular {
12
12
  }
13
13
  }
14
14
  HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HeaderComponent, selector: "sv-header, sv-ng-header", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"(survey.headerView === 'advanced' && survey.renderedHasHeader)\" [class]=\"model.headerClasses\" [style]=\"{ height: model.renderedHeight }\">\n <div *ngIf=\"!!model.backgroundImage\" [style]=\"model.backgroundImageStyle\" [class]=\"model.backgroundImageClasses\"></div>\n <div *ngIf=\"!survey.isMobile\" [class]=\"model.contentClasses\" [style.width]=\"model.maxWidth\">\n <ng-container *ngFor=\"let cell of model.cells\">\n <sv-ng-header-cell [model]=\"cell\"></sv-ng-header-cell>\n </ng-container>\n </div>\n <div *ngIf=\"survey.isMobile\">\n <sv-ng-header-mobile [model]=\"model\"></sv-ng-header-mobile>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none }"], components: [{ type: i1.HeaderCellComponent, selector: "sv-ng-header-cell", inputs: ["model"] }, { type: i2.HeaderMobileComponent, selector: "sv-ng-header-mobile", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
15
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HeaderComponent, selector: "sv-header, sv-ng-header", inputs: { model: "model", survey: "survey" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <div *ngIf=\"(survey.headerView === 'advanced')\" [class]=\"model.headerClasses\" [style]=\"{ height: model.renderedHeight }\">\n <div *ngIf=\"!!model.backgroundImage\" [style]=\"model.backgroundImageStyle\" [class]=\"model.backgroundImageClasses\"></div>\n <div *ngIf=\"!survey.isMobile\" [class]=\"model.contentClasses\" [style.width]=\"model.maxWidth\">\n <ng-container *ngFor=\"let cell of model.cells\">\n <sv-ng-header-cell [model]=\"cell\"></sv-ng-header-cell>\n </ng-container>\n </div>\n <div *ngIf=\"survey.isMobile\">\n <sv-ng-header-mobile [model]=\"model\"></sv-ng-header-mobile>\n </div>\n </div>\n</ng-template>", styles: [":host { display: none }"], components: [{ type: i1.HeaderCellComponent, selector: "sv-ng-header-cell", inputs: ["model"] }, { type: i2.HeaderMobileComponent, selector: "sv-ng-header-mobile", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
16
16
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: HeaderComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
29
29
  args: ["container"]
30
30
  }] } });
31
31
  AngularComponentFactory.Instance.registerComponent("sv-header", HeaderComponent);
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVFqRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFrQjtJQUlyRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7NkdBUFUsZUFBZTtpR0FBZixlQUFlLDRPQ1Y1QixpdEJBWWM7NEZERkQsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxNQUFNLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDcEM7OEJBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXOztBQU94Qix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IENvdmVyLCBDb3ZlckNlbGwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1oZWFkZXIsIHN2LW5nLWhlYWRlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2hlYWRlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZSB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPENvdmVyPiB7XG4gIEBJbnB1dCgpIG1vZGVsITogQ292ZXI7XG4gIEBJbnB1dCgpIHN1cnZleSE6IFN1cnZleU1vZGVsO1xuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIpIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBnZXRNb2RlbCgpOiBDb3ZlciB7XG4gICAgdGhpcy5tb2RlbC5zdXJ2ZXkgPSB0aGlzLnN1cnZleTtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWhlYWRlclwiLCBIZWFkZXJDb21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCIoc3VydmV5LmhlYWRlclZpZXcgPT09ICdhZHZhbmNlZCcgJiYgc3VydmV5LnJlbmRlcmVkSGFzSGVhZGVyKVwiIFtjbGFzc109XCJtb2RlbC5oZWFkZXJDbGFzc2VzXCIgW3N0eWxlXT1cInsgaGVpZ2h0OiBtb2RlbC5yZW5kZXJlZEhlaWdodCB9XCI+XG4gICAgPGRpdiAqbmdJZj1cIiEhbW9kZWwuYmFja2dyb3VuZEltYWdlXCIgW3N0eWxlXT1cIm1vZGVsLmJhY2tncm91bmRJbWFnZVN0eWxlXCIgW2NsYXNzXT1cIm1vZGVsLmJhY2tncm91bmRJbWFnZUNsYXNzZXNcIj48L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiIXN1cnZleS5pc01vYmlsZVwiIFtjbGFzc109XCJtb2RlbC5jb250ZW50Q2xhc3Nlc1wiIFtzdHlsZS53aWR0aF09XCJtb2RlbC5tYXhXaWR0aFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2VsbCBvZiBtb2RlbC5jZWxsc1wiPlxuICAgICAgICA8c3YtbmctaGVhZGVyLWNlbGwgW21vZGVsXT1cImNlbGxcIj48L3N2LW5nLWhlYWRlci1jZWxsPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInN1cnZleS5pc01vYmlsZVwiPlxuICAgICAgPHN2LW5nLWhlYWRlci1tb2JpbGUgW21vZGVsXT1cIm1vZGVsXCI+PC9zdi1uZy1oZWFkZXItbW9iaWxlPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+Il19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVFqRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFrQjtJQUlyRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQzs7NkdBUFUsZUFBZTtpR0FBZixlQUFlLDRPQ1Y1QixxckJBWWM7NEZERkQsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxNQUFNLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDcEM7OEJBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXOztBQU94Qix1QkFBdUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi8uLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7IENvdmVyLCBDb3ZlckNlbGwsIFN1cnZleU1vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1oZWFkZXIsIHN2LW5nLWhlYWRlclwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL2hlYWRlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZXM6IFtcIjpob3N0IHsgZGlzcGxheTogbm9uZSB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPENvdmVyPiB7XG4gIEBJbnB1dCgpIG1vZGVsITogQ292ZXI7XG4gIEBJbnB1dCgpIHN1cnZleSE6IFN1cnZleU1vZGVsO1xuICBAVmlld0NoaWxkKFwiY29udGFpbmVyXCIpIGNvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBnZXRNb2RlbCgpOiBDb3ZlciB7XG4gICAgdGhpcy5tb2RlbC5zdXJ2ZXkgPSB0aGlzLnN1cnZleTtcbiAgICByZXR1cm4gdGhpcy5tb2RlbDtcbiAgfVxufVxuXG5Bbmd1bGFyQ29tcG9uZW50RmFjdG9yeS5JbnN0YW5jZS5yZWdpc3RlckNvbXBvbmVudChcInN2LWhlYWRlclwiLCBIZWFkZXJDb21wb25lbnQpOyIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXYgKm5nSWY9XCIoc3VydmV5LmhlYWRlclZpZXcgPT09ICdhZHZhbmNlZCcpXCIgW2NsYXNzXT1cIm1vZGVsLmhlYWRlckNsYXNzZXNcIiBbc3R5bGVdPVwieyBoZWlnaHQ6IG1vZGVsLnJlbmRlcmVkSGVpZ2h0IH1cIj5cbiAgICA8ZGl2ICpuZ0lmPVwiISFtb2RlbC5iYWNrZ3JvdW5kSW1hZ2VcIiBbc3R5bGVdPVwibW9kZWwuYmFja2dyb3VuZEltYWdlU3R5bGVcIiBbY2xhc3NdPVwibW9kZWwuYmFja2dyb3VuZEltYWdlQ2xhc3Nlc1wiPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhc3VydmV5LmlzTW9iaWxlXCIgW2NsYXNzXT1cIm1vZGVsLmNvbnRlbnRDbGFzc2VzXCIgW3N0eWxlLndpZHRoXT1cIm1vZGVsLm1heFdpZHRoXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjZWxsIG9mIG1vZGVsLmNlbGxzXCI+XG4gICAgICAgIDxzdi1uZy1oZWFkZXItY2VsbCBbbW9kZWxdPVwiY2VsbFwiPjwvc3YtbmctaGVhZGVyLWNlbGw+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic3VydmV5LmlzTW9iaWxlXCI+XG4gICAgICA8c3YtbmctaGVhZGVyLW1vYmlsZSBbbW9kZWxdPVwibW9kZWxcIj48L3N2LW5nLWhlYWRlci1tb2JpbGU+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,34 +1,33 @@
1
1
  import { Component, Input, ViewChild } from "@angular/core";
2
+ import { ProgressButtonsResponsivityManager } from "survey-core";
2
3
  import { AngularComponentFactory } from "../../../component-factory";
3
- import { SurveyProgressButtonsModel } from "survey-core";
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  export class ProgressButtonsComponent {
7
7
  constructor(changeDetectorRef) {
8
8
  this.changeDetectorRef = changeDetectorRef;
9
9
  this.hasScroller = false;
10
- this.updateScroller = undefined;
10
+ this.canShowHeader = false;
11
+ this.canShowFooter = false;
12
+ this.canShowItemTitles = true;
11
13
  }
12
- createProgressButtonsModel() {
13
- this.progressButtonsModel = new SurveyProgressButtonsModel(this.model);
14
+ onResize(canShowItemTitles) {
15
+ this.canShowItemTitles = canShowItemTitles;
16
+ this.canShowHeader = !this.canShowItemTitles;
17
+ this.changeDetectorRef.detectChanges();
14
18
  }
15
- ngOnInit() {
16
- this.createProgressButtonsModel();
17
- }
18
- ngOnChanges(changes) {
19
- this.createProgressButtonsModel();
19
+ onUpdateScroller(hasScroller) {
20
+ this.hasScroller = hasScroller;
21
+ this.changeDetectorRef.detectChanges();
20
22
  }
21
- isListElementClickable(index) {
22
- return this.progressButtonsModel.isListElementClickable(index);
23
+ onUpdateSettings() {
24
+ this.canShowItemTitles = this.model.showItemTitles;
25
+ this.canShowFooter = !this.model.showItemTitles;
26
+ this.changeDetectorRef.detectChanges();
23
27
  }
24
- getListElementCss(index) {
25
- return this.progressButtonsModel.getListElementCss(index);
26
- }
27
- clickListElement(index) {
28
- this.progressButtonsModel.clickListElement(index);
28
+ ngOnInit() {
29
29
  }
30
- getScrollButtonCss(isLeftScroll) {
31
- return this.progressButtonsModel.getScrollButtonCss(this.hasScroller, isLeftScroll);
30
+ ngOnChanges(changes) {
32
31
  }
33
32
  clickScrollButton(isLeftScroll) {
34
33
  if (this.progressButtonsListContainer) {
@@ -36,25 +35,19 @@ export class ProgressButtonsComponent {
36
35
  }
37
36
  }
38
37
  ngAfterViewInit() {
39
- this.progressButtonsModel = new SurveyProgressButtonsModel(this.model);
40
- this.updateScroller = setInterval(() => {
41
- var _a;
42
- if (!!((_a = this.progressButtonsListContainer) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
43
- const listContainerElement = this.progressButtonsListContainer.nativeElement;
44
- this.hasScroller = listContainerElement.scrollWidth > listContainerElement.offsetWidth;
45
- this.changeDetectorRef.detectChanges();
46
- }
47
- }, 100);
38
+ var _a;
39
+ if (!!((_a = this.progressButtonsListContainer) === null || _a === void 0 ? void 0 : _a.nativeElement)) {
40
+ const element = this.progressButtonsListContainer.nativeElement;
41
+ this.respManager = new ProgressButtonsResponsivityManager(this.model, element, this);
42
+ }
48
43
  }
49
44
  ngOnDestroy() {
50
- if (typeof this.updateScroller !== "undefined") {
51
- clearInterval(this.updateScroller);
52
- this.updateScroller = undefined;
53
- }
45
+ var _a;
46
+ (_a = this.respManager) === null || _a === void 0 ? void 0 : _a.dispose();
54
47
  }
55
48
  }
56
49
  ProgressButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
57
- ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.css.progressButtonsContainerCenter\">\n <div [class]=\"model.css.progressButtonsContainer\">\n <div\n [class]=\"getScrollButtonCss(true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"model.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"model.css.progressButtonsList\">\n <li\n *ngFor=\"let page of model.visiblePages; index as index\"\n [class]=\"getListElementCss(index)\"\n (click)=\"isListElementClickable(index) ? clickListElement(index) : null\">\n <div\n [class]=\"model.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n {{ page.renderedNavigationTitle }}\n </div>\n <div\n [class]=\"model.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"getScrollButtonCss(false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n</div>", directives: [{ type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
50
+ ProgressButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProgressButtonsComponent, selector: "sv-ng-progress-buttons", inputs: { model: "model", survey: "survey", container: "container" }, viewQueries: [{ propertyName: "progressButtonsListContainer", first: true, predicate: ["progressButtonsListContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div [class]=\"model.getRootCss(container)\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-label=\"progress\">\n <div *ngIf=\"canShowHeader\" [class]=\"survey.css.progressButtonsHeader\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.headerText\">{{ model.headerText }}</div>\n </div>\n <div [class]=\"survey.css.progressButtonsContainer\">\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, true)\"\n (click)=\"clickScrollButton(true)\"\n role=\"button\"\n ></div>\n <div\n [class]=\"survey.css.progressButtonsListContainer\" #progressButtonsListContainer>\n <ul [class]=\"survey.css.progressButtonsList\">\n <li\n *ngFor=\"let page of survey.visiblePages; index as index\"\n [class]=\"model.getListElementCss(index)\"\n (click)=\"model.isListElementClickable(index) ? model.clickListElement(page) : null\"\n [attr.data-page-number]=\"model.getItemNumber(page)\">\n <div [class]=\"survey.css.progressButtonsConnector\"></div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageTitle\"\n [title]=\"page.renderedNavigationTitle\"\n >\n {{ page.renderedNavigationTitle }}\n </div>\n <div *ngIf=\"canShowItemTitles\"\n [class]=\"survey.css.progressButtonsPageDescription\"\n [title]=\"page.locNavigationDescription.renderedHtml\"\n >\n {{ page.locNavigationDescription.renderedHtml }}\n </div>\n </li>\n </ul>\n </div>\n <div\n [class]=\"model.getScrollButtonCss(hasScroller, false)\"\n (click)=\"clickScrollButton(false)\"\n role=\"button\"\n ></div>\n </div>\n <div *ngIf=\"canShowFooter\" [class]=\"survey.css.progressButtonsFooter\">\n <div [class]=\"survey.css.progressButtonsPageTitle\" [title]=\"model.footerText\">{{ model.footerText }}</div>\n </div>\n</div>", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
58
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ProgressButtonsComponent, decorators: [{
59
52
  type: Component,
60
53
  args: [{
@@ -63,9 +56,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
63
56
  }]
64
57
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { model: [{
65
58
  type: Input
59
+ }], survey: [{
60
+ type: Input
61
+ }], container: [{
62
+ type: Input
66
63
  }], progressButtonsListContainer: [{
67
64
  type: ViewChild,
68
65
  args: ["progressButtonsListContainer"]
69
66
  }] } });
70
67
  AngularComponentFactory.Instance.registerComponent("sv-progress-buttons", ProgressButtonsComponent);
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvYnV0dG9ucy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy9idXR0b25zL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBK0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZKLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sRUFBZSwwQkFBMEIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBTXRFLE1BQU0sT0FBTyx3QkFBd0I7SUFNbkMsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFGaEQsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsbUJBQWMsR0FBUSxTQUFTLENBQUM7SUFFeEMsQ0FBQztJQUNPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFDTSxzQkFBc0IsQ0FBQyxLQUFhO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDTSxpQkFBaUIsQ0FBQyxLQUFhO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFDTSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ25DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ00sa0JBQWtCLENBQUMsWUFBcUI7UUFDN0MsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ00saUJBQWlCLENBQ3RCLFlBQXFCO1FBRXJCLElBQUcsSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3BDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzVGO0lBQ0gsQ0FBQztJQUNNLGVBQWU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTs7WUFDckMsSUFBRyxDQUFDLENBQUMsQ0FBQSxNQUFBLElBQUksQ0FBQyw0QkFBNEIsMENBQUUsYUFBYSxDQUFBLEVBQUU7Z0JBQ3JELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGFBQWEsQ0FBQztnQkFDN0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUMsV0FBVyxDQUFDO2dCQUN2RixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDeEM7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDO0lBQ00sV0FBVztRQUNoQixJQUFJLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxXQUFXLEVBQUU7WUFDOUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztTQUNqQztJQUNILENBQUM7O3NIQW5EVSx3QkFBd0I7MEdBQXhCLHdCQUF3Qiw2UENSckMsZ3ZDQW1DTTs0RkQzQk8sd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFdBQVcsRUFBRSwyQkFBMkI7aUJBQ3pDO3dHQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDcUMsNEJBQTRCO3NCQUF0RSxTQUFTO3VCQUFDLDhCQUE4Qjs7QUFtRDNDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50RmFjdG9yeSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnQtZmFjdG9yeVwiO1xuaW1wb3J0IHsgU3VydmV5TW9kZWwsIFN1cnZleVByb2dyZXNzQnV0dG9uc01vZGVsIH0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wcm9ncmVzcy1idXR0b25zXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25Jbml0IHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlNb2RlbDtcbiAgQFZpZXdDaGlsZChcInByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXJcIikgcHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBwcml2YXRlIHByb2dyZXNzQnV0dG9uc01vZGVsITogU3VydmV5UHJvZ3Jlc3NCdXR0b25zTW9kZWw7XG4gIHByaXZhdGUgaGFzU2Nyb2xsZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSB1cGRhdGVTY3JvbGxlcjogYW55ID0gdW5kZWZpbmVkO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG4gIHByaXZhdGUgY3JlYXRlUHJvZ3Jlc3NCdXR0b25zTW9kZWwoKSB7XG4gICAgdGhpcy5wcm9ncmVzc0J1dHRvbnNNb2RlbCA9IG5ldyBTdXJ2ZXlQcm9ncmVzc0J1dHRvbnNNb2RlbCh0aGlzLm1vZGVsKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZVByb2dyZXNzQnV0dG9uc01vZGVsKCk7XG4gIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlUHJvZ3Jlc3NCdXR0b25zTW9kZWwoKTtcbiAgfVxuICBwdWJsaWMgaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJvZ3Jlc3NCdXR0b25zTW9kZWwuaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleCk7XG4gIH1cbiAgcHVibGljIGdldExpc3RFbGVtZW50Q3NzKGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnByb2dyZXNzQnV0dG9uc01vZGVsLmdldExpc3RFbGVtZW50Q3NzKGluZGV4KTtcbiAgfVxuICBwdWJsaWMgY2xpY2tMaXN0RWxlbWVudChpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5wcm9ncmVzc0J1dHRvbnNNb2RlbC5jbGlja0xpc3RFbGVtZW50KGluZGV4KTtcbiAgfVxuICBwdWJsaWMgZ2V0U2Nyb2xsQnV0dG9uQ3NzKGlzTGVmdFNjcm9sbDogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJvZ3Jlc3NCdXR0b25zTW9kZWwuZ2V0U2Nyb2xsQnV0dG9uQ3NzKHRoaXMuaGFzU2Nyb2xsZXIsIGlzTGVmdFNjcm9sbCk7XG4gIH1cbiAgcHVibGljIGNsaWNrU2Nyb2xsQnV0dG9uKFxuICAgIGlzTGVmdFNjcm9sbDogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBpZih0aGlzLnByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXIpIHtcbiAgICAgIHRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbExlZnQgKz0gKGlzTGVmdFNjcm9sbCA/IC0xIDogMSkgKiA3MDtcbiAgICB9XG4gIH1cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnByb2dyZXNzQnV0dG9uc01vZGVsID0gbmV3IFN1cnZleVByb2dyZXNzQnV0dG9uc01vZGVsKHRoaXMubW9kZWwpO1xuICAgIHRoaXMudXBkYXRlU2Nyb2xsZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICBpZighIXRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBsaXN0Q29udGFpbmVyRWxlbWVudCA9IHRoaXMucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lci5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLmhhc1Njcm9sbGVyID0gbGlzdENvbnRhaW5lckVsZW1lbnQuc2Nyb2xsV2lkdGggPiBsaXN0Q29udGFpbmVyRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgfVxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZVNjcm9sbGVyICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMudXBkYXRlU2Nyb2xsZXIpO1xuICAgICAgdGhpcy51cGRhdGVTY3JvbGxlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtcHJvZ3Jlc3MtYnV0dG9uc1wiLCBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQpO1xuIiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuY3NzLnByb2dyZXNzQnV0dG9uc0NvbnRhaW5lckNlbnRlclwiPlxuICA8ZGl2IFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zQ29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImdldFNjcm9sbEJ1dHRvbkNzcyh0cnVlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24odHJ1ZSlcIlxuICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgPjwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zTGlzdENvbnRhaW5lclwiICNwcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyPlxuICAgICAgPHVsIFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zTGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBtb2RlbC52aXNpYmxlUGFnZXM7IGluZGV4IGFzIGluZGV4XCJcbiAgICAgICAgICBbY2xhc3NdPVwiZ2V0TGlzdEVsZW1lbnRDc3MoaW5kZXgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiaXNMaXN0RWxlbWVudENsaWNrYWJsZShpbmRleCkgPyBjbGlja0xpc3RFbGVtZW50KGluZGV4KSA6IG51bGxcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBbY2xhc3NdPVwibW9kZWwuY3NzLnByb2dyZXNzQnV0dG9uc1BhZ2VUaXRsZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicGFnZS5yZW5kZXJlZE5hdmlnYXRpb25UaXRsZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcGFnZS5yZW5kZXJlZE5hdmlnYXRpb25UaXRsZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIFtjbGFzc109XCJtb2RlbC5jc3MucHJvZ3Jlc3NCdXR0b25zUGFnZURlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgIFt0aXRsZV09XCJwYWdlLmxvY05hdmlnYXRpb25EZXNjcmlwdGlvbi5yZW5kZXJlZEh0bWxcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IHBhZ2UubG9jTmF2aWdhdGlvbkRlc2NyaXB0aW9uLnJlbmRlcmVkSHRtbCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwiZ2V0U2Nyb2xsQnV0dG9uQ3NzKGZhbHNlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24oZmFsc2UpXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvYnV0dG9ucy9wcm9ncmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy9idXR0b25zL3Byb2dyZXNzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0MsU0FBUyxFQUFjLEtBQUssRUFBK0MsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZKLE9BQU8sRUFBZ0Msa0NBQWtDLEVBQTZCLE1BQU0sYUFBYSxDQUFDO0FBQzFILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFNckUsTUFBTSxPQUFPLHdCQUF3QjtJQVVuQyxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUxqRCxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM3QixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixrQkFBYSxHQUFZLEtBQUssQ0FBQztRQUMvQixzQkFBaUIsR0FBWSxJQUFJLENBQUM7SUFHekMsQ0FBQztJQUNELFFBQVEsQ0FBQyxpQkFBMEI7UUFDakMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxXQUFvQjtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUNELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUNuRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7UUFDaEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxRQUFRO0lBQ1IsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtJQUNsQyxDQUFDO0lBQ00saUJBQWlCLENBQ3RCLFlBQXFCO1FBRXJCLElBQUksSUFBSSxDQUFDLDRCQUE0QixFQUFFO1lBQ3JDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzVGO0lBQ0gsQ0FBQztJQUNNLGVBQWU7O1FBQ3BCLElBQUksQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsNEJBQTRCLDBDQUFFLGFBQWEsQ0FBQSxFQUFFO1lBQ3RELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxhQUFhLENBQUM7WUFDaEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3RGO0lBQ0gsQ0FBQztJQUNNLFdBQVc7O1FBQ2hCLE1BQUEsSUFBSSxDQUFDLFdBQVcsMENBQUUsT0FBTyxFQUFFLENBQUM7SUFDOUIsQ0FBQzs7c0hBN0NVLHdCQUF3QjswR0FBeEIsd0JBQXdCLHVTQ1JyQywrOERBMkNNOzRGRG5DTyx3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLDJCQUEyQjtpQkFDekM7d0dBRVUsS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNxQyw0QkFBNEI7c0JBQXRFLFNBQVM7dUJBQUMsOEJBQThCOztBQTJDM0MsdUJBQXVCLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLHdCQUF3QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN1cnZleU1vZGVsLCBQcm9ncmVzc0J1dHRvbnMsIFByb2dyZXNzQnV0dG9uc1Jlc3BvbnNpdml0eU1hbmFnZXIsIElQcm9ncmVzc0J1dHRvbnNWaWV3TW9kZWwgfSBmcm9tIFwic3VydmV5LWNvcmVcIjtcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRGYWN0b3J5IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudC1mYWN0b3J5XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1wcm9ncmVzcy1idXR0b25zXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vcHJvZ3Jlc3MuY29tcG9uZW50Lmh0bWxcIlxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25Jbml0LCBJUHJvZ3Jlc3NCdXR0b25zVmlld01vZGVsIHtcbiAgQElucHV0KCkgbW9kZWwhOiBQcm9ncmVzc0J1dHRvbnM7XG4gIEBJbnB1dCgpIHN1cnZleSE6IFN1cnZleU1vZGVsO1xuICBASW5wdXQoKSBjb250YWluZXIhOiBzdHJpbmc7XG4gIEBWaWV3Q2hpbGQoXCJwcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyXCIpIHByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgcHVibGljIGhhc1Njcm9sbGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjYW5TaG93SGVhZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjYW5TaG93Rm9vdGVyOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBjYW5TaG93SXRlbVRpdGxlczogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgcmVzcE1hbmFnZXI/OiBQcm9ncmVzc0J1dHRvbnNSZXNwb25zaXZpdHlNYW5hZ2VyO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG4gIG9uUmVzaXplKGNhblNob3dJdGVtVGl0bGVzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5jYW5TaG93SXRlbVRpdGxlcyA9IGNhblNob3dJdGVtVGl0bGVzO1xuICAgIHRoaXMuY2FuU2hvd0hlYWRlciA9ICF0aGlzLmNhblNob3dJdGVtVGl0bGVzO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG9uVXBkYXRlU2Nyb2xsZXIoaGFzU2Nyb2xsZXI6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Njcm9sbGVyID0gaGFzU2Nyb2xsZXI7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgb25VcGRhdGVTZXR0aW5ncygpOiB2b2lkIHtcbiAgICB0aGlzLmNhblNob3dJdGVtVGl0bGVzID0gdGhpcy5tb2RlbC5zaG93SXRlbVRpdGxlcztcbiAgICB0aGlzLmNhblNob3dGb290ZXIgPSAhdGhpcy5tb2RlbC5zaG93SXRlbVRpdGxlcztcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gIH1cbiAgcHVibGljIGNsaWNrU2Nyb2xsQnV0dG9uKFxuICAgIGlzTGVmdFNjcm9sbDogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyKSB7XG4gICAgICB0aGlzLnByb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ICs9IChpc0xlZnRTY3JvbGwgPyAtMSA6IDEpICogNzA7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKCEhdGhpcy5wcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5wcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLnJlc3BNYW5hZ2VyID0gbmV3IFByb2dyZXNzQnV0dG9uc1Jlc3BvbnNpdml0eU1hbmFnZXIodGhpcy5tb2RlbCwgZWxlbWVudCwgdGhpcyk7XG4gICAgfVxuICB9XG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3BNYW5hZ2VyPy5kaXNwb3NlKCk7XG4gIH1cbn1cbkFuZ3VsYXJDb21wb25lbnRGYWN0b3J5Lkluc3RhbmNlLnJlZ2lzdGVyQ29tcG9uZW50KFwic3YtcHJvZ3Jlc3MtYnV0dG9uc1wiLCBQcm9ncmVzc0J1dHRvbnNDb21wb25lbnQpO1xuIiwiPGRpdiBbY2xhc3NdPVwibW9kZWwuZ2V0Um9vdENzcyhjb250YWluZXIpXCIgcm9sZT1cInByb2dyZXNzYmFyXCIgYXJpYS12YWx1ZW1pbj1cIjBcIiBhcmlhLXZhbHVlbWF4PVwiMTAwXCIgYXJpYS1sYWJlbD1cInByb2dyZXNzXCI+XG4gIDxkaXYgKm5nSWY9XCJjYW5TaG93SGVhZGVyXCIgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zSGVhZGVyXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlVGl0bGVcIiBbdGl0bGVdPVwibW9kZWwuaGVhZGVyVGV4dFwiPnt7IG1vZGVsLmhlYWRlclRleHQgfX08L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zQ29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cIm1vZGVsLmdldFNjcm9sbEJ1dHRvbkNzcyhoYXNTY3JvbGxlciwgdHJ1ZSlcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrU2Nyb2xsQnV0dG9uKHRydWUpXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID48L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNMaXN0Q29udGFpbmVyXCIgI3Byb2dyZXNzQnV0dG9uc0xpc3RDb250YWluZXI+XG4gICAgICA8dWwgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zTGlzdFwiPlxuICAgICAgICA8bGlcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBzdXJ2ZXkudmlzaWJsZVBhZ2VzOyBpbmRleCBhcyBpbmRleFwiXG4gICAgICAgICAgW2NsYXNzXT1cIm1vZGVsLmdldExpc3RFbGVtZW50Q3NzKGluZGV4KVwiXG4gICAgICAgICAgKGNsaWNrKT1cIm1vZGVsLmlzTGlzdEVsZW1lbnRDbGlja2FibGUoaW5kZXgpID8gbW9kZWwuY2xpY2tMaXN0RWxlbWVudChwYWdlKSA6IG51bGxcIlxuICAgICAgICAgIFthdHRyLmRhdGEtcGFnZS1udW1iZXJdPVwibW9kZWwuZ2V0SXRlbU51bWJlcihwYWdlKVwiPlxuICAgICAgICAgIDxkaXYgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zQ29ubmVjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNhblNob3dJdGVtVGl0bGVzXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJzdXJ2ZXkuY3NzLnByb2dyZXNzQnV0dG9uc1BhZ2VUaXRsZVwiXG4gICAgICAgICAgICBbdGl0bGVdPVwicGFnZS5yZW5kZXJlZE5hdmlnYXRpb25UaXRsZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcGFnZS5yZW5kZXJlZE5hdmlnYXRpb25UaXRsZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjYW5TaG93SXRlbVRpdGxlc1wiXG4gICAgICAgICAgICBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlRGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgW3RpdGxlXT1cInBhZ2UubG9jTmF2aWdhdGlvbkRlc2NyaXB0aW9uLnJlbmRlcmVkSHRtbFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgcGFnZS5sb2NOYXZpZ2F0aW9uRGVzY3JpcHRpb24ucmVuZGVyZWRIdG1sIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIFtjbGFzc109XCJtb2RlbC5nZXRTY3JvbGxCdXR0b25Dc3MoaGFzU2Nyb2xsZXIsIGZhbHNlKVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tTY3JvbGxCdXR0b24oZmFsc2UpXCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgID48L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJjYW5TaG93Rm9vdGVyXCIgW2NsYXNzXT1cInN1cnZleS5jc3MucHJvZ3Jlc3NCdXR0b25zRm9vdGVyXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwic3VydmV5LmNzcy5wcm9ncmVzc0J1dHRvbnNQYWdlVGl0bGVcIiBbdGl0bGVdPVwibW9kZWwuZm9vdGVyVGV4dFwiPnt7IG1vZGVsLmZvb3RlclRleHQgfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -34,6 +34,9 @@ export class PopupSurveyComponent extends BaseAngular {
34
34
  if (this.allowClose !== undefined) {
35
35
  this.popup.allowClose = this.allowClose;
36
36
  }
37
+ if (this.allowFullScreen !== undefined) {
38
+ this.popup.allowFullScreen = this.allowFullScreen;
39
+ }
37
40
  if (this.closeOnCompleteTimeout !== undefined) {
38
41
  this.popup.closeOnCompleteTimeout = this.closeOnCompleteTimeout;
39
42
  }
@@ -46,7 +49,7 @@ export class PopupSurveyComponent extends BaseAngular {
46
49
  }
47
50
  }
48
51
  PopupSurveyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupSurveyComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
49
- PopupSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model", isExpanded: "isExpanded", allowClose: "allowClose", closeOnCompleteTimeout: "closeOnCompleteTimeout" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\" (scroll)=\"popup.onScroll()\">\n <div [class]=\"popup.cssRootContent\">\n <div [class]=\"getHeaderCss()\">\n <div *ngIf=\"popup.isCollapsed && !!popup.locTitle\" [class]=\"popup.cssHeaderTitleCollapsed\">\n {{popup.locTitle.renderedHtml}}\n </div>\n <div [class]=\"popup.cssHeaderButtonsContainer\">\n <div [class]=\"popup.cssHeaderCollapseButton\" (click)=\"popup.changeExpandCollapse()\">\n <svg *ngIf=\"popup.isExpanded\" [iconName]=\"'icon-minimize_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"popup.isCollapsed\" [iconName]=\"'icon-restore_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n\n <div *ngIf=\"popup.allowClose\" [class]=\"popup.cssHeaderCloseButton\" (click)=\"popup.hide()\">\n <svg [iconName]=\"'icon-close_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n </div>\n </div>\n <div [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n </div>\n</div>", styles: [""], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
52
+ PopupSurveyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: PopupSurveyComponent, selector: "popup-survey", inputs: { model: "model", isExpanded: "isExpanded", allowClose: "allowClose", closeOnCompleteTimeout: "closeOnCompleteTimeout", allowFullScreen: "allowFullScreen" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!popup && popup.isShowing\" [class]=\"popup.cssRoot\" [style.width]=\"popup.renderedWidth\" [style.maxWidth]=\"popup.renderedWidth\" (scroll)=\"popup.onScroll()\">\n <div [class]=\"popup.cssRootContent\">\n <div [class]=\"getHeaderCss()\">\n <div *ngIf=\"popup.isCollapsed && !!popup.locTitle\" [class]=\"popup.cssHeaderTitleCollapsed\">\n {{popup.locTitle.renderedHtml}}\n </div>\n <div [class]=\"popup.cssHeaderButtonsContainer\">\n <div *ngIf=\"popup.allowFullScreen\" [class]=\"popup.cssHeaderFullScreenButton\" (click)=\"popup.toggleFullScreen()\">\n <svg *ngIf=\"popup.isFullScreen\" [iconName]=\"'icon-back-to-panel_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"!popup.isFullScreen\" [iconName]=\"'icon-full-screen_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n\n <div [class]=\"popup.cssHeaderCollapseButton\" (click)=\"popup.changeExpandCollapse()\">\n <svg *ngIf=\"popup.isExpanded\" [iconName]=\"'icon-minimize_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n <svg *ngIf=\"popup.isCollapsed\" [iconName]=\"'icon-restore_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n\n <div *ngIf=\"popup.allowClose\" [class]=\"popup.cssHeaderCloseButton\" (click)=\"popup.hide()\">\n <svg [iconName]=\"'icon-close_16x16'\" [size]=\"16\" sv-ng-svg-icon></svg>\n </div>\n </div>\n </div>\n <div [class]=\"popup.cssBody\">\n <survey [model]=\"popup.survey\"></survey>\n </div>\n </div>\n</div>", styles: [""], components: [{ type: i1.SvgIconComponent, selector: "'[sv-ng-svg-icon]'", inputs: ["size", "width", "height", "iconName", "partCss", "css", "title"] }, { type: i2.SurveyComponent, selector: "survey", inputs: ["model"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
50
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: PopupSurveyComponent, decorators: [{
51
54
  type: Component,
52
55
  args: [{
@@ -62,5 +65,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
62
65
  type: Input
63
66
  }], closeOnCompleteTimeout: [{
64
67
  type: Input
68
+ }], allowFullScreen: [{
69
+ type: Input
65
70
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vc3JjL3BvcHVwLnN1cnZleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTTdDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUE2QjtJQU9yRSxZQUFZLGlCQUFvQztRQUM5QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNrQiwrQkFBK0I7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ00sWUFBWTtRQUNqQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzFCLFNBQVMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztTQUNuRDtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLElBQUksQ0FBQSxNQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsMENBQUUsWUFBWSxPQUFLLE1BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQywwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUN0RSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLHNCQUFzQixLQUFLLFNBQVMsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztTQUNqRTtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUNRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7a0hBNUNVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLGtPQ1JqQyxpcENBcUJNOzRGRGJPLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsU0FBUyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzdDO3dHQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQb3B1cFN1cnZleU1vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwb3B1cC1zdXJ2ZXlcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3BvcHVwLnN1cnZleS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQb3B1cFN1cnZleUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBvcHVwU3VydmV5TW9kZWw+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlNb2RlbDtcbiAgQElucHV0KCkgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsbG93Q2xvc2U/OiBib29sZWFuO1xuICBASW5wdXQoKSBjbG9zZU9uQ29tcGxldGVUaW1lb3V0PzogbnVtYmVyO1xuICBwdWJsaWMgcG9wdXAhOiBQb3B1cFN1cnZleU1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRhY2goKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUG9wdXBTdXJ2ZXlNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMucG9wdXA7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldFNob3VsZFJlYXR0YWNoQ2hhbmdlRGV0ZWN0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHB1YmxpYyBnZXRIZWFkZXJDc3MoKTogc3RyaW5nIHtcbiAgICBsZXQgaGVhZGVyQ3NzID0gdGhpcy5wb3B1cC5jc3NIZWFkZXJSb290O1xuICAgIGlmICh0aGlzLnBvcHVwLmlzQ29sbGFwc2VkKSB7XG4gICAgICBoZWFkZXJDc3MgKz0gXCIgXCIgKyB0aGlzLnBvcHVwLmNzc1Jvb3RDb2xsYXBzZWRNb2Q7XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJDc3M7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbXCJtb2RlbFwiXT8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzW1wibW9kZWxcIl0/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMucG9wdXAgPSBuZXcgUG9wdXBTdXJ2ZXlNb2RlbChudWxsLCB0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFeHBhbmRlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnBvcHVwLmlzRXhwYW5kZWQgPSB0aGlzLmlzRXhwYW5kZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93Q2xvc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wb3B1cC5hbGxvd0Nsb3NlID0gdGhpcy5hbGxvd0Nsb3NlO1xuICAgIH1cbiAgICBpZiAodGhpcy5jbG9zZU9uQ29tcGxldGVUaW1lb3V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucG9wdXAuY2xvc2VPbkNvbXBsZXRlVGltZW91dCA9IHRoaXMuY2xvc2VPbkNvbXBsZXRlVGltZW91dDtcbiAgICB9XG4gICAgdGhpcy5wb3B1cC5pc1Nob3dpbmcgPSB0cnVlO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5wb3B1cC5kaXNwb3NlKCk7XG4gIH1cbn0iLCI8ZGl2ICpuZ0lmPVwiISFwb3B1cCAmJiBwb3B1cC5pc1Nob3dpbmdcIiBbY2xhc3NdPVwicG9wdXAuY3NzUm9vdFwiIFtzdHlsZS53aWR0aF09XCJwb3B1cC5yZW5kZXJlZFdpZHRoXCIgW3N0eWxlLm1heFdpZHRoXT1cInBvcHVwLnJlbmRlcmVkV2lkdGhcIiAoc2Nyb2xsKT1cInBvcHVwLm9uU2Nyb2xsKClcIj5cbiAgPGRpdiBbY2xhc3NdPVwicG9wdXAuY3NzUm9vdENvbnRlbnRcIj5cbiAgICA8ZGl2IFtjbGFzc109XCJnZXRIZWFkZXJDc3MoKVwiPlxuICAgICAgPGRpdiAqbmdJZj1cInBvcHVwLmlzQ29sbGFwc2VkICYmICEhcG9wdXAubG9jVGl0bGVcIiBbY2xhc3NdPVwicG9wdXAuY3NzSGVhZGVyVGl0bGVDb2xsYXBzZWRcIj5cbiAgICAgICAge3twb3B1cC5sb2NUaXRsZS5yZW5kZXJlZEh0bWx9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtjbGFzc109XCJwb3B1cC5jc3NIZWFkZXJCdXR0b25zQ29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgW2NsYXNzXT1cInBvcHVwLmNzc0hlYWRlckNvbGxhcHNlQnV0dG9uXCIgKGNsaWNrKT1cInBvcHVwLmNoYW5nZUV4cGFuZENvbGxhcHNlKClcIj5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJwb3B1cC5pc0V4cGFuZGVkXCIgW2ljb25OYW1lXT1cIidpY29uLW1pbmltaXplXzE2eDE2J1wiIFtzaXplXT1cIjE2XCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgICAgICA8c3ZnICpuZ0lmPVwicG9wdXAuaXNDb2xsYXBzZWRcIiBbaWNvbk5hbWVdPVwiJ2ljb24tcmVzdG9yZV8xNngxNidcIiBbc2l6ZV09XCIxNlwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwicG9wdXAuYWxsb3dDbG9zZVwiIFtjbGFzc109XCJwb3B1cC5jc3NIZWFkZXJDbG9zZUJ1dHRvblwiIChjbGljayk9XCJwb3B1cC5oaWRlKClcIj5cbiAgICAgICAgICA8c3ZnIFtpY29uTmFtZV09XCInaWNvbi1jbG9zZV8xNngxNidcIiBbc2l6ZV09XCIxNlwiIHN2LW5nLXN2Zy1pY29uPjwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBbY2xhc3NdPVwicG9wdXAuY3NzQm9keVwiPlxuICAgIDxzdXJ2ZXkgW21vZGVsXT1cInBvcHVwLnN1cnZleVwiPjwvc3VydmV5PlxuICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuc3VydmV5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50LnRzIiwiLi4vLi4vc3JjL3BvcHVwLnN1cnZleS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBTTdDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUE2QjtJQVFyRSxZQUFZLGlCQUFvQztRQUM5QyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ1MsUUFBUTtRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNrQiwrQkFBK0I7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBQ00sWUFBWTtRQUNqQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQzFCLFNBQVMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztTQUNuRDtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7O1FBQ2hDLElBQUksQ0FBQSxNQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsMENBQUUsWUFBWSxPQUFLLE1BQUEsT0FBTyxDQUFDLE9BQU8sQ0FBQywwQ0FBRSxhQUFhLENBQUEsRUFBRTtZQUN0RSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyRDtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxTQUFTLEVBQUU7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUN6QztRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUU7WUFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUNuRDtRQUNELElBQUksSUFBSSxDQUFDLHNCQUFzQixLQUFLLFNBQVMsRUFBRTtZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztTQUNqRTtRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUNRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7a0hBaERVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLHNRQ1JqQyx3aERBMEJNOzRGRGxCTyxvQkFBb0I7a0JBTGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSwrQkFBK0I7b0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2lCQUM3Qzt3R0FFVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQb3B1cFN1cnZleU1vZGVsLCBTdXJ2ZXlNb2RlbCB9IGZyb20gXCJzdXJ2ZXktY29yZVwiO1xuaW1wb3J0IHsgQmFzZUFuZ3VsYXIgfSBmcm9tIFwiLi9iYXNlLWFuZ3VsYXJcIjtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJwb3B1cC1zdXJ2ZXlcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3B1cC5zdXJ2ZXkuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3BvcHVwLnN1cnZleS5jb21wb25lbnQuc2Nzc1wiXVxufSlcbmV4cG9ydCBjbGFzcyBQb3B1cFN1cnZleUNvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFBvcHVwU3VydmV5TW9kZWw+IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgbW9kZWwhOiBTdXJ2ZXlNb2RlbDtcbiAgQElucHV0KCkgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsbG93Q2xvc2U/OiBib29sZWFuO1xuICBASW5wdXQoKSBjbG9zZU9uQ29tcGxldGVUaW1lb3V0PzogbnVtYmVyO1xuICBASW5wdXQoKSBhbGxvd0Z1bGxTY3JlZW4/OiBib29sZWFuO1xuICBwdWJsaWMgcG9wdXAhOiBQb3B1cFN1cnZleU1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICBjaGFuZ2VEZXRlY3RvclJlZi5kZXRhY2goKTtcbiAgfVxuICBwcm90ZWN0ZWQgZ2V0TW9kZWwoKTogUG9wdXBTdXJ2ZXlNb2RlbCB7XG4gICAgcmV0dXJuIHRoaXMucG9wdXA7XG4gIH1cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldFNob3VsZFJlYXR0YWNoQ2hhbmdlRGV0ZWN0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHB1YmxpYyBnZXRIZWFkZXJDc3MoKTogc3RyaW5nIHtcbiAgICBsZXQgaGVhZGVyQ3NzID0gdGhpcy5wb3B1cC5jc3NIZWFkZXJSb290O1xuICAgIGlmICh0aGlzLnBvcHVwLmlzQ29sbGFwc2VkKSB7XG4gICAgICBoZWFkZXJDc3MgKz0gXCIgXCIgKyB0aGlzLnBvcHVwLmNzc1Jvb3RDb2xsYXBzZWRNb2Q7XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJDc3M7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbXCJtb2RlbFwiXT8uY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzW1wibW9kZWxcIl0/LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgIHRoaXMucG9wdXAgPSBuZXcgUG9wdXBTdXJ2ZXlNb2RlbChudWxsLCB0aGlzLm1vZGVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaXNFeHBhbmRlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnBvcHVwLmlzRXhwYW5kZWQgPSB0aGlzLmlzRXhwYW5kZWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsbG93Q2xvc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wb3B1cC5hbGxvd0Nsb3NlID0gdGhpcy5hbGxvd0Nsb3NlO1xuICAgIH1cbiAgICBpZiAodGhpcy5hbGxvd0Z1bGxTY3JlZW4gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5wb3B1cC5hbGxvd0Z1bGxTY3JlZW4gPSB0aGlzLmFsbG93RnVsbFNjcmVlbjtcbiAgICB9XG4gICAgaWYgKHRoaXMuY2xvc2VPbkNvbXBsZXRlVGltZW91dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnBvcHVwLmNsb3NlT25Db21wbGV0ZVRpbWVvdXQgPSB0aGlzLmNsb3NlT25Db21wbGV0ZVRpbWVvdXQ7XG4gICAgfVxuICAgIHRoaXMucG9wdXAuaXNTaG93aW5nID0gdHJ1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMucG9wdXAuZGlzcG9zZSgpO1xuICB9XG59IiwiPGRpdiAqbmdJZj1cIiEhcG9wdXAgJiYgcG9wdXAuaXNTaG93aW5nXCIgW2NsYXNzXT1cInBvcHVwLmNzc1Jvb3RcIiBbc3R5bGUud2lkdGhdPVwicG9wdXAucmVuZGVyZWRXaWR0aFwiIFtzdHlsZS5tYXhXaWR0aF09XCJwb3B1cC5yZW5kZXJlZFdpZHRoXCIgKHNjcm9sbCk9XCJwb3B1cC5vblNjcm9sbCgpXCI+XG4gIDxkaXYgW2NsYXNzXT1cInBvcHVwLmNzc1Jvb3RDb250ZW50XCI+XG4gICAgPGRpdiBbY2xhc3NdPVwiZ2V0SGVhZGVyQ3NzKClcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJwb3B1cC5pc0NvbGxhcHNlZCAmJiAhIXBvcHVwLmxvY1RpdGxlXCIgW2NsYXNzXT1cInBvcHVwLmNzc0hlYWRlclRpdGxlQ29sbGFwc2VkXCI+XG4gICAgICAgIHt7cG9wdXAubG9jVGl0bGUucmVuZGVyZWRIdG1sfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbY2xhc3NdPVwicG9wdXAuY3NzSGVhZGVyQnV0dG9uc0NvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwicG9wdXAuYWxsb3dGdWxsU2NyZWVuXCIgW2NsYXNzXT1cInBvcHVwLmNzc0hlYWRlckZ1bGxTY3JlZW5CdXR0b25cIiAoY2xpY2spPVwicG9wdXAudG9nZ2xlRnVsbFNjcmVlbigpXCI+XG4gICAgICAgICAgPHN2ZyAqbmdJZj1cInBvcHVwLmlzRnVsbFNjcmVlblwiIFtpY29uTmFtZV09XCInaWNvbi1iYWNrLXRvLXBhbmVsXzE2eDE2J1wiIFtzaXplXT1cIjE2XCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgICAgPHN2ZyAqbmdJZj1cIiFwb3B1cC5pc0Z1bGxTY3JlZW5cIiBbaWNvbk5hbWVdPVwiJ2ljb24tZnVsbC1zY3JlZW5fMTZ4MTYnXCIgW3NpemVdPVwiMTZcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwicG9wdXAuY3NzSGVhZGVyQ29sbGFwc2VCdXR0b25cIiAoY2xpY2spPVwicG9wdXAuY2hhbmdlRXhwYW5kQ29sbGFwc2UoKVwiPlxuICAgICAgICAgICAgPHN2ZyAqbmdJZj1cInBvcHVwLmlzRXhwYW5kZWRcIiBbaWNvbk5hbWVdPVwiJ2ljb24tbWluaW1pemVfMTZ4MTYnXCIgW3NpemVdPVwiMTZcIiBzdi1uZy1zdmctaWNvbj48L3N2Zz5cbiAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJwb3B1cC5pc0NvbGxhcHNlZFwiIFtpY29uTmFtZV09XCInaWNvbi1yZXN0b3JlXzE2eDE2J1wiIFtzaXplXT1cIjE2XCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgKm5nSWY9XCJwb3B1cC5hbGxvd0Nsb3NlXCIgW2NsYXNzXT1cInBvcHVwLmNzc0hlYWRlckNsb3NlQnV0dG9uXCIgKGNsaWNrKT1cInBvcHVwLmhpZGUoKVwiPlxuICAgICAgICAgIDxzdmcgW2ljb25OYW1lXT1cIidpY29uLWNsb3NlXzE2eDE2J1wiIFtzaXplXT1cIjE2XCIgc3Ytbmctc3ZnLWljb24+PC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IFtjbGFzc109XCJwb3B1cC5jc3NCb2R5XCI+XG4gICAgPHN1cnZleSBbbW9kZWxdPVwicG9wdXAuc3VydmV5XCI+PC9zdXJ2ZXk+XG4gIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
@@ -95,7 +95,7 @@ export class MatrixDropdownCellComponent extends BaseAngular {
95
95
  }
96
96
  }
97
97
  MatrixDropdownCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDropdownCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
98
- MatrixDropdownCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" [attr.data-responsive-title]=\"getHeaders()\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\"\n [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"question.cssClasses.cellQuestionWrapper\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\"\n sv-ng-comment-other></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredText\">{{ cell.requiredText }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i3.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i4.SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel"] }, { type: i5.SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }, { type: i6.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i9.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
98
+ MatrixDropdownCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MatrixDropdownCellComponent, selector: "sv-ng-matrixdropdown-cell", inputs: { question: "question", cell: "cell" }, viewQueries: [{ propertyName: "cellContainer", first: true, predicate: ["cellContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #template>\n <td [class]=\"cell.className\" [attr.data-responsive-title]=\"getHeaders()\" [title]=\"cell.getTitle()\"\n [style]=\"getCellStyle()\" [attr.colspan]=\"cell.colSpans\" (focusin)=\"cell.focusIn()\" #cellContainer>\n <sv-ng-matrix-drag-drop-icon *ngIf=\"cell.isDragHandlerCell\"\n [model]=\"$any({ data: { row: row, question: question } })\"></sv-ng-matrix-drag-drop-icon>\n <sv-action-bar *ngIf=\"cell.isActionsCell\" [model]=\"cell.item.getData()\" [handleClick]=\"false\"></sv-action-bar>\n <ng-container *ngIf=\"cell.hasPanel\">\n <ng-template [component]=\"{ name: panelComponentName, data: panelComponentData }\"></ng-template>\n </ng-container>\n <div *ngIf=\"cell.isErrorsCell && cell.question?.hasVisibleErrors\" [element]=\"cell.question\" sv-ng-errors></div>\n <div *ngIf=\"cell.hasQuestion\" [class]=\"cell.cellQuestionWrapperClassName\"\n [visible]=\"cell.question.isVisible\">\n <ng-container *ngIf=\"!cell.isChoice && cell.question.isDefaultRendering()\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <ng-template\n [component]=\"{ name: getComponentName(cell.question), data: { model: cell.question } }\"></ng-template>\n </ng-template>\n </ng-container>\n <ng-template *ngIf=\"!cell.isChoice && !cell.question.isDefaultRendering()\"\n [component]=\"{ name: cell.question.getComponentName(), data: { model: cell.question } }\">\n </ng-template>\n <ng-container *ngIf=\"cell.isItemChoice\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName(cell.cell), data: { componentData: question.getCellWrapperComponentData(cell.cell)} }\">\n <sv-ng-selebase-item [showLabel]=\"false\" [inputType]=\"cell.isCheckbox ? 'checkbox': 'radio'\"\n [question]=\"cell.question\" [model]=\"cell.item\"></sv-ng-selebase-item>\n </ng-template>\n </ng-container>\n <div *ngIf=\"cell.isOtherChoice\" [class]=\"cell.question.getCommentAreaCss(true)\" [question]=\"cell.question\"\n sv-ng-comment-other></div>\n </div>\n <ng-container *ngIf=\"cell.hasTitle\">\n <ng-template\n [component]=\"{ name: question.getCellWrapperComponentName($any(cell)), data: { componentData: question.getCellWrapperComponentData($any(cell))} }\">\n <sv-ng-string [model]=\"cell.locTitle\"></sv-ng-string>\n <span *ngIf=\"isRequiredCell\" [class]=\"question.cssClasses.cellRequiredText\">{{ cell.requiredText }}</span>\n </ng-template>\n </ng-container>\n </td>\n</ng-template>", styles: [":host { display: none; }"], components: [{ type: i1.MatrixDynamicDragDropIconComponent, selector: "sv-ng-matrix-drag-drop-icon", inputs: ["model"] }, { type: i2.ActionBarComponent, selector: "sv-action-bar, sv-ng-action-bar", inputs: ["model", "handleClick"] }, { type: i3.ErrorsComponent, selector: "'[sv-ng-errors]'", inputs: ["element", "location"] }, { type: i4.SelectBaseItemComponent, selector: "['sv-ng-selectbase-item'], sv-ng-selebase-item", inputs: ["question", "model", "inputType", "showLabel"] }, { type: i5.SurveyCommentOtherComponent, selector: "sv-ng-comment-other, '[sv-ng-comment-other]'", inputs: ["question"] }, { type: i6.SurveyStringComponent, selector: "sv-ng-string, '[sv-ng-string]'", inputs: ["model"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DynamicComponentDirective, selector: "[component]", inputs: ["component"] }, { type: i9.VisibleDirective, selector: "[visible]", inputs: ["visible"] }] });
99
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MatrixDropdownCellComponent, decorators: [{
100
100
  type: Component,
101
101
  args: [{
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
111
111
  type: ViewChild,
112
112
  args: ["cellContainer"]
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFROUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7OztBQU8vQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsV0FBcUI7SUFLcEUsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUMzQjtRQUNELElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQVcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBQ2UsU0FBUzs7UUFDdkIsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xCLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUksTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUEsRUFBRTtZQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUN2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LElBQUksQ0FBQyxZQUFZLEtBQUksTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUEsRUFBRTtZQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtTQUMxRjtJQUNILENBQUM7O3lIQW5GVSwyQkFBMkI7NkdBQTNCLDJCQUEyQix3UENoQnhDLGlyRkF3Q2M7NEZEeEJELDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDckM7OEJBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRXNCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7XG4gIFF1ZXN0aW9uLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRDZWxsLFxuICBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSxcbiAgU3VydmV5TW9kZWxcbn0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBnZXRDb21wb25lbnROYW1lIH0gZnJvbSBcIi4uL3F1ZXN0aW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXhkcm9wZG93bi1jZWxsXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lOyB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeERyb3Bkb3duQ2VsbENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFF1ZXN0aW9uPiB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25NYXRyaXhEcm9wZG93bk1vZGVsQmFzZTtcbiAgQElucHV0KCkgY2VsbCE6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZENlbGw7XG5cbiAgQFZpZXdDaGlsZChcImNlbGxDb250YWluZXJcIikgY2VsbENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBnZXRNb2RlbCgpIHtcbiAgICBpZih0aGlzLmNlbGwuaGFzUXVlc3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNlbGwucXVlc3Rpb247XG4gICAgfVxuICAgIGlmKCEhdGhpcy5jZWxsLmNvbHVtbikge1xuICAgICAgcmV0dXJuIHRoaXMuY2VsbC5jb2x1bW47XG4gICAgfVxuICAgIHJldHVybiBudWxsIGFzIGFueTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvdygpOiBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbC5yb3c7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0RvQ2hlY2soKTtcbiAgICBpZih0aGlzLmNlbGwuaXNFcnJvcnNDZWxsICYmIHRoaXMuY2VsbD8ucXVlc3Rpb24pIHtcbiAgICAgIHRoaXMuY2VsbC5xdWVzdGlvbi5yZWdpc3RlckZ1bmN0aW9uT25Qcm9wZXJ0eVZhbHVlQ2hhbmdlZChcImVycm9yc1wiLCAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICB9LCBcIl9fbmdTdWJzY3JpcHRpb25cIilcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBwYW5lbENvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYW5lbCA9IHRoaXMuY2VsbC5wYW5lbDtcbiAgICBjb25zdCBzdXJ2ZXkgPSA8U3VydmV5TW9kZWw+cGFuZWwuc3VydmV5O1xuICAgIGlmKCEhc3VydmV5KSB7XG4gICAgICBjb25zdCBuYW1lID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50TmFtZShwYW5lbCk7XG4gICAgICBpZighIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcInBhbmVsXCI7XG4gIH1cbiAgcHVibGljIGdldCBwYW5lbENvbXBvbmVudERhdGEoKTogYW55IHtcbiAgICBjb25zdCBwYW5lbCA9IHRoaXMuY2VsbC5wYW5lbDtcbiAgICBjb25zdCBzdXJ2ZXkgPSA8U3VydmV5TW9kZWw+cGFuZWwuc3VydmV5O1xuICAgIGxldCBkYXRhOiBhbnk7XG4gICAgaWYoISFzdXJ2ZXkpIHtcbiAgICAgIGRhdGEgPSBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnREYXRhKHBhbmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IFwicGFuZWxcIixcbiAgICAgIGNvbXBvbmVudERhdGE6IHtcbiAgICAgICAgbW9kZWw6IHBhbmVsLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGdldENvbXBvbmVudE5hbWUoZWxlbWVudDogUXVlc3Rpb24pIHsgcmV0dXJuIGdldENvbXBvbmVudE5hbWUoZWxlbWVudCk7IH1cbiAgZ2V0SGVhZGVycygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNlbGwuaGVhZGVycztcbiAgfVxuICBnZXRDZWxsU3R5bGUoKSB7XG4gICAgaWYgKCEhdGhpcy5jZWxsLndpZHRoIHx8ICEhdGhpcy5jZWxsLm1pbldpZHRoKVxuICAgICAgcmV0dXJuIHsgd2lkdGg6IHRoaXMuY2VsbC53aWR0aCwgbWluV2lkdGg6IHRoaXMuY2VsbC5taW5XaWR0aCB9O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNSZXF1aXJlZENlbGwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jZWxsLmNvbHVtbiAmJiB0aGlzLmNlbGwuY29sdW1uLmlzUmVuZGVyZWRSZXF1aXJlZDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmNlbGwuaGFzUXVlc3Rpb24gfHwgIXRoaXMucXVlc3Rpb24gfHwgIXRoaXMucXVlc3Rpb24uc3VydmV5KSByZXR1cm47XG4gICAgY29uc3QgZWwgPSB0aGlzLmNlbGxDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjZWxsUSA9IHRoaXMuY2VsbC5xdWVzdGlvbjtcbiAgICB2YXIgb3B0aW9ucyA9IHtcbiAgICAgIGNlbGw6IHRoaXMuY2VsbC5jZWxsLFxuICAgICAgY2VsbFF1ZXN0aW9uOiBjZWxsUSxcbiAgICAgIGh0bWxFbGVtZW50OiBlbCxcbiAgICAgIHJvdzogdGhpcy5jZWxsLnJvdyxcbiAgICAgIGNvbHVtbjogdGhpcy5jZWxsLmNlbGwuY29sdW1uLFxuICAgIH07XG4gICAgdGhpcy5xdWVzdGlvbi5zdXJ2ZXkubWF0cml4QWZ0ZXJDZWxsUmVuZGVyKHRoaXMucXVlc3Rpb24sIG9wdGlvbnMpO1xuICAgIGNlbGxRLmFmdGVyUmVuZGVyQ29yZShlbCk7XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICBpZih0aGlzLmNlbGwuaXNFcnJvcnNDZWxsICYmIHRoaXMuY2VsbD8ucXVlc3Rpb24pIHtcbiAgICAgIHRoaXMuY2VsbC5xdWVzdGlvbi51blJlZ2lzdGVyRnVuY3Rpb25PblByb3BlcnR5VmFsdWVDaGFuZ2VkKFwiZXJyb3JzXCIsIFwiX19uZ1N1YnNjcmlwdGlvblwiKSAgICBcbiAgICB9XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8dGQgW2NsYXNzXT1cImNlbGwuY2xhc3NOYW1lXCIgW2F0dHIuZGF0YS1yZXNwb25zaXZlLXRpdGxlXT1cImdldEhlYWRlcnMoKVwiIFt0aXRsZV09XCJjZWxsLmdldFRpdGxlKClcIlxuICAgIFtzdHlsZV09XCJnZXRDZWxsU3R5bGUoKVwiIFthdHRyLmNvbHNwYW5dPVwiY2VsbC5jb2xTcGFuc1wiIChmb2N1c2luKT1cImNlbGwuZm9jdXNJbigpXCIgI2NlbGxDb250YWluZXI+XG4gICAgPHN2LW5nLW1hdHJpeC1kcmFnLWRyb3AtaWNvbiAqbmdJZj1cImNlbGwuaXNEcmFnSGFuZGxlckNlbGxcIlxuICAgICAgW21vZGVsXT1cIiRhbnkoeyBkYXRhOiB7IHJvdzogcm93LCBxdWVzdGlvbjogcXVlc3Rpb24gfSB9KVwiPjwvc3YtbmctbWF0cml4LWRyYWctZHJvcC1pY29uPlxuICAgIDxzdi1hY3Rpb24tYmFyICpuZ0lmPVwiY2VsbC5pc0FjdGlvbnNDZWxsXCIgW21vZGVsXT1cImNlbGwuaXRlbS5nZXREYXRhKClcIiBbaGFuZGxlQ2xpY2tdPVwiZmFsc2VcIj48L3N2LWFjdGlvbi1iYXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGwuaGFzUGFuZWxcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogcGFuZWxDb21wb25lbnROYW1lLCBkYXRhOiBwYW5lbENvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cImNlbGwuaXNFcnJvcnNDZWxsICYmIGNlbGwucXVlc3Rpb24/Lmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJjZWxsLnF1ZXN0aW9uXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJjZWxsLmhhc1F1ZXN0aW9uXCIgW2NsYXNzXT1cInF1ZXN0aW9uLmNzc0NsYXNzZXMuY2VsbFF1ZXN0aW9uV3JhcHBlclwiXG4gICAgICBbdmlzaWJsZV09XCJjZWxsLnF1ZXN0aW9uLmlzVmlzaWJsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsLmlzQ2hvaWNlICYmIGNlbGwucXVlc3Rpb24uaXNEZWZhdWx0UmVuZGVyaW5nKClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZShjZWxsLmNlbGwpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50RGF0YShjZWxsLmNlbGwpfSB9XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbY29tcG9uZW50XT1cInsgbmFtZTogZ2V0Q29tcG9uZW50TmFtZShjZWxsLnF1ZXN0aW9uKSwgZGF0YTogeyBtb2RlbDogY2VsbC5xdWVzdGlvbiB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCIhY2VsbC5pc0Nob2ljZSAmJiAhY2VsbC5xdWVzdGlvbi5pc0RlZmF1bHRSZW5kZXJpbmcoKVwiXG4gICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBjZWxsLnF1ZXN0aW9uLmdldENvbXBvbmVudE5hbWUoKSwgZGF0YTogeyBtb2RlbDogY2VsbC5xdWVzdGlvbiB9IH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5pc0l0ZW1DaG9pY2VcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZShjZWxsLmNlbGwpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50RGF0YShjZWxsLmNlbGwpfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXNlbGViYXNlLWl0ZW0gW3Nob3dMYWJlbF09XCJmYWxzZVwiIFtpbnB1dFR5cGVdPVwiY2VsbC5pc0NoZWNrYm94ID8gJ2NoZWNrYm94JzogJ3JhZGlvJ1wiXG4gICAgICAgICAgICBbcXVlc3Rpb25dPVwiY2VsbC5xdWVzdGlvblwiIFttb2RlbF09XCJjZWxsLml0ZW1cIj48L3N2LW5nLXNlbGViYXNlLWl0ZW0+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjZWxsLmlzT3RoZXJDaG9pY2VcIiBbY2xhc3NdPVwiY2VsbC5xdWVzdGlvbi5nZXRDb21tZW50QXJlYUNzcyh0cnVlKVwiIFtxdWVzdGlvbl09XCJjZWxsLnF1ZXN0aW9uXCJcbiAgICAgICAgc3YtbmctY29tbWVudC1vdGhlcj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5oYXNUaXRsZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBxdWVzdGlvbi5nZXRDZWxsV3JhcHBlckNvbXBvbmVudE5hbWUoJGFueShjZWxsKSksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogcXVlc3Rpb24uZ2V0Q2VsbFdyYXBwZXJDb21wb25lbnREYXRhKCRhbnkoY2VsbCkpfSB9XCI+XG4gICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cImNlbGwubG9jVGl0bGVcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkQ2VsbFwiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNlbGxSZXF1aXJlZFRleHRcIj57eyBjZWxsLnJlcXVpcmVkVGV4dCB9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdGQ+XG48L25nLXRlbXBsYXRlPiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3NyYy9xdWVzdGlvbnMvbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFROUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7OztBQU8vQyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsV0FBcUI7SUFLcEUsUUFBUTtRQUNOLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUMzQjtRQUNELElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQVcsQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN2QixDQUFDO0lBQ2UsU0FBUzs7UUFDdkIsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xCLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEtBQUksTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUEsRUFBRTtZQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQ0FBc0MsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUN2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LElBQUksQ0FBQyxZQUFZLEtBQUksTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUEsRUFBRTtZQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyx3Q0FBd0MsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtTQUMxRjtJQUNILENBQUM7O3lIQW5GVSwyQkFBMkI7NkdBQTNCLDJCQUEyQix3UENoQnhDLDJxRkF3Q2M7NEZEeEJELDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxNQUFNLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztpQkFDckM7OEJBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRXNCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYXNlQW5ndWxhciB9IGZyb20gXCIuLi9iYXNlLWFuZ3VsYXJcIjtcbmltcG9ydCB7XG4gIFF1ZXN0aW9uLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duTW9kZWxCYXNlLFxuICBRdWVzdGlvbk1hdHJpeERyb3Bkb3duUmVuZGVyZWRDZWxsLFxuICBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSxcbiAgU3VydmV5TW9kZWxcbn0gZnJvbSBcInN1cnZleS1jb3JlXCI7XG5pbXBvcnQgeyBnZXRDb21wb25lbnROYW1lIH0gZnJvbSBcIi4uL3F1ZXN0aW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzdi1uZy1tYXRyaXhkcm9wZG93bi1jZWxsXCIsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbWF0cml4ZHJvcGRvd25jZWxsLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlczogW1wiOmhvc3QgeyBkaXNwbGF5OiBub25lOyB9XCJdXG59KVxuZXhwb3J0IGNsYXNzIE1hdHJpeERyb3Bkb3duQ2VsbENvbXBvbmVudCBleHRlbmRzIEJhc2VBbmd1bGFyPFF1ZXN0aW9uPiB7XG4gIEBJbnB1dCgpIHF1ZXN0aW9uITogUXVlc3Rpb25NYXRyaXhEcm9wZG93bk1vZGVsQmFzZTtcbiAgQElucHV0KCkgY2VsbCE6IFF1ZXN0aW9uTWF0cml4RHJvcGRvd25SZW5kZXJlZENlbGw7XG5cbiAgQFZpZXdDaGlsZChcImNlbGxDb250YWluZXJcIikgY2VsbENvbnRhaW5lciE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICBnZXRNb2RlbCgpIHtcbiAgICBpZih0aGlzLmNlbGwuaGFzUXVlc3Rpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNlbGwucXVlc3Rpb247XG4gICAgfVxuICAgIGlmKCEhdGhpcy5jZWxsLmNvbHVtbikge1xuICAgICAgcmV0dXJuIHRoaXMuY2VsbC5jb2x1bW47XG4gICAgfVxuICAgIHJldHVybiBudWxsIGFzIGFueTtcbiAgfVxuICBwdWJsaWMgZ2V0IHJvdygpOiBNYXRyaXhEcm9wZG93blJvd01vZGVsQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMuY2VsbC5yb3c7XG4gIH1cbiAgcHVibGljIG92ZXJyaWRlIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0RvQ2hlY2soKTtcbiAgICBpZih0aGlzLmNlbGwuaXNFcnJvcnNDZWxsICYmIHRoaXMuY2VsbD8ucXVlc3Rpb24pIHtcbiAgICAgIHRoaXMuY2VsbC5xdWVzdGlvbi5yZWdpc3RlckZ1bmN0aW9uT25Qcm9wZXJ0eVZhbHVlQ2hhbmdlZChcImVycm9yc1wiLCAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICB9LCBcIl9fbmdTdWJzY3JpcHRpb25cIilcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCBwYW5lbENvbXBvbmVudE5hbWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYW5lbCA9IHRoaXMuY2VsbC5wYW5lbDtcbiAgICBjb25zdCBzdXJ2ZXkgPSA8U3VydmV5TW9kZWw+cGFuZWwuc3VydmV5O1xuICAgIGlmKCEhc3VydmV5KSB7XG4gICAgICBjb25zdCBuYW1lID0gc3VydmV5LmdldEVsZW1lbnRXcmFwcGVyQ29tcG9uZW50TmFtZShwYW5lbCk7XG4gICAgICBpZighIW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcInBhbmVsXCI7XG4gIH1cbiAgcHVibGljIGdldCBwYW5lbENvbXBvbmVudERhdGEoKTogYW55IHtcbiAgICBjb25zdCBwYW5lbCA9IHRoaXMuY2VsbC5wYW5lbDtcbiAgICBjb25zdCBzdXJ2ZXkgPSA8U3VydmV5TW9kZWw+cGFuZWwuc3VydmV5O1xuICAgIGxldCBkYXRhOiBhbnk7XG4gICAgaWYoISFzdXJ2ZXkpIHtcbiAgICAgIGRhdGEgPSBzdXJ2ZXkuZ2V0RWxlbWVudFdyYXBwZXJDb21wb25lbnREYXRhKHBhbmVsKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbXBvbmVudE5hbWU6IFwicGFuZWxcIixcbiAgICAgIGNvbXBvbmVudERhdGE6IHtcbiAgICAgICAgbW9kZWw6IHBhbmVsLFxuICAgICAgICBkYXRhOiBkYXRhXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGdldENvbXBvbmVudE5hbWUoZWxlbWVudDogUXVlc3Rpb24pIHsgcmV0dXJuIGdldENvbXBvbmVudE5hbWUoZWxlbWVudCk7IH1cbiAgZ2V0SGVhZGVycygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNlbGwuaGVhZGVycztcbiAgfVxuICBnZXRDZWxsU3R5bGUoKSB7XG4gICAgaWYgKCEhdGhpcy5jZWxsLndpZHRoIHx8ICEhdGhpcy5jZWxsLm1pbldpZHRoKVxuICAgICAgcmV0dXJuIHsgd2lkdGg6IHRoaXMuY2VsbC53aWR0aCwgbWluV2lkdGg6IHRoaXMuY2VsbC5taW5XaWR0aCB9O1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHB1YmxpYyBnZXQgaXNSZXF1aXJlZENlbGwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5jZWxsLmNvbHVtbiAmJiB0aGlzLmNlbGwuY29sdW1uLmlzUmVuZGVyZWRSZXF1aXJlZDtcbiAgfVxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKCF0aGlzLmNlbGwuaGFzUXVlc3Rpb24gfHwgIXRoaXMucXVlc3Rpb24gfHwgIXRoaXMucXVlc3Rpb24uc3VydmV5KSByZXR1cm47XG4gICAgY29uc3QgZWwgPSB0aGlzLmNlbGxDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBjZWxsUSA9IHRoaXMuY2VsbC5xdWVzdGlvbjtcbiAgICB2YXIgb3B0aW9ucyA9IHtcbiAgICAgIGNlbGw6IHRoaXMuY2VsbC5jZWxsLFxuICAgICAgY2VsbFF1ZXN0aW9uOiBjZWxsUSxcbiAgICAgIGh0bWxFbGVtZW50OiBlbCxcbiAgICAgIHJvdzogdGhpcy5jZWxsLnJvdyxcbiAgICAgIGNvbHVtbjogdGhpcy5jZWxsLmNlbGwuY29sdW1uLFxuICAgIH07XG4gICAgdGhpcy5xdWVzdGlvbi5zdXJ2ZXkubWF0cml4QWZ0ZXJDZWxsUmVuZGVyKHRoaXMucXVlc3Rpb24sIG9wdGlvbnMpO1xuICAgIGNlbGxRLmFmdGVyUmVuZGVyQ29yZShlbCk7XG4gIH1cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICBpZih0aGlzLmNlbGwuaXNFcnJvcnNDZWxsICYmIHRoaXMuY2VsbD8ucXVlc3Rpb24pIHtcbiAgICAgIHRoaXMuY2VsbC5xdWVzdGlvbi51blJlZ2lzdGVyRnVuY3Rpb25PblByb3BlcnR5VmFsdWVDaGFuZ2VkKFwiZXJyb3JzXCIsIFwiX19uZ1N1YnNjcmlwdGlvblwiKSAgICBcbiAgICB9XG4gIH1cbn0iLCI8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8dGQgW2NsYXNzXT1cImNlbGwuY2xhc3NOYW1lXCIgW2F0dHIuZGF0YS1yZXNwb25zaXZlLXRpdGxlXT1cImdldEhlYWRlcnMoKVwiIFt0aXRsZV09XCJjZWxsLmdldFRpdGxlKClcIlxuICAgIFtzdHlsZV09XCJnZXRDZWxsU3R5bGUoKVwiIFthdHRyLmNvbHNwYW5dPVwiY2VsbC5jb2xTcGFuc1wiIChmb2N1c2luKT1cImNlbGwuZm9jdXNJbigpXCIgI2NlbGxDb250YWluZXI+XG4gICAgPHN2LW5nLW1hdHJpeC1kcmFnLWRyb3AtaWNvbiAqbmdJZj1cImNlbGwuaXNEcmFnSGFuZGxlckNlbGxcIlxuICAgICAgW21vZGVsXT1cIiRhbnkoeyBkYXRhOiB7IHJvdzogcm93LCBxdWVzdGlvbjogcXVlc3Rpb24gfSB9KVwiPjwvc3YtbmctbWF0cml4LWRyYWctZHJvcC1pY29uPlxuICAgIDxzdi1hY3Rpb24tYmFyICpuZ0lmPVwiY2VsbC5pc0FjdGlvbnNDZWxsXCIgW21vZGVsXT1cImNlbGwuaXRlbS5nZXREYXRhKClcIiBbaGFuZGxlQ2xpY2tdPVwiZmFsc2VcIj48L3N2LWFjdGlvbi1iYXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNlbGwuaGFzUGFuZWxcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbY29tcG9uZW50XT1cInsgbmFtZTogcGFuZWxDb21wb25lbnROYW1lLCBkYXRhOiBwYW5lbENvbXBvbmVudERhdGEgfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPGRpdiAqbmdJZj1cImNlbGwuaXNFcnJvcnNDZWxsICYmIGNlbGwucXVlc3Rpb24/Lmhhc1Zpc2libGVFcnJvcnNcIiBbZWxlbWVudF09XCJjZWxsLnF1ZXN0aW9uXCIgc3YtbmctZXJyb3JzPjwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCJjZWxsLmhhc1F1ZXN0aW9uXCIgW2NsYXNzXT1cImNlbGwuY2VsbFF1ZXN0aW9uV3JhcHBlckNsYXNzTmFtZVwiXG4gICAgICBbdmlzaWJsZV09XCJjZWxsLnF1ZXN0aW9uLmlzVmlzaWJsZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjZWxsLmlzQ2hvaWNlICYmIGNlbGwucXVlc3Rpb24uaXNEZWZhdWx0UmVuZGVyaW5nKClcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZShjZWxsLmNlbGwpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50RGF0YShjZWxsLmNlbGwpfSB9XCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbY29tcG9uZW50XT1cInsgbmFtZTogZ2V0Q29tcG9uZW50TmFtZShjZWxsLnF1ZXN0aW9uKSwgZGF0YTogeyBtb2RlbDogY2VsbC5xdWVzdGlvbiB9IH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCIhY2VsbC5pc0Nob2ljZSAmJiAhY2VsbC5xdWVzdGlvbi5pc0RlZmF1bHRSZW5kZXJpbmcoKVwiXG4gICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBjZWxsLnF1ZXN0aW9uLmdldENvbXBvbmVudE5hbWUoKSwgZGF0YTogeyBtb2RlbDogY2VsbC5xdWVzdGlvbiB9IH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5pc0l0ZW1DaG9pY2VcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW2NvbXBvbmVudF09XCJ7IG5hbWU6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50TmFtZShjZWxsLmNlbGwpLCBkYXRhOiB7IGNvbXBvbmVudERhdGE6IHF1ZXN0aW9uLmdldENlbGxXcmFwcGVyQ29tcG9uZW50RGF0YShjZWxsLmNlbGwpfSB9XCI+XG4gICAgICAgICAgPHN2LW5nLXNlbGViYXNlLWl0ZW0gW3Nob3dMYWJlbF09XCJmYWxzZVwiIFtpbnB1dFR5cGVdPVwiY2VsbC5pc0NoZWNrYm94ID8gJ2NoZWNrYm94JzogJ3JhZGlvJ1wiXG4gICAgICAgICAgICBbcXVlc3Rpb25dPVwiY2VsbC5xdWVzdGlvblwiIFttb2RlbF09XCJjZWxsLml0ZW1cIj48L3N2LW5nLXNlbGViYXNlLWl0ZW0+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjZWxsLmlzT3RoZXJDaG9pY2VcIiBbY2xhc3NdPVwiY2VsbC5xdWVzdGlvbi5nZXRDb21tZW50QXJlYUNzcyh0cnVlKVwiIFtxdWVzdGlvbl09XCJjZWxsLnF1ZXN0aW9uXCJcbiAgICAgICAgc3YtbmctY29tbWVudC1vdGhlcj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2VsbC5oYXNUaXRsZVwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtjb21wb25lbnRdPVwieyBuYW1lOiBxdWVzdGlvbi5nZXRDZWxsV3JhcHBlckNvbXBvbmVudE5hbWUoJGFueShjZWxsKSksIGRhdGE6IHsgY29tcG9uZW50RGF0YTogcXVlc3Rpb24uZ2V0Q2VsbFdyYXBwZXJDb21wb25lbnREYXRhKCRhbnkoY2VsbCkpfSB9XCI+XG4gICAgICAgIDxzdi1uZy1zdHJpbmcgW21vZGVsXT1cImNlbGwubG9jVGl0bGVcIj48L3N2LW5nLXN0cmluZz5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpc1JlcXVpcmVkQ2VsbFwiIFtjbGFzc109XCJxdWVzdGlvbi5jc3NDbGFzc2VzLmNlbGxSZXF1aXJlZFRleHRcIj57eyBjZWxsLnJlcXVpcmVkVGV4dCB9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdGQ+XG48L25nLXRlbXBsYXRlPiJdfQ==