@taiga-ui/addon-doc 4.0.0-rc.6 → 4.0.0-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@ import type { Observable } from 'rxjs';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDocCopy {
4
4
  private readonly copy$;
5
- protected readonly texts$: Observable<[string, string]>;
5
+ protected readonly texts$: Observable<[copy: string, copied: string]>;
6
6
  protected get copied$(): Observable<boolean>;
7
7
  protected onClick(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDocCopy, never>;
@@ -80,7 +80,7 @@ class TuiDocDocumentation {
80
80
  connector.onValueChange(result);
81
81
  }
82
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocDocumentation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocDocumentation, isStandalone: true, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, providers: [TuiGetColorPipe, TuiGetOpacityPipe], queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnector }], ngImport: i0, template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content />\n<ng-container *ngIf=\"propertiesConnectors | tuiToArray | tuiFilter: matcher : excludedProperties as properties\">\n <table\n *ngIf=\"properties.length\"\n class=\"t-table\"\n >\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-th_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of properties\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property t-additional-info\"\n >\n <code\n *ngIf=\"propertyConnector.attrName\"\n class=\"t-property-code\"\n [style.color]=\"'var(--tui-background-accent-2-pressed)'\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n </code>\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n appearance=\"neutral\"\n size=\"s\"\n >\n Optional\n </tui-badge>\n <tui-badge\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n appearance=\"error\"\n size=\"s\"\n >\n Deprecated\n </tui-badge>\n </div>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\" />\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n <code class=\"t-code-type\">\n <ng-container\n *ngFor=\"\n let item of propertyConnector.documentationPropertyType | tuiDocTypeReference;\n let last = last\n \"\n >\n <a\n *ngIf=\"item.reference; else default\"\n target=\"_blank\"\n class=\"t-code-reference\"\n [attr.href]=\"item.reference\"\n >\n {{ item.type }}\n </a>\n <ng-template #default>\n {{ item.type }}\n </ng-template>\n <span *ngIf=\"!last\">&nbsp;|&nbsp;</span>\n </ng-container>\n </code>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell t-cell_value\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiDropdownLimitWidth=\"min\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [valueContent]=\"selectContent\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [itemContent]=\"selectContent\"\n [items]=\"propertyConnector.documentationPropertyValues\"\n />\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ data | tuiInspectAny }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <input\n *ngSwitchCase=\"'boolean'\"\n tuiSwitch\n type=\"checkbox\"\n class=\"t-switch\"\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [showIcons]=\"true\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n\n <tui-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n >\n <input\n tuiTextfield\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue || ''\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n </tui-textfield>\n\n <tui-input-number\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [step]=\"1\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"propertyConnector.onValueChange($event || 0)\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-width:100%}.t-table{width:100%;table-layout:fixed}.t-row:not(:last-child){border-bottom:1px solid var(--tui-border-normal)}:host-context(tui-root._mobile) .t-row{display:flex;flex-wrap:wrap}:host-context(tui-root._mobile) .t-row_header{display:none}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-left:0}.t-cell:last-child{padding-right:0}.t-cell_prop{width:40%}.t-cell_value{text-align:right}:host-context(tui-root._mobile) .t-cell{width:100%;height:auto;padding:.5rem 0;text-align:left}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:left}.t-th_value{max-width:20rem;text-align:right}:host-context(tui-root._mobile) .t-th_value{width:9.375rem}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}:host-context(tui-root._mobile) .t-property{padding:.5rem 0}.t-type{font-family:monospace}.t-deprecated .t-property-code{text-decoration:line-through}.t-deprecated-label{margin-right:.125rem;color:var(--tui-text-negative);font-size:.75rem}.t-additional-info{display:flex;gap:.3125rem;align-items:center}.t-exception{display:block;width:-webkit-max-content;width:max-content}.t-output{text-align:left;opacity:0}.t-heading{font:var(--tui-font-heading-4)}.t-code-type{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start}.t-code-reference{display:inline-flex;color:var(--tui-text-action);text-decoration:none;align-items:center;justify-content:center;gap:3px}.t-code-reference:after{content:\"\";font-size:1rem;width:1rem;height:1rem;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%}.t-switch{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TuiFilterPipe, name: "tuiFilter" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TuiStripOptionalPipe, name: "tuiStripOptionalPipe" }, { kind: "pipe", type: TuiIsOptionalPipe, name: "tuiIsOptionalPipe" }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TuiDocTypeReferencePipe, name: "tuiDocTypeReference" }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i1.TuiSelectDirective, selector: "tui-select" }, { kind: "directive", type: i2.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TuiShowCleanerPipe, name: "tuiShowCleanerPipe" }, { kind: "pipe", type: TuiInspectPipe, name: "tuiInspectAny" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: TuiSwitch, selector: "input[type=\"checkbox\"][tuiSwitch]", inputs: ["size", "showIcons"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["filler", "stringify", "content"] }, { kind: "directive", type: i6.TuiTextfieldDirective, selector: "input[tuiTextfield]" }, { kind: "directive", type: i6.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "ngmodule", type: TuiInputNumberModule }, { kind: "component", type: i7.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i7.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "component", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["icon", "status", "size", "hideClose"], outputs: ["close"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiToArrayPipe, name: "tuiToArray" }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i8.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { kind: "directive", type: i8.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i8.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }], animations: [
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocDocumentation, isStandalone: true, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, providers: [TuiGetColorPipe, TuiGetOpacityPipe], queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnector }], ngImport: i0, template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content />\n<ng-container *ngIf=\"propertiesConnectors | tuiToArray | tuiFilter: matcher : excludedProperties as properties\">\n <table\n *ngIf=\"properties.length\"\n class=\"t-table\"\n >\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-th_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of properties\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property t-additional-info\"\n >\n <code\n *ngIf=\"propertyConnector.attrName\"\n class=\"t-property-code\"\n [style.color]=\"'var(--tui-background-accent-2-pressed)'\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n </code>\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n appearance=\"neutral\"\n size=\"s\"\n >\n Optional\n </tui-badge>\n <tui-badge\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n appearance=\"error\"\n size=\"s\"\n >\n Deprecated\n </tui-badge>\n </div>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\" />\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n <code class=\"t-code-type\">\n <ng-container\n *ngFor=\"\n let item of propertyConnector.documentationPropertyType | tuiDocTypeReference;\n let last = last\n \"\n >\n <a\n *ngIf=\"item.reference; else default\"\n target=\"_blank\"\n class=\"t-code-reference\"\n [attr.href]=\"item.reference\"\n >\n {{ item.type }}\n </a>\n <ng-template #default>\n {{ item.type }}\n </ng-template>\n <span *ngIf=\"!last\">&nbsp;|&nbsp;</span>\n </ng-container>\n </code>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell t-cell_value\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiDropdownLimitWidth=\"min\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [valueContent]=\"selectContent\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [itemContent]=\"selectContent\"\n [items]=\"propertyConnector.documentationPropertyValues\"\n />\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ data | tuiInspectAny }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <input\n *ngSwitchCase=\"'boolean'\"\n tuiSwitch\n type=\"checkbox\"\n class=\"t-switch\"\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [showIcons]=\"true\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n\n <tui-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n >\n <input\n tuiTextfield\n [id]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue || ''\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n />\n </tui-textfield>\n\n <tui-input-number\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n [step]=\"1\"\n [tuiTextfieldLabelOutside]=\"true\"\n (ngModelChange)=\"propertyConnector.onValueChange($event || 0)\"\n />\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-width:100%}.t-table{width:100%;table-layout:fixed}.t-row:not(:last-child){border-bottom:1px solid var(--tui-border-normal)}:host-context(tui-root._mobile) .t-row{display:flex;flex-wrap:wrap}:host-context(tui-root._mobile) .t-row_header{display:none}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-left:0}.t-cell:last-child{padding-right:0}.t-cell_prop{width:40%}.t-cell_value{text-align:right}:host-context(tui-root._mobile) .t-cell{width:100%;height:auto;padding:.5rem 0;text-align:left}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:left}.t-th_value{max-width:20rem;text-align:right}:host-context(tui-root._mobile) .t-th_value{width:9.375rem}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}:host-context(tui-root._mobile) .t-property{padding:.5rem 0}.t-type{font-family:monospace}.t-deprecated .t-property-code{text-decoration:line-through}.t-deprecated-label{margin-right:.125rem;color:var(--tui-text-negative);font-size:.75rem}.t-additional-info{display:flex;gap:.3125rem;align-items:center}.t-exception{display:block;width:-webkit-max-content;width:max-content}.t-output{text-align:left;opacity:0}.t-heading{font:var(--tui-font-heading-4)}.t-code-type{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start}.t-code-reference{display:inline-flex;color:var(--tui-text-action);text-decoration:none;align-items:center;justify-content:center;gap:3px}.t-code-reference:after{content:\"\";font-size:1rem;width:1rem;height:1rem;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1rem\" height=\"1rem\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line></svg>') center / 100%}.t-switch{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TuiFilterPipe, name: "tuiFilter" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: TuiStripOptionalPipe, name: "tuiStripOptionalPipe" }, { kind: "pipe", type: TuiIsOptionalPipe, name: "tuiIsOptionalPipe" }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TuiDocTypeReferencePipe, name: "tuiDocTypeReference" }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i1.TuiSelectDirective, selector: "tui-select" }, { kind: "directive", type: i2.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "component", type: i4.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TuiShowCleanerPipe, name: "tuiShowCleanerPipe" }, { kind: "pipe", type: TuiInspectPipe, name: "tuiInspectAny" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: TuiSwitch, selector: "input[type=\"checkbox\"][tuiSwitch]", inputs: ["size", "showIcons"] }, { kind: "component", type: i6.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["filler", "stringify", "content"] }, { kind: "directive", type: i6.TuiTextfieldDirective, selector: "input[tuiTextfield]" }, { kind: "directive", type: i6.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { kind: "ngmodule", type: TuiInputNumberModule }, { kind: "component", type: i7.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i7.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "directive", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiToArrayPipe, name: "tuiToArray" }, { kind: "ngmodule", type: TuiTextfieldControllerModule }, { kind: "directive", type: i8.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { kind: "directive", type: i8.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i8.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }], animations: [
84
84
  trigger('emitEvent', [
85
85
  transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
86
86
  ]),
@@ -132,4 +132,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
132
132
  }], isAPI: [{
133
133
  type: Input
134
134
  }] } });
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFDSCxTQUFTLEVBQ1QsT0FBTyxFQUNQLElBQUksRUFDSixRQUFRLEVBQ1IsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCwyQkFBMkIsRUFDM0IsMkJBQTJCLEdBQzlCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBQyxX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OzRCQUNqQixVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7eUJBQzVFLENBQUM7cUJBQ0w7OEJBU1Msb0JBQW9CO3NCQUQ3QixlQUFlO3VCQUFDLG9DQUFvQztnQkFTOUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIEFzeW5jUGlwZSxcbiAgICBOZ0Zvck9mLFxuICAgIE5nSWYsXG4gICAgTmdTd2l0Y2gsXG4gICAgTmdTd2l0Y2hDYXNlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50SW5pdCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMsXG4gICAgVFVJX0RPQ19FWENMVURFRF9QUk9QRVJUSUVTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXMsIHR1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VHVpRmlsdGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9maWx0ZXInO1xuaW1wb3J0IHtUdWlUb0FycmF5UGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy90by1hcnJheSc7XG5pbXBvcnQgdHlwZSB7VHVpTWF0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUhleFRvUmdifSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2NvbG9yJztcbmltcG9ydCB7VHVpR3JvdXB9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZ3JvdXAnO1xuaW1wb3J0IHtUdWlOb3RpZmljYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aURyb3Bkb3dufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpQmFkZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyJztcbmltcG9ydCB7VHVpU3dpdGNofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtUdWlTZWxlY3RNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHttZXJnZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3J9IGZyb20gJy4vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpU2hvd0NsZWFuZXJQaXBlfSBmcm9tICcuL3BpcGVzL2NsZWFuZXIucGlwZSc7XG5pbXBvcnQge1R1aUdldENvbG9yUGlwZX0gZnJvbSAnLi9waXBlcy9jb2xvci5waXBlJztcbmltcG9ydCB7VHVpSW5zcGVjdFBpcGV9IGZyb20gJy4vcGlwZXMvaW5zcGVjdC5waXBlJztcbmltcG9ydCB7VHVpR2V0T3BhY2l0eVBpcGV9IGZyb20gJy4vcGlwZXMvb3BhY2l0eS5waXBlJztcbmltcG9ydCB7VHVpSXNPcHRpb25hbFBpcGV9IGZyb20gJy4vcGlwZXMvb3B0aW9uYWwucGlwZSc7XG5pbXBvcnQge1R1aUlzUHJpbWl0aXZlUG9seW1vcnBoZXVzQ29udGVudFBpcGV9IGZyb20gJy4vcGlwZXMvcHJpbWl0aXZlLXBvbHltb3JwaGV1cy1jb250ZW50LnBpcGUnO1xuaW1wb3J0IHtUdWlTdHJpcE9wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9zdHJpcC1vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpRG9jVHlwZVJlZmVyZW5jZVBpcGV9IGZyb20gJy4vcGlwZXMvdHlwZS1yZWZlcmVuY2UucGlwZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZG9jdW1lbnRhdGlvbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBUdWlGaWx0ZXJQaXBlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBUdWlTdHJpcE9wdGlvbmFsUGlwZSxcbiAgICAgICAgVHVpSXNPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aUJhZGdlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUdWlEb2NUeXBlUmVmZXJlbmNlUGlwZSxcbiAgICAgICAgVHVpU2VsZWN0TW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpRHJvcGRvd24sXG4gICAgICAgIFR1aVNob3dDbGVhbmVyUGlwZSxcbiAgICAgICAgVHVpRGF0YUxpc3RXcmFwcGVyLFxuICAgICAgICBUdWlJbnNwZWN0UGlwZSxcbiAgICAgICAgTmdTd2l0Y2gsXG4gICAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgICAgVHVpU3dpdGNoLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgICAgIFR1aUdyb3VwLFxuICAgICAgICBUdWlHZXRPcGFjaXR5UGlwZSxcbiAgICAgICAgVHVpR2V0Q29sb3JQaXBlLFxuICAgICAgICBUdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICAgICAgVHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZSxcbiAgICAgICAgVHVpTm90aWZpY2F0aW9uLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFR1aVRvQXJyYXlQaXBlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpR2V0Q29sb3JQaXBlLCBUdWlHZXRPcGFjaXR5UGlwZV0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdlbWl0RXZlbnQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6aW5jcmVtZW50JywgW3N0eWxlKHtvcGFjaXR5OiAxfSksIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKV0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEb2N1bWVudGF0aW9uIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdldENvbG9yID0gaW5qZWN0KFR1aUdldENvbG9yUGlwZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXRPcGFjaXR5ID0gaW5qZWN0KFR1aUdldE9wYWNpdHlQaXBlKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yKVxuICAgIHByb3RlY3RlZCBwcm9wZXJ0aWVzQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3Rvcjxhbnk+PiA9XG4gICAgICAgIEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRzID0gaW5qZWN0KFRVSV9ET0NfRE9DVU1FTlRBVElPTl9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4Y2x1ZGVkUHJvcGVydGllcyA9IGluamVjdChUVUlfRE9DX0VYQ0xVREVEX1BST1BFUlRJRVMpO1xuICAgIHByb3RlY3RlZCBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGluZyA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1ZhbHVlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0FQSSA9IGZhbHNlO1xuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLnByb3BlcnRpZXNDb25uZWN0b3JzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKCh7Y2hhbmdlZCR9KSA9PiBjaGFuZ2VkJCkpKSxcbiAgICAgICAgICAgICAgICB0dWlXYXRjaCh0aGlzLmNkciksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQVBJID8gdGhpcy50ZXh0c1swXSA6IHRoaXMudGV4dHNbMV07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1hdGNoZXI6IFR1aU1hdGNoZXI8XG4gICAgICAgIFtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8YW55PiwgU2V0PHN0cmluZz5dXG4gICAgPiA9IChpdGVtLCBleGNsdXNpb25zKSA9PiAhZXhjbHVzaW9ucy5oYXMoaXRlbS5kb2N1bWVudGF0aW9uUHJvcGVydHlOYW1lKTtcblxuICAgIHByb3RlY3RlZCBvbkNvbG9yQ2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvcjxzdHJpbmc+LFxuICAgICAgICBjb2xvcjogc3RyaW5nLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcGFjaXR5ID0gdGhpcy5nZXRPcGFjaXR5LnRyYW5zZm9ybShcbiAgICAgICAgICAgIGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJyxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAob3BhY2l0eSA9PT0gMTAwKSB7XG4gICAgICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShjb2xvcik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJnYiA9IHR1aUhleFRvUmdiKGNvbG9yKS5qb2luKCcsICcpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk9wYWNpdHlDaGFuZ2UoXG4gICAgICAgIGNvbm5lY3RvcjogVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yPHN0cmluZz4sXG4gICAgICAgIG9wYWNpdHk6IG51bWJlciB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhleCA9IHRoaXMuZ2V0Q29sb3IudHJhbnNmb3JtKGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJyk7XG4gICAgICAgIGNvbnN0IHJnYiA9IHR1aUhleFRvUmdiKGhleCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGByZ2JhKCR7cmdifSwgJHsob3BhY2l0eSB8fCAwKSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cbn1cbiIsIjxoMVxuICAgICpuZ0lmPVwiaGVhZGluZ1wiXG4gICAgY2xhc3M9XCJ0LWhlYWRpbmdcIlxuPlxuICAgIHt7IGhlYWRpbmcgfX1cbjwvaDE+XG48bmctY29udGVudCAvPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnRpZXNDb25uZWN0b3JzIHwgdHVpVG9BcnJheSB8IHR1aUZpbHRlcjogbWF0Y2hlciA6IGV4Y2x1ZGVkUHJvcGVydGllcyBhcyBwcm9wZXJ0aWVzXCI+XG4gICAgPHRhYmxlXG4gICAgICAgICpuZ0lmPVwicHJvcGVydGllcy5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtdGFibGVcIlxuICAgID5cbiAgICAgICAgPHRyIGNsYXNzPVwidC1yb3cgdC1yb3dfaGVhZGVyXCI+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJ0LXRoIHQtY2VsbCB0LWNlbGxfcHJvcFwiPnt7IHRleHRzWzJdIH19PC90aD5cbiAgICAgICAgICAgIDx0aCBjbGFzcz1cInQtdGhcIj57eyB0eXBlIH19PC90aD5cbiAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlcyAmJiAhaXNBUElcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC10aCB0LWNlbGwgdC10aF92YWx1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dHNbM10gfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0clxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByb3BlcnR5Q29ubmVjdG9yIG9mIHByb3BlcnRpZXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgICAgICAgICBbY2xhc3MudC1kZXByZWNhdGVkXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eURlcHJlY2F0ZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJ0LWNlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZG9jdW1lbnRhdGlvbl9fcHJvcGVydHktbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wcm9wZXJ0eSB0LWFkZGl0aW9uYWwtaW5mb1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Y29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtcHJvcGVydHktY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS1iYWNrZ3JvdW5kLWFjY2VudC0yLXByZXNzZWQpJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lIHwgdHVpU3RyaXBPcHRpb25hbFBpcGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lIHwgdHVpSXNPcHRpb25hbFBpcGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbFxuICAgICAgICAgICAgICAgICAgICA8L3R1aS1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJlcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWRcbiAgICAgICAgICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9wZXJ0eUNvbm5lY3Rvci50ZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzPVwidC1jb2RlLXR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgcHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSB8IHR1aURvY1R5cGVSZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnJlZmVyZW5jZTsgZWxzZSBkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvZGUtcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLnJlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnR5cGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnR5cGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxhc3RcIj4mbmJzcDt8Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvY29kZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93VmFsdWVzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2VsbCB0LWNlbGxfdmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5zaG91bGRTaG93VmFsdWVzOyBlbHNlIGVsc2VFbWl0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLmhhc0l0ZW1zOyBlbHNlIG5vSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpRHJvcGRvd25MaW1pdFdpZHRoPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlIHwgdHVpU2hvd0NsZWFuZXJQaXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVDb250ZW50XT1cInNlbGVjdENvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9XCJ0LWV4Y2VwdGlvblwiPm51bGw8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1Db250ZW50XT1cInNlbGVjdENvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC90dWktc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICNzZWxlY3RDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQtZGF0YVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y29kZT57eyBkYXRhIHwgdHVpSW5zcGVjdEFueSB9fTwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSXRlbXM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlTd2l0Y2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN3aXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dJY29uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzdHJpbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXRleHRmaWVsZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hdGl2ZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQgfHwgMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUVtaXR0ZXI+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktbm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtb3V0cHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtAZW1pdEV2ZW50XT1cInByb3BlcnR5Q29ubmVjdG9yLmVtaXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRW1pdCFcbiAgICAgICAgICAgICAgICAgICAgPC90dWktbm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFDSCxTQUFTLEVBQ1QsT0FBTyxFQUNQLElBQUksRUFDSixRQUFRLEVBQ1IsWUFBWSxFQUNaLGdCQUFnQixHQUNuQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEdBQ1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFDSCwyQkFBMkIsRUFDM0IsMkJBQTJCLEdBQzlCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRTVELE9BQU8sRUFBQyxX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OzRCQUNqQixVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7eUJBQzVFLENBQUM7cUJBQ0w7OEJBU1Msb0JBQW9CO3NCQUQ3QixlQUFlO3VCQUFDLG9DQUFvQztnQkFTOUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIEFzeW5jUGlwZSxcbiAgICBOZ0Zvck9mLFxuICAgIE5nSWYsXG4gICAgTmdTd2l0Y2gsXG4gICAgTmdTd2l0Y2hDYXNlLFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50SW5pdCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMsXG4gICAgVFVJX0RPQ19FWENMVURFRF9QUk9QRVJUSUVTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXMsIHR1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VHVpRmlsdGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9maWx0ZXInO1xuaW1wb3J0IHtUdWlUb0FycmF5UGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy90by1hcnJheSc7XG5pbXBvcnQgdHlwZSB7VHVpTWF0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUhleFRvUmdifSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2NvbG9yJztcbmltcG9ydCB7VHVpR3JvdXB9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZ3JvdXAnO1xuaW1wb3J0IHtUdWlOb3RpZmljYXRpb259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aURyb3Bkb3dufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB7VHVpQmFkZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyJztcbmltcG9ydCB7VHVpU3dpdGNofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtUdWlTZWxlY3RNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHttZXJnZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3J9IGZyb20gJy4vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpU2hvd0NsZWFuZXJQaXBlfSBmcm9tICcuL3BpcGVzL2NsZWFuZXIucGlwZSc7XG5pbXBvcnQge1R1aUdldENvbG9yUGlwZX0gZnJvbSAnLi9waXBlcy9jb2xvci5waXBlJztcbmltcG9ydCB7VHVpSW5zcGVjdFBpcGV9IGZyb20gJy4vcGlwZXMvaW5zcGVjdC5waXBlJztcbmltcG9ydCB7VHVpR2V0T3BhY2l0eVBpcGV9IGZyb20gJy4vcGlwZXMvb3BhY2l0eS5waXBlJztcbmltcG9ydCB7VHVpSXNPcHRpb25hbFBpcGV9IGZyb20gJy4vcGlwZXMvb3B0aW9uYWwucGlwZSc7XG5pbXBvcnQge1R1aUlzUHJpbWl0aXZlUG9seW1vcnBoZXVzQ29udGVudFBpcGV9IGZyb20gJy4vcGlwZXMvcHJpbWl0aXZlLXBvbHltb3JwaGV1cy1jb250ZW50LnBpcGUnO1xuaW1wb3J0IHtUdWlTdHJpcE9wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9zdHJpcC1vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpRG9jVHlwZVJlZmVyZW5jZVBpcGV9IGZyb20gJy4vcGlwZXMvdHlwZS1yZWZlcmVuY2UucGlwZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZG9jdW1lbnRhdGlvbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0lmLFxuICAgICAgICBUdWlGaWx0ZXJQaXBlLFxuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBUdWlTdHJpcE9wdGlvbmFsUGlwZSxcbiAgICAgICAgVHVpSXNPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aUJhZGdlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUdWlEb2NUeXBlUmVmZXJlbmNlUGlwZSxcbiAgICAgICAgVHVpU2VsZWN0TW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpRHJvcGRvd24sXG4gICAgICAgIFR1aVNob3dDbGVhbmVyUGlwZSxcbiAgICAgICAgVHVpRGF0YUxpc3RXcmFwcGVyLFxuICAgICAgICBUdWlJbnNwZWN0UGlwZSxcbiAgICAgICAgTmdTd2l0Y2gsXG4gICAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgICAgVHVpU3dpdGNoLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgICAgIFR1aUdyb3VwLFxuICAgICAgICBUdWlHZXRPcGFjaXR5UGlwZSxcbiAgICAgICAgVHVpR2V0Q29sb3JQaXBlLFxuICAgICAgICBUdWlJbnB1dE51bWJlck1vZHVsZSxcbiAgICAgICAgVHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZSxcbiAgICAgICAgVHVpTm90aWZpY2F0aW9uLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFR1aVRvQXJyYXlQaXBlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRhdGlvbi5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbVHVpR2V0Q29sb3JQaXBlLCBUdWlHZXRPcGFjaXR5UGlwZV0sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdlbWl0RXZlbnQnLCBbXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCc6aW5jcmVtZW50JywgW3N0eWxlKHtvcGFjaXR5OiAxfSksIGFuaW1hdGUoJzUwMG1zIGVhc2UtaW4nKV0pLFxuICAgICAgICBdKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEb2N1bWVudGF0aW9uIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdldENvbG9yID0gaW5qZWN0KFR1aUdldENvbG9yUGlwZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXRPcGFjaXR5ID0gaW5qZWN0KFR1aUdldE9wYWNpdHlQaXBlKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yKVxuICAgIHByb3RlY3RlZCBwcm9wZXJ0aWVzQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3Rvcjxhbnk+PiA9XG4gICAgICAgIEVNUFRZX1FVRVJZO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRzID0gaW5qZWN0KFRVSV9ET0NfRE9DVU1FTlRBVElPTl9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4Y2x1ZGVkUHJvcGVydGllcyA9IGluamVjdChUVUlfRE9DX0VYQ0xVREVEX1BST1BFUlRJRVMpO1xuICAgIHByb3RlY3RlZCBhY3RpdmVJdGVtSW5kZXggPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGluZyA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd1ZhbHVlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpc0FQSSA9IGZhbHNlO1xuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdHVpUXVlcnlMaXN0Q2hhbmdlcyh0aGlzLnByb3BlcnRpZXNDb25uZWN0b3JzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKCh7Y2hhbmdlZCR9KSA9PiBjaGFuZ2VkJCkpKSxcbiAgICAgICAgICAgICAgICB0dWlXYXRjaCh0aGlzLmNkciksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQVBJID8gdGhpcy50ZXh0c1swXSA6IHRoaXMudGV4dHNbMV07XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG1hdGNoZXI6IFR1aU1hdGNoZXI8XG4gICAgICAgIFtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8YW55PiwgU2V0PHN0cmluZz5dXG4gICAgPiA9IChpdGVtLCBleGNsdXNpb25zKSA9PiAhZXhjbHVzaW9ucy5oYXMoaXRlbS5kb2N1bWVudGF0aW9uUHJvcGVydHlOYW1lKTtcblxuICAgIHByb3RlY3RlZCBvbkNvbG9yQ2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvcjxzdHJpbmc+LFxuICAgICAgICBjb2xvcjogc3RyaW5nLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcGFjaXR5ID0gdGhpcy5nZXRPcGFjaXR5LnRyYW5zZm9ybShcbiAgICAgICAgICAgIGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJyxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAob3BhY2l0eSA9PT0gMTAwKSB7XG4gICAgICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShjb2xvcik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJnYiA9IHR1aUhleFRvUmdiKGNvbG9yKS5qb2luKCcsICcpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbk9wYWNpdHlDaGFuZ2UoXG4gICAgICAgIGNvbm5lY3RvcjogVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yPHN0cmluZz4sXG4gICAgICAgIG9wYWNpdHk6IG51bWJlciB8IG51bGwsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGhleCA9IHRoaXMuZ2V0Q29sb3IudHJhbnNmb3JtKGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJyk7XG4gICAgICAgIGNvbnN0IHJnYiA9IHR1aUhleFRvUmdiKGhleCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGByZ2JhKCR7cmdifSwgJHsob3BhY2l0eSB8fCAwKSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cbn1cbiIsIjxoMVxuICAgICpuZ0lmPVwiaGVhZGluZ1wiXG4gICAgY2xhc3M9XCJ0LWhlYWRpbmdcIlxuPlxuICAgIHt7IGhlYWRpbmcgfX1cbjwvaDE+XG48bmctY29udGVudCAvPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnRpZXNDb25uZWN0b3JzIHwgdHVpVG9BcnJheSB8IHR1aUZpbHRlcjogbWF0Y2hlciA6IGV4Y2x1ZGVkUHJvcGVydGllcyBhcyBwcm9wZXJ0aWVzXCI+XG4gICAgPHRhYmxlXG4gICAgICAgICpuZ0lmPVwicHJvcGVydGllcy5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtdGFibGVcIlxuICAgID5cbiAgICAgICAgPHRyIGNsYXNzPVwidC1yb3cgdC1yb3dfaGVhZGVyXCI+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJ0LXRoIHQtY2VsbCB0LWNlbGxfcHJvcFwiPnt7IHRleHRzWzJdIH19PC90aD5cbiAgICAgICAgICAgIDx0aCBjbGFzcz1cInQtdGhcIj57eyB0eXBlIH19PC90aD5cbiAgICAgICAgICAgIDx0aFxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlcyAmJiAhaXNBUElcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC10aCB0LWNlbGwgdC10aF92YWx1ZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgdGV4dHNbM10gfX1cbiAgICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0clxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHByb3BlcnR5Q29ubmVjdG9yIG9mIHByb3BlcnRpZXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgICAgICAgICBbY2xhc3MudC1kZXByZWNhdGVkXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eURlcHJlY2F0ZWRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJ0LWNlbGxcIj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZG9jdW1lbnRhdGlvbl9fcHJvcGVydHktbmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wcm9wZXJ0eSB0LWFkZGl0aW9uYWwtaW5mb1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Y29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtcHJvcGVydHktY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiJ3ZhcigtLXR1aS1iYWNrZ3JvdW5kLWFjY2VudC0yLXByZXNzZWQpJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lIHwgdHVpU3RyaXBPcHRpb25hbFBpcGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lIHwgdHVpSXNPcHRpb25hbFBpcGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm5ldXRyYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBPcHRpb25hbFxuICAgICAgICAgICAgICAgICAgICA8L3R1aS1iYWRnZT5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJlcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIERlcHJlY2F0ZWRcbiAgICAgICAgICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9wZXJ0eUNvbm5lY3Rvci50ZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzPVwidC1jb2RlLXR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGl0ZW0gb2YgcHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSB8IHR1aURvY1R5cGVSZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBsYXN0ID0gbGFzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnJlZmVyZW5jZTsgZWxzZSBkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvZGUtcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLnJlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnR5cGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnR5cGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWxhc3RcIj4mbmJzcDt8Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvY29kZT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJzaG93VmFsdWVzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2VsbCB0LWNlbGxfdmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5zaG91bGRTaG93VmFsdWVzOyBlbHNlIGVsc2VFbWl0dGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLmhhc0l0ZW1zOyBlbHNlIG5vSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpRHJvcGRvd25MaW1pdFdpZHRoPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlIHwgdHVpU2hvd0NsZWFuZXJQaXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVDb250ZW50XT1cInNlbGVjdENvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGUgY2xhc3M9XCJ0LWV4Y2VwdGlvblwiPm51bGw8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1Db250ZW50XT1cInNlbGVjdENvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC90dWktc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICNzZWxlY3RDb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQtZGF0YVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y29kZT57eyBkYXRhIHwgdHVpSW5zcGVjdEFueSB9fTwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSXRlbXM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInYm9vbGVhbidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlTd2l0Y2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN3aXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dJY29uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS10ZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzdHJpbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXRleHRmaWVsZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaW5wdXQtbnVtYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hdGl2ZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcF09XCIxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQgfHwgMClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUVtaXR0ZXI+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktbm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtb3V0cHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtAZW1pdEV2ZW50XT1cInByb3BlcnR5Q29ubmVjdG9yLmVtaXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRW1pdCFcbiAgICAgICAgICAgICAgICAgICAgPC90dWktbm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -2,7 +2,7 @@ import { Clipboard } from '@angular/cdk/clipboard';
2
2
  import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
