@taiga-ui/kit 3.20.0 → 3.21.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 (70) hide show
  1. package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -4
  2. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-input-count.umd.js +56 -101
  4. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-input-number.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  10. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-time.umd.js +9 -2
  12. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  16. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
  18. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-services.umd.js +67 -0
  20. package/bundles/taiga-ui-kit-services.umd.js.map +1 -0
  21. package/bundles/taiga-ui-kit.umd.js +10 -4
  22. package/bundles/taiga-ui-kit.umd.js.map +1 -1
  23. package/components/input-count/input-count.component.d.ts +3 -9
  24. package/components/input-count/input-count.directive.d.ts +1 -1
  25. package/components/input-count/input-count.module.d.ts +5 -3
  26. package/components/input-time/input-time.component.d.ts +1 -0
  27. package/components/push/push-alert.directive.d.ts +1 -1
  28. package/esm2015/components/carousel/carousel.directive.js +5 -5
  29. package/esm2015/components/input-count/input-count.component.js +20 -58
  30. package/esm2015/components/input-count/input-count.directive.js +3 -3
  31. package/esm2015/components/input-count/input-count.module.js +10 -2
  32. package/esm2015/components/input-number/input-number.directive.js +2 -2
  33. package/esm2015/components/input-phone-international/tokens/countries-masks.js +2 -2
  34. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  35. package/esm2015/components/input-time/input-time.component.js +6 -3
  36. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  37. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  38. package/esm2015/components/push/push-alert.directive.js +5 -5
  39. package/esm2015/index.js +2 -1
  40. package/esm2015/services/dialog-form.service.js +32 -0
  41. package/esm2015/services/index.js +2 -0
  42. package/esm2015/services/taiga-ui-kit-services.js +5 -0
  43. package/fesm2015/taiga-ui-kit-components-carousel.js +4 -4
  44. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  45. package/fesm2015/taiga-ui-kit-components-input-count.js +29 -61
  46. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  47. package/fesm2015/taiga-ui-kit-components-input-number.js +1 -1
  48. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  49. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  50. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  51. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  52. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  53. package/fesm2015/taiga-ui-kit-components-input-time.js +5 -2
  54. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  55. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
  56. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  57. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  58. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  59. package/fesm2015/taiga-ui-kit-components-push.js +4 -4
  60. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  61. package/fesm2015/taiga-ui-kit-services.js +39 -0
  62. package/fesm2015/taiga-ui-kit-services.js.map +1 -0
  63. package/fesm2015/taiga-ui-kit.js +1 -0
  64. package/fesm2015/taiga-ui-kit.js.map +1 -1
  65. package/index.d.ts +1 -0
  66. package/package.json +4 -4
  67. package/services/dialog-form.service.d.ts +14 -0
  68. package/services/index.d.ts +1 -0
  69. package/services/package.json +10 -0
  70. package/services/taiga-ui-kit-services.d.ts +5 -0
@@ -12,7 +12,7 @@ export declare class TuiInputCountComponent extends AbstractTuiNullableControl<n
12
12
  private readonly isMobile;
13
13
  readonly options: TuiInputCountOptions;
14
14
  private readonly numberFormat;
15
- private readonly primitiveTextfield?;
15
+ private readonly inputNumber?;
16
16
  step: number;
17
17
  min: number;
18
18
  max: number;
@@ -29,22 +29,16 @@ export declare class TuiInputCountComponent extends AbstractTuiNullableControl<n
29
29
  get nativeFocusableElement(): HTMLInputElement | null;
30
30
  get size(): TuiSizeL | TuiSizeS;
31
31
  get focused(): boolean;
32
- get exampleText(): string;
33
- get computedValue(): string;
34
32
  get minusButtonDisabled(): boolean;
35
33
  get plusButtonDisabled(): boolean;
36
34
  onButtonMouseDown(event: MouseEvent, disabled?: boolean): void;
37
- onFocused(focused: boolean): void;
38
- onValueChange(): void;
35
+ onInputNumberChange(value: number | null): void;
36
+ onValueChange(value: string): void;
39
37
  decreaseValue(): void;
40
38
  increaseValue(): void;
41
39
  onKeydown(event: KeyboardEvent): void;
42
- private get nativeNumberValue();
43
- private get nativeValue();
44
40
  private set nativeValue(value);
45
41
  private safeUpdateValue;
46
- private capValue;
47
- private onBlur;
48
42
  private formatNumber;
49
43
  private isNotNumber;
50
44
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputCountComponent, [{ optional: true; self: true; }, null, null, null, null, null, null]>;
@@ -3,7 +3,7 @@ import { AbstractTuiTextfieldHost } from '@taiga-ui/core';
3
3
  import { TuiInputCountComponent } from './input-count.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TuiInputCountDirective extends AbstractTuiTextfieldHost<TuiInputCountComponent> implements AfterViewInit {
6
- onValueChange(): void;
6
+ onValueChange(value: string): void;
7
7
  ngAfterViewInit(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputCountDirective, never>;
9
9
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputCountDirective, "tui-input-count", never, {}, {}, never>;
@@ -3,10 +3,12 @@ import * as i1 from "./input-count.component";
3
3
  import * as i2 from "./input-count.directive";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "@taiga-ui/kit/directives";
6
- import * as i5 from "@taiga-ui/core";
7
- import * as i6 from "@tinkoff/ng-polymorpheus";
6
+ import * as i5 from "@angular/forms";
7
+ import * as i6 from "@taiga-ui/core";
8
+ import * as i7 from "@tinkoff/ng-polymorpheus";
9
+ import * as i8 from "@taiga-ui/kit/components/input-number";
8
10
  export declare class TuiInputCountModule {
9
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputCountModule, never>;
10
- static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputCountModule, [typeof i1.TuiInputCountComponent, typeof i2.TuiInputCountDirective], [typeof i3.CommonModule, typeof i4.TextMaskModule, typeof i5.TuiButtonModule, typeof i5.TuiPrimitiveTextfieldModule, typeof i5.TuiTextfieldControllerModule, typeof i4.TuiValueAccessorModule, typeof i6.PolymorpheusModule], [typeof i1.TuiInputCountComponent, typeof i2.TuiInputCountDirective, typeof i5.TuiTextfieldComponent]>;
12
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputCountModule, [typeof i1.TuiInputCountComponent, typeof i2.TuiInputCountDirective], [typeof i3.CommonModule, typeof i4.TextMaskModule, typeof i5.FormsModule, typeof i6.TuiButtonModule, typeof i6.TuiPrimitiveTextfieldModule, typeof i6.TuiTextfieldControllerModule, typeof i4.TuiValueAccessorModule, typeof i7.PolymorpheusModule, typeof i8.TuiInputNumberModule], [typeof i1.TuiInputCountComponent, typeof i2.TuiInputCountDirective, typeof i6.TuiTextfieldComponent]>;
11
13
  static ɵinj: i0.ɵɵInjectorDeclaration<TuiInputCountModule>;
12
14
  }
@@ -20,6 +20,7 @@ export declare class TuiInputTimeComponent extends AbstractTuiNullableControl<Tu
20
20
  constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, timeTexts$: Observable<Record<TuiTimeMode, string>>, options: TuiInputTimeOptions);
21
21
  get nativeFocusableElement(): HTMLInputElement | null;
22
22
  get focused(): boolean;
23
+ get canOpen(): boolean;
23
24
  get filtered(): readonly TuiTime[];
24
25
  get textMaskOptions(): TuiTextMaskOptions;
25
26
  get computedValue(): string;
@@ -3,7 +3,7 @@ import { PolymorpheusTemplate } from '@tinkoff/ng-polymorpheus';
3
3
  import { Observable } from 'rxjs';
4
4
  import { TuiPushService } from './push.service';
5
5
  import * as i0 from "@angular/core";
