@taiga-ui/addon-doc 3.10.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +8 -4
  2. package/bundles/taiga-ui-addon-doc.umd.js +238 -80
  3. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  4. package/components/demo/demo.component.d.ts +11 -3
  5. package/components/documentation/documentation-property-connector.directive.d.ts +1 -1
  6. package/components/documentation/documentation.component.d.ts +8 -9
  7. package/components/documentation/documentation.module.d.ts +16 -9
  8. package/components/documentation/pipes/cleaner.pipe.d.ts +7 -0
  9. package/components/documentation/pipes/content-tooltip.pipe.d.ts +7 -0
  10. package/components/documentation/pipes/opacity.pipe.d.ts +7 -0
  11. package/components/documentation/pipes/optional.pipe.d.ts +7 -0
  12. package/components/documentation/pipes/primitive-polymorpheus-content.pipe.d.ts +7 -0
  13. package/components/documentation/pipes/strip-optional.pipe.d.ts +7 -0
  14. package/components/documentation/pipes//321/201olor.pipe.d.ts +7 -0
  15. package/components/navigation/navigation.component.d.ts +1 -1
  16. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +1 -1
  17. package/esm2015/components/demo/demo.component.js +62 -20
  18. package/esm2015/components/documentation/documentation-property-connector.directive.js +1 -1
  19. package/esm2015/components/documentation/documentation.component.js +36 -64
  20. package/esm2015/components/documentation/documentation.module.js +22 -1
  21. package/esm2015/components/documentation/pipes/cleaner.pipe.js +14 -0
  22. package/esm2015/components/documentation/pipes/content-tooltip.pipe.js +14 -0
  23. package/esm2015/components/documentation/pipes/opacity.pipe.js +26 -0
  24. package/esm2015/components/documentation/pipes/optional.pipe.js +14 -0
  25. package/esm2015/components/documentation/pipes/primitive-polymorpheus-content.pipe.js +15 -0
  26. package/esm2015/components/documentation/pipes/strip-optional.pipe.js +14 -0
  27. package/esm2015/components/documentation/pipes//321/201olor.pipe.js +35 -0
  28. package/esm2015/components/navigation/navigation.component.js +5 -3
  29. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +5 -3
  30. package/esm2015/internal/see-also/see-also.component.js +1 -1
  31. package/esm2015/utils/coerce-value.js +1 -1
  32. package/fesm2015/taiga-ui-addon-doc.js +217 -80
  33. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  34. package/internal/see-also/see-also.component.d.ts +1 -1
  35. package/package.json +9 -9
  36. package/utils/coerce-value.d.ts +1 -1
@@ -1,23 +1,36 @@
1
1
  import { animate, style, transition, trigger } from '@angular/animations';
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Inject, Input, } from '@angular/core';
3
- import { EMPTY_QUERY, tuiHexToRgb, tuiIsNumber, tuiIsString, tuiItemsQueryListObservable, tuiRgbToHex, tuiWatch, } from '@taiga-ui/cdk';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Inject, Input, Self, } from '@angular/core';
3
+ import { EMPTY_QUERY, TuiDestroyService, tuiHexToRgb, tuiItemsQueryListObservable, tuiWatch, } from '@taiga-ui/cdk';
4
4
  import { merge } from 'rxjs';
5
- import { switchMap } from 'rxjs/operators';
5
+ import { switchMap, takeUntil } from 'rxjs/operators';
6
6
  import { TUI_DOC_DOCUMENTATION_TEXTS } from '../../tokens/i18n';
7
7
  import { TuiDocDocumentationPropertyConnectorDirective } from './documentation-property-connector.directive';
8
+ import { TuiGetOpacityPipe } from './pipes/opacity.pipe';
9
+ import { TuiGetColorPipe } from './pipes/сolor.pipe';
8
10
  import * as i0 from "@angular/core";
9
11
  import * as i1 from "@taiga-ui/kit";
10
12
  import * as i2 from "@taiga-ui/core";
11
13
  import * as i3 from "@angular/common";
12
14
  import * as i4 from "@angular/forms";
13
15
  import * as i5 from "../../internal/input-opacity/input-opacity.directive";
14
- import * as i6 from "./pipes/inspect.pipe";
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";
15
25
  // @bad TODO subscribe propertiesConnectors changes
16
26
  // @bad TODO refactor to make more flexible
