@taiga-ui/addon-doc 3.14.0 → 3.15.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.
Files changed (28) hide show
  1. package/bundles/taiga-ui-addon-doc.umd.js +143 -128
  2. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  3. package/components/documentation/documentation.component.d.ts +5 -3
  4. package/components/documentation/documentation.module.d.ts +2 -1
  5. package/esm2015/components/code/code.component.js +7 -7
  6. package/esm2015/components/copy/copy.component.js +4 -4
  7. package/esm2015/components/demo/demo.component.js +11 -11
  8. package/esm2015/components/documentation/documentation-property-connector.directive.js +11 -11
  9. package/esm2015/components/documentation/documentation.component.js +33 -27
  10. package/esm2015/components/documentation/documentation.module.js +6 -2
  11. package/esm2015/components/example/example.component.js +11 -11
  12. package/esm2015/components/language-switcher/language-switcher.component.js +18 -18
  13. package/esm2015/components/main/main.component.js +10 -10
  14. package/esm2015/components/navigation/navigation.component.js +19 -19
  15. package/esm2015/components/page/page-tab.directive.js +2 -2
  16. package/esm2015/components/page/page.component.js +12 -12
  17. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  18. package/esm2015/internal/header/header.component.js +5 -5
  19. package/esm2015/internal/input-opacity/input-opacity.directive.js +3 -3
  20. package/esm2015/internal/see-also/see-also.component.js +6 -6
  21. package/esm2015/internal/source-code/source-code.component.js +7 -7
  22. package/esm2015/public-api.js +2 -1
  23. package/esm2015/tokens/excluded-properties.js +6 -0
  24. package/fesm2015/taiga-ui-addon-doc.js +143 -130
  25. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  26. package/package.json +6 -6
  27. package/public-api.d.ts +1 -0
  28. package/tokens/excluded-properties.d.ts +3 -0
@@ -3,6 +3,7 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren,
3
3
  import { EMPTY_QUERY, TuiDestroyService, tuiHexToRgb, tuiItemsQueryListObservable, tuiWatch, } from '@taiga-ui/cdk';
4
4
  import { merge } from 'rxjs';
5
5
  import { switchMap, takeUntil } from 'rxjs/operators';
6
+ import { TUI_DOC_EXCLUDED_PROPERTIES } from '../../tokens/excluded-properties';
6
7
  import { TUI_DOC_DOCUMENTATION_TEXTS } from '../../tokens/i18n';
7
8
  import { TuiDocDocumentationPropertyConnectorDirective } from './documentation-property-connector.directive';
8
9
  import { TuiGetOpacityPipe } from './pipes/opacity.pipe';
@@ -13,29 +14,31 @@ import * as i2 from "@taiga-ui/core";
13
14
  import * as i3 from "@angular/common";
14
15
  import * as i4 from "@angular/forms";
15
16
  import * as i5 from "../../internal/input-opacity/input-opacity.directive";
16
- import * as i6 from "./pipes/strip-optional.pipe";
17
- import * as i7 from "./pipes/optional.pipe";
18
- import * as i8 from "./pipes/content-tooltip.pipe";
19
- import * as i9 from "./pipes/cleaner.pipe";
20
- import * as i10 from "./pipes/inspect.pipe";
21
- import * as i11 from "./pipes/opacity.pipe";
22
- import * as i12 from "./pipes/\u0441olor.pipe";
23
- import * as i13 from "./pipes/primitive-polymorpheus-content.pipe";
24
- import * as i14 from "@taiga-ui/cdk";
17
+ import * as i6 from "@taiga-ui/cdk";
18
+ import * as i7 from "./pipes/strip-optional.pipe";
19
+ import * as i8 from "./pipes/optional.pipe";
20
+ import * as i9 from "./pipes/content-tooltip.pipe";
21
+ import * as i10 from "./pipes/cleaner.pipe";
22
+ import * as i11 from "./pipes/inspect.pipe";
23
+ import * as i12 from "./pipes/opacity.pipe";
24
+ import * as i13 from "./pipes/\u0441olor.pipe";
25
+ import * as i14 from "./pipes/primitive-polymorpheus-content.pipe";
25
26
  // @bad TODO subscribe propertiesConnectors changes
26
27
  // @bad TODO refactor to make more flexible
