ngx-tethys 14.2.3 → 14.2.4

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [14.2.4](https://github.com/atinc/ngx-tethys/compare/14.2.3...14.2.4) (2022-12-15)
6
+
7
+
8
+ ### Features
9
+
10
+ * **color-picker:** export DEFAULT_COLORS #INFR-5748 ([#2433](https://github.com/atinc/ngx-tethys/issues/2433)) ([04ae626](https://github.com/atinc/ngx-tethys/commit/04ae626c5e2e7ac13a8bd072e717ded9d9c38a93)), closes [#INFR-5748](https://github.com/atinc/ngx-tethys/issues/INFR-5748)
11
+ * **dot:** support xlg size 18px #INFR-5749 ([#2432](https://github.com/atinc/ngx-tethys/issues/2432)) ([6efbfa4](https://github.com/atinc/ngx-tethys/commit/6efbfa4d648afcffa688ff177dc287266bcf547e)), closes [#INFR-5749](https://github.com/atinc/ngx-tethys/issues/INFR-5749)
12
+ * **select:** 多选清除所选项新的交互 #INFR-5731 ([#2428](https://github.com/atinc/ngx-tethys/issues/2428)) ([e45ffc8](https://github.com/atinc/ngx-tethys/commit/e45ffc8adaada6484b58efac9f7a8e10d1e073d0)), closes [#INFR-5731](https://github.com/atinc/ngx-tethys/issues/INFR-5731) [#INFR-5731](https://github.com/atinc/ngx-tethys/issues/INFR-5731)
13
+ * **select:** remove group-name background #INFR-5692 ([37a97fe](https://github.com/atinc/ngx-tethys/commit/37a97fe978c8cba19e8dd61d63f108aa0cdaf36b)), closes [#INFR-5692](https://github.com/atinc/ngx-tethys/issues/INFR-5692)
14
+
15
+
16
+
5
17
  ## [14.2.3](https://github.com/atinc/ngx-tethys/compare/14.2.2...14.2.3) (2022-12-13)
6
18
 
7
19
 
@@ -1,9 +1,10 @@
1
- export * from './module';
2
- export * from './color-picker.component';
3
1
  export * from './color-picker-custom-panel.component';
4
2
  export * from './color-picker-panel.component';
5
- export * from './parts/saturation/saturation.component';
6
- export * from './parts/hue/hue.component';
3
+ export * from './color-picker.component';
4
+ export * from './constant';
5
+ export * from './module';
7
6
  export * from './parts/alpha/alpha.component';
7
+ export * from './parts/hue/hue.component';
8
8
  export * from './parts/indicator/indicator.component';
9
9
  export * from './parts/inputs/inputs.component';
10
+ export * from './parts/saturation/saturation.component';
@@ -1,8 +1,8 @@
1
- import { ElementRef, Renderer2 } from '@angular/core';
2
1
  import { ThyThemeColor } from 'ngx-tethys/core';
2
+ import { ElementRef, Renderer2 } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare type ThyColorType = ThyThemeColor | string;
5
- export declare type ThySizeType = 'xs' | 'sm' | 'md' | 'lg';
5
+ export declare type ThySizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xlg';
6
6
  export declare type ThyThemeType = 'outline' | 'fill';
7
7
  export declare type ThyShapeType = 'square' | 'circle';
8
8
  export declare const COMPONENT_CLASS_NAME = "thy-dot";
@@ -14,14 +14,16 @@ $sizes: (
14
14
  xs: 6,
15
15
  sm: 8,
16
16
  md: 10,
17
- lg: 12
17
+ lg: 12,
18
+ xlg: 18
18
19
  );
19
20
 
20
21
  $border-sizes: (
21
22
  xs: 2,
22
23
  sm: 2,
23
24
  md: 2,
24
- lg: 12
25
+ lg: 12,
26
+ xlg: 18
25
27
  );
26
28
 
27
29
  .thy-dot {
@@ -1,10 +1,11 @@
1
- export * from './module';
2
- export * from './color-picker.component';
3
1
  export * from './color-picker-custom-panel.component';
4
2
  export * from './color-picker-panel.component';
5
- export * from './parts/saturation/saturation.component';
6
- export * from './parts/hue/hue.component';
3
+ export * from './color-picker.component';
4
+ export * from './constant';
5
+ export * from './module';
7
6
  export * from './parts/alpha/alpha.component';
7
+ export * from './parts/hue/hue.component';
8
8
  export * from './parts/indicator/indicator.component';
9
9
  export * from './parts/inputs/inputs.component';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29sb3ItcGlja2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbG9yLXBpY2tlci1jdXN0b20tcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyLXBhbmVsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhcnRzL3NhdHVyYXRpb24vc2F0dXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJ0cy9odWUvaHVlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhcnRzL2FscGhhL2FscGhhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhcnRzL2luZGljYXRvci9pbmRpY2F0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFydHMvaW5wdXRzL2lucHV0cy5jb21wb25lbnQnO1xuIl19
10
+ export * from './parts/saturation/saturation.component';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29sb3ItcGlja2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyLWN1c3RvbS1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb2xvci1waWNrZXItcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29sb3ItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFydHMvYWxwaGEvYWxwaGEuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFydHMvaHVlL2h1ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJ0cy9pbmRpY2F0b3IvaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BhcnRzL2lucHV0cy9pbnB1dHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFydHMvc2F0dXJhdGlvbi9zYXR1cmF0aW9uLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, ElementRef, Input, Renderer2, ViewEncapsulation } from '@angular/core';
2
1
  import { isThemeColor } from 'ngx-tethys/core';
2
+ import { ChangeDetectionStrategy, Component, ElementRef, Input, Renderer2, ViewEncapsulation } from '@angular/core';
3
3
  import * as i0 from "@angular/core";
4
4
  export const COMPONENT_CLASS_NAME = 'thy-dot';
5
5
  export const DEFAULT_COLOR_NAME = 'primary';
@@ -52,7 +52,7 @@ export class ThyDotComponent {
52
52
  }
53
53
  }
54
54
  ThyDotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyDotComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
