@taiga-ui/addon-doc 4.10.0 → 4.12.0

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.
@@ -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()\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-inline-size:100%}.t-table{inline-size:100%;table-layout:fixed}.t-row:not(:last-child){border-block-end:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){.t-row{display:flex;flex-wrap:wrap}.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{inline-size:40%}.t-cell_value{text-align:end}@media screen and (max-width: 47.9625em){.t-cell{inline-size:100%;block-size:auto;padding:.5rem 0;text-align:start}}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:start}.t-th_value{max-inline-size:20rem;text-align:end}@media screen and (max-width: 47.9625em){.t-th_value{inline-size:9.375rem}}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}@media screen and (max-width: 47.9625em){.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;inline-size:-webkit-max-content;inline-size:max-content}.t-output{text-align:start;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;inline-size:1rem;block-size: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}@media not screen and (max-width: 47.9625em){.t-switch{margin-left:auto}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "component", type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "pipe", type: TuiDocTypeReferencePipe, name: "tuiDocTypeReference" }, { kind: "directive", type: i4.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "pipe", type: TuiFilterPipe, name: "tuiFilter" }, { kind: "ngmodule", type: TuiInputNumberModule }, { kind: "component", type: i5.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i5.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "pipe", type: TuiInspectPipe, name: "tuiInspectAny" }, { kind: "pipe", type: TuiIsOptionalPipe, name: "tuiIsOptionalPipe" }, { kind: "directive", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i6.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i6.TuiSelectDirective, selector: "tui-select" }, { kind: "pipe", type: TuiShowCleanerPipe, name: "tuiShowCleanerPipe" }, { kind: "pipe", type: TuiStripOptionalPipe, name: "tuiStripOptionalPipe" }, { kind: "component", type: TuiSwitch, selector: "input[type=\"checkbox\"][tuiSwitch]", inputs: ["size", "showIcons"] }, { kind: "component", type: i7.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["stringify", "content", "filler"] }, { kind: "directive", type: i7.TuiTextfieldDirective, selector: "input[tuiTextfield]" }, { kind: "directive", type: i7.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { 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"] }, { kind: "pipe", type: TuiToArrayPipe, name: "tuiToArray" }], 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=\"negative\"\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()\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-inline-size:100%}.t-table{inline-size:100%;table-layout:fixed}.t-row:not(:last-child){border-block-end:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){.t-row{display:flex;flex-wrap:wrap}.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{inline-size:40%}.t-cell_value{text-align:end}@media screen and (max-width: 47.9625em){.t-cell{inline-size:100%;block-size:auto;padding:.5rem 0;text-align:start}}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:start}.t-th_value{max-inline-size:20rem;text-align:end}@media screen and (max-width: 47.9625em){.t-th_value{inline-size:9.375rem}}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}@media screen and (max-width: 47.9625em){.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;inline-size:-webkit-max-content;inline-size:max-content}.t-output{text-align:start;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;inline-size:1rem;block-size: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}@media not screen and (max-width: 47.9625em){.t-switch{margin-left:auto}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "component", type: i2.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items", "disabledItemHandler", "emptyContent", "size", "itemContent"], outputs: ["itemClick"] }, { kind: "directive", type: i3.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "pipe", type: TuiDocTypeReferencePipe, name: "tuiDocTypeReference" }, { kind: "directive", type: i4.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownAppearance", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { kind: "pipe", type: TuiFilterPipe, name: "tuiFilter" }, { kind: "ngmodule", type: TuiInputNumberModule }, { kind: "component", type: i5.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "step"] }, { kind: "directive", type: i5.TuiInputNumberDirective, selector: "tui-input-number" }, { kind: "pipe", type: TuiInspectPipe, name: "tuiInspectAny" }, { kind: "pipe", type: TuiIsOptionalPipe, name: "tuiIsOptionalPipe" }, { kind: "directive", type: TuiNotification, selector: "tui-notification,a[tuiNotification],button[tuiNotification]", inputs: ["appearance", "icon", "size"] }, { kind: "ngmodule", type: TuiSelectModule }, { kind: "component", type: i6.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { kind: "directive", type: i6.TuiSelectDirective, selector: "tui-select" }, { kind: "pipe", type: TuiShowCleanerPipe, name: "tuiShowCleanerPipe" }, { kind: "pipe", type: TuiStripOptionalPipe, name: "tuiStripOptionalPipe" }, { kind: "component", type: TuiSwitch, selector: "input[type=\"checkbox\"][tuiSwitch]", inputs: ["size", "showIcons"] }, { kind: "component", type: i7.TuiTextfieldComponent, selector: "tui-textfield", inputs: ["stringify", "content", "filler"] }, { kind: "directive", type: i7.TuiTextfieldDirective, selector: "input[tuiTextfield]" }, { kind: "directive", type: i7.TuiTextfieldOptionsDirective, selector: "[tuiTextfieldAppearance],[tuiTextfieldSize],[tuiTextfieldCleaner]", inputs: ["tuiTextfieldAppearance", "tuiTextfieldSize", "tuiTextfieldCleaner"] }, { 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"] }, { kind: "pipe", type: TuiToArrayPipe, name: "tuiToArray" }], animations: [
84
84
  trigger('emitEvent', [
85
85
  transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
86
86
  ]),
@@ -120,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
120
120
  trigger('emitEvent', [
121
121
  transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
122
122
  ]),
123
- ], 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()\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-inline-size:100%}.t-table{inline-size:100%;table-layout:fixed}.t-row:not(:last-child){border-block-end:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){.t-row{display:flex;flex-wrap:wrap}.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{inline-size:40%}.t-cell_value{text-align:end}@media screen and (max-width: 47.9625em){.t-cell{inline-size:100%;block-size:auto;padding:.5rem 0;text-align:start}}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:start}.t-th_value{max-inline-size:20rem;text-align:end}@media screen and (max-width: 47.9625em){.t-th_value{inline-size:9.375rem}}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}@media screen and (max-width: 47.9625em){.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;inline-size:-webkit-max-content;inline-size:max-content}.t-output{text-align:start;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;inline-size:1rem;block-size: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}@media not screen and (max-width: 47.9625em){.t-switch{margin-left:auto}}\n"] }]
123
+ ], 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=\"negative\"\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()\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n", styles: [":host{display:block;min-inline-size:100%}.t-table{inline-size:100%;table-layout:fixed}.t-row:not(:last-child){border-block-end:1px solid var(--tui-border-normal)}@media screen and (max-width: 47.9625em){.t-row{display:flex;flex-wrap:wrap}.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{inline-size:40%}.t-cell_value{text-align:end}@media screen and (max-width: 47.9625em){.t-cell{inline-size:100%;block-size:auto;padding:.5rem 0;text-align:start}}.t-th{padding:.5rem 1rem;color:var(--tui-text-secondary);font-weight:400;text-align:start}.t-th_value{max-inline-size:20rem;text-align:end}@media screen and (max-width: 47.9625em){.t-th_value{inline-size:9.375rem}}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}@media screen and (max-width: 47.9625em){.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;inline-size:-webkit-max-content;inline-size:max-content}.t-output{text-align:start;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;inline-size:1rem;block-size: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}@media not screen and (max-width: 47.9625em){.t-switch{margin-left:auto}}\n"] }]
124
124
  }], propDecorators: { propertiesConnectors: [{
125
125
  type: ContentChildren,
126
126
  args: [TuiDocDocumentationPropertyConnector]
@@ -131,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
131
131
  }], isAPI: [{
132
132
  type: Input
133
133
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM5QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDMUQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDOUUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzlGLE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBQyxvQ0FBb0MsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7QUFFcEUsbURBQW1EO0FBQ25ELDJDQUEyQztBQUMzQyxNQXlDYSxtQkFBbUI7SUF6Q2hDO1FBMENxQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ25DLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUc5Qyx5QkFBb0IsR0FDMUIsV0FBVyxDQUFDO1FBRUcsVUFBSyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQzVDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBQ2xFLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBR3ZCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2xCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFnQlgsWUFBTyxHQUViLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBZ0M3RTtJQWhEVSxrQkFBa0I7UUFDckIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDO2FBQ3pDLElBQUksQ0FDRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ25FLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ2xCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDdEM7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBYyxJQUFJO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFNUyxhQUFhLENBQ25CLFNBQXVELEVBQ3ZELEtBQWE7UUFFYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FDckMsU0FBUyxDQUFDLDBCQUEwQixJQUFJLEVBQUUsQ0FDN0MsQ0FBQztRQUVGLElBQUksT0FBTyxLQUFLLEdBQUcsRUFBRTtZQUNqQixTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRS9CLE9BQU87U0FDVjtRQUVELE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxHQUFHLEtBQUssT0FBTyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBRWhELFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVTLGVBQWUsQ0FDckIsU0FBdUQsRUFDdkQsT0FBc0I7UUFFdEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLDBCQUEwQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLE1BQU0sR0FBRyxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUV2RCxTQUFTLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7K0dBdEVRLG1CQUFtQjttR0FBbkIsbUJBQW1CLDhJQVBqQixDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQywrREFhOUIsb0NBQW9DLDZCQy9GekQsa2tPQWlLQSxnb0ZEN0dRLFdBQVcsZ3lCQUNYLE9BQU8sbUhBQ1AsSUFBSSw2RkFDSixRQUFRLDZFQUNSLFlBQVkscUZBQ1osZ0JBQWdCLG9KQUNoQixRQUFRLGlZQUVSLHVCQUF1QixnZEFFdkIsYUFBYSxpREFJYixvQkFBb0Isd09BQ3BCLGNBQWMsaURBQ2QsaUJBQWlCLDBEQUVqQixlQUFlLCtJQUNmLGVBQWUsNE9BQ2Ysa0JBQWtCLHNEQUNsQixvQkFBb0IsNkRBQ3BCLFNBQVMsZ2lCQUVULDRCQUE0QixzYUFDNUIsY0FBYyxxQ0FNTjtZQUNSLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Z0JBQ2pCLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQzthQUM1RSxDQUFDO1NBQ0w7O1NBRVEsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBekMvQixTQUFTO2lDQUNNLElBQUksWUFDTix1QkFBdUIsV0FDeEI7d0JBQ0wsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osUUFBUTt3QkFDUixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsUUFBUTt3QkFDUixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixRQUFRO3dCQUNSLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLHFDQUFxQzt3QkFDckMsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixTQUFTO3dCQUNULFlBQVk7d0JBQ1osNEJBQTRCO3dCQUM1QixjQUFjO3FCQUNqQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQyxjQUNuQzt3QkFDUixPQUFPLENBQUMsV0FBVyxFQUFFOzRCQUNqQixVQUFVLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7eUJBQzVFLENBQUM7cUJBQ0w7OEJBU1Msb0JBQW9CO3NCQUQ3QixlQUFlO3VCQUFDLG9DQUFvQztnQkFTOUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05nRm9yT2YsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50SW5pdCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMsXG4gICAgVFVJX0RPQ19FWENMVURFRF9QUk9QRVJUSUVTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXMsIHR1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VHVpRmlsdGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9maWx0ZXInO1xuaW1wb3J0IHtUdWlUb0FycmF5UGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy90by1hcnJheSc7XG5pbXBvcnQgdHlwZSB7VHVpTWF0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUhleFRvUmdifSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2NvbG9yJztcbmltcG9ydCB7VHVpTm90aWZpY2F0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL25vdGlmaWNhdGlvbic7XG5pbXBvcnQge1R1aVRleHRmaWVsZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlEcm9wZG93bn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUdyb3VwfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2dyb3VwJztcbmltcG9ydCB7VHVpQmFkZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyJztcbmltcG9ydCB7VHVpU3dpdGNofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtUdWlTZWxlY3RNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHttZXJnZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3J9IGZyb20gJy4vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpU2hvd0NsZWFuZXJQaXBlfSBmcm9tICcuL3BpcGVzL2NsZWFuZXIucGlwZSc7XG5pbXBvcnQge1R1aUdldENvbG9yUGlwZX0gZnJvbSAnLi9waXBlcy9jb2xvci5waXBlJztcbmltcG9ydCB7VHVpSW5zcGVjdFBpcGV9IGZyb20gJy4vcGlwZXMvaW5zcGVjdC5waXBlJztcbmltcG9ydCB7VHVpR2V0T3BhY2l0eVBpcGV9IGZyb20gJy4vcGlwZXMvb3BhY2l0eS5waXBlJztcbmltcG9ydCB7VHVpSXNPcHRpb25hbFBpcGV9IGZyb20gJy4vcGlwZXMvb3B0aW9uYWwucGlwZSc7XG5pbXBvcnQge1R1aUlzUHJpbWl0aXZlUG9seW1vcnBoZXVzQ29udGVudFBpcGV9IGZyb20gJy4vcGlwZXMvcHJpbWl0aXZlLXBvbHltb3JwaGV1cy1jb250ZW50LnBpcGUnO1xuaW1wb3J0IHtUdWlTdHJpcE9wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9zdHJpcC1vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpRG9jVHlwZVJlZmVyZW5jZVBpcGV9IGZyb20gJy4vcGlwZXMvdHlwZS1yZWZlcmVuY2UucGlwZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZG9jdW1lbnRhdGlvbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdTd2l0Y2gsXG4gICAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVHVpQmFkZ2UsXG4gICAgICAgIFR1aURhdGFMaXN0V3JhcHBlcixcbiAgICAgICAgVHVpRG9jVHlwZVJlZmVyZW5jZVBpcGUsXG4gICAgICAgIFR1aURyb3Bkb3duLFxuICAgICAgICBUdWlGaWx0ZXJQaXBlLFxuICAgICAgICBUdWlHZXRDb2xvclBpcGUsXG4gICAgICAgIFR1aUdldE9wYWNpdHlQaXBlLFxuICAgICAgICBUdWlHcm91cCxcbiAgICAgICAgVHVpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICAgIFR1aUluc3BlY3RQaXBlLFxuICAgICAgICBUdWlJc09wdGlvbmFsUGlwZSxcbiAgICAgICAgVHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZSxcbiAgICAgICAgVHVpTm90aWZpY2F0aW9uLFxuICAgICAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFR1aVNob3dDbGVhbmVyUGlwZSxcbiAgICAgICAgVHVpU3RyaXBPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVN3aXRjaCxcbiAgICAgICAgVHVpVGV4dGZpZWxkLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBUdWlUb0FycmF5UGlwZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RvY3VtZW50YXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aUdldENvbG9yUGlwZSwgVHVpR2V0T3BhY2l0eVBpcGVdLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZW1pdEV2ZW50JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmluY3JlbWVudCcsIFtzdHlsZSh7b3BhY2l0eTogMX0pLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluJyldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRG9jdW1lbnRhdGlvbiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXRDb2xvciA9IGluamVjdChUdWlHZXRDb2xvclBpcGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2V0T3BhY2l0eSA9IGluamVjdChUdWlHZXRPcGFjaXR5UGlwZSk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvcilcbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllc0Nvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8YW55Pj4gPVxuICAgICAgICBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyA9IGluamVjdChUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBleGNsdWRlZFByb3BlcnRpZXMgPSBpbmplY3QoVFVJX0RPQ19FWENMVURFRF9QUk9QRVJUSUVTKTtcbiAgICBwcm90ZWN0ZWQgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dWYWx1ZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNBUEkgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHR1aVF1ZXJ5TGlzdENoYW5nZXModGhpcy5wcm9wZXJ0aWVzQ29ubmVjdG9ycylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+IG1lcmdlKC4uLml0ZW1zLm1hcCgoe2NoYW5nZWQkfSkgPT4gY2hhbmdlZCQpKSksXG4gICAgICAgICAgICAgICAgdHVpV2F0Y2godGhpcy5jZHIpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0FQSSA/IHRoaXMudGV4dHNbMF0gOiB0aGlzLnRleHRzWzFdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBtYXRjaGVyOiBUdWlNYXRjaGVyPFxuICAgICAgICBbVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yPGFueT4sIFNldDxzdHJpbmc+XVxuICAgID4gPSAoaXRlbSwgZXhjbHVzaW9ucykgPT4gIWV4Y2x1c2lvbnMuaGFzKGl0ZW0uZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZSk7XG5cbiAgICBwcm90ZWN0ZWQgb25Db2xvckNoYW5nZShcbiAgICAgICAgY29ubmVjdG9yOiBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8c3RyaW5nPixcbiAgICAgICAgY29sb3I6IHN0cmluZyxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3BhY2l0eSA9IHRoaXMuZ2V0T3BhY2l0eS50cmFuc2Zvcm0oXG4gICAgICAgICAgICBjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG9wYWNpdHkgPT09IDEwMCkge1xuICAgICAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoY29sb3IpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZ2IgPSB0dWlIZXhUb1JnYihjb2xvcikuam9pbignLCAnKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYHJnYmEoJHtyZ2J9LCAke29wYWNpdHkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25PcGFjaXR5Q2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvcjxzdHJpbmc+LFxuICAgICAgICBvcGFjaXR5OiBudW1iZXIgfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZXggPSB0aGlzLmdldENvbG9yLnRyYW5zZm9ybShjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycpO1xuICAgICAgICBjb25zdCByZ2IgPSB0dWlIZXhUb1JnYihoZXgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7KG9wYWNpdHkgfHwgMCkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG59XG4iLCI8aDFcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbj5cbiAgICB7eyBoZWFkaW5nIH19XG48L2gxPlxuPG5nLWNvbnRlbnQgLz5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0aWVzQ29ubmVjdG9ycyB8IHR1aVRvQXJyYXkgfCB0dWlGaWx0ZXI6IG1hdGNoZXIgOiBleGNsdWRlZFByb3BlcnRpZXMgYXMgcHJvcGVydGllc1wiPlxuICAgIDx0YWJsZVxuICAgICAgICAqbmdJZj1cInByb3BlcnRpZXMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRhYmxlXCJcbiAgICA+XG4gICAgICAgIDx0ciBjbGFzcz1cInQtcm93IHQtcm93X2hlYWRlclwiPlxuICAgICAgICAgICAgPHRoIGNsYXNzPVwidC10aCB0LWNlbGwgdC1jZWxsX3Byb3BcIj57eyB0ZXh0c1syXSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJ0LXRoXCI+e3sgdHlwZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dWYWx1ZXMgJiYgIWlzQVBJXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGggdC1jZWxsIHQtdGhfdmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzNdIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9wZXJ0eUNvbm5lY3RvciBvZiBwcm9wZXJ0aWVzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yb3dcIlxuICAgICAgICAgICAgW2NsYXNzLnQtZGVwcmVjYXRlZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvY3VtZW50YXRpb25fX3Byb3BlcnR5LW5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtcHJvcGVydHkgdC1hZGRpdGlvbmFsLWluZm9cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXByb3BlcnR5LWNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIid2YXIoLS10dWktYmFja2dyb3VuZC1hY2NlbnQtMi1wcmVzc2VkKSdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZSB8IHR1aVN0cmlwT3B0aW9uYWxQaXBlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZSB8IHR1aUlzT3B0aW9uYWxQaXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWxcbiAgICAgICAgICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5RGVwcmVjYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkXG4gICAgICAgICAgICAgICAgICAgIDwvdHVpLWJhZGdlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvcGVydHlDb25uZWN0b3IudGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInQtY2VsbFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Y29kZSBjbGFzcz1cInQtY29kZS10eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIHByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgfCB0dWlEb2NUeXBlUmVmZXJlbmNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5yZWZlcmVuY2U7IGVsc2UgZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jb2RlLXJlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaXRlbS5yZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50eXBlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50eXBlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsYXN0XCI+Jm5ic3A7fCZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2NvZGU+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGwgdC1jZWxsX3ZhbHVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3Iuc2hvdWxkU2hvd1ZhbHVlczsgZWxzZSBlbHNlRW1pdHRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5oYXNJdGVtczsgZWxzZSBub0l0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aURyb3Bkb3duTGltaXRXaWR0aD1cIm1pblwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmF0aXZlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSB8IHR1aVNob3dDbGVhbmVyUGlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlQ29udGVudF09XCJzZWxlY3RDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzPVwidC1leGNlcHRpb25cIj5udWxsPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtQ29udGVudF09XCJzZWxlY3RDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAjc2VsZWN0Q29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0LWRhdGFcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGU+e3sgZGF0YSB8IHR1aUluc3BlY3RBbnkgfX08L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0l0ZW1zPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpU3dpdGNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktdGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3RyaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS10ZXh0ZmllbGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50IHx8IDApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VFbWl0dGVyPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLW5vdGlmaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LW91dHB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbQGVtaXRFdmVudF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5lbWl0cygpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRW1pdCFcbiAgICAgICAgICAgICAgICAgICAgPC90dWktbm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsMkJBQTJCLEVBQzNCLDJCQUEyQixHQUM5QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1B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S0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7eUJBQzVFLENBQUM7cUJBQ0w7OEJBU1Msb0JBQW9CO3NCQUQ3QixlQUFlO3VCQUFDLG9DQUFvQztnQkFTOUMsT0FBTztzQkFEYixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge05nRm9yT2YsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7QWZ0ZXJDb250ZW50SW5pdCwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMsXG4gICAgVFVJX0RPQ19FWENMVURFRF9QUk9QRVJUSUVTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aVF1ZXJ5TGlzdENoYW5nZXMsIHR1aVdhdGNofSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7VHVpRmlsdGVyUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy9maWx0ZXInO1xuaW1wb3J0IHtUdWlUb0FycmF5UGlwZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9waXBlcy90by1hcnJheSc7XG5pbXBvcnQgdHlwZSB7VHVpTWF0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUhleFRvUmdifSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2NvbG9yJztcbmltcG9ydCB7VHVpTm90aWZpY2F0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL25vdGlmaWNhdGlvbic7XG5pbXBvcnQge1R1aVRleHRmaWVsZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlEcm9wZG93bn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5pbXBvcnQge1R1aUdyb3VwfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2dyb3VwJztcbmltcG9ydCB7VHVpQmFkZ2V9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQge1R1aURhdGFMaXN0V3JhcHBlcn0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2RhdGEtbGlzdC13cmFwcGVyJztcbmltcG9ydCB7VHVpU3dpdGNofSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtUdWlTZWxlY3RNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9sZWdhY3kvY29tcG9uZW50cy9zZWxlY3QnO1xuaW1wb3J0IHtUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvbGVnYWN5L2RpcmVjdGl2ZXMvdGV4dGZpZWxkLWNvbnRyb2xsZXInO1xuaW1wb3J0IHttZXJnZSwgc3dpdGNoTWFwfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3J9IGZyb20gJy4vZG9jdW1lbnRhdGlvbi1wcm9wZXJ0eS1jb25uZWN0b3IuZGlyZWN0aXZlJztcbmltcG9ydCB7VHVpU2hvd0NsZWFuZXJQaXBlfSBmcm9tICcuL3BpcGVzL2NsZWFuZXIucGlwZSc7XG5pbXBvcnQge1R1aUdldENvbG9yUGlwZX0gZnJvbSAnLi9waXBlcy9jb2xvci5waXBlJztcbmltcG9ydCB7VHVpSW5zcGVjdFBpcGV9IGZyb20gJy4vcGlwZXMvaW5zcGVjdC5waXBlJztcbmltcG9ydCB7VHVpR2V0T3BhY2l0eVBpcGV9IGZyb20gJy4vcGlwZXMvb3BhY2l0eS5waXBlJztcbmltcG9ydCB7VHVpSXNPcHRpb25hbFBpcGV9IGZyb20gJy4vcGlwZXMvb3B0aW9uYWwucGlwZSc7XG5pbXBvcnQge1R1aUlzUHJpbWl0aXZlUG9seW1vcnBoZXVzQ29udGVudFBpcGV9IGZyb20gJy4vcGlwZXMvcHJpbWl0aXZlLXBvbHltb3JwaGV1cy1jb250ZW50LnBpcGUnO1xuaW1wb3J0IHtUdWlTdHJpcE9wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9zdHJpcC1vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpRG9jVHlwZVJlZmVyZW5jZVBpcGV9IGZyb20gJy4vcGlwZXMvdHlwZS1yZWZlcmVuY2UucGlwZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZG9jdW1lbnRhdGlvbicsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdTd2l0Y2gsXG4gICAgICAgIE5nU3dpdGNoQ2FzZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgVHVpQmFkZ2UsXG4gICAgICAgIFR1aURhdGFMaXN0V3JhcHBlcixcbiAgICAgICAgVHVpRG9jVHlwZVJlZmVyZW5jZVBpcGUsXG4gICAgICAgIFR1aURyb3Bkb3duLFxuICAgICAgICBUdWlGaWx0ZXJQaXBlLFxuICAgICAgICBUdWlHZXRDb2xvclBpcGUsXG4gICAgICAgIFR1aUdldE9wYWNpdHlQaXBlLFxuICAgICAgICBUdWlHcm91cCxcbiAgICAgICAgVHVpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgICAgIFR1aUluc3BlY3RQaXBlLFxuICAgICAgICBUdWlJc09wdGlvbmFsUGlwZSxcbiAgICAgICAgVHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZSxcbiAgICAgICAgVHVpTm90aWZpY2F0aW9uLFxuICAgICAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFR1aVNob3dDbGVhbmVyUGlwZSxcbiAgICAgICAgVHVpU3RyaXBPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVN3aXRjaCxcbiAgICAgICAgVHVpVGV4dGZpZWxkLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBUdWlUb0FycmF5UGlwZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RvY3VtZW50YXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1R1aUdldENvbG9yUGlwZSwgVHVpR2V0T3BhY2l0eVBpcGVdLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZW1pdEV2ZW50JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmluY3JlbWVudCcsIFtzdHlsZSh7b3BhY2l0eTogMX0pLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluJyldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRG9jdW1lbnRhdGlvbiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBnZXRDb2xvciA9IGluamVjdChUdWlHZXRDb2xvclBpcGUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZ2V0T3BhY2l0eSA9IGluamVjdChUdWlHZXRPcGFjaXR5UGlwZSk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvcilcbiAgICBwcm90ZWN0ZWQgcHJvcGVydGllc0Nvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8YW55Pj4gPVxuICAgICAgICBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZXh0cyA9IGluamVjdChUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBleGNsdWRlZFByb3BlcnRpZXMgPSBpbmplY3QoVFVJX0RPQ19FWENMVURFRF9QUk9QRVJUSUVTKTtcbiAgICBwcm90ZWN0ZWQgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNob3dWYWx1ZXMgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNBUEkgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHR1aVF1ZXJ5TGlzdENoYW5nZXModGhpcy5wcm9wZXJ0aWVzQ29ubmVjdG9ycylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+IG1lcmdlKC4uLml0ZW1zLm1hcCgoe2NoYW5nZWQkfSkgPT4gY2hhbmdlZCQpKSksXG4gICAgICAgICAgICAgICAgdHVpV2F0Y2godGhpcy5jZHIpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0FQSSA/IHRoaXMudGV4dHNbMF0gOiB0aGlzLnRleHRzWzFdO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBtYXRjaGVyOiBUdWlNYXRjaGVyPFxuICAgICAgICBbVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yPGFueT4sIFNldDxzdHJpbmc+XVxuICAgID4gPSAoaXRlbSwgZXhjbHVzaW9ucykgPT4gIWV4Y2x1c2lvbnMuaGFzKGl0ZW0uZG9jdW1lbnRhdGlvblByb3BlcnR5TmFtZSk7XG5cbiAgICBwcm90ZWN0ZWQgb25Db2xvckNoYW5nZShcbiAgICAgICAgY29ubmVjdG9yOiBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3I8c3RyaW5nPixcbiAgICAgICAgY29sb3I6IHN0cmluZyxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3BhY2l0eSA9IHRoaXMuZ2V0T3BhY2l0eS50cmFuc2Zvcm0oXG4gICAgICAgICAgICBjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG9wYWNpdHkgPT09IDEwMCkge1xuICAgICAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoY29sb3IpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZ2IgPSB0dWlIZXhUb1JnYihjb2xvcikuam9pbignLCAnKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYHJnYmEoJHtyZ2J9LCAke29wYWNpdHkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25PcGFjaXR5Q2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvcjxzdHJpbmc+LFxuICAgICAgICBvcGFjaXR5OiBudW1iZXIgfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZXggPSB0aGlzLmdldENvbG9yLnRyYW5zZm9ybShjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycpO1xuICAgICAgICBjb25zdCByZ2IgPSB0dWlIZXhUb1JnYihoZXgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7KG9wYWNpdHkgfHwgMCkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG59XG4iLCI8aDFcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbj5cbiAgICB7eyBoZWFkaW5nIH19XG48L2gxPlxuPG5nLWNvbnRlbnQgLz5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9wZXJ0aWVzQ29ubmVjdG9ycyB8IHR1aVRvQXJyYXkgfCB0dWlGaWx0ZXI6IG1hdGNoZXIgOiBleGNsdWRlZFByb3BlcnRpZXMgYXMgcHJvcGVydGllc1wiPlxuICAgIDx0YWJsZVxuICAgICAgICAqbmdJZj1cInByb3BlcnRpZXMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRhYmxlXCJcbiAgICA+XG4gICAgICAgIDx0ciBjbGFzcz1cInQtcm93IHQtcm93X2hlYWRlclwiPlxuICAgICAgICAgICAgPHRoIGNsYXNzPVwidC10aCB0LWNlbGwgdC1jZWxsX3Byb3BcIj57eyB0ZXh0c1syXSB9fTwvdGg+XG4gICAgICAgICAgICA8dGggY2xhc3M9XCJ0LXRoXCI+e3sgdHlwZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGhcbiAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dWYWx1ZXMgJiYgIWlzQVBJXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGggdC1jZWxsIHQtdGhfdmFsdWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHRleHRzWzNdIH19XG4gICAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBwcm9wZXJ0eUNvbm5lY3RvciBvZiBwcm9wZXJ0aWVzXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1yb3dcIlxuICAgICAgICAgICAgW2NsYXNzLnQtZGVwcmVjYXRlZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsXCI+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvY3VtZW50YXRpb25fX3Byb3BlcnR5LW5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtcHJvcGVydHkgdC1hZGRpdGlvbmFsLWluZm9cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXByb3BlcnR5LWNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cIid2YXIoLS10dWktYmFja2dyb3VuZC1hY2NlbnQtMi1wcmVzc2VkKSdcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZSB8IHR1aVN0cmlwT3B0aW9uYWxQaXBlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1iYWRnZVxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZSB8IHR1aUlzT3B0aW9uYWxQaXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJuZXV0cmFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uYWxcbiAgICAgICAgICAgICAgICAgICAgPC90dWktYmFkZ2U+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5RGVwcmVjYXRlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwibmVnYXRpdmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBEZXByZWNhdGVkXG4gICAgICAgICAgICAgICAgICAgIDwvdHVpLWJhZGdlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvcGVydHlDb25uZWN0b3IudGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cInQtY2VsbFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Y29kZSBjbGFzcz1cInQtY29kZS10eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtIG9mIHByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgfCB0dWlEb2NUeXBlUmVmZXJlbmNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGFzdCA9IGxhc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5yZWZlcmVuY2U7IGVsc2UgZGVmYXVsdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jb2RlLXJlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmhyZWZdPVwiaXRlbS5yZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50eXBlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50eXBlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFsYXN0XCI+Jm5ic3A7fCZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2NvZGU+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDx0ZFxuICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlc1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGwgdC1jZWxsX3ZhbHVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3Iuc2hvdWxkU2hvd1ZhbHVlczsgZWxzZSBlbHNlRW1pdHRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5oYXNJdGVtczsgZWxzZSBub0l0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aURyb3Bkb3duTGltaXRXaWR0aD1cIm1pblwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmF0aXZlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSB8IHR1aVNob3dDbGVhbmVyUGlwZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlQ29udGVudF09XCJzZWxlY3RDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzPVwidC1leGNlcHRpb25cIj5udWxsPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICp0dWlEYXRhTGlzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtQ29udGVudF09XCJzZWxlY3RDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAjc2VsZWN0Q29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0LWRhdGFcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvZGU+e3sgZGF0YSB8IHR1aUluc3BlY3RBbnkgfX08L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub0l0ZW1zPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpU3dpdGNoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zd2l0Y2hcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93SWNvbnNdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktdGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3RyaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS10ZXh0ZmllbGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWlucHV0LW51bWJlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50IHx8IDApXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VFbWl0dGVyPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLW5vdGlmaWNhdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LW91dHB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbQGVtaXRFdmVudF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5lbWl0cygpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRW1pdCFcbiAgICAgICAgICAgICAgICAgICAgPC90dWktbm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgIDwvdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -62,7 +62,7 @@ class TuiDocExample {
62
62
  copyExampleLink(target) {
63
63
  this.clipboard.copy(target?.href ?? '');
64
64
  this.alerts
65
- .open(this.texts[1], { label: this.texts[2], appearance: 'success' })
65
+ .open(this.texts[1], { label: this.texts[2], appearance: 'positive' })
66
66
  .subscribe();
67
67
  }
68
68
  edit(files) {
@@ -72,7 +72,7 @@ class TuiDocExample {
72
72
  .finally(() => this.loading.set(false));
73
73
  }
74
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocExample, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
75
- 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": "id", "class._fullsize": "fullsize" } }, ngImport: i0, template: "<div class=\"t-title-block\">\n <h2\n *ngIf=\"heading\"\n class=\"t-title\"\n >\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n </h2>\n <a\n *ngIf=\"id\"\n routerLink=\".\"\n routerLinkActive=\"t-link-active\"\n tuiLink\n type=\"button\"\n class=\"t-link\"\n [attr.title]=\"copy()\"\n [fragment]=\"id\"\n [routerLinkActiveOptions]=\"{matrixParams: 'exact', queryParams: 'exact', paths: 'exact', fragment: 'exact'}\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n #\n </a>\n</div>\n<h3\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h3>\n\n<div class=\"t-example\">\n <ng-container *ngIf=\"processor() | 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 type=\"button\"\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=\"processor() | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"loading()\"\n (click)=\"edit(processor())\"\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 >\n <div\n *ngIf=\"index === defaultTabIndex\"\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n [style.display]=\"activeItemIndex === index && index === defaultTabIndex ? 'block' : 'none'\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent() as text\">\n {{ text }}\n </ng-container>\n </div>\n\n <tui-doc-code\n *tuiLet=\"processor()[tabs[index] || 0] || '' as code\"\n [code]=\"code\"\n [style.display]=\"activeItemIndex === index && index !== defaultTabIndex ? 'block' : 'none'\"\n >\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 </div>\n </ng-container>\n</div>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:inline-end}:host:target{animation:1s .3s tuiShaking}@media screen and (max-width: 47.9625em){:host{padding-top:2rem}}.t-title-block{display:flex;flex-direction:row-reverse}.t-title{font:var(--tui-font-heading-5);margin:0 auto .5rem 0}@media screen and (max-width: 47.9625em){.t-title{font:var(--tui-font-heading-6)}}.t-title:hover+.t-link{opacity:1}.t-link{font:var(--tui-font-heading-6);padding-right:.1rem}@media not screen and (max-width: 47.9625em){.t-link{font:var(--tui-font-heading-5);margin-left:-1.6rem}.t-link:not(:hover):not(.t-link-active){opacity:0}}.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}@media screen and (max-width: 47.9625em){.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}@media screen and (max-width: 47.9625em){.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-inline-size: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{inline-size:1rem;block-size: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)}}@media screen and (max-width: 47.9625em){.t-demo{padding:1rem}}:host:not(._fullsize) .t-demo{inline-size:-webkit-min-content;inline-size:min-content;min-inline-size:20rem}tui-doc-code{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiDocCode, selector: "tui-doc-code", inputs: ["filename", "code"] }, { kind: "pipe", type: TuiDocExampleGetTabsPipe, name: "tuiDocExampleGetTabs" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
+ 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": "id", "class._fullsize": "fullsize" } }, ngImport: i0, template: "<div class=\"t-title-block\">\n <h2\n *ngIf=\"heading\"\n class=\"t-title\"\n >\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n </h2>\n <a\n *ngIf=\"id\"\n routerLink=\".\"\n routerLinkActive=\"t-link-active\"\n tuiLink\n type=\"button\"\n class=\"t-link\"\n [attr.title]=\"copy()\"\n [fragment]=\"id\"\n [routerLinkActiveOptions]=\"{matrixParams: 'exact', queryParams: 'exact', paths: 'exact', fragment: 'exact'}\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n #\n </a>\n</div>\n<h3\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h3>\n\n<div class=\"t-example\">\n <ng-container *ngIf=\"processor() | 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 type=\"button\"\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=\"processor() | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"loading()\"\n (click)=\"edit(processor())\"\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 >\n <div\n *ngIf=\"index === defaultTabIndex\"\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n [style.display]=\"activeItemIndex === index && index === defaultTabIndex ? 'block' : 'none'\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent() as text\">\n {{ text }}\n </ng-container>\n </div>\n\n <tui-doc-code\n *tuiLet=\"processor()[tabs[index] || 0] || '' as code\"\n [code]=\"code\"\n [style.display]=\"activeItemIndex === index && index !== defaultTabIndex ? 'block' : 'none'\"\n >\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 </div>\n </ng-container>\n</div>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:inline-end}:host:target{animation:1s .3s tuiShaking}@media screen and (max-width: 47.9625em){:host{padding-top:2rem}}.t-title-block{display:flex;flex-direction:row-reverse}.t-title{font:var(--tui-font-heading-5);margin:0 auto .5rem 0}@media screen and (max-width: 47.9625em){.t-title{font:var(--tui-font-heading-6)}}.t-title:hover+.t-link{opacity:1}.t-link{font:var(--tui-font-heading-6);padding-right:.1rem}@media not screen and (max-width: 47.9625em){.t-link{font:var(--tui-font-heading-5);margin-left:-1.6rem}.t-link:not(:hover):not(.t-link-active){opacity:0}}.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}@media screen and (max-width: 47.9625em){.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}@media screen and (max-width: 47.9625em){.t-tabs-wrapper{padding:0 .875rem 0 1rem}}.t-tabs{flex-grow:1;box-shadow:none}.t-code-editor{flex-shrink:0}.t-demo{position:relative;padding:2rem;max-inline-size: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{inline-size:1rem;block-size: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)}}@media screen and (max-width: 47.9625em){.t-demo{padding:1rem}}:host:not(._fullsize) .t-demo{inline-size:-webkit-min-content;inline-size:min-content;min-inline-size:20rem}tui-doc-code{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiDocCode, selector: "tui-doc-code", inputs: ["filename", "code"] }, { kind: "pipe", type: TuiDocExampleGetTabsPipe, name: "tuiDocExampleGetTabs" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
76
  }
77
77
  export { TuiDocExample };
78
78
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocExample, decorators: [{
@@ -96,7 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
96
96
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
97
97
  '[attr.id]': 'id',
98
98
  '[class._fullsize]': 'fullsize',
99
- }, template: "<div class=\"t-title-block\">\n <h2\n *ngIf=\"heading\"\n class=\"t-title\"\n >\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n </h2>\n <a\n *ngIf=\"id\"\n routerLink=\".\"\n routerLinkActive=\"t-link-active\"\n tuiLink\n type=\"button\"\n class=\"t-link\"\n [attr.title]=\"copy()\"\n [fragment]=\"id\"\n [routerLinkActiveOptions]=\"{matrixParams: 'exact', queryParams: 'exact', paths: 'exact', fragment: 'exact'}\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n #\n </a>\n</div>\n<h3\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h3>\n\n<div class=\"t-example\">\n <ng-container *ngIf=\"processor() | 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 type=\"button\"\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=\"processor() | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"loading()\"\n (click)=\"edit(processor())\"\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 >\n <div\n *ngIf=\"index === defaultTabIndex\"\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n [style.display]=\"activeItemIndex === index && index === defaultTabIndex ? 'block' : 'none'\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent() as text\">\n {{ text }}\n </ng-container>\n </div>\n\n <tui-doc-code\n *tuiLet=\"processor()[tabs[index] || 0] || '' as code\"\n [code]=\"code\"\n [style.display]=\"activeItemIndex === index && index !== defaultTabIndex ? 'block' : 'none'\"\n >\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 </div>\n </ng-container>\n</div>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:inline-end}:host:target{animation:1s .3s tuiShaking}@media screen and (max-width: 47.9625em){:host{padding-top:2rem}}.t-title-block{display:flex;flex-direction:row-reverse}.t-title{font:var(--tui-font-heading-5);margin:0 auto .5rem 0}@media screen and (max-width: 47.9625em){.t-title{font:var(--tui-font-heading-6)}}.t-title:hover+.t-link{opacity:1}.t-link{font:var(--tui-font-heading-6);padding-right:.1rem}@media not screen and (max-width: 47.9625em){.t-link{font:var(--tui-font-heading-5);margin-left:-1.6rem}.t-link:not(:hover):not(.t-link-active){opacity:0}}.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}@media screen and (max-width: 47.9625em){.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}@media screen and (max-width: 47.9625em){.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-inline-size: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{inline-size:1rem;block-size: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)}}@media screen and (max-width: 47.9625em){.t-demo{padding:1rem}}:host:not(._fullsize) .t-demo{inline-size:-webkit-min-content;inline-size:min-content;min-inline-size:20rem}tui-doc-code{overflow:hidden}\n"] }]
99
+ }, template: "<div class=\"t-title-block\">\n <h2\n *ngIf=\"heading\"\n class=\"t-title\"\n >\n <span\n *polymorpheusOutlet=\"heading as text\"\n [textContent]=\"text\"\n ></span>\n </h2>\n <a\n *ngIf=\"id\"\n routerLink=\".\"\n routerLinkActive=\"t-link-active\"\n tuiLink\n type=\"button\"\n class=\"t-link\"\n [attr.title]=\"copy()\"\n [fragment]=\"id\"\n [routerLinkActiveOptions]=\"{matrixParams: 'exact', queryParams: 'exact', paths: 'exact', fragment: 'exact'}\"\n (click)=\"copyExampleLink($event.currentTarget)\"\n >\n #\n </a>\n</div>\n<h3\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description as text\">\n {{ text }}\n </ng-container>\n</h3>\n\n<div class=\"t-example\">\n <ng-container *ngIf=\"processor() | 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 type=\"button\"\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=\"processor() | tuiMapper: visible\"\n size=\"xs\"\n class=\"t-code-editor\"\n [overlay]=\"true\"\n [showLoader]=\"loading()\"\n (click)=\"edit(processor())\"\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 >\n <div\n *ngIf=\"index === defaultTabIndex\"\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n [style.display]=\"activeItemIndex === index && index === defaultTabIndex ? 'block' : 'none'\"\n >\n <ng-content />\n <ng-container *polymorpheusOutlet=\"lazyComponent() as text\">\n {{ text }}\n </ng-container>\n </div>\n\n <tui-doc-code\n *tuiLet=\"processor()[tabs[index] || 0] || '' as code\"\n [code]=\"code\"\n [style.display]=\"activeItemIndex === index && index !== defaultTabIndex ? 'block' : 'none'\"\n >\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 </div>\n </ng-container>\n</div>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:inline-end}:host:target{animation:1s .3s tuiShaking}@media screen and (max-width: 47.9625em){:host{padding-top:2rem}}.t-title-block{display:flex;flex-direction:row-reverse}.t-title{font:var(--tui-font-heading-5);margin:0 auto .5rem 0}@media screen and (max-width: 47.9625em){.t-title{font:var(--tui-font-heading-6)}}.t-title:hover+.t-link{opacity:1}.t-link{font:var(--tui-font-heading-6);padding-right:.1rem}@media not screen and (max-width: 47.9625em){.t-link{font:var(--tui-font-heading-5);margin-left:-1.6rem}.t-link:not(:hover):not(.t-link-active){opacity:0}}.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}@media screen and (max-width: 47.9625em){.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}@media screen and (max-width: 47.9625em){.t-tabs-wrapper{padding:0 .875rem 0 1rem}}.t-tabs{flex-grow:1;box-shadow:none}.t-code-editor{flex-shrink:0}.t-demo{position:relative;padding:2rem;max-inline-size: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{inline-size:1rem;block-size: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)}}@media screen and (max-width: 47.9625em){.t-demo{padding:1rem}}:host:not(._fullsize) .t-demo{inline-size:-webkit-min-content;inline-size:min-content;min-inline-size:20rem}tui-doc-code{overflow:hidden}\n"] }]
100
100
  }], propDecorators: { id: [{
101
101
  type: Input
102
102
  }], heading: [{
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
112
112
  }], component: [{
113
113
  type: Input
114
114
  }] } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixpQ0FBaUMsRUFDakMscUJBQXFCLEVBQ3JCLGFBQWEsR0FDaEIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FB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RUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUM7YUFDL0MsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzsrR0E3RlEsYUFBYTttR0FBYixhQUFhLDZUQ2hFMUIscTFIQWtIQSwreEVEMUVRLE9BQU8sbUhBQ1AsSUFBSSw2RkFFSixrQkFBa0IsOEhBRWxCLFVBQVUsNE5BQ1YsZ0JBQWdCLDhNQUNoQixTQUFTLG9JQUNULFVBQVUsa0ZBQ1Ysd0JBQXdCLDZEQUN4QixNQUFNLHlFQUNOLE9BQU8sNEZBQ1AsU0FBUyw0SEFDVCxhQUFhOztTQVdSLGFBQWE7NEZBQWIsYUFBYTtrQkE1QnpCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGlCQUFpQixXQUNsQjt3QkFDTCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVix3QkFBd0I7d0JBQ3hCLE1BQU07d0JBQ04sT0FBTzt3QkFDUCxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsT0FBTztxQkFDVixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixXQUFXLEVBQUUsSUFBSTt3QkFDakIsbUJBQW1CLEVBQUUsVUFBVTtxQkFDbEM7OEJBb0RNLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJSyxPQUFPO3NCQURqQixLQUFLO2dCQU1LLFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge05nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1JvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1dBX0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgVFVJX0RPQ19DT0RFX0VESVRPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IsXG4gICAgVFVJX0RPQ19FWEFNUExFX1RFWFRTLFxuICAgIFRVSV9ET0NfSUNPTlMsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlSYXdMb2FkZXJDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3R5cGVzJztcbmltcG9ydCB7dHVpUmF3TG9hZFJlY29yZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aU1hcHBlclBpcGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvbWFwcGVyJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7VHVpQWxlcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2FsZXJ0JztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUxpbmt9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGluayc7XG5pbXBvcnQge1R1aUxvYWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sb2FkZXInO1xuaW1wb3J0IHtUdWlUYWJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1xuICAgIFBvbHltb3JwaGV1c0NvbXBvbmVudCxcbiAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgUG9seW1vcnBoZXVzVGVtcGxhdGUsXG59IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1hcCwgUmVwbGF5U3ViamVjdCwgc3dpdGNoQWxsLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURvY0NvZGV9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfT1BUSU9OU30gZnJvbSAnLi9leGFtcGxlLm9wdGlvbnMnO1xuaW1wb3J0IHtUdWlEb2NFeGFtcGxlR2V0VGFic1BpcGV9IGZyb20gJy4vZXhhbXBsZS1nZXQtdGFicy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBSb3V0ZXJMaW5rQWN0aXZlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aURvY0NvZGUsXG4gICAgICAgIFR1aURvY0V4YW1wbGVHZXRUYWJzUGlwZSxcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlMaW5rLFxuICAgICAgICBUdWlMb2FkZXIsXG4gICAgICAgIFR1aU1hcHBlclBpcGUsXG4gICAgICAgIFR1aVRhYnMsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhhbXBsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9leGFtcGxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2NsYXNzLl9mdWxsc2l6ZV0nOiAnZnVsbHNpemUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHMgPSBpbmplY3QoVHVpQWxlcnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KFdBX0xPQ0FUSU9OKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQgPSBpbmplY3QoVFVJX0NPUFlfVEVYVFMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBSZWNvcmQ8c3RyaW5nLCBUdWlSYXdMb2FkZXJDb250ZW50PlxuICAgID4oe30pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXp5TG9hZGVyJCQgPSBuZXcgUmVwbGF5U3ViamVjdDxQcm9taXNlPHtyZWFkb25seSBkZWZhdWx0OiBhbnl9Pj4oXG4gICAgICAgIDEsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfRE9DX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRzID0gaW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVFZGl0b3IgPSBpbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUiwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVBY3Rpb25zID1cbiAgICAgICAgaW5qZWN0PFJlYWRvbmx5QXJyYXk8UG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PHN0cmluZz4+Pj4oXG4gICAgICAgICAgICBUVUlfRE9DX0NPREVfQUNUSU9OUyxcbiAgICAgICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0VGFiID0gdGhpcy50ZXh0c1t0aGlzLmRlZmF1bHRUYWJJbmRleF07XG4gICAgcHJvdGVjdGVkIGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuZGVmYXVsdFRhYkluZGV4O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvcHkgPSB0b1NpZ25hbCh0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpLCB7XG4gICAgICAgIGluaXRpYWxWYWx1ZTogJycsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvY2Vzc29yID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCh0dWlSYXdMb2FkUmVjb3JkKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWUpID0+IHRoaXMucHJvY2Vzc0NvbnRlbnQodmFsdWUpKSxcbiAgICAgICAgKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZToge30gYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhenlDb21wb25lbnQgPSB0b1NpZ25hbChcbiAgICAgICAgdGhpcy5sYXp5TG9hZGVyJCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaEFsbCgpLFxuICAgICAgICAgICAgbWFwKChtb2R1bGUpID0+IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQobW9kdWxlLmRlZmF1bHQpKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZnVsbHNpemUgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX09QVElPTlMpLmZ1bGxzaXplO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29tcG9uZW50TmFtZTogc3RyaW5nID0gdGhpcy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjb250ZW50KGNvbnRlbnQ6IFJlY29yZDxzdHJpbmcsIFR1aVJhd0xvYWRlckNvbnRlbnQ+KSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY29tcG9uZW50KGNvbnRlbnQ6IFByb21pc2U8e3JlYWRvbmx5IGRlZmF1bHQ6IGFueX0+KSB7XG4gICAgICAgIHRoaXMubGF6eUxvYWRlciQkLm5leHQoY29udGVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpc2libGUgPSAoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBib29sZWFuID0+XG4gICAgICAgIEJvb2xlYW4odGhpcy5jb2RlRWRpdG9yICYmIHRoaXMub3B0aW9ucy5jb2RlRWRpdG9yVmlzaWJpbGl0eUhhbmRsZXIoZmlsZXMpKTtcblxuICAgIHByb3RlY3RlZCBnZXRUYWJUaXRsZShmaWxlTmFtZTogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGFiVGl0bGVzLmdldChmaWxlTmFtZSkgfHwgZmlsZU5hbWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvcHlFeGFtcGxlTGluayh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KCh0YXJnZXQgYXMgSFRNTEFuY2hvckVsZW1lbnQgfCBudWxsKT8uaHJlZiA/PyAnJyk7XG4gICAgICAgIHRoaXMuYWxlcnRzXG4gICAgICAgICAgICAub3Blbih0aGlzLnRleHRzWzFdLCB7bGFiZWw6IHRoaXMudGV4dHNbMl0sIGFwcGVhcmFuY2U6ICdzdWNjZXNzJ30pXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGVkaXQoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nLnNldCh0cnVlKTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHRoaXMubG9hZGluZy5zZXQoZmFsc2UpKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidC10aXRsZS1ibG9ja1wiPlxuICAgIDxoMlxuICAgICAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgICAgICBjbGFzcz1cInQtdGl0bGVcIlxuICAgID5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIGFzIHRleHRcIlxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInRleHRcIlxuICAgICAgICA+PC9zcGFuPlxuICAgIDwvaDI+XG4gICAgPGFcbiAgICAgICAgKm5nSWY9XCJpZFwiXG4gICAgICAgIHJvdXRlckxpbms9XCIuXCJcbiAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInQtbGluay1hY3RpdmVcIlxuICAgICAgICB0dWlMaW5rXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbGlua1wiXG4gICAgICAgIFthdHRyLnRpdGxlXT1cImNvcHkoKVwiXG4gICAgICAgIFtmcmFnbWVudF09XCJpZFwiXG4gICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7bWF0cml4UGFyYW1zOiAnZXhhY3QnLCBxdWVyeVBhcmFtczogJ2V4YWN0JywgcGF0aHM6ICdleGFjdCcsIGZyYWdtZW50OiAnZXhhY3QnfVwiXG4gICAgICAgIChjbGljayk9XCJjb3B5RXhhbXBsZUxpbmsoJGV2ZW50LmN1cnJlbnRUYXJnZXQpXCJcbiAgICA+XG4gICAgICAgICNcbiAgICA8L2E+XG48L2Rpdj5cbjxoM1xuICAgICpuZ0lmPVwiZGVzY3JpcHRpb25cIlxuICAgIGNsYXNzPVwidC1kZXNjcmlwdGlvblwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZGVzY3JpcHRpb24gYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2gzPlxuXG48ZGl2IGNsYXNzPVwidC1leGFtcGxlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb2Nlc3NvcigpIHwgdHVpRG9jRXhhbXBsZUdldFRhYnM6IGRlZmF1bHRUYWIgYXMgdGFic1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdJZj1cInRhYnMubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFicy13cmFwcGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZ2V0VGFiVGl0bGUodGFiKSBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90dWktdGFicy13aXRoLW1vcmU+XG5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9jZXNzb3IoKSB8IHR1aU1hcHBlcjogdmlzaWJsZVwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtY29kZS1lZGl0b3JcIlxuICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cImxvYWRpbmcoKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImVkaXQocHJvY2Vzc29yKCkpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29kZUVkaXRvcj8uY29udGVudCBhcyBjb250ZW50OyBlbHNlIGRlZmF1bHRFZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZW50IGFzIGVkaXRDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBlZGl0Q29udGVudCB9fVxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVkaXRDb250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBFZGl0IG9uIHt7IGNvZGVFZGl0b3IhLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdHVpLWxvYWRlcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtY29udGVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4ID09PSBkZWZhdWx0VGFiSW5kZXhcIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZG9jLWV4YW1wbGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1kZW1vXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJhY3RpdmVJdGVtSW5kZXggPT09IGluZGV4ICYmIGluZGV4ID09PSBkZWZhdWx0VGFiSW5kZXggPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImxhenlDb21wb25lbnQoKSBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8dHVpLWRvYy1jb2RlXG4gICAgICAgICAgICAgICAgKnR1aUxldD1cInByb2Nlc3NvcigpW3RhYnNbaW5kZXhdIHx8IDBdIHx8ICcnIGFzIGNvZGVcIlxuICAgICAgICAgICAgICAgIFtjb2RlXT1cImNvZGVcIlxuICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cImFjdGl2ZUl0ZW1JbmRleCA9PT0gaW5kZXggJiYgaW5kZXggIT09IGRlZmF1bHRUYWJJbmRleCA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2RlQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJhY3Rpb24gYXMgdGV4dDsgY29udGV4dDogeyRpbXBsaWNpdDogY29kZX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3R1aS1kb2MtY29kZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDaEUsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixpQ0FBaUMsRUFDakMscUJBQXFCLEVBQ3JCLGFBQWEsR0FDaEIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXpELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FB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RUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUM7YUFDL0MsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzsrR0E3RlEsYUFBYTttR0FBYixhQUFhLDZUQ2hFMUIscTFIQWtIQSxpekVEMUVRLE9BQU8sbUhBQ1AsSUFBSSw2RkFFSixrQkFBa0IsOEhBRWxCLFVBQVUsNE5BQ1YsZ0JBQWdCLDhNQUNoQixTQUFTLG9JQUNULFVBQVUsa0ZBQ1Ysd0JBQXdCLDZEQUN4QixNQUFNLHlFQUNOLE9BQU8sNEZBQ1AsU0FBUyw0SEFDVCxhQUFhOztTQVdSLGFBQWE7NEZBQWIsYUFBYTtrQkE1QnpCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGlCQUFpQixXQUNsQjt3QkFDTCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osZ0JBQWdCO3dCQUNoQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsVUFBVTt3QkFDVixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVix3QkFBd0I7d0JBQ3hCLE1BQU07d0JBQ04sT0FBTzt3QkFDUCxTQUFTO3dCQUNULGFBQWE7d0JBQ2IsT0FBTztxQkFDVixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixXQUFXLEVBQUUsSUFBSTt3QkFDakIsbUJBQW1CLEVBQUUsVUFBVTtxQkFDbEM7OEJBb0RNLEVBQUU7c0JBRFIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxRQUFRO3NCQURkLEtBQUs7Z0JBSUMsYUFBYTtzQkFEbkIsS0FBSztnQkFJSyxPQUFPO3NCQURqQixLQUFLO2dCQU1LLFNBQVM7c0JBRG5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge05nRm9yT2YsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1JvdXRlckxpbmssIFJvdXRlckxpbmtBY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1dBX0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgVFVJX0RPQ19DT0RFX0VESVRPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IsXG4gICAgVFVJX0RPQ19FWEFNUExFX1RFWFRTLFxuICAgIFRVSV9ET0NfSUNPTlMsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtUdWlSYXdMb2FkZXJDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3R5cGVzJztcbmltcG9ydCB7dHVpUmF3TG9hZFJlY29yZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1R1aUxldH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9kaXJlY3RpdmVzL2xldCc7XG5pbXBvcnQge1R1aU1hcHBlclBpcGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvcGlwZXMvbWFwcGVyJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7VHVpQWxlcnRTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2FsZXJ0JztcbmltcG9ydCB7VHVpQnV0dG9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUxpbmt9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvbGluayc7XG5pbXBvcnQge1R1aUxvYWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sb2FkZXInO1xuaW1wb3J0IHtUdWlUYWJzfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1xuICAgIFBvbHltb3JwaGV1c0NvbXBvbmVudCxcbiAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgUG9seW1vcnBoZXVzVGVtcGxhdGUsXG59IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIG1hcCwgUmVwbGF5U3ViamVjdCwgc3dpdGNoQWxsLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURvY0NvZGV9IGZyb20gJy4uL2NvZGUnO1xuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfT1BUSU9OU30gZnJvbSAnLi9leGFtcGxlLm9wdGlvbnMnO1xuaW1wb3J0IHtUdWlEb2NFeGFtcGxlR2V0VGFic1BpcGV9IGZyb20gJy4vZXhhbXBsZS1nZXQtdGFicy5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFBvbHltb3JwaGV1c1RlbXBsYXRlLFxuICAgICAgICBSb3V0ZXJMaW5rLFxuICAgICAgICBSb3V0ZXJMaW5rQWN0aXZlLFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aURvY0NvZGUsXG4gICAgICAgIFR1aURvY0V4YW1wbGVHZXRUYWJzUGlwZSxcbiAgICAgICAgVHVpTGV0LFxuICAgICAgICBUdWlMaW5rLFxuICAgICAgICBUdWlMb2FkZXIsXG4gICAgICAgIFR1aU1hcHBlclBpcGUsXG4gICAgICAgIFR1aVRhYnMsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhhbXBsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9leGFtcGxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxuICAgICAgICAnW2NsYXNzLl9mdWxsc2l6ZV0nOiAnZnVsbHNpemUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHMgPSBpbmplY3QoVHVpQWxlcnRTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uID0gaW5qZWN0KFdBX0xPQ0FUSU9OKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQgPSBpbmplY3QoVFVJX0NPUFlfVEVYVFMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxuICAgICAgICBSZWNvcmQ8c3RyaW5nLCBUdWlSYXdMb2FkZXJDb250ZW50PlxuICAgID4oe30pO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXp5TG9hZGVyJCQgPSBuZXcgUmVwbGF5U3ViamVjdDxQcm9taXNlPHtyZWFkb25seSBkZWZhdWx0OiBhbnl9Pj4oXG4gICAgICAgIDEsXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpY29ucyA9IGluamVjdChUVUlfRE9DX0lDT05TKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRzID0gaW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9URVhUUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVFZGl0b3IgPSBpbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUiwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvZGVBY3Rpb25zID1cbiAgICAgICAgaW5qZWN0PFJlYWRvbmx5QXJyYXk8UG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PHN0cmluZz4+Pj4oXG4gICAgICAgICAgICBUVUlfRE9DX0NPREVfQUNUSU9OUyxcbiAgICAgICAgKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0VGFiID0gdGhpcy50ZXh0c1t0aGlzLmRlZmF1bHRUYWJJbmRleF07XG4gICAgcHJvdGVjdGVkIGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuZGVmYXVsdFRhYkluZGV4O1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvcHkgPSB0b1NpZ25hbCh0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpLCB7XG4gICAgICAgIGluaXRpYWxWYWx1ZTogJycsXG4gICAgfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbG9hZGluZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvY2Vzc29yID0gdG9TaWduYWwoXG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCh0dWlSYXdMb2FkUmVjb3JkKSxcbiAgICAgICAgICAgIG1hcCgodmFsdWUpID0+IHRoaXMucHJvY2Vzc0NvbnRlbnQodmFsdWUpKSxcbiAgICAgICAgKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZToge30gYXMgdW5rbm93biBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSxcbiAgICApO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhenlDb21wb25lbnQgPSB0b1NpZ25hbChcbiAgICAgICAgdGhpcy5sYXp5TG9hZGVyJCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaEFsbCgpLFxuICAgICAgICAgICAgbWFwKChtb2R1bGUpID0+IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQobW9kdWxlLmRlZmF1bHQpKSxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZnVsbHNpemUgPSBpbmplY3QoVFVJX0RPQ19FWEFNUExFX09QVElPTlMpLmZ1bGxzaXplO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29tcG9uZW50TmFtZTogc3RyaW5nID0gdGhpcy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBjb250ZW50KGNvbnRlbnQ6IFJlY29yZDxzdHJpbmcsIFR1aVJhd0xvYWRlckNvbnRlbnQ+KSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgY29tcG9uZW50KGNvbnRlbnQ6IFByb21pc2U8e3JlYWRvbmx5IGRlZmF1bHQ6IGFueX0+KSB7XG4gICAgICAgIHRoaXMubGF6eUxvYWRlciQkLm5leHQoY29udGVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZpc2libGUgPSAoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBib29sZWFuID0+XG4gICAgICAgIEJvb2xlYW4odGhpcy5jb2RlRWRpdG9yICYmIHRoaXMub3B0aW9ucy5jb2RlRWRpdG9yVmlzaWJpbGl0eUhhbmRsZXIoZmlsZXMpKTtcblxuICAgIHByb3RlY3RlZCBnZXRUYWJUaXRsZShmaWxlTmFtZTogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGFiVGl0bGVzLmdldChmaWxlTmFtZSkgfHwgZmlsZU5hbWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNvcHlFeGFtcGxlTGluayh0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsaXBib2FyZC5jb3B5KCh0YXJnZXQgYXMgSFRNTEFuY2hvckVsZW1lbnQgfCBudWxsKT8uaHJlZiA/PyAnJyk7XG4gICAgICAgIHRoaXMuYWxlcnRzXG4gICAgICAgICAgICAub3Blbih0aGlzLnRleHRzWzFdLCB7bGFiZWw6IHRoaXMudGV4dHNbMl0sIGFwcGVhcmFuY2U6ICdwb3NpdGl2ZSd9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBlZGl0KGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY29kZUVkaXRvclxuICAgICAgICAgICAgPy5lZGl0KHRoaXMuY29tcG9uZW50TmFtZSwgdGhpcy5pZCB8fCAnJywgZmlsZXMpXG4gICAgICAgICAgICAuZmluYWxseSgoKSA9PiB0aGlzLmxvYWRpbmcuc2V0KGZhbHNlKSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInQtdGl0bGUtYmxvY2tcIj5cbiAgICA8aDJcbiAgICAgICAgKm5nSWY9XCJoZWFkaW5nXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRpdGxlXCJcbiAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaGVhZGluZyBhcyB0ZXh0XCJcbiAgICAgICAgICAgIFt0ZXh0Q29udGVudF09XCJ0ZXh0XCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICA8L2gyPlxuICAgIDxhXG4gICAgICAgICpuZ0lmPVwiaWRcIlxuICAgICAgICByb3V0ZXJMaW5rPVwiLlwiXG4gICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJ0LWxpbmstYWN0aXZlXCJcbiAgICAgICAgdHVpTGlua1xuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxpbmtcIlxuICAgICAgICBbYXR0ci50aXRsZV09XCJjb3B5KClcIlxuICAgICAgICBbZnJhZ21lbnRdPVwiaWRcIlxuICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie21hdHJpeFBhcmFtczogJ2V4YWN0JywgcXVlcnlQYXJhbXM6ICdleGFjdCcsIHBhdGhzOiAnZXhhY3QnLCBmcmFnbWVudDogJ2V4YWN0J31cIlxuICAgICAgICAoY2xpY2spPVwiY29weUV4YW1wbGVMaW5rKCRldmVudC5jdXJyZW50VGFyZ2V0KVwiXG4gICAgPlxuICAgICAgICAjXG4gICAgPC9hPlxuPC9kaXY+XG48aDNcbiAgICAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInQtZGVzY3JpcHRpb25cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlc2NyaXB0aW9uIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oMz5cblxuPGRpdiBjbGFzcz1cInQtZXhhbXBsZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJwcm9jZXNzb3IoKSB8IHR1aURvY0V4YW1wbGVHZXRUYWJzOiBkZWZhdWx0VGFiIGFzIHRhYnNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJ0YWJzLmxlbmd0aCA+IDFcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhYnMtd3JhcHBlclwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgICAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImdldFRhYlRpdGxlKHRhYikgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvY2Vzc29yKCkgfCB0dWlNYXBwZXI6IHZpc2libGVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWNvZGUtZWRpdG9yXCJcbiAgICAgICAgICAgICAgICBbb3ZlcmxheV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0xvYWRlcl09XCJsb2FkaW5nKClcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0KHByb2Nlc3NvcigpKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvZGVFZGl0b3I/LmNvbnRlbnQgYXMgY29udGVudDsgZWxzZSBkZWZhdWx0RWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyBlZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZWRpdENvbnRlbnQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFZGl0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdCBvbiB7eyBjb2RlRWRpdG9yIS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4XCJcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZGVtb1wiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleCAmJiBpbmRleCA9PT0gZGVmYXVsdFRhYkluZGV4ID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsYXp5Q29tcG9uZW50KCkgYXMgdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPHR1aS1kb2MtY29kZVxuICAgICAgICAgICAgICAgICp0dWlMZXQ9XCJwcm9jZXNzb3IoKVt0YWJzW2luZGV4XSB8fCAwXSB8fCAnJyBhcyBjb2RlXCJcbiAgICAgICAgICAgICAgICBbY29kZV09XCJjb2RlXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJhY3RpdmVJdGVtSW5kZXggPT09IGluZGV4ICYmIGluZGV4ICE9PSBkZWZhdWx0VGFiSW5kZXggPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29kZUFjdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYWN0aW9uIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGV9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90dWktZG9jLWNvZGU+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -34,6 +34,7 @@ class TuiDocLanguageSwitcher {
34
34
  ['japan', 'JP'],
35
35
  ['kazakh', 'KZ'],
36
36
  ['korean', 'KR'],
37
+ ['lithuanian', 'LT'],
37
38
  ['malay', 'MY'],
38
39
  ['polish', 'PL'],
39
40
  ['portuguese', 'PT'],
@@ -51,7 +52,7 @@ class TuiDocLanguageSwitcher {
51
52
  this.open = false;
52
53
  }
53
54
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocLanguageSwitcher, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocLanguageSwitcher, isStandalone: true, selector: "tui-doc-language-switcher", providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], ngImport: i0, template: "<tui-badged-content>\n <img\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flags.get(language.value ?? '') || flags.get(switcher.language) | tuiFlag\"\n />\n\n <button\n appearance=\"whiteblock\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n [iconStart]=\"icons.languages\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: i2.TuiBadgedContentDirective, selector: "[tuiSlot]", inputs: ["tuiSlot"] }, { kind: "component", type: i2.TuiBadgedContentComponent, selector: "tui-badged-content" }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiButtonSelect, selector: "button[tuiButtonSelect]" }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: i4.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocLanguageSwitcher, isStandalone: true, selector: "tui-doc-language-switcher", providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], ngImport: i0, template: "<tui-badged-content>\n <img\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flags.get(language.value ?? '') || flags.get(switcher.language) | tuiFlag\"\n />\n\n <button\n appearance=\"outline-grayscale\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n [iconStart]=\"icons.languages\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "directive", type: TuiBadge, selector: "tui-badge,[tuiBadge]", inputs: ["size"] }, { kind: "directive", type: i2.TuiBadgedContentDirective, selector: "[tuiSlot]", inputs: ["tuiSlot"] }, { kind: "component", type: i2.TuiBadgedContentComponent, selector: "tui-badged-content" }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: TuiButtonSelect, selector: "button[tuiButtonSelect]" }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "component", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "pipe", type: TuiFlagPipe, name: "tuiFlag" }, { kind: "directive", type: i4.TuiTextfieldDropdownDirective, selector: "ng-template[tuiTextfieldDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
56
  }