17
27
  export class TuiDocDocumentationComponent {
18
- constructor(changeDetectorRef, texts) {
28
+ constructor(changeDetectorRef, texts, destroy$, getColor, getOpacity) {
19
29
  this.changeDetectorRef = changeDetectorRef;
20
30
  this.texts = texts;
31
+ this.destroy$ = destroy$;
32
+ this.getColor = getColor;
33
+ this.getOpacity = getOpacity;
21
34
  this.heading = ``;
22
35
  this.showValues = true;
23
36
  this.isAPI = false;
@@ -26,52 +39,14 @@ export class TuiDocDocumentationComponent {
26
39
  }
27
40
  ngAfterContentInit() {
28
41
  tuiItemsQueryListObservable(this.propertiesConnectors)
29
- .pipe(switchMap(items => merge(...items.map(({ changed$ }) => changed$))), tuiWatch(this.changeDetectorRef))
42
+ .pipe(switchMap(items => merge(...items.map(({ changed$ }) => changed$))), tuiWatch(this.changeDetectorRef), takeUntil(this.destroy$))
30
43
  .subscribe();
31
44
  }
32
45
  get type() {
33
46
  return this.isAPI ? this.texts[0] : this.texts[1];
34
47
  }
35
- getColor(color) {
36
- if (color.length === 4) {
37
- return color
38
- .split(``)
39
- .reduce((result, current) => [...result, current, current], [])
40
- .join(``)
41
- .replace(`#`, ``);
42
- }
43
- if (color.startsWith(`#`)) {
44
- return color;
45
- }
46
- if (color === `transparent`) {
47
- return `#000000`;
48
- }
49
- const parsed = color
50
- .replace(`rgb(`, ``)
51
- .replace(`rgba(`, ``)
52
- .replace(`)`, ``)
53
- .replace(` `, ``)
54
- .split(`,`)
55
- .map(v => Number.parseInt(v, 10));
56
- return tuiRgbToHex(...parsed);
57
- }
58
- getOpacity(color) {
59
- if (color.startsWith(`#`) || color.startsWith(`rgb(`)) {
60
- return 100;
61
- }
62
- if (color === `transparent`) {
63
- return 0;
64
- }
65
- const lastComma = color.lastIndexOf(`,`);
66
- const parsed = color
67
- .slice(lastComma)
68
- .replace(`)`, ``)
69
- .replace(` `, ``)
70
- .replace(`,`, ``);
71
- return Math.round(Number.parseFloat(parsed) * 100);
72
- }
73
48
  onColorChange(connector, color) {
74
- const opacity = this.getOpacity(connector.documentationPropertyValue || ``);
49
+ const opacity = this.getOpacity.transform(connector.documentationPropertyValue || ``);
75
50
  if (opacity === 100) {
76
51
  connector.onValueChange(color);
77
52
  return;
@@ -81,29 +56,14 @@ export class TuiDocDocumentationComponent {
81
56
  connector.onValueChange(result);
82
57
  }
83
58
  onOpacityChange(connector, opacity) {
84
- const hex = this.getColor(connector.documentationPropertyValue || ``);
59
+ const hex = this.getColor.transform(connector.documentationPropertyValue || ``);
85
60
  const rgb = tuiHexToRgb(hex);
86
61
  const result = `rgba(${rgb}, ${opacity / 100})`;
87
62
  connector.onValueChange(result);
88
63
  }
89
- stripOptional(name) {
90
- return name.replace(`?`, ``);
91
- }
92
- isOptional(name) {
93
- return name.includes(`?`);
94
- }
95
- isPrimitivePolymorpheusContent(value) {
96
- return tuiIsString(value) || tuiIsNumber(value);
97
- }
98
- showCleaner(type) {
99
- return type.includes(`null`);
100
- }
101
- showContentTooltip(type) {
102
- return type.includes(`PolymorpheusContent`);
103
- }
104
64
  }
105
- TuiDocDocumentationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_DOC_DOCUMENTATION_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
106
- 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" }, 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 {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\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=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\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]=\"showCleaner(propertyConnector.documentationPropertyType)\"\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]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\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]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\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=\"isPrimitivePolymorpheusContent(propertyConnector.documentationPropertyValue)\"\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: { "tuiInspectAny": i6.TuiInspectPipe, "async": i3.AsyncPipe }, animations: [
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: [
107
67
  trigger(`emitEvent`, [
108
68
  transition(`:increment`, [style({ opacity: 1 }), animate(`500ms ease-in`)]),
109
69
  ]),
@@ -120,6 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
120
80
  transition(`:increment`, [style({ opacity: 1 }), animate(`500ms ease-in`)]),
121
81
  ]),
122
82
  ],
83
+ providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService],
123
84
  }]
