@flywheel-io/vision 2.4.5 → 2.5.1

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.
@@ -0,0 +1,17 @@
1
+ import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class FwChipListComponent implements OnInit {
4
+ changeDetector: ChangeDetectorRef;
5
+ hostElement: ElementRef<any>;
6
+ childChipElementRefs: import("@angular/core").Signal<readonly ElementRef<any>[]>;
7
+ moreText: import("@angular/core").Signal<ElementRef<HTMLParagraphElement>>;
8
+ hiddenElementCount: import("@angular/core").WritableSignal<number>;
9
+ hiddenChips: import("@angular/core").WritableSignal<HTMLElement[]>;
10
+ hiddenLabels: import("@angular/core").Signal<string>;
11
+ childrenChanged: import("@angular/core").EffectRef;
12
+ resizeObserver: ResizeObserver;
13
+ ngOnInit(): void;
14
+ calcChipOverflow(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwChipListComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwChipListComponent, "fw-chip-list", never, {}, {}, ["childChipElementRefs"], ["*"], true, never>;
17
+ }
@@ -0,0 +1,57 @@
1
+ import { CdkMenuTrigger } from '@angular/cdk/menu';
2
+ import { ChangeDetectorRef, ElementRef } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+ import { Observable } from 'rxjs';
5
+ import { FwMenuItemComponent } from '../menu/menu-item/menu-item.component';
6
+ import * as i0 from "@angular/core";
7
+ type OptionFetchingFn = (searchString: string) => Observable<string[]>;
8
+ /**
9
+ * Component for having a user select multiple values while also allowing arbitrary values to be added
10
+ * @see [Vision Docs](https://cdn.flywheel.io/docs/vision/master/?path=/docs/form-controls-typeahead--docs)
11
+ */
12
+ export declare class FwTypeaheadComponent implements ControlValueAccessor {
13
+ outsideClick(): void;
14
+ trigger: import("@angular/core").Signal<CdkMenuTrigger>;
15
+ changeDetector: ChangeDetectorRef;
16
+ loading: import("@angular/core").ModelSignal<boolean>;
17
+ disabled: import("@angular/core").ModelSignal<boolean>;
18
+ setDisabledState(isDisabled: boolean): void;
19
+ writeValue(incomingValue: string[]): void;
20
+ onChange: (_: string[]) => void;
21
+ registerOnChange(onChangeFn: any): void;
22
+ onTouched: () => void;
23
+ registerOnTouched(onTouchedFn: any): void;
24
+ onClick(event: MouseEvent): void;
25
+ value: import("@angular/core").ModelSignal<string[]>;
26
+ optionsInput: import("@angular/core").InputSignal<string[] | OptionFetchingFn>;
27
+ maxOptionsHeight: import("@angular/core").InputSignal<string>;
28
+ minOptionsHeight: import("@angular/core").InputSignal<string>;
29
+ optionsWidth: import("@angular/core").InputSignal<string>;
30
+ notifyOnValueChanges: import("@angular/core").EffectRef;
31
+ searchValue: import("@angular/core").ModelSignal<string>;
32
+ searchValueChanges$: Observable<string>;
33
+ handleSearchChange(event: KeyboardEvent): void;
34
+ allowNew: import("@angular/core").InputSignal<boolean>;
35
+ placeholder: import("@angular/core").InputSignal<string>;
36
+ options$: Observable<string[]>;
37
+ optionsSignal: import("@angular/core").Signal<string[]>;
38
+ closeChip(chipValue: string): void;
39
+ displayNewOption: import("@angular/core").Signal<boolean>;
40
+ addValue: (newValue: string) => void;
41
+ handleOptionClick: (optionValue: any) => void;
42
+ resetFocusOnOptionsChange: import("@angular/core").EffectRef;
43
+ displayedOptions: import("@angular/core").Signal<readonly FwMenuItemComponent[]>;
44
+ focusedIndex: import("@angular/core").WritableSignal<number>;
45
+ focusedOption: import("@angular/core").Signal<string>;
46
+ inputRef: import("@angular/core").Signal<ElementRef<HTMLInputElement>>;
47
+ focusInput(e?: MouseEvent): void;
48
+ keyHandlerMap: {
49
+ [keycode: string]: (e: KeyboardEvent) => void;
50
+ };
51
+ handleKey(e: KeyboardEvent): void;
52
+ setFocusByValue(value: string): void;
53
+ private moveFocused;
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<FwTypeaheadComponent, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwTypeaheadComponent, "fw-typeahead", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "optionsInput": { "alias": "options"; "required": false; "isSignal": true; }; "maxOptionsHeight": { "alias": "maxOptionsHeight"; "required": false; "isSignal": true; }; "minOptionsHeight": { "alias": "minOptionsHeight"; "required": false; "isSignal": true; }; "optionsWidth": { "alias": "optionsWidth"; "required": false; "isSignal": true; }; "searchValue": { "alias": "searchValue"; "required": false; "isSignal": true; }; "allowNew": { "alias": "allowNew"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; }, { "loading": "loadingChange"; "disabled": "disabledChange"; "value": "valueChange"; "searchValue": "searchValueChange"; }, never, never, true, never>;
56
+ }
57
+ export {};
@@ -6,5 +6,5 @@ export declare class FwWrappedInputComponent {
6
6
  errorText?: string;
7
7
  class: boolean;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<FwWrappedInputComponent, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<FwWrappedInputComponent, "fw-wrapped-input", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; }, {}, never, ["fw-form-heading", "fw-button-toggle, fw-date-input, fw-text-input, fw-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox"], false, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<FwWrappedInputComponent, "fw-wrapped-input", never, { "title": { "alias": "title"; "required": false; }; "description": { "alias": "description"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; }, {}, never, ["fw-form-heading", "fw-button-toggle, fw-date-input, fw-text-input, fw-number-input, fw-phone-input, fw-textarea-input, fw-select, fw-multi-select, fw-checkbox, fw-typeahead"], false, never>;
10
10
  }
@@ -0,0 +1,72 @@
1
+ import { ChangeDetectorRef, Component, computed, contentChildren, effect, ElementRef, inject, signal, viewChild } from '@angular/core';
2
+ import { FwChipComponent } from '../chip/chip.component';
3
+ import { FwChipModule } from '../chip/chip.module';
4
+ import { FwTooltipModule } from '../tooltip/tooltip.module';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../tooltip/tooltip.component";
7
+ // the nature of this component is to handle a complex layout issue so disabling this lint rule
8
+ /* eslint-disable @rx-angular/prefer-no-layout-sensitive-apis */
9
+ export class FwChipListComponent {
10
+ constructor() {
11
+ this.changeDetector = inject(ChangeDetectorRef);
12
+ this.hostElement = inject(ElementRef);
13
+ this.childChipElementRefs = contentChildren(FwChipComponent, { read: ElementRef });
14
+ this.moreText = viewChild.required('moreText');
15
+ this.hiddenElementCount = signal(0);
16
+ this.hiddenChips = signal([]);
17
+ this.hiddenLabels = computed(() => {
18
+ return this.hiddenChips().map(chip => {
19
+ // this relies on the dom shape of the chip, might be fragile
20
+ const contentSpan = chip.querySelector('span');
21
+ return contentSpan.innerText;
22
+ }).join(', ');
23
+ });
24
+ this.childrenChanged = effect(() => {
25
+ this.childChipElementRefs();
26
+ this.calcChipOverflow();
27
+ }, { allowSignalWrites: true });
28
+ this.resizeObserver = new ResizeObserver(() => {
29
+ this.calcChipOverflow();
30
+ });
31
+ }
32
+ ngOnInit() {
33
+ this.resizeObserver.observe(this.hostElement.nativeElement);
34
+ }
35
+ calcChipOverflow() {
36
+ const hostRect = this.hostElement.nativeElement.getBoundingClientRect();
37
+ const chipElements = this.childChipElementRefs().map(ref => ref.nativeElement);
38
+ const moreTextElement = this.moreText().nativeElement;
39
+ chipElements.forEach(chip => chip.classList.remove('hidden'));
40
+ moreTextElement.classList.remove('hidden');
41
+ const visibleChips = chipElements.filter(chip => {
42
+ const chipRect = chip.getBoundingClientRect();
43
+ return !(chipRect.right > hostRect.right || chipRect.bottom > hostRect.bottom);
44
+ });
45
+ const overflowChips = chipElements.toSpliced(0, visibleChips.length);
46
+ if (overflowChips.length > 0) {
47
+ const lastVisibleChip = visibleChips[visibleChips.length - 1];
48
+ const enoughRoomForMoreText = (hostRect.right - lastVisibleChip.getBoundingClientRect().right) > (moreTextElement.offsetWidth);
49
+ if (!enoughRoomForMoreText) {
50
+ overflowChips.push(lastVisibleChip);
51
+ }
52
+ this.hiddenChips.set(overflowChips);
53
+ overflowChips.forEach(hiddenChip => {
54
+ hiddenChip.classList.add('hidden');
55
+ });
56
+ }
57
+ else {
58
+ this.moreText().nativeElement.classList.add('hidden');
59
+ }
60
+ this.changeDetector.detectChanges();
61
+ }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwChipListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "17.3.12", type: FwChipListComponent, isStandalone: true, selector: "fw-chip-list", queries: [{ propertyName: "childChipElementRefs", predicate: FwChipComponent, read: ElementRef, isSignal: true }], viewQueries: [{ propertyName: "moreText", first: true, predicate: ["moreText"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-content></ng-content>\n<fw-tooltip [title]=\"hiddenLabels()\">\n <p #moreText> +{{hiddenChips().length}} more </p>\n</fw-tooltip>\n", styles: [":host{flex-basis:max-content;display:flex;flex-flow:row wrap;gap:8px;align-items:flex-start;justify-content:flex-start;max-height:28px;overflow:hidden}:host p{line-height:24px;cursor:default;margin:0 8px 0 0;text-wrap:nowrap;color:var(--typography-muted)}:host::ng-deep .hidden{display:none}\n"], dependencies: [{ kind: "ngmodule", type: FwChipModule }, { kind: "ngmodule", type: FwTooltipModule }, { kind: "component", type: i1.FwTooltipComponent, selector: "fw-tooltip", inputs: ["title", "color", "position", "maxWidth", "fullWidth", "isOpen", "trigger", "delay"] }] }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FwChipListComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'fw-chip-list', standalone: true, imports: [
68
+ FwChipModule,
69
+ FwTooltipModule,
70
+ ], template: "<ng-content></ng-content>\n<fw-tooltip [title]=\"hiddenLabels()\">\n <p #moreText> +{{hiddenChips().length}} more </p>\n</fw-tooltip>\n", styles: [":host{flex-basis:max-content;display:flex;flex-flow:row wrap;gap:8px;align-items:flex-start;justify-content:flex-start;max-height:28px;overflow:hidden}:host p{line-height:24px;cursor:default;margin:0 8px 0 0;text-wrap:nowrap;color:var(--typography-muted)}:host::ng-deep .hidden{display:none}\n"] }]
71
+ }] });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NoaXAtbGlzdC9jaGlwLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY2hpcC1saXN0L2NoaXAtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvSSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBRTVELCtGQUErRjtBQUMvRixnRUFBZ0U7QUFZaEUsTUFBTSxPQUFPLG1CQUFtQjtJQVZoQztRQVdFLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMseUJBQW9CLEdBQUcsZUFBZSxDQUE4QixlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMzRyxhQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBbUMsVUFBVSxDQUFDLENBQUM7UUFFNUUsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsTUFBTSxDQUFnQixFQUFFLENBQUMsQ0FBQztRQUN4QyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsV0FBVyxFQUFF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Q0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN0QyxDQUFDOytHQTlEVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2R0FHc0MsZUFBZSxRQUFVLFVBQVUsbUtDdEJ6RywwSUFJQSw4VkRTSSxZQUFZLDhCQUNaLGVBQWU7OzRGQUtOLG1CQUFtQjtrQkFWL0IsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBjb21wdXRlZCwgY29udGVudENoaWxkcmVuLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgT25Jbml0LCBzaWduYWwsIHZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd0NoaXBDb21wb25lbnQgfSBmcm9tICcuLi9jaGlwL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3Q2hpcE1vZHVsZSB9IGZyb20gJy4uL2NoaXAvY2hpcC5tb2R1bGUnO1xuaW1wb3J0IHsgRndUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi4vdG9vbHRpcC90b29sdGlwLm1vZHVsZSc7XG5cbi8vIHRoZSBuYXR1cmUgb2YgdGhpcyBjb21wb25lbnQgaXMgdG8gaGFuZGxlIGEgY29tcGxleCBsYXlvdXQgaXNzdWUgc28gZGlzYWJsaW5nIHRoaXMgbGludCBydWxlXG4vKiBlc2xpbnQtZGlzYWJsZSBAcngtYW5ndWxhci9wcmVmZXItbm8tbGF5b3V0LXNlbnNpdGl2ZS1hcGlzICovXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LWNoaXAtbGlzdCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBGd0NoaXBNb2R1bGUsXG4gICAgRndUb29sdGlwTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2hpcC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NoaXAtbGlzdC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZ3Q2hpcExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBjaGlsZENoaXBFbGVtZW50UmVmcyA9IGNvbnRlbnRDaGlsZHJlbjxGd0NoaXBDb21wb25lbnQsIEVsZW1lbnRSZWY+KEZ3Q2hpcENvbXBvbmVudCwgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuICBtb3JlVGV4dCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxQYXJhZ3JhcGhFbGVtZW50Pj4oJ21vcmVUZXh0Jyk7XG5cbiAgaGlkZGVuRWxlbWVudENvdW50ID0gc2lnbmFsKDApO1xuICBoaWRkZW5DaGlwcyA9IHNpZ25hbDxIVE1MRWxlbWVudFtdPihbXSk7XG4gIGhpZGRlbkxhYmVscyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5oaWRkZW5DaGlwcygpLm1hcChjaGlwID0+IHtcbiAgICAgIC8vIHRoaXMgcmVsaWVzIG9uIHRoZSBkb20gc2hhcGUgb2YgdGhlIGNoaXAsIG1pZ2h0IGJlIGZyYWdpbGVcbiAgICAgIGNvbnN0IGNvbnRlbnRTcGFuID0gY2hpcC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICByZXR1cm4gY29udGVudFNwYW4uaW5uZXJUZXh0O1xuICAgIH0pLmpvaW4oJywgJyk7XG4gIH0pXG5cbiAgY2hpbGRyZW5DaGFuZ2VkID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLmNoaWxkQ2hpcEVsZW1lbnRSZWZzKCk7XG4gICAgdGhpcy5jYWxjQ2hpcE92ZXJmbG93KCk7XG4gIH0sIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSlcblxuICByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgdGhpcy5jYWxjQ2hpcE92ZXJmbG93KCk7XG4gIH0pXG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBjYWxjQ2hpcE92ZXJmbG93KCk6IHZvaWQge1xuXG4gICAgY29uc3QgaG9zdFJlY3QgPSAodGhpcy5ob3N0RWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBjaGlwRWxlbWVudHMgPSB0aGlzLmNoaWxkQ2hpcEVsZW1lbnRSZWZzKCkubWFwKHJlZiA9PiByZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCk7XG4gICAgY29uc3QgbW9yZVRleHRFbGVtZW50ID0gdGhpcy5tb3JlVGV4dCgpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBjaGlwRWxlbWVudHMuZm9yRWFjaChjaGlwID0+IGNoaXAuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJykpO1xuICAgIG1vcmVUZXh0RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdoaWRkZW4nKTtcblxuICAgIGNvbnN0IHZpc2libGVDaGlwcyA9IGNoaXBFbGVtZW50cy5maWx0ZXIoY2hpcCA9PiB7XG4gICAgICBjb25zdCBjaGlwUmVjdCA9IGNoaXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICByZXR1cm4gIShjaGlwUmVjdC5yaWdodCA+IGhvc3RSZWN0LnJpZ2h0IHx8IGNoaXBSZWN0LmJvdHRvbSA+IGhvc3RSZWN0LmJvdHRvbSk7XG4gICAgfSlcblxuICAgIGNvbnN0IG92ZXJmbG93Q2hpcHMgPSBjaGlwRWxlbWVudHMudG9TcGxpY2VkKDAsIHZpc2libGVDaGlwcy5sZW5ndGgpO1xuXG4gICAgaWYgKG92ZXJmbG93Q2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbGFzdFZpc2libGVDaGlwID0gdmlzaWJsZUNoaXBzW3Zpc2libGVDaGlwcy5sZW5ndGggLSAxXTtcbiAgICAgIGNvbnN0IGVub3VnaFJvb21Gb3JNb3JlVGV4dCA9IChob3N0UmVjdC5yaWdodCAtIGxhc3RWaXNpYmxlQ2hpcC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCkgPiAobW9yZVRleHRFbGVtZW50Lm9mZnNldFdpZHRoKTtcblxuICAgICAgaWYgKCFlbm91Z2hSb29tRm9yTW9yZVRleHQpIHtcbiAgICAgICAgb3ZlcmZsb3dDaGlwcy5wdXNoKGxhc3RWaXNpYmxlQ2hpcClcbiAgICAgIH1cblxuICAgICAgdGhpcy5oaWRkZW5DaGlwcy5zZXQob3ZlcmZsb3dDaGlwcyk7XG4gICAgICBvdmVyZmxvd0NoaXBzLmZvckVhY2goaGlkZGVuQ2hpcCA9PiB7XG4gICAgICAgIGhpZGRlbkNoaXAuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7XG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vcmVUZXh0KCkubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdoaWRkZW4nKTtcbiAgICB9XG5cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPGZ3LXRvb2x0aXAgW3RpdGxlXT1cImhpZGRlbkxhYmVscygpXCI+XG4gIDxwICNtb3JlVGV4dD4gK3t7aGlkZGVuQ2hpcHMoKS5sZW5ndGh9fSBtb3JlIDwvcD5cbjwvZnctdG9vbHRpcD5cbiJdfQ==
@@ -35,8 +35,8 @@ export class FwDialogService extends Dialog {
35
35
  }
36
36
  // Handle ESC key with animation
