@taiga-ui/core 4.34.0-canary.f8df2a7 → 4.35.0-canary.3cae238

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.
@@ -16,6 +16,7 @@ export declare class TuiTextfieldComponent<T> implements TuiDataListHost<T>, Aft
16
16
  private readonly filler;
17
17
  private readonly autoId;
18
18
  private readonly dropdown;
19
+ private readonly dropdownOpen;
19
20
  private readonly open;
20
21
  private readonly focusedIn;
21
22
  private readonly contentReady$;
@@ -21,15 +21,19 @@ export declare class TuiDropdownSelection extends TuiDriver implements TuiRectAc
21
21
  set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string);
22
22
  getClientRect(): DOMRect;
23
23
  ngOnDestroy(): void;
24
- protected getRange(): Range;
24
+ private getRange;
25
25
  /**
26
26
  * Check if given range is at least partially inside dropdown
27
27
  */
28
- protected inDropdown(range: Range): boolean;
28
+ private inDropdown;
29
29
  /**
30
30
  * Check if Node is inside dropdown
31
31
  */
32
32
  private boxContains;
33
+ /**
34
+ * Check if range is not inside tui-textfield's DOM elements
35
+ */
36
+ private isValid;
33
37
  private veryVerySadInputFix;
34
38
  /**
35
39
  * Create an invisible DIV styled exactly like input/textarea element inside directive
@@ -16,6 +16,7 @@ export declare class TuiHintHover extends TuiDriver {
16
16
  enabled: boolean;
17
17
  constructor();
18
18
  toggle(visible?: boolean): void;
19
+ close(): void;
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintHover, never>;
20
21
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintHover, never, ["tuiHintHover"], { "tuiHintShowDelay": { "alias": "tuiHintShowDelay"; "required": false; }; "tuiHintHideDelay": { "alias": "tuiHintHideDelay"; "required": false; }; }, {}, never, never, true, never>;
21
22
  }
@@ -53,7 +53,7 @@ class TuiRoot {
53
53
  : !this.isChildRoot;
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.34.0-canary.f8df2a7" }, listeners: { "touchstart.passive.zoneless": "0", "document:fullscreenchange": "top.set(isTopLayer)" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: "<div class=\"t-root-content\"><ng-content /></div>\n<ng-container *ngIf=\"top()\">\n <tui-scroll-controls\n *ngIf=\"scrollbars\"\n class=\"t-root-scrollbar\"\n />\n <tui-popups />\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n <tui-dropdowns />\n <ng-content select=\"tuiOverDropdowns\" />\n <tui-hints />\n <ng-content select=\"tuiOverHints\" />\n</ng-container>\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;z-index:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.35.0-canary.3cae238" }, listeners: { "touchstart.passive.zoneless": "0", "document:fullscreenchange": "top.set(isTopLayer)" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: "<div class=\"t-root-content\"><ng-content /></div>\n<ng-container *ngIf=\"top()\">\n <tui-scroll-controls\n *ngIf=\"scrollbars\"\n class=\"t-root-scrollbar\"\n />\n <tui-popups />\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n <tui-dropdowns />\n <ng-content select=\"tuiOverDropdowns\" />\n <tui-hints />\n <ng-content select=\"tuiOverHints\" />\n</ng-container>\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;z-index:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
57
57
  }
58
58
  export { TuiRoot };
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
@@ -12,7 +12,7 @@ import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
12
12
  import { TuiButton, tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
13
13
  import { tuiAsDataListHost, TuiWithOptionContent, } from '@taiga-ui/core/components/data-list';
14
14
  import { TuiLabel } from '@taiga-ui/core/components/label';
15
- import { TuiDropdownDirective, TuiDropdownFixed, tuiDropdownOpen, TuiWithDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
15
+ import { TuiDropdownDirective, TuiDropdownFixed, TuiDropdownOpen, tuiDropdownOpen, TuiWithDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
16
16
  import { TuiWithIcons } from '@taiga-ui/core/directives/icons';
17
17
  import { TuiWithItemsHandlers } from '@taiga-ui/core/directives/items-handlers';
18
18
  import { TUI_CLEAR_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
@@ -35,6 +35,7 @@ class TuiTextfieldComponent {
35
35
  this.filler = signal('');
36
36
  this.autoId = tuiInjectId();
37
37
  this.dropdown = inject(TuiDropdownDirective);
38
+ this.dropdownOpen = inject(TuiDropdownOpen);
38
39
  this.open = tuiDropdownOpen();
39
40
  this.focusedIn = tuiFocusedIn(tuiInjectElement());
40
41
  this.contentReady$ = new ReplaySubject(1);
@@ -84,7 +85,7 @@ class TuiTextfieldComponent {
84
85
  }
85
86
  event.preventDefault();
86
87
  this.input?.nativeElement.focus({ preventScroll: true });
87
- if (this.dropdown.content) {
88
+ if (this.dropdownOpen.tuiDropdownEnabled && this.dropdown.content) {
88
89
  this.open.update((x) => !x);
89
90
  }
90
91
  }
@@ -142,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
142
143
  type: Input,
143
144
  args: ['filler']
144
145
  }] } });
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMs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LEVBQUM7Z0JBSXhDLFFBQVE7c0JBRHZCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQU96QyxLQUFLO3NCQUpwQixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO3dCQUNuRCxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2Y7Z0JBSU0sT0FBTztzQkFEYixLQUFLO2dCQTBCSyxZQUFZO3NCQUR0QixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50SW5pdCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7V2FSZXNpemVPYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aUNvbnRyb2xWYWx1ZSwgdHVpUXVlcnlMaXN0Q2hhbmdlc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdElkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlGb2N1c2VkSW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpQnV0dG9uLCB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB0eXBlIHtUdWlEYXRhTGlzdEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7XG4gICAgdHVpQXNEYXRhTGlzdEhvc3QsXG4gICAgVHVpV2l0aE9wdGlvbkNvbnRlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7VHVpTGFiZWx9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bkZpeGVkLFxuICAgIHR1aURyb3Bkb3duT3BlbixcbiAgICBUdWlXaXRoRHJvcGRvd25PcGVuLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpV2l0aEljb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2ljb25zJztcbmltcG9ydCB7VHVpV2l0aEl0ZW1zSGFuZGxlcnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2RpcmVjdGl2ZXMvaXRlbXMtaGFuZGxlcnMnO1xuaW1wb3J0IHtUVUlfQ0xFQVJfV09SRCwgVFVJX0NPTU1PTl9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTCwgVHVpU2l6ZVN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7ZnJvbUV2ZW50LCBtYXAsIG1lcmdlLCBSZXBsYXlTdWJqZWN0LCBzdGFydFdpdGgsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpVGV4dGZpZWxkRGlyZWN0aXZlfSBmcm9tICcuL3RleHRmaWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX09QVElPTlN9IGZyb20gJy4vdGV4dGZpZWxkLm9wdGlvbnMnO1xuaW1wb3J0IHR5cGUge1R1aVRleHRmaWVsZEFjY2Vzc29yfSBmcm9tICcuL3RleHRmaWVsZC1hY2Nlc3Nvcic7XG5pbXBvcnQge1RVSV9URVhURklFTERfQUNDRVNTT1J9IGZyb20gJy4vdGV4dGZpZWxkLWFjY2Vzc29yJztcbmltcG9ydCB7VFVJX0FVWElMSUFSWX0gZnJvbSAnLi90ZXh0ZmllbGQtYXV4aWxpYXJ5JztcbmltcG9ydCB7VHVpV2l0aFRleHRmaWVsZERyb3Bkb3dufSBmcm9tICcuL3RleHRmaWVsZC1kcm9wZG93bi5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXRleHRmaWVsZCcsXG4gICAgaW1wb3J0czogW05nSWYsIFBvbHltb3JwaGV1c091dGxldCwgVHVpQnV0dG9uLCBXYVJlc2l6ZU9ic2VydmVyXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlczogWydAaW1wb3J0IFwiQHRhaWdhLXVpL2NvcmUvc3R5bGVzL2NvbXBvbmVudHMvdGV4dGZpZWxkLmxlc3NcIjsnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXIoe3NpemU6ICd4cycsIGFwcGVhcmFuY2U6ICdpY29uJ30pLFxuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlUZXh0ZmllbGRDb21wb25lbnQpLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgVHVpRHJvcGRvd25EaXJlY3RpdmUsXG4gICAgICAgIFR1aURyb3Bkb3duRml4ZWQsXG4gICAgICAgIFR1aVdpdGhEcm9wZG93bk9wZW4sXG4gICAgICAgIFR1aVdpdGhJY29ucyxcbiAgICAgICAgVHVpV2l0aEl0ZW1zSGFuZGxlcnMsXG4gICAgICAgIFR1aVdpdGhPcHRpb25Db250ZW50LFxuICAgICAgICBUdWlXaXRoVGV4dGZpZWxkRHJvcGRvd24sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ29wdGlvbnMuc2l6ZSgpJyxcbiAgICAgICAgJ1tjbGFzcy5fd2l0aC1sYWJlbF0nOiAnaGFzTGFiZWwnLFxuICAgICAgICAnW2NsYXNzLl93aXRoLXRlbXBsYXRlXSc6ICdjb250ZW50JyxcbiAgICAgICAgJ1tjbGFzcy5fZGlzYWJsZWRdJzogJ2lucHV0Py5uYXRpdmVFbGVtZW50LmRpc2FibGVkJyxcbiAgICAgICAgJyhtb3VzZWRvd24pJzogJ29uSWNvbkNsaWNrKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRleHRmaWVsZENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIFR1aURhdGFMaXN0SG9zdDxUPiwgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLy8gVE9ETzogcmVmYWN0b3IgdG8gc2lnbmFsIGlucHV0cyBhZnRlciBBbmd1bGFyIHVwZGF0ZVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmlsbGVyID0gc2lnbmFsKCcnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGF1dG9JZCA9IHR1aUluamVjdElkKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2VkSW4gPSB0dWlGb2N1c2VkSW4odHVpSW5qZWN0RWxlbWVudCgpKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRSZWFkeSQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBUdWlMYWJlbCksIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGQoTmdDb250cm9sKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sPzogTmdDb250cm9sO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUVUlfQVVYSUxJQVJZLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBhdXhpbGlhcnlRdWVyeTogUXVlcnlMaXN0PG9iamVjdD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xlYXIgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NMRUFSX1dPUkQpKTtcblxuICAgIHByb3RlY3RlZCBjb21wdXRlZEZpbGxlciA9IGNvbXB1dGVkKCh2YWx1ZSA9IHRoaXMudmFsdWUoKSkgPT4ge1xuICAgICAgICBjb25zdCBmaWxsZWRWYWx1ZSA9IHZhbHVlICsgdGhpcy5maWxsZXIoKS5zbGljZSh2YWx1ZS5sZW5ndGgpO1xuXG4gICAgICAgIHJldHVybiBmaWxsZWRWYWx1ZS5sZW5ndGggPiB2YWx1ZS5sZW5ndGggPyBmaWxsZWRWYWx1ZSA6ICcnO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHNob3dGaWxsZXIgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCgpICYmXG4gICAgICAgICAgICAhIXRoaXMuY29tcHV0ZWRGaWxsZXIoKSAmJlxuICAgICAgICAgICAgKCEhdGhpcy52YWx1ZSgpIHx8ICF0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyKSxcbiAgICApO1xuXG4gICAgQFZpZXdDaGlsZCgndmNyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IHZjcj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKFRVSV9URVhURklFTERfQUNDRVNTT1IsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc29yPzogVHVpVGV4dGZpZWxkQWNjZXNzb3I8VD47XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkRGlyZWN0aXZlKSwge1xuICAgICAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgICAgICBzdGF0aWM6IHRydWUsXG4gICAgfSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PFQ+PjtcblxuICAgIHB1YmxpYyByZWFkb25seSBmb2N1c2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcGVuKCkgfHwgdGhpcy5mb2N1c2VkSW4oKSk7XG4gICAgcHVibGljIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlID0gdG9TaWduYWwoXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KHR1aUluamVjdEVsZW1lbnQoKSwgJ2lucHV0JyksXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRSZWFkeSQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdHVpQ29udHJvbFZhbHVlKHRoaXMuY29udHJvbCA/PyBudWxsKSksXG4gICAgICAgICAgICApLFxuICAgICAgICApLnBpcGUobWFwKCgpID0+IHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPz8gJycpKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogJyd9LFxuICAgICk7XG5cbiAgICAvLyBUT0RPOiBSZWZhY3RvciB0byBzaWduYWwgcXVlcmllcyB3aGVuIEFuZ3VsYXIgaXMgdXBkYXRlZFxuICAgIHB1YmxpYyByZWFkb25seSBhdXhpbGlhcmllcyA9IHRvU2lnbmFsPHJlYWRvbmx5IG9iamVjdFtdPihcbiAgICAgICAgdGhpcy5jb250ZW50UmVhZHkkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLmF1eGlsaWFyeVF1ZXJ5KSksXG4gICAgICAgICAgICBzdGFydFdpdGgoW10pLFxuICAgICAgICApLFxuICAgICAgICB7cmVxdWlyZVN5bmM6IHRydWV9LFxuICAgICk7XG5cbiAgICBASW5wdXQoJ2ZpbGxlcicpXG4gICAgcHVibGljIHNldCBmaWxsZXJTZXR0ZXIoZmlsbGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5maWxsZXIuc2V0KGZpbGxlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLmF1dG9JZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc2l6ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGVudFJlYWR5JC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVPcHRpb24ob3B0aW9uOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWNjZXNzb3I/LnNldFZhbHVlKG9wdGlvbik7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaGFzTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubGFiZWw/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkTm9kZXMubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25SZXNpemUoe2NvbnRlbnRSZWN0fTogUmVzaXplT2JzZXJ2ZXJFbnRyeSk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsLnN0eWxlLnNldFByb3BlcnR5KCctLXQtc2lkZScsIHR1aVB4KGNvbnRlbnRSZWN0LndpZHRoKSk7XG4gICAgfVxuXG4gICAgLy8gQ2xpY2sgb24gOjpiZWZvcmUsOjphZnRlciBwc2V1ZG8tZWxlbWVudHMgKFtpY29uU3RhcnRdIC8gW2ljb25FbmRdKVxuICAgIHByb3RlY3RlZCBvbkljb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy5lbCB8fCB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Lm1hdGNoZXMoJzpyZWFkLW9ubHknKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duLmNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMub3Blbi51cGRhdGUoKHgpID0+ICF4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cImlucHV0XCIgLz5cbjxuZy1jb250ZW50IHNlbGVjdD1cInNlbGVjdFwiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCJ0ZXh0YXJlYVwiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCJsYWJlbFwiIC8+XG48c3BhblxuICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAobW91c2Vkb3duLnByZXZlbnQpPVwiaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgICh3YVJlc2l6ZU9ic2VydmVyKT1cIiRldmVudFswXSAmJiBvblJlc2l6ZSgkZXZlbnRbMF0pXCJcbj5cbiAgICA8bmctY29udGVudCAvPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJvcHRpb25zLmNsZWFuZXIoKVwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1jbGVhclwiXG4gICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMuY2xvc2VcIlxuICAgICAgICAoY2xpY2spPVwiYWNjZXNzb3I/LnNldFZhbHVlKG51bGwpXCJcbiAgICAgICAgKHBvaW50ZXJkb3duLnpvbmVsZXNzLnByZXZlbnQpPVwiaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQ/LmZvY3VzKClcIlxuICAgID5cbiAgICAgICAge3sgY2xlYXIoKSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxuZy1jb250YWluZXIgI3ZjciAvPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aS1pY29uXCIgLz5cbjwvc3Bhbj5cbjxzcGFuXG4gICAgKm5nSWY9XCJjb250cm9sPy52YWx1ZSAhPSBudWxsXCJcbiAgICBjbGFzcz1cInQtdGVtcGxhdGVcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogY29udHJvbD8udmFsdWV9XCI+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvc3Bhbj5cbjxpbnB1dFxuICAgICpuZ0lmPVwic2hvd0ZpbGxlcigpXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIGRpc2FibGVkXG4gICAgY2xhc3M9XCJ0LWZpbGxlclwiXG4gICAgW3ZhbHVlXT1cImNvbXB1dGVkRmlsbGVyKClcIlxuLz5cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQvdGV4dGZpZWxkLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXJDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9FLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUMs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QztnQkFvQm5DLEdBQUc7c0JBRGxCLFNBQVM7dUJBQUMsS0FBSyxFQUFFLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSXhDLFFBQVE7c0JBRHZCLFlBQVk7dUJBQUMsc0JBQXNCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFDO2dCQU96QyxLQUFLO3NCQUpwQixZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFO3dCQUNuRCxJQUFJLEVBQUUsVUFBVTt3QkFDaEIsTUFBTSxFQUFFLElBQUk7cUJBQ2Y7Z0JBSU0sT0FBTztzQkFEYixLQUFLO2dCQTBCSyxZQUFZO3NCQUR0QixLQUFLO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50SW5pdCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGNvbXB1dGVkLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBzaWduYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7V2FSZXNpemVPYnNlcnZlcn0gZnJvbSAnQG5nLXdlYi1hcGlzL3Jlc2l6ZS1vYnNlcnZlcic7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aUNvbnRyb2xWYWx1ZSwgdHVpUXVlcnlMaXN0Q2hhbmdlc30gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdElkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlGb2N1c2VkSW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VHVpQnV0dG9uLCB0dWlCdXR0b25PcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB0eXBlIHtUdWlEYXRhTGlzdEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7XG4gICAgdHVpQXNEYXRhTGlzdEhvc3QsXG4gICAgVHVpV2l0aE9wdGlvbkNvbnRlbnQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7VHVpTGFiZWx9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBUdWlEcm9wZG93bkZpeGVkLFxuICAgIFR1aURyb3Bkb3duT3BlbixcbiAgICB0dWlEcm9wZG93bk9wZW4sXG4gICAgVHVpV2l0aERyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aVdpdGhJY29uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9pY29ucyc7XG5pbXBvcnQge1R1aVdpdGhJdGVtc0hhbmRsZXJzfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2l0ZW1zLWhhbmRsZXJzJztcbmltcG9ydCB7VFVJX0NMRUFSX1dPUkQsIFRVSV9DT01NT05fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWFwLCBtZXJnZSwgUmVwbGF5U3ViamVjdCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVRleHRmaWVsZERpcmVjdGl2ZX0gZnJvbSAnLi90ZXh0ZmllbGQuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX1RFWFRGSUVMRF9PUFRJT05TfSBmcm9tICcuL3RleHRmaWVsZC5vcHRpb25zJztcbmltcG9ydCB0eXBlIHtUdWlUZXh0ZmllbGRBY2Nlc3Nvcn0gZnJvbSAnLi90ZXh0ZmllbGQtYWNjZXNzb3InO1xuaW1wb3J0IHtUVUlfVEVYVEZJRUxEX0FDQ0VTU09SfSBmcm9tICcuL3RleHRmaWVsZC1hY2Nlc3Nvcic7XG5pbXBvcnQge1RVSV9BVVhJTElBUll9IGZyb20gJy4vdGV4dGZpZWxkLWF1eGlsaWFyeSc7XG5pbXBvcnQge1R1aVdpdGhUZXh0ZmllbGREcm9wZG93bn0gZnJvbSAnLi90ZXh0ZmllbGQtZHJvcGRvd24uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS10ZXh0ZmllbGQnLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXQsIFR1aUJ1dHRvbiwgV2FSZXNpemVPYnNlcnZlcl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RleHRmaWVsZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZXM6IFsnQGltcG9ydCBcIkB0YWlnYS11aS9jb3JlL3N0eWxlcy9jb21wb25lbnRzL3RleHRmaWVsZC5sZXNzXCI7J10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQnV0dG9uT3B0aW9uc1Byb3ZpZGVyKHtzaXplOiAneHMnLCBhcHBlYXJhbmNlOiAnaWNvbid9KSxcbiAgICAgICAgdHVpQXNEYXRhTGlzdEhvc3QoVHVpVGV4dGZpZWxkQ29tcG9uZW50KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aURyb3Bkb3duRGlyZWN0aXZlLFxuICAgICAgICBUdWlEcm9wZG93bkZpeGVkLFxuICAgICAgICBUdWlXaXRoRHJvcGRvd25PcGVuLFxuICAgICAgICBUdWlXaXRoSWNvbnMsXG4gICAgICAgIFR1aVdpdGhJdGVtc0hhbmRsZXJzLFxuICAgICAgICBUdWlXaXRoT3B0aW9uQ29udGVudCxcbiAgICAgICAgVHVpV2l0aFRleHRmaWVsZERyb3Bkb3duLFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zaXplXSc6ICdvcHRpb25zLnNpemUoKScsXG4gICAgICAgICdbY2xhc3MuX3dpdGgtbGFiZWxdJzogJ2hhc0xhYmVsJyxcbiAgICAgICAgJ1tjbGFzcy5fd2l0aC10ZW1wbGF0ZV0nOiAnY29udGVudCcsXG4gICAgICAgICdbY2xhc3MuX2Rpc2FibGVkXSc6ICdpbnB1dD8ubmF0aXZlRWxlbWVudC5kaXNhYmxlZCcsXG4gICAgICAgICcobW91c2Vkb3duKSc6ICdvbkljb25DbGljaygkZXZlbnQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlUZXh0ZmllbGRDb21wb25lbnQ8VD4gaW1wbGVtZW50cyBUdWlEYXRhTGlzdEhvc3Q8VD4sIEFmdGVyQ29udGVudEluaXQge1xuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbGxlciA9IHNpZ25hbCgnJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRvSWQgPSB0dWlJbmplY3RJZCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25PcGVuID0gaW5qZWN0KFR1aURyb3Bkb3duT3Blbik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcGVuID0gdHVpRHJvcGRvd25PcGVuKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb2N1c2VkSW4gPSB0dWlGb2N1c2VkSW4odHVpSW5qZWN0RWxlbWVudCgpKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRSZWFkeSQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBUdWlMYWJlbCksIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFiZWw/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGQoTmdDb250cm9sKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250cm9sPzogTmdDb250cm9sO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUVUlfQVVYSUxJQVJZLCB7ZGVzY2VuZGFudHM6IHRydWV9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBhdXhpbGlhcnlRdWVyeTogUXVlcnlMaXN0PG9iamVjdD4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfQ09NTU9OX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2xlYXIgPSB0b1NpZ25hbChpbmplY3QoVFVJX0NMRUFSX1dPUkQpKTtcblxuICAgIHByb3RlY3RlZCBjb21wdXRlZEZpbGxlciA9IGNvbXB1dGVkKCh2YWx1ZSA9IHRoaXMudmFsdWUoKSkgPT4ge1xuICAgICAgICBjb25zdCBmaWxsZWRWYWx1ZSA9IHZhbHVlICsgdGhpcy5maWxsZXIoKS5zbGljZSh2YWx1ZS5sZW5ndGgpO1xuXG4gICAgICAgIHJldHVybiBmaWxsZWRWYWx1ZS5sZW5ndGggPiB2YWx1ZS5sZW5ndGggPyBmaWxsZWRWYWx1ZSA6ICcnO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIHNob3dGaWxsZXIgPSBjb21wdXRlZDxib29sZWFuPihcbiAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCgpICYmXG4gICAgICAgICAgICAhIXRoaXMuY29tcHV0ZWRGaWxsZXIoKSAmJlxuICAgICAgICAgICAgKCEhdGhpcy52YWx1ZSgpIHx8ICF0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50LnBsYWNlaG9sZGVyKSxcbiAgICApO1xuXG4gICAgQFZpZXdDaGlsZCgndmNyJywge3JlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IHZjcj86IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKFRVSV9URVhURklFTERfQUNDRVNTT1IsIHtkZXNjZW5kYW50czogdHJ1ZX0pXG4gICAgcHVibGljIHJlYWRvbmx5IGFjY2Vzc29yPzogVHVpVGV4dGZpZWxkQWNjZXNzb3I8VD47XG5cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gVHVpVGV4dGZpZWxkRGlyZWN0aXZlKSwge1xuICAgICAgICByZWFkOiBFbGVtZW50UmVmLFxuICAgICAgICBzdGF0aWM6IHRydWUsXG4gICAgfSlcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5wdXQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PFQ+PjtcblxuICAgIHB1YmxpYyByZWFkb25seSBmb2N1c2VkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5vcGVuKCkgfHwgdGhpcy5mb2N1c2VkSW4oKSk7XG4gICAgcHVibGljIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX1RFWFRGSUVMRF9PUFRJT05TKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IHZhbHVlID0gdG9TaWduYWwoXG4gICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgZnJvbUV2ZW50KHR1aUluamVjdEVsZW1lbnQoKSwgJ2lucHV0JyksXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRSZWFkeSQucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdHVpQ29udHJvbFZhbHVlKHRoaXMuY29udHJvbCA/PyBudWxsKSksXG4gICAgICAgICAgICApLFxuICAgICAgICApLnBpcGUobWFwKCgpID0+IHRoaXMuaW5wdXQ/Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPz8gJycpKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogJyd9LFxuICAgICk7XG5cbiAgICAvLyBUT0RPOiBSZWZhY3RvciB0byBzaWduYWwgcXVlcmllcyB3aGVuIEFuZ3VsYXIgaXMgdXBkYXRlZFxuICAgIHB1YmxpYyByZWFkb25seSBhdXhpbGlhcmllcyA9IHRvU2lnbmFsPHJlYWRvbmx5IG9iamVjdFtdPihcbiAgICAgICAgdGhpcy5jb250ZW50UmVhZHkkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLmF1eGlsaWFyeVF1ZXJ5KSksXG4gICAgICAgICAgICBzdGFydFdpdGgoW10pLFxuICAgICAgICApLFxuICAgICAgICB7cmVxdWlyZVN5bmM6IHRydWV9LFxuICAgICk7XG5cbiAgICBASW5wdXQoJ2ZpbGxlcicpXG4gICAgcHVibGljIHNldCBmaWxsZXJTZXR0ZXIoZmlsbGVyOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5maWxsZXIuc2V0KGZpbGxlcik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5pZCB8fCB0aGlzLmF1dG9JZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc2l6ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGVudFJlYWR5JC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVPcHRpb24ob3B0aW9uOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWNjZXNzb3I/LnNldFZhbHVlKG9wdGlvbik7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaGFzTGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKHRoaXMubGFiZWw/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkTm9kZXMubGVuZ3RoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25SZXNpemUoe2NvbnRlbnRSZWN0fTogUmVzaXplT2JzZXJ2ZXJFbnRyeSk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsLnN0eWxlLnNldFByb3BlcnR5KCctLXQtc2lkZScsIHR1aVB4KGNvbnRlbnRSZWN0LndpZHRoKSk7XG4gICAgfVxuXG4gICAgLy8gQ2xpY2sgb24gOjpiZWZvcmUsOjphZnRlciBwc2V1ZG8tZWxlbWVudHMgKFtpY29uU3RhcnRdIC8gW2ljb25FbmRdKVxuICAgIHByb3RlY3RlZCBvbkljb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldCAhPT0gdGhpcy5lbCB8fCB0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50Lm1hdGNoZXMoJzpyZWFkLW9ubHknKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuXG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duT3Blbi50dWlEcm9wZG93bkVuYWJsZWQgJiYgdGhpcy5kcm9wZG93bi5jb250ZW50KSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4udXBkYXRlKCh4KSA9PiAheCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJpbnB1dFwiIC8+XG48bmctY29udGVudCBzZWxlY3Q9XCJzZWxlY3RcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwidGV4dGFyZWFcIiAvPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwibGFiZWxcIiAvPlxuPHNwYW5cbiAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgKG1vdXNlZG93bi5wcmV2ZW50KT1cImlucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpXCJcbiAgICAod2FSZXNpemVPYnNlcnZlcik9XCIkZXZlbnRbMF0gJiYgb25SZXNpemUoJGV2ZW50WzBdKVwiXG4+XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwib3B0aW9ucy5jbGVhbmVyKClcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtY2xlYXJcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmNsb3NlXCJcbiAgICAgICAgKGNsaWNrKT1cImFjY2Vzc29yPy5zZXRWYWx1ZShudWxsKVwiXG4gICAgICAgIChwb2ludGVyZG93bi56b25lbGVzcy5wcmV2ZW50KT1cImlucHV0Py5uYXRpdmVFbGVtZW50Py5mb2N1cygpXCJcbiAgICA+XG4gICAgICAgIHt7IGNsZWFyKCkgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8bmctY29udGFpbmVyICN2Y3IgLz5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWktaWNvblwiIC8+XG48L3NwYW4+XG48c3BhblxuICAgICpuZ0lmPVwiY29udHJvbD8udmFsdWUgIT0gbnVsbFwiXG4gICAgY2xhc3M9XCJ0LXRlbXBsYXRlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvbnRyb2w/LnZhbHVlfVwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L3NwYW4+XG48aW5wdXRcbiAgICAqbmdJZj1cInNob3dGaWxsZXIoKVwiXG4gICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICBkaXNhYmxlZFxuICAgIGNsYXNzPVwidC1maWxsZXJcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZEZpbGxlcigpXCJcbi8+XG4iXX0=
@@ -19,7 +19,8 @@ function shouldClose(event) {
19
19
  return (
20
20
  // @ts-ignore
21
21
  typeof CloseWatcher === 'undefined' &&
22
- event.key.toLowerCase() === 'escape' &&
22
+ // ?. for auto fill events
23
+ event.key?.toLowerCase() === 'escape' &&
23
24
  this.tuiDropdownEnabled &&
24
25
  !!this.tuiDropdownOpen &&
25
26
  !this['dropdown']()?.nextElementSibling);
@@ -164,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
164
165
  }], tuiDropdownOpenChange: [{
165
166
  type: Output
166
167
  }], onEsc: [] } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUNILGVBQWUsRUFDZixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsR0FDZCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNILHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsNEJBQTRCLEdBQy9CLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFE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Q1g7NEJBQ0ksU0FBUyxFQUFFLGFBQWE7NEJBQ3hCLE1BQU0sRUFBRSxDQUFDLHFCQUFxQixDQUFDOzRCQUMvQixPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzt5QkFDbkM7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLFNBQVMsRUFBRSx3QkFBd0I7d0JBQ25DLHFCQUFxQixFQUFFLHdCQUF3Qjt3QkFDL0MsbUJBQW1CLEVBQUUsdUJBQXVCO3dCQUM1QyxxQ0FBcUMsRUFBRSxlQUFlO3dCQUN0RCw2QkFBNkIsRUFBRSxtQkFBbUI7d0JBQ2xELCtHQUErRzt3QkFDL0csdUJBQXVCLEVBQUUsR0FBRztxQkFDL0I7aUJBQ0o7OEJBR29CLFlBQVk7c0JBRDVCLFlBQVk7dUJBQUMsaUJBQWlCLEVBQUUsRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUM7Z0JBYS9ELGtCQUFrQjtzQkFEeEIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlVLHFCQUFxQjtzQkFEcEMsTUFBTTtnQkErQ0csS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBjb21wdXRlZCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2FjdGl2ZS16b25lJztcbmltcG9ydCB7VHVpT2JzY3VyZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9vYnNjdXJlZCc7XG5pbXBvcnQge1xuICAgIHR1aUNsb3NlV2F0Y2hlcixcbiAgICB0dWlJZk1hcCxcbiAgICB0dWlXYXRjaCxcbiAgICB0dWlab25lZnVsbCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1xuICAgIHR1aUdldEFjdHVhbFRhcmdldCxcbiAgICB0dWlJbmplY3RFbGVtZW50LFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc0VsZW1lbnRFZGl0YWJsZSxcbiAgICB0dWlJc0hUTUxFbGVtZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge1xuICAgIHR1aUdldENsb3Nlc3RGb2N1c2FibGUsXG4gICAgdHVpSXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgdHVpSXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUFzRHJpdmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHVpSXNFZGl0aW5nS2V5fSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7c2hvdWxkQ2FsbH0gZnJvbSAnQHRhaWdhLXVpL2V2ZW50LXBsdWdpbnMnO1xuaW1wb3J0IHtmaWx0ZXIsIGZyb21FdmVudCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aURyb3Bkb3duRHJpdmVyfSBmcm9tICcuL2Ryb3Bkb3duLmRyaXZlcic7XG5cbmZ1bmN0aW9uIHNob3VsZENsb3NlKHRoaXM6IFR1aURyb3Bkb3duT3BlbiwgZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHR5cGVvZiBDbG9zZVdhdGNoZXIgPT09ICd1bmRlZmluZWQnICYmXG4gICAgICAgIGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAnZXNjYXBlJyAmJlxuICAgICAgICB0aGlzLnR1aURyb3Bkb3duRW5hYmxlZCAmJlxuICAgICAgICAhIXRoaXMudHVpRHJvcGRvd25PcGVuICYmXG4gICAgICAgICF0aGlzWydkcm9wZG93biddKCk/Lm5leHRFbGVtZW50U2libGluZ1xuICAgICk7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25dW3R1aURyb3Bkb3duT3Blbl0sW3R1aURyb3Bkb3duXVt0dWlEcm9wZG93bk9wZW5DaGFuZ2VdJyxcbiAgICBwcm92aWRlcnM6IFtUdWlEcm9wZG93bkRyaXZlciwgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25Ecml2ZXIpXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICBUdWlPYnNjdXJlZCxcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlBY3RpdmVab25lLFxuICAgICAgICAgICAgaW5wdXRzOiBbJ3R1aUFjdGl2ZVpvbmVQYXJlbnQnXSxcbiAgICAgICAgICAgIG91dHB1dHM6IFsndHVpQWN0aXZlWm9uZUNoYW5nZSddLFxuICAgICAgICB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICdvbkNsaWNrKCRldmVudC50YXJnZXQpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93RG93biknOiAnb25BcnJvdygkZXZlbnQsIGZhbHNlKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwKSc6ICdvbkFycm93KCRldmVudCwgdHJ1ZSknLFxuICAgICAgICAnKGRvY3VtZW50OmtleWRvd24uem9uZWxlc3MuY2FwdHVyZSknOiAnb25Fc2MoJGV2ZW50KScsXG4gICAgICAgICcoZG9jdW1lbnQ6a2V5ZG93bi56b25lbGVzcyknOiAnb25LZXlkb3duKCRldmVudCknLFxuICAgICAgICAvLyBUT0RPOiBOZWNlc3NhcnkgYmVjYXVzZSBzdGFydFdpdGgoZmFsc2UpICsgZGlzdGluY3RVbnRpbENoYW5nZWQoKSBpbiBUdWlBY3RpdmVab25lLCB0aGluayBvZiBiZXR0ZXIgc29sdXRpb25cbiAgICAgICAgJyh0dWlBY3RpdmVab25lQ2hhbmdlKSc6ICcwJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bk9wZW4gaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBDb250ZW50Q2hpbGQoJ3R1aURyb3Bkb3duSG9zdCcsIHtkZXNjZW5kYW50czogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93bkhvc3Q/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlyZWN0aXZlID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb2JzY3VyZWQgPSBpbmplY3QoVHVpT2JzY3VyZWQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZlWm9uZSA9IGluamVjdChUdWlBY3RpdmVab25lKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd24gPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT4gdGhpcy5kaXJlY3RpdmUucmVmKCk/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQsXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aURyb3Bkb3duRW5hYmxlZCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlEcm9wZG93bk9wZW46IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IHR1aURyb3Bkb3duT3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8vIFRPRE86IG1ha2UgaXQgcHJpdmF0ZSB3aGVuIGFsbCBsZWdhY3kgY29udHJvbHMgd2lsbCBiZSBkZWxldGVkIGZyb20gQHRhaWdhLXVpL2xlZ2FjeSAoNS4wKVxuICAgIHB1YmxpYyByZWFkb25seSBkcml2ZXIgPSBpbmplY3QoVHVpRHJvcGRvd25Ecml2ZXIpO1xuICAgIHB1YmxpYyByZWFkb25seSBzdWIgPSB0aGlzLmRyaXZlclxuICAgICAgICAucGlwZShcbiAgICAgICAgICAgIHR1aUlmTWFwKCgpID0+XG4gICAgICAgICAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIHR1aUNsb3NlV2F0Y2hlcigpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9ic2N1cmVkLnR1aU9ic2N1cmVkLnBpcGUoZmlsdGVyKEJvb2xlYW4pKSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVab25lLnR1aUFjdGl2ZVpvbmVDaGFuZ2UucGlwZShmaWx0ZXIoKGEpID0+ICFhKSksXG4gICAgICAgICAgICAgICAgICAgIGZyb21FdmVudCh0aGlzLmVsLCAnZm9jdXNpbicpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5ob3N0LmNvbnRhaW5zKHR1aUdldEFjdHVhbFRhcmdldChldmVudCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmRpcmVjdGl2ZS5yZWYoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0dWlab25lZnVsbCgpLFxuICAgICAgICAgICAgdHVpV2F0Y2goKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGUoZmFsc2UpKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBzeW5jID0gdGhpcy5kcml2ZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKChvcGVuKSA9PiB7XG4gICAgICAgIGlmIChvcGVuICE9PSB0aGlzLnR1aURyb3Bkb3duT3Blbikge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUob3Blbik7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcml2ZSghIXRoaXMudHVpRHJvcGRvd25PcGVuKTtcbiAgICAgICAgdGhpcy50dWlEcm9wZG93bk9wZW5DaGFuZ2UuZW1pdCghIXRoaXMudHVpRHJvcGRvd25PcGVuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiAhb3Blbikge1xuICAgICAgICAgICAgdGhpcy5ob3N0LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZShvcGVuKTtcbiAgICB9XG5cbiAgICBAc2hvdWxkQ2FsbChzaG91bGRDbG9zZSlcbiAgICBwcm90ZWN0ZWQgb25Fc2MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy50b2dnbGUoZmFsc2UpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRhYmxlICYmIHRoaXMuaG9zdC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSghdGhpcy50dWlEcm9wZG93bk9wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXJyb3coZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHVwOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICF0dWlJc0VsZW1lbnQoZXZlbnQudGFyZ2V0KSB8fFxuICAgICAgICAgICAgIXRoaXMuaG9zdC5jb250YWlucyhldmVudC50YXJnZXQpIHx8XG4gICAgICAgICAgICAhdGhpcy50dWlEcm9wZG93bkVuYWJsZWQgfHxcbiAgICAgICAgICAgICF0aGlzLmRpcmVjdGl2ZS5jb250ZW50XG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5mb2N1c0Ryb3Bkb3duKHVwKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25LZXlkb3duKHtrZXksIHRhcmdldCwgZGVmYXVsdFByZXZlbnRlZH06IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWRlZmF1bHRQcmV2ZW50ZWQgJiZcbiAgICAgICAgICAgIHR1aUlzRWRpdGluZ0tleShrZXkpICYmXG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlICYmXG4gICAgICAgICAgICB0aGlzLmZvY3VzZWQgJiZcbiAgICAgICAgICAgIHR1aUlzSFRNTEVsZW1lbnQodGFyZ2V0KSAmJlxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudEVkaXRhYmxlKHRhcmdldClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGhvc3QoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBpbml0aWFsID0gdGhpcy5kcm9wZG93bkhvc3Q/Lm5hdGl2ZUVsZW1lbnQgfHwgdGhpcy5lbDtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gdHVpSXNOYXRpdmVLZXlib2FyZEZvY3VzYWJsZShpbml0aWFsKVxuICAgICAgICAgICAgPyBpbml0aWFsXG4gICAgICAgICAgICA6IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe2luaXRpYWwsIHJvb3Q6IHRoaXMuZWx9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93bkhvc3Q/Lm5hdGl2ZUVsZW1lbnQgfHwgZm9jdXNhYmxlIHx8IHRoaXMuZWw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc0VsZW1lbnRFZGl0YWJsZSh0aGlzLmhvc3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGZvY3VzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc05hdGl2ZUZvY3VzZWRJbih0aGlzLmhvc3QpIHx8IHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZHJvcGRvd24oKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAob3BlbiAmJiAhdGhpcy50dWlEcm9wZG93bkVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRyaXZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnR1aURyb3Bkb3duT3BlbiA9IG9wZW47XG4gICAgICAgIHRoaXMudHVpRHJvcGRvd25PcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgICAgIHRoaXMuZHJpdmUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRyaXZlKG9wZW4gPSAhIXRoaXMudHVpRHJvcGRvd25PcGVuICYmIHRoaXMudHVpRHJvcGRvd25FbmFibGVkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub2JzY3VyZWQudHVpT2JzY3VyZWRFbmFibGVkID0gb3BlbjtcbiAgICAgICAgdGhpcy5kcml2ZXIubmV4dChvcGVuKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzRHJvcGRvd24ocHJldmlvdXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXMuZHJvcGRvd24oKTtcblxuICAgICAgICBpZiAoIXJvb3QpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKHRydWUpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkb2MgPSB0aGlzLmVsLm93bmVyRG9jdW1lbnQ7XG4gICAgICAgIGNvbnN0IGNoaWxkID0gcm9vdC5hcHBlbmRDaGlsZChkb2MuY3JlYXRlRWxlbWVudCgnZGl2JykpO1xuICAgICAgICBjb25zdCBpbml0aWFsID0gcHJldmlvdXMgPyBjaGlsZCA6IHJvb3Q7XG4gICAgICAgIGNvbnN0IGZvY3VzYWJsZSA9IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe2luaXRpYWwsIHByZXZpb3VzLCByb290fSk7XG5cbiAgICAgICAgY2hpbGQucmVtb3ZlKCk7XG4gICAgICAgIGZvY3VzYWJsZT8uZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tb3Blbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDSCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUNILGVBQWUsRUFDZixRQUFRLEVBQ1IsUUFBUSxFQUNSLFdBQVcsR0FDZCxNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsZ0JBQWdCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUNILHNCQUFzQixFQUN0QixvQkFBb0IsRUFDcEIsNEJBQTRCLEdBQy9CLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFE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QkFDWixXQUFXO3dCQUNYOzRCQUNJLFNBQVMsRUFBRSxhQUFhOzRCQUN4QixNQUFNLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzs0QkFDL0IsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7eUJBQ25DO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRixTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxxQkFBcUIsRUFBRSx3QkFBd0I7d0JBQy9DLG1CQUFtQixFQUFFLHVCQUF1Qjt3QkFDNUMscUNBQXFDLEVBQUUsZUFBZTt3QkFDdEQsNkJBQTZCLEVBQUUsbUJBQW1CO3dCQUNsRCwrR0FBK0c7d0JBQy9HLHVCQUF1QixFQUFFLEdBQUc7cUJBQy9CO2lCQUNKOzhCQUdvQixZQUFZO3NCQUQ1QixZQUFZO3VCQUFDLGlCQUFpQixFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFDO2dCQWEvRCxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBSUMsZUFBZTtzQkFEckIsS0FBSztnQkFJVSxxQkFBcUI7c0JBRHBDLE1BQU07Z0JBK0NHLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7T25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgY29tcHV0ZWQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aU9ic2N1cmVkfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvb2JzY3VyZWQnO1xuaW1wb3J0IHtcbiAgICB0dWlDbG9zZVdhdGNoZXIsXG4gICAgdHVpSWZNYXAsXG4gICAgdHVpV2F0Y2gsXG4gICAgdHVpWm9uZWZ1bGwsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlHZXRBY3R1YWxUYXJnZXQsXG4gICAgdHVpSW5qZWN0RWxlbWVudCxcbiAgICB0dWlJc0VsZW1lbnQsXG4gICAgdHVpSXNFbGVtZW50RWRpdGFibGUsXG4gICAgdHVpSXNIVE1MRWxlbWVudCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtcbiAgICB0dWlHZXRDbG9zZXN0Rm9jdXNhYmxlLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZEluLFxuICAgIHR1aUlzTmF0aXZlS2V5Ym9hcmRGb2N1c2FibGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlBc0RyaXZlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge3R1aUlzRWRpdGluZ0tleX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3Nob3VsZENhbGx9IGZyb20gJ0B0YWlnYS11aS9ldmVudC1wbHVnaW5zJztcbmltcG9ydCB7ZmlsdGVyLCBmcm9tRXZlbnQsIG1lcmdlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEcm9wZG93bkRpcmVjdGl2ZX0gZnJvbSAnLi9kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlEcm9wZG93bkRyaXZlcn0gZnJvbSAnLi9kcm9wZG93bi5kcml2ZXInO1xuXG5mdW5jdGlvbiBzaG91bGRDbG9zZSh0aGlzOiBUdWlEcm9wZG93bk9wZW4sIGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICB0eXBlb2YgQ2xvc2VXYXRjaGVyID09PSAndW5kZWZpbmVkJyAmJlxuICAgICAgICAvLyA/LiBmb3IgYXV0byBmaWxsIGV2ZW50c1xuICAgICAgICBldmVudC5rZXk/LnRvTG93ZXJDYXNlKCkgPT09ICdlc2NhcGUnICYmXG4gICAgICAgIHRoaXMudHVpRHJvcGRvd25FbmFibGVkICYmXG4gICAgICAgICEhdGhpcy50dWlEcm9wZG93bk9wZW4gJiZcbiAgICAgICAgIXRoaXNbJ2Ryb3Bkb3duJ10oKT8ubmV4dEVsZW1lbnRTaWJsaW5nXG4gICAgKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl1bdHVpRHJvcGRvd25PcGVuXSxbdHVpRHJvcGRvd25dW3R1aURyb3Bkb3duT3BlbkNoYW5nZV0nLFxuICAgIHByb3ZpZGVyczogW1R1aURyb3Bkb3duRHJpdmVyLCB0dWlBc0RyaXZlcihUdWlEcm9wZG93bkRyaXZlcildLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIFR1aU9ic2N1cmVkLFxuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFR1aUFjdGl2ZVpvbmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsndHVpQWN0aXZlWm9uZVBhcmVudCddLFxuICAgICAgICAgICAgb3V0cHV0czogWyd0dWlBY3RpdmVab25lQ2hhbmdlJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50LnRhcmdldCknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duKSc6ICdvbkFycm93KCRldmVudCwgZmFsc2UpJyxcbiAgICAgICAgJyhrZXlkb3duLmFycm93VXApJzogJ29uQXJyb3coJGV2ZW50LCB0cnVlKScsXG4gICAgICAgICcoZG9jdW1lbnQ6a2V5ZG93bi56b25lbGVzcy5jYXB0dXJlKSc6ICdvbkVzYygkZXZlbnQpJyxcbiAgICAgICAgJyhkb2N1bWVudDprZXlkb3duLnpvbmVsZXNzKSc6ICdvbktleWRvd24oJGV2ZW50KScsXG4gICAgICAgIC8vIFRPRE86IE5lY2Vzc2FyeSBiZWNhdXNlIHN0YXJ0V2l0aChmYWxzZSkgKyBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpIGluIFR1aUFjdGl2ZVpvbmUsIHRoaW5rIG9mIGJldHRlciBzb2x1dGlvblxuICAgICAgICAnKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpJzogJzAnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURyb3Bkb3duT3BlbiBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQENvbnRlbnRDaGlsZCgndHVpRHJvcGRvd25Ib3N0Jywge2Rlc2NlbmRhbnRzOiB0cnVlLCByZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRyb3Bkb3duSG9zdD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXJlY3RpdmUgPSBpbmplY3QoVHVpRHJvcGRvd25EaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNjdXJlZCA9IGluamVjdChUdWlPYnNjdXJlZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVab25lID0gaW5qZWN0KFR1aUFjdGl2ZVpvbmUpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93biA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiB0aGlzLmRpcmVjdGl2ZS5yZWYoKT8ubG9jYXRpb24ubmF0aXZlRWxlbWVudCxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpRHJvcGRvd25FbmFibGVkID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aURyb3Bkb3duT3BlbjogYm9vbGVhbiB8ICcnID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHVpRHJvcGRvd25PcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLy8gVE9ETzogbWFrZSBpdCBwcml2YXRlIHdoZW4gYWxsIGxlZ2FjeSBjb250cm9scyB3aWxsIGJlIGRlbGV0ZWQgZnJvbSBAdGFpZ2EtdWkvbGVnYWN5ICg1LjApXG4gICAgcHVibGljIHJlYWRvbmx5IGRyaXZlciA9IGluamVjdChUdWlEcm9wZG93bkRyaXZlcik7XG4gICAgcHVibGljIHJlYWRvbmx5IHN1YiA9IHRoaXMuZHJpdmVyXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgdHVpSWZNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICAgICAgdHVpQ2xvc2VXYXRjaGVyKCksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub2JzY3VyZWQudHVpT2JzY3VyZWQucGlwZShmaWx0ZXIoQm9vbGVhbikpLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVpvbmUudHVpQWN0aXZlWm9uZUNoYW5nZS5waXBlKGZpbHRlcigoYSkgPT4gIWEpKSxcbiAgICAgICAgICAgICAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWwsICdmb2N1c2luJykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICF0aGlzLmhvc3QuY29udGFpbnModHVpR2V0QWN0dWFsVGFyZ2V0KGV2ZW50KSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuZGlyZWN0aXZlLnJlZigpLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHR1aVpvbmVmdWxsKCksXG4gICAgICAgICAgICB0dWlXYXRjaCgpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZShmYWxzZSkpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHN5bmMgPSB0aGlzLmRyaXZlci5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKG9wZW4pID0+IHtcbiAgICAgICAgaWYgKG9wZW4gIT09IHRoaXMudHVpRHJvcGRvd25PcGVuKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZShvcGVuKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRyaXZlKCEhdGhpcy50dWlEcm9wZG93bk9wZW4pO1xuICAgICAgICB0aGlzLnR1aURyb3Bkb3duT3BlbkNoYW5nZS5lbWl0KCEhdGhpcy50dWlEcm9wZG93bk9wZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2VkICYmICFvcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3QuZm9jdXMoe3ByZXZlbnRTY3JvbGw6IHRydWV9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlKG9wZW4pO1xuICAgIH1cblxuICAgIEBzaG91bGRDYWxsKHNob3VsZENsb3NlKVxuICAgIHByb3RlY3RlZCBvbkVzYyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnRvZ2dsZShmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQ2xpY2sodGFyZ2V0OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZWRpdGFibGUgJiYgdGhpcy5ob3N0LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlKCF0aGlzLnR1aURyb3Bkb3duT3Blbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BcnJvdyhldmVudDogS2V5Ym9hcmRFdmVudCwgdXA6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXR1aUlzRWxlbWVudChldmVudC50YXJnZXQpIHx8XG4gICAgICAgICAgICAhdGhpcy5ob3N0LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHxcbiAgICAgICAgICAgICF0aGlzLnR1aURyb3Bkb3duRW5hYmxlZCB8fFxuICAgICAgICAgICAgIXRoaXMuZGlyZWN0aXZlLmNvbnRlbnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzRHJvcGRvd24odXApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbktleWRvd24oe2tleSwgdGFyZ2V0LCBkZWZhdWx0UHJldmVudGVkfTogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZGVmYXVsdFByZXZlbnRlZCAmJlxuICAgICAgICAgICAgdHVpSXNFZGl0aW5nS2V5KGtleSkgJiZcbiAgICAgICAgICAgIHRoaXMuZWRpdGFibGUgJiZcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCAmJlxuICAgICAgICAgICAgdHVpSXNIVE1MRWxlbWVudCh0YXJnZXQpICYmXG4gICAgICAgICAgICAhdHVpSXNFbGVtZW50RWRpdGFibGUodGFyZ2V0KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdC5mb2N1cyh7cHJldmVudFNjcm9sbDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgaG9zdCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCB0aGlzLmVsO1xuICAgICAgICBjb25zdCBmb2N1c2FibGUgPSB0dWlJc05hdGl2ZUtleWJvYXJkRm9jdXNhYmxlKGluaXRpYWwpXG4gICAgICAgICAgICA/IGluaXRpYWxcbiAgICAgICAgICAgIDogdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbCwgcm9vdDogdGhpcy5lbH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmRyb3Bkb3duSG9zdD8ubmF0aXZlRWxlbWVudCB8fCBmb2N1c2FibGUgfHwgdGhpcy5lbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzRWxlbWVudEVkaXRhYmxlKHRoaXMuaG9zdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZEluKHRoaXMuaG9zdCkgfHwgdHVpSXNOYXRpdmVGb2N1c2VkSW4odGhpcy5kcm9wZG93bigpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChvcGVuICYmICF0aGlzLnR1aURyb3Bkb3duRW5hYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZHJpdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudHVpRHJvcGRvd25PcGVuID0gb3BlbjtcbiAgICAgICAgdGhpcy50dWlEcm9wZG93bk9wZW5DaGFuZ2UuZW1pdChvcGVuKTtcbiAgICAgICAgdGhpcy5kcml2ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZHJpdmUob3BlbiA9ICEhdGhpcy50dWlEcm9wZG93bk9wZW4gJiYgdGhpcy50dWlEcm9wZG93bkVuYWJsZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNjdXJlZC50dWlPYnNjdXJlZEVuYWJsZWQgPSBvcGVuO1xuICAgICAgICB0aGlzLmRyaXZlci5uZXh0KG9wZW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9jdXNEcm9wZG93bihwcmV2aW91czogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBjb25zdCByb290ID0gdGhpcy5kcm9wZG93bigpO1xuXG4gICAgICAgIGlmICghcm9vdCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGUodHJ1ZSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRvYyA9IHRoaXMuZWwub3duZXJEb2N1bWVudDtcbiAgICAgICAgY29uc3QgY2hpbGQgPSByb290LmFwcGVuZENoaWxkKGRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKSk7XG4gICAgICAgIGNvbnN0IGluaXRpYWwgPSBwcmV2aW91cyA/IGNoaWxkIDogcm9vdDtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbCwgcHJldmlvdXMsIHJvb3R9KTtcblxuICAgICAgICBjaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgZm9jdXNhYmxlPy5mb2N1cygpO1xuICAgIH1cbn1cbiJdfQ==
@@ -8,7 +8,7 @@ import { tuiIsString, tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
8
8
  import { tuiAsDriver, tuiAsRectAccessor, TuiDriver } from '@taiga-ui/core/classes';
9
9
  import { TUI_SELECTION_STREAM } from '@taiga-ui/core/tokens';
10
10
  import { tuiGetWordRange } from '@taiga-ui/core/utils';
11
- import { BehaviorSubject, combineLatest, distinctUntilChanged, map } from 'rxjs';
11
+ import { BehaviorSubject, combineLatest, distinctUntilChanged, filter, map } from 'rxjs';
12
12
  import { TuiDropdownDirective } from './dropdown.directive';
13
13
  import * as i0 from "@angular/core";
14
14
  class TuiDropdownSelection extends TuiDriver {
@@ -21,7 +21,7 @@ class TuiDropdownSelection extends TuiDriver {
21
21
  this.handler$ = new BehaviorSubject(TUI_TRUE_HANDLER);
22
22
  this.stream$ = combineLatest([
23
23
  this.handler$,
24
- inject(TUI_SELECTION_STREAM).pipe(map(() => this.getRange()), distinctUntilChanged((x, y) => x.startOffset === y.startOffset &&
24
+ inject(TUI_SELECTION_STREAM).pipe(map(() => this.getRange()), filter((range) => this.isValid(range)), distinctUntilChanged((x, y) => x.startOffset === y.startOffset &&
25
25
  x.endOffset === y.endOffset &&
26
26
  x.commonAncestorContainer === y.commonAncestorContainer)),
27
27
  ]).pipe(map(([handler, range]) => {
@@ -87,6 +87,14 @@ class TuiDropdownSelection extends TuiDriver {
87
87
  boxContains(node) {
88
88
  return !!this.dropdown.ref()?.location.nativeElement.contains(node);
89
89
  }
90
+ /**
91
+ * Check if range is not inside tui-textfield's DOM elements
92
+ */
93
+ isValid(range) {
94
+ return (!this.el.contains(range.commonAncestorContainer) ||
95
+ !this.el.closest('tui-textfield') ||
96
+ range.intersectsNode(this.ghost || this.el));
97
+ }
90
98
  veryVerySadInputFix(element) {
91
99
  const { ghost = this.initGhost(element) } = this;
92
100
  const { top, left, width, height } = element.getBoundingClientRect();
@@ -107,11 +115,13 @@ class TuiDropdownSelection extends TuiDriver {
107
115
  */
108
116
  initGhost(element) {
109
117
  const ghost = this.doc.createElement('div');
110
- const { font, letterSpacing, textTransform, padding } = getComputedStyle(element);
118
+ const { font, letterSpacing, textTransform, padding, borderTop } = getComputedStyle(element);
111
119
  ghost.style.position = 'absolute';
112
120
  ghost.style.pointerEvents = 'none';
113
121
  ghost.style.opacity = '0';
114
122
  ghost.style.whiteSpace = 'pre-wrap';
123
+ ghost.style.boxSizing = 'border-box';
124
+ ghost.style.borderTop = borderTop;
115
125
  ghost.style.font = font;
116
126
  ghost.style.letterSpacing = letterSpacing;
117
127
  ghost.style.textTransform = textTransform;
@@ -143,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
143
153
  }], tuiDropdownSelection: [{
144
154
  type: Input
145
155
  }] } });
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUNILG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNuQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUvQyxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxHQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUUsS0FBSyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRS9FLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUUxRCxNQVFhLG9CQUNULFNBQVEs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QUFDLG9CQUFvQixDQUFDO1lBQ2pDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDO1NBQzFDOztTQUVRLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxTQUFTLEVBQUU7d0JBQ1AsV0FBVyxzQkFBc0I7d0JBQ2pDLGlCQUFpQixzQkFBc0I7cUJBQzFDO2lCQUNKOzBFQTBDVSxRQUFRO3NCQURkLEtBQUs7dUJBQUMsOEJBQThCO2dCQVUxQixvQkFBb0I7c0JBRDlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge09uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgQ0hBUl9aRVJPX1dJRFRIX1NQQUNFLFxuICAgIEVNUFRZX0NMSUVOVF9SRUNULFxuICAgIFRVSV9UUlVFX0hBTkRMRVIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VFVJX1JBTkdFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICB0dWlJbmplY3RFbGVtZW50LFxuICAgIHR1aUlzRWxlbWVudCxcbiAgICB0dWlJc1RleHRmaWVsZCxcbiAgICB0dWlJc1RleHROb2RlLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUdldE5hdGl2ZUZvY3VzZWR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZm9jdXMnO1xuaW1wb3J0IHt0dWlJc1N0cmluZywgdHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpUmVjdEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHVpQXNEcml2ZXIsIHR1aUFzUmVjdEFjY2Vzc29yLCBUdWlEcml2ZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NsYXNzZXMnO1xuaW1wb3J0IHtUVUlfU0VMRUNUSU9OX1NUUkVBTX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpR2V0V29yZFJhbmdlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRHJvcGRvd25EaXJlY3RpdmV9IGZyb20gJy4vZHJvcGRvd24uZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93blNlbGVjdGlvbl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0RyaXZlcihUdWlEcm9wZG93blNlbGVjdGlvbiksXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duU2VsZWN0aW9uKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93blNlbGVjdGlvblxuICAgIGV4dGVuZHMgVHVpRHJpdmVyXG4gICAgaW1wbGVtZW50cyBUdWlSZWN0QWNjZXNzb3IsIE9uRGVzdHJveVxue1xuICAgIHByaXZhdGUgZ2hvc3Q/OiBIVE1MRWxlbWVudDtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB2Y3IgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyb3Bkb3duID0gaW5qZWN0KFR1aURyb3Bkb3duRGlyZWN0aXZlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhbmRsZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4+KFxuICAgICAgICBUVUlfVFJVRV9IQU5ETEVSLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RyZWFtJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmhhbmRsZXIkLFxuICAgICAgICBpbmplY3QoVFVJX1NFTEVDVElPTl9TVFJFQU0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5nZXRSYW5nZSgpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICAgICh4LCB5KSA9PlxuICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0T2Zmc2V0ID09PSB5LnN0YXJ0T2Zmc2V0ICYmXG4gICAgICAgICAgICAgICAgICAgIHguZW5kT2Zmc2V0ID09PSB5LmVuZE9mZnNldCAmJlxuICAgICAgICAgICAgICAgICAgICB4LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyID09PSB5LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFtoYW5kbGVyLCByYW5nZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuZWwuY29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuXG4gICAgICAgICAgICB0aGlzLnJhbmdlID1cbiAgICAgICAgICAgICAgICBjb250YWluZWQgJiYgdHVpSXNUZXh0Tm9kZShyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgPyByYW5nZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgICAgIHJldHVybiAoY29udGFpbmVkICYmIGhhbmRsZXIodGhpcy5yYW5nZSkpIHx8IHRoaXMuaW5Ecm9wZG93bihyYW5nZSk7XG4gICAgICAgIH0pLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmFuZ2UgPSBpbmplY3QoVFVJX1JBTkdFKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TZWxlY3Rpb25Qb3NpdGlvbicpXG4gICAgcHVibGljIHBvc2l0aW9uOiAnc2VsZWN0aW9uJyB8ICd0YWcnIHwgJ3dvcmQnID0gJ3NlbGVjdGlvbic7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+IHRoaXMuc3RyZWFtJC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB0dWlEcm9wZG93blNlbGVjdGlvbih2aXNpYmxlOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0dWlJc1N0cmluZyh2aXNpYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyJC5uZXh0KHZpc2libGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtjb21tb25BbmNlc3RvckNvbnRhaW5lcn0gPSB0aGlzLnJhbmdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0dWlJc0VsZW1lbnQoY29tbW9uQW5jZXN0b3JDb250YWluZXIpXG4gICAgICAgICAgICAgICAgICAgID8gY29tbW9uQW5jZXN0b3JDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgOiBjb21tb25BbmNlc3RvckNvbnRhaW5lci5wYXJlbnROb2RlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgJiYgdHVpSXNFbGVtZW50KGVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgID8gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICAgICAgICA6IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnd29yZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR1aUdldFdvcmRSYW5nZSh0aGlzLnJhbmdlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLnZjci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5naG9zdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UmFuZ2UoKTogUmFuZ2Uge1xuICAgICAgICBjb25zdCBhY3RpdmUgPSB0dWlHZXROYXRpdmVGb2N1c2VkKHRoaXMuZG9jKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5kb2MuZ2V0U2VsZWN0aW9uKCk7XG4gICAgICAgIGNvbnN0IHJhbmdlID1cbiAgICAgICAgICAgIGFjdGl2ZSAmJiB0dWlJc1RleHRmaWVsZChhY3RpdmUpICYmIHRoaXMuZWwuY29udGFpbnMoYWN0aXZlKVxuICAgICAgICAgICAgICAgID8gdGhpcy52ZXJ5VmVyeVNhZElucHV0Rml4KGFjdGl2ZSlcbiAgICAgICAgICAgICAgICA6IChzZWxlY3Rpb24/LnJhbmdlQ291bnQgJiYgc2VsZWN0aW9uLmdldFJhbmdlQXQoMCkpIHx8IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgcmV0dXJuIHJhbmdlLmNsb25lUmFuZ2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiBnaXZlbiByYW5nZSBpcyBhdCBsZWFzdCBwYXJ0aWFsbHkgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGluRHJvcGRvd24ocmFuZ2U6IFJhbmdlKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHtzdGFydENvbnRhaW5lciwgZW5kQ29udGFpbmVyfSA9IHJhbmdlO1xuICAgICAgICBjb25zdCBpbkRyb3Bkb3duID0gdGhpcy5ib3hDb250YWlucyhyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG4gICAgICAgIGNvbnN0IGhvc3RUb0Ryb3Bkb3duID1cbiAgICAgICAgICAgIHRoaXMuYm94Q29udGFpbnMoZW5kQ29udGFpbmVyKSAmJiB0aGlzLmVsLmNvbnRhaW5zKHN0YXJ0Q29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgZHJvcGRvd25Ub0hvc3QgPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhzdGFydENvbnRhaW5lcikgJiYgdGhpcy5lbC5jb250YWlucyhlbmRDb250YWluZXIpO1xuXG4gICAgICAgIHJldHVybiBpbkRyb3Bkb3duIHx8IGhvc3RUb0Ryb3Bkb3duIHx8IGRyb3Bkb3duVG9Ib3N0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIE5vZGUgaXMgaW5zaWRlIGRyb3Bkb3duXG4gICAgICovXG4gICAgcHJpdmF0ZSBib3hDb250YWlucyhub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd24ucmVmKCk/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMobm9kZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2ZXJ5VmVyeVNhZElucHV0Rml4KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogUmFuZ2Uge1xuICAgICAgICBjb25zdCB7Z2hvc3QgPSB0aGlzLmluaXRHaG9zdChlbGVtZW50KX0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7dG9wLCBsZWZ0LCB3aWR0aCwgaGVpZ2h0fSA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHtzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kLCB2YWx1ZX0gPSBlbGVtZW50O1xuICAgICAgICBjb25zdCByYW5nZSA9IHRoaXMuZG9jLmNyZWF0ZVJhbmdlKCk7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICBnaG9zdC5zdHlsZS50b3AgPSB0dWlQeCh0b3AgLSBob3N0UmVjdC50b3ApO1xuICAgICAgICBnaG9zdC5zdHlsZS5sZWZ0ID0gdHVpUHgobGVmdCAtIGhvc3RSZWN0LmxlZnQpO1xuICAgICAgICBnaG9zdC5zdHlsZS53aWR0aCA9IHR1aVB4KHdpZHRoKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUuaGVpZ2h0ID0gdHVpUHgoaGVpZ2h0KTtcbiAgICAgICAgZ2hvc3QudGV4dENvbnRlbnQgPSBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UgKyB2YWx1ZSArIENIQVJfTk9fQlJFQUtfU1BBQ0U7XG5cbiAgICAgICAgcmFuZ2Uuc2V0U3RhcnQoZ2hvc3QuZmlyc3RDaGlsZCBhcyBOb2RlLCBzZWxlY3Rpb25TdGFydCB8fCAwKTtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGdob3N0LmZpcnN0Q2hpbGQgYXMgTm9kZSwgc2VsZWN0aW9uRW5kIHx8IDApO1xuXG4gICAgICAgIHJldHVybiByYW5nZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGUgYW4gaW52aXNpYmxlIERJViBzdHlsZWQgZXhhY3RseSBsaWtlIGlucHV0L3RleHRhcmVhIGVsZW1lbnQgaW5zaWRlIGRpcmVjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEdob3N0KGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQgfCBIVE1MVGV4dEFyZWFFbGVtZW50KTogSFRNTEVsZW1lbnQge1xuICAgICAgICBjb25zdCBnaG9zdCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICBjb25zdCB7Zm9udCwgbGV0dGVyU3BhY2luZywgdGV4dFRyYW5zZm9ybSwgcGFkZGluZ30gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuXG4gICAgICAgIGdob3N0LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgICAgZ2hvc3Quc3R5bGUucG9pbnRlckV2ZW50cyA9ICdub25lJztcbiAgICAgICAgZ2hvc3Quc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZ2hvc3Quc3R5bGUud2hpdGVTcGFjZSA9ICdwcmUtd3JhcCc7XG4gICAgICAgIGdob3N0LnN0eWxlLmZvbnQgPSBmb250O1xuICAgICAgICBnaG9zdC5zdHlsZS5sZXR0ZXJTcGFjaW5nID0gbGV0dGVyU3BhY2luZztcbiAgICAgICAgZ2hvc3Quc3R5bGUudGV4dFRyYW5zZm9ybSA9IHRleHRUcmFuc2Zvcm07XG4gICAgICAgIGdob3N0LnN0eWxlLnBhZGRpbmcgPSBwYWRkaW5nO1xuXG4gICAgICAgIHRoaXMudmNyLmVsZW1lbnQubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChnaG9zdCk7XG4gICAgICAgIHRoaXMuZ2hvc3QgPSBnaG9zdDtcblxuICAgICAgICByZXR1cm4gZ2hvc3Q7XG4gICAgfVxufVxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tc2VsZWN0aW9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bi9kcm9wZG93bi1zZWxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUNILG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNuQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUUvQyxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxHQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUUsS0FBSyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFckUsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUV2RixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFMUQsTUFRYSxv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LEdBQUcsWUFBWSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUNsQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDeEIsS0FBSyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUMxQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFFOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDOytHQXZLUSxvQkFBb0I7bUdBQXBCLG9CQUFvQix1TEFMbEI7WUFDUCxXQUFXLENBQUMsb0JBQW9CLENBQUM7WUFDakMsaUJBQWlCLENBQUMsb0JBQW9CLENBQUM7U0FDMUM7O1NBRVEsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBUmhDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLFNBQVMsRUFBRTt3QkFDUCxXQUFXLHNCQUFzQjt3QkFDakMsaUJBQWlCLHNCQUFzQjtxQkFDMUM7aUJBQ0o7MEVBMkNVLFFBQVE7c0JBRGQsS0FBSzt1QkFBQyw4QkFBOEI7Z0JBVTFCLG9CQUFvQjtzQkFEOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7T25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBWaWV3Q29udGFpbmVyUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ0hBUl9OT19CUkVBS19TUEFDRSxcbiAgICBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UsXG4gICAgRU1QVFlfQ0xJRU5UX1JFQ1QsXG4gICAgVFVJX1RSVUVfSEFORExFUixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUVUlfUkFOR0V9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge1xuICAgIHR1aUluamVjdEVsZW1lbnQsXG4gICAgdHVpSXNFbGVtZW50LFxuICAgIHR1aUlzVGV4dGZpZWxkLFxuICAgIHR1aUlzVGV4dE5vZGUsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpR2V0TmF0aXZlRm9jdXNlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUlzU3RyaW5nLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHtUdWlSZWN0QWNjZXNzb3J9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlBc0RyaXZlciwgdHVpQXNSZWN0QWNjZXNzb3IsIFR1aURyaXZlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9TRUxFQ1RJT05fU1RSRUFNfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlHZXRXb3JkUmFuZ2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURyb3Bkb3duRGlyZWN0aXZlfSBmcm9tICcuL2Ryb3Bkb3duLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpRHJvcGRvd25TZWxlY3Rpb25dJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25TZWxlY3Rpb24pLFxuICAgICAgICB0dWlBc1JlY3RBY2Nlc3NvcihUdWlEcm9wZG93blNlbGVjdGlvbiksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25TZWxlY3Rpb25cbiAgICBleHRlbmRzIFR1aURyaXZlclxuICAgIGltcGxlbWVudHMgVHVpUmVjdEFjY2Vzc29yLCBPbkRlc3Ryb3lcbntcbiAgICBwcml2YXRlIGdob3N0PzogSFRNTEVsZW1lbnQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZG9jID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmNyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkcm9wZG93biA9IGluamVjdChUdWlEcm9wZG93bkRpcmVjdGl2ZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBoYW5kbGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHVpQm9vbGVhbkhhbmRsZXI8UmFuZ2U+PihcbiAgICAgICAgVFVJX1RSVUVfSEFORExFUixcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0cmVhbSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5oYW5kbGVyJCxcbiAgICAgICAgaW5qZWN0KFRVSV9TRUxFQ1RJT05fU1RSRUFNKS5waXBlKFxuICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0UmFuZ2UoKSksXG4gICAgICAgICAgICBmaWx0ZXIoKHJhbmdlKSA9PiB0aGlzLmlzVmFsaWQocmFuZ2UpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKFxuICAgICAgICAgICAgICAgICh4LCB5KSA9PlxuICAgICAgICAgICAgICAgICAgICB4LnN0YXJ0T2Zmc2V0ID09PSB5LnN0YXJ0T2Zmc2V0ICYmXG4gICAgICAgICAgICAgICAgICAgIHguZW5kT2Zmc2V0ID09PSB5LmVuZE9mZnNldCAmJlxuICAgICAgICAgICAgICAgICAgICB4LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyID09PSB5LmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKFtoYW5kbGVyLCByYW5nZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lZCA9IHRoaXMuZWwuY29udGFpbnMocmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXIpO1xuXG4gICAgICAgICAgICB0aGlzLnJhbmdlID1cbiAgICAgICAgICAgICAgICBjb250YWluZWQgJiYgdHVpSXNUZXh0Tm9kZShyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcilcbiAgICAgICAgICAgICAgICAgICAgPyByYW5nZVxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucmFuZ2U7XG5cbiAgICAgICAgICAgIHJldHVybiAoY29udGFpbmVkICYmIGhhbmRsZXIodGhpcy5yYW5nZSkpIHx8IHRoaXMuaW5Ecm9wZG93bihyYW5nZSk7XG4gICAgICAgIH0pLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmFuZ2UgPSBpbmplY3QoVFVJX1JBTkdFKTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25TZWxlY3Rpb25Qb3NpdGlvbicpXG4gICAgcHVibGljIHBvc2l0aW9uOiAnc2VsZWN0aW9uJyB8ICd0YWcnIHwgJ3dvcmQnID0gJ3NlbGVjdGlvbic7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZSA9ICdkcm9wZG93bic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+IHRoaXMuc3RyZWFtJC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB0dWlEcm9wZG93blNlbGVjdGlvbih2aXNpYmxlOiBUdWlCb29sZWFuSGFuZGxlcjxSYW5nZT4gfCBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0dWlJc1N0cmluZyh2aXNpYmxlKSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyJC5uZXh0KHZpc2libGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsaWVudFJlY3QoKTogRE9NUmVjdCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5wb3NpdGlvbikge1xuICAgICAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IHtjb21tb25BbmNlc3RvckNvbnRhaW5lcn0gPSB0aGlzLnJhbmdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0dWlJc0VsZW1lbnQoY29tbW9uQW5jZXN0b3JDb250YWluZXIpXG4gICAgICAgICAgICAgICAgICAgID8gY29tbW9uQW5jZXN0b3JDb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgOiBjb21tb25BbmNlc3RvckNvbnRhaW5lci5wYXJlbnROb2RlO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQgJiYgdHVpSXNFbGVtZW50KGVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgID8gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICAgICAgICA6IEVNUFRZX0NMSUVOVF9SRUNUO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnd29yZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHR1aUdldFdvcmRSYW5nZSh0aGlzLnJhbmdlKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucmFuZ2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmdob3N0KSB7XG4gICAgICAgICAgICB0aGlzLnZjci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5naG9zdCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJhbmdlKCk6IFJhbmdlIHtcbiAgICAgICAgY29uc3QgYWN0aXZlID0gdHVpR2V0TmF0aXZlRm9jdXNlZCh0aGlzLmRvYyk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZG9jLmdldFNlbGVjdGlvbigpO1xuICAgICAgICBjb25zdCByYW5nZSA9XG4gICAgICAgICAgICBhY3RpdmUgJiYgdHVpSXNUZXh0ZmllbGQoYWN0aXZlKSAmJiB0aGlzLmVsLmNvbnRhaW5zKGFjdGl2ZSlcbiAgICAgICAgICAgICAgICA/IHRoaXMudmVyeVZlcnlTYWRJbnB1dEZpeChhY3RpdmUpXG4gICAgICAgICAgICAgICAgOiAoc2VsZWN0aW9uPy5yYW5nZUNvdW50ICYmIHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApKSB8fCB0aGlzLnJhbmdlO1xuXG4gICAgICAgIHJldHVybiByYW5nZS5jbG9uZVJhbmdlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgZ2l2ZW4gcmFuZ2UgaXMgYXQgbGVhc3QgcGFydGlhbGx5IGluc2lkZSBkcm9wZG93blxuICAgICAqL1xuICAgIHByaXZhdGUgaW5Ecm9wZG93bihyYW5nZTogUmFuZ2UpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3Qge3N0YXJ0Q29udGFpbmVyLCBlbmRDb250YWluZXJ9ID0gcmFuZ2U7XG4gICAgICAgIGNvbnN0IGluRHJvcGRvd24gPSB0aGlzLmJveENvbnRhaW5zKHJhbmdlLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgaG9zdFRvRHJvcGRvd24gPVxuICAgICAgICAgICAgdGhpcy5ib3hDb250YWlucyhlbmRDb250YWluZXIpICYmIHRoaXMuZWwuY29udGFpbnMoc3RhcnRDb250YWluZXIpO1xuICAgICAgICBjb25zdCBkcm9wZG93blRvSG9zdCA9XG4gICAgICAgICAgICB0aGlzLmJveENvbnRhaW5zKHN0YXJ0Q29udGFpbmVyKSAmJiB0aGlzLmVsLmNvbnRhaW5zKGVuZENvbnRhaW5lcik7XG5cbiAgICAgICAgcmV0dXJuIGluRHJvcGRvd24gfHwgaG9zdFRvRHJvcGRvd24gfHwgZHJvcGRvd25Ub0hvc3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgTm9kZSBpcyBpbnNpZGUgZHJvcGRvd25cbiAgICAgKi9cbiAgICBwcml2YXRlIGJveENvbnRhaW5zKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bi5yZWYoKT8ubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jb250YWlucyhub2RlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiByYW5nZSBpcyBub3QgaW5zaWRlIHR1aS10ZXh0ZmllbGQncyBET00gZWxlbWVudHNcbiAgICAgKi9cbiAgICBwcml2YXRlIGlzVmFsaWQocmFuZ2U6IFJhbmdlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5lbC5jb250YWlucyhyYW5nZS5jb21tb25BbmNlc3RvckNvbnRhaW5lcikgfHxcbiAgICAgICAgICAgICF0aGlzLmVsLmNsb3Nlc3QoJ3R1aS10ZXh0ZmllbGQnKSB8fFxuICAgICAgICAgICAgcmFuZ2UuaW50ZXJzZWN0c05vZGUodGhpcy5naG9zdCB8fCB0aGlzLmVsKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmVyeVZlcnlTYWRJbnB1dEZpeChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IFJhbmdlIHtcbiAgICAgICAgY29uc3Qge2dob3N0ID0gdGhpcy5pbml0R2hvc3QoZWxlbWVudCl9ID0gdGhpcztcbiAgICAgICAgY29uc3Qge3RvcCwgbGVmdCwgd2lkdGgsIGhlaWdodH0gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCB7c2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCwgdmFsdWV9ID0gZWxlbWVudDtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSB0aGlzLmRvYy5jcmVhdGVSYW5nZSgpO1xuICAgICAgICBjb25zdCBob3N0UmVjdCA9IHRoaXMuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgZ2hvc3Quc3R5bGUudG9wID0gdHVpUHgodG9wIC0gaG9zdFJlY3QudG9wKTtcbiAgICAgICAgZ2hvc3Quc3R5bGUubGVmdCA9IHR1aVB4KGxlZnQgLSBob3N0UmVjdC5sZWZ0KTtcbiAgICAgICAgZ2hvc3Quc3R5bGUud2lkdGggPSB0dWlQeCh3aWR0aCk7XG4gICAgICAgIGdob3N0LnN0eWxlLmhlaWdodCA9IHR1aVB4KGhlaWdodCk7XG4gICAgICAgIGdob3N0LnRleHRDb250ZW50ID0gQ0hBUl9aRVJPX1dJRFRIX1NQQUNFICsgdmFsdWUgKyBDSEFSX05PX0JSRUFLX1NQQUNFO1xuXG4gICAgICAgIHJhbmdlLnNldFN0YXJ0KGdob3N0LmZpcnN0Q2hpbGQgYXMgTm9kZSwgc2VsZWN0aW9uU3RhcnQgfHwgMCk7XG4gICAgICAgIHJhbmdlLnNldEVuZChnaG9zdC5maXJzdENoaWxkIGFzIE5vZGUsIHNlbGVjdGlvbkVuZCB8fCAwKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGFuIGludmlzaWJsZSBESVYgc3R5bGVkIGV4YWN0bHkgbGlrZSBpbnB1dC90ZXh0YXJlYSBlbGVtZW50IGluc2lkZSBkaXJlY3RpdmVcbiAgICAgKi9cbiAgICBwcml2YXRlIGluaXRHaG9zdChlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZ2hvc3QgPSB0aGlzLmRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgY29uc3Qge2ZvbnQsIGxldHRlclNwYWNpbmcsIHRleHRUcmFuc2Zvcm0sIHBhZGRpbmcsIGJvcmRlclRvcH0gPVxuICAgICAgICAgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcblxuICAgICAgICBnaG9zdC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSc7XG4gICAgICAgIGdob3N0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGdob3N0LnN0eWxlLndoaXRlU3BhY2UgPSAncHJlLXdyYXAnO1xuICAgICAgICBnaG9zdC5zdHlsZS5ib3hTaXppbmcgPSAnYm9yZGVyLWJveCc7XG4gICAgICAgIGdob3N0LnN0eWxlLmJvcmRlclRvcCA9IGJvcmRlclRvcDtcbiAgICAgICAgZ2hvc3Quc3R5bGUuZm9udCA9IGZvbnQ7XG4gICAgICAgIGdob3N0LnN0eWxlLmxldHRlclNwYWNpbmcgPSBsZXR0ZXJTcGFjaW5nO1xuICAgICAgICBnaG9zdC5zdHlsZS50ZXh0VHJhbnNmb3JtID0gdGV4dFRyYW5zZm9ybTtcbiAgICAgICAgZ2hvc3Quc3R5bGUucGFkZGluZyA9IHBhZGRpbmc7XG5cbiAgICAgICAgdGhpcy52Y3IuZWxlbWVudC5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGdob3N0KTtcbiAgICAgICAgdGhpcy5naG9zdCA9IGdob3N0O1xuXG4gICAgICAgIHJldHVybiBnaG9zdDtcbiAgICB9XG59XG4iXX0=
@@ -37,6 +37,9 @@ class TuiHintHover extends TuiDriver {
37
37
  this.toggle$.next(visible);
38
38
  this.parent?.toggle(visible);
39
39
  }