6
- export declare class TuiPushAlertDirective extends PolymorpheusTemplate<any> {
6
+ export declare class TuiPushAlertDirective extends PolymorpheusTemplate {
7
7
  private readonly show$;
8
8
  set tuiPush(show: boolean);
9
9
  constructor(template: TemplateRef<any>, changeDetectorRef: ChangeDetectorRef, destroy$: Observable<unknown>, push: TuiPushService);
@@ -1,8 +1,8 @@
1
1
  import { Directive, ElementRef, Inject, Input } from '@angular/core';
2
2
  import { PAGE_VISIBILITY } from '@ng-web-apis/common';
3
- import { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, tuiTypedFromEvent, } from '@taiga-ui/cdk';
4
- import { BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable } from 'rxjs';
5
- import { map, switchMap } from 'rxjs/operators';
3
+ import { ALWAYS_FALSE_HANDLER, ALWAYS_TRUE_HANDLER, tuiIfMap, tuiTypedFromEvent, } from '@taiga-ui/cdk';
4
+ import { BehaviorSubject, combineLatest, interval, merge, Observable } from 'rxjs';
5
+ import { map } from 'rxjs/operators';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "rxjs";
8
8
  export class TuiCarouselDirective extends Observable {
@@ -12,7 +12,7 @@ export class TuiCarouselDirective extends Observable {
12
12
  this.visible$ = visible$;
13
13
  this.duration$ = new BehaviorSubject(0);
14
14
  this.running$ = merge(tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(map(ALWAYS_FALSE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(map(ALWAYS_FALSE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(map(ALWAYS_TRUE_HANDLER)), tuiTypedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(map(ALWAYS_TRUE_HANDLER)), this.visible$);
15
- this.output$ = combineLatest([this.duration$, this.running$]).pipe(switchMap(([duration, running]) => duration && running ? interval(duration) : EMPTY));
15
+ this.output$ = combineLatest([this.duration$, this.running$]).pipe(tuiIfMap(([duration]) => interval(duration), values => values.every(Boolean)));
16
16
  }
17
17
  set duration(duration) {
18
18
  this.duration$.next(duration);
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
39
39
  }], index: [{
40
40
  type: Input
41
41
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEYsT0FBTyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzlDLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxVQUFtQjtJQW1DekQsWUFDeUMsVUFBbUMsRUFDOUIsUUFBNkI7UUFFdkUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUhuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUM5QixhQUFRLEdBQVIsUUFBUSxDQUFxQjtRQXBDMUQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLGFBQVEsR0FBRyxLQUFLLENBQzdCLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQzVCLEVBQ0QsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FDNUIsRUFDRCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQzdELEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUMzQixFQUNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQzNCLEVBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUVlLFlBQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDMUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUM5QixRQUFRLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDbkQsQ0FDSixDQUFDO0lBaUJGLENBQUM7SUFmRCxJQUNJLFFBQVEsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7a0hBakNRLG9CQUFvQixrQkFvQ2pCLFVBQVUsYUFDVixlQUFlO3NHQXJDbEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOzswQkFxQ1EsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxlQUFlOzRDQVh2QixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQQUdFX1ZJU0lCSUxJVFl9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIHR1aVR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBFTVBUWSwgaW50ZXJ2YWwsIG1lcmdlLCBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2Fyb3VzZWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYXJvdXNlbERpcmVjdGl2ZSBleHRlbmRzIE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnVubmluZyQgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfRkFMU0VfSEFORExFUiksXG4gICAgICAgICksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoQUxXQVlTX0ZBTFNFX0hBTkRMRVIpLFxuICAgICAgICApLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvdWNoZW5kJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfVFJVRV9IQU5ETEVSKSxcbiAgICAgICAgKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfVFJVRV9IQU5ETEVSKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy52aXNpYmxlJCxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvdXRwdXQkID0gY29tYmluZUxhdGVzdChbdGhpcy5kdXJhdGlvbiQsIHRoaXMucnVubmluZyRdKS5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKFtkdXJhdGlvbiwgcnVubmluZ10pID0+XG4gICAgICAgICAgICBkdXJhdGlvbiAmJiBydW5uaW5nID8gaW50ZXJ2YWwoZHVyYXRpb24pIDogRU1QVFksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGR1cmF0aW9uKGR1cmF0aW9uOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5kdXJhdGlvbiQubmV4dChkdXJhdGlvbik7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgaW5kZXgoXzogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZHVyYXRpb24kLm5leHQodGhpcy5kdXJhdGlvbiQudmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIEBJbmplY3QoUEFHRV9WSVNJQklMSVRZKSBwcml2YXRlIHJlYWRvbmx5IHZpc2libGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICkge1xuICAgICAgICBzdXBlcihzdWJzY3JpYmVyID0+IHRoaXMub3V0cHV0JC5zdWJzY3JpYmUoc3Vic2NyaWJlcikpO1xuICAgIH1cbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLFFBQVEsRUFDUixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7QUFLbkMsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFVBQW1CO0lBb0N6RCxZQUN5QyxVQUFtQyxFQUM5QixRQUE2QjtRQUV2RSxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBSG5CLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBckMxRCxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkMsYUFBUSxHQUFHLEtBQUssQ0FDN0IsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FDNUIsRUFDRCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUM1QixFQUNELGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQzNCLEVBQ0QsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUMvRCxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FDM0IsRUFDRCxJQUFJLENBQUMsUUFBUSxDQUNoQixDQUFDO1FBRWUsWUFBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRSxRQUFRLENBQ0osQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQ2xDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDbEMsQ0FDSixDQUFDO0lBaUJGLENBQUM7SUFmRCxJQUNJLFFBQVEsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFDSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7a0hBbENRLG9CQUFvQixrQkFxQ2pCLFVBQVUsYUFDVixlQUFlO3NHQXRDbEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCOzswQkFzQ1EsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxlQUFlOzRDQVh2QixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQQUdFX1ZJU0lCSUxJVFl9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBBTFdBWVNfRkFMU0VfSEFORExFUixcbiAgICBBTFdBWVNfVFJVRV9IQU5ETEVSLFxuICAgIHR1aUlmTWFwLFxuICAgIHR1aVR5cGVkRnJvbUV2ZW50LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBpbnRlcnZhbCwgbWVyZ2UsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktY2Fyb3VzZWwnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlDYXJvdXNlbERpcmVjdGl2ZSBleHRlbmRzIE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZHVyYXRpb24kID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcnVubmluZyQgPSBtZXJnZShcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWVudGVyJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfRkFMU0VfSEFORExFUiksXG4gICAgICAgICksXG4gICAgICAgIHR1aVR5cGVkRnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoQUxXQVlTX0ZBTFNFX0hBTkRMRVIpLFxuICAgICAgICApLFxuICAgICAgICB0dWlUeXBlZEZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RvdWNoZW5kJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfVFJVRV9IQU5ETEVSKSxcbiAgICAgICAgKSxcbiAgICAgICAgdHVpVHlwZWRGcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShcbiAgICAgICAgICAgIG1hcChBTFdBWVNfVFJVRV9IQU5ETEVSKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy52aXNpYmxlJCxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvdXRwdXQkID0gY29tYmluZUxhdGVzdChbdGhpcy5kdXJhdGlvbiQsIHRoaXMucnVubmluZyRdKS5waXBlKFxuICAgICAgICB0dWlJZk1hcChcbiAgICAgICAgICAgIChbZHVyYXRpb25dKSA9PiBpbnRlcnZhbChkdXJhdGlvbiksXG4gICAgICAgICAgICB2YWx1ZXMgPT4gdmFsdWVzLmV2ZXJ5KEJvb2xlYW4pLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkdXJhdGlvbihkdXJhdGlvbjogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZHVyYXRpb24kLm5leHQoZHVyYXRpb24pO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGluZGV4KF86IG51bWJlcikge1xuICAgICAgICB0aGlzLmR1cmF0aW9uJC5uZXh0KHRoaXMuZHVyYXRpb24kLnZhbHVlKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFBBR0VfVklTSUJJTElUWSkgcHJpdmF0ZSByZWFkb25seSB2aXNpYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc3Vic2NyaWJlciA9PiB0aGlzLm91dHB1dCQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG59XG4iXX0=
@@ -2,15 +2,17 @@ import { __decorate } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inject, Input, Optional, Self, ViewChild, } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { AbstractTuiNullableControl, TUI_IS_MOBILE, tuiAsControl, tuiAsFocusableItemAccessor, tuiClamp, tuiDefaultProp, tuiIsNativeFocused, tuiIsPresent, tuiPure, } from '@taiga-ui/cdk';
5
- import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_WATCHED_CONTROLLER, tuiCreateNumberMask, tuiFormatNumber, TuiPrimitiveTextfieldComponent, } from '@taiga-ui/core';
5
+ import { TEXTFIELD_CONTROLLER_PROVIDER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_WATCHED_CONTROLLER, tuiCreateNumberMask, tuiEnableAutoCorrectDecimalSymbol, tuiFormatNumber, tuiMaskedNumberStringToNumber, } from '@taiga-ui/core';
6
+ import { TuiInputNumberComponent } from '@taiga-ui/kit/components/input-number';
6
7
  import { TUI_PLUS_MINUS_TEXTS } from '@taiga-ui/kit/tokens';
7
8
  import { TUI_INPUT_COUNT_OPTIONS } from './input-count-options';
8
9
  import * as i0 from "@angular/core";
9
- import * as i1 from "@taiga-ui/core";
10
- import * as i2 from "@taiga-ui/kit/directives";
11
- import * as i3 from "@angular/common";
10
+ import * as i1 from "@taiga-ui/kit/components/input-number";
11
+ import * as i2 from "@taiga-ui/core";
12
+ import * as i3 from "@taiga-ui/kit/directives";
12
13
  import * as i4 from "@angular/forms";
13
- import * as i5 from "rxjs";
14
+ import * as i5 from "@angular/common";
15
+ import * as i6 from "rxjs";
14
16
  export class TuiInputCountComponent extends AbstractTuiNullableControl {
15
17
  constructor(control, changeDetectorRef, textfieldController, minusTexts$, isMobile, options, numberFormat) {
16
18
  super(control, changeDetectorRef);
@@ -34,6 +36,7 @@ export class TuiInputCountComponent extends AbstractTuiNullableControl {
34
36
  allowNegative,
35
37
  decimalSymbol: this.numberFormat.decimalSeparator,
36
38
  thousandSymbol: this.numberFormat.thousandSeparator,
39
+ autoCorrectDecimalSymbol: tuiEnableAutoCorrectDecimalSymbol(this.numberFormat),
37
40
  }),
38
41
  guide: false,
39
42
  };
@@ -48,9 +51,9 @@ export class TuiInputCountComponent extends AbstractTuiNullableControl {
48
51
  return this.options.icons.down;
49
52
  }
50
53
  get nativeFocusableElement() {
51
- return !this.primitiveTextfield || this.computedDisabled
54
+ return !this.inputNumber || this.computedDisabled
52
55
  ? null
53
- : this.primitiveTextfield.nativeFocusableElement;
56
+ : this.inputNumber.nativeFocusableElement;
54
57
  }
55
58
  get size() {
56
59
  return this.textfieldController.size;
@@ -58,12 +61,6 @@ export class TuiInputCountComponent extends AbstractTuiNullableControl {
58
61
  get focused() {
59
62
  return tuiIsNativeFocused(this.nativeFocusableElement);
60
63
  }
61
- get exampleText() {
62
- return String(this.min);
63
- }
64
- get computedValue() {
65
- return this.focused ? this.nativeValue : this.formatNumber(this.value);
66
- }
67
64
  get minusButtonDisabled() {
68
65
  return !this.interactive || (tuiIsPresent(this.value) && this.value <= this.min);
69
66
  }
@@ -77,23 +74,11 @@ export class TuiInputCountComponent extends AbstractTuiNullableControl {
77
74
  event.preventDefault();
78
75
  this.nativeFocusableElement.focus();
79
76
  }
80
- onFocused(focused) {
81
- if (!focused) {
82
- this.onBlur();
83
- }
84
- this.updateFocused(focused);
77
+ onInputNumberChange(value) {
78
+ this.updateValue(value);
85
79
  }
86
- onValueChange() {
87
- const capped = this.capValue(this.nativeNumberValue);
88
- if (this.isNotNumber(capped)) {
89
- this.updateValue(null);
90
- return;
91
- }
92
- const newValue = this.formatNumber(capped);
93
- if (this.nativeValue !== newValue) {
94
- this.nativeValue = newValue;
95
- }
96
- this.updateValue(capped);
80
+ onValueChange(value) {
81
+ this.updateValue(tuiMaskedNumberStringToNumber(value, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator));
97
82
  }
98
83
  decreaseValue() {
99
84
  if (this.readOnly) {
@@ -125,12 +110,6 @@ export class TuiInputCountComponent extends AbstractTuiNullableControl {
125
110
  break;
126
111
  }
127
112
  }
128
- get nativeNumberValue() {
129
- return parseInt(this.nativeValue.split(this.numberFormat.thousandSeparator).join(''), 10);
130
- }
131
- get nativeValue() {
132
- return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';
133
- }
134
113
  set nativeValue(value) {
135
114
  if (!this.nativeFocusableElement) {
136
115
  return;
@@ -142,23 +121,6 @@ export class TuiInputCountComponent extends AbstractTuiNullableControl {
142
121
  this.updateValue(value);
143
122
  this.nativeValue = this.formatNumber(value);
144
123
  }
145
- capValue(value) {
146
- const capped = Math.min(value, this.max);
147
- return Number.isNaN(capped) || capped < this.min ? null : capped;
148
- }
149
- onBlur() {
150
- if (this.isNotNumber(this.value)) {
151
- this.updateValue(null);
152
- return;
153
- }
154
- const value = Math.max(this.nativeNumberValue || 0, this.min);
155
- const formattedValue = this.formatNumber(value);
156
- this.nativeValue = formattedValue;
157
- this.updateValue(value);
158
- if (this.primitiveTextfield) {
159
- this.primitiveTextfield.value = formattedValue;
160
- }
161
- }
162
124
  formatNumber(value) {
163
125
  return this.isNotNumber(value) ? '' : tuiFormatNumber(value, this.numberFormat);
164
126
  }
@@ -171,7 +133,7 @@ TuiInputCountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
171
133
  tuiAsFocusableItemAccessor(TuiInputCountComponent),
172
134
  tuiAsControl(TuiInputCountComponent),
173
135
  TEXTFIELD_CONTROLLER_PROVIDER,
174
- ], viewQueries: [{ propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01);text-align:left}:host._disabled{pointer-events:none}:host[data-size=l]{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-textfield{position:relative;border-radius:inherit;text-align:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .t-textfield{border-top-right-radius:0;border-bottom-right-radius:0}.t-buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.t-buttons .t-button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.t-buttons .t-button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.t-buttons .t-button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-size=l] .t-buttons .t-button{width:calc(var(--tui-height-l) * .75)}\n"], components: [{ type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i2.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
136
+ ], viewQueries: [{ propertyName: "inputNumber", first: true, predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-input-number\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [min]=\"min\"\n [max]=\"max\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [ngModel]=\"value\"\n [nativeId]=\"nativeId\"\n (ngModelChange)=\"onInputNumberChange($event)\"\n (keydown)=\"onKeydown($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-input-number>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01);text-align:left}:host._disabled{pointer-events:none}:host[data-size=l]{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-textfield{position:relative;border-radius:inherit;text-align:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .t-textfield{border-top-right-radius:0;border-bottom-right-radius:0}.t-buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.t-buttons .t-button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.t-buttons .t-button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.t-buttons .t-button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-size=l] .t-buttons .t-button{width:calc(var(--tui-height-l) * .75)}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "prefix", "postfix"] }, { type: i2.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { 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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
175
137
  __decorate([
176
138
  tuiDefaultProp()
177
139
  ], TuiInputCountComponent.prototype, "step", void 0);
@@ -216,10 +178,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
216
178
  }] }, { type: i0.ChangeDetectorRef, decorators: [{
217
179
  type: Inject,
218
180
  args: [ChangeDetectorRef]
219
- }] }, { type: i1.TuiTextfieldController, decorators: [{
181
+ }] }, { type: i2.TuiTextfieldController, decorators: [{
220
182
  type: Inject,
221
183
  args: [TUI_TEXTFIELD_WATCHED_CONTROLLER]
222
- }] }, { type: i5.Observable, decorators: [{
184
+ }] }, { type: i6.Observable, decorators: [{
223
185
  type: Inject,
224
186
  args: [TUI_PLUS_MINUS_TEXTS]
225
187
  }] }, { type: undefined, decorators: [{
@@ -231,9 +193,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
231
193
  }] }, { type: undefined, decorators: [{
232
194
  type: Inject,
233
195
  args: [TUI_NUMBER_FORMAT]
234
- }] }]; }, propDecorators: { primitiveTextfield: [{
196
+ }] }]; }, propDecorators: { inputNumber: [{
235
197
  type: ViewChild,
236
- args: [TuiPrimitiveTextfieldComponent]
198
+ args: [TuiInputNumberComponent]
237
199
  }], step: [{
238
200
  type: Input
239
201
  }], min: [{
@@ -253,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
253
215
  type: HostBinding,
254
216
  args: ['attr.data-size']
255
217
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixlQUFlLEVBRWYsOEJBQThCLEdBTWpDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJMUQsT0FBTyxFQUFDLHVCQUF1QixFQUF1QixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBYXBGLE1BQU0sT0FBTyxzQkFDVCxTQUFRLDBCQUFrQztJQWdDMUMsWUFJSSxPQUF5QixFQUNFLGlCQUFvQyxFQUU5QyxtQkFBMkMsRUFFbkQsV0FBeUMsRUFDVixRQUFpQixFQUVoRCxPQUE2QixFQUVyQixZQUFxQztRQUV0RCxLQUFLLENBQUMs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OzBCQUN4QixNQUFNOzJCQUFDLGdDQUFnQzs7MEJBRXZDLE1BQU07MkJBQUMsb0JBQW9COzswQkFFM0IsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyx1QkFBdUI7OzBCQUU5QixNQUFNOzJCQUFDLGlCQUFpQjs0Q0F6Q1osa0JBQWtCO3NCQURsQyxTQUFTO3VCQUFDLDhCQUE4QjtnQkFLekMsSUFBSTtzQkFGSCxLQUFLO2dCQU1OLEdBQUc7c0JBRkYsS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU9OLE1BQU07c0JBRkwsS0FBSztnQkFPTixPQUFPO3NCQUZOLEtBQUs7Z0JBd0JOLE9BQU8sTUFZSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLHFCQUFxQjtnQkFvQjlCLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpQ2xhbXAsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlJc1ByZXNlbnQsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIHR1aUNyZWF0ZU51bWJlck1hc2ssXG4gICAgdHVpRm9ybWF0TnVtYmVyLFxuICAgIFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VFVJX1BMVVNfTUlOVVNfVEVYVFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0lOUFVUX0NPVU5UX09QVElPTlMsIFR1aUlucHV0Q291bnRPcHRpb25zfSBmcm9tICcuL2lucHV0LWNvdW50LW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jb3VudCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNvdW50LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWNvdW50LnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IoVHVpSW5wdXRDb3VudENvbXBvbmVudCksXG4gICAgICAgIHR1aUFzQ29udHJvbChUdWlJbnB1dENvdW50Q29tcG9uZW50KSxcbiAgICAgICAgVEVYVEZJRUxEX0NPTlRST0xMRVJfUFJPVklERVIsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDb3VudENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8bnVtYmVyPlxuICAgIGltcGxlbWVudHMgVHVpV2l0aE9wdGlvbmFsTWluTWF4PG51bWJlcj4sIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3Nvclxue1xuICAgIEBWaWV3Q2hpbGQoVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50KVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbWl0aXZlVGV4dGZpZWxkPzogVHVpUHJpbWl0aXZlVGV4dGZpZWxkQ29tcG9uZW50O1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHN0ZXAgPSB0aGlzLm9wdGlvbnMuc3RlcDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBtaW4gPSB0aGlzLm9wdGlvbnMubWluO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1heCA9IHRoaXMub3B0aW9ucy5tYXg7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgaGlkZUJ1dHRvbnMgPSB0aGlzLm9wdGlvbnMuaGlkZUJ1dHRvbnM7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRQcmVmaXhgIGZyb20ge0BsaW5rIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlZml4ID0gJyc7XG5cbiAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIGB0dWlUZXh0ZmllbGRQb3N0Zml4YCBmcm9tIHtAbGluayBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlfSBpbnN0ZWFkICovXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBvc3RmaXggPSB0aGlzLm9wdGlvbnMucG9zdGZpeDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9XQVRDSEVEX0NPTlRST0xMRVIpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dGZpZWxkQ29udHJvbGxlcjogVHVpVGV4dGZpZWxkQ29udHJvbGxlcixcbiAgICAgICAgQEluamVjdChUVUlfUExVU19NSU5VU19URVhUUylcbiAgICAgICAgcmVhZG9ubHkgbWludXNUZXh0cyQ6IE9ic2VydmFibGU8W3N0cmluZywgc3RyaW5nXT4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX01PQklMRSkgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZTogYm9vbGVhbixcbiAgICAgICAgQEluamVjdChUVUlfSU5QVVRfQ09VTlRfT1BUSU9OUylcbiAgICAgICAgcmVhZG9ubHkgb3B0aW9uczogVHVpSW5wdXRDb3VudE9wdGlvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX05VTUJFUl9GT1JNQVQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyRm9ybWF0OiBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29udHJvbCwgY2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgZ2V0TWFzayhhbGxvd05lZ2F0aXZlOiBib29sZWFuKTogVHVpVGV4dE1hc2tPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1hc2s6IHR1aUNyZWF0ZU51bWJlck1hc2soe1xuICAgICAgICAgICAgICAgIGFsbG93TmVnYXRpdmUsXG4gICAgICAgICAgICAgICAgZGVjaW1hbFN5bWJvbDogdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aG91c2FuZFN5bWJvbDogdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9oaWRlLWJ1dHRvbnMnKVxuICAgIGdldCBidXR0b25zSGlkZGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oaWRlQnV0dG9ucyB8fCB0aGlzLnRleHRmaWVsZENvbnRyb2xsZXIuYXBwZWFyYW5jZSA9PT0gJ3RhYmxlJztcbiAgICB9XG5cbiAgICBnZXQgaWNvblVwKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5pY29ucy51cDtcbiAgICB9XG5cbiAgICBnZXQgaWNvbkRvd24oKTogUG9seW1vcnBoZXVzQ29udGVudDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb25zLmRvd247XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucHJpbWl0aXZlVGV4dGZpZWxkIHx8IHRoaXMuY29tcHV0ZWREaXNhYmxlZFxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZENvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBleGFtcGxlVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2VkID8gdGhpcy5uYXRpdmVWYWx1ZSA6IHRoaXMuZm9ybWF0TnVtYmVyKHRoaXMudmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBtaW51c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgfHwgKHR1aUlzUHJlc2VudCh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlIDw9IHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgcGx1c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgfHwgKHR1aUlzUHJlc2VudCh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlID49IHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBvbkJ1dHRvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoZGlzYWJsZWQgfHwgIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIWZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMub25CbHVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoZm9jdXNlZCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2FwcGVkID0gdGhpcy5jYXBWYWx1ZSh0aGlzLm5hdGl2ZU51bWJlclZhbHVlKTtcblxuICAgICAgICBpZiAodGhpcy5pc05vdE51bWJlcihjYXBwZWQpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuZm9ybWF0TnVtYmVyKGNhcHBlZCk7XG5cbiAgICAgICAgaWYgKHRoaXMubmF0aXZlVmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlID0gbmV3VmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKGNhcHBlZCk7XG4gICAgfVxuXG4gICAgZGVjcmVhc2VWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHRoaXMudmFsdWUgfHwgMCkgLSB0aGlzLnN0ZXA7XG5cbiAgICAgICAgdGhpcy5zYWZlVXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGluY3JlYXNlVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9ICh0aGlzLnZhbHVlIHx8IDApICsgdGhpcy5zdGVwO1xuXG4gICAgICAgIHRoaXMuc2FmZVVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgY2FzZSAnVXAnOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5jcmVhc2VWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICAgICAgY2FzZSAnRG93bic6XG4gICAgICAgICAgICAgICAgdGhpcy5kZWNyZWFzZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVOdW1iZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZVZhbHVlLnNwbGl0KHRoaXMubnVtYmVyRm9ybWF0LnRob3VzYW5kU2VwYXJhdG9yKS5qb2luKCcnKSxcbiAgICAgICAgICAgIDEwLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgOiAnJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhZmVVcGRhdGVWYWx1ZShuZXdWYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdHVpQ2xhbXAobmV3VmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYXBWYWx1ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNhcHBlZCA9IE1hdGgubWluKHZhbHVlLCB0aGlzLm1heCk7XG5cbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTihjYXBwZWQpIHx8IGNhcHBlZCA8IHRoaXMubWluID8gbnVsbCA6IGNhcHBlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uQmx1cigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOb3ROdW1iZXIodGhpcy52YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5tYXgodGhpcy5uYXRpdmVOdW1iZXJWYWx1ZSB8fCAwLCB0aGlzLm1pbik7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5mb3JtYXROdW1iZXIodmFsdWUpO1xuXG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSBmb3JtYXR0ZWRWYWx1ZTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKHRoaXMucHJpbWl0aXZlVGV4dGZpZWxkKSB7XG4gICAgICAgICAgICB0aGlzLnByaW1pdGl2ZVRleHRmaWVsZC52YWx1ZSA9IGZvcm1hdHRlZFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc05vdE51bWJlcih2YWx1ZSkgPyAnJyA6IHR1aUZvcm1hdE51bWJlcih2YWx1ZSwgdGhpcy5udW1iZXJGb3JtYXQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3ROdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpOiB2YWx1ZSBpcyBudWxsIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTih2YWx1ZSkgfHwgIXR1aUlzUHJlc2VudCh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPHR1aS1wcmltaXRpdmUtdGV4dGZpZWxkXG4gICAgdHVpVmFsdWVBY2Nlc3NvclxuICAgIGNsYXNzPVwidC10ZXh0ZmllbGRcIlxuICAgIFtwc2V1ZG9Gb2N1c109XCJwc2V1ZG9Gb2N1c1wiXG4gICAgW3BzZXVkb0hvdmVyXT1cInBzZXVkb0hvdmVyXCJcbiAgICBbcHNldWRvQWN0aXZlXT1cInBzZXVkb0FjdGl2ZVwiXG4gICAgW2ZvY3VzYWJsZV09XCJmb2N1c2FibGVcIlxuICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgW3ByZWZpeF09XCJwcmVmaXhcIlxuICAgIFtwb3N0Zml4XT1cInBvc3RmaXhcIlxuICAgIFtkaXNhYmxlZF09XCJjb21wdXRlZERpc2FibGVkXCJcbiAgICBbcmVhZE9ubHldPVwicmVhZE9ubHlcIlxuICAgIFt0ZXh0TWFza109XCJnZXRNYXNrKG1pbiA8IDApXCJcbiAgICBbaW52YWxpZF09XCJjb21wdXRlZEludmFsaWRcIlxuICAgIFt2YWx1ZV09XCJjb21wdXRlZFZhbHVlXCJcbiAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgKGZvY3VzZWRDaGFuZ2UpPVwib25Gb2N1c2VkKCRldmVudClcIlxuPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudFxuICAgICAgICBzZWxlY3Q9XCJpbnB1dFwiXG4gICAgICAgIG5nUHJvamVjdEFzPVwiaW5wdXRcIlxuICAgID48L25nLWNvbnRlbnQ+XG48L3R1aS1wcmltaXRpdmUtdGV4dGZpZWxkPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFidXR0b25zSGlkZGVuXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1pbnVzVGV4dHMkIHwgYXN5bmMgYXMgdGV4dHNcIj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJ0LWJ1dHRvbnNcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fcGx1cy1idXR0b25cIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtYnV0dG9uIHQtYnV0dG9uX3BsdXNcIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25VcFwiXG4gICAgICAgICAgICAgICAgW2FwcGVhcmFuY2VdPVwib3B0aW9ucy5hcHBlYXJhbmNlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMF1cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJwbHVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25CdXR0b25Nb3VzZURvd24oJGV2ZW50LCBwbHVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiaW5jcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1pbnB1dC1jb3VudF9fbWludXMtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9taW51c1wiXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiaWNvbkRvd25cIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cIm9wdGlvbnMuYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm1pbnVzQnV0dG9uRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtmb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCJ0ZXh0c1sxXVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJvbkJ1dHRvbk1vdXNlRG93bigkZXZlbnQsIG1pbnVzQnV0dG9uRGlzYWJsZWQpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVjcmVhc2VWYWx1ZSgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsMEJBQTBCLEVBQzFCLGFBQWEsRUFDYixZQUFZLEVBQ1osMEJBQTBCLEVBQzFCLFFBQVEsRUFDUixjQUFjLEVBRWQsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixPQUFPLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixpQ0FBaUMsRUFDakMsZUFBZSxFQUNmLDZCQUE2QixHQU9oQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBSTFELE9BQU8sRUFBQyx1QkFBdUIsRUFBdUIsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFhcEYsTUFBTSxPQUFPLHNCQUNULFNBQVEsMEJBQWtDO0lBZ0MxQyxZQUlJLE9BQXlCLEVBQ0UsaUJBQW9DLEVBRTlDLG1CQUEyQyxFQUVuRCxXQUF5QyxFQUNWLFFBQWlCLEVBRWhELE9BQTZCLEVBRXJCLFlBQXFDO1FBRXRELEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQVRqQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXdCO1FBRW5ELGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQUNWLGFBQVEsR0FBUixRQUFRLENBQVM7UUFFaEQsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFFckIsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBdEMxRCxTQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFJekIsUUFBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBSXZCLFFBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUl2QixnQkFBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXZDLDZGQUE2RjtRQUc3RixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBRVosOEZBQThGO1FBRzlGLFlBQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztJQW1CL0IsQ0FBQztJQUdELE9BQU8sQ0FBQyxhQUFzQjtRQUMxQixPQUFPO1lBQ0gsSUFBSSxFQUFFLG1CQUFtQixDQUFDO2dCQUN0QixhQUFhO2dCQUNiLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQjtnQkFDakQsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCO2dCQUNuRCx3QkFBd0IsRUFBRSxpQ0FBaUMsQ0FDdkQsSUFBSSxDQUFDLFlBQVksQ0FDcEI7YUFDSixDQUFDO1lBQ0YsS0FBSyxFQUFFLEtBQUs7U0FDZixDQUFDO0lBQ04sQ0FBQztJQUVELElBQ0ksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxLQUFLLE9BQU8sQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsZ0JBQWdCO1lBQzdDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQWlCLEVBQUUsV0FBb0IsS0FBSztRQUMxRCxJQUFJLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzNELE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELG1CQUFtQixDQUFDLEtBQW9CO1FBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQ1osNkJBQTZCLENBQ3pCLEtBQUssRUFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUN0QyxDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRS9DLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGFBQWE7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPO1NBQ1Y7UUFFRCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUUvQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDMUIsUUFBUSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2YsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLElBQUk7Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU07WUFDVixLQUFLLFdBQVcsQ0FBQztZQUNqQixLQUFLLE1BQU07Z0JBQ1AsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU07WUFDVjtnQkFDSSxNQUFNO1NBQ2I7SUFDTCxDQUFDO0lBRUQsSUFBWSxXQUFXLENBQUMsS0FBYTtRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzlCLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQzlDLENBQUM7SUFFTyxlQUFlLENBQUMsUUFBZ0I7UUFDcEMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQW9CO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQW9CO1FBQ3BDLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDOztvSEF4TFEsc0JBQXNCLGtCQW9DbkIsU0FBUyx5Q0FFVCxpQkFBaUIsYUFDakIsZ0NBQWdDLGFBRWhDLG9CQUFvQixhQUVwQixhQUFhLGFBQ2IsdUJBQXVCLGFBRXZCLGlCQUFpQjt3R0E5Q3BCLHNCQUFzQixvUUFOcEI7UUFDUCwwQkFBMEIsQ0FBQyxzQkFBc0IsQ0FBQztRQUNsRCxZQUFZLENBQUMsc0JBQXNCLENBQUM7UUFDcEMsNkJBQTZCO0tBQ2hDLHVFQU1VLHVCQUF1Qix1RUM3RHRDLGdqRUEyREE7QURPSTtJQURDLGNBQWMsRUFBRTtvREFDUTtBQUl6QjtJQURDLGNBQWMsRUFBRTttREFDTTtBQUl2QjtJQURDLGNBQWMsRUFBRTttREFDTTtBQUl2QjtJQURDLGNBQWMsRUFBRTsyREFDc0I7QUFLdkM7SUFEQyxjQUFjLEVBQUU7c0RBQ0w7QUFLWjtJQURDLGNBQWMsRUFBRTt1REFDYztBQXNCL0I7SUFEQyxPQUFPO3FEQWFQOzRGQWpFUSxzQkFBc0I7a0JBWGxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3ZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUU7d0JBQ1AsMEJBQTBCLHdCQUF3Qjt3QkFDbEQsWUFBWSx3QkFBd0I7d0JBQ3BDLDZCQUE2QjtxQkFDaEM7aUJBQ0o7OzBCQW1DUSxRQUFROzswQkFDUixJQUFJOzswQkFDSixNQUFNOzJCQUFDLFNBQVM7OzBCQUVoQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZ0NBQWdDOzswQkFFdkMsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUUzQixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixNQUFNOzJCQUFDLHVCQUF1Qjs7MEJBRTlCLE1BQU07MkJBQUMsaUJBQWlCOzRDQXpDWixXQUFXO3NCQUQzQixTQUFTO3VCQUFDLHVCQUF1QjtnQkFLbEMsSUFBSTtzQkFGSCxLQUFLO2dCQU1OLEdBQUc7c0JBRkYsS0FBSztnQkFNTixHQUFHO3NCQUZGLEtBQUs7Z0JBTU4sV0FBVztzQkFGVixLQUFLO2dCQU9OLE1BQU07c0JBRkwsS0FBSztnQkFPTixPQUFPO3NCQUZOLEtBQUs7Z0JBd0JOLE9BQU8sTUFlSCxhQUFhO3NCQURoQixXQUFXO3VCQUFDLHFCQUFxQjtnQkFvQjlCLElBQUk7c0JBRFAsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2wsXG4gICAgVFVJX0lTX01PQklMRSxcbiAgICB0dWlBc0NvbnRyb2wsXG4gICAgdHVpQXNGb2N1c2FibGVJdGVtQWNjZXNzb3IsXG4gICAgdHVpQ2xhbXAsXG4gICAgdHVpRGVmYXVsdFByb3AsXG4gICAgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yLFxuICAgIHR1aUlzTmF0aXZlRm9jdXNlZCxcbiAgICB0dWlJc1ByZXNlbnQsXG4gICAgdHVpUHVyZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRFWFRGSUVMRF9DT05UUk9MTEVSX1BST1ZJREVSLFxuICAgIFRVSV9OVU1CRVJfRk9STUFULFxuICAgIFRVSV9URVhURklFTERfV0FUQ0hFRF9DT05UUk9MTEVSLFxuICAgIHR1aUNyZWF0ZU51bWJlck1hc2ssXG4gICAgdHVpRW5hYmxlQXV0b0NvcnJlY3REZWNpbWFsU3ltYm9sLFxuICAgIHR1aUZvcm1hdE51bWJlcixcbiAgICB0dWlNYXNrZWROdW1iZXJTdHJpbmdUb051bWJlcixcbiAgICBUdWlOdW1iZXJGb3JtYXRTZXR0aW5ncyxcbiAgICBUdWlTaXplTCxcbiAgICBUdWlTaXplUyxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbiAgICBUdWlXaXRoT3B0aW9uYWxNaW5NYXgsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpSW5wdXROdW1iZXJDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtUVUlfUExVU19NSU5VU19URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdC90b2tlbnMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfSU5QVVRfQ09VTlRfT1BUSU9OUywgVHVpSW5wdXRDb3VudE9wdGlvbnN9IGZyb20gJy4vaW5wdXQtY291bnQtb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWNvdW50JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY291bnQudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY291bnQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlBc0ZvY3VzYWJsZUl0ZW1BY2Nlc3NvcihUdWlJbnB1dENvdW50Q29tcG9uZW50KSxcbiAgICAgICAgdHVpQXNDb250cm9sKFR1aUlucHV0Q291bnRDb21wb25lbnQpLFxuICAgICAgICBURVhURklFTERfQ09OVFJPTExFUl9QUk9WSURFUixcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENvdW50Q29tcG9uZW50XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbDxudW1iZXI+XG4gICAgaW1wbGVtZW50cyBUdWlXaXRoT3B0aW9uYWxNaW5NYXg8bnVtYmVyPiwgVHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yXG57XG4gICAgQFZpZXdDaGlsZChUdWlJbnB1dE51bWJlckNvbXBvbmVudClcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0TnVtYmVyPzogVHVpSW5wdXROdW1iZXJDb21wb25lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc3RlcCA9IHRoaXMub3B0aW9ucy5zdGVwO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIG1pbiA9IHRoaXMub3B0aW9ucy5taW47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgbWF4ID0gdGhpcy5vcHRpb25zLm1heDtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBoaWRlQnV0dG9ucyA9IHRoaXMub3B0aW9ucy5oaWRlQnV0dG9ucztcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFByZWZpeGAgZnJvbSB7QGxpbmsgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZX0gaW5zdGVhZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwcmVmaXggPSAnJztcblxuICAgIC8qKiBAZGVwcmVjYXRlZCB1c2UgYHR1aVRleHRmaWVsZFBvc3RmaXhgIGZyb20ge0BsaW5rIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGV9IGluc3RlYWQgKi9cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcG9zdGZpeCA9IHRoaXMub3B0aW9ucy5wb3N0Zml4O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUVUlfVEVYVEZJRUxEX1dBVENIRURfQ09OVFJPTExFUilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0ZXh0ZmllbGRDb250cm9sbGVyOiBUdWlUZXh0ZmllbGRDb250cm9sbGVyLFxuICAgICAgICBASW5qZWN0KFRVSV9QTFVTX01JTlVTX1RFWFRTKVxuICAgICAgICByZWFkb25seSBtaW51c1RleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfSVNfTU9CSUxFKSBwcml2YXRlIHJlYWRvbmx5IGlzTW9iaWxlOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9DT1VOVF9PUFRJT05TKVxuICAgICAgICByZWFkb25seSBvcHRpb25zOiBUdWlJbnB1dENvdW50T3B0aW9ucyxcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBudW1iZXJGb3JtYXQ6IFR1aU51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBnZXRNYXNrKGFsbG93TmVnYXRpdmU6IGJvb2xlYW4pOiBUdWlUZXh0TWFza09wdGlvbnMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFzazogdHVpQ3JlYXRlTnVtYmVyTWFzayh7XG4gICAgICAgICAgICAgICAgYWxsb3dOZWdhdGl2ZSxcbiAgICAgICAgICAgICAgICBkZWNpbWFsU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgICAgIHRob3VzYW5kU3ltYm9sOiB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICBhdXRvQ29ycmVjdERlY2ltYWxTeW1ib2w6IHR1aUVuYWJsZUF1dG9Db3JyZWN0RGVjaW1hbFN5bWJvbChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX2hpZGUtYnV0dG9ucycpXG4gICAgZ2V0IGJ1dHRvbnNIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhpZGVCdXR0b25zIHx8IHRoaXMudGV4dGZpZWxkQ29udHJvbGxlci5hcHBlYXJhbmNlID09PSAndGFibGUnO1xuICAgIH1cblxuICAgIGdldCBpY29uVXAoKTogUG9seW1vcnBoZXVzQ29udGVudDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmljb25zLnVwO1xuICAgIH1cblxuICAgIGdldCBpY29uRG93bigpOiBQb2x5bW9ycGhldXNDb250ZW50PFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuaWNvbnMuZG93bjtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5pbnB1dE51bWJlciB8fCB0aGlzLmNvbXB1dGVkRGlzYWJsZWRcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLmlucHV0TnVtYmVyLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2l6ZScpXG4gICAgZ2V0IHNpemUoKTogVHVpU2l6ZUwgfCBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRmaWVsZENvbnRyb2xsZXIuc2l6ZTtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIGdldCBtaW51c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgfHwgKHR1aUlzUHJlc2VudCh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlIDw9IHRoaXMubWluKTtcbiAgICB9XG5cbiAgICBnZXQgcGx1c0J1dHRvbkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaW50ZXJhY3RpdmUgfHwgKHR1aUlzUHJlc2VudCh0aGlzLnZhbHVlKSAmJiB0aGlzLnZhbHVlID49IHRoaXMubWF4KTtcbiAgICB9XG5cbiAgICBvbkJ1dHRvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAoZGlzYWJsZWQgfHwgIXRoaXMubmF0aXZlRm9jdXNhYmxlRWxlbWVudCB8fCB0aGlzLmlzTW9iaWxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBvbklucHV0TnVtYmVyQ2hhbmdlKHZhbHVlOiBudW1iZXIgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKFxuICAgICAgICAgICAgdHVpTWFza2VkTnVtYmVyU3RyaW5nVG9OdW1iZXIoXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvcixcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC50aG91c2FuZFNlcGFyYXRvcixcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVjcmVhc2VWYWx1ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZE9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gKHRoaXMudmFsdWUgfHwgMCkgLSB0aGlzLnN0ZXA7XG5cbiAgICAgICAgdGhpcy5zYWZlVXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgIH1cblxuICAgIGluY3JlYXNlVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9ICh0aGlzLnZhbHVlIHx8IDApICsgdGhpcy5zdGVwO1xuXG4gICAgICAgIHRoaXMuc2FmZVVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICAgICAgY2FzZSAnVXAnOlxuICAgICAgICAgICAgICAgIHRoaXMuaW5jcmVhc2VWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgICAgICAgY2FzZSAnRG93bic6XG4gICAgICAgICAgICAgICAgdGhpcy5kZWNyZWFzZVZhbHVlKCk7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldCBuYXRpdmVWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdGhpcy5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhZmVVcGRhdGVWYWx1ZShuZXdWYWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdHVpQ2xhbXAobmV3VmFsdWUsIHRoaXMubWluLCB0aGlzLm1heCk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB0aGlzLmZvcm1hdE51bWJlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JtYXROdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pc05vdE51bWJlcih2YWx1ZSkgPyAnJyA6IHR1aUZvcm1hdE51bWJlcih2YWx1ZSwgdGhpcy5udW1iZXJGb3JtYXQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNOb3ROdW1iZXIodmFsdWU6IG51bWJlciB8IG51bGwpOiB2YWx1ZSBpcyBudWxsIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc05hTih2YWx1ZSkgfHwgIXR1aUlzUHJlc2VudCh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPHR1aS1pbnB1dC1udW1iZXJcbiAgICBjbGFzcz1cInQtdGV4dGZpZWxkXCJcbiAgICBbcHNldWRvRm9jdXNdPVwicHNldWRvRm9jdXNcIlxuICAgIFtwc2V1ZG9Ib3Zlcl09XCJwc2V1ZG9Ib3ZlclwiXG4gICAgW3BzZXVkb0ludmFsaWRdPVwicHNldWRvSW52YWxpZFwiXG4gICAgW3BzZXVkb0FjdGl2ZV09XCJwc2V1ZG9BY3RpdmVcIlxuICAgIFtmb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICBbbWluXT1cIm1pblwiXG4gICAgW21heF09XCJtYXhcIlxuICAgIFtwcmVmaXhdPVwicHJlZml4XCJcbiAgICBbcG9zdGZpeF09XCJwb3N0Zml4XCJcbiAgICBbZGlzYWJsZWRdPVwiY29tcHV0ZWREaXNhYmxlZFwiXG4gICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5XCJcbiAgICBbdGV4dE1hc2tdPVwiZ2V0TWFzayhtaW4gPCAwKVwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIFtuYXRpdmVJZF09XCJuYXRpdmVJZFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwib25JbnB1dE51bWJlckNoYW5nZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50XG4gICAgICAgIHNlbGVjdD1cImlucHV0XCJcbiAgICAgICAgbmdQcm9qZWN0QXM9XCJpbnB1dFwiXG4gICAgPjwvbmctY29udGVudD5cbjwvdHVpLWlucHV0LW51bWJlcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhYnV0dG9uc0hpZGRlblwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtaW51c1RleHRzJCB8IGFzeW5jIGFzIHRleHRzXCI+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwidC1idXR0b25zXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtY291bnRfX3BsdXMtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWJ1dHRvbiB0LWJ1dHRvbl9wbHVzXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29uVXBcIlxuICAgICAgICAgICAgICAgIFthcHBlYXJhbmNlXT1cIm9wdGlvbnMuYXBwZWFyYW5jZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cInRleHRzWzBdXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicGx1c0J1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAobW91c2Vkb3duKT1cIm9uQnV0dG9uTW91c2VEb3duKCRldmVudCwgcGx1c0J1dHRvbkRpc2FibGVkKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImluY3JlYXNlVmFsdWUoKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGF1dG9tYXRpb24taWQ9XCJ0dWktaW5wdXQtY291bnRfX21pbnVzLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC1idXR0b24gdC1idXR0b25fbWludXNcIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cImljb25Eb3duXCJcbiAgICAgICAgICAgICAgICBbYXBwZWFyYW5jZV09XCJvcHRpb25zLmFwcGVhcmFuY2VcIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJtaW51c0J1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbZm9jdXNhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwidGV4dHNbMV1cIlxuICAgICAgICAgICAgICAgIChtb3VzZWRvd24pPVwib25CdXR0b25Nb3VzZURvd24oJGV2ZW50LCBtaW51c0J1dHRvbkRpc2FibGVkKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlY3JlYXNlVmFsdWUoKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -2,8 +2,8 @@ import { Directive } from '@angular/core';
2
2
  import { AbstractTuiTextfieldHost, tuiAsTextfieldHost } from '@taiga-ui/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TuiInputCountDirective extends AbstractTuiTextfieldHost {
5
- onValueChange() {
6
- this.host.onValueChange();
5
+ onValueChange(value) {
6
+ this.host.onValueChange(value);
7
7
  }
8
8
  ngAfterViewInit() {
9
9
  if (this.host.nativeFocusableElement) {
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
26
26
  providers: [tuiAsTextfieldHost(TuiInputCountDirective)],
27
27
  }]
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQVE1RSxNQUFNLE9BQU8sc0JBQ1QsU0FBUSx3QkFBZ0Q7SUFHeEQsYUFBYTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDbEMsTUFBTSxFQUFDLHNCQUFzQixFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUUzQyxzQkFBc0IsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzVDLHNCQUFzQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDN0Msc0JBQXNCLENBQUMsU0FBUztnQkFDNUIsc0JBQXNCLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztvQkFDakMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFNBQVM7b0JBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDOztvSEFuQlEsc0JBQXNCO3dHQUF0QixzQkFBc0IsMENBRnBCLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsQ0FBQzs0RkFFOUMsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRSxDQUFDLGtCQUFrQix3QkFBd0IsQ0FBQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpVGV4dGZpZWxkSG9zdCwgdHVpQXNUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpSW5wdXRDb3VudENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1jb3VudC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jb3VudCcsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNUZXh0ZmllbGRIb3N0KFR1aUlucHV0Q291bnREaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDb3VudERpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlUZXh0ZmllbGRIb3N0PFR1aUlucHV0Q291bnRDb21wb25lbnQ+XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gICAgb25WYWx1ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3N0Lm9uVmFsdWVDaGFuZ2UoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qge25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9ID0gdGhpcy5ob3N0O1xuXG4gICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LmF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5pbnB1dE1vZGUgPSAnbnVtZXJpYyc7XG4gICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50Lm1heExlbmd0aCA9XG4gICAgICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5tYXhMZW5ndGggPiAtMVxuICAgICAgICAgICAgICAgICAgICA/IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQubWF4TGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgIDogMTg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQVE1RSxNQUFNLE9BQU8sc0JBQ1QsU0FBUSx3QkFBZ0Q7SUFHeEQsYUFBYSxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDbEMsTUFBTSxFQUFDLHNCQUFzQixFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUUzQyxzQkFBc0IsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzVDLHNCQUFzQixDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDN0Msc0JBQXNCLENBQUMsU0FBUztnQkFDNUIsc0JBQXNCLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztvQkFDakMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFNBQVM7b0JBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDaEI7SUFDTCxDQUFDOztvSEFuQlEsc0JBQXNCO3dHQUF0QixzQkFBc0IsMENBRnBCLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsQ0FBQzs0RkFFOUMsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRSxDQUFDLGtCQUFrQix3QkFBd0IsQ0FBQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyVmlld0luaXQsIERpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpVGV4dGZpZWxkSG9zdCwgdHVpQXNUZXh0ZmllbGRIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5cbmltcG9ydCB7VHVpSW5wdXRDb3VudENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1jb3VudC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1jb3VudCcsXG4gICAgcHJvdmlkZXJzOiBbdHVpQXNUZXh0ZmllbGRIb3N0KFR1aUlucHV0Q291bnREaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDb3VudERpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlUZXh0ZmllbGRIb3N0PFR1aUlucHV0Q291bnRDb21wb25lbnQ+XG4gICAgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0XG57XG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qge25hdGl2ZUZvY3VzYWJsZUVsZW1lbnR9ID0gdGhpcy5ob3N0O1xuXG4gICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50LmF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5pbnB1dE1vZGUgPSAnbnVtZXJpYyc7XG4gICAgICAgICAgICBuYXRpdmVGb2N1c2FibGVFbGVtZW50Lm1heExlbmd0aCA9XG4gICAgICAgICAgICAgICAgbmF0aXZlRm9jdXNhYmxlRWxlbWVudC5tYXhMZW5ndGggPiAtMVxuICAgICAgICAgICAgICAgICAgICA/IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQubWF4TGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgIDogMTg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,8 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
3
4
  import { TuiButtonModule, TuiPrimitiveTextfieldModule, TuiTextfieldComponent, TuiTextfieldControllerModule, } from '@taiga-ui/core';
5
+ import { TuiInputNumberModule } from '@taiga-ui/kit/components/input-number';
4
6
  import { TextMaskModule, TuiValueAccessorModule } from '@taiga-ui/kit/directives';
5
7
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
6
8
  import { TuiInputCountComponent } from './input-count.component';
@@ -11,19 +13,23 @@ export class TuiInputCountModule {
11
13
  TuiInputCountModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
14
  TuiInputCountModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, declarations: [TuiInputCountComponent, TuiInputCountDirective], imports: [CommonModule,
13
15
  TextMaskModule,
16
+ FormsModule,
14
17
  TuiButtonModule,
15
18
  TuiPrimitiveTextfieldModule,
16
19
  TuiTextfieldControllerModule,
17
20
  TuiValueAccessorModule,
18
- PolymorpheusModule], exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent] });
21
+ PolymorpheusModule,
22
+ TuiInputNumberModule], exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent] });
19
23
  TuiInputCountModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, imports: [[
20
24
  CommonModule,
21
25
  TextMaskModule,
26
+ FormsModule,
22
27
  TuiButtonModule,
23
28
  TuiPrimitiveTextfieldModule,
24
29
  TuiTextfieldControllerModule,
25
30
  TuiValueAccessorModule,
26
31
  PolymorpheusModule,
32
+ TuiInputNumberModule,
27
33
  ]] });
28
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, decorators: [{
29
35
  type: NgModule,
@@ -31,14 +37,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
31
37
  imports: [
32
38
  CommonModule,
33
39
  TextMaskModule,
40
+ FormsModule,
34
41
  TuiButtonModule,
35
42
  TuiPrimitiveTextfieldModule,
36
43
  TuiTextfieldControllerModule,
37
44
  TuiValueAccessorModule,
38
45
  PolymorpheusModule,
46
+ TuiInputNumberModule,
39
47
  ],
40
48
  declarations: [TuiInputCountComponent, TuiInputCountDirective],
41
49
  exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent],
42
50
  }]
43
51
  }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFDSCxlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsY0FBYyxFQUFFLHNCQUFzQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFNUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBZS9ELE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFIYixzQkFBc0IsRUFBRSxzQkFBc0IsYUFSekQsWUFBWTtRQUNaLGNBQWM7UUFDZCxlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIsa0JBQWtCLGFBR1osc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCO2tIQUV0RSxtQkFBbUIsWUFabkI7WUFDTCxZQUFZO1lBQ1osY0FBYztZQUNkLGVBQWU7WUFDZiwyQkFBMkI7WUFDM0IsNEJBQTRCO1lBQzVCLHNCQUFzQjtZQUN0QixrQkFBa0I7U0FDckI7NEZBSVEsbUJBQW1CO2tCQWIvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZiwyQkFBMkI7d0JBQzNCLDRCQUE0Qjt3QkFDNUIsc0JBQXNCO3dCQUN0QixrQkFBa0I7cUJBQ3JCO29CQUNELFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDO29CQUM5RCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQztpQkFDbkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgVHVpUHJpbWl0aXZlVGV4dGZpZWxkTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbXBvbmVudCxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RleHRNYXNrTW9kdWxlLCBUdWlWYWx1ZUFjY2Vzc29yTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpSW5wdXRDb3VudENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1jb3VudC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlJbnB1dENvdW50RGlyZWN0aXZlfSBmcm9tICcuL2lucHV0LWNvdW50LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRleHRNYXNrTW9kdWxlLFxuICAgICAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpVmFsdWVBY2Nlc3Nvck1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbVHVpSW5wdXRDb3VudENvbXBvbmVudCwgVHVpSW5wdXRDb3VudERpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW1R1aUlucHV0Q291bnRDb21wb25lbnQsIFR1aUlucHV0Q291bnREaXJlY3RpdmUsIFR1aVRleHRmaWVsZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q291bnRNb2R1bGUge31cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY291bnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtY291bnQvaW5wdXQtY291bnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLDJCQUEyQixFQUMzQixxQkFBcUIsRUFDckIsNEJBQTRCLEdBQy9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBRSxzQkFBc0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDOztBQWlCL0QsTUFBTSxPQUFPLG1CQUFtQjs7aUhBQW5CLG1CQUFtQjtrSEFBbkIsbUJBQW1CLGlCQUhiLHNCQUFzQixFQUFFLHNCQUFzQixhQVZ6RCxZQUFZO1FBQ1osY0FBYztRQUNkLFdBQVc7UUFDWCxlQUFlO1FBQ2YsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixzQkFBc0I7UUFDdEIsa0JBQWtCO1FBQ2xCLG9CQUFvQixhQUdkLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLHFCQUFxQjtrSEFFdEUsbUJBQW1CLFlBZG5CO1lBQ0wsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsZUFBZTtZQUNmLDJCQUEyQjtZQUMzQiw0QkFBNEI7WUFDNUIsc0JBQXNCO1lBQ3RCLGtCQUFrQjtZQUNsQixvQkFBb0I7U0FDdkI7NEZBSVEsbUJBQW1CO2tCQWYvQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLDJCQUEyQjt3QkFDM0IsNEJBQTRCO3dCQUM1QixzQkFBc0I7d0JBQ3RCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3FCQUN2QjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxzQkFBc0IsQ0FBQztvQkFDOUQsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLENBQUM7aUJBQ25GIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgIFR1aVByaW1pdGl2ZVRleHRmaWVsZE1vZHVsZSxcbiAgICBUdWlUZXh0ZmllbGRDb21wb25lbnQsXG4gICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlJbnB1dE51bWJlck1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5pbXBvcnQge1RleHRNYXNrTW9kdWxlLCBUdWlWYWx1ZUFjY2Vzc29yTW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpSW5wdXRDb3VudENvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1jb3VudC5jb21wb25lbnQnO1xuaW1wb3J0IHtUdWlJbnB1dENvdW50RGlyZWN0aXZlfSBmcm9tICcuL2lucHV0LWNvdW50LmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFRleHRNYXNrTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgICAgICBUdWlQcmltaXRpdmVUZXh0ZmllbGRNb2R1bGUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIFR1aVZhbHVlQWNjZXNzb3JNb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c01vZHVsZSxcbiAgICAgICAgVHVpSW5wdXROdW1iZXJNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlJbnB1dENvdW50Q29tcG9uZW50LCBUdWlJbnB1dENvdW50RGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbVHVpSW5wdXRDb3VudENvbXBvbmVudCwgVHVpSW5wdXRDb3VudERpcmVjdGl2ZSwgVHVpVGV4dGZpZWxkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDb3VudE1vZHVsZSB7fVxuIl19
@@ -13,7 +13,7 @@ export class TuiInputNumberDirective extends AbstractTuiTextfieldHost {
13
13
  return;
14
14
  }
15
15
  this.host.nativeFocusableElement.maxLength = this.host.calculatedMaxLength;
16
- this.host.nativeFocusableElement.inputMode = 'decimal';
16
+ this.host.nativeFocusableElement.inputMode = this.host.inputMode;
17
17
  }
