@bravura/ui 1.6.0 → 1.8.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.
- package/CHANGELOG.md +36 -11
- package/LICENSE +6 -6
- package/behavior/behavior.module.d.ts +12 -12
- package/behavior/bravura-ui-behavior.d.ts +5 -5
- package/behavior/public-api.d.ts +3 -3
- package/behavior/sizing-monitor.directive.d.ts +23 -23
- package/behavior/sizing.directive.d.ts +94 -88
- package/bravura-ui.d.ts +5 -5
- package/bundles/bravura-ui-behavior.umd.js +631 -601
- package/bundles/bravura-ui-behavior.umd.js.map +1 -1
- package/bundles/bravura-ui-discrete-input.umd.js +695 -697
- package/bundles/bravura-ui-discrete-input.umd.js.map +1 -1
- package/bundles/bravura-ui-form-field.umd.js +440 -434
- package/bundles/bravura-ui-form-field.umd.js.map +1 -1
- package/bundles/bravura-ui-icon-font.umd.js +488 -490
- package/bundles/bravura-ui-icon-font.umd.js.map +1 -1
- package/bundles/bravura-ui-phone-number.umd.js +634 -636
- package/bundles/bravura-ui-phone-number.umd.js.map +1 -1
- package/bundles/bravura-ui-radio-panel.umd.js +466 -468
- package/bundles/bravura-ui-radio-panel.umd.js.map +1 -1
- package/bundles/bravura-ui-selection-panel.umd.js +613 -615
- package/bundles/bravura-ui-selection-panel.umd.js.map +1 -1
- package/bundles/bravura-ui-tooltip.umd.js +518 -479
- package/bundles/bravura-ui-tooltip.umd.js.map +1 -1
- package/bundles/bravura-ui.umd.js +4 -4
- package/bundles/bravura-ui.umd.js.map +1 -1
- package/discrete-input/bravura-ui-discrete-input.d.ts +5 -5
- package/discrete-input/discrete-input.component.d.ts +138 -138
- package/discrete-input/discrete-input.module.d.ts +11 -11
- package/discrete-input/public-api.d.ts +2 -2
- package/esm2015/behavior/behavior.module.js +21 -21
- package/esm2015/behavior/bravura-ui-behavior.js +4 -4
- package/esm2015/behavior/public-api.js +3 -3
- package/esm2015/behavior/sizing-monitor.directive.js +30 -30
- package/esm2015/behavior/sizing.directive.js +245 -217
- package/esm2015/bravura-ui.js +4 -4
- package/esm2015/discrete-input/bravura-ui-discrete-input.js +4 -4
- package/esm2015/discrete-input/discrete-input.component.js +332 -332
- package/esm2015/discrete-input/discrete-input.module.js +19 -19
- package/esm2015/discrete-input/public-api.js +2 -2
- package/esm2015/form-field/bravura-ui-form-field.js +4 -4
- package/esm2015/form-field/form-field.component.js +104 -96
- package/esm2015/form-field/form-field.module.js +19 -19
- package/esm2015/form-field/public-api.js +2 -2
- package/esm2015/icon-font/bravura-ui-icon-font.js +4 -4
- package/esm2015/icon-font/icon-font.module.js +21 -21
- package/esm2015/icon-font/icon.directive.js +101 -101
- package/esm2015/icon-font/public-api.js +3 -3
- package/esm2015/icon-font/utilities.js +50 -50
- package/esm2015/phone-number/bravura-ui-phone-number.js +4 -4
- package/esm2015/phone-number/phone-number.directive.js +191 -191
- package/esm2015/phone-number/phone-number.module.js +23 -23
- package/esm2015/phone-number/phone-number.pipe.js +46 -46
- package/esm2015/phone-number/phone-number.validator.js +63 -63
- package/esm2015/phone-number/public-api.js +1 -1
- package/esm2015/public-api.js +2 -2
- package/esm2015/radio-panel/bravura-ui-radio-panel.js +4 -4
- package/esm2015/radio-panel/public-api.js +4 -4
- package/esm2015/radio-panel/radio-panel-item.component.js +76 -76
- package/esm2015/radio-panel/radio-panel.directive.js +59 -59
- package/esm2015/radio-panel/radio-panel.module.js +24 -24
- package/esm2015/selection-panel/bravura-ui-selection-panel.js +4 -4
- package/esm2015/selection-panel/public-api.js +3 -3
- package/esm2015/selection-panel/selection-panel-item.component.js +143 -143
- package/esm2015/selection-panel/selection-panel.directive.js +116 -116
- package/esm2015/selection-panel/selection-panel.module.js +20 -20
- package/esm2015/tooltip/bravura-ui-tooltip.js +4 -4
- package/esm2015/tooltip/public-api.js +2 -2
- package/esm2015/tooltip/tooltip.component.js +52 -44
- package/esm2015/tooltip/tooltip.directive.js +110 -83
- package/esm2015/tooltip/tooltip.module.js +25 -25
- package/fesm2015/bravura-ui-behavior.js +281 -253
- package/fesm2015/bravura-ui-behavior.js.map +1 -1
- package/fesm2015/bravura-ui-discrete-input.js +332 -332
- package/fesm2015/bravura-ui-form-field.js +111 -103
- package/fesm2015/bravura-ui-form-field.js.map +1 -1
- package/fesm2015/bravura-ui-icon-font.js +162 -162
- package/fesm2015/bravura-ui-phone-number.js +300 -300
- package/fesm2015/bravura-ui-radio-panel.js +135 -135
- package/fesm2015/bravura-ui-selection-panel.js +258 -258
- package/fesm2015/bravura-ui-tooltip.js +163 -128
- package/fesm2015/bravura-ui-tooltip.js.map +1 -1
- package/fesm2015/bravura-ui.js +2 -2
- package/fesm2015/bravura-ui.js.map +1 -1
- package/form-field/bravura-ui-form-field.d.ts +5 -5
- package/form-field/form-field.component.d.ts +27 -27
- package/form-field/form-field.module.d.ts +10 -10
- package/form-field/public-api.d.ts +2 -2
- package/icon-font/bravura-ui-icon-font.d.ts +5 -5
- package/icon-font/icon-font.module.d.ts +12 -12
- package/icon-font/icon.directive.d.ts +46 -46
- package/icon-font/public-api.d.ts +3 -3
- package/icon-font/utilities.d.ts +20 -20
- package/package.json +1 -1
- package/phone-number/bravura-ui-phone-number.d.ts +5 -5
- package/phone-number/phone-number.directive.d.ts +66 -66
- package/phone-number/phone-number.module.d.ts +17 -17
- package/phone-number/phone-number.pipe.d.ts +13 -13
- package/phone-number/phone-number.validator.d.ts +31 -31
- package/phone-number/public-api.d.ts +1 -1
- package/public-api.d.ts +1 -1
- package/radio-panel/bravura-ui-radio-panel.d.ts +5 -5
- package/radio-panel/public-api.d.ts +3 -3
- package/radio-panel/radio-panel-item.component.d.ts +17 -17
- package/radio-panel/radio-panel.directive.d.ts +26 -26
- package/radio-panel/radio-panel.module.d.ts +15 -15
- package/selection-panel/bravura-ui-selection-panel.d.ts +5 -5
- package/selection-panel/public-api.d.ts +3 -3
- package/selection-panel/selection-panel-item.component.d.ts +63 -63
- package/selection-panel/selection-panel.directive.d.ts +67 -67
- package/selection-panel/selection-panel.module.d.ts +12 -12
- package/tooltip/bravura-ui-tooltip.d.ts +5 -5
- package/tooltip/public-api.d.ts +2 -2
- package/tooltip/tooltip.component.d.ts +24 -14
- package/tooltip/tooltip.directive.d.ts +39 -36
- package/tooltip/tooltip.module.d.ts +13 -13
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { DiscreteInputComponent } from './discrete-input.component';
|
|
4
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { A11yModule } from '@angular/cdk/a11y';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class DiscreteInputModule {
|
|
9
|
-
}
|
|
10
|
-
DiscreteInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
11
|
-
DiscreteInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
12
|
-
DiscreteInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
declarations: [DiscreteInputComponent],
|
|
17
|
-
imports: [CommonModule, MatFormFieldModule, ReactiveFormsModule, A11yModule]
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DiscreteInputComponent } from './discrete-input.component';
|
|
4
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class DiscreteInputModule {
|
|
9
|
+
}
|
|
10
|
+
DiscreteInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DiscreteInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
DiscreteInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DiscreteInputModule, declarations: [DiscreteInputComponent], imports: [CommonModule, MatFormFieldModule, ReactiveFormsModule, A11yModule] });
|
|
12
|
+
DiscreteInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DiscreteInputModule, imports: [[CommonModule, MatFormFieldModule, ReactiveFormsModule, A11yModule]] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: DiscreteInputModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
declarations: [DiscreteInputComponent],
|
|
17
|
+
imports: [CommonModule, MatFormFieldModule, ReactiveFormsModule, A11yModule]
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
20
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY3JldGUtaW5wdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvZGlzY3JldGUtaW5wdXQvZGlzY3JldGUtaW5wdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFNL0MsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQUhoQixzQkFBc0IsYUFDM0IsWUFBWSxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLFVBQVU7aUhBRS9ELG1CQUFtQixZQUZ0QixDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLENBQUM7MkZBRWhFLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDVCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLFVBQVUsQ0FBQztpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpc2NyZXRlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2Rpc2NyZXRlLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtEaXNjcmV0ZUlucHV0Q29tcG9uZW50XSxcblx0aW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBBMTF5TW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBEaXNjcmV0ZUlucHV0TW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { DiscreteInputModule } from './discrete-input.module';
|
|
2
|
-
export { DiscreteInputComponent } from './discrete-input.component';
|
|
1
|
+
export { DiscreteInputModule } from './discrete-input.module';
|
|
2
|
+
export { DiscreteInputComponent } from './discrete-input.component';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2Rpc2NyZXRlLWlucHV0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBEaXNjcmV0ZUlucHV0TW9kdWxlIH0gZnJvbSAnLi9kaXNjcmV0ZS1pbnB1dC5tb2R1bGUnO1xuZXhwb3J0IHsgRGlzY3JldGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZGlzY3JldGUtaW5wdXQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1mb3JtLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvZm9ybS1maWVsZC9icmF2dXJhLXVpLWZvcm0tZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,96 +1,104 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, HostListener, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { MatFormField, matFormFieldAnimations, MAT_FORM_FIELD } from '@angular/material/form-field';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/cdk/observers";
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
i0.ɵɵ
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
'
|
|
68
|
-
'[class.mat-form-field-appearance-
|
|
69
|
-
'[class.mat-form-field-
|
|
70
|
-
'[class.mat-form-field-
|
|
71
|
-
'[class.mat-form-field-
|
|
72
|
-
'[class.mat-form-field-
|
|
73
|
-
'[class.mat-form-field-
|
|
74
|
-
'[class.mat-form-field-
|
|
75
|
-
'[class.mat-form-field-
|
|
76
|
-
'[class.mat-
|
|
77
|
-
'[class.
|
|
78
|
-
'[class.
|
|
79
|
-
'[class.
|
|
80
|
-
'[class.
|
|
81
|
-
'[class.
|
|
82
|
-
'[class.ng-
|
|
83
|
-
'[class.ng-
|
|
84
|
-
'[class.
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBRXBHOzs7Ozs7R0FNRztBQXFDSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsWUFBWTtJQUNuRDs7T0FFRztJQUNILGtCQUFrQjtRQUNqQixPQUFPLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDWCxJQUFLLElBQUksQ0FBQyxVQUFrQixLQUFLLE9BQU8sRUFBRTtZQUN6QyxPQUFPLDZCQUE2QixDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUMzQixPQUFPLGdDQUFnQyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRTtZQUNwQyxPQUFPLDZDQUE2QyxDQUFDO1NBQ3JEO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNqQyxPQUFPLGNBQWMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLDhCQUE4QixDQUFDO1NBQzNFO2FBQU07WUFDTixPQUFPLG1EQUFtRCxDQUFDO1NBQzNEO0lBQ0YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsbUJBQW1CO1FBQ2xCLE9BQVEsSUFBSSxDQUFDLFVBQWtCLEtBQUssUUFBUSxJQUFLLElBQUksQ0FBQyxVQUFrQixLQUFLLE9BQU8sQ0FBQztJQUN0RixDQUFDO0lBRUQsY0FBYztJQUVkLFlBQVksQ0FBQyxLQUFpQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQzs7K0dBckNXLGtCQUFrQjttR0FBbEIsa0JBQWtCLGc4Q0FGbkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsNkVDNUM1RiwrK0hBeUZBLGlwRkQxRWEsQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQzsyRkErQjNDLGtCQUFrQjtrQkFwQzlCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSwyQkFBMkI7b0JBQ3hDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxVQUFVLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDdkQsSUFBSSxFQUFFO3dCQUNMLEtBQUssRUFBRSwrQkFBK0I7d0JBQ3RDLDRDQUE0QyxFQUFFLDBCQUEwQjt3QkFDeEUsd0NBQXdDLEVBQUUsc0JBQXNCO3dCQUNoRSwyQ0FBMkMsRUFBRSx5QkFBeUI7d0JBQ3RFLDBDQUEwQyxFQUFFLHdCQUF3Qjt3QkFDcEUseUNBQXlDLEVBQUUsdUJBQXVCO3dCQUNsRSwwQ0FBMEMsRUFBRSx3QkFBd0I7d0JBQ3BFLGdDQUFnQyxFQUFFLHFCQUFxQjt3QkFDdkQsa0NBQWtDLEVBQUUsa0JBQWtCO3dCQUN0RCxxQ0FBcUMsRUFBRSxxQkFBcUI7d0JBQzVELGtDQUFrQyxFQUFFLHFCQUFxQjt3QkFDekQseUNBQXlDLEVBQUUsMkJBQTJCO3dCQUN0RSxpQ0FBaUMsRUFBRSxtQkFBbUI7d0JBQ3RELG1DQUFtQyxFQUFFLHFCQUFxQjt3QkFDMUQscUJBQXFCLEVBQUUsa0JBQWtCO3dCQUN6QyxzQkFBc0IsRUFBRSw2QkFBNkI7d0JBQ3JELG9CQUFvQixFQUFFLDJCQUEyQjt3QkFDakQscUJBQXFCLEVBQUUsNEJBQTRCO3dCQUNuRCxrQkFBa0IsRUFBRSx5QkFBeUI7d0JBQzdDLGtCQUFrQixFQUFFLHlCQUF5Qjt3QkFDN0Msb0JBQW9CLEVBQUUsMkJBQTJCO3dCQUNqRCxvQkFBb0IsRUFBRSwyQkFBMkI7d0JBQ2pELGlDQUFpQyxFQUFFLHFCQUFxQjtxQkFDeEQ7b0JBQ0QsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNqQixhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7aUJBQzNGOzhCQW9DQSxZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDOztBQU1qQyxrQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBRSxZQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgbWF0Rm9ybUZpZWxkQW5pbWF0aW9ucywgTUFUX0ZPUk1fRklFTEQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuLyoqXG4gKiBDb250YWluZXIgZm9yIGZvcm0gY29udHJvbHMgdGhhdCBhcHBsaWVzIE1hdGVyaWFsIERlc2lnbiBzdHlsaW5nIGFuZCBiZWhhdmlvci5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCBleHRlbmRzIEFuZ3VsYXIgTWF0ZXJpYWwncyBbbWF0LWZvcm0tZmllbGRdKGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jb21wb25lbnRzL2Zvcm0tZmllbGQpIGFuZCBwcm92aWRlcyB0d28gYWRkaXRpb25hbCBhcHBlYXJhbmNlc1xuICogYGJvdW5kYCBhbmQgYGRldGFjaGAuIGBib3VuZGAgcmVuZGVycyB0aGUgbGFiZWwgb3V0c2lkZSB0aGUgb3V0bGluZWQgYXJlYSBvZiB0aGUgZmllbGQsIHdoaWxlIGBkZXRhY2hgIHJlbW92ZSB0aGUgYm9yZGVycyBhbGwgdG9nZXRoZXIuIGBkZXRhY2hgXG4gKiBpcyBnZW5lcmFsbHkgdXNlZCB3aXRoIGZvcm0gY29udHJvbHMgdGhhdCByZW5kZXIgdGhlaXIgb3duIGJvcmRlcnMuXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2J1aS1mb3JtLWZpZWxkJyxcblx0ZXhwb3J0QXM6ICdidWlGb3JtRmllbGQnLFxuXHR0ZW1wbGF0ZVVybDogJ2Zvcm0tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9mb3JtLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG5cdGFuaW1hdGlvbnM6IFttYXRGb3JtRmllbGRBbmltYXRpb25zLnRyYW5zaXRpb25NZXNzYWdlc10sXG5cdGhvc3Q6IHtcblx0XHRjbGFzczogJ21hdC1mb3JtLWZpZWxkIGJ1aS1mb3JtLWZpZWxkJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utc3RhbmRhcmRdJzogJ2FwcGVhcmFuY2UgPT0gXCJzdGFuZGFyZFwiJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbF0nOiAnYXBwZWFyYW5jZSA9PSBcImZpbGxcIicsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmVdJzogJ2FwcGVhcmFuY2UgPT0gXCJvdXRsaW5lXCInLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1kZXRhY2hdJzogJ2FwcGVhcmFuY2UgPT0gXCJkZXRhY2hcIicsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWJvdW5kXSc6ICdhcHBlYXJhbmNlID09IFwiYm91bmRcIicsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeV0nOiAnYXBwZWFyYW5jZSA9PSBcImxlZ2FjeVwiJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWludmFsaWRdJzogJ19jb250cm9sLmVycm9yU3RhdGUnLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0XSc6ICdfY2FuTGFiZWxGbG9hdCgpJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdF0nOiAnX3Nob3VsZExhYmVsRmxvYXQoKScsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1oYXMtbGFiZWxdJzogJ19oYXNGbG9hdGluZ0xhYmVsKCknLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtaGlkZS1wbGFjZWhvbGRlcl0nOiAnX2hpZGVDb250cm9sUGxhY2Vob2xkZXIoKScsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZF0nOiAnX2NvbnRyb2wuZGlzYWJsZWQnLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGxlZF0nOiAnX2NvbnRyb2wuYXV0b2ZpbGxlZCcsXG5cdFx0J1tjbGFzcy5tYXQtZm9jdXNlZF0nOiAnX2NvbnRyb2wuZm9jdXNlZCcsXG5cdFx0J1tjbGFzcy5uZy11bnRvdWNoZWRdJzogJ19zaG91bGRGb3J3YXJkKFwidW50b3VjaGVkXCIpJyxcblx0XHQnW2NsYXNzLm5nLXRvdWNoZWRdJzogJ19zaG91bGRGb3J3YXJkKFwidG91Y2hlZFwiKScsXG5cdFx0J1tjbGFzcy5uZy1wcmlzdGluZV0nOiAnX3Nob3VsZEZvcndhcmQoXCJwcmlzdGluZVwiKScsXG5cdFx0J1tjbGFzcy5uZy1kaXJ0eV0nOiAnX3Nob3VsZEZvcndhcmQoXCJkaXJ0eVwiKScsXG5cdFx0J1tjbGFzcy5uZy12YWxpZF0nOiAnX3Nob3VsZEZvcndhcmQoXCJ2YWxpZFwiKScsXG5cdFx0J1tjbGFzcy5uZy1pbnZhbGlkXSc6ICdfc2hvdWxkRm9yd2FyZChcImludmFsaWRcIiknLFxuXHRcdCdbY2xhc3MubmctcGVuZGluZ10nOiAnX3Nob3VsZEZvcndhcmQoXCJwZW5kaW5nXCIpJyxcblx0XHQnW2NsYXNzLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlXSc6ICchX2FuaW1hdGlvbnNFbmFibGVkJ1xuXHR9LFxuXHRpbnB1dHM6IFsnY29sb3InXSxcblx0ZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHByb3ZpZGVyczogW3sgcHJvdmlkZTogTUFUX0ZPUk1fRklFTEQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZvcm1GaWVsZENvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgTWF0Rm9ybUZpZWxkIHtcblx0LyoqXG5cdCAqIEBpZ25vcmVcblx0ICovXG5cdF9zaG91bGRBbHdheXNGbG9hdCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gc3VwZXIuX3Nob3VsZEFsd2F5c0Zsb2F0KCkgfHwgdGhpcy5fZW5oYW5jZWRBcHBlYXJhbmNlKCk7XG5cdH1cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0X2JvcmRlckNsYXNzKCk6IHN0cmluZyB7XG5cdFx0aWYgKCh0aGlzLmFwcGVhcmFuY2UgYXMgYW55KSAhPT0gJ2JvdW5kJykge1xuXHRcdFx0cmV0dXJuICdidWktZm9ybS1maWVsZC1mbGV4LWRlZmF1bHQnO1xuXHRcdH1cblx0XHRpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCkge1xuXHRcdFx0cmV0dXJuICdidWktZm9ybS1maWVsZC1ib3JkZXItZGlzYWJsZWQnO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5fY29udHJvbC5lcnJvclN0YXRlKSB7XG5cdFx0XHRyZXR1cm4gJ2J1aS1ib3JkZXItd2FybiBidWktZm9ybS1maWVsZC1ib3JkZXItdGhpY2snO1xuXHRcdH0gZWxzZSBpZiAodGhpcy5fY29udHJvbC5mb2N1c2VkKSB7XG5cdFx0XHRyZXR1cm4gYGJ1aS1ib3JkZXItJHt0aGlzLmNvbG9yIHx8ICdwcmltYXJ5J30gYnVpLWZvcm0tZmllbGQtYm9yZGVyLXRoaWNrYDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuICdidWktZm9ybS1maWVsZC1ib3JkZXItZGVmYXVsdCBidWktYm9yZGVyLWVtcGhhc2lzJztcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0X2VuaGFuY2VkQXBwZWFyYW5jZSgpIHtcblx0XHRyZXR1cm4gKHRoaXMuYXBwZWFyYW5jZSBhcyBhbnkpID09PSAnZGV0YWNoJyB8fCAodGhpcy5hcHBlYXJhbmNlIGFzIGFueSkgPT09ICdib3VuZCc7XG5cdH1cblxuXHQvKiogQGlnbm9yZSAqL1xuXHRASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG5cdF9ob3N0Q2xpY2tlZChldmVudDogTW91c2VFdmVudCkge1xuXHRcdHRoaXMuX2NvbnRyb2wub25Db250YWluZXJDbGljayAmJiB0aGlzLl9jb250cm9sLm9uQ29udGFpbmVyQ2xpY2soZXZlbnQpO1xuXHR9XG59XG5cbihGb3JtRmllbGRDb21wb25lbnQgYXMgYW55KS7JtWNtcC5zdHlsZXMucHVzaCgoTWF0Rm9ybUZpZWxkIGFzIGFueSkuybVjbXAuc3R5bGVzKTtcbiIsIjxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCI+XG5cdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1mbGV4IHt7IF9ib3JkZXJDbGFzcygpIH19XCIgI2Nvbm5lY3Rpb25Db250YWluZXI+XG5cdFx0PCEtLSBPdXRsaW5lIHVzZWQgZm9yIG91dGxpbmUgYXBwZWFyYW5jZS4gLS0+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcGVhcmFuY2UgPT0gJ291dGxpbmUnXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtb3V0bGluZVwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydFwiPjwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXBcIj48L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5kXCI+PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2tcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtc3RhcnRcIj48L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZ2FwXCI+PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWVuZFwiPjwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtcHJlZml4XCIgKm5nSWY9XCJfcHJlZml4Q2hpbGRyZW4ubGVuZ3RoXCI+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbbWF0UHJlZml4XVwiPjwvbmctY29udGVudD5cblx0XHQ8L2Rpdj5cblxuXHRcdDxkaXYgY2xhc3M9XCJ7eyBfZW5oYW5jZWRBcHBlYXJhbmNlKCkgPyAnYnVpLWZvcm0tZmllbGQtaW5maXgnIDogJ21hdC1mb3JtLWZpZWxkLWluZml4JyB9fVwiICNpbnB1dENvbnRhaW5lcj5cblx0XHRcdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuXHRcdFx0PHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXCI+XG5cdFx0XHRcdDwhLS0gV2UgYWRkIGFyaWEtb3ducyBhcyBhIHdvcmthcm91bmQgZm9yIGFuIGlzc3VlIGluIEpBV1MgJiBOVkRBIHdoZXJlIHRoZSBsYWJlbCBpc24ndFxuXHRcdFx0ICAgcmVhZCBpZiBpdCBjb21lcyBiZWZvcmUgdGhlIGNvbnRyb2wgaW4gdGhlIERPTS4gLS0+XG5cdFx0XHRcdDxsYWJlbFxuXHRcdFx0XHRcdGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWxcIlxuXHRcdFx0XHRcdChjZGtPYnNlcnZlQ29udGVudCk9XCJ1cGRhdGVPdXRsaW5lR2FwKClcIlxuXHRcdFx0XHRcdFtjZGtPYnNlcnZlQ29udGVudERpc2FibGVkXT1cImFwcGVhcmFuY2UgIT0gJ291dGxpbmUnXCJcblx0XHRcdFx0XHRbaWRdPVwiX2xhYmVsSWRcIlxuXHRcdFx0XHRcdFthdHRyLmZvcl09XCJfY29udHJvbC5pZFwiXG5cdFx0XHRcdFx0W2F0dHIuYXJpYS1vd25zXT1cIl9jb250cm9sLmlkXCJcblx0XHRcdFx0XHRbY2xhc3MubWF0LWVtcHR5XT1cIl9jb250cm9sLmVtcHR5ICYmICFfc2hvdWxkQWx3YXlzRmxvYXQoKVwiXG5cdFx0XHRcdFx0W2NsYXNzLm1hdC1mb3JtLWZpZWxkLWVtcHR5XT1cIl9jb250cm9sLmVtcHR5ICYmICFfc2hvdWxkQWx3YXlzRmxvYXQoKVwiXG5cdFx0XHRcdFx0W2NsYXNzLm1hdC1hY2NlbnRdPVwiY29sb3IgPT0gJ2FjY2VudCdcIlxuXHRcdFx0XHRcdFtjbGFzcy5tYXQtd2Fybl09XCJjb2xvciA9PSAnd2FybidcIlxuXHRcdFx0XHRcdCNsYWJlbFxuXHRcdFx0XHRcdCpuZ0lmPVwiX2hhc0Zsb2F0aW5nTGFiZWwoKVwiXG5cdFx0XHRcdFx0W25nU3dpdGNoXT1cIl9oYXNMYWJlbCgpXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDwhLS0gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCByZW1vdmUgaW4gZmF2b3Igb2YgbWF0LWxhYmVsIGVsZW1lbnQgYW4gcGxhY2Vob2xkZXIgYXR0ci4gLS0+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiZmFsc2VcIj5cblx0XHRcdFx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1wbGFjZWhvbGRlclwiPjwvbmctY29udGVudD5cblx0XHRcdFx0XHRcdDxzcGFuPnt7IF9jb250cm9sLnBsYWNlaG9sZGVyIH19PC9zcGFuPlxuXHRcdFx0XHRcdDwvbmctY29udGFpbmVyPlxuXG5cdFx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LWxhYmVsXCIgKm5nU3dpdGNoQ2FzZT1cInRydWVcIj48L25nLWNvbnRlbnQ+XG5cblx0XHRcdFx0XHQ8IS0tIEBicmVha2luZy1jaGFuZ2UgOC4wLjAgcmVtb3ZlIGBtYXQtcGxhY2Vob2xkZXItcmVxdWlyZWRgIGNsYXNzIC0tPlxuXHRcdFx0XHRcdDxzcGFuXG5cdFx0XHRcdFx0XHRjbGFzcz1cIm1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZCBtYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXJcIlxuXHRcdFx0XHRcdFx0YXJpYS1oaWRkZW49XCJ0cnVlXCJcblx0XHRcdFx0XHRcdCpuZ0lmPVwiIWhpZGVSZXF1aXJlZE1hcmtlciAmJiBfY29udHJvbC5yZXF1aXJlZCAmJiAhX2NvbnRyb2wuZGlzYWJsZWRcIlxuXHRcdFx0XHRcdFx0PiYjMzI7Kjwvc3BhblxuXHRcdFx0XHRcdD5cblx0XHRcdFx0PC9sYWJlbD5cblx0XHRcdDwvc3Bhbj5cblx0XHQ8L2Rpdj5cblxuXHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1zdWZmaXhcIiAqbmdJZj1cIl9zdWZmaXhDaGlsZHJlbi5sZW5ndGhcIj5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIlttYXRTdWZmaXhdXCI+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgKm5nSWY9XCJfZW5oYW5jZWRBcHBlYXJhbmNlKClcIiBjbGFzcz1cImJ1aS1mb3JtLWZpZWxkLXJpZ2h0LWZpbGxlclwiPjwvZGl2PlxuXHQ8L2Rpdj5cblxuXHQ8IS0tIFVuZGVybGluZSB1c2VkIGZvciBsZWdhY3ksIHN0YW5kYXJkLCBhbmQgYm94IGFwcGVhcmFuY2VzLiAtLT5cblx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZVwiICN1bmRlcmxpbmUgKm5nSWY9XCJhcHBlYXJhbmNlICE9ICdvdXRsaW5lJ1wiPlxuXHRcdDxzcGFuXG5cdFx0XHRjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXJpcHBsZVwiXG5cdFx0XHRbY2xhc3MubWF0LWFjY2VudF09XCJjb2xvciA9PSAnYWNjZW50J1wiXG5cdFx0XHRbY2xhc3MubWF0LXdhcm5dPVwiY29sb3IgPT0gJ3dhcm4nXCJcblx0XHQ+PC9zcGFuPlxuXHQ8L2Rpdj5cblxuXHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXJcIiBbbmdTd2l0Y2hdPVwiX2dldERpc3BsYXllZE1lc3NhZ2VzKClcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG5cdFx0PGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2Vycm9yJ1wiIFtAdHJhbnNpdGlvbk1lc3NhZ2VzXT1cIl9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZVwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LWVycm9yXCI+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXG5cdFx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWhpbnQtd3JhcHBlclwiICpuZ1N3aXRjaENhc2U9XCInaGludCdcIiBbQHRyYW5zaXRpb25NZXNzYWdlc109XCJfc3Vic2NyaXB0QW5pbWF0aW9uU3RhdGVcIj5cblx0XHRcdDwhLS0gVE9ETyhtbWFsZXJiYSk6IHVzZSBhbiBhY3R1YWwgPG1hdC1oaW50PiBvbmNlIGFsbCBzZWxlY3RvcnMgYXJlIHN3aXRjaGVkIHRvIG1hdC0qIC0tPlxuXHRcdFx0PGRpdiAqbmdJZj1cImhpbnRMYWJlbFwiIFtpZF09XCJfaGludExhYmVsSWRcIiBjbGFzcz1cIm1hdC1oaW50XCI+e3sgaGludExhYmVsIH19PC9kaXY+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtaGludDpub3QoW2FsaWduPSdlbmQnXSlcIj48L25nLWNvbnRlbnQ+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtaGludC1zcGFjZXJcIj48L2Rpdj5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1oaW50W2FsaWduPSdlbmQnXVwiPjwvbmctY29udGVudD5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
1
|
+
import { ChangeDetectionStrategy, Component, forwardRef, HostListener, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { MatFormField, matFormFieldAnimations, MAT_FORM_FIELD } from '@angular/material/form-field';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
import * as i2 from "@angular/cdk/observers";
|
|
6
|
+
/** @ignore */
|
|
7
|
+
const TYPE_REF = forwardRef(() => FormFieldComponent);
|
|
8
|
+
/**
|
|
9
|
+
* Container for form controls that applies Material Design styling and behavior.
|
|
10
|
+
*
|
|
11
|
+
* This component extends Angular Material's [mat-form-field](https://material.angular.io/components/form-field) and provides two additional appearances
|
|
12
|
+
* `bound` and `detach`. `bound` renders the label outside the outlined area of the field, while `detach` remove the borders all together. `detach`
|
|
13
|
+
* is generally used with form controls that render their own borders.
|
|
14
|
+
*/
|
|
15
|
+
export class FormFieldComponent extends MatFormField {
|
|
16
|
+
/**
|
|
17
|
+
* @ignore
|
|
18
|
+
*/
|
|
19
|
+
_shouldAlwaysFloat() {
|
|
20
|
+
return super._shouldAlwaysFloat() || this._enhancedAppearance();
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @ignore
|
|
24
|
+
*/
|
|
25
|
+
_borderClass() {
|
|
26
|
+
if (this.appearance !== 'bound') {
|
|
27
|
+
return 'bui-form-field-flex-default';
|
|
28
|
+
}
|
|
29
|
+
if (this._control.disabled) {
|
|
30
|
+
return 'bui-form-field-border-disabled';
|
|
31
|
+
}
|
|
32
|
+
else if (this._control.errorState) {
|
|
33
|
+
return 'bui-border-warn bui-form-field-border-thick';
|
|
34
|
+
}
|
|
35
|
+
else if (this._control.focused) {
|
|
36
|
+
return `bui-border-${this.color || 'primary'} bui-form-field-border-thick`;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
return 'bui-form-field-border-default bui-border-emphasis';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @ignore
|
|
44
|
+
*/
|
|
45
|
+
_enhancedAppearance() {
|
|
46
|
+
return this.appearance === 'detach' || this.appearance === 'bound';
|
|
47
|
+
}
|
|
48
|
+
/** @ignore */
|
|
49
|
+
_hostClicked(event) {
|
|
50
|
+
this._control.onContainerClick && this._control.onContainerClick(event);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
FormFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
+
FormFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: FormFieldComponent, selector: "bui-form-field", inputs: { color: "color" }, host: { listeners: { "click": "_hostClicked($event)" }, properties: { "class.mat-form-field-appearance-standard": "appearance == \"standard\"", "class.mat-form-field-appearance-fill": "appearance == \"fill\"", "class.mat-form-field-appearance-outline": "appearance == \"outline\"", "class.mat-form-field-appearance-detach": "appearance == \"detach\"", "class.mat-form-field-appearance-bound": "appearance == \"bound\"", "class.mat-form-field-appearance-legacy": "appearance == \"legacy\"", "class.mat-form-field-invalid": "_control.errorState", "class.mat-form-field-can-float": "_canLabelFloat()", "class.mat-form-field-should-float": "_shouldLabelFloat()", "class.mat-form-field-has-label": "_hasFloatingLabel()", "class.mat-form-field-hide-placeholder": "_hideControlPlaceholder()", "class.mat-form-field-disabled": "_control.disabled", "class.mat-form-field-autofilled": "_control.autofilled", "class.mat-focused": "_control.focused", "class.ng-untouched": "_shouldForward(\"untouched\")", "class.ng-touched": "_shouldForward(\"touched\")", "class.ng-pristine": "_shouldForward(\"pristine\")", "class.ng-dirty": "_shouldForward(\"dirty\")", "class.ng-valid": "_shouldForward(\"valid\")", "class.ng-invalid": "_shouldForward(\"invalid\")", "class.ng-pending": "_shouldForward(\"pending\")", "class._mat-animation-noopable": "!_animationsEnabled" }, classAttribute: "mat-form-field bui-form-field" }, providers: [
|
|
55
|
+
{ provide: MAT_FORM_FIELD, useExisting: TYPE_REF },
|
|
56
|
+
{ provide: MatFormField, useExisting: TYPE_REF }
|
|
57
|
+
], exportAs: ["buiFormField"], usesInheritance: true, ngImport: i0, template: "<div class=\"mat-form-field-wrapper\">\n\t<div class=\"mat-form-field-flex {{ _borderClass() }}\" #connectionContainer>\n\t\t<!-- Outline used for outline appearance. -->\n\t\t<ng-container *ngIf=\"appearance == 'outline'\">\n\t\t\t<div class=\"mat-form-field-outline\">\n\t\t\t\t<div class=\"mat-form-field-outline-start\"></div>\n\t\t\t\t<div class=\"mat-form-field-outline-gap\"></div>\n\t\t\t\t<div class=\"mat-form-field-outline-end\"></div>\n\t\t\t</div>\n\t\t\t<div class=\"mat-form-field-outline mat-form-field-outline-thick\">\n\t\t\t\t<div class=\"mat-form-field-outline-start\"></div>\n\t\t\t\t<div class=\"mat-form-field-outline-gap\"></div>\n\t\t\t\t<div class=\"mat-form-field-outline-end\"></div>\n\t\t\t</div>\n\t\t</ng-container>\n\n\t\t<div class=\"mat-form-field-prefix\" *ngIf=\"_prefixChildren.length\">\n\t\t\t<ng-content select=\"[matPrefix]\"></ng-content>\n\t\t</div>\n\n\t\t<div class=\"{{ _enhancedAppearance() ? 'bui-form-field-infix' : 'mat-form-field-infix' }}\" #inputContainer>\n\t\t\t<ng-content></ng-content>\n\n\t\t\t<span class=\"mat-form-field-label-wrapper\">\n\t\t\t\t<!-- We add aria-owns as a workaround for an issue in JAWS & NVDA where the label isn't\n\t\t\t read if it comes before the control in the DOM. -->\n\t\t\t\t<label\n\t\t\t\t\tclass=\"mat-form-field-label\"\n\t\t\t\t\t(cdkObserveContent)=\"updateOutlineGap()\"\n\t\t\t\t\t[cdkObserveContentDisabled]=\"appearance != 'outline'\"\n\t\t\t\t\t[id]=\"_labelId\"\n\t\t\t\t\t[attr.for]=\"_control.id\"\n\t\t\t\t\t[attr.aria-owns]=\"_control.id\"\n\t\t\t\t\t[class.mat-empty]=\"_control.empty && !_shouldAlwaysFloat()\"\n\t\t\t\t\t[class.mat-form-field-empty]=\"_control.empty && !_shouldAlwaysFloat()\"\n\t\t\t\t\t[class.mat-accent]=\"color == 'accent'\"\n\t\t\t\t\t[class.mat-warn]=\"color == 'warn'\"\n\t\t\t\t\t#label\n\t\t\t\t\t*ngIf=\"_hasFloatingLabel()\"\n\t\t\t\t\t[ngSwitch]=\"_hasLabel()\"\n\t\t\t\t>\n\t\t\t\t\t<!-- @breaking-change 8.0.0 remove in favor of mat-label element an placeholder attr. -->\n\t\t\t\t\t<ng-container *ngSwitchCase=\"false\">\n\t\t\t\t\t\t<ng-content select=\"mat-placeholder\"></ng-content>\n\t\t\t\t\t\t<span>{{ _control.placeholder }}</span>\n\t\t\t\t\t</ng-container>\n\n\t\t\t\t\t<ng-content select=\"mat-label\" *ngSwitchCase=\"true\"></ng-content>\n\n\t\t\t\t\t<!-- @breaking-change 8.0.0 remove `mat-placeholder-required` class -->\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"mat-placeholder-required mat-form-field-required-marker\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t*ngIf=\"!hideRequiredMarker && _control.required && !_control.disabled\"\n\t\t\t\t\t\t> *</span\n\t\t\t\t\t>\n\t\t\t\t</label>\n\t\t\t</span>\n\t\t</div>\n\n\t\t<div class=\"mat-form-field-suffix\" *ngIf=\"_suffixChildren.length\">\n\t\t\t<ng-content select=\"[matSuffix]\"></ng-content>\n\t\t</div>\n\t\t<div *ngIf=\"_enhancedAppearance()\" class=\"bui-form-field-right-filler\"></div>\n\t</div>\n\n\t<!-- Underline used for legacy, standard, and box appearances. -->\n\t<div class=\"mat-form-field-underline\" #underline *ngIf=\"appearance != 'outline'\">\n\t\t<span\n\t\t\tclass=\"mat-form-field-ripple\"\n\t\t\t[class.mat-accent]=\"color == 'accent'\"\n\t\t\t[class.mat-warn]=\"color == 'warn'\"\n\t\t></span>\n\t</div>\n\n\t<div class=\"mat-form-field-subscript-wrapper\" [ngSwitch]=\"_getDisplayedMessages()\" (click)=\"$event.stopPropagation()\">\n\t\t<div *ngSwitchCase=\"'error'\" [@transitionMessages]=\"_subscriptAnimationState\">\n\t\t\t<ng-content select=\"mat-error\"></ng-content>\n\t\t</div>\n\n\t\t<div class=\"mat-form-field-hint-wrapper\" *ngSwitchCase=\"'hint'\" [@transitionMessages]=\"_subscriptAnimationState\">\n\t\t\t<!-- TODO(mmalerba): use an actual <mat-hint> once all selectors are switched to mat-* -->\n\t\t\t<div *ngIf=\"hintLabel\" [id]=\"_hintLabelId\" class=\"mat-hint\">{{ hintLabel }}</div>\n\t\t\t<ng-content select=\"mat-hint:not([align='end'])\"></ng-content>\n\t\t\t<div class=\"mat-form-field-hint-spacer\"></div>\n\t\t\t<ng-content select=\"mat-hint[align='end']\"></ng-content>\n\t\t</div>\n\t</div>\n</div>\n", styles: [".bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex{padding:.5em;align-items:center;border-radius:4px;border-style:solid}.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex:not(.bui-form-field-border-thick):not(:hover),.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-form-field-border-disabled{border-width:1px;margin:1px}.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex:not(.bui-form-field-border-thick):not(:hover) .bui-form-field-right-filler,.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-form-field-border-disabled .bui-form-field-right-filler{width:2px}.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-form-field-border-disabled{border-color:#80808033;border-style:dotted}.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-form-field-border-default{border-color:#80808066}.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-form-field-border-thick,.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-border-emphasis:hover{border-width:2px}.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-form-field-border-thick .bui-form-field-right-filler,.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex.bui-border-emphasis:hover .bui-form-field-right-filler{width:0}.bui-form-field.mat-form-field-appearance-detach,.bui-form-field.mat-form-field-appearance-bound{padding-top:.75em}.bui-form-field.mat-form-field-appearance-detach .mat-form-field-wrapper,.bui-form-field.mat-form-field-appearance-bound .mat-form-field-wrapper{padding-top:.5em}.bui-form-field.mat-form-field-appearance-detach .bui-form-field-infix,.bui-form-field.mat-form-field-appearance-bound .bui-form-field-infix{flex-grow:1}.bui-form-field.mat-form-field-appearance-detach .mat-form-field-label,.bui-form-field.mat-form-field-appearance-bound .mat-form-field-label{font-size:1.125em}.bui-form-field.mat-form-field-appearance-detach .mat-form-field-flex,.bui-form-field.mat-form-field-appearance-bound .mat-form-field-flex{align-items:center}.bui-form-field.mat-form-field-appearance-detach .mat-form-field-flex{padding:.125em 0;align-items:center}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2.CdkObserveContent, selector: "[cdkObserveContent]", inputs: ["cdkObserveContentDisabled", "debounce"], outputs: ["cdkObserveContent"], exportAs: ["cdkObserveContent"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], animations: [matFormFieldAnimations.transitionMessages], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
59
|
+
type: Component,
|
|
60
|
+
args: [{
|
|
61
|
+
selector: 'bui-form-field',
|
|
62
|
+
exportAs: 'buiFormField',
|
|
63
|
+
templateUrl: 'form-field.component.html',
|
|
64
|
+
styleUrls: ['./form-field.component.scss'],
|
|
65
|
+
animations: [matFormFieldAnimations.transitionMessages],
|
|
66
|
+
host: {
|
|
67
|
+
class: 'mat-form-field bui-form-field',
|
|
68
|
+
'[class.mat-form-field-appearance-standard]': 'appearance == "standard"',
|
|
69
|
+
'[class.mat-form-field-appearance-fill]': 'appearance == "fill"',
|
|
70
|
+
'[class.mat-form-field-appearance-outline]': 'appearance == "outline"',
|
|
71
|
+
'[class.mat-form-field-appearance-detach]': 'appearance == "detach"',
|
|
72
|
+
'[class.mat-form-field-appearance-bound]': 'appearance == "bound"',
|
|
73
|
+
'[class.mat-form-field-appearance-legacy]': 'appearance == "legacy"',
|
|
74
|
+
'[class.mat-form-field-invalid]': '_control.errorState',
|
|
75
|
+
'[class.mat-form-field-can-float]': '_canLabelFloat()',
|
|
76
|
+
'[class.mat-form-field-should-float]': '_shouldLabelFloat()',
|
|
77
|
+
'[class.mat-form-field-has-label]': '_hasFloatingLabel()',
|
|
78
|
+
'[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',
|
|
79
|
+
'[class.mat-form-field-disabled]': '_control.disabled',
|
|
80
|
+
'[class.mat-form-field-autofilled]': '_control.autofilled',
|
|
81
|
+
'[class.mat-focused]': '_control.focused',
|
|
82
|
+
'[class.ng-untouched]': '_shouldForward("untouched")',
|
|
83
|
+
'[class.ng-touched]': '_shouldForward("touched")',
|
|
84
|
+
'[class.ng-pristine]': '_shouldForward("pristine")',
|
|
85
|
+
'[class.ng-dirty]': '_shouldForward("dirty")',
|
|
86
|
+
'[class.ng-valid]': '_shouldForward("valid")',
|
|
87
|
+
'[class.ng-invalid]': '_shouldForward("invalid")',
|
|
88
|
+
'[class.ng-pending]': '_shouldForward("pending")',
|
|
89
|
+
'[class._mat-animation-noopable]': '!_animationsEnabled'
|
|
90
|
+
},
|
|
91
|
+
inputs: ['color'],
|
|
92
|
+
encapsulation: ViewEncapsulation.None,
|
|
93
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
94
|
+
providers: [
|
|
95
|
+
{ provide: MAT_FORM_FIELD, useExisting: TYPE_REF },
|
|
96
|
+
{ provide: MatFormField, useExisting: TYPE_REF }
|
|
97
|
+
]
|
|
98
|
+
}]
|
|
99
|
+
}], propDecorators: { _hostClicked: [{
|
|
100
|
+
type: HostListener,
|
|
101
|
+
args: ['click', ['$event']]
|
|
102
|
+
}] } });
|
|
103
|
+
FormFieldComponent.ɵcmp.styles.push(MatFormField.ɵcmp.styles);
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7O0FBRXBHLGNBQWM7QUFDZCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUV0RDs7Ozs7O0dBTUc7QUF3Q0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFlBQVk7SUFDbkQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDakIsT0FBTyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1gsSUFBSyxJQUFJLENBQUMsVUFBa0IsS0FBSyxPQUFPLEVBQUU7WUFDekMsT0FBTyw2QkFBNkIsQ0FBQztTQUNyQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxnQ0FBZ0MsQ0FBQztTQUN4QzthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUU7WUFDcEMsT0FBTyw2Q0FBNkMsQ0FBQztTQUNyRDthQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUU7WUFDakMsT0FBTyxjQUFjLElBQUksQ0FBQyxLQUFLLElBQUksU0FBUyw4QkFBOEIsQ0FBQztTQUMzRTthQUFNO1lBQ04sT0FBTyxtREFBbUQsQ0FBQztTQUMzRDtJQUNGLENBQUM7SUFFRDs7T0FFRztJQUNILG1CQUFtQjtRQUNsQixPQUFRLElBQUksQ0FBQyxVQUFrQixLQUFLLFFBQVEsSUFBSyxJQUFJLENBQUMsVUFBa0IsS0FBSyxPQUFPLENBQUM7SUFDdEYsQ0FBQztJQUVELGNBQWM7SUFFZCxZQUFZLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OytHQXJDVyxrQkFBa0I7bUdBQWxCLGtCQUFrQixnOENBTG5CO1FBQ1YsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUU7UUFDbEQsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUU7S0FDaEQsNkVDbERGLCsrSEF5RkEsaXBGRHZFYSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDOzJGQWtDM0Msa0JBQWtCO2tCQXZDOUIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLDJCQUEyQjtvQkFDeEMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7b0JBQzFDLFVBQVUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLGtCQUFrQixDQUFDO29CQUN2RCxJQUFJLEVBQUU7d0JBQ0wsS0FBSyxFQUFFLCtCQUErQjt3QkFDdEMsNENBQTRDLEVBQUUsMEJBQTBCO3dCQUN4RSx3Q0FBd0MsRUFBRSxzQkFBc0I7d0JBQ2hFLDJDQUEyQyxFQUFFLHlCQUF5Qjt3QkFDdEUsMENBQTBDLEVBQUUsd0JBQXdCO3dCQUNwRSx5Q0FBeUMsRUFBRSx1QkFBdUI7d0JBQ2xFLDBDQUEwQyxFQUFFLHdCQUF3Qjt3QkFDcEUsZ0NBQWdDLEVBQUUscUJBQXFCO3dCQUN2RCxrQ0FBa0MsRUFBRSxrQkFBa0I7d0JBQ3RELHFDQUFxQyxFQUFFLHFCQUFxQjt3QkFDNUQsa0NBQWtDLEVBQUUscUJBQXFCO3dCQUN6RCx5Q0FBeUMsRUFBRSwyQkFBMkI7d0JBQ3RFLGlDQUFpQyxFQUFFLG1CQUFtQjt3QkFDdEQsbUNBQW1DLEVBQUUscUJBQXFCO3dCQUMxRCxxQkFBcUIsRUFBRSxrQkFBa0I7d0JBQ3pDLHNCQUFzQixFQUFFLDZCQUE2Qjt3QkFDckQsb0JBQW9CLEVBQUUsMkJBQTJCO3dCQUNqRCxxQkFBcUIsRUFBRSw0QkFBNEI7d0JBQ25ELGtCQUFrQixFQUFFLHlCQUF5Qjt3QkFDN0Msa0JBQWtCLEVBQUUseUJBQXlCO3dCQUM3QyxvQkFBb0IsRUFBRSwyQkFBMkI7d0JBQ2pELG9CQUFvQixFQUFFLDJCQUEyQjt3QkFDakQsaUNBQWlDLEVBQUUscUJBQXFCO3FCQUN4RDtvQkFDRCxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2pCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFO3dCQUNWLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFO3dCQUNsRCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRTtxQkFDaEQ7aUJBQ0Q7OEJBb0NBLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0FBTWpDLGtCQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLFlBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkLCBtYXRGb3JtRmllbGRBbmltYXRpb25zLCBNQVRfRk9STV9GSUVMRCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG4vKiogQGlnbm9yZSAqL1xuY29uc3QgVFlQRV9SRUYgPSBmb3J3YXJkUmVmKCgpID0+IEZvcm1GaWVsZENvbXBvbmVudCk7XG5cbi8qKlxuICogQ29udGFpbmVyIGZvciBmb3JtIGNvbnRyb2xzIHRoYXQgYXBwbGllcyBNYXRlcmlhbCBEZXNpZ24gc3R5bGluZyBhbmQgYmVoYXZpb3IuXG4gKlxuICogVGhpcyBjb21wb25lbnQgZXh0ZW5kcyBBbmd1bGFyIE1hdGVyaWFsJ3MgW21hdC1mb3JtLWZpZWxkXShodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9mb3JtLWZpZWxkKSBhbmQgcHJvdmlkZXMgdHdvIGFkZGl0aW9uYWwgYXBwZWFyYW5jZXNcbiAqIGBib3VuZGAgYW5kIGBkZXRhY2hgLiBgYm91bmRgIHJlbmRlcnMgdGhlIGxhYmVsIG91dHNpZGUgdGhlIG91dGxpbmVkIGFyZWEgb2YgdGhlIGZpZWxkLCB3aGlsZSBgZGV0YWNoYCByZW1vdmUgdGhlIGJvcmRlcnMgYWxsIHRvZ2V0aGVyLiBgZGV0YWNoYFxuICogaXMgZ2VuZXJhbGx5IHVzZWQgd2l0aCBmb3JtIGNvbnRyb2xzIHRoYXQgcmVuZGVyIHRoZWlyIG93biBib3JkZXJzLlxuICovXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdidWktZm9ybS1maWVsZCcsXG5cdGV4cG9ydEFzOiAnYnVpRm9ybUZpZWxkJyxcblx0dGVtcGxhdGVVcmw6ICdmb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vZm9ybS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuXHRhbmltYXRpb25zOiBbbWF0Rm9ybUZpZWxkQW5pbWF0aW9ucy50cmFuc2l0aW9uTWVzc2FnZXNdLFxuXHRob3N0OiB7XG5cdFx0Y2xhc3M6ICdtYXQtZm9ybS1maWVsZCBidWktZm9ybS1maWVsZCcsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkXSc6ICdhcHBlYXJhbmNlID09IFwic3RhbmRhcmRcIicsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGxdJzogJ2FwcGVhcmFuY2UgPT0gXCJmaWxsXCInLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lXSc6ICdhcHBlYXJhbmNlID09IFwib3V0bGluZVwiJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZGV0YWNoXSc6ICdhcHBlYXJhbmNlID09IFwiZGV0YWNoXCInLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1ib3VuZF0nOiAnYXBwZWFyYW5jZSA9PSBcImJvdW5kXCInLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3ldJzogJ2FwcGVhcmFuY2UgPT0gXCJsZWdhY3lcIicsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1pbnZhbGlkXSc6ICdfY29udHJvbC5lcnJvclN0YXRlJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdF0nOiAnX2NhbkxhYmVsRmxvYXQoKScsXG5cdFx0J1tjbGFzcy5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXRdJzogJ19zaG91bGRMYWJlbEZsb2F0KCknLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtaGFzLWxhYmVsXSc6ICdfaGFzRmxvYXRpbmdMYWJlbCgpJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWhpZGUtcGxhY2Vob2xkZXJdJzogJ19oaWRlQ29udHJvbFBsYWNlaG9sZGVyKCknLFxuXHRcdCdbY2xhc3MubWF0LWZvcm0tZmllbGQtZGlzYWJsZWRdJzogJ19jb250cm9sLmRpc2FibGVkJyxcblx0XHQnW2NsYXNzLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsZWRdJzogJ19jb250cm9sLmF1dG9maWxsZWQnLFxuXHRcdCdbY2xhc3MubWF0LWZvY3VzZWRdJzogJ19jb250cm9sLmZvY3VzZWQnLFxuXHRcdCdbY2xhc3MubmctdW50b3VjaGVkXSc6ICdfc2hvdWxkRm9yd2FyZChcInVudG91Y2hlZFwiKScsXG5cdFx0J1tjbGFzcy5uZy10b3VjaGVkXSc6ICdfc2hvdWxkRm9yd2FyZChcInRvdWNoZWRcIiknLFxuXHRcdCdbY2xhc3MubmctcHJpc3RpbmVdJzogJ19zaG91bGRGb3J3YXJkKFwicHJpc3RpbmVcIiknLFxuXHRcdCdbY2xhc3MubmctZGlydHldJzogJ19zaG91bGRGb3J3YXJkKFwiZGlydHlcIiknLFxuXHRcdCdbY2xhc3MubmctdmFsaWRdJzogJ19zaG91bGRGb3J3YXJkKFwidmFsaWRcIiknLFxuXHRcdCdbY2xhc3MubmctaW52YWxpZF0nOiAnX3Nob3VsZEZvcndhcmQoXCJpbnZhbGlkXCIpJyxcblx0XHQnW2NsYXNzLm5nLXBlbmRpbmddJzogJ19zaG91bGRGb3J3YXJkKFwicGVuZGluZ1wiKScsXG5cdFx0J1tjbGFzcy5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZV0nOiAnIV9hbmltYXRpb25zRW5hYmxlZCdcblx0fSxcblx0aW5wdXRzOiBbJ2NvbG9yJ10sXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7IHByb3ZpZGU6IE1BVF9GT1JNX0ZJRUxELCB1c2VFeGlzdGluZzogVFlQRV9SRUYgfSxcblx0XHR7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZCwgdXNlRXhpc3Rpbmc6IFRZUEVfUkVGIH1cblx0XVxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRmllbGRDb21wb25lbnQgZXh0ZW5kcyBNYXRGb3JtRmllbGQge1xuXHQvKipcblx0ICogQGlnbm9yZVxuXHQgKi9cblx0X3Nob3VsZEFsd2F5c0Zsb2F0KCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzdXBlci5fc2hvdWxkQWx3YXlzRmxvYXQoKSB8fCB0aGlzLl9lbmhhbmNlZEFwcGVhcmFuY2UoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRfYm9yZGVyQ2xhc3MoKTogc3RyaW5nIHtcblx0XHRpZiAoKHRoaXMuYXBwZWFyYW5jZSBhcyBhbnkpICE9PSAnYm91bmQnKSB7XG5cdFx0XHRyZXR1cm4gJ2J1aS1mb3JtLWZpZWxkLWZsZXgtZGVmYXVsdCc7XG5cdFx0fVxuXHRcdGlmICh0aGlzLl9jb250cm9sLmRpc2FibGVkKSB7XG5cdFx0XHRyZXR1cm4gJ2J1aS1mb3JtLWZpZWxkLWJvcmRlci1kaXNhYmxlZCc7XG5cdFx0fSBlbHNlIGlmICh0aGlzLl9jb250cm9sLmVycm9yU3RhdGUpIHtcblx0XHRcdHJldHVybiAnYnVpLWJvcmRlci13YXJuIGJ1aS1mb3JtLWZpZWxkLWJvcmRlci10aGljayc7XG5cdFx0fSBlbHNlIGlmICh0aGlzLl9jb250cm9sLmZvY3VzZWQpIHtcblx0XHRcdHJldHVybiBgYnVpLWJvcmRlci0ke3RoaXMuY29sb3IgfHwgJ3ByaW1hcnknfSBidWktZm9ybS1maWVsZC1ib3JkZXItdGhpY2tgO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gJ2J1aS1mb3JtLWZpZWxkLWJvcmRlci1kZWZhdWx0IGJ1aS1ib3JkZXItZW1waGFzaXMnO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBAaWdub3JlXG5cdCAqL1xuXHRfZW5oYW5jZWRBcHBlYXJhbmNlKCkge1xuXHRcdHJldHVybiAodGhpcy5hcHBlYXJhbmNlIGFzIGFueSkgPT09ICdkZXRhY2gnIHx8ICh0aGlzLmFwcGVhcmFuY2UgYXMgYW55KSA9PT0gJ2JvdW5kJztcblx0fVxuXG5cdC8qKiBAaWdub3JlICovXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcblx0X2hvc3RDbGlja2VkKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG5cdFx0dGhpcy5fY29udHJvbC5vbkNvbnRhaW5lckNsaWNrICYmIHRoaXMuX2NvbnRyb2wub25Db250YWluZXJDbGljayhldmVudCk7XG5cdH1cbn1cblxuKEZvcm1GaWVsZENvbXBvbmVudCBhcyBhbnkpLsm1Y21wLnN0eWxlcy5wdXNoKChNYXRGb3JtRmllbGQgYXMgYW55KS7JtWNtcC5zdHlsZXMpO1xuIiwiPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJcIj5cblx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWZsZXgge3sgX2JvcmRlckNsYXNzKCkgfX1cIiAjY29ubmVjdGlvbkNvbnRhaW5lcj5cblx0XHQ8IS0tIE91dGxpbmUgdXNlZCBmb3Igb3V0bGluZSBhcHBlYXJhbmNlLiAtLT5cblx0XHQ8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwZWFyYW5jZSA9PSAnb3V0bGluZSdcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXN0YXJ0XCI+PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWdhcFwiPjwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtb3V0bGluZS1lbmRcIj48L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLW91dGxpbmUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGlja1wiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtb3V0bGluZS1zdGFydFwiPjwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtb3V0bGluZS1nYXBcIj48L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZW5kXCI+PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L25nLWNvbnRhaW5lcj5cblxuXHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1wcmVmaXhcIiAqbmdJZj1cIl9wcmVmaXhDaGlsZHJlbi5sZW5ndGhcIj5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIlttYXRQcmVmaXhdXCI+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXG5cdFx0PGRpdiBjbGFzcz1cInt7IF9lbmhhbmNlZEFwcGVhcmFuY2UoKSA/ICdidWktZm9ybS1maWVsZC1pbmZpeCcgOiAnbWF0LWZvcm0tZmllbGQtaW5maXgnIH19XCIgI2lucHV0Q29udGFpbmVyPlxuXHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXG5cdFx0XHQ8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcIj5cblx0XHRcdFx0PCEtLSBXZSBhZGQgYXJpYS1vd25zIGFzIGEgd29ya2Fyb3VuZCBmb3IgYW4gaXNzdWUgaW4gSkFXUyAmIE5WREEgd2hlcmUgdGhlIGxhYmVsIGlzbid0XG5cdFx0XHQgICByZWFkIGlmIGl0IGNvbWVzIGJlZm9yZSB0aGUgY29udHJvbCBpbiB0aGUgRE9NLiAtLT5cblx0XHRcdFx0PGxhYmVsXG5cdFx0XHRcdFx0Y2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbFwiXG5cdFx0XHRcdFx0KGNka09ic2VydmVDb250ZW50KT1cInVwZGF0ZU91dGxpbmVHYXAoKVwiXG5cdFx0XHRcdFx0W2Nka09ic2VydmVDb250ZW50RGlzYWJsZWRdPVwiYXBwZWFyYW5jZSAhPSAnb3V0bGluZSdcIlxuXHRcdFx0XHRcdFtpZF09XCJfbGFiZWxJZFwiXG5cdFx0XHRcdFx0W2F0dHIuZm9yXT1cIl9jb250cm9sLmlkXCJcblx0XHRcdFx0XHRbYXR0ci5hcmlhLW93bnNdPVwiX2NvbnRyb2wuaWRcIlxuXHRcdFx0XHRcdFtjbGFzcy5tYXQtZW1wdHldPVwiX2NvbnRyb2wuZW1wdHkgJiYgIV9zaG91bGRBbHdheXNGbG9hdCgpXCJcblx0XHRcdFx0XHRbY2xhc3MubWF0LWZvcm0tZmllbGQtZW1wdHldPVwiX2NvbnRyb2wuZW1wdHkgJiYgIV9zaG91bGRBbHdheXNGbG9hdCgpXCJcblx0XHRcdFx0XHRbY2xhc3MubWF0LWFjY2VudF09XCJjb2xvciA9PSAnYWNjZW50J1wiXG5cdFx0XHRcdFx0W2NsYXNzLm1hdC13YXJuXT1cImNvbG9yID09ICd3YXJuJ1wiXG5cdFx0XHRcdFx0I2xhYmVsXG5cdFx0XHRcdFx0Km5nSWY9XCJfaGFzRmxvYXRpbmdMYWJlbCgpXCJcblx0XHRcdFx0XHRbbmdTd2l0Y2hdPVwiX2hhc0xhYmVsKClcIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0PCEtLSBAYnJlYWtpbmctY2hhbmdlIDguMC4wIHJlbW92ZSBpbiBmYXZvciBvZiBtYXQtbGFiZWwgZWxlbWVudCBhbiBwbGFjZWhvbGRlciBhdHRyLiAtLT5cblx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJmYWxzZVwiPlxuXHRcdFx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LXBsYWNlaG9sZGVyXCI+PC9uZy1jb250ZW50PlxuXHRcdFx0XHRcdFx0PHNwYW4+e3sgX2NvbnRyb2wucGxhY2Vob2xkZXIgfX08L3NwYW4+XG5cdFx0XHRcdFx0PC9uZy1jb250YWluZXI+XG5cblx0XHRcdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtbGFiZWxcIiAqbmdTd2l0Y2hDYXNlPVwidHJ1ZVwiPjwvbmctY29udGVudD5cblxuXHRcdFx0XHRcdDwhLS0gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCByZW1vdmUgYG1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZGAgY2xhc3MgLS0+XG5cdFx0XHRcdFx0PHNwYW5cblx0XHRcdFx0XHRcdGNsYXNzPVwibWF0LXBsYWNlaG9sZGVyLXJlcXVpcmVkIG1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlclwiXG5cdFx0XHRcdFx0XHRhcmlhLWhpZGRlbj1cInRydWVcIlxuXHRcdFx0XHRcdFx0Km5nSWY9XCIhaGlkZVJlcXVpcmVkTWFya2VyICYmIF9jb250cm9sLnJlcXVpcmVkICYmICFfY29udHJvbC5kaXNhYmxlZFwiXG5cdFx0XHRcdFx0XHQ+JiMzMjsqPC9zcGFuXG5cdFx0XHRcdFx0PlxuXHRcdFx0XHQ8L2xhYmVsPlxuXHRcdFx0PC9zcGFuPlxuXHRcdDwvZGl2PlxuXG5cdFx0PGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXN1ZmZpeFwiICpuZ0lmPVwiX3N1ZmZpeENoaWxkcmVuLmxlbmd0aFwiPlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW21hdFN1ZmZpeF1cIj48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiAqbmdJZj1cIl9lbmhhbmNlZEFwcGVhcmFuY2UoKVwiIGNsYXNzPVwiYnVpLWZvcm0tZmllbGQtcmlnaHQtZmlsbGVyXCI+PC9kaXY+XG5cdDwvZGl2PlxuXG5cdDwhLS0gVW5kZXJsaW5lIHVzZWQgZm9yIGxlZ2FjeSwgc3RhbmRhcmQsIGFuZCBib3ggYXBwZWFyYW5jZXMuIC0tPlxuXHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lXCIgI3VuZGVybGluZSAqbmdJZj1cImFwcGVhcmFuY2UgIT0gJ291dGxpbmUnXCI+XG5cdFx0PHNwYW5cblx0XHRcdGNsYXNzPVwibWF0LWZvcm0tZmllbGQtcmlwcGxlXCJcblx0XHRcdFtjbGFzcy5tYXQtYWNjZW50XT1cImNvbG9yID09ICdhY2NlbnQnXCJcblx0XHRcdFtjbGFzcy5tYXQtd2Fybl09XCJjb2xvciA9PSAnd2FybidcIlxuXHRcdD48L3NwYW4+XG5cdDwvZGl2PlxuXG5cdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlclwiIFtuZ1N3aXRjaF09XCJfZ2V0RGlzcGxheWVkTWVzc2FnZXMoKVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cblx0XHQ8ZGl2ICpuZ1N3aXRjaENhc2U9XCInZXJyb3InXCIgW0B0cmFuc2l0aW9uTWVzc2FnZXNdPVwiX3N1YnNjcmlwdEFuaW1hdGlvblN0YXRlXCI+XG5cdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJtYXQtZXJyb3JcIj48L25nLWNvbnRlbnQ+XG5cdFx0PC9kaXY+XG5cblx0XHQ8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVyXCIgKm5nU3dpdGNoQ2FzZT1cIidoaW50J1wiIFtAdHJhbnNpdGlvbk1lc3NhZ2VzXT1cIl9zdWJzY3JpcHRBbmltYXRpb25TdGF0ZVwiPlxuXHRcdFx0PCEtLSBUT0RPKG1tYWxlcmJhKTogdXNlIGFuIGFjdHVhbCA8bWF0LWhpbnQ+IG9uY2UgYWxsIHNlbGVjdG9ycyBhcmUgc3dpdGNoZWQgdG8gbWF0LSogLS0+XG5cdFx0XHQ8ZGl2ICpuZ0lmPVwiaGludExhYmVsXCIgW2lkXT1cIl9oaW50TGFiZWxJZFwiIGNsYXNzPVwibWF0LWhpbnRcIj57eyBoaW50TGFiZWwgfX08L2Rpdj5cblx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIm1hdC1oaW50Om5vdChbYWxpZ249J2VuZCddKVwiPjwvbmctY29udGVudD5cblx0XHRcdDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1oaW50LXNwYWNlclwiPjwvZGl2PlxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwibWF0LWhpbnRbYWxpZ249J2VuZCddXCI+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ObserversModule } from '@angular/cdk/observers';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { NgModule } from '@angular/core';
|
|
4
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
-
import { FormFieldComponent } from './form-field.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class FormFieldModule {
|
|
8
|
-
}
|
|
9
|
-
FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
10
|
-
FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
11
|
-
FormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
13
|
-
type: NgModule,
|
|
14
|
-
args: [{
|
|
15
|
-
declarations: [FormFieldComponent],
|
|
16
|
-
imports: [CommonModule, MatFormFieldModule, ObserversModule],
|
|
17
|
-
exports: [FormFieldComponent, MatFormFieldModule]
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
1
|
+
import { ObserversModule } from '@angular/cdk/observers';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
+
import { FormFieldComponent } from './form-field.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class FormFieldModule {
|
|
8
|
+
}
|
|
9
|
+
FormFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
FormFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormFieldModule, declarations: [FormFieldComponent], imports: [CommonModule, MatFormFieldModule, ObserversModule], exports: [FormFieldComponent, MatFormFieldModule] });
|
|
11
|
+
FormFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormFieldModule, imports: [[CommonModule, MatFormFieldModule, ObserversModule], MatFormFieldModule] });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FormFieldModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [FormFieldComponent],
|
|
16
|
+
imports: [CommonModule, MatFormFieldModule, ObserversModule],
|
|
17
|
+
exports: [FormFieldComponent, MatFormFieldModule]
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
20
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9mb3JtLWZpZWxkL2Zvcm0tZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPNUQsTUFBTSxPQUFPLGVBQWU7OzRHQUFmLGVBQWU7NkdBQWYsZUFBZSxpQkFKWixrQkFBa0IsYUFDdkIsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsYUFDakQsa0JBQWtCLEVBQUUsa0JBQWtCOzZHQUVwQyxlQUFlLFlBSGxCLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsQ0FBQyxFQUM5QixrQkFBa0I7MkZBRXBDLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxlQUFlLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmVyc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuXHRkZWNsYXJhdGlvbnM6IFtGb3JtRmllbGRDb21wb25lbnRdLFxuXHRpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRGb3JtRmllbGRNb2R1bGUsIE9ic2VydmVyc01vZHVsZV0sXG5cdGV4cG9ydHM6IFtGb3JtRmllbGRDb21wb25lbnQsIE1hdEZvcm1GaWVsZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUZpZWxkTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { FormFieldModule } from './form-field.module';
|
|
2
|
-
export { FormFieldComponent } from './form-field.component';
|
|
1
|
+
export { FormFieldModule } from './form-field.module';
|
|
2
|
+
export { FormFieldComponent } from './form-field.component';
|
|
3
3
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2Zvcm0tZmllbGQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBGb3JtRmllbGRNb2R1bGUgfSBmcm9tICcuL2Zvcm0tZmllbGQubW9kdWxlJztcbmV4cG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1maWVsZC5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhdnVyYS11aS1pY29uLWZvbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9pY29uLWZvbnQvYnJhdnVyYS11aS1pY29uLWZvbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { IconDirective } from './icon.directive';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Module for utility functions and directives based on `mat-icon` and icon fonts.
|
|
8
|
-
*/
|
|
9
|
-
export class IconFontModule {
|
|
10
|
-
}
|
|
11
|
-
IconFontModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
12
|
-
IconFontModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
13
|
-
IconFontModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
declarations: [IconDirective],
|
|
18
|
-
imports: [CommonModule, MatIconModule],
|
|
19
|
-
exports: [MatIconModule, IconDirective]
|
|
20
|
-
}]
|
|
21
|
-
}] });
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { IconDirective } from './icon.directive';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Module for utility functions and directives based on `mat-icon` and icon fonts.
|
|
8
|
+
*/
|
|
9
|
+
export class IconFontModule {
|
|
10
|
+
}
|
|
11
|
+
IconFontModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: IconFontModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
IconFontModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: IconFontModule, declarations: [IconDirective], imports: [CommonModule, MatIconModule], exports: [MatIconModule, IconDirective] });
|
|
13
|
+
IconFontModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: IconFontModule, imports: [[CommonModule, MatIconModule], MatIconModule] });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: IconFontModule, decorators: [{
|
|
15
|
+
type: NgModule,
|
|
16
|
+
args: [{
|
|
17
|
+
declarations: [IconDirective],
|
|
18
|
+
imports: [CommonModule, MatIconModule],
|
|
19
|
+
exports: [MatIconModule, IconDirective]
|
|
20
|
+
}]
|
|
21
|
+
}] });
|
|
22
22
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1mb250Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL2ljb24tZm9udC9pY29uLWZvbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXZEOztHQUVHO0FBTUgsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFKWCxhQUFhLGFBQ2xCLFlBQVksRUFBRSxhQUFhLGFBQzNCLGFBQWEsRUFBRSxhQUFhOzRHQUUxQixjQUFjLFlBSGpCLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxFQUM1QixhQUFhOzJGQUVYLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSWNvbkRpcmVjdGl2ZSB9IGZyb20gJy4vaWNvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG4vKipcbiAqIE1vZHVsZSBmb3IgdXRpbGl0eSBmdW5jdGlvbnMgYW5kIGRpcmVjdGl2ZXMgYmFzZWQgb24gYG1hdC1pY29uYCBhbmQgaWNvbiBmb250cy5cbiAqL1xuQE5nTW9kdWxlKHtcblx0ZGVjbGFyYXRpb25zOiBbSWNvbkRpcmVjdGl2ZV0sXG5cdGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxuXHRleHBvcnRzOiBbTWF0SWNvbk1vZHVsZSwgSWNvbkRpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkZvbnRNb2R1bGUge31cbiJdfQ==
|