40
+ close() {
41
+ this.toggle$.next(false);
42
+ }
40
43
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiHintHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
44
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiHintHover, isStandalone: true, inputs: { tuiHintShowDelay: "tuiHintShowDelay", tuiHintHideDelay: "tuiHintHideDelay" }, providers: [tuiAsDriver(TuiHintHover), TuiHoveredService], exportAs: ["tuiHintHover"], usesInheritance: true, ngImport: i0 }); }
42
45
  }
@@ -53,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
53
56
  }], tuiHintHideDelay: [{
54
57
  type: Input
55
58
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ob3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LWhvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLE1BQU0sRUFDTixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFHZCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFMUQsTUFLYSxZQUFhLFNBQVEsU0FBUztJQXVEdkM7UUFDSSxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUF2RDdDLGFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakMsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM1QyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ1AsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDakMsWUFBTyxHQUFHLEtBQUssQ0FDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2IsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDbEIsSUFBSSxDQUFDLFFBQVE7WUFDVCxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQztZQUNiLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FDckUsRUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUN4QixNQUFNLEVBQUUsQ0FDWCxFQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNkLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyxRQUFRO1lBQ1QsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDYixDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDWixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUNqRSxDQUNWLEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFDdkIsTUFBTSxFQUFFLENBQ1gsQ0FDSixDQUFDLElBQUksQ0FDRixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUMxQixHQUFHLENBQ0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNOLEtBQUs7WUFDTCxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzFFLEVBQ0QsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRWUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDM0MsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFHSSxxQkFBZ0IsR0FBZ0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFHdkUscUJBQWdCLEdBQWdDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRTlELFNBQUksR0FBRyxNQUFNLENBQUM7UUFFdkIsWUFBTyxHQUFHLElBQUksQ0FBQztJQUl0QixDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPO1FBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBOURRLFlBQVk7bUdBQVosWUFBWSx5SEFIVixDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxpQkFBaUIsQ0FBQzs7U0FHaEQsWUFBWTs0RkFBWixZQUFZO2tCQUx4QixTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxXQUFXLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQztvQkFDekQsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOzBFQStDVSxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlIb3ZlcmVkU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2hvdmVyZWQnO1xuaW1wb3J0IHtUVUlfSVNfTU9CSUxFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQXNEcml2ZXIsIFR1aURyaXZlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge3R1aUlzT2JzY3VyZWR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gICAgZGVsYXksXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBtZXJnZSxcbiAgICBvZixcbiAgICByZXBlYXQsXG4gICAgU3ViamVjdCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVVudGlsLFxuICAgIHRhcCxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB0eXBlIHtUdWlIaW50T3B0aW9uc30gZnJvbSAnLi9oaW50LW9wdGlvbnMuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX0hJTlRfT1BUSU9OU30gZnJvbSAnLi9oaW50LW9wdGlvbnMuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0RyaXZlcihUdWlIaW50SG92ZXIpLCBUdWlIb3ZlcmVkU2VydmljZV0sXG4gICAgZXhwb3J0QXM6ICd0dWlIaW50SG92ZXInLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIaW50SG92ZXIgZXh0ZW5kcyBUdWlEcml2ZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvdmVyZWQkID0gaW5qZWN0KFR1aUhvdmVyZWRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0hJTlRfT1BUSU9OUyk7XG4gICAgcHJpdmF0ZSB2aXNpYmxlID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2dnbGUkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSQgPSBtZXJnZShcbiAgICAgICAgdGhpcy50b2dnbGUkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHZpc2libGUpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVxuICAgICAgICAgICAgICAgICAgICA/IG9mKHZpc2libGUpXG4gICAgICAgICAgICAgICAgICAgIDogb2YodmlzaWJsZSkucGlwZShkZWxheSh2aXNpYmxlID8gMCA6IHRoaXMudHVpSGludEhpZGVEZWxheSkpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmhvdmVyZWQkKSxcbiAgICAgICAgICAgIHJlcGVhdCgpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLmhvdmVyZWQkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHZpc2libGUpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVxuICAgICAgICAgICAgICAgICAgICA/IG9mKHZpc2libGUpXG4gICAgICAgICAgICAgICAgICAgIDogb2YodmlzaWJsZSkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsYXkodmlzaWJsZSA/IHRoaXMudHVpSGludFNob3dEZWxheSA6IHRoaXMudHVpSGludEhpZGVEZWxheSksXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy50b2dnbGUkKSxcbiAgICAgICAgICAgIHJlcGVhdCgpLFxuICAgICAgICApLFxuICAgICkucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZW5hYmxlZCksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAgICh2YWx1ZSkgPT5cbiAgICAgICAgICAgICAgICB2YWx1ZSAmJlxuICAgICAgICAgICAgICAgICh0aGlzLmVsLmhhc0F0dHJpYnV0ZSgndHVpSGludFBvaW50ZXInKSB8fCAhdHVpSXNPYnNjdXJlZCh0aGlzLmVsKSksXG4gICAgICAgICksXG4gICAgICAgIHRhcCgodmlzaWJsZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgfSksXG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFyZW50ID0gaW5qZWN0KFR1aUhpbnRIb3Zlciwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgfSk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlIaW50U2hvd0RlbGF5OiBUdWlIaW50T3B0aW9uc1snc2hvd0RlbGF5J10gPSB0aGlzLm9wdGlvbnMuc2hvd0RlbGF5O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdHVpSGludEhpZGVEZWxheTogVHVpSGludE9wdGlvbnNbJ2hpZGVEZWxheSddID0gdGhpcy5vcHRpb25zLmhpZGVEZWxheTtcblxuICAgIHB1YmxpYyByZWFkb25seSB0eXBlID0gJ2hpbnQnO1xuXG4gICAgcHVibGljIGVuYWJsZWQgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKChzdWJzY3JpYmVyKSA9PiB0aGlzLnN0cmVhbSQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlKHZpc2libGUgPSAhdGhpcy52aXNpYmxlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9nZ2xlJC5uZXh0KHZpc2libGUpO1xuICAgICAgICB0aGlzLnBhcmVudD8udG9nZ2xlKHZpc2libGUpO1xuICAgIH1cbn1cbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1ob3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LWhvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFDSCxLQUFLLEVBQ0wsTUFBTSxFQUNOLEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLE1BQU0sRUFDTixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ04sTUFBTSxNQUFNLENBQUM7QUFHZCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFMUQsTUFLYSxZQUFhLFNBQVEsU0FBUztJQXVEdkM7UUFDSSxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUF2RDdDLGFBQVEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakMsT0FBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxNQUFNLENBQUMs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dCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUhvdmVyZWRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlBc0RyaXZlciwgVHVpRHJpdmVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7dHVpSXNPYnNjdXJlZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBkZWxheSxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIG1lcmdlLFxuICAgIG9mLFxuICAgIHJlcGVhdCxcbiAgICBTdWJqZWN0LFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlVW50aWwsXG4gICAgdGFwLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHR5cGUge1R1aUhpbnRPcHRpb25zfSBmcm9tICcuL2hpbnQtb3B0aW9ucy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfSElOVF9PUFRJT05TfSBmcm9tICcuL2hpbnQtb3B0aW9ucy5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3R1aUFzRHJpdmVyKFR1aUhpbnRIb3ZlciksIFR1aUhvdmVyZWRTZXJ2aWNlXSxcbiAgICBleHBvcnRBczogJ3R1aUhpbnRIb3ZlcicsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRIb3ZlciBleHRlbmRzIFR1aURyaXZlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG92ZXJlZCQgPSBpbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfSElOVF9PUFRJT05TKTtcbiAgICBwcml2YXRlIHZpc2libGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvZ2dsZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtJCA9IG1lcmdlKFxuICAgICAgICB0aGlzLnRvZ2dsZSQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodmlzaWJsZSkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlXG4gICAgICAgICAgICAgICAgICAgID8gb2YodmlzaWJsZSlcbiAgICAgICAgICAgICAgICAgICAgOiBvZih2aXNpYmxlKS5waXBlKGRlbGF5KHZpc2libGUgPyAwIDogdGhpcy50dWlIaW50SGlkZURlbGF5KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuaG92ZXJlZCQpLFxuICAgICAgICAgICAgcmVwZWF0KCksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuaG92ZXJlZCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgodmlzaWJsZSkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlXG4gICAgICAgICAgICAgICAgICAgID8gb2YodmlzaWJsZSlcbiAgICAgICAgICAgICAgICAgICAgOiBvZih2aXNpYmxlKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxheSh2aXNpYmxlID8gdGhpcy50dWlIaW50U2hvd0RlbGF5IDogdGhpcy50dWlIaW50SGlkZURlbGF5KSxcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLnRvZ2dsZSQpLFxuICAgICAgICAgICAgcmVwZWF0KCksXG4gICAgICAgICksXG4gICAgKS5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5lbmFibGVkKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgICAgKHZhbHVlKSA9PlxuICAgICAgICAgICAgICAgIHZhbHVlICYmXG4gICAgICAgICAgICAgICAgKHRoaXMuZWwuaGFzQXR0cmlidXRlKCd0dWlIaW50UG9pbnRlcicpIHx8ICF0dWlJc09ic2N1cmVkKHRoaXMuZWwpKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFwKCh2aXNpYmxlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnZpc2libGUgPSB2aXNpYmxlO1xuICAgICAgICB9KSxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXJlbnQgPSBpbmplY3QoVHVpSGludEhvdmVyLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBza2lwU2VsZjogdHJ1ZSxcbiAgICB9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHR1aUhpbnRTaG93RGVsYXk6IFR1aUhpbnRPcHRpb25zWydzaG93RGVsYXknXSA9IHRoaXMub3B0aW9ucy5zaG93RGVsYXk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB0dWlIaW50SGlkZURlbGF5OiBUdWlIaW50T3B0aW9uc1snaGlkZURlbGF5J10gPSB0aGlzLm9wdGlvbnMuaGlkZURlbGF5O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnaGludCc7XG5cbiAgICBwdWJsaWMgZW5hYmxlZCA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKHN1YnNjcmliZXIpID0+IHRoaXMuc3RyZWFtJC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b2dnbGUodmlzaWJsZSA9ICF0aGlzLnZpc2libGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2dnbGUkLm5leHQodmlzaWJsZSk7XG4gICAgICAgIHRoaXMucGFyZW50Py50b2dnbGUodmlzaWJsZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRvZ2dsZSQubmV4dChmYWxzZSk7XG4gICAgfVxufVxuIl19
@@ -48,7 +48,7 @@ class TuiHintComponent {
48
48
  .pipe(takeWhile(() => this.hint.el.isConnected), map((point) => this.vvs.correct(point)), takeUntilDestroyed())
49
49
  .subscribe({
50
50
  next: ([top, left]) => this.update(top, left),
51
- complete: () => this.hover.toggle(false),
51
+ complete: () => this.hover.close(),
52
52
  });
53
53
  inject(TuiHoveredService)
54
54
  .pipe(takeUntilDestroyed())
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
112
112
  '(document:click)': 'onClick($event.target)',
113
113
  }, styles: [":host{position:absolute;max-inline-size:min(18rem,calc(100% - 1rem));padding:.75rem 1rem;background:var(--tui-background-accent-1);border-radius:var(--tui-radius-l);color:var(--tui-text-primary-on-accent-1);box-sizing:border-box;font:var(--tui-font-text-s);white-space:pre-line;overflow-wrap:break-word;transform-origin:var(--t-left) var(--t-top);--tui-background-elevation-2: var(--tui-background-elevation-3)}:host:before{content:\"\";position:absolute;top:var(--t-top);left:var(--t-left);inline-size:.75rem;block-size:.5rem;background:inherit;-webkit-mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg viewBox=\"0 0 12 8\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3.61336 1.69607L2.44882 2.96493C1.84795 3.61964 0.949361 3.99951 0.00053941 4C0.000359608 4 0.000179805 4 0 4C0.000179863 4 0.000359764 4 0.000539623 4C0.949362 4.00049 1.84795 4.38036 2.44882 5.03506L3.61336 6.30394C4.55981 7.33517 5.03303 7.85079 5.63254 7.96535C5.87433 8.01155 6.12436 8.01155 6.36616 7.96535C6.96567 7.85079 7.43889 7.33517 8.38534 6.30393L9.54988 5.03507C10.1511 4.37994 11.0505 4 12 4C11.0505 4 10.1511 3.62006 9.54988 2.96493L8.38534 1.69606C7.43889 0.664826 6.96567 0.149207 6.36616 0.0346517C6.12436 -0.0115506 5.87433 -0.0115506 5.63254 0.0346517C5.03303 0.149207 4.55981 0.664827 3.61336 1.69607Z\" /></svg>');transform:translate(-50%,-50%) rotate(var(--t-rotate))}:host._mobile{font:var(--tui-font-text-m)}:host._mobile:before{inline-size:1.5rem;block-size:1.125rem;-webkit-mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>');mask-image:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 18\"><path d=\"M7.22854 3.81615L4.89971 6.6711C3.69732 8.14514 1.8988 9 0 9C1.8988 9 3.69732 9.85486 4.89971 11.3289L7.22854 14.1839L7.22854 14.1839C9.12123 16.5041 10.0676 17.6643 11.2665 17.922C11.75 18.026 12.25 18.026 12.7335 17.922C13.9324 17.6643 14.8788 16.5041 16.7715 14.1839L19.1003 11.3289C20.3027 9.85486 22.1012 9 24 9C22.1012 9 20.3027 8.14514 19.1003 6.6711L16.7715 3.81614C14.8788 1.49586 13.9324 0.335716 12.7335 0.0779663C12.25 -0.0259888 11.75 -0.0259888 11.2665 0.0779663C10.0676 0.335716 9.12123 1.49586 7.22854 3.81614L7.22854 3.81615Z\" /></svg>')}:host[data-appearance=error]{background:var(--tui-status-negative)}:host[data-appearance=dark]{background:var(--tui-background-elevation-1);color:var(--tui-text-primary);filter:drop-shadow(0 0 .125rem rgba(0,0,0,.16)) drop-shadow(0 1.5rem 1rem rgba(0,0,0,.03)) drop-shadow(0 .75rem .75rem rgba(0,0,0,.04)) drop-shadow(0 .25rem .375rem rgba(0,0,0,.05))}:host:not([style*=top]){visibility:hidden}:host._untouchable{pointer-events:none}\n"] }]