37
37
  dialogRef.overlayRef.keydownEvents().subscribe(event => {
38
- const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();
39
38
  if (event.key === 'Escape') {
39
+ const isBackdropCloseEnabled = !config.canCloseCheck || config.canCloseCheck();
40
40
  if (isBackdropCloseEnabled) {
41
41
  this.closeWithAnimation(dialogRef);
42
42
  }
@@ -94,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
94
94
  }] }, { type: i2.DialogRef, decorators: [{
95
95
  type: Optional
96
96
  }] }] });
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0scUJBQXFCLENBQUM7QUFFckgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUtqRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxNQUFNO0lBQ3pDLFlBQW9CLE9BQWdCLEVBQ3hCLFNBQW1CLEVBQ1osUUFBa0IsRUFDa0IsYUFBMkIsRUFDL0Qsb0JBQXNDLEVBQ2IsY0FBbUIsRUFDM0IsYUFBcUIsRUFDMUIsU0FBeUI7UUFDdEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVI1RSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRWpCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFrQjtRQUcxQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtJQUV4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUksU0FBMkIsRUFBRSxNQUF5RCxFQUFFLFNBQWtCO1FBQ3RILE1BQU0sZUFBZSxHQUFHO1lBQ3RCLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixFQUFFO1lBQzNHLFlBQVksRUFBRSxJ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QUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQzsrR0EvRVUsZUFBZSx5RkFJTSxxQkFBcUIsNkRBRWpDLHNCQUFzQjttSEFOL0IsZUFBZSxjQUZkLE1BQU07OzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFLYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBRXhDLE1BQU07MkJBQUMsc0JBQXNCOzswQkFDN0IsUUFBUTs7MEJBQUksUUFBUTs7MEJBQ3BCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBERUZBVUxUX0RJQUxPR19DT05GSUcsIERpYWxvZywgRElBTE9HX1NDUk9MTF9TVFJBVEVHWSwgRGlhbG9nQ29uZmlnLCBEaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUsIE92ZXJsYXksIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZ3RGlhbG9nU2VydmljZSBleHRlbmRzIERpYWxvZyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgICAgICAgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgcHVibGljIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChERUZBVUxUX0RJQUxPR19DT05GSUcpIF9kaWFsb2dDb25maWc6IERpYWxvZ0NvbmZpZyxcbiAgICAgICAgICAgICAgcHVibGljIF9vdmVybGF5Q29udGFpbmVyUmVmOiBPdmVybGF5Q29udGFpbmVyLFxuICAgICAgICAgICAgICBASW5qZWN0KERJQUxPR19TQ1JPTExfU1RSQVRFR1kpIHNjcm9sbFN0cmF0ZWd5OiBhbnksXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIF9wYXJlbnREaWFsb2c6IERpYWxvZyxcbiAgICAgICAgICAgICAgQE9wdGlvbmFsKCkgcHVibGljIGRpYWxvZ1JlZjogRGlhbG9nUmVmPGFueT4pIHtcbiAgICBzdXBlcihvdmVybGF5LCBfaW5qZWN0b3IsIF9kaWFsb2dDb25maWcsIF9wYXJlbnREaWFsb2csIF9vdmVybGF5Q29udGFpbmVyUmVmLCBzY3JvbGxTdHJhdGVneSk7XG4gIH1cblxuICAvKipcbiAgICogT3BlbiBhIGN1c3RvbSBjb21wb25lbnQgaW4gYW4gb3ZlcmxheSBhbmQgcG9zaXRpb25lZCBuZWFyIHRoZSB0b3BcbiAgICovXG4gIG9wZW5EaWFsb2c8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBjb25maWc/OiBEaWFsb2dDb25maWcgJiB7IGNhbkNsb3NlQ2hlY2s/OiAoKSA9PiBib29sZWFuIH0sIHRvcE9mZnNldD86IHN0cmluZyk6IERpYWxvZ1JlZjx1bmtub3duLCBhbnk+IHtcbiAgICBjb25zdCBkZWZhdWx0U2V0dGluZ3MgPSB7XG4gICAgICBiYWNrZHJvcENsYXNzOiAndmlzaW9uLW92ZXJsYXknLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkudG9wKHRvcE9mZnNldCA/IHRvcE9mZnNldCA6ICcxMHZoJykuY2VudGVySG9yaXpvbnRhbGx5KCksXG4gICAgICBkaXNhYmxlQ2xvc2U6IHRydWUsIC8vIERpc2FibGUgZGVmYXVsdCBiYWNrZHJvcCBjbG9zZSB0byBoYW5kbGUgaXQgbWFudWFsbHlcbiAgICB9O1xuXG4gICAgY29uZmlnID0geyAuLi5jb25maWcsIC4uLmRlZmF1bHRTZXR0aW5ncyB9O1xuICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHN1cGVyLm9wZW4oY29tcG9uZW50LCBjb25maWcpO1xuXG4gICAgLy8gSGFuZGxlIGJhY2tkcm9wIGNsaWNrcyB3aXRoIGFuaW1hdGlvblxuICAgIGlmIChkaWFsb2dSZWYub3ZlcmxheVJlZi5iYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgIGRpYWxvZ1JlZi5vdmVybGF5UmVmLmJhY2tkcm9wRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGV2dCA9PiB7XG4gICAgICAgIGNvbnN0IGlzQmFja2Ryb3BDbG9zZUVuYWJsZWQgPSAhY29uZmlnLmNhbkNsb3NlQ2hlY2sgfHwgY29uZmlnLmNhbkNsb3NlQ2hlY2soKTtcbiAgICAgICAgaWYgKGlzQmFja2Ryb3BDbG9zZUVuYWJsZWQpIHtcbiAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgdGhpcy5jbG9zZVdpdGhBbmltYXRpb24oZGlhbG9nUmVmKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlIEVTQyBrZXkgd2l0aCBhbmltYXRpb25cbiAgICBkaWFsb2dSZWYub3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgIGNvbnN0IGlzQmFja2Ryb3BDbG9zZUVuYWJsZWQgPSAhY29uZmlnLmNhbkNsb3NlQ2hlY2sgfHwgY29uZmlnLmNhbkNsb3NlQ2hlY2soKTtcblxuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgaWYgKGlzQmFja2Ryb3BDbG9zZUVuYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlV2l0aEFuaW1hdGlvbihkaWFsb2dSZWYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgb3Blbk1vZGFsRGlhbG9nPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgY29uZmlnPzogRGlhbG9nQ29uZmlnLCB0b3BPZmZzZXQ/OiBzdHJpbmcpOiBEaWFsb2dSZWY8dW5rbm93biwgYW55PiB7XG4gICAgY29uc3QgZGVmYXVsdFNldHRpbmdzID0ge1xuICAgICAgYmFja2Ryb3BDbGFzczogJ3Zpc2lvbi1vdmVybGF5JyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLnRvcCh0b3BPZmZzZXQgPyB0b3BPZmZzZXQgOiAnMTB2aCcpLmNlbnRlckhvcml6b250YWxseSgpLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAvLyBEaXNhYmxlIGRlZmF1bHQgYmFja2Ryb3AgY2xvc2UgdG8gaGFuZGxlIGl0IG1hbnVhbGx5XG4gICAgfTtcblxuICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCAuLi5kZWZhdWx0U2V0dGluZ3MgfTtcbiAgICByZXR1cm4gc3VwZXIub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG4gIH1cblxuICBjbG9zZVdpdGhBbmltYXRpb24oZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ0VsZW1lbnQgPSBkaWFsb2dSZWYub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudD8ucXVlcnlTZWxlY3RvcignZnctZGlhbG9nLCBmdy1kaWFsb2ctY29uZmlybSwgZnctZGlhbG9nLXNpbXBsZScpO1xuXG4gICAgaWYgKGRpYWxvZ0VsZW1lbnQgJiYgIWRpYWxvZ0VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaWFsb2ctY2xvc2luZycpKSB7XG4gICAgICBpZiAoZGlhbG9nRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdmdy1kaWFsb2cnKSB7XG4gICAgICAgIC8vIEZvciBmdy1kaWFsb2ctY29uZmlybSBhbmQgZnctZGlhbG9nLXNpbXBsZSwgYXBwbHkgdGhlIGNsYXNzIHRvIHRoZSBpbm5lciBmdy1kaWFsb2cgZWxlbWVudFxuICAgICAgICBjb25zdCBpbm5lckRpYWxvZyA9IGRpYWxvZ0VsZW1lbnQucXVlcnlTZWxlY3RvcignZnctZGlhbG9nJyk7XG4gICAgICAgIGlmIChpbm5lckRpYWxvZykge1xuICAgICAgICAgIGlubmVyRGlhbG9nLmNsYXNzTGlzdC5hZGQoJ2RpYWxvZy1jbG9zaW5nJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpYWxvZ0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGlhbG9nLWNsb3NpbmcnKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQTJCLE1BQU0scUJBQXFCLENBQUM7QUFFckgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUtqRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxNQUFNO0lBQ3pDLFlBQW9CLE9BQWdCLEVBQ3hCLFNBQW1CLEVBQ1osUUFBa0IsRUFDa0IsYUFBMkIsRUFDL0Qsb0JBQXNDLEVBQ2IsY0FBbUIsRUFDM0IsYUFBcUIsRUFDMUIsU0FBeUI7UUFDdEQsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQztRQVI1RSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBRWpCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFbEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFrQjtRQUcxQixjQUFTLEdBQVQsU0FBUyxDQUFnQjtJQUV4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVLENBQUksU0FBMkIsRUFBRSxNQUF5RCxFQUFFLFNBQWtCO1FBQ3RILE1BQU0sZUFBZSxHQUFHO1lBQ3RCLGFBQWEsRUFBRSxnQkFBZ0I7WUFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixFQUFFO1lBQzNHLFlBQVksRUFBRSxJ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QUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsQ0FBQztJQUNILENBQUM7K0dBL0VVLGVBQWUseUZBSU0scUJBQXFCLDZEQUVqQyxzQkFBc0I7bUhBTi9CLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS2MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUV4QyxNQUFNOzJCQUFDLHNCQUFzQjs7MEJBQzdCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgREVGQVVMVF9ESUFMT0dfQ09ORklHLCBEaWFsb2csIERJQUxPR19TQ1JPTExfU1RSQVRFR1ksIERpYWxvZ0NvbmZpZywgRGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBPdmVybGF5LCBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGd0RpYWxvZ1NlcnZpY2UgZXh0ZW5kcyBEaWFsb2cge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXksXG4gICAgICAgICAgICAgIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREVGQVVMVF9ESUFMT0dfQ09ORklHKSBfZGlhbG9nQ29uZmlnOiBEaWFsb2dDb25maWcsXG4gICAgICAgICAgICAgIHB1YmxpYyBfb3ZlcmxheUNvbnRhaW5lclJlZjogT3ZlcmxheUNvbnRhaW5lcixcbiAgICAgICAgICAgICAgQEluamVjdChESUFMT0dfU0NST0xMX1NUUkFURUdZKSBzY3JvbGxTdHJhdGVneTogYW55LFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBAU2tpcFNlbGYoKSBfcGFyZW50RGlhbG9nOiBEaWFsb2csXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxhbnk+KSB7XG4gICAgc3VwZXIob3ZlcmxheSwgX2luamVjdG9yLCBfZGlhbG9nQ29uZmlnLCBfcGFyZW50RGlhbG9nLCBfb3ZlcmxheUNvbnRhaW5lclJlZiwgc2Nyb2xsU3RyYXRlZ3kpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW4gYSBjdXN0b20gY29tcG9uZW50IGluIGFuIG92ZXJsYXkgYW5kIHBvc2l0aW9uZWQgbmVhciB0aGUgdG9wXG4gICAqL1xuICBvcGVuRGlhbG9nPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgY29uZmlnPzogRGlhbG9nQ29uZmlnICYgeyBjYW5DbG9zZUNoZWNrPzogKCkgPT4gYm9vbGVhbiB9LCB0b3BPZmZzZXQ/OiBzdHJpbmcpOiBEaWFsb2dSZWY8dW5rbm93biwgYW55PiB7XG4gICAgY29uc3QgZGVmYXVsdFNldHRpbmdzID0ge1xuICAgICAgYmFja2Ryb3BDbGFzczogJ3Zpc2lvbi1vdmVybGF5JyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLnRvcCh0b3BPZmZzZXQgPyB0b3BPZmZzZXQgOiAnMTB2aCcpLmNlbnRlckhvcml6b250YWxseSgpLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAvLyBEaXNhYmxlIGRlZmF1bHQgYmFja2Ryb3AgY2xvc2UgdG8gaGFuZGxlIGl0IG1hbnVhbGx5XG4gICAgfTtcblxuICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCAuLi5kZWZhdWx0U2V0dGluZ3MgfTtcbiAgICBjb25zdCBkaWFsb2dSZWYgPSBzdXBlci5vcGVuKGNvbXBvbmVudCwgY29uZmlnKTtcblxuICAgIC8vIEhhbmRsZSBiYWNrZHJvcCBjbGlja3Mgd2l0aCBhbmltYXRpb25cbiAgICBpZiAoZGlhbG9nUmVmLm92ZXJsYXlSZWYuYmFja2Ryb3BFbGVtZW50KSB7XG4gICAgICBkaWFsb2dSZWYub3ZlcmxheVJlZi5iYWNrZHJvcEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBldnQgPT4ge1xuICAgICAgICBjb25zdCBpc0JhY2tkcm9wQ2xvc2VFbmFibGVkID0gIWNvbmZpZy5jYW5DbG9zZUNoZWNrIHx8IGNvbmZpZy5jYW5DbG9zZUNoZWNrKCk7XG4gICAgICAgIGlmIChpc0JhY2tkcm9wQ2xvc2VFbmFibGVkKSB7XG4gICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHRoaXMuY2xvc2VXaXRoQW5pbWF0aW9uKGRpYWxvZ1JlZik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZSBFU0Mga2V5IHdpdGggYW5pbWF0aW9uXG4gICAgZGlhbG9nUmVmLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICBjb25zdCBpc0JhY2tkcm9wQ2xvc2VFbmFibGVkID0gIWNvbmZpZy5jYW5DbG9zZUNoZWNrIHx8IGNvbmZpZy5jYW5DbG9zZUNoZWNrKCk7XG5cbiAgICAgICAgaWYgKGlzQmFja2Ryb3BDbG9zZUVuYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmNsb3NlV2l0aEFuaW1hdGlvbihkaWFsb2dSZWYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZGlhbG9nUmVmO1xuICB9XG5cbiAgb3Blbk1vZGFsRGlhbG9nPFQ+KGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxUPiwgY29uZmlnPzogRGlhbG9nQ29uZmlnLCB0b3BPZmZzZXQ/OiBzdHJpbmcpOiBEaWFsb2dSZWY8dW5rbm93biwgYW55PiB7XG4gICAgY29uc3QgZGVmYXVsdFNldHRpbmdzID0ge1xuICAgICAgYmFja2Ryb3BDbGFzczogJ3Zpc2lvbi1vdmVybGF5JyxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLnRvcCh0b3BPZmZzZXQgPyB0b3BPZmZzZXQgOiAnMTB2aCcpLmNlbnRlckhvcml6b250YWxseSgpLFxuICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLCAvLyBEaXNhYmxlIGRlZmF1bHQgYmFja2Ryb3AgY2xvc2UgdG8gaGFuZGxlIGl0IG1hbnVhbGx5XG4gICAgfTtcblxuICAgIGNvbmZpZyA9IHsgLi4uY29uZmlnLCAuLi5kZWZhdWx0U2V0dGluZ3MgfTtcbiAgICByZXR1cm4gc3VwZXIub3Blbihjb21wb25lbnQsIGNvbmZpZyk7XG4gIH1cblxuICBjbG9zZVdpdGhBbmltYXRpb24oZGlhbG9nUmVmOiBEaWFsb2dSZWY8YW55Pik6IHZvaWQge1xuICAgIGNvbnN0IGRpYWxvZ0VsZW1lbnQgPSBkaWFsb2dSZWYub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudD8ucXVlcnlTZWxlY3RvcignZnctZGlhbG9nLCBmdy1kaWFsb2ctY29uZmlybSwgZnctZGlhbG9nLXNpbXBsZScpO1xuXG4gICAgaWYgKGRpYWxvZ0VsZW1lbnQgJiYgIWRpYWxvZ0VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdkaWFsb2ctY2xvc2luZycpKSB7XG4gICAgICBpZiAoZGlhbG9nRWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICdmdy1kaWFsb2cnKSB7XG4gICAgICAgIC8vIEZvciBmdy1kaWFsb2ctY29uZmlybSBhbmQgZnctZGlhbG9nLXNpbXBsZSwgYXBwbHkgdGhlIGNsYXNzIHRvIHRoZSBpbm5lciBmdy1kaWFsb2cgZWxlbWVudFxuICAgICAgICBjb25zdCBpbm5lckRpYWxvZyA9IGRpYWxvZ0VsZW1lbnQucXVlcnlTZWxlY3RvcignZnctZGlhbG9nJyk7XG4gICAgICAgIGlmIChpbm5lckRpYWxvZykge1xuICAgICAgICAgIGlubmVyRGlhbG9nLmNsYXNzTGlzdC5hZGQoJ2RpYWxvZy1jbG9zaW5nJyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRpYWxvZ0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGlhbG9nLWNsb3NpbmcnKTtcbiAgICAgIH1cblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRpYWxvZ1JlZi5jbG9zZSgpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -21,7 +21,7 @@ export class FwPaginatorComponent {
21
21
  this.selectorTitle = 'Items per page:';
22
22
  this.page = new EventEmitter();
23
23
  this.pages = [];
24
- this.pagesTrackByFn = (index, page) => page.pageIndex;
24
+ this.pagesTrackByFn = (_, page) => page.pageIndex;
25
25
  }