27
28
  export class TuiDocDocumentationComponent {
28
- constructor(changeDetectorRef, texts, destroy$, getColor, getOpacity) {
29
+ constructor(changeDetectorRef, texts, excludedProperties, destroy$, getColor, getOpacity) {
29
30
  this.changeDetectorRef = changeDetectorRef;
30
31
  this.texts = texts;
32
+ this.excludedProperties = excludedProperties;
31
33
  this.destroy$ = destroy$;
32
34
  this.getColor = getColor;
33
35
  this.getOpacity = getOpacity;
34
- this.heading = ``;
36
+ this.heading = '';
35
37
  this.showValues = true;
36
38
  this.isAPI = false;
37
39
  this.propertiesConnectors = EMPTY_QUERY;
38
40
  this.activeItemIndex = 0;
41
+ this.matcher = (item, exclusions) => !exclusions.has(item.documentationPropertyName);
39
42
  }
40
43
  ngAfterContentInit() {
41
44
  tuiItemsQueryListObservable(this.propertiesConnectors)
@@ -46,38 +49,38 @@ export class TuiDocDocumentationComponent {
46
49
  return this.isAPI ? this.texts[0] : this.texts[1];
47
50
  }
48
51
  onColorChange(connector, color) {
49
- const opacity = this.getOpacity.transform(connector.documentationPropertyValue || ``);
52
+ const opacity = this.getOpacity.transform(connector.documentationPropertyValue || '');
50
53
  if (opacity === 100) {
51
54
  connector.onValueChange(color);
52
55
  return;
53
56
  }
54
- const rgb = tuiHexToRgb(color).join(`, `);
57
+ const rgb = tuiHexToRgb(color).join(', ');
55
58
  const result = `rgba(${rgb}, ${opacity / 100})`;
56
59
  connector.onValueChange(result);
57
60
  }
58
61
  onOpacityChange(connector, opacity) {
59
- const hex = this.getColor.transform(connector.documentationPropertyValue || ``);
62
+ const hex = this.getColor.transform(connector.documentationPropertyValue || '');
60
63
  const rgb = tuiHexToRgb(hex);
61
64
  const result = `rgba(${rgb}, ${opacity / 100})`;
62
65
  connector.onValueChange(result);
63
66
  }
64
67
  }
65
- TuiDocDocumentationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_DOC_DOCUMENTATION_TEXTS }, { token: TuiDestroyService, self: true }, { token: TuiGetColorPipe }, { token: TuiGetOpacityPipe }], target: i0.ɵɵFactoryTarget.Component });
66
- TuiDocDocumentationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDocumentationComponent, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService], queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnectorDirective }], ngImport: i0, template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\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 propertiesConnectors\"\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\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"propertyConnector.documentationPropertyType | tuiShowContentTooltip\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\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 tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\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 <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n [value]=\"propertyConnector.documentationPropertyValue | tuiGetColorPipe\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n >\n <input\n tuiTextfield\n type=\"text\"\n />\n </tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"\n propertyConnector.documentationPropertyValue | tuiIsPrimitivePolymorpheusContentPipe\n \"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n", styles: [":host{display:block;min-width:100%}.t-table{width:100%;table-layout:fixed}.t-row:not(:last-child){border-bottom:1px solid var(--tui-base-03)}:host-context(tui-root._mobile) .t-row{display:flex;flex-wrap:wrap}:host-context(tui-root._mobile) .t-row_header{display:none}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-left:0}.t-cell:last-child{padding-right:0}.t-cell_prop{width:40%}.t-cell_value{text-align:right}:host-context(tui-root._mobile) .t-cell{width:100%;height:auto;padding:.5rem 0;text-align:left}.t-th{padding:.5rem 1rem;color:var(--tui-text-02);font-weight:normal;text-align:left}.t-th_value{max-width:20rem;text-align:right}:host-context(tui-root._mobile) .t-th_value{width:9.375rem}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}:host-context(tui-root._mobile) .t-property{padding:.5rem 0}.t-type{font-family:monospace}.t-deprecated{background-color:var(--tui-error-bg);box-shadow:-1rem 0 var(--tui-error-bg),1rem 0 var(--tui-error-bg)}.t-deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}.t-exception{display:block;width:-webkit-max-content;width:-moz-max-content;width:max-content}.t-output{text-align:left;opacity:0}.t-heading{font:var(--tui-font-heading-4)}\n"], components: [{ type: i1.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }, { type: i2.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }, { type: i2.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { type: i1.TuiInputCountComponent, selector: "tui-input-count", inputs: ["step", "min", "max", "hideButtons", "prefix", "postfix"] }, { type: i2.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "status"], outputs: ["close"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i1.TuiSelectDirective, selector: "tui-select" }, { type: i2.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i2.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight"] }, { type: i2.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i5.TuiInputOpacityDirective, selector: "[tuiInputOpacity]", inputs: ["tuiInputOpacity"] }, { type: i1.TuiInputCountDirective, selector: "tui-input-count" }], pipes: { "tuiStripOptionalPipe": i6.TuiStripOptionalPipe, "tuiIsOptionalPipe": i7.TuiIsOptionalPipe, "tuiShowContentTooltip": i8.TuiShowContentTooltip, "tuiShowCleanerPipe": i9.TuiShowCleanerPipe, "tuiInspectAny": i10.TuiInspectPipe, "tuiGetOpacity": i11.TuiGetOpacityPipe, "tuiGetColorPipe": i12.TuiGetColorPipe, "tuiIsPrimitivePolymorpheusContentPipe": i13.TuiIsPrimitivePolymorpheusContentPipe, "async": i3.AsyncPipe }, animations: [
67
- trigger(`emitEvent`, [
68
- transition(`:increment`, [style({ opacity: 1 }), animate(`500ms ease-in`)]),
68
+ TuiDocDocumentationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_DOC_DOCUMENTATION_TEXTS }, { token: TUI_DOC_EXCLUDED_PROPERTIES }, { token: TuiDestroyService, self: true }, { token: TuiGetColorPipe }, { token: TuiGetOpacityPipe }], target: i0.ɵɵFactoryTarget.Component });
69
+ TuiDocDocumentationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDocumentationComponent, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService], queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnectorDirective }], ngImport: i0, template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\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 $any(propertiesConnectors) | tuiFilter : matcher : excludedProperties\"\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\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"propertyConnector.documentationPropertyType | tuiShowContentTooltip\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\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 tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\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 <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n [value]=\"propertyConnector.documentationPropertyValue | tuiGetColorPipe\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n >\n <input\n tuiTextfield\n type=\"text\"\n />\n </tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"\n propertyConnector.documentationPropertyValue | tuiIsPrimitivePolymorpheusContentPipe\n \"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n", styles: [":host{display:block;min-width:100%}.t-table{width:100%;table-layout:fixed}.t-row:not(:last-child){border-bottom:1px solid var(--tui-base-03)}:host-context(tui-root._mobile) .t-row{display:flex;flex-wrap:wrap}:host-context(tui-root._mobile) .t-row_header{display:none}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-left:0}.t-cell:last-child{padding-right:0}.t-cell_prop{width:40%}.t-cell_value{text-align:right}:host-context(tui-root._mobile) .t-cell{width:100%;height:auto;padding:.5rem 0;text-align:left}.t-th{padding:.5rem 1rem;color:var(--tui-text-02);font-weight:normal;text-align:left}.t-th_value{max-width:20rem;text-align:right}:host-context(tui-root._mobile) .t-th_value{width:9.375rem}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}:host-context(tui-root._mobile) .t-property{padding:.5rem 0}.t-type{font-family:monospace}.t-deprecated{background-color:var(--tui-error-bg);box-shadow:-1rem 0 var(--tui-error-bg),1rem 0 var(--tui-error-bg)}.t-deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}.t-exception{display:block;width:-webkit-max-content;width:-moz-max-content;width:max-content}.t-output{text-align:left;opacity:0}.t-heading{font:var(--tui-font-heading-4)}\n"], components: [{ type: i1.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }, { type: i2.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }, { type: i2.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { type: i1.TuiInputCountComponent, selector: "tui-input-count", inputs: ["step", "min", "max", "hideButtons", "prefix", "postfix"] }, { type: i2.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "status"], outputs: ["close"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i1.TuiSelectDirective, selector: "tui-select" }, { type: i2.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i2.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { type: i2.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i5.TuiInputOpacityDirective, selector: "[tuiInputOpacity]", inputs: ["tuiInputOpacity"] }, { type: i1.TuiInputCountDirective, selector: "tui-input-count" }], pipes: { "tuiFilter": i6.TuiFilterPipe, "tuiStripOptionalPipe": i7.TuiStripOptionalPipe, "tuiIsOptionalPipe": i8.TuiIsOptionalPipe, "tuiShowContentTooltip": i9.TuiShowContentTooltip, "tuiShowCleanerPipe": i10.TuiShowCleanerPipe, "tuiInspectAny": i11.TuiInspectPipe, "tuiGetOpacity": i12.TuiGetOpacityPipe, "tuiGetColorPipe": i13.TuiGetColorPipe, "tuiIsPrimitivePolymorpheusContentPipe": i14.TuiIsPrimitivePolymorpheusContentPipe, "async": i3.AsyncPipe }, animations: [
70
+ trigger('emitEvent', [
71
+ transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
69
72
  ]),
70
73
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationComponent, decorators: [{
72
75
  type: Component,
73
76
  args: [{
74
- selector: `tui-doc-documentation`,
75
- templateUrl: `./documentation.template.html`,
76
- styleUrls: [`./documentation.style.less`],
77
+ selector: 'tui-doc-documentation',
78
+ templateUrl: './documentation.template.html',
79
+ styleUrls: ['./documentation.style.less'],
77
80
  changeDetection: ChangeDetectionStrategy.OnPush,
78
81
  animations: [
79
- trigger(`emitEvent`, [
80
- transition(`:increment`, [style({ opacity: 1 }), animate(`500ms ease-in`)]),
82
+ trigger('emitEvent', [
83
+ transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
81
84
  ]),
82
85
  ],
83
86
  providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService],
@@ -88,15 +91,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
88
91
  }] }, { type: undefined, decorators: [{
89
92
  type: Inject,
90
93
  args: [TUI_DOC_DOCUMENTATION_TEXTS]
91
- }] }, { type: i14.TuiDestroyService, decorators: [{
94
+ }] }, { type: Set, decorators: [{
95
+ type: Inject,
96
+ args: [TUI_DOC_EXCLUDED_PROPERTIES]
97
+ }] }, { type: i6.TuiDestroyService, decorators: [{
92
98
  type: Self
93
99
  }, {
94
100
  type: Inject,
95
101
  args: [TuiDestroyService]
96
- }] }, { type: i12.TuiGetColorPipe, decorators: [{
102
+ }] }, { type: i13.TuiGetColorPipe, decorators: [{
97
103
  type: Inject,
98
104
  args: [TuiGetColorPipe]
99
- }] }, { type: i11.TuiGetOpacityPipe, decorators: [{
105
+ }] }, { type: i12.TuiGetOpacityPipe, decorators: [{
100
106
  type: Inject,
101
107
  args: [TuiGetOpacityPipe]
102
108
  }] }]; }, propDecorators: { heading: [{
@@ -109,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
109
115
  type: ContentChildren,
110
116
  args: [TuiDocDocumentationPropertyConnectorDirective]
111
117
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUVMLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsMkJBQTJCLEVBQzNCLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRW5ELG1EQUFtRDtBQUNuRCwyQ0FBMkM7QUFhM0MsTUFBTSxPQUFPLDRCQUE0QjtJQWdCckMsWUFDZ0Qs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QVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsV0FBVyxFQUFFLCtCQUErQjtvQkFDNUMsU0FBUyxFQUFFLENBQUMsNEJBQTRCLENBQUM7b0JBQ3pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUU7d0JBQ1IsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDakIsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO3lCQUM1RSxDQUFDO3FCQUNMO29CQUNELFNBQVMsRUFBRSxDQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsQ0FBQztpQkFDckU7OzBCQWtCUSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsMkJBQTJCOzswQkFFbEMsSUFBSTs7MEJBQ0osTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUV4QixNQUFNOzJCQUFDLGVBQWU7OzBCQUV0QixNQUFNOzJCQUFDLGlCQUFpQjs0Q0F2QjdCLE9BQU87c0JBRE4sS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLG9CQUFvQjtzQkFEbkIsZUFBZTt1QkFBQyw2Q0FBNkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FuaW1hdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aUhleFRvUmdiLFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICB0dWlXYXRjaCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFN9IGZyb20gJy4uLy4uL3Rva2Vucy9pMThuJztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2RvY3VtZW50YXRpb24tcHJvcGVydHktY29ubmVjdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUdldE9wYWNpdHlQaXBlfSBmcm9tICcuL3BpcGVzL29wYWNpdHkucGlwZSc7XG5pbXBvcnQge1R1aUdldENvbG9yUGlwZX0gZnJvbSAnLi9waXBlcy/RgW9sb3IucGlwZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IGB0dWktZG9jLWRvY3VtZW50YXRpb25gLFxuICAgIHRlbXBsYXRlVXJsOiBgLi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWxgLFxuICAgIHN0eWxlVXJsczogW2AuL2RvY3VtZW50YXRpb24uc3R5bGUubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcihgZW1pdEV2ZW50YCwgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbihgOmluY3JlbWVudGAsIFtzdHlsZSh7b3BhY2l0eTogMX0pLCBhbmltYXRlKGA1MDBtcyBlYXNlLWluYCldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtUdWlHZXRDb2xvclBpcGUsIFR1aUdldE9wYWNpdHlQaXBlLCBUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RvY3VtZW50YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIGhlYWRpbmcgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd1ZhbHVlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGlzQVBJID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZSlcbiAgICBwcm9wZXJ0aWVzQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxhbnk+PiA9XG4gICAgICAgIEVNUFRZX1FVRVJZO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KFR1aUdldENvbG9yUGlwZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBnZXRDb2xvcjogVHVpR2V0Q29sb3JQaXBlLFxuICAgICAgICBASW5qZWN0KFR1aUdldE9wYWNpdHlQaXBlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGdldE9wYWNpdHk6IFR1aUdldE9wYWNpdHlQaXBlLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMucHJvcGVydGllc0Nvbm5lY3RvcnMpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoaXRlbXMgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKCh7Y2hhbmdlZCR9KSA9PiBjaGFuZ2VkJCkpKSxcbiAgICAgICAgICAgICAgICB0dWlXYXRjaCh0aGlzLmNoYW5nZURldGVjdG9yUmVmKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBUEkgPyB0aGlzLnRleHRzWzBdIDogdGhpcy50ZXh0c1sxXTtcbiAgICB9XG5cbiAgICBvbkNvbG9yQ2hhbmdlKFxuICAgICAgICBjb25uZWN0b3I6IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxzdHJpbmc+LFxuICAgICAgICBjb2xvcjogc3RyaW5nLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBvcGFjaXR5ID0gdGhpcy5nZXRPcGFjaXR5LnRyYW5zZm9ybShcbiAgICAgICAgICAgIGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCBgYCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAob3BhY2l0eSA9PT0gMTAwKSB7XG4gICAgICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShjb2xvcik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJnYiA9IHR1aUhleFRvUmdiKGNvbG9yKS5qb2luKGAsIGApO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cblxuICAgIG9uT3BhY2l0eUNoYW5nZShcbiAgICAgICAgY29ubmVjdG9yOiBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8c3RyaW5nPixcbiAgICAgICAgb3BhY2l0eTogbnVtYmVyLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZXggPSB0aGlzLmdldENvbG9yLnRyYW5zZm9ybShjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgYGApO1xuICAgICAgICBjb25zdCByZ2IgPSB0dWlIZXhUb1JnYihoZXgpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cbn1cbiIsIjxoMVxuICAgICpuZ0lmPVwiaGVhZGluZ1wiXG4gICAgY2xhc3M9XCJ0LWhlYWRpbmdcIlxuPlxuICAgIHt7IGhlYWRpbmcgfX1cbjwvaDE+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48dGFibGUgY2xhc3M9XCJ0LXRhYmxlXCI+XG4gICAgPHRyIGNsYXNzPVwidC1yb3cgdC1yb3dfaGVhZGVyXCI+XG4gICAgICAgIDx0aCBjbGFzcz1cInQtdGggdC1jZWxsIHQtY2VsbF9wcm9wXCI+e3sgdGV4dHNbMl0gfX08L3RoPlxuICAgICAgICA8dGggY2xhc3M9XCJ0LXRoXCI+e3sgdHlwZSB9fTwvdGg+XG4gICAgICAgIDx0aFxuICAgICAgICAgICAgKm5nSWY9XCJzaG93VmFsdWVzICYmICFpc0FQSVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGggdC1jZWxsIHQtdGhfdmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyB0ZXh0c1szXSB9fVxuICAgICAgICA8L3RoPlxuICAgIDwvdHI+XG4gICAgPHRyXG4gICAgICAgICpuZ0Zvcj1cImxldCBwcm9wZXJ0eUNvbm5lY3RvciBvZiBwcm9wZXJ0aWVzQ29ubmVjdG9yc1wiXG4gICAgICAgIGNsYXNzPVwidC1yb3dcIlxuICAgICAgICBbY2xhc3MudC1kZXByZWNhdGVkXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eURlcHJlY2F0ZWRcIlxuICAgID5cbiAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsXCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kb2N1bWVudGF0aW9uX19wcm9wZXJ0eS1uYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtcHJvcGVydHlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lIHwgdHVpU3RyaXBPcHRpb25hbFBpcGUgfX1cbiAgICAgICAgICAgICAgICA8dHVpLWJhZGdlXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWUgfCB0dWlJc09wdGlvbmFsUGlwZVwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJPcHRpb25hbFwiXG4gICAgICAgICAgICAgICAgPjwvdHVpLWJhZGdlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5RGVwcmVjYXRlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRlcHJlY2F0ZWQtbGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIGRlcHJlY2F0ZWRcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvcGVydHlDb25uZWN0b3IudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR5cGVcIj5cbiAgICAgICAgICAgICAgICB7eyBwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlIH19XG4gICAgICAgICAgICAgICAgPHR1aS10b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSB8IHR1aVNob3dDb250ZW50VG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgIFtkZXNjcmliZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRlbnRdPVwiY29udGVudFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB0ZXh0c1s0XSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTW9kZT1cIm9uRGFya1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiaHR0cHM6Ly9naXRodWIuY29tL3RpbmtvZmYvbmctcG9seW1vcnBoZXVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y29kZT5uZy1wb2x5bW9ycGhldXM8L2NvZGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90dWktdG9vbHRpcD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkXG4gICAgICAgICAgICAqbmdJZj1cInNob3dWYWx1ZXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNlbGwgdC1jZWxsX3ZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLnNob3VsZFNob3dWYWx1ZXM7IGVsc2UgZWxzZUVtaXR0ZXJcIj5cbiAgICAgICAgICAgICAgICA8dHVpLXNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInByb3BlcnR5Q29ubmVjdG9yLmhhc0l0ZW1zOyBlbHNlIG5vSXRlbXNcIlxuICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgIHR1aURyb3Bkb3duTGltaXRXaWR0aD1cIm1pblwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgfCB0dWlTaG93Q2xlYW5lclBpcGVcIlxuICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbbmF0aXZlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVDb250ZW50XT1cInNlbGVjdENvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Y29kZSBjbGFzcz1cInQtZXhjZXB0aW9uXCI+bnVsbDwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtQ29udGVudF09XCJzZWxlY3RDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdHVpLWRhdGEtbGlzdC13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgI3NlbGVjdENvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgbGV0LWRhdGFcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxjb2RlPnt7IGRhdGEgfCB0dWlJbnNwZWN0QW55IH19PC9jb2RlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dJY29uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS10b2dnbGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3RyaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NvbG9yJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlJbnB1dE9wYWNpdHldPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfCB0dWlHZXRPcGFjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHwgdHVpR2V0Q29sb3JQaXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ29sb3JDaGFuZ2UocHJvcGVydHlDb25uZWN0b3IsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaW5wdXQtY291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHwgdHVpR2V0T3BhY2l0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uT3BhY2l0eUNoYW5nZShwcm9wZXJ0eUNvbm5lY3RvciwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcGFjaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktaW5wdXQtY291bnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pbnB1dC1jb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS1pbnB1dC1jb3VudD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1BvbHltb3JwaGV1c0NvbnRlbnQnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8IHR1aUlzUHJpbWl0aXZlUG9seW1vcnBoZXVzQ29udGVudFBpcGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmF0aXZlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VFbWl0dGVyPlxuICAgICAgICAgICAgICAgIDx0dWktbm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1vdXRwdXRcIlxuICAgICAgICAgICAgICAgICAgICBbQGVtaXRFdmVudF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5lbWl0cyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBFbWl0IVxuICAgICAgICAgICAgICAgIDwvdHVpLW5vdGlmaWNhdGlvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGQ+XG4gICAgPC90cj5cbjwvdGFibGU+XG4iXX0=
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUVMLElBQUksR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsMkJBQTJCLEVBRTNCLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzNCLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBRW5ELG1EQUFtRDtBQUNu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aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHR1aUhleFRvUmdiLFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICBUdWlNYXRjaGVyLFxuICAgIHR1aVdhdGNoLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzd2l0Y2hNYXAsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1RVSV9ET0NfRVhDTFVERURfUFJPUEVSVElFU30gZnJvbSAnLi4vLi4vdG9rZW5zL2V4Y2x1ZGVkLXByb3BlcnRpZXMnO1xuaW1wb3J0IHtUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFN9IGZyb20gJy4uLy4uL3Rva2Vucy9pMThuJztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2RvY3VtZW50YXRpb24tcHJvcGVydHktY29ubmVjdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUdldE9wYWNpdHlQaXBlfSBmcm9tICcuL3BpcGVzL29wYWNpdHkucGlwZSc7XG5pbXBvcnQge1R1aUdldENvbG9yUGlwZX0gZnJvbSAnLi9waXBlcy/RgW9sb3IucGlwZSc7XG5cbi8vIEBiYWQgVE9ETyBzdWJzY3JpYmUgcHJvcGVydGllc0Nvbm5lY3RvcnMgY2hhbmdlc1xuLy8gQGJhZCBUT0RPIHJlZmFjdG9yIHRvIG1ha2UgbW9yZSBmbGV4aWJsZVxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWRvY3VtZW50YXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudGF0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RvY3VtZW50YXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignZW1pdEV2ZW50JywgW1xuICAgICAgICAgICAgdHJhbnNpdGlvbignOmluY3JlbWVudCcsIFtzdHlsZSh7b3BhY2l0eTogMX0pLCBhbmltYXRlKCc1MDBtcyBlYXNlLWluJyldKSxcbiAgICAgICAgXSksXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtUdWlHZXRDb2xvclBpcGUsIFR1aUdldE9wYWNpdHlQaXBlLCBUdWlEZXN0cm95U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RvY3VtZW50YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIGhlYWRpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd1ZhbHVlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGlzQVBJID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZSlcbiAgICBwcm9wZXJ0aWVzQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxhbnk+PiA9XG4gICAgICAgIEVNUFRZX1FVRVJZO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhDTFVERURfUFJPUEVSVElFUylcbiAgICAgICAgcmVhZG9ubHkgZXhjbHVkZWRQcm9wZXJ0aWVzOiBTZXQ8c3RyaW5nPixcbiAgICAgICAgQFNlbGYoKVxuICAgICAgICBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChUdWlHZXRDb2xvclBpcGUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZ2V0Q29sb3I6IFR1aUdldENvbG9yUGlwZSxcbiAgICAgICAgQEluamVjdChUdWlHZXRPcGFjaXR5UGlwZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBnZXRPcGFjaXR5OiBUdWlHZXRPcGFjaXR5UGlwZSxcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSh0aGlzLnByb3BlcnRpZXNDb25uZWN0b3JzKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKGl0ZW1zID0+IG1lcmdlKC4uLml0ZW1zLm1hcCgoe2NoYW5nZWQkfSkgPT4gY2hhbmdlZCQpKSksXG4gICAgICAgICAgICAgICAgdHVpV2F0Y2godGhpcy5jaGFuZ2VEZXRlY3RvclJlZiksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdldCB0eXBlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzQVBJID8gdGhpcy50ZXh0c1swXSA6IHRoaXMudGV4dHNbMV07XG4gICAgfVxuXG4gICAgbWF0Y2hlcjogVHVpTWF0Y2hlcjxUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8YW55Pj4gPSAoXG4gICAgICAgIGl0ZW06IFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxhbnk+LFxuICAgICAgICBleGNsdXNpb25zOiBTZXQ8c3RyaW5nPixcbiAgICApID0+ICFleGNsdXNpb25zLmhhcyhpdGVtLmRvY3VtZW50YXRpb25Qcm9wZXJ0eU5hbWUpO1xuXG4gICAgb25Db2xvckNoYW5nZShcbiAgICAgICAgY29ubmVjdG9yOiBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8c3RyaW5nPixcbiAgICAgICAgY29sb3I6IHN0cmluZyxcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3BhY2l0eSA9IHRoaXMuZ2V0T3BhY2l0eS50cmFuc2Zvcm0oXG4gICAgICAgICAgICBjb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJycsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG9wYWNpdHkgPT09IDEwMCkge1xuICAgICAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoY29sb3IpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZ2IgPSB0dWlIZXhUb1JnYihjb2xvcikuam9pbignLCAnKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYHJnYmEoJHtyZ2J9LCAke29wYWNpdHkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICBvbk9wYWNpdHlDaGFuZ2UoXG4gICAgICAgIGNvbm5lY3RvcjogVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlPHN0cmluZz4sXG4gICAgICAgIG9wYWNpdHk6IG51bWJlcixcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGV4ID0gdGhpcy5nZXRDb2xvci50cmFuc2Zvcm0oY29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHx8ICcnKTtcbiAgICAgICAgY29uc3QgcmdiID0gdHVpSGV4VG9SZ2IoaGV4KTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYHJnYmEoJHtyZ2J9LCAke29wYWNpdHkgLyAxMDB9KWA7XG5cbiAgICAgICAgY29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UocmVzdWx0KTtcbiAgICB9XG59XG4iLCI8aDFcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbj5cbiAgICB7eyBoZWFkaW5nIH19XG48L2gxPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPHRhYmxlIGNsYXNzPVwidC10YWJsZVwiPlxuICAgIDx0ciBjbGFzcz1cInQtcm93IHQtcm93X2hlYWRlclwiPlxuICAgICAgICA8dGggY2xhc3M9XCJ0LXRoIHQtY2VsbCB0LWNlbGxfcHJvcFwiPnt7IHRleHRzWzJdIH19PC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwidC10aFwiPnt7IHR5cGUgfX08L3RoPlxuICAgICAgICA8dGhcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlcyAmJiAhaXNBUElcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRoIHQtY2VsbCB0LXRoX3ZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdGV4dHNbM10gfX1cbiAgICAgICAgPC90aD5cbiAgICA8L3RyPlxuICAgIDx0clxuICAgICAgICAqbmdGb3I9XCJsZXQgcHJvcGVydHlDb25uZWN0b3Igb2YgJGFueShwcm9wZXJ0aWVzQ29ubmVjdG9ycykgfCB0dWlGaWx0ZXIgOiBtYXRjaGVyIDogZXhjbHVkZWRQcm9wZXJ0aWVzXCJcbiAgICAgICAgY2xhc3M9XCJ0LXJvd1wiXG4gICAgICAgIFtjbGFzcy50LWRlcHJlY2F0ZWRdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5RGVwcmVjYXRlZFwiXG4gICAgPlxuICAgICAgICA8dGQgY2xhc3M9XCJ0LWNlbGxcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvY3VtZW50YXRpb25fX3Byb3BlcnR5LW5hbWVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1wcm9wZXJ0eVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgcHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWUgfCB0dWlTdHJpcE9wdGlvbmFsUGlwZSB9fVxuICAgICAgICAgICAgICAgIDx0dWktYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZSB8IHR1aUlzT3B0aW9uYWxQaXBlXCJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cIk9wdGlvbmFsXCJcbiAgICAgICAgICAgICAgICA+PC90dWktYmFkZ2U+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZGVwcmVjYXRlZC1sYWJlbFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgZGVwcmVjYXRlZFxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJwcm9wZXJ0eUNvbm5lY3Rvci50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJ0LWNlbGxcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHlwZVwiPlxuICAgICAgICAgICAgICAgIHt7IHByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUgfX1cbiAgICAgICAgICAgICAgICA8dHVpLXRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlIHwgdHVpU2hvd0NvbnRlbnRUb29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaWJlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHRzWzRdIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlNb2RlPVwib25EYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vdGlua29mZi9uZy1wb2x5bW9ycGhldXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlPm5nLXBvbHltb3JwaGV1czwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3R1aS10b29sdGlwPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlc1wiXG4gICAgICAgICAgICBjbGFzcz1cInQtY2VsbCB0LWNlbGxfdmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3Iuc2hvdWxkU2hvd1ZhbHVlczsgZWxzZSBlbHNlRW1pdHRlclwiPlxuICAgICAgICAgICAgICAgIDx0dWktc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuaGFzSXRlbXM7IGVsc2Ugbm9JdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpRHJvcGRvd25MaW1pdFdpZHRoPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSB8IHR1aVNob3dDbGVhbmVyUGlwZVwiXG4gICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZUNvbnRlbnRdPVwic2VsZWN0Q29udGVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxjb2RlIGNsYXNzPVwidC1leGNlcHRpb25cIj5udWxsPC9jb2RlPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLWRhdGEtbGlzdC13cmFwcGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAqdHVpRGF0YUxpc3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1Db250ZW50XT1cInNlbGVjdENvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICA+PC90dWktZGF0YS1saXN0LXdyYXBwZXI+XG4gICAgICAgICAgICAgICAgPC90dWktc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAjc2VsZWN0Q29udGVudFxuICAgICAgICAgICAgICAgICAgICBsZXQtZGF0YVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGNvZGU+e3sgZGF0YSB8IHR1aUluc3BlY3RBbnkgfX08L2NvZGU+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9JdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2Jvb2xlYW4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwibFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hdGl2ZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0ljb25zXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXRvZ2dsZT5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzdHJpbmcnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hdGl2ZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInY29sb3InXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aUlucHV0T3BhY2l0eV09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8IHR1aUdldE9wYWNpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfCB0dWlHZXRDb2xvclBpcGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25Db2xvckNoYW5nZShwcm9wZXJ0eUNvbm5lY3RvciwgJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1pbnB1dC1jb3VudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXhdPVwiMTAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfCB0dWlHZXRPcGFjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25PcGFjaXR5Q2hhbmdlKHByb3BlcnR5Q29ubmVjdG9yLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wYWNpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1pbnB1dC1jb3VudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWlucHV0LWNvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hdGl2ZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLWlucHV0LWNvdW50PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInUG9seW1vcnBoZXVzQ29udGVudCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHwgdHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90dWktcHJpbWl0aXZlLXRleHRmaWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUVtaXR0ZXI+XG4gICAgICAgICAgICAgICAgPHR1aS1ub3RpZmljYXRpb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LW91dHB1dFwiXG4gICAgICAgICAgICAgICAgICAgIFtAZW1pdEV2ZW50XT1cInByb3BlcnR5Q29ubmVjdG9yLmVtaXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIEVtaXQhXG4gICAgICAgICAgICAgICAgPC90dWktbm90aWZpY2F0aW9uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90ZD5cbiAgICA8L3RyPlxuPC90YWJsZT5cbiJdfQ==
@@ -2,6 +2,7 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { RouterModule } from '@angular/router';
5
+ import { TuiFilterPipeModule } from '@taiga-ui/cdk';
5
6
  import { TuiDataListModule, TuiDropdownModule, TuiGroupModule, TuiLinkModule, TuiModeModule, TuiNotificationModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTooltipModule, } from '@taiga-ui/core';
6
7
  import { TuiBadgeModule, TuiDataListWrapperModule, TuiInputCountModule, TuiSelectModule, TuiToggleModule, } from '@taiga-ui/kit';
7
8
  import { TuiInputOpacityModule } from '../../internal/input-opacity/input-opacity.module';
@@ -45,7 +46,8 @@ TuiDocDocumentationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0
45
46
  TuiDropdownModule,
46
47
  TuiDataListModule,
47
48
  TuiDataListWrapperModule,
48
- TuiNotificationModule], exports: [TuiDocDocumentationComponent,
49
+ TuiNotificationModule,
50
+ TuiFilterPipeModule], exports: [TuiDocDocumentationComponent,
49
51
  TuiDocDocumentationPropertyConnectorDirective] });
50
52
  TuiDocDocumentationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationModule, imports: [[
51
53
  CommonModule,
@@ -66,6 +68,7 @@ TuiDocDocumentationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
66
68
  TuiDataListModule,
67
69
  TuiDataListWrapperModule,
68
70
  TuiNotificationModule,
71
+ TuiFilterPipeModule,
69
72
  ]] });
70
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationModule, decorators: [{
71
74
  type: NgModule,
@@ -89,6 +92,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
89
92
  TuiDataListModule,
90
93
  TuiDataListWrapperModule,
91
94
  TuiNotificationModule,
95
+ TuiFilterPipeModule,
92
96
  ],
93
97
  declarations: [
94
98
  TuiInspectPipe,
@@ -108,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
108
112
  ],
109
113
  }]