114
114
  }], ctorParameters: function () { return []; }, propDecorators: { apply: [] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLGtCQUFrQixHQUNyQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9B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LENBQUMsRUFBRSxXQUFXLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FDdkUsQ0FBQztJQUNOLENBQUM7K0dBMUZRLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHVYQVpkLGtCQUFrQiwwQkFUbkI7Ozs7OztLQU1ULG85SEFQUyxrQkFBa0IsZ0hBV2hCLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQzs7QUFnRTNCO0lBRFAsT0FBTzs2Q0FVUDtTQTlEUSxnQkFBZ0I7NEZBQWhCLGdCQUFnQjtrQkF6QjVCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLFVBQVUsV0FDWCxDQUFDLGtCQUFrQixDQUFDLFlBQ25COzs7Ozs7S0FNVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxrQkFBa0IsY0FDakIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQzdCO3dCQUNGLGVBQWUsRUFBRSw4QkFBOEI7d0JBQy9DLGNBQWMsRUFBRSxTQUFTO3dCQUN6QixzQkFBc0IsRUFBRSxTQUFTO3dCQUNqQyxpQkFBaUIsRUFBRSxVQUFVO3dCQUM3Qix3QkFBd0IsRUFBRSxZQUFZO3dCQUN0QyxpQkFBaUIsRUFBRSx3Q0FBd0M7d0JBQzNELGtCQUFrQixFQUFFLHdCQUF3QjtxQkFDL0M7MEVBdURPLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0VNUFRZX0NMSUVOVF9SRUNUfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1R1aUhvdmVyZWRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvaG92ZXJlZCc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHt0dWlDbGFtcH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpUHVyZSwgdHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R1aUZhZGVJbiwgdHVpU2NhbGVJbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IsXG4gICAgVHVpUmVjdEFjY2Vzc29yLFxuICAgIHR1aVJlY3RBY2Nlc3NvckZvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY2xhc3Nlcyc7XG5pbXBvcnQge1R1aVBvc2l0aW9uU2VydmljZSwgVHVpVmlzdWFsVmlld3BvcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9BTklNQVRJT05TX1NQRUVELCBUVUlfVklFV1BPUlR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUlzT2JzY3VyZWQsIHR1aVRvQW5pbWF0aW9uT3B0aW9uc30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdXRpbHMnO1xuaW1wb3J0IHtpbmplY3RDb250ZXh0LCBQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHttYXAsIHRha2VXaGlsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpSGludERpcmVjdGl2ZX0gZnJvbSAnLi9oaW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUhpbnRIb3Zlcn0gZnJvbSAnLi9oaW50LWhvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUhpbnRQb2ludGVyfSBmcm9tICcuL2hpbnQtcG9pbnRlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlIaW50UG9zaXRpb259IGZyb20gJy4vaGludC1wb3NpdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlIaW50VW5zdHlsZWRDb21wb25lbnR9IGZyb20gJy4vaGludC11bnN0eWxlZC5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgVFVJX0hJTlRfUFJPVklERVJTID0gW1xuICAgIFR1aVBvc2l0aW9uU2VydmljZSxcbiAgICBUdWlIb3ZlcmVkU2VydmljZSxcbiAgICB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yKCdoaW50JywgVHVpSGludFBvc2l0aW9uKSxcbiAgICB0dWlSZWN0QWNjZXNzb3JGb3IoJ2hpbnQnLCBUdWlIaW50RGlyZWN0aXZlKSxcbl07XG5cbmNvbnN0IEdBUCA9IDg7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktaGludCcsXG4gICAgaW1wb3J0czogW1BvbHltb3JwaGV1c091dGxldF0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50KCkgYXMgdGV4dDsgY29udGV4dDogaGludC5jb250ZXh0XCJcbiAgICAgICAgICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4gICAgICAgID48L3NwYW4+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9oaW50LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9ISU5UX1BST1ZJREVSUyxcbiAgICBhbmltYXRpb25zOiBbdHVpRmFkZUluLCB0dWlTY2FsZUluXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbQHR1aVNjYWxlSW5dJzogJ2lzTW9iaWxlID8gb3B0aW9ucyA6IGRlc2t0b3AnLFxuICAgICAgICAnW0B0dWlGYWRlSW5dJzogJ29wdGlvbnMnLFxuICAgICAgICAnW2NsYXNzLl91bnRvdWNoYWJsZV0nOiAncG9pbnRlcicsXG4gICAgICAgICdbY2xhc3MuX21vYmlsZV0nOiAnaXNNb2JpbGUnLFxuICAgICAgICAnW2F0dHIuZGF0YS1hcHBlYXJhbmNlXSc6ICdhcHBlYXJhbmNlJyxcbiAgICAgICAgJ1thdHRyLnR1aVRoZW1lXSc6ICdhcHBlYXJhbmNlID09PSBcImRhcmtcIiA/IFwibGlnaHRcIiA6IG51bGwnLFxuICAgICAgICAnKGRvY3VtZW50OmNsaWNrKSc6ICdvbkNsaWNrKCRldmVudC50YXJnZXQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlIaW50Q29tcG9uZW50PEMgPSBhbnk+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsID0gdHVpSW5qZWN0RWxlbWVudCgpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG92ZXIgPSBpbmplY3QoVHVpSGludEhvdmVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZ2cyA9IGluamVjdChUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld3BvcnQgPSBpbmplY3QoVFVJX1ZJRVdQT1JUKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXNrdG9wID0ge3ZhbHVlOiAnJywgcGFyYW1zOiB7ZW5kOiAxLCBzdGFydDogMX19O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0gdHVpVG9BbmltYXRpb25PcHRpb25zKFxuICAgICAgICBpbmplY3QoVFVJX0FOSU1BVElPTlNfU1BFRUQpLFxuICAgICAgICAnY3ViaWMtYmV6aWVyKDAuMzUsIDEuMywgMC4yNSwgMSknLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9pbnRlciA9IGluamVjdChUdWlIaW50UG9pbnRlciwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjY2Vzc29yID0gaW5qZWN0KFR1aVJlY3RBY2Nlc3Nvcik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGhpbnQgPSBpbmplY3RDb250ZXh0PFR1aUNvbnRleHQ8VHVpSGludERpcmVjdGl2ZTxDPj4+KCkuJGltcGxpY2l0O1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250ZW50ID1cbiAgICAgICAgdGhpcy5oaW50LmNvbXBvbmVudC5jb21wb25lbnQgPT09IFR1aUhpbnRVbnN0eWxlZENvbXBvbmVudFxuICAgICAgICAgICAgPyBzaWduYWwoJycpXG4gICAgICAgICAgICA6IHRoaXMuaGludC5jb250ZW50O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcGVhcmFuY2UgPVxuICAgICAgICB0aGlzLmhpbnQuYXBwZWFyYW5jZSB8fFxuICAgICAgICB0aGlzLmhpbnQuZWwuY2xvc2VzdCgnW3R1aVRoZW1lXScpPy5nZXRBdHRyaWJ1dGUoJ3R1aVRoZW1lJyk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgaW5qZWN0KFR1aVBvc2l0aW9uU2VydmljZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmhpbnQuZWwuaXNDb25uZWN0ZWQpLFxuICAgICAgICAgICAgICAgIG1hcCgocG9pbnQpID0+IHRoaXMudnZzLmNvcnJlY3QocG9pbnQpKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgIG5leHQ6IChbdG9wLCBsZWZ0XSkgPT4gdGhpcy51cGRhdGUodG9wLCBsZWZ0KSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gdGhpcy5ob3Zlci50b2dnbGUoZmFsc2UpLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgaW5qZWN0KFR1aUhvdmVyZWRTZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChob3ZlcikgPT4gdGhpcy5ob3Zlci50b2dnbGUoaG92ZXIpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljayh0YXJnZXQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICghdGFyZ2V0LmNsb3Nlc3QodGhpcy5lbC50YWdOYW1lKSAmJiAhdGhpcy5oaW50LmVsLmNvbnRhaW5zKHRhcmdldCkpIHx8XG4gICAgICAgICAgICB0dWlJc09ic2N1cmVkKHRoaXMuaGludC5lbClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyLnRvZ2dsZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgYXBwbHkodG9wOiBzdHJpbmcsIGxlZnQ6IHN0cmluZywgYmVha1RvcDogbnVtYmVyLCBiZWFrTGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUudG9wID0gdG9wO1xuICAgICAgICB0aGlzLmVsLnN0eWxlLmxlZnQgPSBsZWZ0O1xuICAgICAgICB0aGlzLmVsLnN0eWxlLnNldFByb3BlcnR5KCctLXQtdG9wJywgYCR7YmVha1RvcH0lYCk7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tdC1sZWZ0JywgYCR7YmVha0xlZnR9JWApO1xuICAgICAgICB0aGlzLmVsLnN0eWxlLnNldFByb3BlcnR5KFxuICAgICAgICAgICAgJy0tdC1yb3RhdGUnLFxuICAgICAgICAgICAgIWJlYWtMZWZ0IHx8IE1hdGguY2VpbChiZWFrTGVmdCkgPT09IDEwMCA/ICc5MGRlZycgOiAnMGRlZycsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGUodG9wOiBudW1iZXIsIGxlZnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCB7Y2xpZW50SGVpZ2h0LCBjbGllbnRXaWR0aH0gPSB0aGlzLmVsO1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgaWYgKHJlY3QgPT09IEVNUFRZX0NMSUVOVF9SRUNUIHx8ICFjbGllbnRIZWlnaHQgfHwgIWNsaWVudFdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBzYWZlTGVmdCA9IHR1aUNsYW1wKFxuICAgICAgICAgICAgTWF0aC5tYXgoR0FQLCBsZWZ0KSxcbiAgICAgICAgICAgIHZpZXdwb3J0LmxlZnQgKyBHQVAsXG4gICAgICAgICAgICBNYXRoLm1heChHQVAsIHZpZXdwb3J0LndpZHRoICsgdmlld3BvcnQubGVmdCAtIGNsaWVudFdpZHRoIC0gR0FQKSxcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBbYmVha1RvcCwgYmVha0xlZnRdID0gdGhpcy52dnMuY29ycmVjdChbXG4gICAgICAgICAgICByZWN0LnRvcCArIHJlY3QuaGVpZ2h0IC8gMiAtIHRvcCxcbiAgICAgICAgICAgIHJlY3QubGVmdCArIHJlY3Qud2lkdGggLyAyIC0gc2FmZUxlZnQsXG4gICAgICAgIF0pO1xuXG4gICAgICAgIHRoaXMuYXBwbHkoXG4gICAgICAgICAgICB0dWlQeChNYXRoLnJvdW5kKHRvcCkpLFxuICAgICAgICAgICAgdHVpUHgoTWF0aC5yb3VuZChzYWZlTGVmdCkpLFxuICAgICAgICAgICAgTWF0aC5yb3VuZCgodHVpQ2xhbXAoYmVha1RvcCwgMCwgY2xpZW50SGVpZ2h0KSAvIGNsaWVudEhlaWdodCkgKiAxMDApLFxuICAgICAgICAgICAgTWF0aC5yb3VuZCgodHVpQ2xhbXAoYmVha0xlZnQsIDAsIGNsaWVudFdpZHRoKSAvIGNsaWVudFdpZHRoKSAqIDEwMCksXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvaGludC9oaW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLGtCQUFrQixHQUNyQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxZQUFZLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXBDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDOztBQUVuRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QixrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUM7SUFDL0Msa0JBQWtCLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDO0NBQy9DLENBQUM7QUFFRixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFFZCxNQXlCYSxnQkFBZ0I7SUEwQnpCO1FBekJpQixPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdCLFFBQUcsR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN2QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTlCLFlBQU8sR0FBRyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFDLEVBQUMsQ0FBQztRQUNsRCxZQUFPLEdBQUcscUJBQXFCLENBQzlDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxFQUM1QixrQ0FBa0MsQ0FDckMsQ0FBQztRQUVpQixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ25ELGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsU0FBSSxHQUFHLGFBQWEsRUFBbUMsQ0FBQyxTQUFTLENBQUM7UUFDbEUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVqQyxZQUFPLEdBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsS0FBSyx3QkFBd0I7WUFDdEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDWixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFVCxlQUFVLEdBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRzdELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQzthQUNyQixJQUFJLENBQ0QsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUN6QyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3ZDLGtCQUFrQixFQUFFLENBQ3ZCO2FBQ0EsU0FBUyxDQUFDO1lBQ1AsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQztZQUM3QyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7U0FDckMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxDQUFDLGlCQUFpQixDQUFDO2FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2FBQzFCLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRVMsT0FBTyxDQUFDLE1BQW1CO1FBQ2pDLElBQ0ksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwRSxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDN0I7WUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFHTyxLQUFLLENBQUMsR0FBVyxFQUFFLElBQVksRUFBRSxPQUFlLEVBQUUsUUFBZ0I7UUFDdEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN4QixJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDckIsWUFBWSxFQUNaLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FDOUQsQ0FBQztJQUNOLENBQUM7SUFFTyxNQUFNLENBQUMsR0FBVyxFQUFFLElBQVk7UUFDcEMsTUFBTSxFQUFDLFlBQVksRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFM0MsSUFBSSxJQUFJLEtBQUssaUJBQWlCLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDN0QsT0FBTztTQUNWO1FBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUNuQixRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLFdBQVcsR0FBRyxHQUFHLENBQUMsQ0FDcEUsQ0FBQztRQUVGLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxHQUFHO1lBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsUUFBUTtTQUN4QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQ3RCLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxZQUFZLENBQUMsR0FBRyxHQUFHLENBQUMsRUFDckUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUN2RSxDQUFDO0lBQ04sQ0FBQzsrR0ExRlEsZ0JBQWdCO21HQUFoQixnQkFBZ0IsdVhBWmQsa0JBQWtCLDBCQVRuQjs7Ozs7O0tBTVQsbzlIQVBTLGtCQUFrQixnSEFXaEIsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDOztBQWdFM0I7SUFEUCxPQUFPOzZDQVVQO1NBOURRLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQXpCNUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sVUFBVSxXQUNYLENBQUMsa0JBQWtCLENBQUMsWUFDbkI7Ozs7OztLQU1ULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLGtCQUFrQixjQUNqQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFDN0I7d0JBQ0YsZUFBZSxFQUFFLDhCQUE4Qjt3QkFDL0MsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLHNCQUFzQixFQUFFLFNBQVM7d0JBQ2pDLGlCQUFpQixFQUFFLFVBQVU7d0JBQzdCLHdCQUF3QixFQUFFLFlBQVk7d0JBQ3RDLGlCQUFpQixFQUFFLHdDQUF3Qzt3QkFDM0Qsa0JBQWtCLEVBQUUsd0JBQXdCO3FCQUMvQzswRUF1RE8sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7RU1QVFlfQ0xJRU5UX1JFQ1R9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpSG92ZXJlZFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9ob3ZlcmVkJztcbmltcG9ydCB7VFVJX0lTX01PQklMRX0gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aUNvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHt0dWlJbmplY3RFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQdXJlLCB0dWlQeH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpRmFkZUluLCB0dWlTY2FsZUlufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgdHVpUG9zaXRpb25BY2Nlc3NvckZvcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG4gICAgdHVpUmVjdEFjY2Vzc29yRm9yLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jbGFzc2VzJztcbmltcG9ydCB7VHVpUG9zaXRpb25TZXJ2aWNlLCBUdWlWaXN1YWxWaWV3cG9ydFNlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3NlcnZpY2VzJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUQsIFRVSV9WSUVXUE9SVH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7dHVpSXNPYnNjdXJlZCwgdHVpVG9BbmltYXRpb25PcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQge2luamVjdENvbnRleHQsIFBvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge21hcCwgdGFrZVdoaWxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlIaW50RGlyZWN0aXZlfSBmcm9tICcuL2hpbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSGludEhvdmVyfSBmcm9tICcuL2hpbnQtaG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpSGludFBvaW50ZXJ9IGZyb20gJy4vaGludC1wb2ludGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUhpbnRQb3NpdGlvbn0gZnJvbSAnLi9oaW50LXBvc2l0aW9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUhpbnRVbnN0eWxlZENvbXBvbmVudH0gZnJvbSAnLi9oaW50LXVuc3R5bGVkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBUVUlfSElOVF9QUk9WSURFUlMgPSBbXG4gICAgVHVpUG9zaXRpb25TZXJ2aWNlLFxuICAgIFR1aUhvdmVyZWRTZXJ2aWNlLFxuICAgIHR1aVBvc2l0aW9uQWNjZXNzb3JGb3IoJ2hpbnQnLCBUdWlIaW50UG9zaXRpb24pLFxuICAgIHR1aVJlY3RBY2Nlc3NvckZvcignaGludCcsIFR1aUhpbnREaXJlY3RpdmUpLFxuXTtcblxuY29uc3QgR0FQID0gODtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1oaW50JyxcbiAgICBpbXBvcnRzOiBbUG9seW1vcnBoZXVzT3V0bGV0XSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQoKSBhcyB0ZXh0OyBjb250ZXh0OiBoaW50LmNvbnRleHRcIlxuICAgICAgICAgICAgW2lubmVySFRNTF09XCJ0ZXh0XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL2hpbnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX0hJTlRfUFJPVklERVJTLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlGYWRlSW4sIHR1aVNjYWxlSW5dLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tAdHVpU2NhbGVJbl0nOiAnaXNNb2JpbGUgPyBvcHRpb25zIDogZGVza3RvcCcsXG4gICAgICAgICdbQHR1aUZhZGVJbl0nOiAnb3B0aW9ucycsXG4gICAgICAgICdbY2xhc3MuX3VudG91Y2hhYmxlXSc6ICdwb2ludGVyJyxcbiAgICAgICAgJ1tjbGFzcy5fbW9iaWxlXSc6ICdpc01vYmlsZScsXG4gICAgICAgICdbYXR0ci5kYXRhLWFwcGVhcmFuY2VdJzogJ2FwcGVhcmFuY2UnLFxuICAgICAgICAnW2F0dHIudHVpVGhlbWVdJzogJ2FwcGVhcmFuY2UgPT09IFwiZGFya1wiID8gXCJsaWdodFwiIDogbnVsbCcsXG4gICAgICAgICcoZG9jdW1lbnQ6Y2xpY2spJzogJ29uQ2xpY2soJGV2ZW50LnRhcmdldCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRDb21wb25lbnQ8QyA9IGFueT4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3ZlciA9IGluamVjdChUdWlIaW50SG92ZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdnZzID0gaW5qZWN0KFR1aVZpc3VhbFZpZXdwb3J0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3cG9ydCA9IGluamVjdChUVUlfVklFV1BPUlQpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc2t0b3AgPSB7dmFsdWU6ICcnLCBwYXJhbXM6IHtlbmQ6IDEsIHN0YXJ0OiAxfX07XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wdGlvbnMgPSB0dWlUb0FuaW1hdGlvbk9wdGlvbnMoXG4gICAgICAgIGluamVjdChUVUlfQU5JTUFUSU9OU19TUEVFRCksXG4gICAgICAgICdjdWJpYy1iZXppZXIoMC4zNSwgMS4zLCAwLjI1LCAxKScsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb2ludGVyID0gaW5qZWN0KFR1aUhpbnRQb2ludGVyLCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNjZXNzb3IgPSBpbmplY3QoVHVpUmVjdEFjY2Vzc29yKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGludCA9IGluamVjdENvbnRleHQ8VHVpQ29udGV4dDxUdWlIaW50RGlyZWN0aXZlPEM+Pj4oKS4kaW1wbGljaXQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzTW9iaWxlID0gaW5qZWN0KFRVSV9JU19NT0JJTEUpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRlbnQgPVxuICAgICAgICB0aGlzLmhpbnQuY29tcG9uZW50LmNvbXBvbmVudCA9PT0gVHVpSGludFVuc3R5bGVkQ29tcG9uZW50XG4gICAgICAgICAgICA/IHNpZ25hbCgnJylcbiAgICAgICAgICAgIDogdGhpcy5oaW50LmNvbnRlbnQ7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwZWFyYW5jZSA9XG4gICAgICAgIHRoaXMuaGludC5hcHBlYXJhbmNlIHx8XG4gICAgICAgIHRoaXMuaGludC5lbC5jbG9zZXN0KCdbdHVpVGhlbWVdJyk/LmdldEF0dHJpYnV0ZSgndHVpVGhlbWUnKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBpbmplY3QoVHVpUG9zaXRpb25TZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVdoaWxlKCgpID0+IHRoaXMuaGludC5lbC5pc0Nvbm5lY3RlZCksXG4gICAgICAgICAgICAgICAgbWFwKChwb2ludCkgPT4gdGhpcy52dnMuY29ycmVjdChwb2ludCkpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogKFt0b3AsIGxlZnRdKSA9PiB0aGlzLnVwZGF0ZSh0b3AsIGxlZnQpLFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLmhvdmVyLmNsb3NlKCksXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBpbmplY3QoVHVpSG92ZXJlZFNlcnZpY2UpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGhvdmVyKSA9PiB0aGlzLmhvdmVyLnRvZ2dsZShob3ZlcikpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKHRhcmdldDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKCF0YXJnZXQuY2xvc2VzdCh0aGlzLmVsLnRhZ05hbWUpICYmICF0aGlzLmhpbnQuZWwuY29udGFpbnModGFyZ2V0KSkgfHxcbiAgICAgICAgICAgIHR1aUlzT2JzY3VyZWQodGhpcy5oaW50LmVsKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXIudG9nZ2xlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBhcHBseSh0b3A6IHN0cmluZywgbGVmdDogc3RyaW5nLCBiZWFrVG9wOiBudW1iZXIsIGJlYWtMZWZ0OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS50b3AgPSB0b3A7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUubGVmdCA9IGxlZnQ7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUuc2V0UHJvcGVydHkoJy0tdC10b3AnLCBgJHtiZWFrVG9wfSVgKTtcbiAgICAgICAgdGhpcy5lbC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10LWxlZnQnLCBgJHtiZWFrTGVmdH0lYCk7XG4gICAgICAgIHRoaXMuZWwuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAgICAgICAnLS10LXJvdGF0ZScsXG4gICAgICAgICAgICAhYmVha0xlZnQgfHwgTWF0aC5jZWlsKGJlYWtMZWZ0KSA9PT0gMTAwID8gJzkwZGVnJyA6ICcwZGVnJyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZSh0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjbGllbnRIZWlnaHQsIGNsaWVudFdpZHRofSA9IHRoaXMuZWw7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKTtcblxuICAgICAgICBpZiAocmVjdCA9PT0gRU1QVFlfQ0xJRU5UX1JFQ1QgfHwgIWNsaWVudEhlaWdodCB8fCAhY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy52aWV3cG9ydC5nZXRDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IHNhZmVMZWZ0ID0gdHVpQ2xhbXAoXG4gICAgICAgICAgICBNYXRoLm1heChHQVAsIGxlZnQpLFxuICAgICAgICAgICAgdmlld3BvcnQubGVmdCArIEdBUCxcbiAgICAgICAgICAgIE1hdGgubWF4KEdBUCwgdmlld3BvcnQud2lkdGggKyB2aWV3cG9ydC5sZWZ0IC0gY2xpZW50V2lkdGggLSBHQVApLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IFtiZWFrVG9wLCBiZWFrTGVmdF0gPSB0aGlzLnZ2cy5jb3JyZWN0KFtcbiAgICAgICAgICAgIHJlY3QudG9wICsgcmVjdC5oZWlnaHQgLyAyIC0gdG9wLFxuICAgICAgICAgICAgcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCAvIDIgLSBzYWZlTGVmdCxcbiAgICAgICAgXSk7XG5cbiAgICAgICAgdGhpcy5hcHBseShcbiAgICAgICAgICAgIHR1aVB4KE1hdGgucm91bmQodG9wKSksXG4gICAgICAgICAgICB0dWlQeChNYXRoLnJvdW5kKHNhZmVMZWZ0KSksXG4gICAgICAgICAgICBNYXRoLnJvdW5kKCh0dWlDbGFtcChiZWFrVG9wLCAwLCBjbGllbnRIZWlnaHQpIC8gY2xpZW50SGVpZ2h0KSAqIDEwMCksXG4gICAgICAgICAgICBNYXRoLnJvdW5kKCh0dWlDbGFtcChiZWFrTGVmdCwgMCwgY2xpZW50V2lkdGgpIC8gY2xpZW50V2lkdGgpICogMTAwKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -54,7 +54,7 @@ class TuiRoot {
54
54
  : !this.isChildRoot;
55
55
  }
56
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.34.0-canary.f8df2a7" }, listeners: { "touchstart.passive.zoneless": "0", "document:fullscreenchange": "top.set(isTopLayer)" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: "<div class=\"t-root-content\"><ng-content /></div>\n<ng-container *ngIf=\"top()\">\n <tui-scroll-controls\n *ngIf=\"scrollbars\"\n class=\"t-root-scrollbar\"\n />\n <tui-popups />\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n <tui-dropdowns />\n <ng-content select=\"tuiOverDropdowns\" />\n <tui-hints />\n <ng-content select=\"tuiOverHints\" />\n</ng-container>\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;z-index:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRoot, isStandalone: true, selector: "tui-root", host: { attributes: { "data-tui-version": "4.35.0-canary.3cae238" }, listeners: { "touchstart.passive.zoneless": "0", "document:fullscreenchange": "top.set(isTopLayer)" }, properties: { "style.--tui-duration.ms": "duration", "style.--tui-scroll-behavior": "reducedMotion ? \"auto\" : \"smooth\"", "class._mobile": "isMobileRes()" } }, hostDirectives: [{ directive: i1.TuiPlatform }, { directive: i2.TuiVisualViewport }, { directive: i3.TuiFontSize }], ngImport: i0, template: "<div class=\"t-root-content\"><ng-content /></div>\n<ng-container *ngIf=\"top()\">\n <tui-scroll-controls\n *ngIf=\"scrollbars\"\n class=\"t-root-scrollbar\"\n />\n <tui-popups />\n <ng-content select=\"tuiOverContent\" />\n <tui-dialogs />\n <ng-content select=\"tuiOverDialogs\" />\n <tui-alerts />\n <ng-content select=\"tuiOverAlerts\" />\n <tui-dropdowns />\n <ng-content select=\"tuiOverDropdowns\" />\n <tui-hints />\n <ng-content select=\"tuiOverHints\" />\n</ng-container>\n", styles: ["@keyframes tuiPresent{to{content:\"\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.tui-zero-scrollbar::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body,input{margin:0}tui-root{position:relative;display:block;font:var(--tui-font-text-s);color:var(--tui-text-primary);flex:1;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 0 100vh 0;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;z-index:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{position:relative;top:var(--t-root-top);block-size:100%;isolation:isolate}.t-root-content>*{--t-root-top: 0}[tuiDropdownButton][tuiDropdownButton]{display:none}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: TuiAlerts, selector: "tui-alerts" }, { kind: "component", type: TuiDialogs, selector: "tui-dialogs" }, { kind: "component", type: TuiDropdowns, selector: "tui-dropdowns" }, { kind: "component", type: TuiHints, selector: "tui-hints" }, { kind: "component", type: TuiPopups, selector: "tui-popups" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
58
58
  }