26
26
  ngOnChanges(changes) {
27
27
  if (changes.pageIndex || changes.maxPagesShown || changes.length || changes.pageSize) {
@@ -130,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
130
130
  }], page: [{
131
131
  type: Output
132
132
  }] } });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFrQyxNQUFNLGVBQWUsQ0FBQzs7OztBQWdCM0ksTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQU9XLFNBQUksR0FBaUMsUUFBUSxDQUFDO1FBQzlDLFVBQUssR0FBc0MsT0FBTyxDQUFDO1FBQ25ELFVBQUssR0FBeUIsU0FBUyxDQUFDO1FBQ3hDLFlBQU8sR0FBa0MsT0FBTyxDQUFDO1FBQ2pELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsY0FBUyxHQUErQixRQUFRLENBQUM7UUFDakQsa0JBQWEsR0FBVyxpQkFBaUIsQ0FBQztRQUN6QyxTQUFJLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRXRGLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBQzdCLG1CQUFjLEdBQW9DLENBQUMsS0FBYSxFQUFFLElBQW9CLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7S0FrRm5IO0lBaEZDLFdBQVcs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LEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRyYWNrQnlGdW5jdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd1BhZ2luYXRvckV2ZW50IH0gZnJvbSAnLi9wYWdpbmF0b3IubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25QYWdlIHtcbiAgcGFnZUluZGV4OiBudW1iZXI7XG4gIG51bWJlcjogbnVtYmVyO1xuICBhY3RpdmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LXBhZ2luYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZ3UGFnaW5hdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKSBjb2xvcjogJ3NsYXRlJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknID0gJ3NsYXRlJztcbiAgQElucHV0KCkgc2hhcGU6ICdyb3VuZGVkJyB8ICdjaXJjbGUnID0gJ3JvdW5kZWQnO1xuICBASW5wdXQoKSB2YXJpYW50OiAnZ2hvc3QnIHwgJ291dGxpbmUnIHwgJ3NvbGlkJyA9ICdnaG9zdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dOZXh0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1ByZXZpb3VzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0ZpcnN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dMYXN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBtYXhQYWdlc1Nob3duOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgbGVuZ3RoOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBhbGlnbm1lbnQ6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnID0gJ2NlbnRlcic7XG4gIEBJbnB1dCgpIHNlbGVjdG9yVGl0bGU6IHN0cmluZyA9ICdJdGVtcyBwZXIgcGFnZTonO1xuICBAT3V0cHV0KCkgcGFnZTogRXZlbnRFbWl0dGVyPEZ3UGFnaW5hdG9yRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGd1BhZ2luYXRvckV2ZW50PigpO1xuXG4gIHBhZ2VzOiBQYWdpbmF0aW9uUGFnZVtdID0gW107XG4gIHBhZ2VzVHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248UGFnaW5hdGlvblBhZ2U+ID0gKGluZGV4OiBudW1iZXIsIHBhZ2U6IFBhZ2luYXRpb25QYWdlKTogbnVtYmVyID0+IHBhZ2UucGFnZUluZGV4O1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5wYWdlSW5kZXggfHwgY2hhbmdlcy5tYXhQYWdlc1Nob3duIHx8IGNoYW5nZXMubGVuZ3RoIHx8IGNoYW5nZXMucGFnZVNpemUpIHtcbiAgICAgIHRoaXMucGFnZXMgPSB0aGlzLmdldFBhZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBidWlsZFBhZ2VFdmVudChwYWdlSW5kZXg6IG51bWJlcik6IEZ3UGFnaW5hdG9yRXZlbnQge1xuICAgIHJldHVybiB7XG4gICAgICBsZW5ndGg6IHRoaXMubGVuZ3RoLFxuICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICBwYWdlSW5kZXg6IHBhZ2VJbmRleCxcbiAgICAgIHByZXZpb3VzUGFnZUluZGV4OiB0aGlzLnBhZ2VJbmRleCxcbiAgICAgIHJvd0luZGV4U3RhcnQ6IHRoaXMuZ2V0Um93SW5kZXhTdGFydChwYWdlSW5kZXgpLFxuICAgICAgcm93SW5kZXhFbmQ6IHRoaXMuZ2V0Um93SW5kZXhFbmQocGFnZUluZGV4KSxcbiAgICB9O1xuICB9XG5cbiAgZmlyc3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0UGFnZSgwKTtcbiAgfVxuXG4gIGxhc3RQYWdlKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0UGFnZSh0aGlzLmdldE51bWJlck9mUGFnZXMoKSAtIDEpO1xuICB9XG5cbiAgbmV4dFBhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzTmV4dFBhZ2UoKSkge1xuICAgICAgdGhpcy5zZXRQYWdlKHRoaXMucGFnZUluZGV4ICsgMSk7XG4gICAgfVxuICB9XG5cbiAgcHJldmlvdXNQYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhhc1ByZXZpb3VzUGFnZSgpKSB7XG4gICAgICB0aGlzLnNldFBhZ2UodGhpcy5wYWdlSW5kZXggLSAxKTtcbiAgICB9XG4gIH1cblxuICBzZXRQYWdlKHBhZ2VJbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZXZ0ID0gdGhpcy5idWlsZFBhZ2VFdmVudChwYWdlSW5kZXgpO1xuICAgIHRoaXMucGFnZUluZGV4ID0gcGFnZUluZGV4O1xuICAgIHRoaXMucGFnZS5lbWl0KGV2dCk7XG4gICAgdGhpcy5wYWdlcyA9IHRoaXMuZ2V0UGFnZXMoKTtcbiAgfVxuXG4gIGdldFBhZ2VzKCk6IFBhZ2luYXRpb25QYWdlW10ge1xuICAgIGNvbnN0IHBhZ2VzOiBQYWdpbmF0aW9uUGFnZVtdID0gW107XG4gICAgY29uc3QgY3VycmVudFNldCA9IE1hdGguY2VpbCgodGhpcy5wYWdlSW5kZXggKyAxKSAvIHRoaXMubWF4UGFnZXNTaG93bik7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmdldE51bWJlck9mUGFnZXMoKTsgaSsrKSB7XG4gICAgICBpZiAoY3VycmVudFNldCA9PT0gTWF0aC5jZWlsKChpICsgMSkgLyB0aGlzLm1heFBhZ2VzU2hvd24pKSB7XG4gICAgICAgIHBhZ2VzLnB1c2goeyBwYWdlSW5kZXg6IGksIG51bWJlcjogaSArIDEsIGFjdGl2ZTogdGhpcy5wYWdlSW5kZXggPT09IGkgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYWdlcztcbiAgfVxuXG4gIGdldE51bWJlck9mUGFnZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gTWF0aC5jZWlsKHRoaXMubGVuZ3RoIC8gdGhpcy5wYWdlU2l6ZSk7XG4gIH1cblxuICBnZXRSb3dJbmRleFN0YXJ0KHBhZ2VJbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgaW5kZXggPSBwYWdlSW5kZXggIT09IHVuZGVmaW5lZCA/IHBhZ2VJbmRleCA6IHRoaXMucGFnZUluZGV4O1xuICAgIHJldHVybiBpbmRleCAqIHRoaXMucGFnZVNpemU7XG4gIH1cblxuICBnZXRSb3dJbmRleEVuZChwYWdlSW5kZXg/OiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGluZGV4ID0gcGFnZUluZGV4ICE9PSB1bmRlZmluZWQgPyBwYWdlSW5kZXggOiB0aGlzLnBhZ2VJbmRleDtcbiAgICBsZXQgaW5kZXhFbmQgPSAoaW5kZXggKiB0aGlzLnBhZ2VTaXplKSArIHRoaXMucGFnZVNpemUgLSAxO1xuICAgIGlmIChpbmRleEVuZCA+PSB0aGlzLmxlbmd0aCkge1xuICAgICAgaW5kZXhFbmQgPSB0aGlzLmxlbmd0aCAtIDE7XG4gICAgfVxuICAgIHJldHVybiBpbmRleEVuZDtcbiAgfVxuXG4gIGhhc05leHRQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5wYWdlSW5kZXggIT09IHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpIC0gMSk7XG4gIH1cblxuICBoYXNQcmV2aW91c1BhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLnBhZ2VJbmRleCA+IDApO1xuICB9XG59XG4iLCI8ZGl2IFtuZ0NsYXNzXT1cIlsncGFnaW5hdG9yJywgdmFyaWFudCwgY29sb3IsIHNpemUsIHNoYXBlLCBhbGlnbm1lbnRdXCI+XG4gIDxkaXYgY2xhc3M9XCJwYWdlcy1saXN0XCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93Rmlyc3RcIiBjbGFzcz1cInBhZ2UtaXRlbSBwYWdlLWFjdGlvbiBwYWdlLWZpcnN0XCIgW2Rpc2FibGVkXT1cIiFoYXNQcmV2aW91c1BhZ2UoKSB8fCAgZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImZpcnN0UGFnZSgpXCI+XG4gICAgICA8ZnctaWNvbiBzaXplPVwic21hbGxcIiBjb2xvcj1cInR5cG9ncmFwaHlcIj5hcnJvdy1iYWNrLWNvbGxhcHNlPC9mdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwic2hvd1ByZXZpb3VzXCJcbiAgICAgIGNsYXNzPVwicGFnZS1pdGVtIHBhZ2UtYWN0aW9uIHBhZ2UtcHJldmlvdXNcIiBbZGlzYWJsZWRdPVwiIWhhc1ByZXZpb3VzUGFnZSgpIHx8IGRpc2FibGVkXCIgKGNsaWNrKT1cInByZXZpb3VzUGFnZSgpXCI+XG4gICAgICA8ZnctaWNvbiBzaXplPVwic21hbGxcIiBjb2xvcj1cInR5cG9ncmFwaHlcIj5jaGV2cm9uLWJhY2s8L2Z3LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXM7IHRyYWNrQnk6IHBhZ2VzVHJhY2tCeUZuXCJcbiAgICAgIFtuZ0NsYXNzXT1cIlsncGFnZS1pdGVtJywgJ3BhZ2UtbnVtYmVyJywgcGFnZS5hY3RpdmUgPyAncGFnZS1hY3RpdmUnOiAnJ11cIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJzZXRQYWdlKHBhZ2UucGFnZUluZGV4KVwiXG4gICAgPlxuICAgICAgPGg0IGNsYXNzPVwidmlzaW9uLWg0XCI+e3sgcGFnZS5udW1iZXIgfX08L2g0PlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwic2hvd05leHRcIiBjbGFzcz1cInBhZ2UtaXRlbSBwYWdlLWFjdGlvbiBwYWdlLW5leHRcIiBbZGlzYWJsZWRdPVwiIWhhc05leHRQYWdlKCkgfHwgZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIj5cbiAgICAgIDxmdy1pY29uIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwidHlwb2dyYXBoeVwiPmNoZXZyb24tZm9yd2FyZDwvZnctaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInNob3dMYXN0XCIgY2xhc3M9XCJwYWdlLWl0ZW0gcGFnZS1hY3Rpb24gcGFnZS1sYXN0XCIgW2Rpc2FibGVkXT1cIiFoYXNOZXh0UGFnZSgpIHx8IGRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJsYXN0UGFnZSgpXCI+XG4gICAgICA8ZnctaWNvbiBzaXplPVwic21hbGxcIiBjb2xvcj1cInR5cG9ncmFwaHlcIj5hcnJvdy1mb3J3YXJkLWNvbGxhcHNlPC9mdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFrQyxNQUFNLGVBQWUsQ0FBQzs7OztBQWdCM0ksTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQU9XLFNBQUksR0FBaUMsUUFBUSxDQUFDO1FBQzlDLFVBQUssR0FBc0MsT0FBTyxDQUFDO1FBQ25ELFVBQUssR0FBeUIsU0FBUyxDQUFDO1FBQ3hDLFlBQU8sR0FBa0MsT0FBTyxDQUFDO1FBQ2pELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsY0FBUyxHQUErQixRQUFRLENBQUM7UUFDakQsa0JBQWEsR0FBVyxpQkFBaUIsQ0FBQztRQUN6QyxTQUFJLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO1FBRXRGLFVBQUssR0FBcUIsRUFBRSxDQUFDO1FBQzdCLG1CQUFjLEdBQW9DLENBQUMsQ0FBUyxFQUFFLElBQW9CLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7S0FrRi9HO0lBaEZDLFdBQVcs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LEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksSUFBSTtzQkFBYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFRyYWNrQnlGdW5jdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd1BhZ2luYXRvckV2ZW50IH0gZnJvbSAnLi9wYWdpbmF0b3IubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25QYWdlIHtcbiAgcGFnZUluZGV4OiBudW1iZXI7XG4gIG51bWJlcjogbnVtYmVyO1xuICBhY3RpdmU6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LXBhZ2luYXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdpbmF0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZ3UGFnaW5hdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKSBjb2xvcjogJ3NsYXRlJyB8ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknID0gJ3NsYXRlJztcbiAgQElucHV0KCkgc2hhcGU6ICdyb3VuZGVkJyB8ICdjaXJjbGUnID0gJ3JvdW5kZWQnO1xuICBASW5wdXQoKSB2YXJpYW50OiAnZ2hvc3QnIHwgJ291dGxpbmUnIHwgJ3NvbGlkJyA9ICdnaG9zdCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dOZXh0OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1ByZXZpb3VzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd0ZpcnN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dMYXN0OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBtYXhQYWdlc1Nob3duOiBudW1iZXIgPSAxMDtcbiAgQElucHV0KCkgbGVuZ3RoOiBudW1iZXIgPSAwO1xuICBASW5wdXQoKSBhbGlnbm1lbnQ6ICdzdGFydCcgfCAnY2VudGVyJyB8ICdlbmQnID0gJ2NlbnRlcic7XG4gIEBJbnB1dCgpIHNlbGVjdG9yVGl0bGU6IHN0cmluZyA9ICdJdGVtcyBwZXIgcGFnZTonO1xuICBAT3V0cHV0KCkgcGFnZTogRXZlbnRFbWl0dGVyPEZ3UGFnaW5hdG9yRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGd1BhZ2luYXRvckV2ZW50PigpO1xuXG4gIHBhZ2VzOiBQYWdpbmF0aW9uUGFnZVtdID0gW107XG4gIHBhZ2VzVHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248UGFnaW5hdGlvblBhZ2U+ID0gKF86IG51bWJlciwgcGFnZTogUGFnaW5hdGlvblBhZ2UpOiBudW1iZXIgPT4gcGFnZS5wYWdlSW5kZXg7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLnBhZ2VJbmRleCB8fCBjaGFuZ2VzLm1heFBhZ2VzU2hvd24gfHwgY2hhbmdlcy5sZW5ndGggfHwgY2hhbmdlcy5wYWdlU2l6ZSkge1xuICAgICAgdGhpcy5wYWdlcyA9IHRoaXMuZ2V0UGFnZXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkUGFnZUV2ZW50KHBhZ2VJbmRleDogbnVtYmVyKTogRndQYWdpbmF0b3JFdmVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxlbmd0aDogdGhpcy5sZW5ndGgsXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcbiAgICAgIHBhZ2VJbmRleDogcGFnZUluZGV4LFxuICAgICAgcHJldmlvdXNQYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LFxuICAgICAgcm93SW5kZXhTdGFydDogdGhpcy5nZXRSb3dJbmRleFN0YXJ0KHBhZ2VJbmRleCksXG4gICAgICByb3dJbmRleEVuZDogdGhpcy5nZXRSb3dJbmRleEVuZChwYWdlSW5kZXgpLFxuICAgIH07XG4gIH1cblxuICBmaXJzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRQYWdlKDApO1xuICB9XG5cbiAgbGFzdFBhZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRQYWdlKHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpIC0gMSk7XG4gIH1cblxuICBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5oYXNOZXh0UGFnZSgpKSB7XG4gICAgICB0aGlzLnNldFBhZ2UodGhpcy5wYWdlSW5kZXggKyAxKTtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c1BhZ2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGFzUHJldmlvdXNQYWdlKCkpIHtcbiAgICAgIHRoaXMuc2V0UGFnZSh0aGlzLnBhZ2VJbmRleCAtIDEpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2UocGFnZUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBldnQgPSB0aGlzLmJ1aWxkUGFnZUV2ZW50KHBhZ2VJbmRleCk7XG4gICAgdGhpcy5wYWdlSW5kZXggPSBwYWdlSW5kZXg7XG4gICAgdGhpcy5wYWdlLmVtaXQoZXZ0KTtcbiAgICB0aGlzLnBhZ2VzID0gdGhpcy5nZXRQYWdlcygpO1xuICB9XG5cbiAgZ2V0UGFnZXMoKTogUGFnaW5hdGlvblBhZ2VbXSB7XG4gICAgY29uc3QgcGFnZXM6IFBhZ2luYXRpb25QYWdlW10gPSBbXTtcbiAgICBjb25zdCBjdXJyZW50U2V0ID0gTWF0aC5jZWlsKCh0aGlzLnBhZ2VJbmRleCArIDEpIC8gdGhpcy5tYXhQYWdlc1Nob3duKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZ2V0TnVtYmVyT2ZQYWdlcygpOyBpKyspIHtcbiAgICAgIGlmIChjdXJyZW50U2V0ID09PSBNYXRoLmNlaWwoKGkgKyAxKSAvIHRoaXMubWF4UGFnZXNTaG93bikpIHtcbiAgICAgICAgcGFnZXMucHVzaCh7IHBhZ2VJbmRleDogaSwgbnVtYmVyOiBpICsgMSwgYWN0aXZlOiB0aGlzLnBhZ2VJbmRleCA9PT0gaSB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHBhZ2VzO1xuICB9XG5cbiAgZ2V0TnVtYmVyT2ZQYWdlcygpOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKTtcbiAgfVxuXG4gIGdldFJvd0luZGV4U3RhcnQocGFnZUluZGV4PzogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBpbmRleCA9IHBhZ2VJbmRleCAhPT0gdW5kZWZpbmVkID8gcGFnZUluZGV4IDogdGhpcy5wYWdlSW5kZXg7XG4gICAgcmV0dXJuIGluZGV4ICogdGhpcy5wYWdlU2l6ZTtcbiAgfVxuXG4gIGdldFJvd0luZGV4RW5kKHBhZ2VJbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgaW5kZXggPSBwYWdlSW5kZXggIT09IHVuZGVmaW5lZCA/IHBhZ2VJbmRleCA6IHRoaXMucGFnZUluZGV4O1xuICAgIGxldCBpbmRleEVuZCA9IChpbmRleCAqIHRoaXMucGFnZVNpemUpICsgdGhpcy5wYWdlU2l6ZSAtIDE7XG4gICAgaWYgKGluZGV4RW5kID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICBpbmRleEVuZCA9IHRoaXMubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgcmV0dXJuIGluZGV4RW5kO1xuICB9XG5cbiAgaGFzTmV4dFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLnBhZ2VJbmRleCAhPT0gdGhpcy5nZXROdW1iZXJPZlBhZ2VzKCkgLSAxKTtcbiAgfVxuXG4gIGhhc1ByZXZpb3VzUGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMucGFnZUluZGV4ID4gMCk7XG4gIH1cbn1cbiIsIjxkaXYgW25nQ2xhc3NdPVwiWydwYWdpbmF0b3InLCB2YXJpYW50LCBjb2xvciwgc2l6ZSwgc2hhcGUsIGFsaWdubWVudF1cIj5cbiAgPGRpdiBjbGFzcz1cInBhZ2VzLWxpc3RcIj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cInNob3dGaXJzdFwiIGNsYXNzPVwicGFnZS1pdGVtIHBhZ2UtYWN0aW9uIHBhZ2UtZmlyc3RcIiBbZGlzYWJsZWRdPVwiIWhhc1ByZXZpb3VzUGFnZSgpIHx8ICBkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwiZmlyc3RQYWdlKClcIj5cbiAgICAgIDxmdy1pY29uIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwidHlwb2dyYXBoeVwiPmFycm93LWJhY2stY29sbGFwc2U8L2Z3LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93UHJldmlvdXNcIlxuICAgICAgY2xhc3M9XCJwYWdlLWl0ZW0gcGFnZS1hY3Rpb24gcGFnZS1wcmV2aW91c1wiIFtkaXNhYmxlZF09XCIhaGFzUHJldmlvdXNQYWdlKCkgfHwgZGlzYWJsZWRcIiAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIj5cbiAgICAgIDxmdy1pY29uIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwidHlwb2dyYXBoeVwiPmNoZXZyb24tYmFjazwvZnctaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlczsgdHJhY2tCeTogcGFnZXNUcmFja0J5Rm5cIlxuICAgICAgW25nQ2xhc3NdPVwiWydwYWdlLWl0ZW0nLCAncGFnZS1udW1iZXInLCBwYWdlLmFjdGl2ZSA/ICdwYWdlLWFjdGl2ZSc6ICcnXVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cInNldFBhZ2UocGFnZS5wYWdlSW5kZXgpXCJcbiAgICA+XG4gICAgICA8aDQgY2xhc3M9XCJ2aXNpb24taDRcIj57eyBwYWdlLm51bWJlciB9fTwvaDQ+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93TmV4dFwiIGNsYXNzPVwicGFnZS1pdGVtIHBhZ2UtYWN0aW9uIHBhZ2UtbmV4dFwiIFtkaXNhYmxlZF09XCIhaGFzTmV4dFBhZ2UoKSB8fCBkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiPlxuICAgICAgPGZ3LWljb24gc2l6ZT1cInNtYWxsXCIgY29sb3I9XCJ0eXBvZ3JhcGh5XCI+Y2hldnJvbi1mb3J3YXJkPC9mdy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwic2hvd0xhc3RcIiBjbGFzcz1cInBhZ2UtaXRlbSBwYWdlLWFjdGlvbiBwYWdlLWxhc3RcIiBbZGlzYWJsZWRdPVwiIWhhc05leHRQYWdlKCkgfHwgZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImxhc3RQYWdlKClcIj5cbiAgICAgIDxmdy1pY29uIHNpemU9XCJzbWFsbFwiIGNvbG9yPVwidHlwb2dyYXBoeVwiPmFycm93LWZvcndhcmQtY29sbGFwc2U8L2Z3LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -87,7 +87,7 @@ export class FwPopoverComponent {
87
87
  };