55
- ThyDotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyDotComponent, selector: "thy-dot,[thy-dot],[thyDot]", inputs: { thyColor: "thyColor", thySize: "thySize", thyTheme: "thyTheme", thyShape: "thyShape" }, host: { properties: { "class.dot-theme-fill": "theme === \"fill\"", "class.dot-theme-outline": "theme === \"outline\"", "class.dot-shape-square": "shape === \"square\"", "class.dot-shape-circle": "shape === \"circle\"", "class.dot-size-md": "size === \"md\"", "class.dot-size-sm": "size === \"sm\"", "class.dot-size-xs": "size === \"xs\"", "class.dot-size-lg": "size === \"lg\"" }, classAttribute: "thy-dot" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
55
+ ThyDotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThyDotComponent, selector: "thy-dot,[thy-dot],[thyDot]", inputs: { thyColor: "thyColor", thySize: "thySize", thyTheme: "thyTheme", thyShape: "thyShape" }, host: { properties: { "class.dot-theme-fill": "theme === \"fill\"", "class.dot-theme-outline": "theme === \"outline\"", "class.dot-shape-square": "shape === \"square\"", "class.dot-shape-circle": "shape === \"circle\"", "class.dot-size-md": "size === \"md\"", "class.dot-size-sm": "size === \"sm\"", "class.dot-size-xs": "size === \"xs\"", "class.dot-size-lg": "size === \"lg\"", "class.dot-size-xlg": "size === \"xlg\"" }, classAttribute: "thy-dot" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
56
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThyDotComponent, decorators: [{
57
57
  type: Component,
58
58
  args: [{
@@ -69,7 +69,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
69
69
  '[class.dot-size-md]': 'size === "md"',
70
70
  '[class.dot-size-sm]': 'size === "sm"',
71
71
  '[class.dot-size-xs]': 'size === "xs"',
72
- '[class.dot-size-lg]': 'size === "lg"'
72
+ '[class.dot-size-lg]': 'size === "lg"',
73
+ '[class.dot-size-xlg]': 'size === "xlg"'
73
74
  }
74
75
  }]
75
76
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { thyColor: [{
@@ -81,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
81
82
  }], thyShape: [{
82
83
  type: Input
83
84
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb3QvZG90LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7O0FBTzlELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUM7QUFDNUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUM7QUFxQjNDLE1BQU0sT0FBTyxlQUFlO0lBTXhCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUx4RCxTQUFJLEdBQWdCLGlCQUFpQixDQUFDO1FBQ3RDLFVBQUssR0FBaUIsa0JBQWtCLENBQUM7UUFDekMsVUFBSyxHQUFpQixrQkFBa0IsQ0FBQztRQUN6QyxVQUFLLEdBQWlCLGtCQUFrQixDQUFDO1FBRzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsSUFDSSxPQUFPLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxJQUNJLFFBQVEsQ0FBQyxLQUFtQjtRQUM1QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQzthQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDMUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDekU7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6RTtJQUNMLENBQUM7OzRHQW5EUSxlQUFlO2dHQUFmLGVBQWUsK2pCQWpCZCxFQUFFOzJGQWlCSCxlQUFlO2tCQW5CM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsRUFBRTtvQkFDWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsU0FBUzt3QkFDaEIsd0JBQXdCLEVBQUUsa0JBQWtCO3dCQUM1QywyQkFBMkIsRUFBRSxxQkFBcUI7d0JBRWxELDBCQUEwQixFQUFFLG9CQUFvQjt3QkFDaEQsMEJBQTBCLEVBQUUsb0JBQW9CO3dCQUVoRCxxQkFBcUIsRUFBRSxlQUFlO3dCQUN0QyxxQkFBcUIsRUFBRSxlQUFlO3dCQUN0QyxxQkFBcUIsRUFBRSxlQUFlO3dCQUN0QyxxQkFBcUIsRUFBRSxlQUFlO3FCQUN6QztpQkFDSjt5SEFhTyxRQUFRO3NCQURYLEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVFGLFFBQVE7c0JBRFgsS0FBSztnQkFRRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgUmVuZGVyZXIyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNUaGVtZUNvbG9yLCBUaHlUaGVtZUNvbG9yIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcblxuZXhwb3J0IHR5cGUgVGh5Q29sb3JUeXBlID0gVGh5VGhlbWVDb2xvciB8IHN0cmluZztcbmV4cG9ydCB0eXBlIFRoeVNpemVUeXBlID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJztcbmV4cG9ydCB0eXBlIFRoeVRoZW1lVHlwZSA9ICdvdXRsaW5lJyB8ICdmaWxsJztcbmV4cG9ydCB0eXBlIFRoeVNoYXBlVHlwZSA9ICdzcXVhcmUnIHwgJ2NpcmNsZSc7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRfQ0xBU1NfTkFNRSA9ICd0aHktZG90JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09MT1JfTkFNRSA9ICdwcmltYXJ5JztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NJWkVfTkFNRSA9ICdzbSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USEVNRV9OQU1FID0gJ2ZpbGwnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0hBUEVfTkFNRSA9ICdjaXJjbGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1kb3QsW3RoeS1kb3RdLFt0aHlEb3RdJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWRvdCcsXG4gICAgICAgICdbY2xhc3MuZG90LXRoZW1lLWZpbGxdJzogJ3RoZW1lID09PSBcImZpbGxcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXRoZW1lLW91dGxpbmVdJzogJ3RoZW1lID09PSBcIm91dGxpbmVcIicsXG5cbiAgICAgICAgJ1tjbGFzcy5kb3Qtc2hhcGUtc3F1YXJlXSc6ICdzaGFwZSA9PT0gXCJzcXVhcmVcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNoYXBlLWNpcmNsZV0nOiAnc2hhcGUgPT09IFwiY2lyY2xlXCInLFxuXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUtbWRdJzogJ3NpemUgPT09IFwibWRcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUtc21dJzogJ3NpemUgPT09IFwic21cIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUteHNdJzogJ3NpemUgPT09IFwieHNcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUtbGddJzogJ3NpemUgPT09IFwibGdcIidcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoeURvdENvbXBvbmVudCB7XG4gICAgcHVibGljIHNpemU6IFRoeVNpemVUeXBlID0gREVGQVVMVF9TSVpFX05BTUU7XG4gICAgcHVibGljIHRoZW1lOiBUaHlUaGVtZVR5cGUgPSBERUZBVUxUX1RIRU1FX05BTUU7XG4gICAgcHVibGljIHNoYXBlOiBUaHlTaGFwZVR5cGUgPSBERUZBVUxUX1NIQVBFX05BTUU7XG4gICAgcHVibGljIGNvbG9yOiBUaHlDb2xvclR5cGUgPSBERUZBVUxUX0NPTE9SX05BTUU7XG4gICAgcHJpdmF0ZSBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnVwZGF0ZUNvbG9yU3R5bGUoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlDb2xvcih2YWx1ZTogVGh5Q29sb3JUeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb2xvciA9IHZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDb2xvclN0eWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlTaXplKHZhbHVlOiBUaHlTaXplVHlwZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2l6ZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGhlbWUodmFsdWU6IFRoeVRoZW1lVHlwZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudGhlbWUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNoYXBlKHZhbHVlOiBUaHlTaGFwZVR5cGUpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVDb2xvclN0eWxlKCkge1xuICAgICAgICBBcnJheS5mcm9tKHRoaXMubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QpXG4gICAgICAgICAgICAuZmlsdGVyKGl0ID0+IC9eZG90LWNvbG9yLVtcXHddKyQvLnRlc3QoaXQpKVxuICAgICAgICAgICAgLmZvckVhY2goaXQgPT4gdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsIGl0KSk7XG5cbiAgICAgICAgaWYgKGlzVGhlbWVDb2xvcih0aGlzLmNvbG9yKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLm5hdGl2ZUVsZW1lbnQsICdib3JkZXJDb2xvcicsICdub25lJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgYGRvdC1jb2xvci0ke3RoaXMuY29sb3J9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2JvcmRlckNvbG9yJywgdGhpcy5jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb3QvZG90LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFpQixNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT3BILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUM7QUFDNUMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUM7QUFzQjNDLE1BQU0sT0FBTyxlQUFlO0lBTXhCLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUx4RCxTQUFJLEdBQWdCLGlCQUFpQixDQUFDO1FBQ3RDLFVBQUssR0FBaUIsa0JBQWtCLENBQUM7UUFDekMsVUFBSyxHQUFpQixrQkFBa0IsQ0FBQztRQUN6QyxVQUFLLEdBQWlCLGtCQUFrQixDQUFDO1FBRzVDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsSUFDSSxPQUFPLENBQUMsS0FBa0I7UUFDMUIsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRCxJQUNJLFFBQVEsQ0FBQyxLQUFtQjtRQUM1QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELElBQ0ksUUFBUSxDQUFDLEtBQW1CO1FBQzVCLElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQzthQUNuQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDMUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXRFLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLGFBQWEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDekU7YUFBTTtZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN6RTtJQUNMLENBQUM7OzRHQW5EUSxlQUFlO2dHQUFmLGVBQWUseW1CQWxCZCxFQUFFOzJGQWtCSCxlQUFlO2tCQXBCM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxRQUFRLEVBQUUsRUFBRTtvQkFDWixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsU0FBUzt3QkFDaEIsd0JBQXdCLEVBQUUsa0JBQWtCO3dCQUM1QywyQkFBMkIsRUFBRSxxQkFBcUI7d0JBRWxELDBCQUEwQixFQUFFLG9CQUFvQjt3QkFDaEQsMEJBQTBCLEVBQUUsb0JBQW9CO3dCQUVoRCxxQkFBcUIsRUFBRSxlQUFlO3dCQUN0QyxxQkFBcUIsRUFBRSxlQUFlO3dCQUN0QyxxQkFBcUIsRUFBRSxlQUFlO3dCQUN0QyxxQkFBcUIsRUFBRSxlQUFlO3dCQUN0QyxzQkFBc0IsRUFBRSxnQkFBZ0I7cUJBQzNDO2lCQUNKO3lIQWFPLFFBQVE7c0JBRFgsS0FBSztnQkFTRixPQUFPO3NCQURWLEtBQUs7Z0JBUUYsUUFBUTtzQkFEWCxLQUFLO2dCQVFGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzVGhlbWVDb2xvciwgVGh5VGhlbWVDb2xvciB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBSZW5kZXJlcjIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFRoeUNvbG9yVHlwZSA9IFRoeVRoZW1lQ29sb3IgfCBzdHJpbmc7XG5leHBvcnQgdHlwZSBUaHlTaXplVHlwZSA9ICd4cycgfCAnc20nIHwgJ21kJyB8ICdsZycgfCAneGxnJztcbmV4cG9ydCB0eXBlIFRoeVRoZW1lVHlwZSA9ICdvdXRsaW5lJyB8ICdmaWxsJztcbmV4cG9ydCB0eXBlIFRoeVNoYXBlVHlwZSA9ICdzcXVhcmUnIHwgJ2NpcmNsZSc7XG5cbmV4cG9ydCBjb25zdCBDT01QT05FTlRfQ0xBU1NfTkFNRSA9ICd0aHktZG90JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09MT1JfTkFNRSA9ICdwcmltYXJ5JztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NJWkVfTkFNRSA9ICdzbSc7XG5leHBvcnQgY29uc3QgREVGQVVMVF9USEVNRV9OQU1FID0gJ2ZpbGwnO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0hBUEVfTkFNRSA9ICdjaXJjbGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1kb3QsW3RoeS1kb3RdLFt0aHlEb3RdJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWRvdCcsXG4gICAgICAgICdbY2xhc3MuZG90LXRoZW1lLWZpbGxdJzogJ3RoZW1lID09PSBcImZpbGxcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXRoZW1lLW91dGxpbmVdJzogJ3RoZW1lID09PSBcIm91dGxpbmVcIicsXG5cbiAgICAgICAgJ1tjbGFzcy5kb3Qtc2hhcGUtc3F1YXJlXSc6ICdzaGFwZSA9PT0gXCJzcXVhcmVcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNoYXBlLWNpcmNsZV0nOiAnc2hhcGUgPT09IFwiY2lyY2xlXCInLFxuXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUtbWRdJzogJ3NpemUgPT09IFwibWRcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUtc21dJzogJ3NpemUgPT09IFwic21cIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUteHNdJzogJ3NpemUgPT09IFwieHNcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUtbGddJzogJ3NpemUgPT09IFwibGdcIicsXG4gICAgICAgICdbY2xhc3MuZG90LXNpemUteGxnXSc6ICdzaXplID09PSBcInhsZ1wiJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGh5RG90Q29tcG9uZW50IHtcbiAgICBwdWJsaWMgc2l6ZTogVGh5U2l6ZVR5cGUgPSBERUZBVUxUX1NJWkVfTkFNRTtcbiAgICBwdWJsaWMgdGhlbWU6IFRoeVRoZW1lVHlwZSA9IERFRkFVTFRfVEhFTUVfTkFNRTtcbiAgICBwdWJsaWMgc2hhcGU6IFRoeVNoYXBlVHlwZSA9IERFRkFVTFRfU0hBUEVfTkFNRTtcbiAgICBwdWJsaWMgY29sb3I6IFRoeUNvbG9yVHlwZSA9IERFRkFVTFRfQ09MT1JfTkFNRTtcbiAgICBwcml2YXRlIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIHRoaXMudXBkYXRlQ29sb3JTdHlsZSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUNvbG9yKHZhbHVlOiBUaHlDb2xvclR5cGUpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNvbG9yID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbG9yU3R5bGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IFRoeVNpemVUeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUaGVtZSh2YWx1ZTogVGh5VGhlbWVUeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50aGVtZSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2hhcGUodmFsdWU6IFRoeVNoYXBlVHlwZSkge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGUgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUNvbG9yU3R5bGUoKSB7XG4gICAgICAgIEFycmF5LmZyb20odGhpcy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdClcbiAgICAgICAgICAgIC5maWx0ZXIoaXQgPT4gL15kb3QtY29sb3ItW1xcd10rJC8udGVzdChpdCkpXG4gICAgICAgICAgICAuZm9yRWFjaChpdCA9PiB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgaXQpKTtcblxuICAgICAgICBpZiAoaXNUaGVtZUNvbG9yKHRoaXMuY29sb3IpKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubmF0aXZlRWxlbWVudCwgJ2JvcmRlckNvbG9yJywgJ25vbmUnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCBgZG90LWNvbG9yLSR7dGhpcy5jb2xvcn1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5uYXRpdmVFbGVtZW50LCAnYm9yZGVyQ29sb3InLCB0aGlzLmNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -215,14 +215,14 @@ export class ThySelectControlComponent {
215
215
  }
216
216
  }
217
217
  ThySelectControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThySelectControlComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.UpdateHostClassService }], target: i0.ɵɵFactoryTarget.Component });
218
- ThySelectControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThySelectControlComponent, selector: "thy-select-control,[thySelectControl]", inputs: { thyPanelOpened: "thyPanelOpened", thyIsMultiple: "thyIsMultiple", thyShowSearch: "thyShowSearch", thySelectedOptions: "thySelectedOptions", thyDisabled: "thyDisabled", customDisplayTemplate: "customDisplayTemplate", thyAllowClear: "thyAllowClear", thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyMaxTagCount: "thyMaxTagCount" }, outputs: { thyOnSearch: "thyOnSearch", thyOnRemove: "thyOnRemove", thyOnClear: "thyOnClear" }, providers: [UpdateHostClassService], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n <div class=\"text-placeholder text-truncate\" *ngIf=\"!isSelectedValue\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n <ng-container *ngIf=\"isMultiple; else single\">\n <ul>\n <li\n class=\"choice mr-1\"\n [ngClass]=\"{ disabled: disabled === true }\"\n thyTag\n [thySize]=\"tagSize\"\n *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\"\n >\n <div class=\"text-truncate\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ item.thyLabelText }}\n </ng-container>\n </div>\n <thy-icon *ngIf=\"!disabled\" class=\"ml-1 font-size-sm\" thyIconName=\"close\" (click)=\"removeHandle(item, $event)\"></thy-icon>\n </li>\n <li\n *ngIf=\"thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount\"\n thyTag\n [thySize]=\"tagSize\"\n class=\"choice max-tag-count-choice\"\n [ngClass]=\"{ disabled: disabled === true }\"\n >\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </li>\n <li class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </li>\n </ul>\n </ng-container>\n <ng-template #single>\n <ng-container *ngIf=\"isSelectedValue\">\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ selectedValue?.thyLabelText }}\n </ng-container>\n </div>\n </ng-container>\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </ng-template>\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n<span class=\"select-control-clear remove-link\" *ngIf=\"showClearIcon\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</span>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: i5.ThyTagComponent, selector: "thy-tag, [thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
218
+ ThySelectControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ThySelectControlComponent, selector: "thy-select-control,[thySelectControl]", inputs: { thyPanelOpened: "thyPanelOpened", thyIsMultiple: "thyIsMultiple", thyShowSearch: "thyShowSearch", thySelectedOptions: "thySelectedOptions", thyDisabled: "thyDisabled", customDisplayTemplate: "customDisplayTemplate", thyAllowClear: "thyAllowClear", thyPlaceholder: "thyPlaceholder", thySize: "thySize", thyMaxTagCount: "thyMaxTagCount" }, outputs: { thyOnSearch: "thyOnSearch", thyOnRemove: "thyOnRemove", thyOnClear: "thyOnClear" }, providers: [UpdateHostClassService], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n <div class=\"text-placeholder text-truncate\" *ngIf=\"!isSelectedValue\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n <ng-container *ngIf=\"isMultiple; else single\">\n <ul>\n <li\n class=\"choice mr-1\"\n [ngClass]=\"{ disabled: disabled === true }\"\n thyTag\n [thySize]=\"tagSize\"\n *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\"\n >\n <div class=\"text-truncate\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ item.thyLabelText }}\n </ng-container>\n </div>\n <div *ngIf=\"!disabled\" class=\"choice-remove-link\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n </li>\n <li\n *ngIf=\"thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount\"\n thyTag\n [thySize]=\"tagSize\"\n class=\"choice max-tag-count-choice\"\n [ngClass]=\"{ disabled: disabled === true }\"\n >\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </li>\n <li class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </li>\n </ul>\n </ng-container>\n <ng-template #single>\n <ng-container *ngIf=\"isSelectedValue\">\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ selectedValue?.thyLabelText }}\n </ng-container>\n </div>\n </ng-container>\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </ng-template>\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n<span class=\"select-control-clear remove-link\" *ngIf=\"showClearIcon\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</span>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ThyIconComponent, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "component", type: i5.ThyTagComponent, selector: "thy-tag, [thyTag]", inputs: ["thyTag", "thyShape", "thyColor", "thyTheme", "thySize", "thyHoverable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
219
219
  __decorate([
220
220
  InputNumber(),
221
221
  __metadata("design:type", Object)
222
222
  ], ThySelectControlComponent.prototype, "thyMaxTagCount", void 0);
223
223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ThySelectControlComponent, decorators: [{
224
224
  type: Component,
225
- args: [{ selector: 'thy-select-control,[thySelectControl]', providers: [UpdateHostClassService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n <div class=\"text-placeholder text-truncate\" *ngIf=\"!isSelectedValue\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n <ng-container *ngIf=\"isMultiple; else single\">\n <ul>\n <li\n class=\"choice mr-1\"\n [ngClass]=\"{ disabled: disabled === true }\"\n thyTag\n [thySize]=\"tagSize\"\n *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\"\n >\n <div class=\"text-truncate\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ item.thyLabelText }}\n </ng-container>\n </div>\n <thy-icon *ngIf=\"!disabled\" class=\"ml-1 font-size-sm\" thyIconName=\"close\" (click)=\"removeHandle(item, $event)\"></thy-icon>\n </li>\n <li\n *ngIf=\"thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount\"\n thyTag\n [thySize]=\"tagSize\"\n class=\"choice max-tag-count-choice\"\n [ngClass]=\"{ disabled: disabled === true }\"\n >\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </li>\n <li class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </li>\n </ul>\n </ng-container>\n <ng-template #single>\n <ng-container *ngIf=\"isSelectedValue\">\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ selectedValue?.thyLabelText }}\n </ng-container>\n </div>\n </ng-container>\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </ng-template>\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n<span class=\"select-control-clear remove-link\" *ngIf=\"showClearIcon\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</span>\n" }]
225
+ args: [{ selector: 'thy-select-control,[thySelectControl]', providers: [UpdateHostClassService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #inputTemplate>\n <input\n #inputElement\n (compositionstart)=\"isComposing = true\"\n (compositionend)=\"isComposing = false\"\n autocomplete=\"something-new\"\n [ngClass]=\"searchInputControlClass\"\n (input)=\"updateWidth()\"\n [ngModel]=\"inputValue\"\n (ngModelChange)=\"setInputValue($event)\"\n (keydown.backspace)=\"handleBackspace($event)\"\n [disabled]=\"thyDisabled\"\n />\n</ng-template>\n\n<div class=\"select-control-rendered\">\n <div class=\"text-placeholder text-truncate\" *ngIf=\"!isSelectedValue\" [ngStyle]=\"placeholderStyle\">\n {{ thyPlaceholder }}\n </div>\n <ng-container *ngIf=\"isMultiple; else single\">\n <ul>\n <li\n class=\"choice mr-1\"\n [ngClass]=\"{ disabled: disabled === true }\"\n thyTag\n [thySize]=\"tagSize\"\n *ngFor=\"let item of maxSelectedTags; trackBy: trackValue\"\n >\n <div class=\"text-truncate\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item.thyRawValue || item.thyValue || item }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ item.thyLabelText }}\n </ng-container>\n </div>\n <div *ngIf=\"!disabled\" class=\"choice-remove-link\" (click)=\"removeHandle(item, $event)\">\n <span>\n <thy-icon thyIconName=\"close\" class=\"font-size-sm\"></thy-icon>\n </span>\n </div>\n </li>\n <li\n *ngIf=\"thyMaxTagCount && multipleSelectedValue.length > thyMaxTagCount\"\n thyTag\n [thySize]=\"tagSize\"\n class=\"choice max-tag-count-choice\"\n [ngClass]=\"{ disabled: disabled === true }\"\n >\n <div class=\"text-truncate\">+{{ multipleSelectedValue.length - thyMaxTagCount + 1 }}...</div>\n </li>\n <li class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </li>\n </ul>\n </ng-container>\n <ng-template #single>\n <ng-container *ngIf=\"isSelectedValue\">\n <div class=\"selected-value text-truncate\" [ngStyle]=\"selectedValueStyle\">\n <ng-template\n #customDisplay\n [ngTemplateOutlet]=\"customDisplayTemplate\"\n [ngTemplateOutletContext]=\"{\n $implicit: selectedValue.thyRawValue || selectedValue.thyValue || selectedValue\n }\"\n ></ng-template>\n <ng-container *ngIf=\"!customDisplayTemplate; else customDisplay\">\n {{ selectedValue?.thyLabelText }}\n </ng-container>\n </div>\n </ng-container>\n <div class=\"select-control-search\">\n <ng-template [ngTemplateOutlet]=\"inputTemplate\"></ng-template>\n </div>\n </ng-template>\n</div>\n<span class=\"select-control-arrow\">\n <thy-icon thyIconName=\"angle-down\" class=\"font-size-base\"></thy-icon>\n</span>\n<span class=\"select-control-clear remove-link\" *ngIf=\"showClearIcon\" (click)=\"clearHandle($event)\">\n <thy-icon class=\"remove-link-icon font-size-base\" thyIconName=\"close-circle-bold-fill\"></thy-icon>\n</span>\n" }]
226
226
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.UpdateHostClassService }]; }, propDecorators: { thyPanelOpened: [{
227
227
  type: Input
228
228
  }], thyIsMultiple: [{
@@ -253,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
253
253
  type: ViewChild,
254
254
  args: ['inputElement']
255
255
  }] } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUVULHVCQUF1QixFQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFXcEQsTUFBTSxPQUFPLHlCQUF5QjtJQWtNbEMsWUFBb0IsUUFBbUIsRUFBVSxPQUF3QixFQUFVLHNCQUE4QztRQUE3RyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFBVSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBak1qSSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBNEZqQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd0QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQW9CSSxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUczQyxnQkFBVyxHQUFH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WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFJlbmRlcmVyMixcbiAgICBPbkluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dE51bWJlciwgVXBkYXRlSG9zdENsYXNzU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vb3B0aW9uL3NlbGVjdC1vcHRpb24tYmFzZSc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBUaHlUYWdTaXplIH0gZnJvbSAnbmd4LXRldGh5cy90YWcnO1xuXG5leHBvcnQgdHlwZSBTZWxlY3RDb250cm9sU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1zZWxlY3QtY29udHJvbCxbdGh5U2VsZWN0Q29udHJvbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbVXBkYXRlSG9zdENsYXNzU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGh5U2VsZWN0Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaW5wdXRWYWx1ZSA9ICcnO1xuXG4gICAgaXNDb21wb3NpbmcgPSBmYWxzZTtcblxuICAgIHBhbmVsT3BlbmVkID0gZmFsc2U7XG5cbiAgICBpc011bHRpcGxlID0gZmFsc2U7XG5cbiAgICBzaG93U2VhcmNoID0gZmFsc2U7XG5cbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgc2l6ZTogU2VsZWN0Q29udHJvbFNpemU7XG5cbiAgICBzZWxlY3RlZE9wdGlvbnM6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW107XG5cbiAgICBzZWFyY2hJbnB1dENvbnRyb2xDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XG5cbiAgICB0YWdTaXplOiBUaHlUYWdTaXplO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5UGFuZWxPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhbmVsT3BlbmVkO1xuICAgIH1cblxuICAgIHNldCB0aHlQYW5lbE9wZW5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBhbmVsT3BlbmVkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wYW5lbE9wZW5lZCAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VmFsdWUoJycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB0aHlJc011bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc011bHRpcGxlO1xuICAgIH1cblxuICAgIHNldCB0aHlJc011bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRoeVNob3dTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dTZWFyY2g7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNob3dTZWFyY2godmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93U2VhcmNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5U2VsZWN0ZWRPcHRpb25zKCk6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogU2VsZWN0T3B0aW9uQmFzZSB8IFNlbGVjdE9wdGlvbkJhc2VbXSkge1xuICAgICAgICBsZXQgc2FtZVZhbHVlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmIChvbGRWYWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgb2xkVmFsdWUubGVuZ3RoID09PSB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzYW1lVmFsdWUgPSB2YWx1ZS5ldmVyeSgob3B0aW9uLCBpbmRleCkgPT4gb3B0aW9uLnRoeVZhbHVlID09PSBvbGRWYWx1ZVtpbmRleF0udGh5VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG9sZFZhbHVlICYmIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgc2FtZVZhbHVlID0gKG9sZFZhbHVlIGFzIFNlbGVjdE9wdGlvbkJhc2UpLnRoeVZhbHVlID09PSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uQmFzZSkudGh5VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAoIXNhbWVWYWx1ZSkge1xuICAgICAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKCcnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgdGh5RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tRGlzcGxheVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KClcbiAgICB0aHlBbGxvd0NsZWFyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRoeVBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB0aHlTaXplKCk6IFNlbGVjdENvbnRyb2xTaXplIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogU2VsZWN0Q29udHJvbFNpemUpIHtcbiAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSAnc20nKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnc20nO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnbGcnKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnbGcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ21kJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIHRoeU1heFRhZ0NvdW50ID0gMDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHRoeU9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh5T25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogU2VsZWN0T3B0aW9uQmFzZTsgJGV2ZW50T3JpZ2luOiBFdmVudCB9PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRoeU9uQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JylcbiAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBnZXQgc2VsZWN0ZWRWYWx1ZVN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICBsZXQgc2hvd1NlbGVjdGVkVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9ICEodGhpcy5pc0NvbXBvc2luZyB8fCB0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogc2hvd1NlbGVjdGVkVmFsdWUgPyAnYmxvY2snIDogJ25vbmUnIH07XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIGxldCBwbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudGh5UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNDb21wb3NpbmcgfHwgdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6IHBsYWNlaG9sZGVyID8gJ2Jsb2NrJyA6ICdub25lJyB9O1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbXVsdGlwbGVTZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbWF4U2VsZWN0ZWRUYWdzKCkge1xuICAgICAgICBpZiAodGhpcy50aHlNYXhUYWdDb3VudCA+IDAgJiYgdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiB0aGlzLnRoeU1heFRhZ0NvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy50aHlNYXhUYWdDb3VudCAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucyBhcyBTZWxlY3RPcHRpb25CYXNlW107XG4gICAgfVxuXG4gICAgZ2V0IHNob3dDbGVhckljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeUFsbG93Q2xlYXIgJiYgdGhpcy5pc1NlbGVjdGVkVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2VsZWN0ZWRWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghdGhpcy5pc011bHRpcGxlICYmICFpc1VuZGVmaW5lZE9yTnVsbCh0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucykpIHx8XG4gICAgICAgICAgICAodGhpcy5pc011bHRpcGxlICYmICg8U2VsZWN0T3B0aW9uQmFzZVtdPnRoaXMudGh5U2VsZWN0ZWRPcHRpb25zKS5sZW5ndGggPiAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmPGFueT4sIHByaXZhdGUgdXBkYXRlSG9zdENsYXNzU2VydmljZTogVXBkYXRlSG9zdENsYXNzU2VydmljZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvc3RDbGFzc1NlcnZpY2UuaW5pdGlhbGl6ZUVsZW1lbnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIHNldFNlbGVjdENvbnRyb2xDbGFzcygpIHtcbiAgICAgICAgY29uc3QgbW9kZVR5cGUgPSB0aGlzLmlzTXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSc7XG4gICAgICAgIGNvbnN0IHNlbGVjdENvbnRyb2xDbGFzcyA9IHtcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sYF06IHRydWUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC0ke3RoaXMudGh5U2l6ZX1gXTogISF0aGlzLnRoeVNpemUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC1jdXN0b21gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtJHttb2RlVHlwZX1gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtc2hvdy1zZWFyY2hgXTogdGhpcy5zaG93U2VhcmNoLFxuICAgICAgICAgICAgW2BwYW5lbC1pcy1vcGVuZWRgXTogdGhpcy5wYW5lbE9wZW5lZCxcbiAgICAgICAgICAgIFtgZGlzYWJsZWRgXTogdGhpcy5kaXNhYmxlZFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnVwZGF0ZUhvc3RDbGFzc1NlcnZpY2UudXBkYXRlQ2xhc3NCeU1hcChzZWxlY3RDb250cm9sQ2xhc3MpO1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0Q29udHJvbENsYXNzID0ge1xuICAgICAgICAgICAgW2Bmb3JtLWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sLSR7dGhpcy50aHlTaXplfWBdOiAhIXRoaXMudGh5U2l6ZSxcbiAgICAgICAgICAgIFtgc2VhcmNoLWlucHV0LWZpZWxkYF06IHRydWUsXG4gICAgICAgICAgICBbYGhpZGRlbmBdOiAhdGhpcy50aHlTaG93U2VhcmNoXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2V0SW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlV2lkdGgoKTtcbiAgICAgICAgICAgIHRoaXMudGh5T25TZWFyY2guZW1pdCh0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQmFja3NwYWNlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmlzQ29tcG9zaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRWYWx1ZS5sZW5ndGggPT09IDAgJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUhhbmRsZSh0aGlzLnNlbGVjdGVkT3B0aW9uc1t0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggLSAxXSwgZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlV2lkdGgoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlwbGUgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlIHx8IHRoaXMuaXNDb21wb3NpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGh9cHhgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUhhbmRsZShpdGVtOiBTZWxlY3RPcHRpb25CYXNlLCAkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25SZW1vdmUuZW1pdCh7IGl0ZW06IGl0ZW0sICRldmVudE9yaWdpbjogJGV2ZW50IH0pO1xuICAgIH1cblxuICAgIGNsZWFySGFuZGxlKCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlPbkNsZWFyLmVtaXQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICB0cmFja1ZhbHVlKF9pbmRleDogbnVtYmVyLCBvcHRpb246IFNlbGVjdE9wdGlvbkJhc2UpOiBhbnkge1xuICAgICAgICByZXR1cm4gb3B0aW9uLnRoeVZhbHVlO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZT5cbiAgPGlucHV0XG4gICAgI2lucHV0RWxlbWVudFxuICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cImlzQ29tcG9zaW5nID0gdHJ1ZVwiXG4gICAgKGNvbXBvc2l0aW9uZW5kKT1cImlzQ29tcG9zaW5nID0gZmFsc2VcIlxuICAgIGF1dG9jb21wbGV0ZT1cInNvbWV0aGluZy1uZXdcIlxuICAgIFtuZ0NsYXNzXT1cInNlYXJjaElucHV0Q29udHJvbENsYXNzXCJcbiAgICAoaW5wdXQpPVwidXBkYXRlV2lkdGgoKVwiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRWYWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0SW5wdXRWYWx1ZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwiaGFuZGxlQmFja3NwYWNlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJ0aHlEaXNhYmxlZFwiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtcmVuZGVyZWRcIj5cbiAgPGRpdiBjbGFzcz1cInRleHQtcGxhY2Vob2xkZXIgdGV4dC10cnVuY2F0ZVwiICpuZ0lmPVwiIWlzU2VsZWN0ZWRWYWx1ZVwiIFtuZ1N0eWxlXT1cInBsYWNlaG9sZGVyU3R5bGVcIj5cbiAgICB7eyB0aHlQbGFjZWhvbGRlciB9fVxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTXVsdGlwbGU7IGVsc2Ugc2luZ2xlXCI+XG4gICAgPHVsPlxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwiY2hvaWNlIG1yLTFcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCA9PT0gdHJ1ZSB9XCJcbiAgICAgICAgdGh5VGFnXG4gICAgICAgIFt0aHlTaXplXT1cInRhZ1NpemVcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtYXhTZWxlY3RlZFRhZ3M7IHRyYWNrQnk6IHRyYWNrVmFsdWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgI2N1c3RvbURpc3BsYXlcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0udGh5UmF3VmFsdWUgfHwgaXRlbS50aHlWYWx1ZSB8fCBpdGVtIH1cIlxuICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tRGlzcGxheVRlbXBsYXRlOyBlbHNlIGN1c3RvbURpc3BsYXlcIj5cbiAgICAgICAgICAgIHt7IGl0ZW0udGh5TGFiZWxUZXh0IH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGh5LWljb24gKm5nSWY9XCIhZGlzYWJsZWRcIiBjbGFzcz1cIm1sLTEgZm9udC1zaXplLXNtXCIgdGh5SWNvbk5hbWU9XCJjbG9zZVwiIChjbGljayk9XCJyZW1vdmVIYW5kbGUoaXRlbSwgJGV2ZW50KVwiPjwvdGh5LWljb24+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0lmPVwidGh5TWF4VGFnQ291bnQgJiYgbXVsdGlwbGVTZWxlY3RlZFZhbHVlLmxlbmd0aCA+IHRoeU1heFRhZ0NvdW50XCJcbiAgICAgICAgdGh5VGFnXG4gICAgICAgIFt0aHlTaXplXT1cInRhZ1NpemVcIlxuICAgICAgICBjbGFzcz1cImNob2ljZSBtYXgtdGFnLWNvdW50LWNob2ljZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkID09PSB0cnVlIH1cIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPit7eyBtdWx0aXBsZVNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gdGh5TWF4VGFnQ291bnQgKyAxIH19Li4uPC9kaXY+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtc2VhcmNoXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjc2luZ2xlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlbGVjdGVkVmFsdWVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC12YWx1ZSB0ZXh0LXRydW5jYXRlXCIgW25nU3R5bGVdPVwic2VsZWN0ZWRWYWx1ZVN0eWxlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICNjdXN0b21EaXNwbGF5XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tRGlzcGxheVRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgJGltcGxpY2l0OiBzZWxlY3RlZFZhbHVlLnRoeVJhd1ZhbHVlIHx8IHNlbGVjdGVkVmFsdWUudGh5VmFsdWUgfHwgc2VsZWN0ZWRWYWx1ZVxuICAgICAgICAgIH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21EaXNwbGF5VGVtcGxhdGU7IGVsc2UgY3VzdG9tRGlzcGxheVwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkVmFsdWU/LnRoeUxhYmVsVGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtY29udHJvbC1zZWFyY2hcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1hcnJvd1wiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1kb3duXCIgY2xhc3M9XCJmb250LXNpemUtYmFzZVwiPjwvdGh5LWljb24+XG48L3NwYW4+XG48c3BhbiBjbGFzcz1cInNlbGVjdC1jb250cm9sLWNsZWFyIHJlbW92ZS1saW5rXCIgKm5nSWY9XCJzaG93Q2xlYXJJY29uXCIgKGNsaWNrKT1cImNsZWFySGFuZGxlKCRldmVudClcIj5cbiAgPHRoeS1pY29uIGNsYXNzPVwicmVtb3ZlLWxpbmstaWNvbiBmb250LXNpemUtYmFzZVwiIHRoeUljb25OYW1lPVwiY2xvc2UtY2lyY2xlLWJvbGQtZmlsbFwiPjwvdGh5LWljb24+XG48L3NwYW4+XG4iXX0=
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NoYXJlZC9zZWxlY3Qvc2VsZWN0LWNvbnRyb2wvc2VsZWN0LWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUVULHVCQUF1QixFQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7QUFXcEQsTUFBTSxPQUFPLHlCQUF5QjtJQWtNbEMsWUFBb0IsUUFBbUIsRUFBVSxPQUF3QixFQUFVLHNCQUE4QztRQUE3RyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFBVSwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBak1qSSxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBRWhCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBNEZqQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUd0QixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQW9CSSxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUczQyxnQkFBVyxHQUFH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WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBJbnB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIFJlbmRlcmVyMixcbiAgICBPbkluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dE51bWJlciwgVXBkYXRlSG9zdENsYXNzU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvY29yZSc7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vb3B0aW9uL3NlbGVjdC1vcHRpb24tYmFzZSc7XG5pbXBvcnQgeyBpc1VuZGVmaW5lZE9yTnVsbCB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyBUaHlUYWdTaXplIH0gZnJvbSAnbmd4LXRldGh5cy90YWcnO1xuXG5leHBvcnQgdHlwZSBTZWxlY3RDb250cm9sU2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICcnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1zZWxlY3QtY29udHJvbCxbdGh5U2VsZWN0Q29udHJvbF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbVXBkYXRlSG9zdENsYXNzU2VydmljZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVGh5U2VsZWN0Q29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgaW5wdXRWYWx1ZSA9ICcnO1xuXG4gICAgaXNDb21wb3NpbmcgPSBmYWxzZTtcblxuICAgIHBhbmVsT3BlbmVkID0gZmFsc2U7XG5cbiAgICBpc011bHRpcGxlID0gZmFsc2U7XG5cbiAgICBzaG93U2VhcmNoID0gZmFsc2U7XG5cbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgc2l6ZTogU2VsZWN0Q29udHJvbFNpemU7XG5cbiAgICBzZWxlY3RlZE9wdGlvbnM6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW107XG5cbiAgICBzZWFyY2hJbnB1dENvbnRyb2xDbGFzczogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH07XG5cbiAgICB0YWdTaXplOiBUaHlUYWdTaXplO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5UGFuZWxPcGVuZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhbmVsT3BlbmVkO1xuICAgIH1cblxuICAgIHNldCB0aHlQYW5lbE9wZW5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnBhbmVsT3BlbmVkID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLnBhbmVsT3BlbmVkICYmIHRoaXMudGh5U2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG51bGwpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wYW5lbE9wZW5lZCAmJiB0aGlzLnRoeVNob3dTZWFyY2gpIHtcbiAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VmFsdWUoJycpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RDb250cm9sQ2xhc3MoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB0aHlJc011bHRpcGxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc011bHRpcGxlO1xuICAgIH1cblxuICAgIHNldCB0aHlJc011bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNNdWx0aXBsZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRoeVNob3dTZWFyY2goKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNob3dTZWFyY2g7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNob3dTZWFyY2godmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93U2VhcmNoID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGh5U2VsZWN0ZWRPcHRpb25zKCk6IFNlbGVjdE9wdGlvbkJhc2UgfCBTZWxlY3RPcHRpb25CYXNlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgfVxuXG4gICAgc2V0IHRoeVNlbGVjdGVkT3B0aW9ucyh2YWx1ZTogU2VsZWN0T3B0aW9uQmFzZSB8IFNlbGVjdE9wdGlvbkJhc2VbXSkge1xuICAgICAgICBsZXQgc2FtZVZhbHVlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IG9sZFZhbHVlID0gdGhpcy5zZWxlY3RlZE9wdGlvbnM7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGlmIChvbGRWYWx1ZSBpbnN0YW5jZW9mIEFycmF5ICYmIHZhbHVlIGluc3RhbmNlb2YgQXJyYXkgJiYgb2xkVmFsdWUubGVuZ3RoID09PSB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzYW1lVmFsdWUgPSB2YWx1ZS5ldmVyeSgob3B0aW9uLCBpbmRleCkgPT4gb3B0aW9uLnRoeVZhbHVlID09PSBvbGRWYWx1ZVtpbmRleF0udGh5VmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG9sZFZhbHVlICYmIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgc2FtZVZhbHVlID0gKG9sZFZhbHVlIGFzIFNlbGVjdE9wdGlvbkJhc2UpLnRoeVZhbHVlID09PSAodmFsdWUgYXMgU2VsZWN0T3B0aW9uQmFzZSkudGh5VmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZE9wdGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAoIXNhbWVWYWx1ZSkge1xuICAgICAgICAgICAgICAgIFByb21pc2UucmVzb2x2ZShudWxsKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlKCcnKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRoeURpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgdGh5RGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgY3VzdG9tRGlzcGxheVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KClcbiAgICB0aHlBbGxvd0NsZWFyID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHRoeVBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCB0aHlTaXplKCk6IFNlbGVjdENvbnRyb2xTaXplIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZTtcbiAgICB9XG5cbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogU2VsZWN0Q29udHJvbFNpemUpIHtcbiAgICAgICAgdGhpcy5zaXplID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0U2VsZWN0Q29udHJvbENsYXNzKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSAnc20nKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnc20nO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSAnbGcnKSB7XG4gICAgICAgICAgICB0aGlzLnRhZ1NpemUgPSAnbGcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50YWdTaXplID0gJ21kJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBJbnB1dCgpIEBJbnB1dE51bWJlcigpIHRoeU1heFRhZ0NvdW50ID0gMDtcblxuICAgIEBPdXRwdXQoKVxuICAgIHRoeU9uU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdGh5T25SZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbTogU2VsZWN0T3B0aW9uQmFzZTsgJGV2ZW50T3JpZ2luOiBFdmVudCB9PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHRoeU9uQ2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50JylcbiAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBnZXQgc2VsZWN0ZWRWYWx1ZVN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgICAgICBsZXQgc2hvd1NlbGVjdGVkVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuc2hvd1NlYXJjaCkge1xuICAgICAgICAgICAgaWYgKHRoaXMucGFuZWxPcGVuZWQpIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9ICEodGhpcy5pc0NvbXBvc2luZyB8fCB0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzaG93U2VsZWN0ZWRWYWx1ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgZGlzcGxheTogc2hvd1NlbGVjdGVkVmFsdWUgPyAnYmxvY2snIDogJ25vbmUnIH07XG4gICAgfVxuXG4gICAgZ2V0IHBsYWNlaG9sZGVyU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgICAgIGxldCBwbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMudGh5UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNDb21wb3NpbmcgfHwgdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICBwbGFjZWhvbGRlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGRpc3BsYXk6IHBsYWNlaG9sZGVyID8gJ2Jsb2NrJyA6ICdub25lJyB9O1xuICAgIH1cblxuICAgIGdldCBzZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbXVsdGlwbGVTZWxlY3RlZFZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucztcbiAgICB9XG5cbiAgICBnZXQgbWF4U2VsZWN0ZWRUYWdzKCkge1xuICAgICAgICBpZiAodGhpcy50aHlNYXhUYWdDb3VudCA+IDAgJiYgdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSAmJiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiB0aGlzLnRoeU1heFRhZ0NvdW50KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlTZWxlY3RlZE9wdGlvbnMuc2xpY2UoMCwgdGhpcy50aHlNYXhUYWdDb3VudCAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucyBhcyBTZWxlY3RPcHRpb25CYXNlW107XG4gICAgfVxuXG4gICAgZ2V0IHNob3dDbGVhckljb24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRoeUFsbG93Q2xlYXIgJiYgdGhpcy5pc1NlbGVjdGVkVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGlzU2VsZWN0ZWRWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICghdGhpcy5pc011bHRpcGxlICYmICFpc1VuZGVmaW5lZE9yTnVsbCh0aGlzLnRoeVNlbGVjdGVkT3B0aW9ucykpIHx8XG4gICAgICAgICAgICAodGhpcy5pc011bHRpcGxlICYmICg8U2VsZWN0T3B0aW9uQmFzZVtdPnRoaXMudGh5U2VsZWN0ZWRPcHRpb25zKS5sZW5ndGggPiAwKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmPGFueT4sIHByaXZhdGUgdXBkYXRlSG9zdENsYXNzU2VydmljZTogVXBkYXRlSG9zdENsYXNzU2VydmljZSkge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvc3RDbGFzc1NlcnZpY2UuaW5pdGlhbGl6ZUVsZW1lbnQodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnNldFNlbGVjdENvbnRyb2xDbGFzcygpO1xuICAgIH1cblxuICAgIHNldFNlbGVjdENvbnRyb2xDbGFzcygpIHtcbiAgICAgICAgY29uc3QgbW9kZVR5cGUgPSB0aGlzLmlzTXVsdGlwbGUgPyAnbXVsdGlwbGUnIDogJ3NpbmdsZSc7XG4gICAgICAgIGNvbnN0IHNlbGVjdENvbnRyb2xDbGFzcyA9IHtcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sYF06IHRydWUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC0ke3RoaXMudGh5U2l6ZX1gXTogISF0aGlzLnRoeVNpemUsXG4gICAgICAgICAgICBbYGZvcm0tY29udHJvbC1jdXN0b21gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtJHttb2RlVHlwZX1gXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgc2VsZWN0LWNvbnRyb2wtc2hvdy1zZWFyY2hgXTogdGhpcy5zaG93U2VhcmNoLFxuICAgICAgICAgICAgW2BwYW5lbC1pcy1vcGVuZWRgXTogdGhpcy5wYW5lbE9wZW5lZCxcbiAgICAgICAgICAgIFtgZGlzYWJsZWRgXTogdGhpcy5kaXNhYmxlZFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnVwZGF0ZUhvc3RDbGFzc1NlcnZpY2UudXBkYXRlQ2xhc3NCeU1hcChzZWxlY3RDb250cm9sQ2xhc3MpO1xuICAgICAgICB0aGlzLnNlYXJjaElucHV0Q29udHJvbENsYXNzID0ge1xuICAgICAgICAgICAgW2Bmb3JtLWNvbnRyb2xgXTogdHJ1ZSxcbiAgICAgICAgICAgIFtgZm9ybS1jb250cm9sLSR7dGhpcy50aHlTaXplfWBdOiAhIXRoaXMudGh5U2l6ZSxcbiAgICAgICAgICAgIFtgc2VhcmNoLWlucHV0LWZpZWxkYF06IHRydWUsXG4gICAgICAgICAgICBbYGhpZGRlbmBdOiAhdGhpcy50aHlTaG93U2VhcmNoXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2V0SW5wdXRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlV2lkdGgoKTtcbiAgICAgICAgICAgIHRoaXMudGh5T25TZWFyY2guZW1pdCh0aGlzLmlucHV0VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlQmFja3NwYWNlKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAoKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmlzQ29tcG9zaW5nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRWYWx1ZS5sZW5ndGggPT09IDAgJiYgdGhpcy5zZWxlY3RlZE9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUhhbmRsZSh0aGlzLnNlbGVjdGVkT3B0aW9uc1t0aGlzLnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggLSAxXSwgZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlV2lkdGgoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzTXVsdGlwbGUgJiYgdGhpcy50aHlTaG93U2VhcmNoKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dFZhbHVlIHx8IHRoaXMuaXNDb21wb3NpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd3aWR0aCcsIGAke3RoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2Nyb2xsV2lkdGh9cHhgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnd2lkdGgnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUhhbmRsZShpdGVtOiBTZWxlY3RPcHRpb25CYXNlLCAkZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5T25SZW1vdmUuZW1pdCh7IGl0ZW06IGl0ZW0sICRldmVudE9yaWdpbjogJGV2ZW50IH0pO1xuICAgIH1cblxuICAgIGNsZWFySGFuZGxlKCRldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlPbkNsZWFyLmVtaXQoJGV2ZW50KTtcbiAgICB9XG5cbiAgICB0cmFja1ZhbHVlKF9pbmRleDogbnVtYmVyLCBvcHRpb246IFNlbGVjdE9wdGlvbkJhc2UpOiBhbnkge1xuICAgICAgICByZXR1cm4gb3B0aW9uLnRoeVZhbHVlO1xuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjaW5wdXRUZW1wbGF0ZT5cbiAgPGlucHV0XG4gICAgI2lucHV0RWxlbWVudFxuICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cImlzQ29tcG9zaW5nID0gdHJ1ZVwiXG4gICAgKGNvbXBvc2l0aW9uZW5kKT1cImlzQ29tcG9zaW5nID0gZmFsc2VcIlxuICAgIGF1dG9jb21wbGV0ZT1cInNvbWV0aGluZy1uZXdcIlxuICAgIFtuZ0NsYXNzXT1cInNlYXJjaElucHV0Q29udHJvbENsYXNzXCJcbiAgICAoaW5wdXQpPVwidXBkYXRlV2lkdGgoKVwiXG4gICAgW25nTW9kZWxdPVwiaW5wdXRWYWx1ZVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0SW5wdXRWYWx1ZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5iYWNrc3BhY2UpPVwiaGFuZGxlQmFja3NwYWNlKCRldmVudClcIlxuICAgIFtkaXNhYmxlZF09XCJ0aHlEaXNhYmxlZFwiXG4gIC8+XG48L25nLXRlbXBsYXRlPlxuXG48ZGl2IGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtcmVuZGVyZWRcIj5cbiAgPGRpdiBjbGFzcz1cInRleHQtcGxhY2Vob2xkZXIgdGV4dC10cnVuY2F0ZVwiICpuZ0lmPVwiIWlzU2VsZWN0ZWRWYWx1ZVwiIFtuZ1N0eWxlXT1cInBsYWNlaG9sZGVyU3R5bGVcIj5cbiAgICB7eyB0aHlQbGFjZWhvbGRlciB9fVxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTXVsdGlwbGU7IGVsc2Ugc2luZ2xlXCI+XG4gICAgPHVsPlxuICAgICAgPGxpXG4gICAgICAgIGNsYXNzPVwiY2hvaWNlIG1yLTFcIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBkaXNhYmxlZCA9PT0gdHJ1ZSB9XCJcbiAgICAgICAgdGh5VGFnXG4gICAgICAgIFt0aHlTaXplXT1cInRhZ1NpemVcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtYXhTZWxlY3RlZFRhZ3M7IHRyYWNrQnk6IHRyYWNrVmFsdWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgI2N1c3RvbURpc3BsYXlcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbURpc3BsYXlUZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0udGh5UmF3VmFsdWUgfHwgaXRlbS50aHlWYWx1ZSB8fCBpdGVtIH1cIlxuICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tRGlzcGxheVRlbXBsYXRlOyBlbHNlIGN1c3RvbURpc3BsYXlcIj5cbiAgICAgICAgICAgIHt7IGl0ZW0udGh5TGFiZWxUZXh0IH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRpc2FibGVkXCIgY2xhc3M9XCJjaG9pY2UtcmVtb3ZlLWxpbmtcIiAoY2xpY2spPVwicmVtb3ZlSGFuZGxlKGl0ZW0sICRldmVudClcIj5cbiAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImNsb3NlXCIgY2xhc3M9XCJmb250LXNpemUtc21cIj48L3RoeS1pY29uPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2xpPlxuICAgICAgPGxpXG4gICAgICAgICpuZ0lmPVwidGh5TWF4VGFnQ291bnQgJiYgbXVsdGlwbGVTZWxlY3RlZFZhbHVlLmxlbmd0aCA+IHRoeU1heFRhZ0NvdW50XCJcbiAgICAgICAgdGh5VGFnXG4gICAgICAgIFt0aHlTaXplXT1cInRhZ1NpemVcIlxuICAgICAgICBjbGFzcz1cImNob2ljZSBtYXgtdGFnLWNvdW50LWNob2ljZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkID09PSB0cnVlIH1cIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPit7eyBtdWx0aXBsZVNlbGVjdGVkVmFsdWUubGVuZ3RoIC0gdGh5TWF4VGFnQ291bnQgKyAxIH19Li4uPC9kaXY+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2VsZWN0LWNvbnRyb2wtc2VhcmNoXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjc2luZ2xlPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NlbGVjdGVkVmFsdWVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC12YWx1ZSB0ZXh0LXRydW5jYXRlXCIgW25nU3R5bGVdPVwic2VsZWN0ZWRWYWx1ZVN0eWxlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICNjdXN0b21EaXNwbGF5XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tRGlzcGxheVRlbXBsYXRlXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgJGltcGxpY2l0OiBzZWxlY3RlZFZhbHVlLnRoeVJhd1ZhbHVlIHx8IHNlbGVjdGVkVmFsdWUudGh5VmFsdWUgfHwgc2VsZWN0ZWRWYWx1ZVxuICAgICAgICAgIH1cIlxuICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjdXN0b21EaXNwbGF5VGVtcGxhdGU7IGVsc2UgY3VzdG9tRGlzcGxheVwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkVmFsdWU/LnRoeUxhYmVsVGV4dCB9fVxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3QtY29udHJvbC1zZWFyY2hcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbnB1dFRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuPHNwYW4gY2xhc3M9XCJzZWxlY3QtY29udHJvbC1hcnJvd1wiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1kb3duXCIgY2xhc3M9XCJmb250LXNpemUtYmFzZVwiPjwvdGh5LWljb24+XG48L3NwYW4+XG48c3BhbiBjbGFzcz1cInNlbGVjdC1jb250cm9sLWNsZWFyIHJlbW92ZS1saW5rXCIgKm5nSWY9XCJzaG93Q2xlYXJJY29uXCIgKGNsaWNrKT1cImNsZWFySGFuZGxlKCRldmVudClcIj5cbiAgPHRoeS1pY29uIGNsYXNzPVwicmVtb3ZlLWxpbmstaWNvbiBmb250LXNpemUtYmFzZVwiIHRoeUljb25OYW1lPVwiY2xvc2UtY2lyY2xlLWJvbGQtZmlsbFwiPjwvdGh5LWljb24+XG48L3NwYW4+XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { Version } from '@angular/core';
2
- export const VERSION = new Version('14.2.3');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNC4yLjMnKTtcbiJdfQ==
2
+ export const VERSION = new Version('14.2.4');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgVkVSU0lPTiA9IG5ldyBWZXJzaW9uKCcxNC4yLjQnKTtcbiJdfQ==
@@ -1,22 +1,22 @@
1
- import * as i3$1 from 'ngx-tethys/icon';
2
- import { ThyIconModule } from 'ngx-tethys/icon';
3
- import * as i1 from 'ngx-tethys/input';
4
- import { ThyInputModule } from 'ngx-tethys/input';
5
- import * as i2$1 from '@angular/common';
6
- import { CommonModule } from '@angular/common';
7
1
  import * as i0 from '@angular/core';
8
2
  import { Directive, Output, HostListener, EventEmitter, Component, HostBinding, ViewChild, Input, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
9
- import { __decorate, __metadata } from 'tslib';
10
- import * as i2 from '@angular/forms';
11
- import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
12
- import { InputBoolean } from 'ngx-tethys/core';
13
3
  import { Subject, fromEvent } from 'rxjs';
14
4
  import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
5
+ import * as i1 from 'ngx-tethys/input';
6
+ import { ThyInputModule } from 'ngx-tethys/input';
7
+ import * as i2 from '@angular/forms';
8
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
15
9
  import * as i3 from 'ngx-tethys/input-number';
16
10
  import { ThyInputNumberModule } from 'ngx-tethys/input-number';
17
11
  import * as i4 from 'ngx-tethys/shared';
18
12
  import { ThySharedModule } from 'ngx-tethys/shared';
13
+ import { __decorate, __metadata } from 'tslib';
14
+ import { InputBoolean } from 'ngx-tethys/core';
19
15
  import * as i1$1 from 'ngx-tethys/popover';
16
+ import * as i2$1 from '@angular/common';
17
+ import { CommonModule } from '@angular/common';
18
+ import * as i3$1 from 'ngx-tethys/icon';
19
+ import { ThyIconModule } from 'ngx-tethys/icon';
20
20
  import { ThyDialogModule } from 'ngx-tethys/dialog';
21
21
 
22
22
  /**
@@ -1156,5 +1156,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
1156
1156
  * Generated bundle index. Do not edit.
1157
1157
  */
1158
1158
 
1159
- export { ThyAlphaComponent, ThyColorInputsComponent, ThyColorPickerCustomPanelComponent, ThyColorPickerDirective, ThyColorPickerModule, ThyColorPickerPanelComponent, ThyHueComponent, ThyIndicatorComponent, ThySaturationComponent };
1159
+ export { DEFAULT_COLORS, ThyAlphaComponent, ThyColorInputsComponent, ThyColorPickerCustomPanelComponent, ThyColorPickerDirective, ThyColorPickerModule, ThyColorPickerPanelComponent, ThyHueComponent, ThyIndicatorComponent, ThySaturationComponent };
1160
1160
  //# sourceMappingURL=ngx-tethys-color-picker.mjs.map