124
85
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef, decorators: [{
125
86
  type: Inject,
@@ -127,6 +88,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
127
88
  }] }, { type: undefined, decorators: [{
128
89
  type: Inject,
129
90
  args: [TUI_DOC_DOCUMENTATION_TEXTS]
91
+ }] }, { type: i14.TuiDestroyService, decorators: [{
92
+ type: Self
93
+ }, {
94
+ type: Inject,
95
+ args: [TuiDestroyService]
96
+ }] }, { type: i12.TuiGetColorPipe, decorators: [{
97
+ type: Inject,
98
+ args: [TuiGetColorPipe]
99
+ }] }, { type: i11.TuiGetOpacityPipe, decorators: [{
100
+ type: Inject,
101
+ args: [TuiGetOpacityPipe]
130
102
  }] }]; }, propDecorators: { heading: [{
131
103
  type: Input
132
104
  }], showValues: [{
@@ -137,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
137
109
  type: ContentChildren,
138
110
  args: [TuiDocDocumentationPropertyConnectorDirective]
139
111
  }] } });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL2RvY3VtZW50YXRpb24udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxHQUVSLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxXQUFXLEVBQ1gsV0FBVyxFQUNYLFdBQVcsRUFDWCxXQUFXLEVBQ1gsMkJBQTJCLEVBQzNCLFdBQVcsRUFDWCxRQUFRLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzQixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFDLDZDQUE2QyxFQUFDLE1BQU0sOENBQThDLENBQUM7Ozs7Ozs7O0FBRTNHLG1EQUFtRDtBQUNuRCwyQ0FBMkM7QUFZM0MsTUFBTSxPQUFPLDRCQUE0QjtJQWdCckMsWUFDZ0QsaUJBQW9DLEVBRXZFLEtBQStDO1FBRlosc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUV2RSxVQUFLLEdBQUwsS0FBSyxDQUEwQztRQWpCNUQsWUFBTyxHQUFHLEVBQUUs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YW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEVNUFRZX1FVRVJZLFxuICAgIHR1aUhleFRvUmdiLFxuICAgIHR1aUlzTnVtYmVyLFxuICAgIHR1aUlzU3RyaW5nLFxuICAgIHR1aUl0ZW1zUXVlcnlMaXN0T2JzZXJ2YWJsZSxcbiAgICB0dWlSZ2JUb0hleCxcbiAgICB0dWlXYXRjaCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge21lcmdlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0RPQ19ET0NVTUVOVEFUSU9OX1RFWFRTfSBmcm9tICcuLi8uLi90b2tlbnMvaTE4bic7XG5pbXBvcnQge1R1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZX0gZnJvbSAnLi9kb2N1bWVudGF0aW9uLXByb3BlcnR5LWNvbm5lY3Rvci5kaXJlY3RpdmUnO1xuXG4vLyBAYmFkIFRPRE8gc3Vic2NyaWJlIHByb3BlcnRpZXNDb25uZWN0b3JzIGNoYW5nZXNcbi8vIEBiYWQgVE9ETyByZWZhY3RvciB0byBtYWtlIG1vcmUgZmxleGlibGVcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBgdHVpLWRvYy1kb2N1bWVudGF0aW9uYCxcbiAgICB0ZW1wbGF0ZVVybDogYC4vZG9jdW1lbnRhdGlvbi50ZW1wbGF0ZS5odG1sYCxcbiAgICBzdHlsZVVybHM6IFtgLi9kb2N1bWVudGF0aW9uLnN0eWxlLmxlc3NgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoYGVtaXRFdmVudGAsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oYDppbmNyZW1lbnRgLCBbc3R5bGUoe29wYWNpdHk6IDF9KSwgYW5pbWF0ZShgNTAwbXMgZWFzZS1pbmApXSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY0RvY3VtZW50YXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICBASW5wdXQoKVxuICAgIGhlYWRpbmcgPSBgYDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2hvd1ZhbHVlcyA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIGlzQVBJID0gZmFsc2U7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZSlcbiAgICBwcm9wZXJ0aWVzQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZTxhbnk+PiA9XG4gICAgICAgIEVNUFRZX1FVRVJZO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0RPQ1VNRU5UQVRJT05fVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmddLFxuICAgICkge31cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdHVpSXRlbXNRdWVyeUxpc3RPYnNlcnZhYmxlKHRoaXMucHJvcGVydGllc0Nvbm5lY3RvcnMpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoaXRlbXMgPT4gbWVyZ2UoLi4uaXRlbXMubWFwKCh7Y2hhbmdlZCR9KSA9PiBjaGFuZ2VkJCkpKSxcbiAgICAgICAgICAgICAgICB0dWlXYXRjaCh0aGlzLmNoYW5nZURldGVjdG9yUmVmKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBnZXQgdHlwZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0FQSSA/IHRoaXMudGV4dHNbMF0gOiB0aGlzLnRleHRzWzFdO1xuICAgIH1cblxuICAgIGdldENvbG9yKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoY29sb3IubGVuZ3RoID09PSA0KSB7XG4gICAgICAgICAgICByZXR1cm4gY29sb3JcbiAgICAgICAgICAgICAgICAuc3BsaXQoYGApXG4gICAgICAgICAgICAgICAgLnJlZHVjZTxzdHJpbmdbXT4oKHJlc3VsdCwgY3VycmVudCkgPT4gWy4uLnJlc3VsdCwgY3VycmVudCwgY3VycmVudF0sIFtdKVxuICAgICAgICAgICAgICAgIC5qb2luKGBgKVxuICAgICAgICAgICAgICAgIC5yZXBsYWNlKGAjYCwgYGApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoYCNgKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbG9yID09PSBgdHJhbnNwYXJlbnRgKSB7XG4gICAgICAgICAgICByZXR1cm4gYCMwMDAwMDBgO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyc2VkID0gY29sb3JcbiAgICAgICAgICAgIC5yZXBsYWNlKGByZ2IoYCwgYGApXG4gICAgICAgICAgICAucmVwbGFjZShgcmdiYShgLCBgYClcbiAgICAgICAgICAgIC5yZXBsYWNlKGApYCwgYGApXG4gICAgICAgICAgICAucmVwbGFjZShgIGAsIGBgKVxuICAgICAgICAgICAgLnNwbGl0KGAsYClcbiAgICAgICAgICAgIC5tYXAodiA9PiBOdW1iZXIucGFyc2VJbnQodiwgMTApKSBhcyBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cbiAgICAgICAgcmV0dXJuIHR1aVJnYlRvSGV4KC4uLnBhcnNlZCk7XG4gICAgfVxuXG4gICAgZ2V0T3BhY2l0eShjb2xvcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoYCNgKSB8fCBjb2xvci5zdGFydHNXaXRoKGByZ2IoYCkpIHtcbiAgICAgICAgICAgIHJldHVybiAxMDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IgPT09IGB0cmFuc3BhcmVudGApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGFzdENvbW1hID0gY29sb3IubGFzdEluZGV4T2YoYCxgKTtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY29sb3JcbiAgICAgICAgICAgIC5zbGljZShsYXN0Q29tbWEpXG4gICAgICAgICAgICAucmVwbGFjZShgKWAsIGBgKVxuICAgICAgICAgICAgLnJlcGxhY2UoYCBgLCBgYClcbiAgICAgICAgICAgIC5yZXBsYWNlKGAsYCwgYGApO1xuXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKE51bWJlci5wYXJzZUZsb2F0KHBhcnNlZCkgKiAxMDApO1xuICAgIH1cblxuICAgIG9uQ29sb3JDaGFuZ2UoXG4gICAgICAgIGNvbm5lY3RvcjogVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlPHN0cmluZz4sXG4gICAgICAgIGNvbG9yOiBzdHJpbmcsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9wYWNpdHkgPSB0aGlzLmdldE9wYWNpdHkoY29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlIHx8IGBgKTtcblxuICAgICAgICBpZiAob3BhY2l0eSA9PT0gMTAwKSB7XG4gICAgICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShjb2xvcik7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJnYiA9IHR1aUhleFRvUmdiKGNvbG9yKS5qb2luKGAsIGApO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBgcmdiYSgke3JnYn0sICR7b3BhY2l0eSAvIDEwMH0pYDtcblxuICAgICAgICBjb25uZWN0b3Iub25WYWx1ZUNoYW5nZShyZXN1bHQpO1xuICAgIH1cblxuICAgIG9uT3BhY2l0eUNoYW5nZShcbiAgICAgICAgY29ubmVjdG9yOiBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmU8c3RyaW5nPixcbiAgICAgICAgb3BhY2l0eTogbnVtYmVyLFxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBoZXggPSB0aGlzLmdldENvbG9yKGNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSB8fCBgYCk7XG4gICAgICAgIGNvbnN0IHJnYiA9IHR1aUhleFRvUmdiKGhleCk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGByZ2JhKCR7cmdifSwgJHtvcGFjaXR5IC8gMTAwfSlgO1xuXG4gICAgICAgIGNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgc3RyaXBPcHRpb25hbChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gbmFtZS5yZXBsYWNlKGA/YCwgYGApO1xuICAgIH1cblxuICAgIGlzT3B0aW9uYWwobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBuYW1lLmluY2x1ZGVzKGA/YCk7XG4gICAgfVxuXG4gICAgaXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50KHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0dWlJc1N0cmluZyh2YWx1ZSkgfHwgdHVpSXNOdW1iZXIodmFsdWUpO1xuICAgIH1cblxuICAgIHNob3dDbGVhbmVyKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHlwZS5pbmNsdWRlcyhgbnVsbGApO1xuICAgIH1cblxuICAgIHNob3dDb250ZW50VG9vbHRpcCh0eXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR5cGUuaW5jbHVkZXMoYFBvbHltb3JwaGV1c0NvbnRlbnRgKTtcbiAgICB9XG59XG4iLCI8aDFcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC1oZWFkaW5nXCJcbj5cbiAgICB7eyBoZWFkaW5nIH19XG48L2gxPlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPHRhYmxlIGNsYXNzPVwidC10YWJsZVwiPlxuICAgIDx0ciBjbGFzcz1cInQtcm93IHQtcm93X2hlYWRlclwiPlxuICAgICAgICA8dGggY2xhc3M9XCJ0LXRoIHQtY2VsbCB0LWNlbGxfcHJvcFwiPnt7IHRleHRzWzJdIH19PC90aD5cbiAgICAgICAgPHRoIGNsYXNzPVwidC10aFwiPnt7IHR5cGUgfX08L3RoPlxuICAgICAgICA8dGhcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlcyAmJiAhaXNBUElcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRoIHQtY2VsbCB0LXRoX3ZhbHVlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgdGV4dHNbM10gfX1cbiAgICAgICAgPC90aD5cbiAgICA8L3RyPlxuICAgIDx0clxuICAgICAgICAqbmdGb3I9XCJsZXQgcHJvcGVydHlDb25uZWN0b3Igb2YgcHJvcGVydGllc0Nvbm5lY3RvcnNcIlxuICAgICAgICBjbGFzcz1cInQtcm93XCJcbiAgICAgICAgW2NsYXNzLnQtZGVwcmVjYXRlZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlEZXByZWNhdGVkXCJcbiAgICA+XG4gICAgICAgIDx0ZCBjbGFzcz1cInQtY2VsbFwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktZG9jdW1lbnRhdGlvbl9fcHJvcGVydHktbmFtZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXByb3BlcnR5XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBzdHJpcE9wdGlvbmFsKHByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lKSB9fVxuICAgICAgICAgICAgICAgIDx0dWktYmFkZ2VcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc09wdGlvbmFsKHByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lKVwiXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJPcHRpb25hbFwiXG4gICAgICAgICAgICAgICAgPjwvdHVpLWJhZGdlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5RGVwcmVjYXRlZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWRlcHJlY2F0ZWQtbGFiZWxcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIGRlcHJlY2F0ZWRcbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJvcGVydHlDb25uZWN0b3IudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwidC1jZWxsXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInR5cGVcIj5cbiAgICAgICAgICAgICAgICB7eyBwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlUeXBlIH19XG4gICAgICAgICAgICAgICAgPHR1aS10b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0NvbnRlbnRUb29sdGlwKHByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGUpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rlc2NyaWJlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRleHRzWzRdIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlNb2RlPVwib25EYXJrXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vdGlua29mZi9uZy1wb2x5bW9ycGhldXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjb2RlPm5nLXBvbHltb3JwaGV1czwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3R1aS10b29sdGlwPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGRcbiAgICAgICAgICAgICpuZ0lmPVwic2hvd1ZhbHVlc1wiXG4gICAgICAgICAgICBjbGFzcz1cInQtY2VsbCB0LWNlbGxfdmFsdWVcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3Iuc2hvdWxkU2hvd1ZhbHVlczsgZWxzZSBlbHNlRW1pdHRlclwiPlxuICAgICAgICAgICAgICAgIDx0dWktc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwicHJvcGVydHlDb25uZWN0b3IuaGFzSXRlbXM7IGVsc2Ugbm9JdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpRHJvcGRvd25MaW1pdFdpZHRoPVwibWluXCJcbiAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZENsZWFuZXJdPVwic2hvd0NsZWFuZXIocHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VHlwZSlcIlxuICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbbmF0aXZlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVDb250ZW50XT1cInNlbGVjdENvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BlcnR5Q29ubmVjdG9yLm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8Y29kZSBjbGFzcz1cInQtZXhjZXB0aW9uXCI+bnVsbDwvY29kZT5cbiAgICAgICAgICAgICAgICAgICAgPHR1aS1kYXRhLWxpc3Qtd3JhcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgKnR1aURhdGFMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpdGVtQ29udGVudF09XCJzZWxlY3RDb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdHVpLWRhdGEtbGlzdC13cmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvdHVpLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgI3NlbGVjdENvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgbGV0LWRhdGFcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxjb2RlPnt7IGRhdGEgfCB0dWlJbnNwZWN0QW55IH19PC9jb2RlPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vSXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidib29sZWFuJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cImxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dJY29uc109XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS10b2dnbGU+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktcHJpbWl0aXZlLXRleHRmaWVsZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc3RyaW5nJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYXRpdmVJZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVRleHRmaWVsZExhYmVsT3V0c2lkZV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwicHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2NvbG9yJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpR3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5hdHRyTmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0dWlJbnB1dE9wYWNpdHldPVwiZ2V0T3BhY2l0eShwcm9wZXJ0eUNvbm5lY3Rvci5kb2N1bWVudGF0aW9uUHJvcGVydHlWYWx1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ2V0Q29sb3IocHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ29sb3JDaGFuZ2UocHJvcGVydHlDb25uZWN0b3IsICRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktaW5wdXQtY291bnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIjEwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImdldE9wYWNpdHkocHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25PcGFjaXR5Q2hhbmdlKHByb3BlcnR5Q29ubmVjdG9yLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wYWNpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3R1aS1pbnB1dC1jb3VudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLWlucHV0LWNvdW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidudW1iZXInXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0dWlUZXh0ZmllbGRTaXplPVwibVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hdGl2ZUlkXT1cInByb3BlcnR5Q29ubmVjdG9yLmF0dHJOYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wZXJ0eUNvbm5lY3Rvci5vblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLWlucHV0LWNvdW50PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInUG9seW1vcnBoZXVzQ29udGVudCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHVpLXByaW1pdGl2ZS10ZXh0ZmllbGRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc1ByaW1pdGl2ZVBvbHltb3JwaGV1c0NvbnRlbnQocHJvcGVydHlDb25uZWN0b3IuZG9jdW1lbnRhdGlvblByb3BlcnR5VmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmF0aXZlSWRdPVwicHJvcGVydHlDb25uZWN0b3IuYXR0ck5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInByb3BlcnR5Q29ubmVjdG9yLmRvY3VtZW50YXRpb25Qcm9wZXJ0eVZhbHVlLnRvU3RyaW5nKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwicHJvcGVydHlDb25uZWN0b3Iub25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHVpLXByaW1pdGl2ZS10ZXh0ZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VFbWl0dGVyPlxuICAgICAgICAgICAgICAgIDx0dWktbm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1vdXRwdXRcIlxuICAgICAgICAgICAgICAgICAgICBbQGVtaXRFdmVudF09XCJwcm9wZXJ0eUNvbm5lY3Rvci5lbWl0cyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBFbWl0IVxuICAgICAgICAgICAgICAgIDwvdHVpLW5vdGlmaWNhdGlvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGQ+XG4gICAgPC90cj5cbjwvdGFibGU+XG4iXX0=
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=
@@ -7,13 +7,27 @@ import { TuiBadgeModule, TuiDataListWrapperModule, TuiInputCountModule, TuiSelec
7
7
  import { TuiInputOpacityModule } from '../../internal/input-opacity/input-opacity.module';
8
8
  import { TuiDocDocumentationComponent } from './documentation.component';
9
9
  import { TuiDocDocumentationPropertyConnectorDirective } from './documentation-property-connector.directive';
10
+ import { TuiShowCleanerPipe } from './pipes/cleaner.pipe';
11
+ import { TuiShowContentTooltip } from './pipes/content-tooltip.pipe';
10
12
  import { TuiInspectPipe } from './pipes/inspect.pipe';
13
+ import { TuiGetOpacityPipe } from './pipes/opacity.pipe';
14
+ import { TuiIsOptionalPipe } from './pipes/optional.pipe';
15
+ import { TuiIsPrimitivePolymorpheusContentPipe } from './pipes/primitive-polymorpheus-content.pipe';
16
+ import { TuiStripOptionalPipe } from './pipes/strip-optional.pipe';
17
+ import { TuiGetColorPipe } from './pipes/сolor.pipe';
11
18
  import * as i0 from "@angular/core";
12
19
  export class TuiDocDocumentationModule {
13
20
  }
14
21
  TuiDocDocumentationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
22
  TuiDocDocumentationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationModule, declarations: [TuiInspectPipe,
23
+ TuiGetColorPipe,
24
+ TuiGetOpacityPipe,
25
+ TuiIsOptionalPipe,
26
+ TuiShowCleanerPipe,
27
+ TuiStripOptionalPipe,
28
+ TuiShowContentTooltip,
16
29
  TuiDocDocumentationComponent,
30
+ TuiIsPrimitivePolymorpheusContentPipe,
17
31
  TuiDocDocumentationPropertyConnectorDirective], imports: [CommonModule,
18
32
  FormsModule,
19
33
  RouterModule,
@@ -78,7 +92,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
78
92
  ],
79
93
  declarations: [
80
94
  TuiInspectPipe,
95
+ TuiGetColorPipe,
96
+ TuiGetOpacityPipe,
97
+ TuiIsOptionalPipe,
98
+ TuiShowCleanerPipe,
99
+ TuiStripOptionalPipe,
100
+ TuiShowContentTooltip,
81
101
  TuiDocDocumentationComponent,
102
+ TuiIsPrimitivePolymorpheusContentPipe,
82
103
  TuiDocDocumentationPropertyConnectorDirective,
83
104
  ],
84
105
  exports: [
@@ -87,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
87
108
  ],
88
109
  }]