3
3
  import { ChangeDetectionStrategy, Component, HostBinding, inject, Input, } from '@angular/core';
4
4
  import { RouterLink } from '@angular/router';
5
- import { LOCATION } from '@ng-web-apis/common';
5
+ import { WA_LOCATION } from '@ng-web-apis/common';
6
6
  import { TUI_DOC_CODE_ACTIONS, TUI_DOC_CODE_EDITOR, TUI_DOC_EXAMPLE_CONTENT_PROCESSOR, TUI_DOC_EXAMPLE_TEXTS, TUI_DOC_ICONS, } from '@taiga-ui/addon-doc/tokens';
7
7
  import { tuiRawLoadRecord } from '@taiga-ui/addon-doc/utils';
8
8
  import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
@@ -24,7 +24,7 @@ class TuiDocExample {
24
24
  constructor() {
25
25
  this.clipboard = inject(Clipboard);
26
26
  this.alerts = inject(TuiAlertService);
27
- this.location = inject(LOCATION);
27
+ this.location = inject(WA_LOCATION);
28
28
  this.copyTexts$ = inject(TUI_COPY_TEXTS);
29
29
  this.processContent = inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR);
30
30
  this.rawLoader$$ = new BehaviorSubject({});
@@ -59,7 +59,7 @@ class TuiDocExample {
59
59
  copyExampleLink(target) {
60
60
  this.clipboard.copy(target?.href ?? '');
61
61
  this.alerts
62
- .open(this.texts[1], { label: this.texts[2], status: 'success' })
62
+ .open(this.texts[1], { label: this.texts[2], appearance: 'success' })
63
63
  .subscribe();
64
64
  }
65
65
  edit(files) {
@@ -69,7 +69,7 @@ class TuiDocExample {
69
69
  .finally(() => this.loading$.next(false));
70
70
  }
71
71
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocExample, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocExample, isStandalone: true, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", fullsize: "fullsize", componentName: "componentName", content: "content", component: "component" }, host: { properties: { "attr.id": "this.id", "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <a\n *ngIf=\"id\"\n appearance=\"icon\"\n routerLink=\".\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [fragment]=\"id\"\n [iconStart]=\"icons.link\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n {{ copy$ | async }}\n </a>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n />\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files?.[tabs[activeItemIndex]] || ''}\"\n />\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent$ | async as text\">\n {{ text }}\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <tui-doc-code [code]=\"code\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n </tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host:target{animation:1s .3s tuiShaking}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-title:first-letter,.t-description:first-letter{text-transform:capitalize}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-border-normal);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem #0000001a;overflow:hidden}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 .875rem 0 2rem;box-shadow:inset 0 -1px var(--tui-border-normal);justify-content:space-between;align-items:center;gap:.5rem}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 .875rem 0 1rem}.t-tabs{flex-grow:1;box-shadow:none}.t-code-editor{flex-shrink:0}.t-demo{padding:2rem;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0),all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-background-neutral-1-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-background-neutral-1-pressed)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-tertiary)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiDocExampleGetTabsPipe, name: "tuiDocExampleGetTabs" }, { kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "directive", type: i2.TuiTab, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "component", type: i2.TuiTabsWithMore, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["size", "moreContent", "dropdownContent", "underline", "itemsLimit", "activeItemIndex"], outputs: ["activeItemIndexChange"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiDocCode, selector: "tui-doc-code", inputs: ["filename", "code"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocExample, isStandalone: true, selector: "tui-doc-example", inputs: { id: "id", heading: "heading", description: "description", fullsize: "fullsize", componentName: "componentName", content: "content", component: "component" }, host: { properties: { "attr.id": "this.id", "class._fullsize": "this.fullsize" } }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <a\n *ngIf=\"id\"\n appearance=\"icon\"\n routerLink=\".\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [fragment]=\"id\"\n [iconStart]=\"icons.link\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n {{ copy$ | async }}\n </a>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n />\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files?.[tabs[activeItemIndex]] || ''}\"\n />\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent$ | async as text\">\n {{ text }}\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <tui-doc-code [code]=\"code\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n </tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host:target{animation:1s .3s tuiShaking}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-title:first-letter,.t-description:first-letter{text-transform:capitalize}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-border-normal);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem #0000001a;overflow:hidden}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 .875rem 0 2rem;box-shadow:inset 0 -1px var(--tui-border-normal);justify-content:space-between;align-items:center;gap:.5rem}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 .875rem 0 1rem}.t-tabs{flex-grow:1;box-shadow:none}.t-code-editor{flex-shrink:0}.t-demo{padding:2rem;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0),all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-background-neutral-1-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-background-neutral-1-pressed)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-tertiary)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}tui-doc-code{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiDocExampleGetTabsPipe, name: "tuiDocExampleGetTabs" }, { kind: "directive", type: i1.TuiItem, selector: "[tuiItem]" }, { kind: "directive", type: i2.TuiTab, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "component", type: i2.TuiTabsWithMore, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["size", "moreContent", "dropdownContent", "underline", "itemsLimit", "activeItemIndex"], outputs: ["activeItemIndexChange"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TuiDocCode, selector: "tui-doc-code", inputs: ["filename", "code"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
73
  }
74
74
  export { TuiDocExample };
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocExample, decorators: [{
@@ -88,7 +88,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
88
88
  TuiMapperPipe,
89
89
  NgTemplateOutlet,
90
90
  TuiDocCode,
91
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <a\n *ngIf=\"id\"\n appearance=\"icon\"\n routerLink=\".\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [fragment]=\"id\"\n [iconStart]=\"icons.link\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n {{ copy$ | async }}\n </a>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n />\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files?.[tabs[activeItemIndex]] || ''}\"\n />\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent$ | async as text\">\n {{ text }}\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <tui-doc-code [code]=\"code\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n </tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host:target{animation:1s .3s tuiShaking}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-title:first-letter,.t-description:first-letter{text-transform:capitalize}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-border-normal);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem #0000001a;overflow:hidden}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 .875rem 0 2rem;box-shadow:inset 0 -1px var(--tui-border-normal);justify-content:space-between;align-items:center;gap:.5rem}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 .875rem 0 1rem}.t-tabs{flex-grow:1;box-shadow:none}.t-code-editor{flex-shrink:0}.t-demo{padding:2rem;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0),all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-background-neutral-1-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-background-neutral-1-pressed)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-tertiary)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"] }]
91
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n <a\n *ngIf=\"id\"\n appearance=\"icon\"\n routerLink=\".\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-link-icon\"\n [fragment]=\"id\"\n [iconStart]=\"icons.link\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n {{ copy$ | async }}\n </a>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div\n *ngIf=\"tabs.length > 1\"\n class=\"t-tabs-wrapper\"\n >\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n appearance=\"flat\"\n size=\"s\"\n tuiButton\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isE2E\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n />\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files?.[tabs[activeItemIndex]] || ''}\"\n />\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent$ | async as text\">\n {{ text }}\n </ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <tui-doc-code [code]=\"code\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n </tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host:target{animation:1s .3s tuiShaking}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:400;margin:0}.t-title:first-letter,.t-description:first-letter{text-transform:capitalize}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-border-normal);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem #0000001a;overflow:hidden}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 .875rem 0 2rem;box-shadow:inset 0 -1px var(--tui-border-normal);justify-content:space-between;align-items:center;gap:.5rem}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 .875rem 0 1rem}.t-tabs{flex-grow:1;box-shadow:none}.t-code-editor{flex-shrink:0}.t-demo{padding:2rem;max-width:100%;box-sizing:border-box;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0),all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-background-neutral-1-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-background-neutral-1-pressed)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-tertiary)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}:host:not(._fullsize) .t-demo{width:-webkit-min-content;width:min-content;min-width:20rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}tui-doc-code{overflow:hidden}\n"] }]
92
92
  }], propDecorators: { id: [{
93
93
  type: Input
94
94
  }, {
@@ -110,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
110
110
  }], component: [{
111
111
  type: Input
112
112
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUNILG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsaUNBQWlDLEVBQ2pDLHFCQUFxQixFQUNyQixhQUFhLEdBQ2hCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFP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VUMvRDFCLDYxSEFnSUEsb21FRG5GUSxJQUFJLDZGQUNKLGtCQUFrQiw4SEFFbEIsU0FBUyxvSUFDVCxVQUFVLHVOQUNWLFNBQVMseUNBQ1Qsd0JBQXdCLG9mQUV4QixPQUFPLG1IQUNQLFNBQVMsNEhBQ1QsYUFBYSxrREFDYixnQkFBZ0Isb0pBQ2hCLFVBQVU7O1NBTUwsYUFBYTs0RkFBYixhQUFhO2tCQXRCekIsU0FBUztpQ0FDTSxJQUFJLFlBQ04saUJBQWlCLFdBQ2xCO3dCQUNMLElBQUk7d0JBQ0osa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixTQUFTO3dCQUNULHdCQUF3Qjt3QkFDeEIsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFVBQVU7cUJBQ2IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBOEN4QyxFQUFFO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsU0FBUztnQkFJZixPQUFPO3NCQURiLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFLQyxRQUFRO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUl2QixhQUFhO3NCQURuQixLQUFLO2dCQUlLLE9BQU87c0JBRGpCLEtBQUs7Z0JBTUssU0FBUztzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0NPREVfQUNUSU9OUyxcbiAgICBUVUlfRE9DX0NPREVfRURJVE9SLFxuICAgIFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfVEVYVFMsXG4gICAgVFVJX0RPQ19JQ09OUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aVJhd0xvYWRlckNvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdHlwZXMnO1xuaW1wb3J0IHt0dWlSYXdMb2FkUmVjb3JkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3V0aWxzJztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9tYXBwZXInO1xuaW1wb3J0IHtUVUlfSVNfRTJFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge1R1aUFsZXJ0U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9hbGVydCc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlMb2FkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbG9hZGVyJztcbmltcG9ydCB7VHVpVGFic30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHtUVUlfQ09QWV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXG4gICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIHN3aXRjaEFsbCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NDb2RlfSBmcm9tICcuLi9jb2RlJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX09QVElPTlN9IGZyb20gJy4vZXhhbXBsZS5vcHRpb25zJztcbmltcG9ydCB7VHVpRG9jRXhhbXBsZUdldFRhYnNQaXBlfSBmcm9tICcuL2V4YW1wbGUtZ2V0LXRhYnMucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWV4YW1wbGUnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFR1aURvY0V4YW1wbGVHZXRUYWJzUGlwZSxcbiAgICAgICAgVHVpVGFicyxcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgVHVpTG9hZGVyLFxuICAgICAgICBUdWlNYXBwZXJQaXBlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUdWlEb2NDb2RlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHMgPSBpbmplY3QoVHVpQWxlcnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KExPQ0FUSU9OKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQgPSBpbmplY3QoVFVJX0NPUFlfVEVYVFMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBSZWNvcmQ8c3RyaW5nLCBUdWlSYXdMb2FkZXJDb250ZW50PlxuICAgID4oe30pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXp5TG9hZGVyJCQgPSBuZXcgUmVwbGF5U3ViamVjdDxQcm9taXNlPHtyZWFkb25seSBkZWZhdWx0OiBhbnl9Pj4oXG4gICAgICAgIDEsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfRE9DX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRzID0gaW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVFZGl0b3IgPSBpbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUiwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRTJFID0gaW5qZWN0KFRVSV9JU19FMkUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb2RlQWN0aW9ucyA9XG4gICAgICAgIGluamVjdDxSZWFkb25seUFycmF5PFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxzdHJpbmc+Pj4+KFxuICAgICAgICAgICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFRhYkluZGV4ID0gMDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuICAgIHByb3RlY3RlZCBhY3RpdmVJdGVtSW5kZXggPSB0aGlzLmRlZmF1bHRUYWJJbmRleDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29weSQgPSB0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvY2Vzc29yJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCh0dWlSYXdMb2FkUmVjb3JkKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWUpID0+IHRoaXMucHJvY2Vzc0NvbnRlbnQodmFsdWUpKSxcbiAgICAgICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYXp5Q29tcG9uZW50JCA9IHRoaXMubGF6eUxvYWRlciQkLnBpcGUoXG4gICAgICAgIHN3aXRjaEFsbCgpLFxuICAgICAgICBtYXAoKG1vZHVsZSkgPT4gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChtb2R1bGUuZGVmYXVsdCkpLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgcHVibGljIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRpbmc6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZnVsbHNpemUnKVxuICAgIHB1YmxpYyBmdWxsc2l6ZSA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUykuZnVsbHNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb21wb25lbnROYW1lOiBzdHJpbmcgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNvbnRlbnQoY29udGVudDogUmVjb3JkPHN0cmluZywgVHVpUmF3TG9hZGVyQ29udGVudD4pIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjb21wb25lbnQoY29udGVudDogUHJvbWlzZTx7cmVhZG9ubHkgZGVmYXVsdDogYW55fT4pIHtcbiAgICAgICAgdGhpcy5sYXp5TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNvZGVFZGl0b3IgJiYgdGhpcy5vcHRpb25zLmNvZGVFZGl0b3JWaXNpYmlsaXR5SGFuZGxlcihmaWxlcykpO1xuXG4gICAgcHJvdGVjdGVkIGdldFRhYlRpdGxlKGZpbGVOYW1lOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy50YWJUaXRsZXMuZ2V0KGZpbGVOYW1lKSB8fCBmaWxlTmFtZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29weUV4YW1wbGVMaW5rKHRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoKHRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudCB8IG51bGwpPy5ocmVmID8/ICcnKTtcbiAgICAgICAgdGhpcy5hbGVydHNcbiAgICAgICAgICAgIC5vcGVuKHRoaXMudGV4dHNbMV0sIHtsYWJlbDogdGhpcy50ZXh0c1syXSwgc3RhdHVzOiAnc3VjY2Vzcyd9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlZGl0KGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgdm9pZCB0aGlzLmNvZGVFZGl0b3JcbiAgICAgICAgICAgID8uZWRpdCh0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuaWQgfHwgJycsIGZpbGVzKVxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSk7XG4gICAgfVxufVxuIiwiPGgzXG4gICAgKm5nSWY9XCJoZWFkaW5nXCJcbiAgICBjbGFzcz1cInQtdGl0bGVcIlxuPlxuICAgIDxzcGFuXG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIGFzIHRleHRcIlxuICAgICAgICBbdGV4dENvbnRlbnRdPVwidGV4dFwiXG4gICAgPjwvc3Bhbj5cbiAgICA8YVxuICAgICAgICAqbmdJZj1cImlkXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICByb3V0ZXJMaW5rPVwiLlwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1saW5rLWljb25cIlxuICAgICAgICBbZnJhZ21lbnRdPVwiaWRcIlxuICAgICAgICBbaWNvblN0YXJ0XT1cImljb25zLmxpbmtcIlxuICAgICAgICAoY2xpY2spPVwiY29weUV4YW1wbGVMaW5rKCRldmVudC5jdXJyZW50VGFyZ2V0KVwiXG4gICAgPlxuICAgICAgICB7eyBjb3B5JCB8IGFzeW5jIH19XG4gICAgPC9hPlxuPC9oMz5cbjxoNFxuICAgICpuZ0lmPVwiZGVzY3JpcHRpb25cIlxuICAgIGNsYXNzPVwidC1kZXNjcmlwdGlvblwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZGVzY3JpcHRpb24gYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2g0PlxuXG48ZGl2XG4gICAgKm5nSWY9XCJwcm9jZXNzb3IkIHwgYXN5bmMgYXMgZmlsZXNcIlxuICAgIGNsYXNzPVwidC1leGFtcGxlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZXMgfCB0dWlEb2NFeGFtcGxlR2V0VGFiczogZGVmYXVsdFRhYiBhcyB0YWJzXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwidGFicy5sZW5ndGggPiAxXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWJzLXdyYXBwZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLXRhYnMtd2l0aC1tb3JlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICAgICAgICAgIFsoYWN0aXZlSXRlbUluZGV4KV09XCJhY3RpdmVJdGVtSW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZ2V0VGFiVGl0bGUodGFiKSBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90dWktdGFicy13aXRoLW1vcmU+XG5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWxlcyB8IHR1aU1hcHBlcjogdmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY29kZS1lZGl0b3JcIlxuICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdChmaWxlcylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2RlRWRpdG9yPy5jb250ZW50IGFzIGNvbnRlbnQ7IGVsc2UgZGVmYXVsdEVkaXRDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgZWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVkaXRDb250ZW50IH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RWRpdENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJmbGF0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQgb24ge3sgY29kZUVkaXRvciEubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfYW5pbWF0ZWRdPVwiIWlzRTJFXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfdmlzaWJsZV09XCJhY3RpdmVJdGVtSW5kZXggPT09IGluZGV4XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGRlZmF1bHRUYWJJbmRleDsgZWxzZSBhbm90aGVyVGFiXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Fub3RoZXJUYWI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2RlU2VjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBmaWxlcz8uW3RhYnNbYWN0aXZlSXRlbUluZGV4XV0gfHwgJyd9XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxuICAgIDxkaXZcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kb2MtZXhhbXBsZVwiXG4gICAgICAgIGNsYXNzPVwidC1kZW1vXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImxhenlDb21wb25lbnQkIHwgYXN5bmMgYXMgdGV4dFwiPlxuICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNjb2RlU2VjdGlvblxuICAgIGxldC1jb2RlXG4+XG4gICAgPHR1aS1kb2MtY29kZSBbY29kZV09XCJjb2RlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2RlQWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYWN0aW9uIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLWRvYy1jb2RlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUNILG9CQUFvQixFQUNwQixtQkFBbUIsRUFDbkIsaUNBQWlDLEVBQ2pDLHFCQUFxQixFQUNyQixhQUFhLEdBQ2hCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRCxPQUFP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VUMvRDFCLDYxSEFnSUEsaW9FRG5GUSxJQUFJLDZGQUNKLGtCQUFrQiw4SEFFbEIsU0FBUyxvSUFDVCxVQUFVLHVOQUNWLFNBQVMseUNBQ1Qsd0JBQXdCLG9mQUV4QixPQUFPLG1IQUNQLFNBQVMsNEhBQ1QsYUFBYSxrREFDYixnQkFBZ0Isb0pBQ2hCLFVBQVU7O1NBTUwsYUFBYTs0RkFBYixhQUFhO2tCQXRCekIsU0FBUztpQ0FDTSxJQUFJLFlBQ04saUJBQWlCLFdBQ2xCO3dCQUNMLElBQUk7d0JBQ0osa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixTQUFTO3dCQUNULHdCQUF3Qjt3QkFDeEIsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFVBQVU7cUJBQ2IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBOEN4QyxFQUFFO3NCQUZSLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsU0FBUztnQkFJZixPQUFPO3NCQURiLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFLQyxRQUFRO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsaUJBQWlCO2dCQUl2QixhQUFhO3NCQURuQixLQUFLO2dCQUlLLE9BQU87c0JBRGpCLEtBQUs7Z0JBTUssU0FBUztzQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7QXN5bmNQaXBlLCBOZ0Zvck9mLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0fSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Um91dGVyTGlua30gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7V0FfTE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0NPREVfQUNUSU9OUyxcbiAgICBUVUlfRE9DX0NPREVfRURJVE9SLFxuICAgIFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfVEVYVFMsXG4gICAgVFVJX0RPQ19JQ09OUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aVJhd0xvYWRlckNvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdHlwZXMnO1xuaW1wb3J0IHt0dWlSYXdMb2FkUmVjb3JkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3V0aWxzJztcbmltcG9ydCB7VHVpTWFwcGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9tYXBwZXInO1xuaW1wb3J0IHtUVUlfSVNfRTJFfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpQ29udGV4dH0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge1R1aUFsZXJ0U2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9hbGVydCc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlMb2FkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbG9hZGVyJztcbmltcG9ydCB7VHVpVGFic30gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHtUVUlfQ09QWV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXG4gICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxufSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBtYXAsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIHN3aXRjaEFsbCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NDb2RlfSBmcm9tICcuLi9jb2RlJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX09QVElPTlN9IGZyb20gJy4vZXhhbXBsZS5vcHRpb25zJztcbmltcG9ydCB7VHVpRG9jRXhhbXBsZUdldFRhYnNQaXBlfSBmcm9tICcuL2V4YW1wbGUtZ2V0LXRhYnMucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWV4YW1wbGUnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFR1aURvY0V4YW1wbGVHZXRUYWJzUGlwZSxcbiAgICAgICAgVHVpVGFicyxcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgVHVpTG9hZGVyLFxuICAgICAgICBUdWlNYXBwZXJQaXBlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUdWlEb2NDb2RlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHMgPSBpbmplY3QoVHVpQWxlcnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KFdBX0xPQ0FUSU9OKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQgPSBpbmplY3QoVFVJX0NPUFlfVEVYVFMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBSZWNvcmQ8c3RyaW5nLCBUdWlSYXdMb2FkZXJDb250ZW50PlxuICAgID4oe30pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXp5TG9hZGVyJCQgPSBuZXcgUmVwbGF5U3ViamVjdDxQcm9taXNlPHtyZWFkb25seSBkZWZhdWx0OiBhbnl9Pj4oXG4gICAgICAgIDEsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfRE9DX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRzID0gaW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVFZGl0b3IgPSBpbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUiwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzRTJFID0gaW5qZWN0KFRVSV9JU19FMkUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb2RlQWN0aW9ucyA9XG4gICAgICAgIGluamVjdDxSZWFkb25seUFycmF5PFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxzdHJpbmc+Pj4+KFxuICAgICAgICAgICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFRhYkluZGV4ID0gMDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuICAgIHByb3RlY3RlZCBhY3RpdmVJdGVtSW5kZXggPSB0aGlzLmRlZmF1bHRUYWJJbmRleDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29weSQgPSB0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvY2Vzc29yJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCh0dWlSYXdMb2FkUmVjb3JkKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWUpID0+IHRoaXMucHJvY2Vzc0NvbnRlbnQodmFsdWUpKSxcbiAgICAgICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBsYXp5Q29tcG9uZW50JCA9IHRoaXMubGF6eUxvYWRlciQkLnBpcGUoXG4gICAgICAgIHN3aXRjaEFsbCgpLFxuICAgICAgICBtYXAoKG1vZHVsZSkgPT4gbmV3IFBvbHltb3JwaGV1c0NvbXBvbmVudChtb2R1bGUuZGVmYXVsdCkpLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5pZCcpXG4gICAgcHVibGljIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRpbmc6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZnVsbHNpemUnKVxuICAgIHB1YmxpYyBmdWxsc2l6ZSA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUykuZnVsbHNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb21wb25lbnROYW1lOiBzdHJpbmcgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGNvbnRlbnQoY29udGVudDogUmVjb3JkPHN0cmluZywgVHVpUmF3TG9hZGVyQ29udGVudD4pIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjb21wb25lbnQoY29udGVudDogUHJvbWlzZTx7cmVhZG9ubHkgZGVmYXVsdDogYW55fT4pIHtcbiAgICAgICAgdGhpcy5sYXp5TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbih0aGlzLmNvZGVFZGl0b3IgJiYgdGhpcy5vcHRpb25zLmNvZGVFZGl0b3JWaXNpYmlsaXR5SGFuZGxlcihmaWxlcykpO1xuXG4gICAgcHJvdGVjdGVkIGdldFRhYlRpdGxlKGZpbGVOYW1lOiBzdHJpbmcpOiBQb2x5bW9ycGhldXNDb250ZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy50YWJUaXRsZXMuZ2V0KGZpbGVOYW1lKSB8fCBmaWxlTmFtZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY29weUV4YW1wbGVMaW5rKHRhcmdldDogRXZlbnRUYXJnZXQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoKHRhcmdldCBhcyBIVE1MQW5jaG9yRWxlbWVudCB8IG51bGwpPy5ocmVmID8/ICcnKTtcbiAgICAgICAgdGhpcy5hbGVydHNcbiAgICAgICAgICAgIC5vcGVuKHRoaXMudGV4dHNbMV0sIHtsYWJlbDogdGhpcy50ZXh0c1syXSwgYXBwZWFyYW5jZTogJ3N1Y2Nlc3MnfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZWRpdChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIHZvaWQgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZyQubmV4dChmYWxzZSkpO1xuICAgIH1cbn1cbiIsIjxoM1xuICAgICpuZ0lmPVwiaGVhZGluZ1wiXG4gICAgY2xhc3M9XCJ0LXRpdGxlXCJcbj5cbiAgICA8c3BhblxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaGVhZGluZyBhcyB0ZXh0XCJcbiAgICAgICAgW3RleHRDb250ZW50XT1cInRleHRcIlxuICAgID48L3NwYW4+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJpZFwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgcm91dGVyTGluaz1cIi5cIlxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGluay1pY29uXCJcbiAgICAgICAgW2ZyYWdtZW50XT1cImlkXCJcbiAgICAgICAgW2ljb25TdGFydF09XCJpY29ucy5saW5rXCJcbiAgICAgICAgKGNsaWNrKT1cImNvcHlFeGFtcGxlTGluaygkZXZlbnQuY3VycmVudFRhcmdldClcIlxuICAgID5cbiAgICAgICAge3sgY29weSQgfCBhc3luYyB9fVxuICAgIDwvYT5cbjwvaDM+XG48aDRcbiAgICAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInQtZGVzY3JpcHRpb25cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlc2NyaXB0aW9uIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oND5cblxuPGRpdlxuICAgICpuZ0lmPVwicHJvY2Vzc29yJCB8IGFzeW5jIGFzIGZpbGVzXCJcbiAgICBjbGFzcz1cInQtZXhhbXBsZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGVzIHwgdHVpRG9jRXhhbXBsZUdldFRhYnM6IGRlZmF1bHRUYWIgYXMgdGFic1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInRhYnMubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFicy13cmFwcGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImdldFRhYlRpdGxlKHRhYikgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsZXMgfCB0dWlNYXBwZXI6IHZpc2libGVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvZGUtZWRpdG9yXCJcbiAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCIhIShsb2FkaW5nJCB8IGFzeW5jKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXQoZmlsZXMpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29kZUVkaXRvcj8uY29udGVudCBhcyBjb250ZW50OyBlbHNlIGRlZmF1bHRFZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIGVkaXRDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBlZGl0Q29udGVudCB9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVkaXRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0IG9uIHt7IGNvZGVFZGl0b3IhLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgICAgICBbY2xhc3MudC1jb250ZW50X2FuaW1hdGVkXT1cIiFpc0UyRVwiXG4gICAgICAgICAgICBbY2xhc3MudC1jb250ZW50X3Zpc2libGVdPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4ID09PSBkZWZhdWx0VGFiSW5kZXg7IGVsc2UgYW5vdGhlclRhYlwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJldmlld1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNhbm90aGVyVGFiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29kZVNlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyRpbXBsaWNpdDogZmlsZXM/Llt0YWJzW2FjdGl2ZUl0ZW1JbmRleF1dIHx8ICcnfVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjcHJldmlldz5cbiAgICA8ZGl2XG4gICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZG9jLWV4YW1wbGVcIlxuICAgICAgICBjbGFzcz1cInQtZGVtb1wiXG4gICAgPlxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsYXp5Q29tcG9uZW50JCB8IGFzeW5jIGFzIHRleHRcIj5cbiAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGVcbiAgICAjY29kZVNlY3Rpb25cbiAgICBsZXQtY29kZVxuPlxuICAgIDx0dWktZG9jLWNvZGUgW2NvZGVdPVwiY29kZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29kZUFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFjdGlvbiBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlfVwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3R1aS1kb2MtY29kZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -3,7 +3,6 @@ import { ChangeDetectionStrategy, Component, inject, ViewEncapsulation, } from '
3
3
  import { RouterOutlet } from '@angular/router';
4
4
  import { TuiDocThemeDarkService } from '@taiga-ui/addon-doc/services';
5
5
  import { TUI_DOC_ICONS } from '@taiga-ui/addon-doc/tokens';
6
- import { TuiSwipeService } from '@taiga-ui/cdk/directives/swipe';
7
6
  import { TuiButton } from '@taiga-ui/core/components/button';
8
7
  import { TuiRoot } from '@taiga-ui/core/components/root';
9
8
  import { TuiDocHeader } from '../internal/header';
@@ -18,7 +17,7 @@ class TuiDocMain {
18
17
  return this.dark$.value ? this.icons.light : this.icons.dark;
19
18
  }
20
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocMain, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocMain, isStandalone: true, selector: "tui-doc-main", providers: [TuiSwipeService], ngImport: i0, template: "<tui-root [attr.tuiTheme]=\"(dark$ | async) ? 'dark' : null\">\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\" />\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\" />\n </div>\n </div>\n <header tuiDocHeader>\n <ng-content select=\"tuiDocHeader\" />\n <button\n appearance=\"secondary\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"tui-doc-dark-mode-switch\"\n [iconStart]=\"icon\"\n [style.border-radius.%]=\"100\"\n (click)=\"dark$.toggle()\"\n ></button>\n </header>\n <ng-container ngProjectAs=\"tuiOverContent\">\n <ng-content select=\"tuiOverContent\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverAlerts\">\n <ng-content select=\"tuiOverAlerts\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDropdowns\">\n <ng-content select=\"tuiOverDropdowns\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\" />\n </ng-container>\n</tui-root>\n", styles: ["@keyframes tuiShaking{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}html,body{scroll-padding-top:4rem;background:var(--tui-background-base)}tui-root>tui-scroll-controls>.t-bar_vertical{top:4rem!important}tui-doc-main{display:block}code:not(pre code):not(.hljs):not([class*=language-]){transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:inline-flex;background:var(--tui-background-base-alt);color:var(--tui-text-secondary);vertical-align:middle;align-items:center;border-radius:.25rem;font-weight:500;outline:1px solid var(--tui-border-hover);font-size:.75rem;padding:0 .3125rem;margin:.125rem .1875rem;text-wrap:wrap}tui-notification code:not(pre code):not(.hljs):not([class*=language-]){mix-blend-mode:luminosity}a code:not(pre code):not(.hljs):not([class*=language-]){color:var(--tui-text-action)}button:focus code,a:focus code{background:var(--tui-background-base)}.tui-doc-page{isolation:isolate;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){tui-doc-navigation.tui-doc-navigation{display:none}}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width: 47.9625em){.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-dark-mode-switch{margin-left:1rem}tui-doc-code .hljs-tag{background:none}tui-doc-code .hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-background-neutral-1)}tui-doc-code .hljs.hljs-line-numbers{background:transparent}tui-doc-code .hljs-subst,tui-doc-code .hljs-title{font-weight:400;color:var(--tui-text-primary)}tui-doc-code .hljs-property{color:#bd65a4}tui-doc-code .hljs-comment,tui-doc-code .hljs-quote{color:var(--tui-text-secondary);font-style:italic}tui-doc-code .hljs-meta{color:#e38162}tui-doc-code .hljs-section,tui-doc-code .hljs-name,tui-doc-code .hljs-literal,tui-doc-code .hljs-keyword,tui-doc-code .hljs-selector-tag,tui-doc-code .hljs-type,tui-doc-code .hljs-selector-id,tui-doc-code .hljs-selector-class{font-weight:700;color:var(--tui-text-action)}tui-doc-code .hljs-attr{color:var(--tui-text-action)}tui-doc-code .hljs-attribute,tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link,tui-doc-code .hljs-built_in{font-weight:700;color:#b8474e}tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link{font-weight:400}tui-doc-code .hljs-string{color:var(--tui-status-positive);font-weight:700}tui-doc-code .hljs-symbol,tui-doc-code .hljs-bullet,tui-doc-code .hljs-formula{color:var(--tui-text-primary);background:var(--tui-background-base-alt);font-style:italic}tui-doc-code .hljs-doctag{text-decoration:underline}tui-doc-code .hljs-variable,tui-doc-code .hljs-template-variable{color:var(--tui-text-action-hover)}tui-doc-code .hljs-addition{background:var(--tui-status-positive-pale)}tui-doc-code .hljs-deletion{background:var(--tui-status-negative-pale)}tui-doc-code .hljs-emphasis{font-style:italic}tui-doc-code .hljs-strong{font-weight:700}tui-doc-code .hljs .hljs-line-numbers{padding:0}tui-doc-code .hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}[tuiTheme=dark] tui-doc-code .hljs-variable,tui-doc-code[tuiTheme=dark] .hljs-variable,[tuiTheme=dark] tui-doc-code .hljs-template-variable,tui-doc-code[tuiTheme=dark] .hljs-template-variable{color:var(--tui-status-warning)}\n"], dependencies: [{ kind: "component", type: TuiRoot, selector: "tui-root" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiDocHeader, selector: "header[tuiDocHeader]" }, { kind: "component", type: TuiDocNavigation, selector: "tui-doc-navigation" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocMain, isStandalone: true, selector: "tui-doc-main", ngImport: i0, template: "<tui-root [attr.tuiTheme]=\"(dark$ | async) ? 'dark' : null\">\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\" />\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\" />\n </div>\n </div>\n <header tuiDocHeader>\n <ng-content select=\"tuiDocHeader\" />\n <button\n appearance=\"secondary\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"tui-doc-dark-mode-switch\"\n [iconStart]=\"icon\"\n [style.border-radius.%]=\"100\"\n (click)=\"dark$.toggle()\"\n ></button>\n </header>\n <ng-container ngProjectAs=\"tuiOverContent\">\n <ng-content select=\"tuiOverContent\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverAlerts\">\n <ng-content select=\"tuiOverAlerts\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDropdowns\">\n <ng-content select=\"tuiOverDropdowns\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\" />\n </ng-container>\n</tui-root>\n", styles: ["@keyframes tuiShaking{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}html,body{scroll-padding-top:4rem;background:var(--tui-background-base)}tui-root>tui-scroll-controls>.t-bar_vertical{top:4rem!important}tui-doc-main{display:block}code:not(pre code):not(.hljs):not([class*=language-]){transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:inline-flex;background:var(--tui-background-base-alt);color:var(--tui-text-secondary);vertical-align:middle;align-items:center;border-radius:.25rem;font-weight:500;outline:1px solid var(--tui-border-hover);font-size:.75rem;padding:0 .3125rem;margin:.125rem .1875rem;text-wrap:wrap}tui-notification code:not(pre code):not(.hljs):not([class*=language-]){mix-blend-mode:color-burn}[tuiTheme=dark] tui-notification code:not(pre code):not(.hljs):not([class*=language-]){mix-blend-mode:luminosity}a code:not(pre code):not(.hljs):not([class*=language-]){color:var(--tui-text-action)}button:focus code,a:focus code{background:var(--tui-background-base)}.tui-doc-page{isolation:isolate;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){tui-doc-navigation.tui-doc-navigation{display:none}}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width: 47.9625em){.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-dark-mode-switch{margin-left:1rem}tui-doc-code .hljs-tag{background:none}tui-doc-code .hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-background-neutral-1)}tui-doc-code .hljs.hljs-line-numbers{background:transparent}tui-doc-code .hljs-subst,tui-doc-code .hljs-title{font-weight:400;color:var(--tui-text-primary)}tui-doc-code .hljs-property{color:#bd65a4}tui-doc-code .hljs-comment,tui-doc-code .hljs-quote{color:var(--tui-text-secondary);font-style:italic}tui-doc-code .hljs-meta{color:#e38162}tui-doc-code .hljs-section,tui-doc-code .hljs-name,tui-doc-code .hljs-literal,tui-doc-code .hljs-keyword,tui-doc-code .hljs-selector-tag,tui-doc-code .hljs-type,tui-doc-code .hljs-selector-id,tui-doc-code .hljs-selector-class{font-weight:700;color:var(--tui-text-action)}tui-doc-code .hljs-attr{color:var(--tui-text-action)}tui-doc-code .hljs-attribute,tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link,tui-doc-code .hljs-built_in{font-weight:700;color:#b8474e}tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link{font-weight:400}tui-doc-code .hljs-string{color:var(--tui-status-positive);font-weight:700}tui-doc-code .hljs-symbol,tui-doc-code .hljs-bullet,tui-doc-code .hljs-formula{color:var(--tui-text-primary);background:var(--tui-background-base-alt);font-style:italic}tui-doc-code .hljs-doctag{text-decoration:underline}tui-doc-code .hljs-variable,tui-doc-code .hljs-template-variable{color:var(--tui-text-action-hover)}tui-doc-code .hljs-addition{background:var(--tui-status-positive-pale)}tui-doc-code .hljs-deletion{background:var(--tui-status-negative-pale)}tui-doc-code .hljs-emphasis{font-style:italic}tui-doc-code .hljs-strong{font-weight:700}tui-doc-code .hljs .hljs-line-numbers{padding:0}tui-doc-code .hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}[tuiTheme=dark] tui-doc-code .hljs-variable,tui-doc-code[tuiTheme=dark] .hljs-variable,[tuiTheme=dark] tui-doc-code .hljs-template-variable,tui-doc-code[tuiTheme=dark] .hljs-template-variable{color:var(--tui-status-warning)}\n"], dependencies: [{ kind: "component", type: TuiRoot, selector: "tui-root" }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiDocHeader, selector: "header[tuiDocHeader]" }, { kind: "component", type: TuiDocNavigation, selector: "tui-doc-navigation" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
22
21
  }
23
22
  export { TuiDocMain };
24
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocMain, decorators: [{
@@ -30,6 +29,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
30
29
  TuiButton,
31
30
  TuiDocHeader,
32
31
  TuiDocNavigation,
33
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, providers: [TuiSwipeService], template: "<tui-root [attr.tuiTheme]=\"(dark$ | async) ? 'dark' : null\">\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\" />\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\" />\n </div>\n </div>\n <header tuiDocHeader>\n <ng-content select=\"tuiDocHeader\" />\n <button\n appearance=\"secondary\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"tui-doc-dark-mode-switch\"\n [iconStart]=\"icon\"\n [style.border-radius.%]=\"100\"\n (click)=\"dark$.toggle()\"\n ></button>\n </header>\n <ng-container ngProjectAs=\"tuiOverContent\">\n <ng-content select=\"tuiOverContent\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverAlerts\">\n <ng-content select=\"tuiOverAlerts\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDropdowns\">\n <ng-content select=\"tuiOverDropdowns\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\" />\n </ng-container>\n</tui-root>\n", styles: ["@keyframes tuiShaking{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}html,body{scroll-padding-top:4rem;background:var(--tui-background-base)}tui-root>tui-scroll-controls>.t-bar_vertical{top:4rem!important}tui-doc-main{display:block}code:not(pre code):not(.hljs):not([class*=language-]){transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:inline-flex;background:var(--tui-background-base-alt);color:var(--tui-text-secondary);vertical-align:middle;align-items:center;border-radius:.25rem;font-weight:500;outline:1px solid var(--tui-border-hover);font-size:.75rem;padding:0 .3125rem;margin:.125rem .1875rem;text-wrap:wrap}tui-notification code:not(pre code):not(.hljs):not([class*=language-]){mix-blend-mode:luminosity}a code:not(pre code):not(.hljs):not([class*=language-]){color:var(--tui-text-action)}button:focus code,a:focus code{background:var(--tui-background-base)}.tui-doc-page{isolation:isolate;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){tui-doc-navigation.tui-doc-navigation{display:none}}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width: 47.9625em){.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-dark-mode-switch{margin-left:1rem}tui-doc-code .hljs-tag{background:none}tui-doc-code .hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-background-neutral-1)}tui-doc-code .hljs.hljs-line-numbers{background:transparent}tui-doc-code .hljs-subst,tui-doc-code .hljs-title{font-weight:400;color:var(--tui-text-primary)}tui-doc-code .hljs-property{color:#bd65a4}tui-doc-code .hljs-comment,tui-doc-code .hljs-quote{color:var(--tui-text-secondary);font-style:italic}tui-doc-code .hljs-meta{color:#e38162}tui-doc-code .hljs-section,tui-doc-code .hljs-name,tui-doc-code .hljs-literal,tui-doc-code .hljs-keyword,tui-doc-code .hljs-selector-tag,tui-doc-code .hljs-type,tui-doc-code .hljs-selector-id,tui-doc-code .hljs-selector-class{font-weight:700;color:var(--tui-text-action)}tui-doc-code .hljs-attr{color:var(--tui-text-action)}tui-doc-code .hljs-attribute,tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link,tui-doc-code .hljs-built_in{font-weight:700;color:#b8474e}tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link{font-weight:400}tui-doc-code .hljs-string{color:var(--tui-status-positive);font-weight:700}tui-doc-code .hljs-symbol,tui-doc-code .hljs-bullet,tui-doc-code .hljs-formula{color:var(--tui-text-primary);background:var(--tui-background-base-alt);font-style:italic}tui-doc-code .hljs-doctag{text-decoration:underline}tui-doc-code .hljs-variable,tui-doc-code .hljs-template-variable{color:var(--tui-text-action-hover)}tui-doc-code .hljs-addition{background:var(--tui-status-positive-pale)}tui-doc-code .hljs-deletion{background:var(--tui-status-negative-pale)}tui-doc-code .hljs-emphasis{font-style:italic}tui-doc-code .hljs-strong{font-weight:700}tui-doc-code .hljs .hljs-line-numbers{padding:0}tui-doc-code .hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}[tuiTheme=dark] tui-doc-code .hljs-variable,tui-doc-code[tuiTheme=dark] .hljs-variable,[tuiTheme=dark] tui-doc-code .hljs-template-variable,tui-doc-code[tuiTheme=dark] .hljs-template-variable{color:var(--tui-status-warning)}\n"] }]
32
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, template: "<tui-root [attr.tuiTheme]=\"(dark$ | async) ? 'dark' : null\">\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\" />\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\" />\n </div>\n </div>\n <header tuiDocHeader>\n <ng-content select=\"tuiDocHeader\" />\n <button\n appearance=\"secondary\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"tui-doc-dark-mode-switch\"\n [iconStart]=\"icon\"\n [style.border-radius.%]=\"100\"\n (click)=\"dark$.toggle()\"\n ></button>\n </header>\n <ng-container ngProjectAs=\"tuiOverContent\">\n <ng-content select=\"tuiOverContent\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverAlerts\">\n <ng-content select=\"tuiOverAlerts\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDropdowns\">\n <ng-content select=\"tuiOverDropdowns\" />\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\" />\n </ng-container>\n</tui-root>\n", styles: ["@keyframes tuiShaking{0%,to{transform:translateZ(0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}html,body{scroll-padding-top:4rem;background:var(--tui-background-base)}tui-root>tui-scroll-controls>.t-bar_vertical{top:4rem!important}tui-doc-main{display:block}code:not(pre code):not(.hljs):not([class*=language-]){transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:inline-flex;background:var(--tui-background-base-alt);color:var(--tui-text-secondary);vertical-align:middle;align-items:center;border-radius:.25rem;font-weight:500;outline:1px solid var(--tui-border-hover);font-size:.75rem;padding:0 .3125rem;margin:.125rem .1875rem;text-wrap:wrap}tui-notification code:not(pre code):not(.hljs):not([class*=language-]){mix-blend-mode:color-burn}[tuiTheme=dark] tui-notification code:not(pre code):not(.hljs):not([class*=language-]){mix-blend-mode:luminosity}a code:not(pre code):not(.hljs):not([class*=language-]){color:var(--tui-text-action)}button:focus code,a:focus code{background:var(--tui-background-base)}.tui-doc-page{isolation:isolate;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){tui-doc-navigation.tui-doc-navigation{display:none}}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width: 47.9625em){.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-dark-mode-switch{margin-left:1rem}tui-doc-code .hljs-tag{background:none}tui-doc-code .hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-background-neutral-1)}tui-doc-code .hljs.hljs-line-numbers{background:transparent}tui-doc-code .hljs-subst,tui-doc-code .hljs-title{font-weight:400;color:var(--tui-text-primary)}tui-doc-code .hljs-property{color:#bd65a4}tui-doc-code .hljs-comment,tui-doc-code .hljs-quote{color:var(--tui-text-secondary);font-style:italic}tui-doc-code .hljs-meta{color:#e38162}tui-doc-code .hljs-section,tui-doc-code .hljs-name,tui-doc-code .hljs-literal,tui-doc-code .hljs-keyword,tui-doc-code .hljs-selector-tag,tui-doc-code .hljs-type,tui-doc-code .hljs-selector-id,tui-doc-code .hljs-selector-class{font-weight:700;color:var(--tui-text-action)}tui-doc-code .hljs-attr{color:var(--tui-text-action)}tui-doc-code .hljs-attribute,tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link,tui-doc-code .hljs-built_in{font-weight:700;color:#b8474e}tui-doc-code .hljs-number,tui-doc-code .hljs-regexp,tui-doc-code .hljs-link{font-weight:400}tui-doc-code .hljs-string{color:var(--tui-status-positive);font-weight:700}tui-doc-code .hljs-symbol,tui-doc-code .hljs-bullet,tui-doc-code .hljs-formula{color:var(--tui-text-primary);background:var(--tui-background-base-alt);font-style:italic}tui-doc-code .hljs-doctag{text-decoration:underline}tui-doc-code .hljs-variable,tui-doc-code .hljs-template-variable{color:var(--tui-text-action-hover)}tui-doc-code .hljs-addition{background:var(--tui-status-positive-pale)}tui-doc-code .hljs-deletion{background:var(--tui-status-negative-pale)}tui-doc-code .hljs-emphasis{font-style:italic}tui-doc-code .hljs-strong{font-weight:700}tui-doc-code .hljs .hljs-line-numbers{padding:0}tui-doc-code .hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}[tuiTheme=dark] tui-doc-code .hljs-variable,tui-doc-code[tuiTheme=dark] .hljs-variable,[tuiTheme=dark] tui-doc-code .hljs-template-variable,tui-doc-code[tuiTheme=dark] .hljs-template-variable{color:var(--tui-status-warning)}\n"] }]
34
33
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9tYWluL21haW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvbWFpbi9tYWluLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQzNELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7O0FBRXBFLE1BbUJhLFVBQVU7SUFuQnZCO1FBb0JxQixVQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTVCLFVBQUssR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQUs3RDtJQUhHLElBQWMsSUFBSTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUNqRSxDQUFDOytHQVBRLFVBQVU7bUdBQVYsVUFBVSwyREFGUixDQUFDLGVBQWUsQ0FBQywwQkNsQ2hDLDQzQ0FzQ0Esd2tIRGpCUSxPQUFPLGdEQUNQLFNBQVMsOENBQ1QsWUFBWSwySkFDWixTQUFTLG9JQUNULFlBQVksaUVBQ1osZ0JBQWdCOztTQVVYLFVBQVU7NEZBQVYsVUFBVTtrQkFuQnRCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGNBQWMsV0FDZjt3QkFDTCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsWUFBWTt3QkFDWixTQUFTO3dCQUNULFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNuQixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUdwQix1QkFBdUIsQ0FBQyxPQUFPLGFBQ3JDLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBpbmplY3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aURvY1RoZW1lRGFya1NlcnZpY2V9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2Mvc2VydmljZXMnO1xuaW1wb3J0IHtUVUlfRE9DX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge1R1aVN3aXBlU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL3N3aXBlJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aVJvb3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcm9vdCc7XG5cbmltcG9ydCB7VHVpRG9jSGVhZGVyfSBmcm9tICcuLi9pbnRlcm5hbC9oZWFkZXInO1xuaW1wb3J0IHtUdWlEb2NOYXZpZ2F0aW9ufSBmcm9tICcuLi9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtbWFpbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBUdWlSb290LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFJvdXRlck91dGxldCxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlEb2NIZWFkZXIsXG4gICAgICAgIFR1aURvY05hdmlnYXRpb24sXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tYWluLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIC8vIEBub3RlOiBUaGlzIG9uZSB3YXMgZGVmYXVsdCBvbiBwdXJwb3NlIHNvIHdlIGNhbiB0ZXN0IGRlbW8gaW4gZGVmYXVsdCBtb2RlLlxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvcHJlZmVyLW9uLXB1c2gtY29tcG9uZW50LWNoYW5nZS1kZXRlY3Rpb25cbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gICAgcHJvdmlkZXJzOiBbVHVpU3dpcGVTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jTWFpbiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfRE9DX0lDT05TKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXJrJCA9IGluamVjdChUdWlEb2NUaGVtZURhcmtTZXJ2aWNlKTtcblxuICAgIHByb3RlY3RlZCBnZXQgaWNvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXJrJC52YWx1ZSA/IHRoaXMuaWNvbnMubGlnaHQgOiB0aGlzLmljb25zLmRhcms7XG4gICAgfVxufVxuIiwiPHR1aS1yb290IFthdHRyLnR1aVRoZW1lXT1cIihkYXJrJCB8IGFzeW5jKSA/ICdkYXJrJyA6IG51bGxcIj5cbiAgICA8ZGl2IGNsYXNzPVwidHVpLWRvYy1wYWdlXCI+XG4gICAgICAgIDx0dWktZG9jLW5hdmlnYXRpb24gY2xhc3M9XCJ0dWktZG9jLW5hdmlnYXRpb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aURvY05hdmlnYXRpb25cIiAvPlxuICAgICAgICA8L3R1aS1kb2MtbmF2aWdhdGlvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInR1aS1kb2MtY29udGVudFwiPlxuICAgICAgICAgICAgPHJvdXRlci1vdXRsZXQgY2xhc3M9XCJ0dWktZG9jLW91dGxldFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxoZWFkZXIgdHVpRG9jSGVhZGVyPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlEb2NIZWFkZXJcIiAvPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0dWktZG9jLWRhcmstbW9kZS1zd2l0Y2hcIlxuICAgICAgICAgICAgW2ljb25TdGFydF09XCJpY29uXCJcbiAgICAgICAgICAgIFtzdHlsZS5ib3JkZXItcmFkaXVzLiVdPVwiMTAwXCJcbiAgICAgICAgICAgIChjbGljayk9XCJkYXJrJC50b2dnbGUoKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICA8L2hlYWRlcj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwidHVpT3ZlckNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckNvbnRlbnRcIiAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJ0dWlPdmVyRGlhbG9nc1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyRGlhbG9nc1wiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInR1aU92ZXJBbGVydHNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckFsZXJ0c1wiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInR1aU92ZXJEcm9wZG93bnNcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpT3ZlckRyb3Bkb3duc1wiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInR1aU92ZXJIaW50c1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVySGludHNcIiAvPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC90dWktcm9vdD5cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9tYWluL21haW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvbWFpbi9tYWluLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXZELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFcEUsTUFrQmEsVUFBVTtJQWxCdkI7UUFtQnFCLFVBQUssR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFNUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBSzdEO0lBSEcsSUFBYyxJQUFJO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ2pFLENBQUM7K0dBUFEsVUFBVTttR0FBVixVQUFVLHdFQ2xDdkIsNDNDQXNDQSx5ckhEbEJRLE9BQU8sZ0RBQ1AsU0FBUyw4Q0FDVCxZQUFZLDJKQUNaLFNBQVMsb0lBQ1QsWUFBWSxpRUFDWixnQkFBZ0I7O1NBU1gsVUFBVTs0RkFBVixVQUFVO2tCQWxCdEIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sY0FBYyxXQUNmO3dCQUNMLE9BQU87d0JBQ1AsU0FBUzt3QkFDVCxZQUFZO3dCQUNaLFNBQVM7d0JBQ1QsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ25CLGlCQUdjLGlCQUFpQixDQUFDLElBQUksbUJBR3BCLHVCQUF1QixDQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck91dGxldH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHVpRG9jVGhlbWVEYXJrU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy9zZXJ2aWNlcyc7XG5pbXBvcnQge1RVSV9ET0NfSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aVJvb3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvcm9vdCc7XG5cbmltcG9ydCB7VHVpRG9jSGVhZGVyfSBmcm9tICcuLi9pbnRlcm5hbC9oZWFkZXInO1xuaW1wb3J0IHtUdWlEb2NOYXZpZ2F0aW9ufSBmcm9tICcuLi9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtbWFpbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBUdWlSb290LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgICAgIFJvdXRlck91dGxldCxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlEb2NIZWFkZXIsXG4gICAgICAgIFR1aURvY05hdmlnYXRpb24sXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFpbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tYWluLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIC8vIEBub3RlOiBUaGlzIG9uZSB3YXMgZGVmYXVsdCBvbiBwdXJwb3NlLCBzbyB3ZSBjYW4gdGVzdCBkZW1vIGluIGRlZmF1bHQgbW9kZS5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1vbi1wdXNoLWNvbXBvbmVudC1jaGFuZ2UtZGV0ZWN0aW9uXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NNYWluIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9ET0NfSUNPTlMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhcmskID0gaW5qZWN0KFR1aURvY1RoZW1lRGFya1NlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIGdldCBpY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhcmskLnZhbHVlID8gdGhpcy5pY29ucy5saWdodCA6IHRoaXMuaWNvbnMuZGFyaztcbiAgICB9XG59XG4iLCI8dHVpLXJvb3QgW2F0dHIudHVpVGhlbWVdPVwiKGRhcmskIHwgYXN5bmMpID8gJ2RhcmsnIDogbnVsbFwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0dWktZG9jLXBhZ2VcIj5cbiAgICAgICAgPHR1aS1kb2MtbmF2aWdhdGlvbiBjbGFzcz1cInR1aS1kb2MtbmF2aWdhdGlvblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHVpRG9jTmF2aWdhdGlvblwiIC8+XG4gICAgICAgIDwvdHVpLWRvYy1uYXZpZ2F0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidHVpLWRvYy1jb250ZW50XCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldCBjbGFzcz1cInR1aS1kb2Mtb3V0bGV0XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGhlYWRlciB0dWlEb2NIZWFkZXI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aURvY0hlYWRlclwiIC8+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInR1aS1kb2MtZGFyay1tb2RlLXN3aXRjaFwiXG4gICAgICAgICAgICBbaWNvblN0YXJ0XT1cImljb25cIlxuICAgICAgICAgICAgW3N0eWxlLmJvcmRlci1yYWRpdXMuJV09XCIxMDBcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImRhcmskLnRvZ2dsZSgpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgIDwvaGVhZGVyPlxuICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJ0dWlPdmVyQ29udGVudFwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyQ29udGVudFwiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInR1aU92ZXJEaWFsb2dzXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aU92ZXJEaWFsb2dzXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwidHVpT3ZlckFsZXJ0c1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyQWxlcnRzXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwidHVpT3ZlckRyb3Bkb3duc1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJ0dWlPdmVyRHJvcGRvd25zXCIgLz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwidHVpT3ZlckhpbnRzXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInR1aU92ZXJIaW50c1wiIC8+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3R1aS1yb290PlxuIl19
@@ -1,7 +1,7 @@
1
1
  import { NgForOf } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
- import { LOCAL_STORAGE, LOCATION } from '@ng-web-apis/common';
4
+ import { WA_LOCAL_STORAGE, WA_LOCATION } from '@ng-web-apis/common';
5
5
  import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
6
6
  import { TuiDataList } from '@taiga-ui/core/components/data-list';
7
7
  import { TUI_THEME } from '@taiga-ui/core/tokens';
@@ -15,14 +15,14 @@ export const TUI_THEMES = tuiCreateToken({});
15
15
  export function tuiDocThemeProvider() {
16
16
  return {
17
17
  provide: TUI_THEME,
18
- useFactory: () => inject(LOCAL_STORAGE).getItem(inject(TUI_THEME_KEY)) || 'Taiga UI',
18
+ useFactory: () => inject(WA_LOCAL_STORAGE).getItem(inject(TUI_THEME_KEY)) || 'Taiga UI',
19
19
  };
20
20
  }
21
21
  class TuiDocThemeSwitcher {
22
22
  constructor() {
23
- this.storage = inject(LOCAL_STORAGE);
23
+ this.storage = inject(WA_LOCAL_STORAGE);
24
24
  this.key = inject(TUI_THEME_KEY);
25
- this.location = inject(LOCATION);
25
+ this.location = inject(WA_LOCATION);
26
26
  this.theme = inject(TUI_THEME);
27
27
  this.themes = inject(TUI_THEMES);
28
28
  this.keys = Object.keys(this.themes);
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
39
39
  type: Component,
40
40
  args: [{ standalone: true, selector: 'tui-doc-theme-switcher', imports: [NgForOf, FormsModule, TuiDataList, TuiSelectModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<tui-select\n [ngModel]=\"theme\"\n (ngModelChange)=\"onTheme($event)\"\n>\n <ng-content />\n <tui-data-list *tuiDataList>\n <button\n *ngFor=\"let key of keys\"\n tuiOption\n [value]=\"key\"\n >\n <img\n alt=\"\"\n [src]=\"themes[key]\"\n [style.margin-inline-end.rem]=\"0.5\"\n [style.width.rem]=\"1.75\"\n />\n {{ key }}\n </button>\n </tui-data-list>\n</tui-select>\n" }]
41
41
  }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvdGhlbWUtc3dpdGNoZXIvdGhlbWUtc3dpdGNoZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvdGhlbWUtc3dpdGNoZXIvdGhlbWUtc3dpdGNoZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxhQUFhLEVBQUUsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQUVuRSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDOUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBeUIsRUFBRSxDQUFDLENBQUM7QUFFckUsTUFBTSxVQUFVLG1CQUFtQjtJQUMvQixPQUFPO1FBQ0gsT0FBTyxFQUFFLFNBQVM7UUFDbEIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUNiLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksVUFBVTtLQUN6RSxDQUFDO0FBQ04sQ0FBQztBQUVELE1BT2EsbUJBQW1CO0lBUGhDO1FBUXFCLFlBQU8sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFCLFVBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixTQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FNdEQ7SUFKVSxPQUFPLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0FaUSxtQkFBbUI7bUdBQW5CLG1CQUFtQixrRkM1QmhDLHVoQkFxQkEsNENER2MsT0FBTyxrSEFBRSxXQUFXLHNyQkFBZSxlQUFlOztTQUluRCxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sd0JBQXdCLFdBQ3pCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLG1CQUU1Qyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0ZhY3RvcnlQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge0xPQ0FMX1NUT1JBR0UsIExPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aURhdGFMaXN0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1RVSV9USEVNRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpU2VsZWN0TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NvbXBvbmVudHMvc2VsZWN0JztcblxuZXhwb3J0IGNvbnN0IFRVSV9USEVNRV9LRVkgPSB0dWlDcmVhdGVUb2tlbignZGF0YS10dWktdGhlbWUnKTtcbmV4cG9ydCBjb25zdCBUVUlfVEhFTUVTID0gdHVpQ3JlYXRlVG9rZW48UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oe30pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpRG9jVGhlbWVQcm92aWRlcigpOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9USEVNRSxcbiAgICAgICAgdXNlRmFjdG9yeTogKCkgPT5cbiAgICAgICAgICAgIGluamVjdChMT0NBTF9TVE9SQUdFKS5nZXRJdGVtKGluamVjdChUVUlfVEhFTUVfS0VZKSkgfHwgJ1RhaWdhIFVJJyxcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRvYy10aGVtZS1zd2l0Y2hlcicsXG4gICAgaW1wb3J0czogW05nRm9yT2YsIEZvcm1zTW9kdWxlLCBUdWlEYXRhTGlzdCwgVHVpU2VsZWN0TW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGhlbWUtc3dpdGNoZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1RoZW1lU3dpdGNoZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZSA9IGluamVjdChMT0NBTF9TVE9SQUdFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleSA9IGluamVjdChUVUlfVEhFTUVfS0VZKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KExPQ0FUSU9OKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0aGVtZSA9IGluamVjdChUVUlfVEhFTUUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0aGVtZXMgPSBpbmplY3QoVFVJX1RIRU1FUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLnRoZW1lcyk7XG5cbiAgICBwdWJsaWMgb25UaGVtZSh0aGVtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5LCB0aGVtZSk7XG4gICAgICAgIHRoaXMubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxufVxuIiwiPHR1aS1zZWxlY3RcbiAgICBbbmdNb2RlbF09XCJ0aGVtZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UaGVtZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudCAvPlxuICAgIDx0dWktZGF0YS1saXN0ICp0dWlEYXRhTGlzdD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGtleSBvZiBrZXlzXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgW3ZhbHVlXT1cImtleVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwidGhlbWVzW2tleV1cIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4taW5saW5lLWVuZC5yZW1dPVwiMC41XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucmVtXT1cIjEuNzVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHt7IGtleSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1kYXRhLWxpc3Q+XG48L3R1aS1zZWxlY3Q+XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtc3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvdGhlbWUtc3dpdGNoZXIvdGhlbWUtc3dpdGNoZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvdGhlbWUtc3dpdGNoZXIvdGhlbWUtc3dpdGNoZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBRW5FLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUF5QixFQUFFLENBQUMsQ0FBQztBQUVyRSxNQUFNLFVBQVUsbUJBQW1CO0lBQy9CLE9BQU87UUFDSCxPQUFPLEVBQUUsU0FBUztRQUNsQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQ2IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLFVBQVU7S0FDNUUsQ0FBQztBQUNOLENBQUM7QUFFRCxNQU9hLG1CQUFtQjtJQVBoQztRQVFxQixZQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDbkMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM1QixhQUFRLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTdCLFVBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QixTQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FNdEQ7SUFKVSxPQUFPLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQzsrR0FaUSxtQkFBbUI7bUdBQW5CLG1CQUFtQixrRkM1QmhDLHVoQkFxQkEsNENER2MsT0FBTyxrSEFBRSxXQUFXLHNyQkFBZSxlQUFlOztTQUluRCxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFQL0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sd0JBQXdCLFdBQ3pCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLG1CQUU1Qyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0ZhY3RvcnlQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1dBX0xPQ0FMX1NUT1JBR0UsIFdBX0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aURhdGFMaXN0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1RVSV9USEVNRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB7VHVpU2VsZWN0TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2NvbXBvbmVudHMvc2VsZWN0JztcblxuZXhwb3J0IGNvbnN0IFRVSV9USEVNRV9LRVkgPSB0dWlDcmVhdGVUb2tlbignZGF0YS10dWktdGhlbWUnKTtcbmV4cG9ydCBjb25zdCBUVUlfVEhFTUVTID0gdHVpQ3JlYXRlVG9rZW48UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oe30pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpRG9jVGhlbWVQcm92aWRlcigpOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9USEVNRSxcbiAgICAgICAgdXNlRmFjdG9yeTogKCkgPT5cbiAgICAgICAgICAgIGluamVjdChXQV9MT0NBTF9TVE9SQUdFKS5nZXRJdGVtKGluamVjdChUVUlfVEhFTUVfS0VZKSkgfHwgJ1RhaWdhIFVJJyxcbiAgICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLWRvYy10aGVtZS1zd2l0Y2hlcicsXG4gICAgaW1wb3J0czogW05nRm9yT2YsIEZvcm1zTW9kdWxlLCBUdWlEYXRhTGlzdCwgVHVpU2VsZWN0TW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGhlbWUtc3dpdGNoZXIudGVtcGxhdGUuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1RoZW1lU3dpdGNoZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZSA9IGluamVjdChXQV9MT0NBTF9TVE9SQUdFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleSA9IGluamVjdChUVUlfVEhFTUVfS0VZKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KFdBX0xPQ0FUSU9OKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0aGVtZSA9IGluamVjdChUVUlfVEhFTUUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0aGVtZXMgPSBpbmplY3QoVFVJX1RIRU1FUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLnRoZW1lcyk7XG5cbiAgICBwdWJsaWMgb25UaGVtZSh0aGVtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKHRoaXMua2V5LCB0aGVtZSk7XG4gICAgICAgIHRoaXMubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgfVxufVxuIiwiPHR1aS1zZWxlY3RcbiAgICBbbmdNb2RlbF09XCJ0aGVtZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25UaGVtZSgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGVudCAvPlxuICAgIDx0dWktZGF0YS1saXN0ICp0dWlEYXRhTGlzdD5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGtleSBvZiBrZXlzXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgW3ZhbHVlXT1cImtleVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwidGhlbWVzW2tleV1cIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5tYXJnaW4taW5saW5lLWVuZC5yZW1dPVwiMC41XCJcbiAgICAgICAgICAgICAgICBbc3R5bGUud2lkdGgucmVtXT1cIjEuNzVcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHt7IGtleSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1kYXRhLWxpc3Q+XG48L3R1aS1zZWxlY3Q+XG4iXX0=