56
57
  export { TuiDocLanguageSwitcher };
57
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocLanguageSwitcher, decorators: [{
@@ -68,9 +69,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
68
69
  TuiDataList,
69
70
  TuiFlagPipe,
70
71
  TuiTextfield,
71
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], template: "<tui-badged-content>\n <img\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flags.get(language.value ?? '') || flags.get(switcher.language) | tuiFlag\"\n />\n\n <button\n appearance=\"whiteblock\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n [iconStart]=\"icons.languages\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"] }]
72
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiScrollbarOptionsProvider({ mode: 'hover' })], template: "<tui-badged-content>\n <img\n alt=\"\"\n size=\"s\"\n tuiBadge\n tuiSlot=\"bottom\"\n [src]=\"flags.get(language.value ?? '') || flags.get(switcher.language) | tuiFlag\"\n />\n\n <button\n appearance=\"outline-grayscale\"\n size=\"s\"\n tuiButtonSelect\n tuiIconButton\n type=\"button\"\n [formControl]=\"language\"\n [iconStart]=\"icons.languages\"\n >\n Language\n <tui-data-list *tuiTextfieldDropdown>\n <tui-opt-group label=\"Language of components\">\n <button\n *ngFor=\"let name of names\"\n tuiOption\n type=\"button\"\n [value]=\"name | titlecase\"\n (click)=\"setLang(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-opt-group>\n </tui-data-list>\n </button>\n</tui-badged-content>\n", styles: [".t-flag{inline-size:1.75rem;block-size:1.75rem;border-radius:50%;margin-right:.5rem}[tuiOption]{justify-content:flex-start;gap:.5rem}img{box-shadow:inset 0 0 0 1px var(--tui-border-normal)}\n"] }]
72
73
  }] });