88
88
  this.registerEventListeners = effect(() => {
89
89
  const trigger = this.trigger();
90
- if (!this.trigger) {
90
+ if (!trigger) {
91
91
  return;
92
92
  }
93
93
  if (this.action === 'mouseenter' && !trigger.onmouseenter) {
@@ -161,4 +161,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
161
161
  }], flyoutPanel: [{
162
162
  type: Input
163
163
  }] } });
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF6RixNQUFNLFFBQVEsR0FBYTtJQUN6QixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxHQUFHO0lBQ1osTUFBTSxFQUFFLEdBQUc7Q0FDWixDQUFBO0FBT0Q7OztHQUdHO0FBaUJILE1BQU0sT0FBTyxrQkFBa0I7SUFoQi9CO1FBaUJXLGFBQVEsR0FBbUIsT0FBTyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLEVBQThELENBQUM7UUFDOUUsV0FBTSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN0QixXQUFNLEdBQTJCLFlBQVksQ0FBQztRQUV2RCxVQUFLLEdBQUcsS0FBSyxDQUFjLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsY0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxNQUFNLENBQWlDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLDJEQUEyRDtRQUMzRCxrQkFBYSxHQUFHLFFBQVEsQ0FBaUIsR0FBRyxFQUFFO1lBQzVDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLGNBQWMsQ0FBQztZQUVsRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN2QixDQUFDO1lBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFcEQsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUMzRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLE9BQU87b0JBQzlDLEdBQUcsQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLE9BQU87b0JBQ3ZDLEdBQUcsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLFFBQVE7b0JBQ3pDLEdBQUcsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQTtZQUVGLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFtQixDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFBO1FBRUYsZ0JBQVcsR0FBeUM7WUFDbEQsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUN0RixZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDckcsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekcsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUN0RixZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDckcsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekcsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUNwRixZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDdkcsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckcsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZ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Iiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpcyAqL1xuaW1wb3J0IHsgYW5pbWF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENka092ZXJsYXlPcmlnaW4sIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSwgQ29ubmVjdGVkUG9zaXRpb24sIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGVmZmVjdCwgSW5wdXQsIGlucHV0LCBtb2RlbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb3VzZUV2ZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBGd1BvcG92ZXJQYW5lbENvbXBvbmVudCB9IGZyb20gJy4vcG9wb3Zlci1wYW5lbC9wb3BvdmVyLXBhbmVsLmNvbXBvbmVudCc7XG5cbnR5cGUgRGVsYXlMZW5ndGggPSAnbm9uZScgfCAnc2hvcnQnIHwgJ2xvbmcnO1xudHlwZSBEZWxheU1hcCA9IHsgW0sgaW4gRGVsYXlMZW5ndGhdOiBudW1iZXIgfTtcblxuY29uc3QgZGVsYXlNYXA6IERlbGF5TWFwID0ge1xuICAnbm9uZSc6IDAsXG4gICdzaG9ydCc6IDQwMCxcbiAgJ2xvbmcnOiA3MDAsXG59XG5cbnR5cGUgUG9zaXRpb25PcHRpb24gPSAnYWJvdmUnIHwgJ2Fib3ZlLWxlZnQnIHwgJ2Fib3ZlLXJpZ2h0JyB8XG4gICAgJ2JlbG93JyB8ICdiZWxvdy1sZWZ0JyB8ICdiZWxvdy1yaWdodCcgfFxuICAgICdsZWZ0JyB8ICdsZWZ0LWFib3ZlJyB8ICdsZWZ0LWJlbG93JyB8XG4gICAgJ3JpZ2h0JyB8ICdyaWdodC1hYm92ZScgfCAncmlnaHQtYmVsb3cnO1xuXG4vKipcbiAqIGNvbXBvbmVudCBmb3IgbW91bnRpbmcgY29udGVudCBpbiBhIGZsb2F0aW5nIGNvbnRhaW5lclxuICogQHNlZSBbVmlzaW9uIERvY3NdKGh0dHBzOi8vY2RuLmZseXdoZWVsLmlvL2RvY3MvdmlzaW9uL2xhdGVzdC8/cGF0aD0vZG9jcy9jb21wb25lbnRzLXBvcG92ZXItLWRvY3MpXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LXBvcG92ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogW10sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdmYWRlSW5GYWRlT3V0JywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAgfSksXG4gICAgICAgIGFuaW1hdGUoJzE1MG1zJywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgICAgIF0pLFxuICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICBhbmltYXRlKCcyMDBtcycsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXG4gICAgICBdKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndQb3BvdmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcG9zaXRpb246IFBvc2l0aW9uT3B0aW9uID0gJ2Fib3ZlJztcbiAgdHJpZ2dlciA9IGlucHV0PENka092ZXJsYXlPcmlnaW4gfCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4+KCk7XG4gIGlzT3BlbiA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlKTtcbiAgQElucHV0KCkgYWN0aW9uOiAnbW91c2VlbnRlcicgfCAnY2xpY2snID0gJ21vdXNlZW50ZXInO1xuICBASW5wdXQoKSBmbHlvdXRQYW5lbDogRndQb3BvdmVyUGFuZWxDb21wb25lbnQ7XG4gIGRlbGF5ID0gaW5wdXQ8RGVsYXlMZW5ndGg+KCdzaG9ydCcpO1xuICBkZWxheU1zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiBkZWxheU1hcFt0aGlzLmRlbGF5KCldO1xuICB9KVxuICBzaG93Q2FyZXQgPSBpbnB1dCh0cnVlKTtcbiAgYWN0aXZlUG9zaXRpb25QYWlyID0gc2lnbmFsPENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZT4obnVsbCk7XG4gIC8vIGZvciBtYXBwaW5nIGZyb20gdGhlIGNvbm5lY3Rpb25QYWlycyB0byBhIG5hbWVkIHBvc2l0aW9uXG4gIHBhbmVsUG9zaXRpb24gPSBjb21wdXRlZDxQb3NpdGlvbk9wdGlvbj4oKCkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IHRoaXMuYWN0aXZlUG9zaXRpb25QYWlyKCk/LmNvbm5lY3Rpb25QYWlyO1xuXG4gICAgaWYgKCFjdXJyZW50UG9zaXRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLnBvc2l0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHBvc2l0aW9uTmFtZXMgPSBPYmplY3Qua2V5cyh0aGlzLnBvc2l0aW9uTWFwKTtcblxuICAgIGNvbnN0IGFjdGl2ZVBvc2l0aW9uTmFtZSA9IHBvc2l0aW9uTmFtZXMuZmluZChwb3NpdGlvbk5hbWUgPT4ge1xuICAgICAgY29uc3QgcG9zID0gdGhpcy5wb3NpdGlvbk1hcFtwb3NpdGlvbk5hbWVdO1xuICAgICAgcmV0dXJuIHBvcy5vcmlnaW5YID09PSBjdXJyZW50UG9zaXRpb24ub3JpZ2luWCAmJlxuICAgICAgcG9zLm9yaWdpblkgPT09IGN1cnJlbnRQb3NpdGlvbi5vcmlnaW5ZICYmXG4gICAgICBwb3Mub3ZlcmxheVggPT09IGN1cnJlbnRQb3NpdGlvbi5vdmVybGF5WCAmJlxuICAgICAgcG9zLm92ZXJsYXlZID09PSBjdXJyZW50UG9zaXRpb24ub3ZlcmxheVk7XG4gICAgfSlcblxuICAgIHJldHVybiAoYWN0aXZlUG9zaXRpb25OYW1lIHx8IHRoaXMucG9zaXRpb24pIGFzIFBvc2l0aW9uT3B0aW9uO1xuICB9KVxuXG4gIHBvc2l0aW9uTWFwOiB7IFtrZXk6IHN0cmluZ106IENvbm5lY3RlZFBvc2l0aW9uIH0gPSB7XG4gICAgJ2Fib3ZlJzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnY2VudGVyJywgb3ZlcmxheVk6ICdib3R0b20nIH0sXG4gICAgJ2Fib3ZlLWxlZnQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAndG9wJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFg6IDQwIH0sXG4gICAgJ2Fib3ZlLXJpZ2h0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFg6IC00MCB9LFxuICAgICdiZWxvdyc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ2NlbnRlcicsIG92ZXJsYXlZOiAndG9wJyB9LFxuICAgICdiZWxvdy1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRYOiA0MCB9LFxuICAgICdiZWxvdy1yaWdodCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRYOiAtNDAgfSxcbiAgICAnbGVmdCc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdjZW50ZXInIH0sXG4gICAgJ2xlZnQtYWJvdmUnOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WTogMzcgfSxcbiAgICAnbGVmdC1iZWxvdyc6IHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiAtNDAgfSxcbiAgICAncmlnaHQnOiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxuICAgICdyaWdodC1hYm92ZSc6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRZOiAzNyB9LFxuICAgICdyaWdodC1iZWxvdyc6IHsgb3JpZ2luWDogJ2VuZCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICd0b3AnLCBvZmZzZXRZOiAtNDAgfSxcbiAgfTtcblxuICAvKipcbiAgICogR2V0cyBhIGxpc3Qgb2YgZmFsbGJhY2sgcG9zaXRpb25zIGZvciB0aGUgc2VsZWN0ZWQgb25lXG4gICAqIFByZXNlcnZlcyB0aGUgcHJpbWFyeSBheGlzIGkuZS4gd2hpY2ggc2lkZSBvZiB0aGUgb3JpZ2luIHRoZSBwYW5lbCBpcyBvblxuICAgKi9cbiAgZ2V0RmFsbGJhY2tQb3NpdGlvbnMgPSAoKTogQ29ubmVjdGVkUG9zaXRpb25bXSA9PiB7XG4gICAgY29uc3QgcG9zaXRpb25TcGxpdFJlZ2V4ID0gLyg/PHByaW1hcnk+W2Etel1cXHcrKS0qKD88c2Vjb25kYXJ5PlthLXpdXFx3KykqLztcbiAgICBjb25zdCB7IHByaW1hcnksIHNlY29uZGFyeSB9ID0gcG9zaXRpb25TcGxpdFJlZ2V4LmV4ZWModGhpcy5wb3NpdGlvbikuZ3JvdXBzO1xuXG4gICAgLy8gJycgcmVwcmVzZW50cyBhIHByaW1hcnkgYXhpcyB3aXRoIG5vIHNlY29uZGFyeSBpLmUuICdhYm92ZSdcbiAgICAvLyBmYWxsYmFja3MgaWYgbm8gc2Vjb25kYXJ5IHBvc2l0aW9uXG4gICAgY29uc3QgcHJpbWFyeUF4aXNUb0ZhbGxiYWNrcyA9IHtcbiAgICAgICdsZWZ0JzogWycnLCAnYmVsb3cnLCAnYWJvdmUnXSxcbiAgICAgICdyaWdodCc6IFsnJywgJ2JlbG93JywgJ2Fib3ZlJ10sXG4gICAgICAnYWJvdmUnOiBbJycsICdsZWZ0JywgJ3JpZ2h0J10sXG4gICAgICAnYmVsb3cnOiBbJycsICdsZWZ0JywgJ3JpZ2h0J10sXG4gICAgfVxuXG4gICAgLy8gcHJlZmVyZW5jZSBvcmRlciBmb3IgZmFsbGJhY2tzXG4gICAgY29uc3Qgc2Vjb25kYXJ5UG9zaXRpb25GYWxsYmFja3MgPSB7XG4gICAgICAnbGVmdCc6IFsnbGVmdCcsICcnLCAncmlnaHQnXSxcbiAgICAgICdyaWdodCc6IFsncmlnaHQnLCAnJywgJ2xlZnQnXSxcbiAgICAgICdhYm92ZSc6IFsnYWJvdmUnLCAnJywgJ2JlbG93J10sXG4gICAgICAnYmVsb3cnOiBbJ2JlbG93JywgJycsICdhYm92ZSddLFxuICAgIH1cblxuICAgIGNvbnN0IHNlY29uZGFyeU9wdGlvbnMgPSBzZWNvbmRhcnlQb3NpdGlvbkZhbGxiYWNrc1tzZWNvbmRhcnldIHx8IHByaW1hcnlBeGlzVG9GYWxsYmFja3NbcHJpbWFyeV07XG5cbiAgICBjb25zdCBwb3NpdGlvbkFycmF5ID0gc2Vjb25kYXJ5T3B0aW9ucy5tYXAoc2Vjb25kYXJ5T3B0aW9uID0+IHtcbiAgICAgIGNvbnN0IGFkZERhc2ggPSBzZWNvbmRhcnlPcHRpb24gPyAnLScgOiAnJztcbiAgICAgIGNvbnN0IHBhcnNlZE9wdGlvbk5hbWUgPSBwcmltYXJ5ICsgYWRkRGFzaCArIHNlY29uZGFyeU9wdGlvbjtcbiAgICAgIHJldHVybiB0aGlzLnBvc2l0aW9uTWFwW3BhcnNlZE9wdGlvbk5hbWVdO1xuICAgIH0pXG5cbiAgICByZXR1cm4gcG9zaXRpb25BcnJheTtcbiAgfVxuXG4gIHJlZ2lzdGVyRXZlbnRMaXN0ZW5lcnMgPSBlZmZlY3QoKCkgPT4ge1xuXG4gICAgY29uc3QgdHJpZ2dlciA9IHRoaXMudHJpZ2dlcigpIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKCF0aGlzLnRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hY3Rpb24gPT09ICdtb3VzZWVudGVyJyAmJiAhdHJpZ2dlci5vbm1vdXNlZW50ZXIpIHtcbiAgICAgIHRyaWdnZXIub25jbGljayA9IHVuZGVmaW5lZDtcbiAgICAgIHRyaWdnZXIuc3R5bGUuY3Vyc29yID0gJ3BvaW50ZXInO1xuXG4gICAgICBsZXQgdGltZXJJZDtcblxuICAgICAgdHJpZ2dlci5vbm1vdXNlZW50ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRpbWVySWQgPSB0aGlzLm9wZW5PbkRlbGF5KCk7XG4gICAgICB9O1xuXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIE1vdXNlRXZlbnRcbiAgICAgIHRyaWdnZXIub25tb3VzZWxlYXZlID0gKGU6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lcklkKTtcblxuICAgICAgICBjb25zdCByZWxhdGVkVGFyZ2V0ID0gKGUucmVsYXRlZFRhcmdldCBhcyBIVE1MRWxlbWVudCk7XG4gICAgICAgIGlmICghcmVsYXRlZFRhcmdldD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdmdy1wb3BvdmVyLXBhbmVsJykgJiYgIXJlbGF0ZWRUYXJnZXQ/LmNsYXNzTGlzdC5jb250YWlucygnZnctcG9wb3Zlci1jYXJldCcpICYmICFyZWxhdGVkVGFyZ2V0Py5jbGFzc0xpc3QuY29udGFpbnMoJ2Nkay1vdmVybGF5LXBhbmUnKSkge1xuICAgICAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYWN0aW9uID09PSAnY2xpY2snICYmICF0cmlnZ2VyLm9uY2xpY2spIHtcbiAgICAgIHRyaWdnZXIub25tb3VzZWVudGVyID0gdW5kZWZpbmVkO1xuICAgICAgdHJpZ2dlci5vbm1vdXNlbGVhdmUgPSB1bmRlZmluZWQ7XG5cbiAgICAgIHRyaWdnZXIub25jbGljayA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc09wZW4udXBkYXRlKCh2YWwpID0+ICF2YWwpO1xuICAgICAgfTtcbiAgICB9XG4gIH0pXG5cbiAgb3Blbk9uRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc09wZW4uc2V0KHRydWUpO1xuICAgIH0sIHRoaXMuZGVsYXlNcygpKVxuICB9XG5cblxuICBiYWNrZHJvcENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gIH1cblxuICBoYW5kbGVQYW5lbExlYXZlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGlvbiA9PT0gJ21vdXNlZW50ZXInKSB7XG4gICAgICB0aGlzLmlzT3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJ0cmlnZ2VyKClcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwiaXNPcGVuKClcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uU3RyYXRlZ3ldPVwiXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJhY3Rpb249PT0nY2xpY2snXCJcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cImdldEZhbGxiYWNrUG9zaXRpb25zKClcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVZpZXdwb3J0TWFyZ2luXT1cIjEwXCJcbiAgKHBvc2l0aW9uQ2hhbmdlKT1cImFjdGl2ZVBvc2l0aW9uUGFpci5zZXQoJGV2ZW50KVwiXG4gIChiYWNrZHJvcENsaWNrKT1cImJhY2tkcm9wQ2xpY2soKVwiXG4gIChkZXRhY2gpPVwiYmFja2Ryb3BDbGljaygpXCI+XG4gIDxmdy1wb3BvdmVyLXBhbmVsXG4gICAgQGZhZGVJbkZhZGVPdXRcbiAgICBbcG9zaXRpb25dPVwicGFuZWxQb3NpdGlvbigpXCJcbiAgICAobW91c2VMZWF2ZSk9XCJoYW5kbGVQYW5lbExlYXZlKClcIlxuICAgIFtzaG93Q2FyZXRdPVwic2hvd0NhcmV0KClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZnctcG9wb3Zlci1wYW5lbD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdFQUFnRTtBQUNoRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVF6RixNQUFNLFFBQVEsR0FBYTtJQUN6QixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxHQUFHO0lBQ1osTUFBTSxFQUFFLEdBQUc7Q0FDWixDQUFBO0FBT0Q7OztHQUdHO0FBaUJILE1BQU0sT0FBTyxrQkFBa0I7SUFoQi9CO1FBaUJXLGFBQVEsR0FBbUIsT0FBTyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLEVBQThELENBQUM7UUFDOUUsV0FBTSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN0QixXQUFNLEdBQTJCLFlBQVksQ0FBQztRQUV2RCxVQUFLLEdBQUcsS0FBSyxDQUFjLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFBO1FBQ0YsY0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyxNQUFNLENBQWlDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLDJEQUEyRDtRQUMzRCxrQkFBYSxHQUFHLFFBQVEsQ0FBaUIsR0FBRyxFQUFFO1lBQzVDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLGNBQWMsQ0FBQztZQUVsRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUN2QixDQUFDO1lBRUQsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFcEQsTUFBTSxrQkFBa0IsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUMzRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLE9BQU87b0JBQzlDLEdBQUcsQ0FBQyxPQUFPLEtBQUssZUFBZSxDQUFDLE9BQU87b0JBQ3ZDLEdBQUcsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLFFBQVE7b0JBQ3pDLEdBQUcsQ0FBQyxRQUFRLEtBQUssZUFBZSxDQUFDLFFBQVEsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQTtZQUVGLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFtQixDQUFDO1FBQ2pFLENBQUMsQ0FBQyxDQUFBO1FBRUYsZ0JBQVcsR0FBeUM7WUFDbEQsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUN0RixZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDckcsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekcsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUN0RixZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDckcsYUFBYSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekcsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUNwRixZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDdkcsWUFBWSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckcsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRTtZ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b250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXMgKi9cbmltcG9ydCB7IGFuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDZGtPdmVybGF5T3JpZ2luLCBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UsIENvbm5lY3RlZFBvc2l0aW9uLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBlZmZlY3QsIElucHV0LCBpbnB1dCwgbW9kZWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW91c2VFdmVudCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRndQb3BvdmVyUGFuZWxDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItcGFuZWwvcG9wb3Zlci1wYW5lbC5jb21wb25lbnQnO1xuXG50eXBlIERlbGF5TGVuZ3RoID0gJ25vbmUnIHwgJ3Nob3J0JyB8ICdsb25nJztcbnR5cGUgRGVsYXlNYXAgPSB7IFtLIGluIERlbGF5TGVuZ3RoXTogbnVtYmVyIH07XG5cbmNvbnN0IGRlbGF5TWFwOiBEZWxheU1hcCA9IHtcbiAgJ25vbmUnOiAwLFxuICAnc2hvcnQnOiA0MDAsXG4gICdsb25nJzogNzAwLFxufVxuXG50eXBlIFBvc2l0aW9uT3B0aW9uID0gJ2Fib3ZlJyB8ICdhYm92ZS1sZWZ0JyB8ICdhYm92ZS1yaWdodCcgfFxuICAgICdiZWxvdycgfCAnYmVsb3ctbGVmdCcgfCAnYmVsb3ctcmlnaHQnIHxcbiAgICAnbGVmdCcgfCAnbGVmdC1hYm92ZScgfCAnbGVmdC1iZWxvdycgfFxuICAgICdyaWdodCcgfCAncmlnaHQtYWJvdmUnIHwgJ3JpZ2h0LWJlbG93JztcblxuLyoqXG4gKiBjb21wb25lbnQgZm9yIG1vdW50aW5nIGNvbnRlbnQgaW4gYSBmbG9hdGluZyBjb250YWluZXJcbiAqIEBzZWUgW1Zpc2lvbiBEb2NzXShodHRwczovL2Nkbi5mbHl3aGVlbC5pby9kb2NzL3Zpc2lvbi9sYXRlc3QvP3BhdGg9L2RvY3MvY29tcG9uZW50cy1wb3BvdmVyLS1kb2NzKVxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1wb3BvdmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvcG92ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZUluRmFkZU91dCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICBhbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSksXG4gICAgICBdKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgYW5pbWF0ZSgnMjAwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3UG9wb3ZlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBvc2l0aW9uOiBQb3NpdGlvbk9wdGlvbiA9ICdhYm92ZSc7XG4gIHRyaWdnZXIgPSBpbnB1dDxDZGtPdmVybGF5T3JpZ2luIHwgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5T3JpZ2luPigpO1xuICBpc09wZW4gPSBtb2RlbDxib29sZWFuPihmYWxzZSk7XG4gIEBJbnB1dCgpIGFjdGlvbjogJ21vdXNlZW50ZXInIHwgJ2NsaWNrJyA9ICdtb3VzZWVudGVyJztcbiAgQElucHV0KCkgZmx5b3V0UGFuZWw6IEZ3UG9wb3ZlclBhbmVsQ29tcG9uZW50O1xuICBkZWxheSA9IGlucHV0PERlbGF5TGVuZ3RoPignc2hvcnQnKTtcbiAgZGVsYXlNcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gZGVsYXlNYXBbdGhpcy5kZWxheSgpXTtcbiAgfSlcbiAgc2hvd0NhcmV0ID0gaW5wdXQodHJ1ZSk7XG4gIGFjdGl2ZVBvc2l0aW9uUGFpciA9IHNpZ25hbDxDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2U+KG51bGwpO1xuICAvLyBmb3IgbWFwcGluZyBmcm9tIHRoZSBjb25uZWN0aW9uUGFpcnMgdG8gYSBuYW1lZCBwb3NpdGlvblxuICBwYW5lbFBvc2l0aW9uID0gY29tcHV0ZWQ8UG9zaXRpb25PcHRpb24+KCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50UG9zaXRpb24gPSB0aGlzLmFjdGl2ZVBvc2l0aW9uUGFpcigpPy5jb25uZWN0aW9uUGFpcjtcblxuICAgIGlmICghY3VycmVudFBvc2l0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5wb3NpdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBwb3NpdGlvbk5hbWVzID0gT2JqZWN0LmtleXModGhpcy5wb3NpdGlvbk1hcCk7XG5cbiAgICBjb25zdCBhY3RpdmVQb3NpdGlvbk5hbWUgPSBwb3NpdGlvbk5hbWVzLmZpbmQocG9zaXRpb25OYW1lID0+IHtcbiAgICAgIGNvbnN0IHBvcyA9IHRoaXMucG9zaXRpb25NYXBbcG9zaXRpb25OYW1lXTtcbiAgICAgIHJldHVybiBwb3Mub3JpZ2luWCA9PT0gY3VycmVudFBvc2l0aW9uLm9yaWdpblggJiZcbiAgICAgIHBvcy5vcmlnaW5ZID09PSBjdXJyZW50UG9zaXRpb24ub3JpZ2luWSAmJlxuICAgICAgcG9zLm92ZXJsYXlYID09PSBjdXJyZW50UG9zaXRpb24ub3ZlcmxheVggJiZcbiAgICAgIHBvcy5vdmVybGF5WSA9PT0gY3VycmVudFBvc2l0aW9uLm92ZXJsYXlZO1xuICAgIH0pXG5cbiAgICByZXR1cm4gKGFjdGl2ZVBvc2l0aW9uTmFtZSB8fCB0aGlzLnBvc2l0aW9uKSBhcyBQb3NpdGlvbk9wdGlvbjtcbiAgfSlcblxuICBwb3NpdGlvbk1hcDogeyBba2V5OiBzdHJpbmddOiBDb25uZWN0ZWRQb3NpdGlvbiB9ID0ge1xuICAgICdhYm92ZSc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ2NlbnRlcicsIG92ZXJsYXlZOiAnYm90dG9tJyB9LFxuICAgICdhYm92ZS1sZWZ0JzogeyBvcmlnaW5YOiAnY2VudGVyJywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnZW5kJywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiA0MCB9LFxuICAgICdhYm92ZS1yaWdodCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nLCBvZmZzZXRYOiAtNDAgfSxcbiAgICAnYmVsb3cnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdjZW50ZXInLCBvdmVybGF5WTogJ3RvcCcgfSxcbiAgICAnYmVsb3ctbGVmdCc6IHsgb3JpZ2luWDogJ2NlbnRlcicsIG9yaWdpblk6ICdib3R0b20nLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogNDAgfSxcbiAgICAnYmVsb3ctcmlnaHQnOiB7IG9yaWdpblg6ICdjZW50ZXInLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WDogLTQwIH0sXG4gICAgJ2xlZnQnOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAnY2VudGVyJyB9LFxuICAgICdsZWZ0LWFib3ZlJzogeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdlbmQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IDM3IH0sXG4gICAgJ2xlZnQtYmVsb3cnOiB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICdjZW50ZXInLCBvdmVybGF5WDogJ2VuZCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTQwIH0sXG4gICAgJ3JpZ2h0JzogeyBvcmlnaW5YOiAnZW5kJywgb3JpZ2luWTogJ2NlbnRlcicsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2NlbnRlcicgfSxcbiAgICAncmlnaHQtYWJvdmUnOiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAnYm90dG9tJywgb2Zmc2V0WTogMzcgfSxcbiAgICAncmlnaHQtYmVsb3cnOiB7IG9yaWdpblg6ICdlbmQnLCBvcmlnaW5ZOiAnY2VudGVyJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogLTQwIH0sXG4gIH07XG5cbiAgLyoqXG4gICAqIEdldHMgYSBsaXN0IG9mIGZhbGxiYWNrIHBvc2l0aW9ucyBmb3IgdGhlIHNlbGVjdGVkIG9uZVxuICAgKiBQcmVzZXJ2ZXMgdGhlIHByaW1hcnkgYXhpcyBpLmUuIHdoaWNoIHNpZGUgb2YgdGhlIG9yaWdpbiB0aGUgcGFuZWwgaXMgb25cbiAgICovXG4gIGdldEZhbGxiYWNrUG9zaXRpb25zID0gKCk6IENvbm5lY3RlZFBvc2l0aW9uW10gPT4ge1xuICAgIGNvbnN0IHBvc2l0aW9uU3BsaXRSZWdleCA9IC8oPzxwcmltYXJ5PlthLXpdXFx3KyktKig/PHNlY29uZGFyeT5bYS16XVxcdyspKi87XG4gICAgY29uc3QgeyBwcmltYXJ5LCBzZWNvbmRhcnkgfSA9IHBvc2l0aW9uU3BsaXRSZWdleC5leGVjKHRoaXMucG9zaXRpb24pLmdyb3VwcztcblxuICAgIC8vICcnIHJlcHJlc2VudHMgYSBwcmltYXJ5IGF4aXMgd2l0aCBubyBzZWNvbmRhcnkgaS5lLiAnYWJvdmUnXG4gICAgLy8gZmFsbGJhY2tzIGlmIG5vIHNlY29uZGFyeSBwb3NpdGlvblxuICAgIGNvbnN0IHByaW1hcnlBeGlzVG9GYWxsYmFja3MgPSB7XG4gICAgICAnbGVmdCc6IFsnJywgJ2JlbG93JywgJ2Fib3ZlJ10sXG4gICAgICAncmlnaHQnOiBbJycsICdiZWxvdycsICdhYm92ZSddLFxuICAgICAgJ2Fib3ZlJzogWycnLCAnbGVmdCcsICdyaWdodCddLFxuICAgICAgJ2JlbG93JzogWycnLCAnbGVmdCcsICdyaWdodCddLFxuICAgIH1cblxuICAgIC8vIHByZWZlcmVuY2Ugb3JkZXIgZm9yIGZhbGxiYWNrc1xuICAgIGNvbnN0IHNlY29uZGFyeVBvc2l0aW9uRmFsbGJhY2tzID0ge1xuICAgICAgJ2xlZnQnOiBbJ2xlZnQnLCAnJywgJ3JpZ2h0J10sXG4gICAgICAncmlnaHQnOiBbJ3JpZ2h0JywgJycsICdsZWZ0J10sXG4gICAgICAnYWJvdmUnOiBbJ2Fib3ZlJywgJycsICdiZWxvdyddLFxuICAgICAgJ2JlbG93JzogWydiZWxvdycsICcnLCAnYWJvdmUnXSxcbiAgICB9XG5cbiAgICBjb25zdCBzZWNvbmRhcnlPcHRpb25zID0gc2Vjb25kYXJ5UG9zaXRpb25GYWxsYmFja3Nbc2Vjb25kYXJ5XSB8fCBwcmltYXJ5QXhpc1RvRmFsbGJhY2tzW3ByaW1hcnldO1xuXG4gICAgY29uc3QgcG9zaXRpb25BcnJheSA9IHNlY29uZGFyeU9wdGlvbnMubWFwKHNlY29uZGFyeU9wdGlvbiA9PiB7XG4gICAgICBjb25zdCBhZGREYXNoID0gc2Vjb25kYXJ5T3B0aW9uID8gJy0nIDogJyc7XG4gICAgICBjb25zdCBwYXJzZWRPcHRpb25OYW1lID0gcHJpbWFyeSArIGFkZERhc2ggKyBzZWNvbmRhcnlPcHRpb247XG4gICAgICByZXR1cm4gdGhpcy5wb3NpdGlvbk1hcFtwYXJzZWRPcHRpb25OYW1lXTtcbiAgICB9KVxuXG4gICAgcmV0dXJuIHBvc2l0aW9uQXJyYXk7XG4gIH1cblxuICByZWdpc3RlckV2ZW50TGlzdGVuZXJzID0gZWZmZWN0KCgpID0+IHtcblxuICAgIGNvbnN0IHRyaWdnZXIgPSB0aGlzLnRyaWdnZXIoKSBhcyBIVE1MRWxlbWVudDtcblxuICAgIGlmICghdHJpZ2dlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjdGlvbiA9PT0gJ21vdXNlZW50ZXInICYmICF0cmlnZ2VyLm9ubW91c2VlbnRlcikge1xuICAgICAgdHJpZ2dlci5vbmNsaWNrID0gdW5kZWZpbmVkO1xuICAgICAgdHJpZ2dlci5zdHlsZS5jdXJzb3IgPSAncG9pbnRlcic7XG5cbiAgICAgIGxldCB0aW1lcklkO1xuXG4gICAgICB0cmlnZ2VyLm9ubW91c2VlbnRlciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGltZXJJZCA9IHRoaXMub3Blbk9uRGVsYXkoKTtcbiAgICAgIH07XG5cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgTW91c2VFdmVudFxuICAgICAgdHJpZ2dlci5vbm1vdXNlbGVhdmUgPSAoZTogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuXG4gICAgICAgIGNvbnN0IHJlbGF0ZWRUYXJnZXQgPSAoZS5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgICAgaWYgKCFyZWxhdGVkVGFyZ2V0Py5jbGFzc0xpc3QuY29udGFpbnMoJ2Z3LXBvcG92ZXItcGFuZWwnKSAmJiAhcmVsYXRlZFRhcmdldD8uY2xhc3NMaXN0LmNvbnRhaW5zKCdmdy1wb3BvdmVyLWNhcmV0JykgJiYgIXJlbGF0ZWRUYXJnZXQ/LmNsYXNzTGlzdC5jb250YWlucygnY2RrLW92ZXJsYXktcGFuZScpKSB7XG4gICAgICAgICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hY3Rpb24gPT09ICdjbGljaycgJiYgIXRyaWdnZXIub25jbGljaykge1xuICAgICAgdHJpZ2dlci5vbm1vdXNlZW50ZXIgPSB1bmRlZmluZWQ7XG4gICAgICB0cmlnZ2VyLm9ubW91c2VsZWF2ZSA9IHVuZGVmaW5lZDtcblxuICAgICAgdHJpZ2dlci5vbmNsaWNrID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmlzT3Blbi51cGRhdGUoKHZhbCkgPT4gIXZhbCk7XG4gICAgICB9O1xuICAgIH1cbiAgfSlcblxuICBvcGVuT25EZWxheSgpOiBudW1iZXIge1xuICAgIHJldHVybiB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmlzT3Blbi5zZXQodHJ1ZSk7XG4gICAgfSwgdGhpcy5kZWxheU1zKCkpXG4gIH1cblxuXG4gIGJhY2tkcm9wQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4uc2V0KGZhbHNlKTtcbiAgfVxuXG4gIGhhbmRsZVBhbmVsTGVhdmUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aW9uID09PSAnbW91c2VlbnRlcicpIHtcbiAgICAgIHRoaXMuaXNPcGVuLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZVxuICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXIoKVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc09wZW4oKVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25TdHJhdGVneV09XCJcIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cImFjdGlvbj09PSdjbGljaydcIlxuICBjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzcz1cImNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwiZ2V0RmFsbGJhY2tQb3NpdGlvbnMoKVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5Vmlld3BvcnRNYXJnaW5dPVwiMTBcIlxuICAocG9zaXRpb25DaGFuZ2UpPVwiYWN0aXZlUG9zaXRpb25QYWlyLnNldCgkZXZlbnQpXCJcbiAgKGJhY2tkcm9wQ2xpY2spPVwiYmFja2Ryb3BDbGljaygpXCJcbiAgKGRldGFjaCk9XCJiYWNrZHJvcENsaWNrKClcIj5cbiAgPGZ3LXBvcG92ZXItcGFuZWxcbiAgICBAZmFkZUluRmFkZU91dFxuICAgIFtwb3NpdGlvbl09XCJwYW5lbFBvc2l0aW9uKClcIlxuICAgIChtb3VzZUxlYXZlKT1cImhhbmRsZVBhbmVsTGVhdmUoKVwiXG4gICAgW3Nob3dDYXJldF09XCJzaG93Q2FyZXQoKVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9mdy1wb3BvdmVyLXBhbmVsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -91,7 +91,7 @@ export class FwMultiSelectMenuComponent {
91
91
  this.displayedOptions().forEach((item, index) => {
92
92
  item.focused = index === this.focusedIndex();
93
93
  });
94
- });
94
+ }, { allowSignalWrites: true });
95
95
  /* eslint-disable @typescript-eslint/naming-convention, @rx-angular/prefer-no-layout-sensitive-apis */