59
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRoot, decorators: [{
60
60
  type: Component,
@@ -25,7 +25,7 @@ import { tuiButtonOptionsProvider, TuiButton } from '@taiga-ui/core/components/b
25
25
  import * as i4 from '@taiga-ui/core/components/data-list';
26
26
  import { tuiAsDataListHost, TuiWithOptionContent } from '@taiga-ui/core/components/data-list';
27
27
  import * as i1 from '@taiga-ui/core/directives/dropdown';
28
- import { tuiDropdown, TuiDropdownDirective, tuiDropdownOpen, TuiDropdownFixed, TuiWithDropdownOpen } from '@taiga-ui/core/directives/dropdown';
28
+ import { tuiDropdown, TuiDropdownDirective, TuiDropdownOpen, tuiDropdownOpen, TuiDropdownFixed, TuiWithDropdownOpen } from '@taiga-ui/core/directives/dropdown';
29
29
  import * as i2 from '@taiga-ui/core/directives/icons';
30
30
  import { TuiWithIcons, TuiIcons } from '@taiga-ui/core/directives/icons';
31
31
  import { TUI_COMMON_ICONS, TUI_CLEAR_WORD } from '@taiga-ui/core/tokens';
@@ -183,6 +183,7 @@ class TuiTextfieldComponent {
183
183
  this.filler = signal('');
184
184
  this.autoId = tuiInjectId();
185
185
  this.dropdown = inject(TuiDropdownDirective);
186
+ this.dropdownOpen = inject(TuiDropdownOpen);
186
187
  this.open = tuiDropdownOpen();
187
188
  this.focusedIn = tuiFocusedIn(tuiInjectElement());
188
189
  this.contentReady$ = new ReplaySubject(1);
@@ -232,7 +233,7 @@ class TuiTextfieldComponent {
232
233
  }
233
234
  event.preventDefault();
234
235
  this.input?.nativeElement.focus({ preventScroll: true });
235
- if (this.dropdown.content) {
236
+ if (this.dropdownOpen.tuiDropdownEnabled && this.dropdown.content) {
236
237
  this.open.update((x) => !x);
237
238
  }
238
239
  }