73
74
  function capitalize(value) {
74
75
  return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;
75
76
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9sYW5ndWFnZS1zd2l0Y2hlci9pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaGVyL2luZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFdEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7O0FBRXZFLE1BcUJhLHNCQUFzQjtJQXJCbkM7UUFzQnVCLFVBQUssR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXhFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFUCxVQUFLLEdBQUcsSUFBSSxHQUFHLENBQXFDO1lBQ2hFLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUNwQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDZixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQztZQUNmLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7WUFDcEIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO1lBQ25CLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztTQUN2QixDQUFDLENBQUM7UUFFYSxVQUFLLEdBQXNCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0tBTzVFO0lBTFUsT0FBTyxDQUFDLElBQXFCO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7K0dBbkNRLHNCQUFzQjttR0FBdEIsc0JBQXNCLHdFQUZwQixDQUFDLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUMsMEJDbEM3RCxncUNBdUNBLHlQRHBCUSxPQUFPLGtIQUVQLG1CQUFtQixxVEFDbkIsYUFBYSxrREFDYixRQUFRLHFSQUVSLFNBQVMsb0lBQ1QsZUFBZSxzWkFFZixXQUFXOztTQVFOLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQXJCbEMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sMkJBQTJCLFdBQzVCO3dCQUNMLE9BQU87d0JBQ1AsSUFBSTt3QkFDSixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixnQkFBZ0I7d0JBQ2hCLFNBQVM7d0JBQ1QsZUFBZTt3QkFDZixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsWUFBWTtxQkFDZixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7O0FBd0M3RCxTQUFTLFVBQVUsQ0FBQyxLQUFhO0lBQzdCLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmLCBUaXRsZUNhc2VQaXBlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUVUlfRE9DX0lDT05TfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHtUdWlEYXRhTGlzdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9kYXRhLWxpc3QnO1xuaW1wb3J0IHt0dWlTY3JvbGxiYXJPcHRpb25zUHJvdmlkZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvc2Nyb2xsYmFyJztcbmltcG9ydCB7VHVpVGV4dGZpZWxkfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3RleHRmaWVsZCc7XG5pbXBvcnQge1R1aUZsYWdQaXBlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9waXBlcy9mbGFnJztcbmltcG9ydCB0eXBlIHtUdWlDb3VudHJ5SXNvQ29kZSwgVHVpTGFuZ3VhZ2VOYW1lfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi90eXBlcyc7XG5pbXBvcnQge1R1aUxhbmd1YWdlU3dpdGNoZXJTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvaTE4bi91dGlscyc7XG5pbXBvcnQge1R1aUJhZGdlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2UnO1xuaW1wb3J0IHtUdWlCYWRnZWRDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2VkLWNvbnRlbnQnO1xuaW1wb3J0IHtUdWlCdXR0b25TZWxlY3R9IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9idXR0b24tc2VsZWN0JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtbGFuZ3VhZ2Utc3dpdGNoZXInLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdGb3JPZixcbiAgICAgICAgTmdJZixcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgVGl0bGVDYXNlUGlwZSxcbiAgICAgICAgVHVpQmFkZ2UsXG4gICAgICAgIFR1aUJhZGdlZENvbnRlbnQsXG4gICAgICAgIFR1aUJ1dHRvbixcbiAgICAgICAgVHVpQnV0dG9uU2VsZWN0LFxuICAgICAgICBUdWlEYXRhTGlzdCxcbiAgICAgICAgVHVpRmxhZ1BpcGUsXG4gICAgICAgIFR1aVRleHRmaWVsZCxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbmRleC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbmRleC5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbdHVpU2Nyb2xsYmFyT3B0aW9uc1Byb3ZpZGVyKHttb2RlOiAnaG92ZXInfSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NMYW5ndWFnZVN3aXRjaGVyIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbnMgPSBpbmplY3QoVFVJX0RPQ19JQ09OUyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN3aXRjaGVyID0gaW5qZWN0KFR1aUxhbmd1YWdlU3dpdGNoZXJTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGFuZ3VhZ2UgPSBuZXcgRm9ybUNvbnRyb2woY2FwaXRhbGl6ZSh0aGlzLnN3aXRjaGVyLmxhbmd1YWdlKSk7XG5cbiAgICBwcm90ZWN0ZWQgb3BlbiA9IGZhbHNlO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGZsYWdzID0gbmV3IE1hcDxUdWlMYW5ndWFnZU5hbWUsIFR1aUNvdW50cnlJc29Db2RlPihbXG4gICAgICAgIFsnYmVsYXJ1c2lhbicsICdCWSddLFxuICAgICAgICBbJ2NoaW5lc2UnLCAnQ04nXSxcbiAgICAgICAgWydkdXRjaCcsICdOTCddLFxuICAgICAgICBbJ2VuZ2xpc2gnLCAnR0InXSxcbiAgICAgICAgWydmcmVuY2gnLCAnRlInXSxcbiAgICAgICAgWydnZXJtYW4nLCAnREUnXSxcbiAgICAgICAgWydoZWJyZXcnLCAnSUwnXSxcbiAgICAgICAgWydpdGFsaWFuJywgJ0lUJ10sXG4gICAgICAgIFsnamFwYW4nLCAnSlAnXSxcbiAgICAgICAgWydrYXpha2gnLCAnS1onXSxcbiAgICAgICAgWydrb3JlYW4nLCAnS1InXSxcbiAgICAgICAgWydtYWxheScsICdNWSddLFxuICAgICAgICBbJ3BvbGlzaCcsICdQTCddLFxuICAgICAgICBbJ3BvcnR1Z3Vlc2UnLCAnUFQnXSxcbiAgICAgICAgWydydXNzaWFuJywgJ1JVJ10sXG4gICAgICAgIFsnc3BhbmlzaCcsICdFUyddLFxuICAgICAgICBbJ3R1cmtpc2gnLCAnVFInXSxcbiAgICAgICAgWyd1a3JhaW5pYW4nLCAnVUEnXSxcbiAgICAgICAgWyd2aWV0bmFtZXNlJywgJ1ZOJ10sXG4gICAgXSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbmFtZXM6IFR1aUxhbmd1YWdlTmFtZVtdID0gQXJyYXkuZnJvbSh0aGlzLmZsYWdzLmtleXMoKSk7XG5cbiAgICBwdWJsaWMgc2V0TGFuZyhsYW5nOiBUdWlMYW5ndWFnZU5hbWUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZS5zZXRWYWx1ZShsYW5nKTtcbiAgICAgICAgdGhpcy5zd2l0Y2hlci5zZXRMYW5ndWFnZShsYW5nKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBjYXBpdGFsaXplKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke3ZhbHVlLnNsaWNlKDEpfWA7XG59XG4iLCI8dHVpLWJhZGdlZC1jb250ZW50PlxuICAgIDxpbWdcbiAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0dWlCYWRnZVxuICAgICAgICB0dWlTbG90PVwiYm90dG9tXCJcbiAgICAgICAgW3NyY109XCJmbGFncy5nZXQobGFuZ3VhZ2UudmFsdWUgPz8gJycpIHx8IGZsYWdzLmdldChzd2l0Y2hlci5sYW5ndWFnZSkgfCB0dWlGbGFnXCJcbiAgICAvPlxuXG4gICAgPGJ1dHRvblxuICAgICAgICBhcHBlYXJhbmNlPVwid2hpdGVibG9ja1wiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgdHVpQnV0dG9uU2VsZWN0XG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJsYW5ndWFnZVwiXG4gICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMubGFuZ3VhZ2VzXCJcbiAgICA+XG4gICAgICAgIExhbmd1YWdlXG4gICAgICAgIDx0dWktZGF0YS1saXN0ICp0dWlUZXh0ZmllbGREcm9wZG93bj5cbiAgICAgICAgICAgIDx0dWktb3B0LWdyb3VwIGxhYmVsPVwiTGFuZ3VhZ2Ugb2YgY29tcG9uZW50c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5hbWUgb2YgbmFtZXNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJuYW1lIHwgdGl0bGVjYXNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldExhbmcobmFtZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZmxhZ3MuZ2V0KG5hbWUpIHwgdHVpRmxhZ1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IG5hbWUgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdHVpLW9wdC1ncm91cD5cbiAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgIDwvYnV0dG9uPlxuPC90dWktYmFkZ2VkLWNvbnRlbnQ+XG4iXX0=
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9sYW5ndWFnZS1zd2l0Y2hlci9pbmRleC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaGVyL2luZGV4Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFFdEQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7O0FBRXZFLE1BcUJhLHNCQUFzQjtJQXJCbkM7UUFzQnVCLFVBQUssR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUIsYUFBUSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXhFLFNBQUksR0FBRyxLQUFLLENBQUM7UUFFUCxVQUFLLEdBQUcsSUFBSSxHQUFHLENBQXFDO1lBQ2hFLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUNwQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1lBQ2YsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztZQUNoQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDZixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDO1lBQ2hCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztZQUNwQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDZixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7WUFDaEIsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDO1lBQ3BCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztZQUNqQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7WUFDakIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO1lBQ2pCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztZQUNuQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUM7U0FDdkIsQ0FBQyxDQUFDO1FBRWEsVUFBSyxHQUFzQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztLQU81RTtJQUxVLE9BQU8sQ0FBQyxJQUFxQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDOytHQXBDUSxzQkFBc0I7bUdBQXRCLHNCQUFzQix3RUFGcEIsQ0FBQywyQkFBMkIsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDLDBCQ2xDN0QsdXFDQXVDQSx5UERwQlEsT0FBTyxrSEFFUCxtQkFBbUIscVRBQ25CLGFBQWEsa0RBQ2IsUUFBUSxxUkFFUixTQUFTLG9JQUNULGVBQWUsc1pBRWYsV0FBVzs7U0FRTixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFyQmxDLFNBQVM7aUNBQ00sSUFBSSxZQUNOLDJCQUEyQixXQUM1Qjt3QkFDTCxPQUFPO3dCQUNQLElBQUk7d0JBQ0osbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsZ0JBQWdCO3dCQUNoQixTQUFTO3dCQUNULGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLFlBQVk7cUJBQ2YsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQywyQkFBMkIsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFDOztBQXlDN0QsU0FBUyxVQUFVLENBQUMsS0FBYTtJQUM3QixPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3JPZiwgTmdJZiwgVGl0bGVDYXNlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VFVJX0RPQ19JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7VHVpRGF0YUxpc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGF0YS1saXN0JztcbmltcG9ydCB7dHVpU2Nyb2xsYmFyT3B0aW9uc1Byb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhcic7XG5pbXBvcnQge1R1aVRleHRmaWVsZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtUdWlGbGFnUGlwZX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvcGlwZXMvZmxhZyc7XG5pbXBvcnQgdHlwZSB7VHVpQ291bnRyeUlzb0NvZGUsIFR1aUxhbmd1YWdlTmFtZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdHlwZXMnO1xuaW1wb3J0IHtUdWlMYW5ndWFnZVN3aXRjaGVyU2VydmljZX0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdXRpbHMnO1xuaW1wb3J0IHtUdWlCYWRnZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7VHVpQmFkZ2VkQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlZC1jb250ZW50JztcbmltcG9ydCB7VHVpQnV0dG9uU2VsZWN0fSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvYnV0dG9uLXNlbGVjdCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWxhbmd1YWdlLXN3aXRjaGVyJyxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nRm9yT2YsXG4gICAgICAgIE5nSWYsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRpdGxlQ2FzZVBpcGUsXG4gICAgICAgIFR1aUJhZGdlLFxuICAgICAgICBUdWlCYWRnZWRDb250ZW50LFxuICAgICAgICBUdWlCdXR0b24sXG4gICAgICAgIFR1aUJ1dHRvblNlbGVjdCxcbiAgICAgICAgVHVpRGF0YUxpc3QsXG4gICAgICAgIFR1aUZsYWdQaXBlLFxuICAgICAgICBUdWlUZXh0ZmllbGQsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5kZXguaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5kZXgubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW3R1aVNjcm9sbGJhck9wdGlvbnNQcm92aWRlcih7bW9kZTogJ2hvdmVyJ30pXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jTGFuZ3VhZ2VTd2l0Y2hlciB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9ET0NfSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBzd2l0Y2hlciA9IGluamVjdChUdWlMYW5ndWFnZVN3aXRjaGVyU2VydmljZSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGxhbmd1YWdlID0gbmV3IEZvcm1Db250cm9sKGNhcGl0YWxpemUodGhpcy5zd2l0Y2hlci5sYW5ndWFnZSkpO1xuXG4gICAgcHJvdGVjdGVkIG9wZW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyByZWFkb25seSBmbGFncyA9IG5ldyBNYXA8VHVpTGFuZ3VhZ2VOYW1lLCBUdWlDb3VudHJ5SXNvQ29kZT4oW1xuICAgICAgICBbJ2JlbGFydXNpYW4nLCAnQlknXSxcbiAgICAgICAgWydjaGluZXNlJywgJ0NOJ10sXG4gICAgICAgIFsnZHV0Y2gnLCAnTkwnXSxcbiAgICAgICAgWydlbmdsaXNoJywgJ0dCJ10sXG4gICAgICAgIFsnZnJlbmNoJywgJ0ZSJ10sXG4gICAgICAgIFsnZ2VybWFuJywgJ0RFJ10sXG4gICAgICAgIFsnaGVicmV3JywgJ0lMJ10sXG4gICAgICAgIFsnaXRhbGlhbicsICdJVCddLFxuICAgICAgICBbJ2phcGFuJywgJ0pQJ10sXG4gICAgICAgIFsna2F6YWtoJywgJ0taJ10sXG4gICAgICAgIFsna29yZWFuJywgJ0tSJ10sXG4gICAgICAgIFsnbGl0aHVhbmlhbicsICdMVCddLFxuICAgICAgICBbJ21hbGF5JywgJ01ZJ10sXG4gICAgICAgIFsncG9saXNoJywgJ1BMJ10sXG4gICAgICAgIFsncG9ydHVndWVzZScsICdQVCddLFxuICAgICAgICBbJ3J1c3NpYW4nLCAnUlUnXSxcbiAgICAgICAgWydzcGFuaXNoJywgJ0VTJ10sXG4gICAgICAgIFsndHVya2lzaCcsICdUUiddLFxuICAgICAgICBbJ3VrcmFpbmlhbicsICdVQSddLFxuICAgICAgICBbJ3ZpZXRuYW1lc2UnLCAnVk4nXSxcbiAgICBdKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBuYW1lczogVHVpTGFuZ3VhZ2VOYW1lW10gPSBBcnJheS5mcm9tKHRoaXMuZmxhZ3Mua2V5cygpKTtcblxuICAgIHB1YmxpYyBzZXRMYW5nKGxhbmc6IFR1aUxhbmd1YWdlTmFtZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmxhbmd1YWdlLnNldFZhbHVlKGxhbmcpO1xuICAgICAgICB0aGlzLnN3aXRjaGVyLnNldExhbmd1YWdlKGxhbmcpO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNhcGl0YWxpemUodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3ZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7dmFsdWUuc2xpY2UoMSl9YDtcbn1cbiIsIjx0dWktYmFkZ2VkLWNvbnRlbnQ+XG4gICAgPGltZ1xuICAgICAgICBhbHQ9XCJcIlxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIHR1aUJhZGdlXG4gICAgICAgIHR1aVNsb3Q9XCJib3R0b21cIlxuICAgICAgICBbc3JjXT1cImZsYWdzLmdldChsYW5ndWFnZS52YWx1ZSA/PyAnJykgfHwgZmxhZ3MuZ2V0KHN3aXRjaGVyLmxhbmd1YWdlKSB8IHR1aUZsYWdcIlxuICAgIC8+XG5cbiAgICA8YnV0dG9uXG4gICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lLWdyYXlzY2FsZVwiXG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgdHVpQnV0dG9uU2VsZWN0XG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJsYW5ndWFnZVwiXG4gICAgICAgIFtpY29uU3RhcnRdPVwiaWNvbnMubGFuZ3VhZ2VzXCJcbiAgICA+XG4gICAgICAgIExhbmd1YWdlXG4gICAgICAgIDx0dWktZGF0YS1saXN0ICp0dWlUZXh0ZmllbGREcm9wZG93bj5cbiAgICAgICAgICAgIDx0dWktb3B0LWdyb3VwIGxhYmVsPVwiTGFuZ3VhZ2Ugb2YgY29tcG9uZW50c1wiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5hbWUgb2YgbmFtZXNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJuYW1lIHwgdGl0bGVjYXNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNldExhbmcobmFtZSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiZmxhZ3MuZ2V0KG5hbWUpIHwgdHVpRmxhZ1wiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIHt7IG5hbWUgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdHVpLW9wdC1ncm91cD5cbiAgICAgICAgPC90dWktZGF0YS1saXN0PlxuICAgIDwvYnV0dG9uPlxuPC90dWktYmFkZ2VkLWNvbnRlbnQ+XG4iXX0=