89
110
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBaUNwRCxNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCO3dIQUF6Qix5QkFBeUIsaUJBVDlCLGNBQWM7UUFDZCw0QkFBNEI7UUFDNUIsNkNBQTZDLGFBdEI3QyxZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsY0FBYztRQUNkLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLHFCQUFxQixhQVFyQiw0QkFBNEI7UUFDNUIsNkNBQTZDO3dIQUd4Qyx5QkFBeUIsWUE5QnpCO1lBQ0wsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixxQkFBcUI7U0FDeEI7NEZBV1EseUJBQXlCO2tCQS9CckMsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLHFCQUFxQjtxQkFDeEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGNBQWM7d0JBQ2QsNEJBQTRCO3dCQUM1Qiw2Q0FBNkM7cUJBQ2hEO29CQUNELE9BQU8sRUFBRTt3QkFDTCw0QkFBNEI7d0JBQzVCLDZDQUE2QztxQkFDaEQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgIFR1aURyb3Bkb3duTW9kdWxlLFxuICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgVHVpTW9kZU1vZHVsZSxcbiAgICBUdWlOb3RpZmljYXRpb25Nb2R1bGUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgVHVpVG9vbHRpcE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlCYWRnZU1vZHVsZSxcbiAgICBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUsXG4gICAgVHVpSW5wdXRDb3VudE1vZHVsZSxcbiAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgVHVpVG9nZ2xlTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHtUdWlJbnB1dE9wYWNpdHlNb2R1bGV9IGZyb20gJy4uLy4uL2ludGVybmFsL2lucHV0LW9wYWNpdHkvaW5wdXQtb3BhY2l0eS5tb2R1bGUnO1xuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2RvY3VtZW50YXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2RvY3VtZW50YXRpb24tcHJvcGVydHktY29ubmVjdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUluc3BlY3RQaXBlfSBmcm9tICcuL3BpcGVzL2luc3BlY3QucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIFR1aUJhZGdlTW9kdWxlLFxuICAgICAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgICAgIFR1aVRvZ2dsZU1vZHVsZSxcbiAgICAgICAgVHVpVG9vbHRpcE1vZHVsZSxcbiAgICAgICAgVHVpTGlua01vZHVsZSxcbiAgICAgICAgVHVpSW5wdXRDb3VudE1vZHVsZSxcbiAgICAgICAgVHVpTW9kZU1vZHVsZSxcbiAgICAgICAgVHVpR3JvdXBNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0T3BhY2l0eU1vZHVsZSxcbiAgICAgICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgICAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxuICAgICAgICBUdWlEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgVHVpRGF0YUxpc3RNb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0V3JhcHBlck1vZHVsZSxcbiAgICAgICAgVHVpTm90aWZpY2F0aW9uTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFR1aUluc3BlY3RQaXBlLFxuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50LFxuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmUsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFR1aURvY0RvY3VtZW50YXRpb25Db21wb25lbnQsXG4gICAgICAgIFR1aURvY0RvY3VtZW50YXRpb25Qcm9wZXJ0eUNvbm5lY3RvckRpcmVjdGl2ZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NEb2N1bWVudGF0aW9uTW9kdWxlIHt9XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9kb2N1bWVudGF0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxhQUFhLEVBQ2IsYUFBYSxFQUNiLHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGdCQUFnQixHQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUN4RixPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUMsNkNBQTZDLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFDbEcsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDOztBQXdDbkQsTUFBTSxPQUFPLHlCQUF5Qjs7dUhBQXpCLHlCQUF5Qjt3SEFBekIseUJBQXlCLGlCQWhCOUIsY0FBYztRQUNkLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIscUJBQXFCO1FBQ3JCLDRCQUE0QjtRQUM1QixxQ0FBcUM7UUFDckMsNkNBQTZDLGFBN0I3QyxZQUFZO1FBQ1osV0FBVztRQUNYLFlBQVk7UUFDWixjQUFjO1FBQ2QsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsY0FBYztRQUNkLHFCQUFxQjtRQUNyQiwyQkFBMkI7UUFDM0IsNEJBQTRCO1FBQzVCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLHFCQUFxQixhQWVyQiw0QkFBNEI7UUFDNUIsNkNBQTZDO3dIQUd4Qyx5QkFBeUIsWUFyQ3pCO1lBQ0wsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGNBQWM7WUFDZCxxQkFBcUI7WUFDckIsMkJBQTJCO1lBQzNCLDRCQUE0QjtZQUM1QixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLHdCQUF3QjtZQUN4QixxQkFBcUI7U0FDeEI7NEZBa0JRLHlCQUF5QjtrQkF0Q3JDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1QixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsd0JBQXdCO3dCQUN4QixxQkFBcUI7cUJBQ3hCO29CQUNELFlBQVksRUFBRTt3QkFDVixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIscUNBQXFDO3dCQUNyQyw2Q0FBNkM7cUJBQ2hEO29CQUNELE9BQU8sRUFBRTt3QkFDTCw0QkFBNEI7d0JBQzVCLDZDQUE2QztxQkFDaEQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgIFR1aURyb3Bkb3duTW9kdWxlLFxuICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgVHVpTW9kZU1vZHVsZSxcbiAgICBUdWlOb3RpZmljYXRpb25Nb2R1bGUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgVHVpVG9vbHRpcE1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlCYWRnZU1vZHVsZSxcbiAgICBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUsXG4gICAgVHVpSW5wdXRDb3VudE1vZHVsZSxcbiAgICBUdWlTZWxlY3RNb2R1bGUsXG4gICAgVHVpVG9nZ2xlTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkva2l0JztcblxuaW1wb3J0IHtUdWlJbnB1dE9wYWNpdHlNb2R1bGV9IGZyb20gJy4uLy4uL2ludGVybmFsL2lucHV0LW9wYWNpdHkvaW5wdXQtb3BhY2l0eS5tb2R1bGUnO1xuaW1wb3J0IHtUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50fSBmcm9tICcuL2RvY3VtZW50YXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7VHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlfSBmcm9tICcuL2RvY3VtZW50YXRpb24tcHJvcGVydHktY29ubmVjdG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aVNob3dDbGVhbmVyUGlwZX0gZnJvbSAnLi9waXBlcy9jbGVhbmVyLnBpcGUnO1xuaW1wb3J0IHtUdWlTaG93Q29udGVudFRvb2x0aXB9IGZyb20gJy4vcGlwZXMvY29udGVudC10b29sdGlwLnBpcGUnO1xuaW1wb3J0IHtUdWlJbnNwZWN0UGlwZX0gZnJvbSAnLi9waXBlcy9pbnNwZWN0LnBpcGUnO1xuaW1wb3J0IHtUdWlHZXRPcGFjaXR5UGlwZX0gZnJvbSAnLi9waXBlcy9vcGFjaXR5LnBpcGUnO1xuaW1wb3J0IHtUdWlJc09wdGlvbmFsUGlwZX0gZnJvbSAnLi9waXBlcy9vcHRpb25hbC5waXBlJztcbmltcG9ydCB7VHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZX0gZnJvbSAnLi9waXBlcy9wcmltaXRpdmUtcG9seW1vcnBoZXVzLWNvbnRlbnQucGlwZSc7XG5pbXBvcnQge1R1aVN0cmlwT3B0aW9uYWxQaXBlfSBmcm9tICcuL3BpcGVzL3N0cmlwLW9wdGlvbmFsLnBpcGUnO1xuaW1wb3J0IHtUdWlHZXRDb2xvclBpcGV9IGZyb20gJy4vcGlwZXMv0YFvbG9yLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBUdWlCYWRnZU1vZHVsZSxcbiAgICAgICAgVHVpU2VsZWN0TW9kdWxlLFxuICAgICAgICBUdWlUb2dnbGVNb2R1bGUsXG4gICAgICAgIFR1aVRvb2x0aXBNb2R1bGUsXG4gICAgICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgICAgIFR1aUlucHV0Q291bnRNb2R1bGUsXG4gICAgICAgIFR1aU1vZGVNb2R1bGUsXG4gICAgICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE9wYWNpdHlNb2R1bGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgICAgICBUdWlEYXRhTGlzdFdyYXBwZXJNb2R1bGUsXG4gICAgICAgIFR1aU5vdGlmaWNhdGlvbk1vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBUdWlJbnNwZWN0UGlwZSxcbiAgICAgICAgVHVpR2V0Q29sb3JQaXBlLFxuICAgICAgICBUdWlHZXRPcGFjaXR5UGlwZSxcbiAgICAgICAgVHVpSXNPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVNob3dDbGVhbmVyUGlwZSxcbiAgICAgICAgVHVpU3RyaXBPcHRpb25hbFBpcGUsXG4gICAgICAgIFR1aVNob3dDb250ZW50VG9vbHRpcCxcbiAgICAgICAgVHVpRG9jRG9jdW1lbnRhdGlvbkNvbXBvbmVudCxcbiAgICAgICAgVHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZSxcbiAgICAgICAgVHVpRG9jRG9jdW1lbnRhdGlvblByb3BlcnR5Q29ubmVjdG9yRGlyZWN0aXZlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uQ29tcG9uZW50LFxuICAgICAgICBUdWlEb2NEb2N1bWVudGF0aW9uUHJvcGVydHlDb25uZWN0b3JEaXJlY3RpdmUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRG9jdW1lbnRhdGlvbk1vZHVsZSB7fVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TuiShowCleanerPipe {
4
+ transform(type) {
5
+ return type.includes(`null`);
6
+ }
7
+ }
8
+ TuiShowCleanerPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiShowCleanerPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ TuiShowCleanerPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiShowCleanerPipe, name: "tuiShowCleanerPipe" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiShowCleanerPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{ name: `tuiShowCleanerPipe` }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5lci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vcGlwZXMvY2xlYW5lci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUdsRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCLFNBQVMsQ0FBQyxJQUFZO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOztnSEFIUSxrQkFBa0I7OEdBQWxCLGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQUQ5QixJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe25hbWU6IGB0dWlTaG93Q2xlYW5lclBpcGVgfSlcbmV4cG9ydCBjbGFzcyBUdWlTaG93Q2xlYW5lclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlLmluY2x1ZGVzKGBudWxsYCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TuiShowContentTooltip {
4
+ transform(type) {
5
+ return type.includes(`PolymorpheusContent`);
6
+ }
7
+ }
8
+ TuiShowContentTooltip.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiShowContentTooltip, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ TuiShowContentTooltip.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiShowContentTooltip, name: "tuiShowContentTooltip" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiShowContentTooltip, decorators: [{
11
+ type: Pipe,
12
+ args: [{ name: `tuiShowContentTooltip` }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10b29sdGlwLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9waXBlcy9jb250ZW50LXRvb2x0aXAucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQzs7QUFHbEQsTUFBTSxPQUFPLHFCQUFxQjtJQUM5QixTQUFTLENBQUMsSUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNoRCxDQUFDOzttSEFIUSxxQkFBcUI7aUhBQXJCLHFCQUFxQjs0RkFBckIscUJBQXFCO2tCQURqQyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLHVCQUF1QixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe25hbWU6IGB0dWlTaG93Q29udGVudFRvb2x0aXBgfSlcbmV4cG9ydCBjbGFzcyBUdWlTaG93Q29udGVudFRvb2x0aXAgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0eXBlLmluY2x1ZGVzKGBQb2x5bW9ycGhldXNDb250ZW50YCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TuiGetOpacityPipe {
4
+ transform(color) {
5
+ if (color.startsWith(`#`) || color.startsWith(`rgb(`)) {
6
+ return 100;
7
+ }
8
+ if (color === `transparent`) {
9
+ return 0;
10
+ }
11
+ const lastComma = color.lastIndexOf(`,`);
12
+ const parsed = color
13
+ .slice(lastComma)
14
+ .replace(`)`, ``)
15
+ .replace(` `, ``)
16
+ .replace(`,`, ``);
17
+ return Math.round(Number.parseFloat(parsed) * 100);
18
+ }
19
+ }
20
+ TuiGetOpacityPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiGetOpacityPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ TuiGetOpacityPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiGetOpacityPipe, name: "tuiGetOpacity" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiGetOpacityPipe, decorators: [{
23
+ type: Pipe,
24
+ args: [{ name: `tuiGetOpacity` }]
25
+ }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BhY2l0eS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy9jb21wb25lbnRzL2RvY3VtZW50YXRpb24vcGlwZXMvb3BhY2l0eS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxJQUFJLEVBQWdCLE1BQU0sZUFBZSxDQUFDOztBQUdsRCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFNBQVMsQ0FBQyxLQUFhO1FBQ25CLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ25ELE9BQU8sR0FBRyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEtBQUssS0FBSyxhQUFhLEVBQUU7WUFDekIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSzthQUNmLEtBQUssQ0FBQyxTQUFTLENBQUM7YUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7YUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7YUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUV0QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDOzsrR0FsQlEsaUJBQWlCOzZHQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxlQUFlLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7bmFtZTogYHR1aUdldE9wYWNpdHlgfSlcbmV4cG9ydCBjbGFzcyBUdWlHZXRPcGFjaXR5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShjb2xvcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKGNvbG9yLnN0YXJ0c1dpdGgoYCNgKSB8fCBjb2xvci5zdGFydHNXaXRoKGByZ2IoYCkpIHtcbiAgICAgICAgICAgIHJldHVybiAxMDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IgPT09IGB0cmFuc3BhcmVudGApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGFzdENvbW1hID0gY29sb3IubGFzdEluZGV4T2YoYCxgKTtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY29sb3JcbiAgICAgICAgICAgIC5zbGljZShsYXN0Q29tbWEpXG4gICAgICAgICAgICAucmVwbGFjZShgKWAsIGBgKVxuICAgICAgICAgICAgLnJlcGxhY2UoYCBgLCBgYClcbiAgICAgICAgICAgIC5yZXBsYWNlKGAsYCwgYGApO1xuXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKE51bWJlci5wYXJzZUZsb2F0KHBhcnNlZCkgKiAxMDApO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,14 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TuiIsOptionalPipe {
4
+ transform(name) {
5
+ return name.includes(`?`);
6
+ }
7
+ }
8
+ TuiIsOptionalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsOptionalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ TuiIsOptionalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsOptionalPipe, name: "tuiIsOptionalPipe" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsOptionalPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{ name: `tuiIsOptionalPipe` }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL3BpcGVzL29wdGlvbmFsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBR2xELE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsU0FBUyxDQUFDLElBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OytHQUhRLGlCQUFpQjs2R0FBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBRDdCLElBQUk7bUJBQUMsRUFBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BpcGUsIFBpcGVUcmFuc2Zvcm19IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7bmFtZTogYHR1aUlzT3B0aW9uYWxQaXBlYH0pXG5leHBvcnQgY2xhc3MgVHVpSXNPcHRpb25hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0obmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBuYW1lLmluY2x1ZGVzKGA/YCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,15 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { tuiIsNumber, tuiIsString } from '@taiga-ui/cdk';
3
+ import * as i0 from "@angular/core";
4
+ export class TuiIsPrimitivePolymorpheusContentPipe {
5
+ transform(value) {
6
+ return tuiIsString(value) || tuiIsNumber(value);
7
+ }
8
+ }
9
+ TuiIsPrimitivePolymorpheusContentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPrimitivePolymorpheusContentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ TuiIsPrimitivePolymorpheusContentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPrimitivePolymorpheusContentPipe, name: "tuiIsPrimitivePolymorpheusContentPipe" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPrimitivePolymorpheusContentPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{ name: `tuiIsPrimitivePolymorpheusContentPipe` }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbWl0aXZlLXBvbHltb3JwaGV1cy1jb250ZW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9waXBlcy9wcmltaXRpdmUtcG9seW1vcnBoZXVzLWNvbnRlbnQucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFHdkQsTUFBTSxPQUFPLHFDQUFxQztJQUM5QyxTQUFTLENBQUMsS0FBYztRQUNwQixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7bUlBSFEscUNBQXFDO2lJQUFyQyxxQ0FBcUM7NEZBQXJDLHFDQUFxQztrQkFEakQsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSx1Q0FBdUMsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUlzTnVtYmVyLCB0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbkBQaXBlKHtuYW1lOiBgdHVpSXNQcmltaXRpdmVQb2x5bW9ycGhldXNDb250ZW50UGlwZWB9KVxuZXhwb3J0IGNsYXNzIFR1aUlzUHJpbWl0aXZlUG9seW1vcnBoZXVzQ29udGVudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHVua25vd24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzU3RyaW5nKHZhbHVlKSB8fCB0dWlJc051bWJlcih2YWx1ZSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TuiStripOptionalPipe {
4
+ transform(name) {
5
+ return name.replace(`?`, ``);
6
+ }
7
+ }
8
+ TuiStripOptionalPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiStripOptionalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
9
+ TuiStripOptionalPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiStripOptionalPipe, name: "tuiStripOptionalPipe" });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiStripOptionalPipe, decorators: [{
11
+ type: Pipe,
12
+ args: [{ name: `tuiStripOptionalPipe` }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXAtb3B0aW9uYWwucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9kb2N1bWVudGF0aW9uL3BpcGVzL3N0cmlwLW9wdGlvbmFsLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBR2xELE1BQU0sT0FBTyxvQkFBb0I7SUFDN0IsU0FBUyxDQUFDLElBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDOztrSEFIUSxvQkFBb0I7Z0hBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQURoQyxJQUFJO21CQUFDLEVBQUMsSUFBSSxFQUFFLHNCQUFzQixFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQaXBlLCBQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe25hbWU6IGB0dWlTdHJpcE9wdGlvbmFsUGlwZWB9KVxuZXhwb3J0IGNsYXNzIFR1aVN0cmlwT3B0aW9uYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBuYW1lLnJlcGxhY2UoYD9gLCBgYCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,35 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { tuiRgbToHex } from '@taiga-ui/cdk';
3
+ import * as i0 from "@angular/core";
4
+ export class TuiGetColorPipe {
5
+ transform(color) {
6
+ if (color.length === 4) {
7
+ return color
8
+ .split(``)
9
+ .reduce((result, current) => [...result, current, current], [])
10
+ .join(``)
11
+ .replace(`#`, ``);
12
+ }
13
+ if (color.startsWith(`#`)) {
14
+ return color;
15
+ }
16
+ if (color === `transparent`) {
17
+ return `#000000`;
18
+ }
19
+ const parsed = color
20
+ .replace(`rgb(`, ``)
21
+ .replace(`rgba(`, ``)
22
+ .replace(`)`, ``)
23
+ .replace(` `, ``)
24
+ .split(`,`)
25
+ .map(v => Number.parseInt(v, 10));
26
+ return tuiRgbToHex(...parsed);
27
+ }
28
+ }
29
+ TuiGetColorPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiGetColorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
30
+ TuiGetColorPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiGetColorPipe, name: "tuiGetColorPipe" });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiGetColorPipe, decorators: [{
32
+ type: Pipe,
33
+ args: [{ name: `tuiGetColorPipe` }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoi0YFvbG9yLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvZG9jdW1lbnRhdGlvbi9waXBlcy/RgW9sb3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUcxQyxNQUFNLE9BQU8sZUFBZTtJQUN4QixTQUFTLENBQUMsS0FBYTtRQUNuQixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sS0FBSztpQkFDUCxLQUFLLENBQUMsRUFBRSxDQUFDO2lCQUNULE1BQU0sQ0FBVyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztpQkFDeEUsSUFBSSxDQUFDLEVBQUUsQ0FBQztpQkFDUixPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCO1FBRUQsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxLQUFLLEtBQUssYUFBYSxFQUFFO1lBQ3pCLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSzthQUNmLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO2FBQ25CLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2FBQ3BCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ2hCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2FBQ2hCLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBNkIsQ0FBQztRQUVsRSxPQUFPLFdBQVcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OzZHQTNCUSxlQUFlOzJHQUFmLGVBQWU7NEZBQWYsZUFBZTtrQkFEM0IsSUFBSTttQkFBQyxFQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGlwZSwgUGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVJnYlRvSGV4fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuQFBpcGUoe25hbWU6IGB0dWlHZXRDb2xvclBpcGVgfSlcbmV4cG9ydCBjbGFzcyBUdWlHZXRDb2xvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oY29sb3I6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChjb2xvci5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xvclxuICAgICAgICAgICAgICAgIC5zcGxpdChgYClcbiAgICAgICAgICAgICAgICAucmVkdWNlPHN0cmluZ1tdPigocmVzdWx0LCBjdXJyZW50KSA9PiBbLi4ucmVzdWx0LCBjdXJyZW50LCBjdXJyZW50XSwgW10pXG4gICAgICAgICAgICAgICAgLmpvaW4oYGApXG4gICAgICAgICAgICAgICAgLnJlcGxhY2UoYCNgLCBgYCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3Iuc3RhcnRzV2l0aChgI2ApKSB7XG4gICAgICAgICAgICByZXR1cm4gY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29sb3IgPT09IGB0cmFuc3BhcmVudGApIHtcbiAgICAgICAgICAgIHJldHVybiBgIzAwMDAwMGA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJzZWQgPSBjb2xvclxuICAgICAgICAgICAgLnJlcGxhY2UoYHJnYihgLCBgYClcbiAgICAgICAgICAgIC5yZXBsYWNlKGByZ2JhKGAsIGBgKVxuICAgICAgICAgICAgLnJlcGxhY2UoYClgLCBgYClcbiAgICAgICAgICAgIC5yZXBsYWNlKGAgYCwgYGApXG4gICAgICAgICAgICAuc3BsaXQoYCxgKVxuICAgICAgICAgICAgLm1hcCh2ID0+IE51bWJlci5wYXJzZUludCh2LCAxMCkpIGFzIFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblxuICAgICAgICByZXR1cm4gdHVpUmdiVG9IZXgoLi4ucGFyc2VkKTtcbiAgICB9XG59XG4iXX0=