110
114
  }] });
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQXdDbkQsTUFBTSxPQUFPLHlCQUF5Qjs7dUhBQXpCLHlCQUF5Qjt3SEFBekIseUJBQXlCLGlCQWhCOUIsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLDRCQUE0QjtRQUM1QixxQ0FBcUM7UUFDckMsNkNBQTZDLGFBN0I3QyxZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsY0FBYztRQUNkLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLHFCQUFxQixhQWVyQiw0QkFBNEI7UUFDNUIsNkNBQTZDO3dIQUd4Qyx5QkFBeUIsWUFyQ3pCO1lBQ0wsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixxQkFBcUI7U0FDeEI7NEZBa0JRLHlCQUF5QjtrQkF0Q3JDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1QixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3hCO29CQUNELFlBQVksRUFBRTt3QkFDVixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIscUNBQXFDO3dCQUNyQyw2Q0FBNkM7cUJBQ2hEO29CQUNELE9BQU8sRUFBRTt3QkFDTCw0QkFBNEI7d0JBQzVCLDZDQUE2QztxQkFDaEQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgIFR1aURyb3Bkb3duTW9kdWxlLFxuICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgVHVpTW9kZU1vZHVsZSxcbiAgICBUdWlOb3RpZmljYXRpb25Nb2R1bGUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgVHVpVG9vbHRpcE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlCYWRnZU1vZHVsZSxcbiAgICBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUsXG4gICAgVHVpSW5wdXRDb3VudE1vZHVsZSxcbiAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgVHVpVG9nZ2xlTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHtUdWlJbnB1dE9wYWNpdHlNb2R1bGV9IGZyb20gJy4uLy4uL2ludGVybmFsL2lucHV0LW9wYWNpdHkvaW5wdXQtb3BhY2l0eS5tb2R1bGUnO1xuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2RvY3VtZW50YXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2RvY3VtZW50YXRpb24tcHJvcGVydHktY29ubmVjdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVNob3dDbGVhbmVyUGlwZX0gZnJvbSAnLi9waXBlcy9jbGVhbmVyLnBpcGUnO1xuaW1wb3J0IHtUdWlTaG93Q29udGVudFRvb2x0aXB9IGZyb20gJy4vcGlwZXMvY29udGVudC10b29sdGlwLnBpcGUnO1xuaW1wb3J0IHtUdWlJbnNwZWN0UGlwZX0gZnJvbSAnLi9waXBlcy9pbnNwZWN0LnBpcGUnO1xuaW1wb3J0IHtUdWlHZXRPcGFjaXR5UGlwZX0gZnJvbSAnLi9waXBlcy9vcGFjaXR5LnBpcGUnO1xuaW1wb3J0IHtUdWlJc09wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZX0gZnJvbSAnLi9waXBlcy9wcmltaXRpdmUtcG9seW1vcnBoZXVzLWNvbnRlbnQucGlwZSc7XG5pbXBvcnQge1R1aVN0cmlwT3B0aW9uYWxQaXBlfSBmcm9tICcuL3BpcGVzL3N0cmlwLW9wdGlvbmFsLnBpcGUnO1xuaW1wb3J0IHtUdWlHZXRDb2xvclBpcGV9IGZyb20gJy4vcGlwZXMv0YFvbG9yLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUdWlCYWRnZU1vZHVsZSxcbiAgICAgICAgVHVpU2VsZWN0TW9kdWxlLFxuICAgICAgICBUdWlUb2dnbGVNb2R1bGUsXG4gICAgICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0Q291bnRNb2R1bGUsXG4gICAgICAgIFR1aU1vZGVNb2R1bGUsXG4gICAgICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE9wYWNpdHlNb2R1bGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgICAgICBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUsXG4gICAgICAgIFR1aU5vdGlmaWNhdGlvbk1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlJbnNwZWN0UGlwZSxcbiAgICAgICAgVHVpR2V0Q29sb3JQaXBlLFxuICAgICAgICBUdWlHZXRPcGFjaXR5UGlwZSxcbiAgICAgICAgVHVpSXNPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVNob3dDbGVhbmVyUGlwZSxcbiAgICAgICAgVHVpU3RyaXBPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVNob3dDb250ZW50VG9vbHRpcCxcbiAgICAgICAgVHVpRG9jRG9jdW1lbnRhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgVHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZSxcbiAgICAgICAgVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50LFxuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRG9jdW1lbnRhdGlvbk1vZHVsZSB7fVxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsYUFBYSxFQUNiLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1QixnQkFBZ0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFDeEYsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBQyxxQ0FBcUMsRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQzs7QUF5Q25ELE1BQU0sT0FBTyx5QkFBeUI7O3VIQUF6Qix5QkFBeUI7d0hBQXpCLHlCQUF5QixpQkFoQjlCLGNBQWM7UUFDZCxlQUFlO1FBQ2YsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsb0JBQW9CO1FBQ3BCLHFCQUFxQjtRQUNyQiw0QkFBNEI7UUFDNUIscUNBQXFDO1FBQ3JDLDZDQUE2QyxhQTlCN0MsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLGVBQWU7UUFDZixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGNBQWM7UUFDZCxxQkFBcUI7UUFDckIsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsbUJBQW1CLGFBZW5CLDRCQUE0QjtRQUM1Qiw2Q0FBNkM7d0hBR3hDLHlCQUF5QixZQXRDekI7WUFDTCxZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7WUFDWixjQUFjO1lBQ2QsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsY0FBYztZQUNkLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IsNEJBQTRCO1lBQzVCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQixtQkFBbUI7U0FDdEI7NEZBa0JRLHlCQUF5QjtrQkF2Q3JDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1QixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLG1CQUFtQjtxQkFDdEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjt3QkFDckIsNEJBQTRCO3dCQUM1QixxQ0FBcUM7d0JBQ3JDLDZDQUE2QztxQkFDaEQ7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDRCQUE0Qjt3QkFDNUIsNkNBQTZDO3FCQUNoRDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VHVpRmlsdGVyUGlwZU1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgIFR1aURyb3Bkb3duTW9kdWxlLFxuICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgVHVpTW9kZU1vZHVsZSxcbiAgICBUdWlOb3RpZmljYXRpb25Nb2R1bGUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgVHVpVG9vbHRpcE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlCYWRnZU1vZHVsZSxcbiAgICBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUsXG4gICAgVHVpSW5wdXRDb3VudE1vZHVsZSxcbiAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgVHVpVG9nZ2xlTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHtUdWlJbnB1dE9wYWNpdHlNb2R1bGV9IGZyb20gJy4uLy4uL2ludGVybmFsL2lucHV0LW9wYWNpdHkvaW5wdXQtb3BhY2l0eS5tb2R1bGUnO1xuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2RvY3VtZW50YXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2RvY3VtZW50YXRpb24tcHJvcGVydHktY29ubmVjdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVNob3dDbGVhbmVyUGlwZX0gZnJvbSAnLi9waXBlcy9jbGVhbmVyLnBpcGUnO1xuaW1wb3J0IHtUdWlTaG93Q29udGVudFRvb2x0aXB9IGZyb20gJy4vcGlwZXMvY29udGVudC10b29sdGlwLnBpcGUnO1xuaW1wb3J0IHtUdWlJbnNwZWN0UGlwZX0gZnJvbSAnLi9waXBlcy9pbnNwZWN0LnBpcGUnO1xuaW1wb3J0IHtUdWlHZXRPcGFjaXR5UGlwZX0gZnJvbSAnLi9waXBlcy9vcGFjaXR5LnBpcGUnO1xuaW1wb3J0IHtUdWlJc09wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZX0gZnJvbSAnLi9waXBlcy9wcmltaXRpdmUtcG9seW1vcnBoZXVzLWNvbnRlbnQucGlwZSc7XG5pbXBvcnQge1R1aVN0cmlwT3B0aW9uYWxQaXBlfSBmcm9tICcuL3BpcGVzL3N0cmlwLW9wdGlvbmFsLnBpcGUnO1xuaW1wb3J0IHtUdWlHZXRDb2xvclBpcGV9IGZyb20gJy4vcGlwZXMv0YFvbG9yLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUdWlCYWRnZU1vZHVsZSxcbiAgICAgICAgVHVpU2VsZWN0TW9kdWxlLFxuICAgICAgICBUdWlUb2dnbGVNb2R1bGUsXG4gICAgICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0Q291bnRNb2R1bGUsXG4gICAgICAgIFR1aU1vZGVNb2R1bGUsXG4gICAgICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE9wYWNpdHlNb2R1bGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgICAgICBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUsXG4gICAgICAgIFR1aU5vdGlmaWNhdGlvbk1vZHVsZSxcbiAgICAgICAgVHVpRmlsdGVyUGlwZU1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlJbnNwZWN0UGlwZSxcbiAgICAgICAgVHVpR2V0Q29sb3JQaXBlLFxuICAgICAgICBUdWlHZXRPcGFjaXR5UGlwZSxcbiAgICAgICAgVHVpSXNPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVNob3dDbGVhbmVyUGlwZSxcbiAgICAgICAgVHVpU3RyaXBPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVNob3dDb250ZW50VG9vbHRpcCxcbiAgICAgICAgVHVpRG9jRG9jdW1lbnRhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgVHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZSxcbiAgICAgICAgVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50LFxuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRG9jdW1lbnRhdGlvbk1vZHVsZSB7fVxuIl19
@@ -43,8 +43,8 @@ export class TuiDocExampleComponent {
43
43
  this.route = route;
44
44
  this.ngLocation = ngLocation;
45
45
  this.rawLoader$$ = new BehaviorSubject({});
46
- this.heading = ``;
47
- this.description = ``;
46
+ this.heading = '';
47
+ this.description = '';
48
48
  this.componentName = this.location.pathname.slice(1);
49
49
  this.defaultTabIndex = 0;
50
50
  this.defaultTab = this.texts[this.defaultTabIndex];
@@ -60,7 +60,7 @@ export class TuiDocExampleComponent {
60
60
  this.rawLoader$$.next(content);
61
61
  }
62
62
  copyExampleLink() {
63
- const hashPosition = this.location.href.indexOf(`#`);
63
+ const hashPosition = this.location.href.indexOf('#');
64
64
  const currentUrl = hashPosition > -1
65
65
  ? this.location.href.slice(0, Math.max(0, hashPosition))
66
66
  : this.location.href;
@@ -77,28 +77,28 @@ export class TuiDocExampleComponent {
77
77
  edit(files) {
78
78
  var _a;
79
79
  this.loading$.next(true);
80
- (_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || ``, files).finally(() => this.loading$.next(false));
80
+ (_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || '', files).finally(() => this.loading$.next(false));
81
81
  }
82
82
  setFragmentWithoutRedirect(id) {
83
83
  const url = this.router
84
- .createUrlTree([], { relativeTo: this.route, fragment: id || `` })
84
+ .createUrlTree([], { relativeTo: this.route, fragment: id || '' })
85
85
  .toString();
86
86
  this.ngLocation.go(url);
87
87
  }
88
88
  }
89
- TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: `id`, attribute: true }, { token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_CYPRESS }, { token: TUI_DOC_CODE_ACTIONS }, { token: Router }, { token: ActivatedRoute }, { token: NgLocation }], target: i0.ɵɵFactoryTarget.Component });
89
+ TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: 'id', attribute: true }, { token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_CYPRESS }, { token: TUI_DOC_CODE_ACTIONS }, { token: Router }, { token: ActivatedRoute }, { token: NgLocation }], target: i0.ɵɵFactoryTarget.Component });
90
90
  TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { heading: "heading", description: "description", content: "content", componentName: "componentName" }, ngImport: i0, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs : defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n {{ tab }}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"files | tuiMapper : visible\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\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-copy [cdkCopyToClipboard]=\"code\"></tui-doc-copy>\n </section>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:normal;margin:0}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i3.TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: i4.TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.TuiItemDirective, selector: "[tuiItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": i9.TuiDocExampleCapitalizePipe, "async": i5.AsyncPipe, "tuiDocExampleGetTabs": i10.TuiDocExampleGetTabsPipe, "tuiMapper": i7.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
92
92
  type: Component,
93
93
  args: [{
94
- selector: `tui-doc-example`,
95
- templateUrl: `./example.template.html`,
96
- styleUrls: [`./example.style.less`],
94
+ selector: 'tui-doc-example',
95
+ templateUrl: './example.template.html',
96
+ styleUrls: ['./example.style.less'],
97
97
  changeDetection: ChangeDetectionStrategy.OnPush,
98
98
  }]
99
99
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
100
100
  type: Attribute,
101
- args: [`id`]
101
+ args: ['id']
102
102
  }] }, { type: i8.Clipboard, decorators: [{
103
103
  type: Inject,
104
104
  args: [Clipboard]
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
146
146
  }], componentName: [{
147
147
  type: Input
148
148
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFFBQVEsSUFBSSxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFDLDZCQUE2QixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEw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VCxlQUFlLGFBRWYsUUFBUSxhQUNSLGNBQWMsYUFDZCxxQkFBcUIsYUFFckIsbUJBQW1CLDZCQUVuQixpQ0FBaUMsYUFLakMsY0FBYyxhQUNkLG9CQUFvQixhQUVwQixNQUFNLGFBQ04sY0FBYyxhQUNkLFVBQVU7d0dBdERiLHNCQUFzQix1S0NqQ25DLHFpR0F3R0E7NEZEdkVhLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDbkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFrQ1EsU0FBUzsyQkFBQyxJQUFJOzswQkFFZCxNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixNQUFNOzJCQUFDLGVBQWU7OEJBRXNCLFFBQVE7MEJBQXBELE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixRQUFROzswQkFDUixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLE1BQU07MkJBQUMsaUNBQWlDOzswQkFLeEMsTUFBTTsyQkFBQyxjQUFjOzhCQUVBLEtBQUs7MEJBRDFCLE1BQU07MkJBQUMsb0JBQW9COzswQkFFM0IsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFVBQVU7NENBbER0QixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlGLE9BQU87c0JBRFYsS0FBSztnQkFNTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge0xvY2F0aW9uIGFzIE5nTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfSVNfQ1lQUkVTUywgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCwgVHVpSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUFsZXJ0U2VydmljZSwgVHVpTm90aWZpY2F0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlDb2RlRWRpdG9yfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7VFVJX0VYQU1QTEVfUFJJTUFSWV9GSUxFX05BTUUsIFR1aURvY0V4YW1wbGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFnZSc7XG5pbXBvcnQge1RVSV9ET0NfQ09ERV9BQ1RJT05TfSBmcm9tICcuLi8uLi90b2tlbnMvY29kZS1hY3Rpb25zJztcbmltcG9ydCB7VFVJX0RPQ19DT0RFX0VESVRPUn0gZnJvbSAnLi4vLi4vdG9rZW5zL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SfSBmcm9tICcuLi8uLi90b2tlbnMvZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvcic7XG5pbXBvcnQge1RVSV9ET0NfRVhBTVBMRV9URVhUU30gZnJvbSAnLi4vLi4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHt0dWlSYXdMb2FkUmVjb3JkfSBmcm9tICcuLi8uLi91dGlscy9yYXctbG9hZC1yZWNvcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1kb2MtZXhhbXBsZWAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2V4YW1wbGUudGVtcGxhdGUuaHRtbGAsXG4gICAgc3R5bGVVcmxzOiBbYC4vZXhhbXBsZS5zdHlsZS5sZXNzYF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aURvY0V4YW1wbGU+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudCA9IGBgO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGVudChjb250ZW50OiBUdWlEb2NFeGFtcGxlKSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG5cbiAgICByZWFkb25seSBjb3B5JCA9IHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSk7XG5cbiAgICByZWFkb25seSBwcm9jZXNzb3IkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodHVpUmF3TG9hZFJlY29yZCksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAQXR0cmlidXRlKGBpZGApXG4gICAgICAgIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENsaXBib2FyZCkgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgQEluamVjdChUdWlBbGVydFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBUdWlBbGVydFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTE9DQVRJT04pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9DT1BZX1RFWFRTKSBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX1RFWFRTKSByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9FRElUT1IpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVFZGl0b3I6IFR1aUNvZGVFZGl0b3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzQ29udGVudDogVHVpSGFuZGxlcjxcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICAgID4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0NZUFJFU1MpIHJlYWRvbmx5IGlzQ3lwcmVzczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0NPREVfQUNUSU9OUylcbiAgICAgICAgcmVhZG9ubHkgY29kZUFjdGlvbnM6IEFycmF5PFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxzdHJpbmc+Pj4sXG4gICAgICAgIEBJbmplY3QoUm91dGVyKSBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgQEluamVjdChOZ0xvY2F0aW9uKSBwcml2YXRlIHJlYWRvbmx5IG5nTG9jYXRpb246IE5nTG9jYXRpb24sXG4gICAgKSB7fVxuXG4gICAgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbihcbiAgICAgICAgICAgIHRoaXMuY29kZUVkaXRvciAmJlxuICAgICAgICAgICAgICAgIGZpbGVzW1RVSV9FWEFNUExFX1BSSU1BUllfRklMRV9OQU1FLlRTXSAmJlxuICAgICAgICAgICAgICAgIGZpbGVzW1RVSV9FWEFNUExFX1BSSU1BUllfRklMRV9OQU1FLkhUTUxdLFxuICAgICAgICApO1xuXG4gICAgY29weUV4YW1wbGVMaW5rKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYXNoUG9zaXRpb24gPSB0aGlzLmxvY2F0aW9uLmhyZWYuaW5kZXhPZihgI2ApO1xuICAgICAgICBjb25zdCBjdXJyZW50VXJsID1cbiAgICAgICAgICAgIGhhc2hQb3NpdGlvbiA+IC0xXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxvY2F0aW9uLmhyZWYuc2xpY2UoMCwgTWF0aC5tYXgoMCwgaGFzaFBvc2l0aW9uKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMubG9jYXRpb24uaHJlZjtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7Y3VycmVudFVybH0jJHt0aGlzLmlkfWA7XG5cbiAgICAgICAgdGhpcy5zZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdCh0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh1cmwpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZVxuICAgICAgICAgICAgLm9wZW4odGhpcy50ZXh0c1sxXSwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRleHRzWzJdLFxuICAgICAgICAgICAgICAgIHN0YXR1czogVHVpTm90aWZpY2F0aW9uLlN1Y2Nlc3MsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGVkaXQoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmNvZGVFZGl0b3JcbiAgICAgICAgICAgID8uZWRpdCh0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuaWQgfHwgYGAsIGZpbGVzKVxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdChpZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlclxuICAgICAgICAgICAgLmNyZWF0ZVVybFRyZWUoW10sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogaWQgfHwgYGB9KVxuICAgICAgICAgICAgLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5uZ0xvY2F0aW9uLmdvKHVybCk7XG4gICAgfVxufVxuIiwiPGgzXG4gICAgKm5nSWY9XCJoZWFkaW5nXCJcbiAgICBjbGFzcz1cInQtdGl0bGVcIlxuPlxuICAgIDxzcGFuXG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIHwgdHVpRG9jRXhhbXBsZUNhcGl0YWxpemUgYXMgdGV4dFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJ0ZXh0XCJcbiAgICA+PC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpZFwiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIGljb249XCJ0dWlJY29uTGlua0xhcmdlXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICBjbGFzcz1cInQtbGluay1pY29uXCJcbiAgICAgICAgW3RpdGxlXT1cImNvcHkkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwiY29weUV4YW1wbGVMaW5rKClcIlxuICAgID48L2J1dHRvbj5cbjwvaDM+XG48aDRcbiAgICAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInQtZGVzY3JpcHRpb25cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlc2NyaXB0aW9uIHwgdHVpRG9jRXhhbXBsZUNhcGl0YWxpemUgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2g0PlxuXG48ZGl2XG4gICAgKm5nSWY9XCJwcm9jZXNzb3IkIHwgYXN5bmMgYXMgZmlsZXNcIlxuICAgIGNsYXNzPVwidC1leGFtcGxlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZXMgfCB0dWlEb2NFeGFtcGxlR2V0VGFicyA6IGRlZmF1bHRUYWIgYXMgdGFic1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC10YWJzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgICAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB0YWIgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3R1aS10YWJzLXdpdGgtbW9yZT5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsZXMgfCB0dWlNYXBwZXIgOiB2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdChmaWxlcylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEVkaXQgb24ge3sgY29kZUVkaXRvciEubmFtZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY29udGVudF9hbmltYXRlZF09XCIhaXNDeXByZXNzXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfdmlzaWJsZV09XCJhY3RpdmVJdGVtSW5kZXggPT09IGluZGV4XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGRlZmF1bHRUYWJJbmRleDsgZWxzZSBhbm90aGVyVGFiXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYW5vdGhlclRhYj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvZGVTZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGZpbGVzW3RhYnNbYWN0aXZlSXRlbUluZGV4XV0gfHwgJyd9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWRlbW9cIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2NvZGVTZWN0aW9uXG4gICAgbGV0LWNvZGVcbj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInQtY29kZS1hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2RlQWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYWN0aW9uIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dHVpLWRvYy1jb3B5IFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29kZVwiPjwvdHVpLWRvYy1jb3B5PlxuICAgIDwvc2VjdGlvbj5cbiAgICA8dHVpLWRvYy1jb2RlIFtjb2RlXT1cImNvZGVcIj48L3R1aS1kb2MtY29kZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFDLFFBQVEsSUFBSSxVQUFVLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsT0FBTyxFQUFDLDZCQUE2QixFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ25GLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEw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VCxlQUFlLGFBRWYsUUFBUSxhQUNSLGNBQWMsYUFDZCxxQkFBcUIsYUFFckIsbUJBQW1CLDZCQUVuQixpQ0FBaUMsYUFLakMsY0FBYyxhQUNkLG9CQUFvQixhQUVwQixNQUFNLGFBQ04sY0FBYyxhQUNkLFVBQVU7d0dBdERiLHNCQUFzQix1S0NqQ25DLHFpR0F3R0E7NEZEdkVhLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDbkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFrQ1EsU0FBUzsyQkFBQyxJQUFJOzswQkFFZCxNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixNQUFNOzJCQUFDLGVBQWU7OEJBRXNCLFFBQVE7MEJBQXBELE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixRQUFROzswQkFDUixNQUFNOzJCQUFDLG1CQUFtQjs7MEJBRTFCLE1BQU07MkJBQUMsaUNBQWlDOzswQkFLeEMsTUFBTTsyQkFBQyxjQUFjOzhCQUVBLEtBQUs7MEJBRDFCLE1BQU07MkJBQUMsb0JBQW9COzswQkFFM0IsTUFBTTsyQkFBQyxNQUFNOzswQkFDYixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLFVBQVU7NENBbER0QixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLO2dCQUlGLE9BQU87c0JBRFYsS0FBSztnQkFNTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaXBib2FyZH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQge0xvY2F0aW9uIGFzIE5nTG9jYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7TE9DQVRJT059IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfSVNfQ1lQUkVTUywgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCwgVHVpSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUFsZXJ0U2VydmljZSwgVHVpTm90aWZpY2F0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUdWlDb2RlRWRpdG9yfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7VFVJX0VYQU1QTEVfUFJJTUFSWV9GSUxFX05BTUUsIFR1aURvY0V4YW1wbGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGFnZSc7XG5pbXBvcnQge1RVSV9ET0NfQ09ERV9BQ1RJT05TfSBmcm9tICcuLi8uLi90b2tlbnMvY29kZS1hY3Rpb25zJztcbmltcG9ydCB7VFVJX0RPQ19DT0RFX0VESVRPUn0gZnJvbSAnLi4vLi4vdG9rZW5zL2NvZGUtZWRpdG9yJztcbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SfSBmcm9tICcuLi8uLi90b2tlbnMvZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvcic7XG5pbXBvcnQge1RVSV9ET0NfRVhBTVBMRV9URVhUU30gZnJvbSAnLi4vLi4vdG9rZW5zL2kxOG4nO1xuaW1wb3J0IHt0dWlSYXdMb2FkUmVjb3JkfSBmcm9tICcuLi8uLi91dGlscy9yYXctbG9hZC1yZWNvcmQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1kb2MtZXhhbXBsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2V4YW1wbGUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZXhhbXBsZS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0V4YW1wbGVDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmF3TG9hZGVyJCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFR1aURvY0V4YW1wbGU+KHt9KTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBkZXNjcmlwdGlvbjogUG9seW1vcnBoZXVzQ29udGVudCA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgY29udGVudChjb250ZW50OiBUdWlEb2NFeGFtcGxlKSB7XG4gICAgICAgIHRoaXMucmF3TG9hZGVyJCQubmV4dChjb250ZW50KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyA9IHRoaXMubG9jYXRpb24ucGF0aG5hbWUuc2xpY2UoMSk7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiSW5kZXggPSAwO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYiA9IHRoaXMudGV4dHNbdGhpcy5kZWZhdWx0VGFiSW5kZXhdO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG5cbiAgICByZWFkb25seSBjb3B5JCA9IHRoaXMuY29weVRleHRzJC5waXBlKG1hcCgoW2NvcHldKSA9PiBjb3B5KSk7XG5cbiAgICByZWFkb25seSBwcm9jZXNzb3IkOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+ID0gdGhpcy5yYXdMb2FkZXIkJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAodHVpUmF3TG9hZFJlY29yZCksXG4gICAgICAgIG1hcCh2YWx1ZSA9PiB0aGlzLnByb2Nlc3NDb250ZW50KHZhbHVlKSksXG4gICAgKTtcblxuICAgIHJlYWRvbmx5IGxvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAQXR0cmlidXRlKCdpZCcpXG4gICAgICAgIHJlYWRvbmx5IGlkOiBzdHJpbmcgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENsaXBib2FyZCkgcHJpdmF0ZSByZWFkb25seSBjbGlwYm9hcmQ6IENsaXBib2FyZCxcbiAgICAgICAgQEluamVjdChUdWlBbGVydFNlcnZpY2UpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBUdWlBbGVydFNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoTE9DQVRJT04pIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb246IExvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9DT1BZX1RFWFRTKSBwcml2YXRlIHJlYWRvbmx5IGNvcHlUZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX1RFWFRTKSByZWFkb25seSB0ZXh0czogW3N0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9FRElUT1IpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVFZGl0b3I6IFR1aUNvZGVFZGl0b3IgfCBudWxsLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwcm9jZXNzQ29udGVudDogVHVpSGFuZGxlcjxcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgICAgID4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0NZUFJFU1MpIHJlYWRvbmx5IGlzQ3lwcmVzczogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0NPREVfQUNUSU9OUylcbiAgICAgICAgcmVhZG9ubHkgY29kZUFjdGlvbnM6IEFycmF5PFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dFdpdGhJbXBsaWNpdDxzdHJpbmc+Pj4sXG4gICAgICAgIEBJbmplY3QoUm91dGVyKSBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgICAgICBASW5qZWN0KEFjdGl2YXRlZFJvdXRlKSBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgQEluamVjdChOZ0xvY2F0aW9uKSBwcml2YXRlIHJlYWRvbmx5IG5nTG9jYXRpb246IE5nTG9jYXRpb24sXG4gICAgKSB7fVxuXG4gICAgcmVhZG9ubHkgdmlzaWJsZSA9IChmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPik6IGJvb2xlYW4gPT5cbiAgICAgICAgQm9vbGVhbihcbiAgICAgICAgICAgIHRoaXMuY29kZUVkaXRvciAmJlxuICAgICAgICAgICAgICAgIGZpbGVzW1RVSV9FWEFNUExFX1BSSU1BUllfRklMRV9OQU1FLlRTXSAmJlxuICAgICAgICAgICAgICAgIGZpbGVzW1RVSV9FWEFNUExFX1BSSU1BUllfRklMRV9OQU1FLkhUTUxdLFxuICAgICAgICApO1xuXG4gICAgY29weUV4YW1wbGVMaW5rKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYXNoUG9zaXRpb24gPSB0aGlzLmxvY2F0aW9uLmhyZWYuaW5kZXhPZignIycpO1xuICAgICAgICBjb25zdCBjdXJyZW50VXJsID1cbiAgICAgICAgICAgIGhhc2hQb3NpdGlvbiA+IC0xXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxvY2F0aW9uLmhyZWYuc2xpY2UoMCwgTWF0aC5tYXgoMCwgaGFzaFBvc2l0aW9uKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMubG9jYXRpb24uaHJlZjtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7Y3VycmVudFVybH0jJHt0aGlzLmlkfWA7XG5cbiAgICAgICAgdGhpcy5zZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdCh0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh1cmwpO1xuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZVxuICAgICAgICAgICAgLm9wZW4odGhpcy50ZXh0c1sxXSwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRleHRzWzJdLFxuICAgICAgICAgICAgICAgIHN0YXR1czogVHVpTm90aWZpY2F0aW9uLlN1Y2Nlc3MsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGVkaXQoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmNvZGVFZGl0b3JcbiAgICAgICAgICAgID8uZWRpdCh0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuaWQgfHwgJycsIGZpbGVzKVxuICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdChpZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB1cmwgPSB0aGlzLnJvdXRlclxuICAgICAgICAgICAgLmNyZWF0ZVVybFRyZWUoW10sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCBmcmFnbWVudDogaWQgfHwgJyd9KVxuICAgICAgICAgICAgLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5uZ0xvY2F0aW9uLmdvKHVybCk7XG4gICAgfVxufVxuIiwiPGgzXG4gICAgKm5nSWY9XCJoZWFkaW5nXCJcbiAgICBjbGFzcz1cInQtdGl0bGVcIlxuPlxuICAgIDxzcGFuXG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkaW5nIHwgdHVpRG9jRXhhbXBsZUNhcGl0YWxpemUgYXMgdGV4dFwiXG4gICAgICAgIFt0ZXh0Q29udGVudF09XCJ0ZXh0XCJcbiAgICA+PC9zcGFuPlxuICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJpZFwiXG4gICAgICAgIHR1aUljb25CdXR0b25cbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgIGljb249XCJ0dWlJY29uTGlua0xhcmdlXCJcbiAgICAgICAgYXBwZWFyYW5jZT1cImljb25cIlxuICAgICAgICBjbGFzcz1cInQtbGluay1pY29uXCJcbiAgICAgICAgW3RpdGxlXT1cImNvcHkkIHwgYXN5bmNcIlxuICAgICAgICAoY2xpY2spPVwiY29weUV4YW1wbGVMaW5rKClcIlxuICAgID48L2J1dHRvbj5cbjwvaDM+XG48aDRcbiAgICAqbmdJZj1cImRlc2NyaXB0aW9uXCJcbiAgICBjbGFzcz1cInQtZGVzY3JpcHRpb25cIlxuPlxuICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImRlc2NyaXB0aW9uIHwgdHVpRG9jRXhhbXBsZUNhcGl0YWxpemUgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2g0PlxuXG48ZGl2XG4gICAgKm5nSWY9XCJwcm9jZXNzb3IkIHwgYXN5bmMgYXMgZmlsZXNcIlxuICAgIGNsYXNzPVwidC1leGFtcGxlXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsZXMgfCB0dWlEb2NFeGFtcGxlR2V0VGFicyA6IGRlZmF1bHRUYWIgYXMgdGFic1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidC10YWJzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgICAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyB0YWIgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3R1aS10YWJzLXdpdGgtbW9yZT5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsZXMgfCB0dWlNYXBwZXIgOiB2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICB0dWlCdXR0b25cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdChmaWxlcylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEVkaXQgb24ge3sgY29kZUVkaXRvciEubmFtZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY29udGVudF9hbmltYXRlZF09XCIhaXNDeXByZXNzXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfdmlzaWJsZV09XCJhY3RpdmVJdGVtSW5kZXggPT09IGluZGV4XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGRlZmF1bHRUYWJJbmRleDsgZWxzZSBhbm90aGVyVGFiXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYW5vdGhlclRhYj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvZGVTZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGZpbGVzW3RhYnNbYWN0aXZlSXRlbUluZGV4XV0gfHwgJyd9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWRlbW9cIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2NvZGVTZWN0aW9uXG4gICAgbGV0LWNvZGVcbj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInQtY29kZS1hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2RlQWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYWN0aW9uIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dHVpLWRvYy1jb3B5IFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29kZVwiPjwvdHVpLWRvYy1jb3B5PlxuICAgIDwvc2VjdGlvbj5cbiAgICA8dHVpLWRvYy1jb2RlIFtjb2RlXT1cImNvZGVcIj48L3R1aS1kb2MtY29kZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -12,22 +12,22 @@ export class TuiLanguageSwitcherComponent {
12
12
  constructor(switcher, iconsPath) {
13
13
  this.switcher = switcher;
14
14
  this.iconsPath = iconsPath;
15
- this.path = this.iconsPath(`tuiIcon`).replace(`tuiIcon.svg#tuiIcon`, ``);
15
+ this.path = this.iconsPath('tuiIcon').replace('tuiIcon.svg#tuiIcon', '');
16
16
  this.language = new FormControl(tuiCapitalizeFirstLetter(this.switcher.language));
17
17
  this.flags = new Map([
18
- [`chinese`, TuiCountryIsoCode.CN],
19
- [`dutch`, TuiCountryIsoCode.NL],
20
- [`english`, TuiCountryIsoCode.GB],
21
- [`french`, TuiCountryIsoCode.FR],
22
- [`german`, TuiCountryIsoCode.DE],
23
- [`italian`, TuiCountryIsoCode.IT],
24
- [`polish`, TuiCountryIsoCode.PL],
25
- [`portuguese`, TuiCountryIsoCode.PT],
26
- [`russian`, TuiCountryIsoCode.RU],
27
- [`spanish`, TuiCountryIsoCode.ES],
28
- [`turkish`, TuiCountryIsoCode.TR],
29
- [`ukrainian`, TuiCountryIsoCode.UA],
30
- [`vietnamese`, TuiCountryIsoCode.VN],
18
+ ['chinese', TuiCountryIsoCode.CN],
19
+ ['dutch', TuiCountryIsoCode.NL],
20
+ ['english', TuiCountryIsoCode.GB],
21
+ ['french', TuiCountryIsoCode.FR],
22
+ ['german', TuiCountryIsoCode.DE],
23
+ ['italian', TuiCountryIsoCode.IT],
24
+ ['polish', TuiCountryIsoCode.PL],
25
+ ['portuguese', TuiCountryIsoCode.PT],
26
+ ['russian', TuiCountryIsoCode.RU],
27
+ ['spanish', TuiCountryIsoCode.ES],
28
+ ['turkish', TuiCountryIsoCode.TR],
29
+ ['ukrainian', TuiCountryIsoCode.UA],
30
+ ['vietnamese', TuiCountryIsoCode.VN],
31
31
  ]);
32
32
  this.names = Array.from(this.flags.keys());
33
33
  }
@@ -40,9 +40,9 @@ TuiLanguageSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
40
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiLanguageSwitcherComponent, decorators: [{
41
41
  type: Component,
42
42
  args: [{
43
- selector: `tui-language-switcher`,
44
- templateUrl: `./language-switcher.component.html`,
45
- styleUrls: [`./language-switcher.component.less`],
43
+ selector: 'tui-language-switcher',
44
+ templateUrl: './language-switcher.component.html',
45
+ styleUrls: ['./language-switcher.component.less'],
46
46
  changeDetection: ChangeDetectionStrategy.OnPush,
47
47
  }]
48
48
  }], ctorParameters: function () { return [{ type: i5.TuiLanguageSwitcher, decorators: [{
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
52
52
  type: Inject,
53
53
  args: [TUI_ICONS_PATH]
54
54
  }] }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9sYW5ndWFnZS1zd2l0Y2hlci9sYW5ndWFnZS1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGNBQWMsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBbUIsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVF2RixNQUFNLE9BQU8sNEJBQTRCO0lBdUJyQyxZQUMwQyxRQUE2QixFQUMxQixTQUFtQztRQUR0QyxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQXhCL0QsU0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLGFBQVEsR0FBRyxJQUFJLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFN0UsVUFBSyxHQUE0QyxJQUFJLEdBQUcsQ0FBQztZQUM5RCxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDakMsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQy9CLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNqQyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDaEMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNqQyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDaEMsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ3BDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNqQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDakMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ2pDLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNuQyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7U0FDdkMsQ0FBQyxDQUFDO1FBRU0sVUFBSyxHQUFzQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUsvRCxDQUFDO0lBRUosV0FBVyxDQUFDLElBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDOzswSEE5QlEsNEJBQTRCLGtCQXdCekIsbUJBQW1CLGFBQ25CLGNBQWM7OEdBekJqQiw0QkFBNEIsNkRDWnpDLHloQkFrQkE7NEZETmEsNEJBQTRCO2tCQU54QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO29CQUNqRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQXlCUSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9JQ09OU19QQVRILCB0dWlDYXBpdGFsaXplRmlyc3RMZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpQ291bnRyeUlzb0NvZGUsIFR1aUxhbmd1YWdlTmFtZSwgVHVpTGFuZ3VhZ2VTd2l0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogYHR1aS1sYW5ndWFnZS1zd2l0Y2hlcmAsXG4gICAgdGVtcGxhdGVVcmw6IGAuL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9sYW5ndWFnZS1zd2l0Y2hlci5jb21wb25lbnQubGVzc2BdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMYW5ndWFnZVN3aXRjaGVyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhdGggPSB0aGlzLmljb25zUGF0aChgdHVpSWNvbmApLnJlcGxhY2UoYHR1aUljb24uc3ZnI3R1aUljb25gLCBgYCk7XG5cbiAgICByZWFkb25seSBsYW5ndWFnZSA9IG5ldyBGb3JtQ29udHJvbCh0dWlDYXBpdGFsaXplRmlyc3RMZXR0ZXIodGhpcy5zd2l0Y2hlci5sYW5ndWFnZSkpO1xuXG4gICAgcmVhZG9ubHkgZmxhZ3M6IE1hcDxUdWlMYW5ndWFnZU5hbWUsIFR1aUNvdW50cnlJc29Db2RlPiA9IG5ldyBNYXAoW1xuICAgICAgICBbYGNoaW5lc2VgLCBUdWlDb3VudHJ5SXNvQ29kZS5DTl0sXG4gICAgICAgIFtgZHV0Y2hgLCBUdWlDb3VudHJ5SXNvQ29kZS5OTF0sXG4gICAgICAgIFtgZW5nbGlzaGAsIFR1aUNvdW50cnlJc29Db2RlLkdCXSxcbiAgICAgICAgW2BmcmVuY2hgLCBUdWlDb3VudHJ5SXNvQ29kZS5GUl0sXG4gICAgICAgIFtgZ2VybWFuYCwgVHVpQ291bnRyeUlzb0NvZGUuREVdLFxuICAgICAgICBbYGl0YWxpYW5gLCBUdWlDb3VudHJ5SXNvQ29kZS5JVF0sXG4gICAgICAgIFtgcG9saXNoYCwgVHVpQ291bnRyeUlzb0NvZGUuUExdLFxuICAgICAgICBbYHBvcnR1Z3Vlc2VgLCBUdWlDb3VudHJ5SXNvQ29kZS5QVF0sXG4gICAgICAgIFtgcnVzc2lhbmAsIFR1aUNvdW50cnlJc29Db2RlLlJVXSxcbiAgICAgICAgW2BzcGFuaXNoYCwgVHVpQ291bnRyeUlzb0NvZGUuRVNdLFxuICAgICAgICBbYHR1cmtpc2hgLCBUdWlDb3VudHJ5SXNvQ29kZS5UUl0sXG4gICAgICAgIFtgdWtyYWluaWFuYCwgVHVpQ291bnRyeUlzb0NvZGUuVUFdLFxuICAgICAgICBbYHZpZXRuYW1lc2VgLCBUdWlDb3VudHJ5SXNvQ29kZS5WTl0sXG4gICAgXSk7XG5cbiAgICByZWFkb25seSBuYW1lczogVHVpTGFuZ3VhZ2VOYW1lW10gPSBBcnJheS5mcm9tKHRoaXMuZmxhZ3Mua2V5cygpKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUxhbmd1YWdlU3dpdGNoZXIpIHJlYWRvbmx5IHN3aXRjaGVyOiBUdWlMYW5ndWFnZVN3aXRjaGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9JQ09OU19QQVRIKSBwcml2YXRlIHJlYWRvbmx5IGljb25zUGF0aDogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+LFxuICAgICkge31cblxuICAgIGdldEZsYWdQYXRoKGNvZGU/OiBUdWlDb3VudHJ5SXNvQ29kZSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gY29kZSA/IGAke3RoaXMucGF0aH0ke2NvZGV9LnBuZ2AgOiBudWxsO1xuICAgIH1cbn1cbiIsIjx0dWktc2VsZWN0IFtmb3JtQ29udHJvbF09XCJsYW5ndWFnZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8dHVpLWRhdGEtbGlzdCAqdHVpRGF0YUxpc3Q+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBuYW1lIG9mIG5hbWVzXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgW3ZhbHVlXT1cIm5hbWUgfCB0aXRsZWNhc2VcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN3aXRjaGVyLnNldExhbmd1YWdlKG5hbWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZsYWdcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiZ2V0RmxhZ1BhdGgoZmxhZ3MuZ2V0KG5hbWUpKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3sgbmFtZSB8IHRpdGxlY2FzZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1kYXRhLWxpc3Q+XG48L3R1aS1zZWxlY3Q+XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZ3VhZ2Utc3dpdGNoZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy9jb21wb25lbnRzL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9sYW5ndWFnZS1zd2l0Y2hlci9sYW5ndWFnZS1zd2l0Y2hlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFDLGNBQWMsRUFBRSx3QkFBd0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxpQkFBaUIsRUFBbUIsbUJBQW1CLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVF2RixNQUFNLE9BQU8sNEJBQTRCO0lBdUJyQyxZQUMwQyxRQUE2QixFQUMxQixTQUFtQztRQUR0QyxhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUEwQjtRQXhCL0QsU0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLGFBQVEsR0FBRyxJQUFJLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFN0UsVUFBSyxHQUE0QyxJQUFJLEdBQUcsQ0FBQztZQUM5RCxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDakMsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQy9CLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNqQyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDaEMsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNqQyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDaEMsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ3BDLENBQUMsU0FBUyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNqQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDakMsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1lBQ2pDLENBQUMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUNuQyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7U0FDdkMsQ0FBQyxDQUFDO1FBRU0sVUFBSyxHQUFzQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUsvRCxDQUFDO0lBRUosV0FBVyxDQUFDLElBQXdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNuRCxDQUFDOzswSEE5QlEsNEJBQTRCLGtCQXdCekIsbUJBQW1CLGFBQ25CLGNBQWM7OEdBekJqQiw0QkFBNEIsNkRDWnpDLHloQkFrQkE7NEZETmEsNEJBQTRCO2tCQU54QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO29CQUNqRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OzBCQXlCUSxNQUFNOzJCQUFDLG1CQUFtQjs7MEJBQzFCLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VHVpU3RyaW5nSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9JQ09OU19QQVRILCB0dWlDYXBpdGFsaXplRmlyc3RMZXR0ZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpQ291bnRyeUlzb0NvZGUsIFR1aUxhbmd1YWdlTmFtZSwgVHVpTGFuZ3VhZ2VTd2l0Y2hlcn0gZnJvbSAnQHRhaWdhLXVpL2kxOG4nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1sYW5ndWFnZS1zd2l0Y2hlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9sYW5ndWFnZS1zd2l0Y2hlci5jb21wb25lbnQubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlMYW5ndWFnZVN3aXRjaGVyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhdGggPSB0aGlzLmljb25zUGF0aCgndHVpSWNvbicpLnJlcGxhY2UoJ3R1aUljb24uc3ZnI3R1aUljb24nLCAnJyk7XG5cbiAgICByZWFkb25seSBsYW5ndWFnZSA9IG5ldyBGb3JtQ29udHJvbCh0dWlDYXBpdGFsaXplRmlyc3RMZXR0ZXIodGhpcy5zd2l0Y2hlci5sYW5ndWFnZSkpO1xuXG4gICAgcmVhZG9ubHkgZmxhZ3M6IE1hcDxUdWlMYW5ndWFnZU5hbWUsIFR1aUNvdW50cnlJc29Db2RlPiA9IG5ldyBNYXAoW1xuICAgICAgICBbJ2NoaW5lc2UnLCBUdWlDb3VudHJ5SXNvQ29kZS5DTl0sXG4gICAgICAgIFsnZHV0Y2gnLCBUdWlDb3VudHJ5SXNvQ29kZS5OTF0sXG4gICAgICAgIFsnZW5nbGlzaCcsIFR1aUNvdW50cnlJc29Db2RlLkdCXSxcbiAgICAgICAgWydmcmVuY2gnLCBUdWlDb3VudHJ5SXNvQ29kZS5GUl0sXG4gICAgICAgIFsnZ2VybWFuJywgVHVpQ291bnRyeUlzb0NvZGUuREVdLFxuICAgICAgICBbJ2l0YWxpYW4nLCBUdWlDb3VudHJ5SXNvQ29kZS5JVF0sXG4gICAgICAgIFsncG9saXNoJywgVHVpQ291bnRyeUlzb0NvZGUuUExdLFxuICAgICAgICBbJ3BvcnR1Z3Vlc2UnLCBUdWlDb3VudHJ5SXNvQ29kZS5QVF0sXG4gICAgICAgIFsncnVzc2lhbicsIFR1aUNvdW50cnlJc29Db2RlLlJVXSxcbiAgICAgICAgWydzcGFuaXNoJywgVHVpQ291bnRyeUlzb0NvZGUuRVNdLFxuICAgICAgICBbJ3R1cmtpc2gnLCBUdWlDb3VudHJ5SXNvQ29kZS5UUl0sXG4gICAgICAgIFsndWtyYWluaWFuJywgVHVpQ291bnRyeUlzb0NvZGUuVUFdLFxuICAgICAgICBbJ3ZpZXRuYW1lc2UnLCBUdWlDb3VudHJ5SXNvQ29kZS5WTl0sXG4gICAgXSk7XG5cbiAgICByZWFkb25seSBuYW1lczogVHVpTGFuZ3VhZ2VOYW1lW10gPSBBcnJheS5mcm9tKHRoaXMuZmxhZ3Mua2V5cygpKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFR1aUxhbmd1YWdlU3dpdGNoZXIpIHJlYWRvbmx5IHN3aXRjaGVyOiBUdWlMYW5ndWFnZVN3aXRjaGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9JQ09OU19QQVRIKSBwcml2YXRlIHJlYWRvbmx5IGljb25zUGF0aDogVHVpU3RyaW5nSGFuZGxlcjxzdHJpbmc+LFxuICAgICkge31cblxuICAgIGdldEZsYWdQYXRoKGNvZGU/OiBUdWlDb3VudHJ5SXNvQ29kZSk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gY29kZSA/IGAke3RoaXMucGF0aH0ke2NvZGV9LnBuZ2AgOiBudWxsO1xuICAgIH1cbn1cbiIsIjx0dWktc2VsZWN0IFtmb3JtQ29udHJvbF09XCJsYW5ndWFnZVwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8dHVpLWRhdGEtbGlzdCAqdHVpRGF0YUxpc3Q+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBuYW1lIG9mIG5hbWVzXCJcbiAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgW3ZhbHVlXT1cIm5hbWUgfCB0aXRsZWNhc2VcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInN3aXRjaGVyLnNldExhbmd1YWdlKG5hbWUpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZsYWdcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiZ2V0RmxhZ1BhdGgoZmxhZ3MuZ2V0KG5hbWUpKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge3sgbmFtZSB8IHRpdGxlY2FzZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L3R1aS1kYXRhLWxpc3Q+XG48L3R1aS1zZWxlY3Q+XG4iXX0=