18
18
  }
19
19
  TuiInputNumberDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputNumberDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
@@ -25,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
25
25
  providers: [tuiAsTextfieldHost(TuiInputNumberDirective)],
26
26
  }]
27
27
  }] });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLHdCQUF3QixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBUTVFLE1BQU0sT0FBTyx1QkFDVCxTQUFRLHdCQUFpRDtJQUt6RCxJQUFhLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ25DLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzNELENBQUM7O3FIQXJCUSx1QkFBdUI7eUdBQXZCLHVCQUF1QiwyQ0FGckIsQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDOzRGQUUvQyx1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsU0FBUyxFQUFFLENBQUMsa0JBQWtCLHlCQUF5QixDQUFDO2lCQUMzRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBEb0NoZWNrfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RUdWlUZXh0ZmllbGRIb3N0LCB0dWlBc1RleHRmaWVsZEhvc3R9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuaW1wb3J0IHtUdWlJbnB1dE51bWJlckNvbXBvbmVudH0gZnJvbSAnLi9pbnB1dC1udW1iZXIuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtbnVtYmVyJyxcbiAgICBwcm92aWRlcnM6IFt0dWlBc1RleHRmaWVsZEhvc3QoVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXROdW1iZXJEaXJlY3RpdmVcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpVGV4dGZpZWxkSG9zdDxUdWlJbnB1dE51bWJlckNvbXBvbmVudD5cbiAgICBpbXBsZW1lbnRzIERvQ2hlY2tcbntcbiAgICBpbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQ7XG5cbiAgICBvdmVycmlkZSBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaG9zdC5jb21wdXRlZFZhbHVlO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmhvc3Qub25WYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaG9zdC5uYXRpdmVGb2N1c2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5tYXhMZW5ndGggPSB0aGlzLmhvc3QuY2FsY3VsYXRlZE1heExlbmd0aDtcbiAgICAgICAgdGhpcy5ob3N0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQuaW5wdXRNb2RlID0gJ2RlY2ltYWwnO1xuICAgIH1cbn1cbiJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlci9pbnB1dC1udW1iZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLHdCQUF3QixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBUTVFLE1BQU0sT0FBTyx1QkFDVCxTQUFRLHdCQUFpRDtJQUt6RCxJQUFhLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ25DLE9BQU87U0FDVjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDckUsQ0FBQzs7cUhBckJRLHVCQUF1Qjt5R0FBdkIsdUJBQXVCLDJDQUZyQixDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixDQUFDLENBQUM7NEZBRS9DLHVCQUF1QjtrQkFKbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixTQUFTLEVBQUUsQ0FBQyxrQkFBa0IseUJBQXlCLENBQUM7aUJBQzNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIERvQ2hlY2t9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aVRleHRmaWVsZEhvc3QsIHR1aUFzVGV4dGZpZWxkSG9zdH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQge1R1aUlucHV0TnVtYmVyQ29tcG9uZW50fSBmcm9tICcuL2lucHV0LW51bWJlci5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ3R1aS1pbnB1dC1udW1iZXInLFxuICAgIHByb3ZpZGVyczogW3R1aUFzVGV4dGZpZWxkSG9zdChUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dE51bWJlckRpcmVjdGl2ZVxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlUZXh0ZmllbGRIb3N0PFR1aUlucHV0TnVtYmVyQ29tcG9uZW50PlxuICAgIGltcGxlbWVudHMgRG9DaGVja1xue1xuICAgIGlucHV0PzogSFRNTElucHV0RWxlbWVudDtcblxuICAgIG92ZXJyaWRlIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5ob3N0LmNvbXB1dGVkVmFsdWU7XG4gICAgfVxuXG4gICAgb25WYWx1ZUNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG9zdC5vblZhbHVlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5ob3N0Lm5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaG9zdC5uYXRpdmVGb2N1c2FibGVFbGVtZW50Lm1heExlbmd0aCA9IHRoaXMuaG9zdC5jYWxjdWxhdGVkTWF4TGVuZ3RoO1xuICAgICAgICB0aGlzLmhvc3QubmF0aXZlRm9jdXNhYmxlRWxlbWVudC5pbnB1dE1vZGUgPSB0aGlzLmhvc3QuaW5wdXRNb2RlO1xuICAgIH1cbn1cbiJdfQ==