96
96
  this.keyboardActionMap = {
97
97
  'ArrowDown': () => {
@@ -175,7 +175,7 @@ export class FwMultiSelectMenuComponent {
175
175
  icon: newMenuItem.icon,
176
176
  };
177
177
  this.options.push(newOption);
178
- newMenuItem.mouseEnterHandler.set((event, item) => {
178
+ newMenuItem.mouseEnterHandler.set((_, item) => {
179
179
  this.setFocusedIndex(item);
180
180
  });
181
181
  // add click listener
@@ -361,4 +361,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
361
361
  type: HostListener,
362
362
  args: ['keydown', ['$event']]
363
363
  }] } });
364
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUVOLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsS0FBSyxFQUVMLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7QUFFL0U7OztHQUdHO0FBYUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNMLFlBQVk7UUFDMUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsT0FB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QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR3FCLE9BQU87c0JBQWpDLFNBQVM7dUJBQUMsY0FBYztnQkFDRyxJQUFJO3NCQUEvQixTQUFTO3VCQUFDLGVBQWU7Z0JBRVMsaUJBQWlCO3NCQUFuRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFDNEIsZUFBZTtzQkFBM0UsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBZWpELE1BQU07c0JBQWYsTUFBTTtnQkFHSCxLQUFLO3NCQURSLEtBQUs7Z0JBZ0JtQixRQUFRO3NCQUFoQyxXQUFXO3VCQUFDLFVBQVU7Z0JBQ2MsYUFBYTtzQkFBakQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBc09uQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENka01lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL21lbnUnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgdmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGd01lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21lbnUvbWVudS1jb250YWluZXIvbWVudS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBGd011bHRpU2VsZWN0IGEgY29tcG9uZW50IGZvciBzZWxlY3RpbmcgbXVsdGlwbGUgb3B0aW9uc1xuICogQHNlZSBbU3Rvcnlib29rIERvY3NdKGh0dHBzOi8vY2RuLmZseXdoZWVsLmlvL2RvY3MvdmlzaW9uL21hc3Rlci8/cGF0aD0vZG9jcy9mb3JtLWNvbnRyb2xzLW11bHRpLXNlbGVjdC0tZG9jcylcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctbXVsdGktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGd011bHRpU2VsZWN0TWVudUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd011bHRpU2VsZWN0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycpIG91dHNpZGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faXNPcGVuKSB7XG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMuX2lzT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmlnZ2VyICYmIHRoaXMudHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBvcHRpb25zXG4gIEBJbnB1dCgpIG9wdGlvbnM6IG9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlUHJvcGVydHk/OiBzdHJpbmcgPSAndmFsdWUnO1xuICBASW5wdXQoKSB0aXRsZVByb3BlcnR5Pzogc3RyaW5nID0gJ3RpdGxlJztcbiAgQElucHV0KCkgaWNvblByb3BlcnR5Pzogc3RyaW5nID0gJ2ljb24nO1xuXG5cbiAgLy8gYmVoYXZpb3VyXG4gIEBJbnB1dCgpIGVtcHR5VGV4dDogc3RyaW5nID0gJ05vIG1hdGNoZXMgZm91bmQuLi4nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBzb21ldGhpbmcuLi4nO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdXNlQ2hlY2tib3g/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3Q/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbWF4U2VsZWN0ZWRTaG93bjogbnVtYmVyID0gMTAwO1xuXG4gIHNob3dDbGVhciA9IGlucHV0KGZhbHNlKTtcbiAgc2hvd0ZpbHRlciA9IGlucHV0KHRydWUsIHsgdHJhbnNmb3JtOiAodmFsOiBCb29sZWFuSW5wdXQpID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpIH0pO1xuICBzaG93U2VsZWN0aW9uSW5mbyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogKHZhbDogQm9vbGVhbklucHV0KSA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKSB9KTtcbiAgZmlsdGVySXRlbXNPblNlbGVjdCA9IGlucHV0KHRydWUsIHsgdHJhbnNmb3JtOiAodmFsOiBCb29sZWFuSW5wdXQpID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpIH0pO1xuXG4gIC8vIHNpemluZ1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzIwMHB4JztcbiAgQElucHV0KCkgbWluSGVpZ2h0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuICBASW5wdXQoKSBvcHRpb25zV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1pbk9wdGlvbnNIZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heE9wdGlvbnNIZWlnaHQ6IHN0cmluZyA9ICc0MDBweCc7XG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSc7XG5cbiAgLy8gdmlldyBjaGlsZHJlblxuICBAVmlld0NoaWxkKENka01lbnVUcmlnZ2VyKSB0cmlnZ2VyOiBDZGtNZW51VHJpZ2dlcjtcbiAgQFZpZXdDaGlsZChGd01lbnVDb21wb25lbnQpIG1lbnU6IEZ3TWVudUNvbXBvbmVudDtcbiAgbWVudUZpbHRlciA9IHZpZXdDaGlsZChGd01lbnVDb250YWluZXJDb21wb25lbnQpO1xuICBAVmlld0NoaWxkcmVuKEZ3TWVudUl0ZW1Db21wb25lbnQpIHJlbmRlcmVkTWVudUl0ZW1zOiBRdWVyeUxpc3Q8RndNZW51SXRlbUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oRndNZW51SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBjdXN0b21NZW51SXRlbXM6IFF1ZXJ5TGlzdDxGd01lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvLyBuZWVkIHRoaXMgZm9yIHRoZSB0ZW1wbGF0ZVxuICBjcmVhdGVBcnJheSA9IChkOiBJdGVyYWJsZTxzdHJpbmc+KTogc3RyaW5nW10gPT4gQXJyYXkuZnJvbShkKTtcblxuICAvLyBpbnRlcm5hbCBzdGF0ZVxuICBzZWxlY3RlZFZhbHVlczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gIHNlbGVjdGVkT3B0aW9uczogb2JqZWN0W10gPSBbXTtcbiAgZGlzcGxheWVkT3B0aW9uczogV3JpdGFibGVTaWduYWw8RndNZW51SXRlbUNvbXBvbmVudFtdPiA9IHNpZ25hbChbXSk7XG4gIGZvY3VzZWRJbmRleCA9IHNpZ25hbCgwKTtcbiAgdG91Y2hlZCA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICkge31cblxuICBASG9zdEJpbmRpbmcoJ3RhYkluZGV4JykgdGFiSW5kZXggPSAwO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvaW50ZXItZXZlbnRzJykgcG9pbnRlckV2ZW50cyA9ICdhdXRvJztcblxuICBvbkNoYW5nZTogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZDtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckN1c3RvbU1lbnVJdGVtcygpXG5cbiAgICB0aGlzLmN1c3RvbU1lbnVJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZ2lzdGVyQ3VzdG9tTWVudUl0ZW1zKCk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJDdXN0b21NZW51SXRlbXMoKTogdm9pZCB7XG4gICAgLy8gZmlyc3QgZmlsdGVyIGFueSBtZW51SXRlbXMgd2UndmUgYWxyZWFkeSByZWdpc3RlcmVkIGFzIG9wdGlvbnNcbiAgICBjb25zdCBuZXdNZW51SXRlbXMgPSB0aGlzLmN1c3RvbU1lbnVJdGVtcz8uZmlsdGVyKFxuICAgICAgbWVudUl0ZW0gPT4gIXRoaXMub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBtZW51SXRlbS52YWx1ZSA9PT0gKG9wdGlvbiBhcyBhbnkpLnZhbHVlKSxcbiAgICApXG5cbiAgICBuZXdNZW51SXRlbXMuZm9yRWFjaCgobmV3TWVudUl0ZW0pID0+IHtcblxuICAgICAgLy8gc3luYyByZW5kZXIgc2V0dGluZ3NcbiAgICAgIHRoaXMuY3VzdG9tTWVudUl0ZW1zPy5mb3JFYWNoKG1lbnVJdGVtID0+IHtcbiAgICAgICAgbWVudUl0ZW0uc2hvd0NoZWNrYm94ID0gdGhpcy51c2VDaGVja2JveDtcbiAgICAgICAgbWVudUl0ZW0ubXVsdGlTZWxlY3QgPSB0cnVlO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIGFkZCBpdCB0byB0aGUgb3B0aW9uc1xuICAgICAgLy8gYSBsb3Qgb2Ygb3VyIHZhbHVlIGhhbmRsaW5nIGxvZ2ljIHJlbGllcyBvblxuICAgICAgY29uc3QgbmV3T3B0aW9uID0ge1xuICAgICAgICB2YWx1ZTogbmV3TWVudUl0ZW0udmFsdWUsXG4gICAgICAgIHRpdGxlOiBuZXdNZW51SXRlbS50aXRsZSxcbiAgICAgICAgaWNvbjogbmV3TWVudUl0ZW0uaWNvbixcbiAgICAgIH1cbiAgICAgIHRoaXMub3B0aW9ucy5wdXNoKG5ld09wdGlvbik7XG5cbiAgICAgIG5ld01lbnVJdGVtLm1vdXNlRW50ZXJIYW5kbGVyLnNldCgoZXZlbnQsIGl0ZW0pID0+IHtcbiAgICAgICAgdGhpcy5zZXRGb2N1c2VkSW5kZXgoaXRlbSk7XG4gICAgICB9KVxuXG4gICAgICAvLyBhZGQgY2xpY2sgbGlzdGVuZXJcbiAgICAgIGNvbnN0IHN1YiA9IG5ld01lbnVJdGVtLmNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgIHRoaXMuYWRkVmFsdWUodmFsdWUpO1xuXG4gICAgICAgIGlmICh0aGlzLmNsb3NlT25TZWxlY3QpIHtcbiAgICAgICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgIH0pXG4gIH1cblxuICBoYW5kbGVUb3VjaGVkKCk6IHZvaWQge1xuICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gIH1cblxuICBoYW5kbGVDaGlwQ2xvc2UoY2hpcDogb2JqZWN0KTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWVzID0gdGhpcy52YWx1ZS5maWx0ZXIodmFsID0+IHZhbCAhPT0gY2hpcFt0aGlzLnZhbHVlUHJvcGVydHldKTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlcyk7XG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gIH1cblxuICAvLyBoYW5kbGVzIHRoZSB2YWx1ZSBlbWlzc2lvbiBmcm9tIHRoZSBtZW51XG4gIC8vIFRPRE86IG1ha2UgbWVudSBhIGR1bWIgY29tcG9uZW50LCBpdCBzaG91bGRuJ3QgYmUgaGFuZGxpbmcgdmFsdWVzIGlkZWFsbHlcbiAgaGFuZGxlTWVudUNoYW5nZShlOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGUpKSB7XG4gICAgICBpZiAoZS50b1N0cmluZygpICE9PSB0aGlzLnNlbGVjdGVkVmFsdWVzLnRvU3RyaW5nKCkpIHtcbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKGUpO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gYWRkcyBhIHNpbmdsZSB2YWx1ZVxuICBhZGRWYWx1ZShpbmNvbWluZzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgYWxyZWFkeVNlbGVjdGVkID0gdGhpcy52YWx1ZS5pbmNsdWRlcyhpbmNvbWluZyk7XG5cbiAgICBpZiAoYWxyZWFkeVNlbGVjdGVkKSB7XG4gICAgICBjb25zdCBzcGxpY2VkT3V0ID0gdGhpcy52YWx1ZS50b1NwbGljZWQodGhpcy52YWx1ZS5pbmRleE9mKGluY29taW5nKSwgMSk7XG4gICAgICB0aGlzLnVwZGF0ZVZhbHVlKHNwbGljZWRPdXQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoWy4uLnRoaXMudmFsdWUsIGluY29taW5nXSk7XG4gICAgfVxuICB9XG5cbiAgLy8gaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc2lkZSBlZmZlY3RzIG9mIGEgdmFsdWUgY2hhbmdlXG4gIHVwZGF0ZVZhbHVlKGluY29taW5nVmFsdWVzOiBhbnlbXSk6IHZvaWQge1xuXG4gICAgaWYgKCFpbmNvbWluZ1ZhbHVlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuY2xlYXIoKTtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucyA9IFtdO1xuXG4gICAgaW5jb21pbmdWYWx1ZXMuZm9yRWFjaChpbmNvbWluZyA9PiB7XG5cbiAgICAgIGlmICh0eXBlb2YgaW5jb21pbmcgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuYWRkKGluY29taW5nW3RoaXMudmFsdWVQcm9wZXJ0eV0pO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKGluY29taW5nKTtcblxuICAgICAgfSBlbHNlIHtcblxuICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWVzLmFkZChpbmNvbWluZyk7XG5cbiAgICAgICAgY29uc3QgaW5jb21pbmdNYXBwZWRUb09wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kKG9wdCA9PiBvcHRbdGhpcy52YWx1ZVByb3BlcnR5XSA9PT0gaW5jb21pbmcpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9ucy5wdXNoKGluY29taW5nTWFwcGVkVG9PcHRpb24pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fdmFsdWUgPSBBcnJheS5mcm9tKHRoaXMuc2VsZWN0ZWRWYWx1ZXMpO1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLl92YWx1ZSk7XG4gICAgdGhpcy5wb3N0U2VsZWN0U2lkZUVmZmVjdHMoKTtcbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWx0ZXIgZm9yIGhhbmRsaW5nIGZpbHRlck9uU2VsZWN0XG4gIGN1c3RvbUZpbHRlciA9IChmaWx0ZXI6IHN0cmluZywgbWVudUl0ZW1zOiBGd01lbnVJdGVtQ29tcG9uZW50W10pOiBGd01lbnVJdGVtQ29tcG9uZW50W10gPT4ge1xuICAgIHJldHVybiBtZW51SXRlbXMuZmlsdGVyKG1lbnVJdGVtID0+IHtcbiAgICAgIGNvbnN0IGZpbHRlck1hdGNoZXMgPSBtZW51SXRlbS50aXRsZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlci50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLnZhbHVlLmluY2x1ZGVzKG1lbnVJdGVtLnZhbHVlKTtcbiAgICAgIGNvbnN0IGZpbHRlckJlY2F1c2VTZWxlY3RlZCA9IGlzU2VsZWN0ZWQgJiYgdGhpcy5maWx0ZXJJdGVtc09uU2VsZWN0KCk7XG5cbiAgICAgIHJldHVybiBmaWx0ZXJNYXRjaGVzICYmICFmaWx0ZXJCZWNhdXNlU2VsZWN0ZWQ7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgbW92ZUZvY3VzZWQoZGlyZWN0aW9uOiAndXAnIHwgJ2Rvd24nKTogdm9pZCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuZGlzcGxheWVkT3B0aW9ucygpO1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXgoKTtcblxuICAgIGNvbnN0IGNsYW1wSW5kZXggPSAobjogbnVtYmVyKTogbnVtYmVyID0+IHtcbiAgICAgIGlmIChuIDwgMCkge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5sZW5ndGggLSAxO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAobiA+PSBvcHRpb25zLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXhDaGFuZ2UgPSBkaXJlY3Rpb24gPT09ICd1cCcgPyAtMSA6IDE7XG5cbiAgICBjb25zdCBuZXdJbmRleCA9IGNsYW1wSW5kZXgoaW5kZXggKyBpbmRleENoYW5nZSk7XG4gICAgdGhpcy5mb2N1c2VkSW5kZXguc2V0KG5ld0luZGV4KTtcblxuICAgIGNvbnN0IG5ld2x5Rm9jdXNlZCA9IHRoaXMuZGlzcGxheWVkT3B0aW9ucygpW3RoaXMuZm9jdXNlZEluZGV4KCldO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXNcbiAgICBuZXdseUZvY3VzZWQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgfVxuXG4gIHNldEZvY3VzZWRJbmRleChpdGVtOiB1bmtub3duKTogdm9pZCB7XG4gICAgY29uc3QgZm91bmRJbmRleCA9IHRoaXMuZGlzcGxheWVkT3B0aW9ucygpLmZpbmRJbmRleChpID0+IGkudmFsdWUgPT09IGl0ZW1bdGhpcy52YWx1ZVByb3BlcnR5XSk7XG4gICAgdGhpcy5mb2N1c2VkSW5kZXguc2V0KGZvdW5kSW5kZXgpO1xuICB9XG5cbiAgZGlzcGxheUZvY3VzSW5kaWNhdG9yID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLmRpc3BsYXllZE9wdGlvbnMoKS5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaXRlbS5mb2N1c2VkID0gaW5kZXggPT09IHRoaXMuZm9jdXNlZEluZGV4KCk7XG4gICAgfSlcbiAgfSlcblxuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24sIEByeC1hbmd1bGFyL3ByZWZlci1uby1sYXlvdXQtc2Vuc2l0aXZlLWFwaXMgKi9cbiAgcHJpdmF0ZSBrZXlib2FyZEFjdGlvbk1hcCA9IHtcbiAgICAnQXJyb3dEb3duJzogKCkgPT4ge1xuICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgnZG93bicpO1xuICAgIH0sXG4gICAgJ0Fycm93VXAnOiAoKSA9PiB7XG4gICAgICB0aGlzLm1vdmVGb2N1c2VkKCd1cCcpO1xuICAgIH0sXG4gICAgJ1RhYic6ICgpID0+IHtcbiAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9LFxuICAgICdFc2NhcGUnOiAoKSA9PiB7XG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSxcbiAgICAnRW50ZXInOiAoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZE1lbnVJdGVtID0gdGhpcy5kaXNwbGF5ZWRPcHRpb25zKClbdGhpcy5mb2N1c2VkSW5kZXgoKV07XG5cbiAgICAgIGlmICghc2VsZWN0ZWRNZW51SXRlbSkgeyByZXR1cm4gfVxuXG4gICAgICB0aGlzLmFkZFZhbHVlKHNlbGVjdGVkTWVudUl0ZW0udmFsdWUpO1xuICAgICAgdGhpcy5wb3N0U2VsZWN0U2lkZUVmZmVjdHMoKTtcbiAgICB9LFxuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZWRUcmlnZ2VyS2V5Ym9hcmRBY3Rpb25zTWFwID0ge1xuICAgICdFbnRlcic6ICgpID0+IHtcbiAgICAgIHRoaXMudHJpZ2dlci5vcGVuKCk7XG4gICAgfSxcbiAgICAnQmFja3NwYWNlJzogKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZSh0aGlzLnZhbHVlLnRvU3BsaWNlZCgtMSkpO1xuICAgIH0sXG4gIH1cbiAgLyogZXNsaW50LWVuYWJsZSAqL1xuXG4gIC8vIG5lZWRzIHRvIGJlIGFuIGFycm93IGZ1bmN0aW9uIHRvIGxvY2sgdGhlIHNjb3BlXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBoYW5kbGVLZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCA9PntcblxuICAgIGNvbnN0IGhhbmRsZXIgPSB0aGlzLnRyaWdnZXIuaXNPcGVuKCkgPyB0aGlzLmtleWJvYXJkQWN0aW9uTWFwW2V2ZW50LmtleV0gOiB0aGlzLmNsb3NlZFRyaWdnZXJLZXlib2FyZEFjdGlvbnNNYXBbZXZlbnQua2V5XTtcblxuICAgIGlmIChoYW5kbGVyKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgaGFuZGxlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zdFNlbGVjdFNpZGVFZmZlY3RzKCk6IHZvaWQge1xuICAgIHRoaXMubWVudUZpbHRlcigpPy5vbkZpbHRlckNoYW5nZSgnJyk7XG5cbiAgICB0aGlzLmN1c3RvbU1lbnVJdGVtcz8uZm9yRWFjaChtZW51SXRlbSA9PiB7XG4gICAgICBtZW51SXRlbS5zZWxlY3RlZCA9IHRoaXMudmFsdWUuaW5jbHVkZXMobWVudUl0ZW0udmFsdWUpO1xuICAgIH0pXG5cbiAgICBpZiAodGhpcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAcngtYW5ndWxhci9wcmVmZXItbm8tbGF5b3V0LXNlbnNpdGl2ZS1hcGlzXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW25nU3R5bGVdPVwie3dpZHRoOiB3aWR0aH1cIiAjd3JhcHBlcj5cblxuICA8ZGl2XG4gICAgZndNZW51UmVnaXN0ZXJcbiAgICBjbGFzcz1cImNoaXAtZ3JpZFwiXG4gICAgW25nQ2xhc3NdPVwiW3NpemVdXCJcbiAgICBbbmdTdHlsZV09XCJ7IG1pbkhlaWdodDogbWluSGVpZ2h0LCBtYXhIZWlnaHQ6IG1heEhlaWdodCB9XCJcbiAgICBbY2RrTWVudVRyaWdnZXJGb3JdPVwic2VsZWN0TWVudVwiPlxuICAgIDxzcGFuICpuZ0lmPVwidmFsdWUubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJwbGFjZWhvbGRlclwiPnt7cGxhY2Vob2xkZXJ9fTwvc3Bhbj5cblxuICAgIDwhLS0gQ0hJUFMgLS0+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyLWNoaXAtZ3JpZFwiICpuZ0lmPVwidmFsdWUgJiYgdmFsdWUubGVuZ3RoPjBcIj5cbiAgICAgIDxmdy1jaGlwXG4gICAgICAgICpuZ0Zvcj1cImxldCBjaGlwIG9mIHNlbGVjdGVkT3B0aW9ucyB8IHNsaWNlOjA6bWF4U2VsZWN0ZWRTaG93blwiXG4gICAgICAgIFt0aXRsZV09XCJjaGlwW3RpdGxlUHJvcGVydHldXCJcbiAgICAgICAgW3ZhbHVlXT1cImNoaXBbdmFsdWVQcm9wZXJ0eV1cIlxuICAgICAgICBbaWNvbl09XCJjaGlwW2ljb25Qcm9wZXJ0eV1cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbc2hvd0Nsb3NlXT1cInRydWVcIlxuICAgICAgICAoY2xvc2UpPVwiaGFuZGxlQ2hpcENsb3NlKGNoaXApXCJcbiAgICAgICAgW3NlbGVjdGFibGVdPVwiZmFsc2VcIj5cbiAgICAgIDwvZnctY2hpcD5cbiAgICAgIDxzcGFuICpuZ0lmPVwibWF4U2VsZWN0ZWRTaG93biA9PT0gMCAmJiB2YWx1ZS5sZW5ndGggPiAwXCIgY2xhc3M9XCJzZWxlY3RlZC10ZXh0XCI+XG4gICAgICAgIHt7IHZhbHVlLmxlbmd0aCB9fSBzZWxlY3RlZFxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gKm5nSWY9XCJ2YWx1ZS5sZW5ndGggPiBtYXhTZWxlY3RlZFNob3duICYmIG1heFNlbGVjdGVkU2hvd24gPiAwXCIgY2xhc3M9XCJtYXgtZXhjZWVkZWRcIj5cbiAgICAgICAgK3t7IHZhbHVlLmxlbmd0aCAtIG1heFNlbGVjdGVkU2hvd24gfX0gbW9yZVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGZ3LWljb24gKm5nSWY9XCJzaG93Q2xlYXIoKSAmJiB2YWx1ZS5sZW5ndGggPiAwXCIgKGNsaWNrKT1cInVwZGF0ZVZhbHVlKFtdKVwiPmNsb3NlPC9mdy1pY29uPlxuICAgIDxmdy1pY29uPmNoZXZyb24tZG93bjwvZnctaWNvbj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBNRU5VIC0tPlxuICA8bmctdGVtcGxhdGUgI3NlbGVjdE1lbnU+XG4gICAgPGZ3LW1lbnUtZmlsdGVyXG4gICAgICBba2V5SGFuZGxlcl09XCJoYW5kbGVLZXlEb3duXCJcbiAgICAgIFtzaG93RmlsdGVyXT1cInNob3dGaWx0ZXIoKVwiXG4gICAgICBbZm9jdXNGaWx0ZXJPbk1vdW50XT1cInNob3dGaWx0ZXIoKVwiXG4gICAgICBbd2lkdGhdPVwib3B0aW9uc1dpZHRoIHx8ICh3cmFwcGVyLm9mZnNldFdpZHRoIC0gMikgKyAncHgnXCJcbiAgICAgIFthZGRpdGlvbmFsTWVudUl0ZW1zXT1cInRoaXMuY3VzdG9tTWVudUl0ZW1zLnRvQXJyYXkoKVwiXG4gICAgICBbZW1wdHlUZXh0XT1cImVtcHR5VGV4dFwiXG4gICAgICBbbWF4SGVpZ2h0XT1cIm1heE9wdGlvbnNIZWlnaHRcIlxuICAgICAgW21pbkhlaWdodF09XCJtaW5PcHRpb25zSGVpZ2h0XCJcbiAgICAgIFtmaWx0ZXJGbl09XCJjdXN0b21GaWx0ZXJcIlxuICAgICAgKGZpbHRlcmVkTWVudUl0ZW1DaGFuZ2UpPVwiZGlzcGxheWVkT3B0aW9ucy5zZXQoJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNvbnRlbnRcIiAqbmdJZj1cInNob3dTZWxlY3Rpb25JbmZvKClcIj5cbiAgICAgICAgPHA+e3t2YWx1ZS5sZW5ndGh9fSBzZWxlY3Rpb25zPC9wPlxuICAgICAgICA8ZnctYnV0dG9uIHZhcmlhbnQ9XCJnaG9zdFwiIChjbGljayk9XCJ1cGRhdGVWYWx1ZShbXSlcIj5DbGVhcjwvZnctYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZnctbWVudVxuICAgICAgICBbbXVsdGlTZWxlY3RdPVwidHJ1ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFt2YWx1ZV09XCJjcmVhdGVBcnJheShzZWxlY3RlZFZhbHVlcylcIlxuICAgICAgICAoY2hhbmdlKT1cImhhbmRsZU1lbnVDaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tTWVudUl0ZW1zLmxlbmd0aCA9PT0gMFwiPlxuICAgICAgICAgIDxmdy1tZW51LWl0ZW1cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIG9wdGlvbnM7IGluZGV4IGFzICRpbmRleFwiXG4gICAgICAgICAgICBbdGl0bGVdPVwiaXRlbVt0aXRsZVByb3BlcnR5XVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbVt2YWx1ZVByb3BlcnR5XVwiXG4gICAgICAgICAgICBbaWNvbl09XCJpdGVtW2ljb25Qcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW211bHRpU2VsZWN0XT1cInRydWVcIlxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cInZhbHVlLmluY2x1ZGVzKGl0ZW1bdmFsdWVQcm9wZXJ0eV0pXCJcbiAgICAgICAgICAgIFtzaG93Q2hlY2tib3hdPVwidXNlQ2hlY2tib3hcIlxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwic2V0Rm9jdXNlZEluZGV4KGl0ZW0pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9mdy1tZW51LWl0ZW0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGVudCBuZ1Byb2plY3RBcz1cImN1c3RvbS1tZW51LWl0ZW1zXCIgc2VsZWN0PVwiW2Z3LW1lbnUtaXRlbSwgZnctbWVudS1zZXBhcmF0b3IsIGZ3LW1lbnUtaXRlbS1ncm91cCwgZnctbWVudS1oZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9mdy1tZW51PlxuICAgIDwvZnctbWVudS1maWx0ZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
364
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUvbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0RBQXdEO0FBQ3hELE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUVOLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsS0FBSyxFQUVMLE1BQU0sRUFFTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7QUFFL0U7OztHQUdHO0FBYUgsTUFBTSxPQUFPLDBCQUEwQjtJQUNMLFlBQVk7UUFDMUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsT0FB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QVk7c0JBQTNDLFlBQVk7dUJBQUMsZ0JBQWdCO2dCQVdyQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR3FCLE9BQU87c0JBQWpDLFNBQVM7dUJBQUMsY0FBYztnQkFDRyxJQUFJO3NCQUEvQixTQUFTO3VCQUFDLGVBQWU7Z0JBRVMsaUJBQWlCO3NCQUFuRCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFDNEIsZUFBZTtzQkFBM0UsZUFBZTt1QkFBQyxtQkFBbUIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBZWpELE1BQU07c0JBQWYsTUFBTTtnQkFHSCxLQUFLO3NCQURSLEtBQUs7Z0JBZ0JtQixRQUFRO3NCQUFoQyxXQUFXO3VCQUFDLFVBQVU7Z0JBQ2MsYUFBYTtzQkFBakQsV0FBVzt1QkFBQyxzQkFBc0I7Z0JBc09uQyxhQUFhO3NCQURaLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IENka01lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL21lbnUnO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBzaWduYWwsXG4gIFZpZXdDaGlsZCxcbiAgdmlld0NoaWxkLFxuICBWaWV3Q2hpbGRyZW4sXG4gIFdyaXRhYmxlU2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGd01lbnVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL21lbnUvbWVudS1jb250YWluZXIvbWVudS1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZ3TWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9tZW51L21lbnUtaXRlbS9tZW51LWl0ZW0uY29tcG9uZW50JztcblxuLyoqXG4gKiBGd011bHRpU2VsZWN0IGEgY29tcG9uZW50IGZvciBzZWxlY3RpbmcgbXVsdGlwbGUgb3B0aW9uc1xuICogQHNlZSBbU3Rvcnlib29rIERvY3NdKGh0dHBzOi8vY2RuLmZseXdoZWVsLmlvL2RvY3MvdmlzaW9uL21hc3Rlci8/cGF0aD0vZG9jcy9mb3JtLWNvbnRyb2xzLW11bHRpLXNlbGVjdC0tZG9jcylcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctbXVsdGktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpLXNlbGVjdC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktc2VsZWN0LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGd011bHRpU2VsZWN0TWVudUNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd011bHRpU2VsZWN0TWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycpIG91dHNpZGVDbGljaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faXNPcGVuKSB7XG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMuX2lzT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy50cmlnZ2VyICYmIHRoaXMudHJpZ2dlci5pc09wZW4oKSkge1xuICAgICAgdGhpcy5faXNPcGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBvcHRpb25zXG4gIEBJbnB1dCgpIG9wdGlvbnM6IG9iamVjdFtdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlUHJvcGVydHk/OiBzdHJpbmcgPSAndmFsdWUnO1xuICBASW5wdXQoKSB0aXRsZVByb3BlcnR5Pzogc3RyaW5nID0gJ3RpdGxlJztcbiAgQElucHV0KCkgaWNvblByb3BlcnR5Pzogc3RyaW5nID0gJ2ljb24nO1xuXG5cbiAgLy8gYmVoYXZpb3VyXG4gIEBJbnB1dCgpIGVtcHR5VGV4dDogc3RyaW5nID0gJ05vIG1hdGNoZXMgZm91bmQuLi4nO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCBzb21ldGhpbmcuLi4nO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgdXNlQ2hlY2tib3g/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNsb3NlT25TZWxlY3Q/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbWF4U2VsZWN0ZWRTaG93bjogbnVtYmVyID0gMTAwO1xuXG4gIHNob3dDbGVhciA9IGlucHV0KGZhbHNlKTtcbiAgc2hvd0ZpbHRlciA9IGlucHV0KHRydWUsIHsgdHJhbnNmb3JtOiAodmFsOiBCb29sZWFuSW5wdXQpID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpIH0pO1xuICBzaG93U2VsZWN0aW9uSW5mbyA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogKHZhbDogQm9vbGVhbklucHV0KSA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsKSB9KTtcbiAgZmlsdGVySXRlbXNPblNlbGVjdCA9IGlucHV0KHRydWUsIHsgdHJhbnNmb3JtOiAodmFsOiBCb29sZWFuSW5wdXQpID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpIH0pO1xuXG4gIC8vIHNpemluZ1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJzIwMHB4JztcbiAgQElucHV0KCkgbWluSGVpZ2h0OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWF4SGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuICBASW5wdXQoKSBvcHRpb25zV2lkdGg/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1pbk9wdGlvbnNIZWlnaHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIG1heE9wdGlvbnNIZWlnaHQ6IHN0cmluZyA9ICc0MDBweCc7XG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSc7XG5cbiAgLy8gdmlldyBjaGlsZHJlblxuICBAVmlld0NoaWxkKENka01lbnVUcmlnZ2VyKSB0cmlnZ2VyOiBDZGtNZW51VHJpZ2dlcjtcbiAgQFZpZXdDaGlsZChGd01lbnVDb21wb25lbnQpIG1lbnU6IEZ3TWVudUNvbXBvbmVudDtcbiAgbWVudUZpbHRlciA9IHZpZXdDaGlsZChGd01lbnVDb250YWluZXJDb21wb25lbnQpO1xuICBAVmlld0NoaWxkcmVuKEZ3TWVudUl0ZW1Db21wb25lbnQpIHJlbmRlcmVkTWVudUl0ZW1zOiBRdWVyeUxpc3Q8RndNZW51SXRlbUNvbXBvbmVudD47XG4gIEBDb250ZW50Q2hpbGRyZW4oRndNZW51SXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBjdXN0b21NZW51SXRlbXM6IFF1ZXJ5TGlzdDxGd01lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvLyBuZWVkIHRoaXMgZm9yIHRoZSB0ZW1wbGF0ZVxuICBjcmVhdGVBcnJheSA9IChkOiBJdGVyYWJsZTxzdHJpbmc+KTogc3RyaW5nW10gPT4gQXJyYXkuZnJvbShkKTtcblxuICAvLyBpbnRlcm5hbCBzdGF0ZVxuICBzZWxlY3RlZFZhbHVlczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG4gIHNlbGVjdGVkT3B0aW9uczogb2JqZWN0W10gPSBbXTtcbiAgZGlzcGxheWVkT3B0aW9uczogV3JpdGFibGVTaWduYWw8RndNZW51SXRlbUNvbXBvbmVudFtdPiA9IHNpZ25hbChbXSk7XG4gIGZvY3VzZWRJbmRleCA9IHNpZ25hbCgwKTtcbiAgdG91Y2hlZCA9IGZhbHNlO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIHByaXZhdGUgX2lzT3BlbiA9IGZhbHNlO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUobmV3VmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogYW55W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICkge31cblxuICBASG9zdEJpbmRpbmcoJ3RhYkluZGV4JykgdGFiSW5kZXggPSAwO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvaW50ZXItZXZlbnRzJykgcG9pbnRlckV2ZW50cyA9ICdhdXRvJztcblxuICBvbkNoYW5nZTogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZDtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge307XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBhbnlbXSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckN1c3RvbU1lbnVJdGVtcygpXG5cbiAgICB0aGlzLmN1c3RvbU1lbnVJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlZ2lzdGVyQ3VzdG9tTWVudUl0ZW1zKCk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgcmVnaXN0ZXJDdXN0b21NZW51SXRlbXMoKTogdm9pZCB7XG4gICAgLy8gZmlyc3QgZmlsdGVyIGFueSBtZW51SXRlbXMgd2UndmUgYWxyZWFkeSByZWdpc3RlcmVkIGFzIG9wdGlvbnNcbiAgICBjb25zdCBuZXdNZW51SXRlbXMgPSB0aGlzLmN1c3RvbU1lbnVJdGVtcz8uZmlsdGVyKFxuICAgICAgbWVudUl0ZW0gPT4gIXRoaXMub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBtZW51SXRlbS52YWx1ZSA9PT0gKG9wdGlvbiBhcyBhbnkpLnZhbHVlKSxcbiAgICApXG5cbiAgICBuZXdNZW51SXRlbXMuZm9yRWFjaCgobmV3TWVudUl0ZW0pID0+IHtcblxuICAgICAgLy8gc3luYyByZW5kZXIgc2V0dGluZ3NcbiAgICAgIHRoaXMuY3VzdG9tTWVudUl0ZW1zPy5mb3JFYWNoKG1lbnVJdGVtID0+IHtcbiAgICAgICAgbWVudUl0ZW0uc2hvd0NoZWNrYm94ID0gdGhpcy51c2VDaGVja2JveDtcbiAgICAgICAgbWVudUl0ZW0ubXVsdGlTZWxlY3QgPSB0cnVlO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIGFkZCBpdCB0byB0aGUgb3B0aW9uc1xuICAgICAgLy8gYSBsb3Qgb2Ygb3VyIHZhbHVlIGhhbmRsaW5nIGxvZ2ljIHJlbGllcyBvblxuICAgICAgY29uc3QgbmV3T3B0aW9uID0ge1xuICAgICAgICB2YWx1ZTogbmV3TWVudUl0ZW0udmFsdWUsXG4gICAgICAgIHRpdGxlOiBuZXdNZW51SXRlbS50aXRsZSxcbiAgICAgICAgaWNvbjogbmV3TWVudUl0ZW0uaWNvbixcbiAgICAgIH1cbiAgICAgIHRoaXMub3B0aW9ucy5wdXNoKG5ld09wdGlvbik7XG5cbiAgICAgIG5ld01lbnVJdGVtLm1vdXNlRW50ZXJIYW5kbGVyLnNldCgoXywgaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLnNldEZvY3VzZWRJbmRleChpdGVtKTtcbiAgICAgIH0pXG5cbiAgICAgIC8vIGFkZCBjbGljayBsaXN0ZW5lclxuICAgICAgY29uc3Qgc3ViID0gbmV3TWVudUl0ZW0uY2xpY2suc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgdGhpcy5hZGRWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgfSlcbiAgfVxuXG4gIGhhbmRsZVRvdWNoZWQoKTogdm9pZCB7XG4gICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGhhbmRsZUNoaXBDbG9zZShjaGlwOiBvYmplY3QpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZXMgPSB0aGlzLnZhbHVlLmZpbHRlcih2YWwgPT4gdmFsICE9PSBjaGlwW3RoaXMudmFsdWVQcm9wZXJ0eV0pO1xuICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWVzKTtcbiAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgfVxuXG4gIC8vIGhhbmRsZXMgdGhlIHZhbHVlIGVtaXNzaW9uIGZyb20gdGhlIG1lbnVcbiAgLy8gVE9ETzogbWFrZSBtZW51IGEgZHVtYiBjb21wb25lbnQsIGl0IHNob3VsZG4ndCBiZSBoYW5kbGluZyB2YWx1ZXMgaWRlYWxseVxuICBoYW5kbGVNZW51Q2hhbmdlKGU6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZSkpIHtcbiAgICAgIGlmIChlLnRvU3RyaW5nKCkgIT09IHRoaXMuc2VsZWN0ZWRWYWx1ZXMudG9TdHJpbmcoKSkge1xuICAgICAgICBpZiAodGhpcy5jbG9zZU9uU2VsZWN0KSB7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoZSk7XG4gICAgfVxuICB9XG5cblxuICAvLyBhZGRzIGEgc2luZ2xlIHZhbHVlXG4gIGFkZFZhbHVlKGluY29taW5nOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBhbHJlYWR5U2VsZWN0ZWQgPSB0aGlzLnZhbHVlLmluY2x1ZGVzKGluY29taW5nKTtcblxuICAgIGlmIChhbHJlYWR5U2VsZWN0ZWQpIHtcbiAgICAgIGNvbnN0IHNwbGljZWRPdXQgPSB0aGlzLnZhbHVlLnRvU3BsaWNlZCh0aGlzLnZhbHVlLmluZGV4T2YoaW5jb21pbmcpLCAxKTtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUoc3BsaWNlZE91dCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy51cGRhdGVWYWx1ZShbLi4udGhpcy52YWx1ZSwgaW5jb21pbmddKTtcbiAgICB9XG4gIH1cblxuICAvLyBoYW5kbGVzIGFsbCB0aGUgZGlzcGxheSBzaWRlIGVmZmVjdHMgb2YgYSB2YWx1ZSBjaGFuZ2VcbiAgdXBkYXRlVmFsdWUoaW5jb21pbmdWYWx1ZXM6IGFueVtdKTogdm9pZCB7XG5cbiAgICBpZiAoIWluY29taW5nVmFsdWVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5jbGVhcigpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zID0gW107XG5cbiAgICBpbmNvbWluZ1ZhbHVlcy5mb3JFYWNoKGluY29taW5nID0+IHtcblxuICAgICAgaWYgKHR5cGVvZiBpbmNvbWluZyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlcy5hZGQoaW5jb21pbmdbdGhpcy52YWx1ZVByb3BlcnR5XSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnB1c2goaW5jb21pbmcpO1xuXG4gICAgICB9IGVsc2Uge1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZXMuYWRkKGluY29taW5nKTtcblxuICAgICAgICBjb25zdCBpbmNvbWluZ01hcHBlZFRvT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQob3B0ID0+IG9wdFt0aGlzLnZhbHVlUHJvcGVydHldID09PSBpbmNvbWluZyk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25zLnB1c2goaW5jb21pbmdNYXBwZWRUb09wdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl92YWx1ZSA9IEFycmF5LmZyb20odGhpcy5zZWxlY3RlZFZhbHVlcyk7XG4gICAgaWYgKHRoaXMub25DaGFuZ2UpIHtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fdmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3ZhbHVlKTtcbiAgICB0aGlzLnBvc3RTZWxlY3RTaWRlRWZmZWN0cygpO1xuICB9XG5cbiAgLy8gY3VzdG9tIGZpbHRlciBmb3IgaGFuZGxpbmcgZmlsdGVyT25TZWxlY3RcbiAgY3VzdG9tRmlsdGVyID0gKGZpbHRlcjogc3RyaW5nLCBtZW51SXRlbXM6IEZ3TWVudUl0ZW1Db21wb25lbnRbXSk6IEZ3TWVudUl0ZW1Db21wb25lbnRbXSA9PiB7XG4gICAgcmV0dXJuIG1lbnVJdGVtcy5maWx0ZXIobWVudUl0ZW0gPT4ge1xuICAgICAgY29uc3QgZmlsdGVyTWF0Y2hlcyA9IG1lbnVJdGVtLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgY29uc3QgaXNTZWxlY3RlZCA9IHRoaXMudmFsdWUuaW5jbHVkZXMobWVudUl0ZW0udmFsdWUpO1xuICAgICAgY29uc3QgZmlsdGVyQmVjYXVzZVNlbGVjdGVkID0gaXNTZWxlY3RlZCAmJiB0aGlzLmZpbHRlckl0ZW1zT25TZWxlY3QoKTtcblxuICAgICAgcmV0dXJuIGZpbHRlck1hdGNoZXMgJiYgIWZpbHRlckJlY2F1c2VTZWxlY3RlZDtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlRm9jdXNlZChkaXJlY3Rpb246ICd1cCcgfCAnZG93bicpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5kaXNwbGF5ZWRPcHRpb25zKCk7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmZvY3VzZWRJbmRleCgpO1xuXG4gICAgY29uc3QgY2xhbXBJbmRleCA9IChuOiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICAgICAgaWYgKG4gPCAwKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmxlbmd0aCAtIDE7XG4gICAgICB9XG4gICAgICBlbHNlIGlmIChuID49IG9wdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbjtcbiAgICB9XG5cbiAgICBjb25zdCBpbmRleENoYW5nZSA9IGRpcmVjdGlvbiA9PT0gJ3VwJyA/IC0xIDogMTtcblxuICAgIGNvbnN0IG5ld0luZGV4ID0gY2xhbXBJbmRleChpbmRleCArIGluZGV4Q2hhbmdlKTtcbiAgICB0aGlzLmZvY3VzZWRJbmRleC5zZXQobmV3SW5kZXgpO1xuXG4gICAgY29uc3QgbmV3bHlGb2N1c2VkID0gdGhpcy5kaXNwbGF5ZWRPcHRpb25zKClbdGhpcy5mb2N1c2VkSW5kZXgoKV07XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgIG5ld2x5Rm9jdXNlZC5zY3JvbGxJbnRvVmlldygpO1xuICB9XG5cbiAgc2V0Rm9jdXNlZEluZGV4KGl0ZW06IHVua25vd24pOiB2b2lkIHtcbiAgICBjb25zdCBmb3VuZEluZGV4ID0gdGhpcy5kaXNwbGF5ZWRPcHRpb25zKCkuZmluZEluZGV4KGkgPT4gaS52YWx1ZSA9PT0gaXRlbVt0aGlzLnZhbHVlUHJvcGVydHldKTtcbiAgICB0aGlzLmZvY3VzZWRJbmRleC5zZXQoZm91bmRJbmRleCk7XG4gIH1cblxuICBkaXNwbGF5Rm9jdXNJbmRpY2F0b3IgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuZGlzcGxheWVkT3B0aW9ucygpLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLmZvY3VzZWQgPSBpbmRleCA9PT0gdGhpcy5mb2N1c2VkSW5kZXgoKTtcbiAgICB9KVxuICB9LCB7IGFsbG93U2lnbmFsV3JpdGVzOiB0cnVlIH0pXG5cbiAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uLCBAcngtYW5ndWxhci9wcmVmZXItbm8tbGF5b3V0LXNlbnNpdGl2ZS1hcGlzICovXG4gIHByaXZhdGUga2V5Ym9hcmRBY3Rpb25NYXAgPSB7XG4gICAgJ0Fycm93RG93bic6ICgpID0+IHtcbiAgICAgIHRoaXMubW92ZUZvY3VzZWQoJ2Rvd24nKTtcbiAgICB9LFxuICAgICdBcnJvd1VwJzogKCkgPT4ge1xuICAgICAgdGhpcy5tb3ZlRm9jdXNlZCgndXAnKTtcbiAgICB9LFxuICAgICdUYWInOiAoKSA9PiB7XG4gICAgICB0aGlzLnRyaWdnZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfSxcbiAgICAnRXNjYXBlJzogKCkgPT4ge1xuICAgICAgdGhpcy50cmlnZ2VyLmNsb3NlKCk7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH0sXG4gICAgJ0VudGVyJzogKCkgPT4ge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRNZW51SXRlbSA9IHRoaXMuZGlzcGxheWVkT3B0aW9ucygpW3RoaXMuZm9jdXNlZEluZGV4KCldO1xuXG4gICAgICBpZiAoIXNlbGVjdGVkTWVudUl0ZW0pIHsgcmV0dXJuIH1cblxuICAgICAgdGhpcy5hZGRWYWx1ZShzZWxlY3RlZE1lbnVJdGVtLnZhbHVlKTtcbiAgICAgIHRoaXMucG9zdFNlbGVjdFNpZGVFZmZlY3RzKCk7XG4gICAgfSxcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VkVHJpZ2dlcktleWJvYXJkQWN0aW9uc01hcCA9IHtcbiAgICAnRW50ZXInOiAoKSA9PiB7XG4gICAgICB0aGlzLnRyaWdnZXIub3BlbigpO1xuICAgIH0sXG4gICAgJ0JhY2tzcGFjZSc6ICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy52YWx1ZS50b1NwbGljZWQoLTEpKTtcbiAgICB9LFxuICB9XG4gIC8qIGVzbGludC1lbmFibGUgKi9cblxuICAvLyBuZWVkcyB0byBiZSBhbiBhcnJvdyBmdW5jdGlvbiB0byBsb2NrIHRoZSBzY29wZVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQgPT57XG5cbiAgICBjb25zdCBoYW5kbGVyID0gdGhpcy50cmlnZ2VyLmlzT3BlbigpID8gdGhpcy5rZXlib2FyZEFjdGlvbk1hcFtldmVudC5rZXldIDogdGhpcy5jbG9zZWRUcmlnZ2VyS2V5Ym9hcmRBY3Rpb25zTWFwW2V2ZW50LmtleV07XG5cbiAgICBpZiAoaGFuZGxlcikge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGhhbmRsZXIoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBvc3RTZWxlY3RTaWRlRWZmZWN0cygpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVGaWx0ZXIoKT8ub25GaWx0ZXJDaGFuZ2UoJycpO1xuXG4gICAgdGhpcy5jdXN0b21NZW51SXRlbXM/LmZvckVhY2gobWVudUl0ZW0gPT4ge1xuICAgICAgbWVudUl0ZW0uc2VsZWN0ZWQgPSB0aGlzLnZhbHVlLmluY2x1ZGVzKG1lbnVJdGVtLnZhbHVlKTtcbiAgICB9KVxuXG4gICAgaWYgKHRoaXMuY2xvc2VPblNlbGVjdCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudHJpZ2dlci5jbG9zZSgpO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvcHJlZmVyLW5vLWxheW91dC1zZW5zaXRpdmUtYXBpc1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IFtuZ1N0eWxlXT1cInt3aWR0aDogd2lkdGh9XCIgI3dyYXBwZXI+XG5cbiAgPGRpdlxuICAgIGZ3TWVudVJlZ2lzdGVyXG4gICAgY2xhc3M9XCJjaGlwLWdyaWRcIlxuICAgIFtuZ0NsYXNzXT1cIltzaXplXVwiXG4gICAgW25nU3R5bGVdPVwieyBtaW5IZWlnaHQ6IG1pbkhlaWdodCwgbWF4SGVpZ2h0OiBtYXhIZWlnaHQgfVwiXG4gICAgW2Nka01lbnVUcmlnZ2VyRm9yXT1cInNlbGVjdE1lbnVcIj5cbiAgICA8c3BhbiAqbmdJZj1cInZhbHVlLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwicGxhY2Vob2xkZXJcIj57e3BsYWNlaG9sZGVyfX08L3NwYW4+XG5cbiAgICA8IS0tIENISVBTIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lci1jaGlwLWdyaWRcIiAqbmdJZj1cInZhbHVlICYmIHZhbHVlLmxlbmd0aD4wXCI+XG4gICAgICA8ZnctY2hpcFxuICAgICAgICAqbmdGb3I9XCJsZXQgY2hpcCBvZiBzZWxlY3RlZE9wdGlvbnMgfCBzbGljZTowOm1heFNlbGVjdGVkU2hvd25cIlxuICAgICAgICBbdGl0bGVdPVwiY2hpcFt0aXRsZVByb3BlcnR5XVwiXG4gICAgICAgIFt2YWx1ZV09XCJjaGlwW3ZhbHVlUHJvcGVydHldXCJcbiAgICAgICAgW2ljb25dPVwiY2hpcFtpY29uUHJvcGVydHldXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW3Nob3dDbG9zZV09XCJ0cnVlXCJcbiAgICAgICAgKGNsb3NlKT1cImhhbmRsZUNoaXBDbG9zZShjaGlwKVwiXG4gICAgICAgIFtzZWxlY3RhYmxlXT1cImZhbHNlXCI+XG4gICAgICA8L2Z3LWNoaXA+XG4gICAgICA8c3BhbiAqbmdJZj1cIm1heFNlbGVjdGVkU2hvd24gPT09IDAgJiYgdmFsdWUubGVuZ3RoID4gMFwiIGNsYXNzPVwic2VsZWN0ZWQtdGV4dFwiPlxuICAgICAgICB7eyB2YWx1ZS5sZW5ndGggfX0gc2VsZWN0ZWRcbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwidmFsdWUubGVuZ3RoID4gbWF4U2VsZWN0ZWRTaG93biAmJiBtYXhTZWxlY3RlZFNob3duID4gMFwiIGNsYXNzPVwibWF4LWV4Y2VlZGVkXCI+XG4gICAgICAgICt7eyB2YWx1ZS5sZW5ndGggLSBtYXhTZWxlY3RlZFNob3duIH19IG1vcmVcbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxmdy1pY29uICpuZ0lmPVwic2hvd0NsZWFyKCkgJiYgdmFsdWUubGVuZ3RoID4gMFwiIChjbGljayk9XCJ1cGRhdGVWYWx1ZShbXSlcIj5jbG9zZTwvZnctaWNvbj5cbiAgICA8ZnctaWNvbj5jaGV2cm9uLWRvd248L2Z3LWljb24+XG4gIDwvZGl2PlxuXG4gIDwhLS0gTUVOVSAtLT5cbiAgPG5nLXRlbXBsYXRlICNzZWxlY3RNZW51PlxuICAgIDxmdy1tZW51LWZpbHRlclxuICAgICAgW2tleUhhbmRsZXJdPVwiaGFuZGxlS2V5RG93blwiXG4gICAgICBbc2hvd0ZpbHRlcl09XCJzaG93RmlsdGVyKClcIlxuICAgICAgW2ZvY3VzRmlsdGVyT25Nb3VudF09XCJzaG93RmlsdGVyKClcIlxuICAgICAgW3dpZHRoXT1cIm9wdGlvbnNXaWR0aCB8fCAod3JhcHBlci5vZmZzZXRXaWR0aCAtIDIpICsgJ3B4J1wiXG4gICAgICBbYWRkaXRpb25hbE1lbnVJdGVtc109XCJ0aGlzLmN1c3RvbU1lbnVJdGVtcy50b0FycmF5KClcIlxuICAgICAgW2VtcHR5VGV4dF09XCJlbXB0eVRleHRcIlxuICAgICAgW21heEhlaWdodF09XCJtYXhPcHRpb25zSGVpZ2h0XCJcbiAgICAgIFttaW5IZWlnaHRdPVwibWluT3B0aW9uc0hlaWdodFwiXG4gICAgICBbZmlsdGVyRm5dPVwiY3VzdG9tRmlsdGVyXCJcbiAgICAgIChmaWx0ZXJlZE1lbnVJdGVtQ2hhbmdlKT1cImRpc3BsYXllZE9wdGlvbnMuc2V0KCRldmVudClcIlxuICAgICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jb250ZW50XCIgKm5nSWY9XCJzaG93U2VsZWN0aW9uSW5mbygpXCI+XG4gICAgICAgIDxwPnt7dmFsdWUubGVuZ3RofX0gc2VsZWN0aW9uczwvcD5cbiAgICAgICAgPGZ3LWJ1dHRvbiB2YXJpYW50PVwiZ2hvc3RcIiAoY2xpY2spPVwidXBkYXRlVmFsdWUoW10pXCI+Q2xlYXI8L2Z3LWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGZ3LW1lbnVcbiAgICAgICAgW211bHRpU2VsZWN0XT1cInRydWVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbdmFsdWVdPVwiY3JlYXRlQXJyYXkoc2VsZWN0ZWRWYWx1ZXMpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJoYW5kbGVNZW51Q2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImN1c3RvbU1lbnVJdGVtcy5sZW5ndGggPT09IDBcIj5cbiAgICAgICAgICA8ZnctbWVudS1pdGVtXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zOyBpbmRleCBhcyAkaW5kZXhcIlxuICAgICAgICAgICAgW3RpdGxlXT1cIml0ZW1bdGl0bGVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW1bdmFsdWVQcm9wZXJ0eV1cIlxuICAgICAgICAgICAgW2ljb25dPVwiaXRlbVtpY29uUHJvcGVydHldXCJcbiAgICAgICAgICAgIFttdWx0aVNlbGVjdF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFtzZWxlY3RlZF09XCJ2YWx1ZS5pbmNsdWRlcyhpdGVtW3ZhbHVlUHJvcGVydHldKVwiXG4gICAgICAgICAgICBbc2hvd0NoZWNrYm94XT1cInVzZUNoZWNrYm94XCJcbiAgICAgICAgICAgIChtb3VzZWVudGVyKT1cInNldEZvY3VzZWRJbmRleChpdGVtKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvZnctbWVudS1pdGVtPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgbmdQcm9qZWN0QXM9XCJjdXN0b20tbWVudS1pdGVtc1wiIHNlbGVjdD1cIltmdy1tZW51LWl0ZW0sIGZ3LW1lbnUtc2VwYXJhdG9yLCBmdy1tZW51LWl0ZW0tZ3JvdXAsIGZ3LW1lbnUtaGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZnctbWVudT5cbiAgICA8L2Z3LW1lbnUtZmlsdGVyPlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=