@softpak/components 0.1.7 → 0.1.8-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/esm2022/spx-change-details/spx-change-details.component.mjs +92 -85
  2. package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +42 -42
  3. package/esm2022/spx-form-view/public-api.mjs +4 -1
  4. package/esm2022/spx-form-view/spx-form-button-type.enum.mjs +6 -0
  5. package/esm2022/spx-form-view/spx-form-button.interface.mjs +2 -0
  6. package/esm2022/spx-form-view/spx-form-view.component.mjs +29 -7
  7. package/esm2022/spx-form-view/spx-form.interface.mjs +2 -0
  8. package/esm2022/spx-pagination/public-api.mjs +2 -0
  9. package/esm2022/spx-pagination/softpak-components-spx-pagination.mjs +5 -0
  10. package/esm2022/spx-pagination/spx-pagination.component.mjs +33 -0
  11. package/esm2022/spx-stock-info/public-api.mjs +3 -0
  12. package/esm2022/spx-stock-info/softpak-components-spx-stock-info.mjs +5 -0
  13. package/esm2022/spx-stock-info/spx-stock-info-value.interface.mjs +2 -0
  14. package/esm2022/spx-stock-info/spx-stock-info.component.mjs +243 -0
  15. package/fesm2022/softpak-components-spx-change-details.mjs +91 -84
  16. package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
  17. package/fesm2022/softpak-components-spx-channel-selection.mjs +41 -41
  18. package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
  19. package/fesm2022/softpak-components-spx-form-view.mjs +35 -7
  20. package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
  21. package/fesm2022/softpak-components-spx-pagination.mjs +40 -0
  22. package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -0
  23. package/fesm2022/softpak-components-spx-stock-info.mjs +250 -0
  24. package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -0
  25. package/package.json +24 -12
  26. package/spx-change-details/spx-change-details.component.d.ts +12 -16
  27. package/spx-channel-selection/src/spx-welcome.component.d.ts +6 -7
  28. package/spx-form-view/public-api.d.ts +3 -0
  29. package/spx-form-view/spx-form-button-type.enum.d.ts +4 -0
  30. package/spx-form-view/spx-form-button.interface.d.ts +8 -0
  31. package/spx-form-view/spx-form-view.component.d.ts +3 -2
  32. package/spx-form-view/spx-form.interface.d.ts +6 -0
  33. package/spx-pagination/index.d.ts +5 -0
  34. package/spx-pagination/public-api.d.ts +1 -0
  35. package/spx-pagination/spx-pagination.component.d.ts +13 -0
  36. package/spx-stock-info/index.d.ts +5 -0
  37. package/spx-stock-info/public-api.d.ts +2 -0
  38. package/spx-stock-info/spx-stock-info-value.interface.d.ts +10 -0
  39. package/spx-stock-info/spx-stock-info.component.d.ts +59 -0
  40. package/tailwind.css +1 -1
@@ -3,7 +3,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
3
  import { spxValidatorRequired, SpxValidateControlComponent } from '@softpak/components/spx-validation';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
6
- import { SpxFormViewComponent } from '@softpak/components/spx-form-view';
6
+ import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
7
7
  import { SpxButtonComponent } from '@softpak/components/spx-button';
8
8
  import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
9
9
  import * as i0 from "@angular/core";
@@ -34,82 +34,87 @@ export class SpxChangeDetailsComponent {
34
34
  this.spxSearchContainerType = new EventEmitter();
35
35
  this.spxSearchTonsTested = new EventEmitter();
36
36
  this.submit = new EventEmitter();
37
- this.inputTypeAutocomplete = SpxInputTypeEnum.autocomplete;
38
- this.inputTypeRadio = SpxInputTypeEnum.radio;
39
- this.inputTypeText = SpxInputTypeEnum.text;
40
- this.severitySuccess = SpxSeverityEnum.success;
41
- this.sections = [
42
- {
43
- key: sectionChangeDetails,
44
- showTitle: () => false,
45
- fields: [
46
- {
47
- key: ctrlContainerNumber,
48
- type: () => SpxInputTypeEnum.text,
49
- label: () => this.txtContainerNumber,
50
- readonly: () => true,
51
- validators: () => [spxValidatorRequired()],
52
- },
53
- {
54
- key: ctrlContainerPrefix,
55
- type: () => SpxInputTypeEnum.text,
56
- label: () => this.txtContainerPrefix,
57
- capitalize: () => true,
58
- readonly: () => true,
59
- validators: () => [spxValidatorRequired()],
60
- },
61
- {
62
- key: ctrlContainerSeqNr,
63
- type: () => SpxInputTypeEnum.hidden,
64
- validators: () => [spxValidatorRequired()],
65
- },
66
- {
67
- key: ctrlCustomer,
68
- type: () => SpxInputTypeEnum.text,
69
- capitalize: () => true,
70
- readonly: () => true,
71
- label: () => this.txtCustomer,
72
- validators: () => [spxValidatorRequired()],
73
- },
74
- {
75
- key: ctrlContainerType,
76
- type: () => SpxInputTypeEnum.autocomplete,
77
- label: () => this.txtContainerType,
78
- capitalize: () => true,
79
- validators: () => [spxValidatorRequired()],
80
- },
81
- {
82
- key: ctrlTonsTested,
83
- type: () => SpxInputTypeEnum.radio,
84
- label: () => this.txtTonsTested,
85
- show: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0,
86
- validators: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0 ? [spxValidatorRequired()] : [],
87
- },
88
- {
89
- key: ctrlLicensePlate,
90
- type: () => SpxInputTypeEnum.text,
91
- label: () => this.txtLicensePlate,
92
- capitalize: () => true,
93
- },
94
- {
95
- key: ctrlUseCategories,
96
- type: () => SpxInputTypeEnum.hidden,
97
- capitalize: () => true,
98
- },
99
- {
100
- key: ctrlCategory,
101
- type: () => SpxInputTypeEnum.autocomplete,
102
- label: () => this.txtCategory,
103
- capitalize: () => true,
104
- show: () => valuePairToValue(this.ctrlUseCategories?.value),
105
- validators: () => valuePairToValue(this.ctrlUseCategories?.value) ? [spxValidatorRequired()] : [],
106
- }
107
- ]
108
- }
109
- ];
37
+ this.form = {
38
+ buttons: [
39
+ {
40
+ severity: SpxSeverityEnum.success,
41
+ type: SpxFormButtonTypeEnum.submit,
42
+ label: () => this.textSave,
43
+ }
44
+ ],
45
+ sections: [
46
+ {
47
+ key: sectionChangeDetails,
48
+ showTitle: () => false,
49
+ fields: [
50
+ {
51
+ key: ctrlContainerNumber,
52
+ type: () => SpxInputTypeEnum.text,
53
+ label: () => this.textContainerNumber,
54
+ readonly: () => true,
55
+ validators: () => [spxValidatorRequired()],
56
+ },
57
+ {
58
+ key: ctrlContainerPrefix,
59
+ type: () => SpxInputTypeEnum.text,
60
+ label: () => this.textContainerPrefix,
61
+ capitalize: () => true,
62
+ readonly: () => true,
63
+ validators: () => [spxValidatorRequired()],
64
+ },
65
+ {
66
+ key: ctrlContainerSeqNr,
67
+ type: () => SpxInputTypeEnum.hidden,
68
+ validators: () => [spxValidatorRequired()],
69
+ },
70
+ {
71
+ key: ctrlCustomer,
72
+ type: () => SpxInputTypeEnum.text,
73
+ capitalize: () => true,
74
+ readonly: () => true,
75
+ label: () => this.textCustomer,
76
+ validators: () => [spxValidatorRequired()],
77
+ },
78
+ {
79
+ key: ctrlContainerType,
80
+ type: () => SpxInputTypeEnum.autocomplete,
81
+ label: () => this.textContainerType,
82
+ capitalize: () => true,
83
+ validators: () => [spxValidatorRequired()],
84
+ },
85
+ {
86
+ key: ctrlTonsTested,
87
+ type: () => SpxInputTypeEnum.radio,
88
+ label: () => this.textTonsTested,
89
+ show: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0,
90
+ validators: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0 ? [spxValidatorRequired()] : [],
91
+ },
92
+ {
93
+ key: ctrlLicensePlate,
94
+ type: () => SpxInputTypeEnum.text,
95
+ label: () => this.textLicensePlate,
96
+ capitalize: () => true,
97
+ },
98
+ {
99
+ key: ctrlUseCategories,
100
+ type: () => SpxInputTypeEnum.hidden,
101
+ capitalize: () => true,
102
+ },
103
+ {
104
+ key: ctrlCategory,
105
+ type: () => SpxInputTypeEnum.autocomplete,
106
+ label: () => this.textCategory,
107
+ capitalize: () => true,
108
+ show: () => valuePairToValue(this.ctrlUseCategories?.value),
109
+ validators: () => valuePairToValue(this.ctrlUseCategories?.value) ? [spxValidatorRequired()] : [],
110
+ }
111
+ ]
112
+ }
113
+ ]
114
+ };
110
115
  }
111
116
  createForm() {
112
- return SpxFormViewComponent.createForm(this.formBuilder, this.sections);
117
+ return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
113
118
  }
114
119
  ngOnInit() {
115
120
  this.listenToContainerType();
@@ -156,7 +161,7 @@ export class SpxChangeDetailsComponent {
156
161
  });
157
162
  }
158
163
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxChangeDetailsComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", suggestions: "suggestions", txtCategory: "txtCategory", txtContainerNumber: "txtContainerNumber", txtContainerPrefix: "txtContainerPrefix", txtContainerType: "txtContainerType", txtCustomer: "txtCustomer", txtLicensePlate: "txtLicensePlate", txtTonsTested: "txtTonsTested" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerType: "spxBlurContainerType", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchTonsTested: "spxSearchTonsTested", submit: "submit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
164
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", suggestions: "suggestions", textCategory: "textCategory", textContainerNumber: "textContainerNumber", textContainerPrefix: "textContainerPrefix", textContainerType: "textContainerType", textCustomer: "textCustomer", textLicensePlate: "textLicensePlate", textSave: "textSave", textTonsTested: "textTonsTested" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerType: "spxBlurContainerType", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchTonsTested: "spxSearchTonsTested", submit: "submit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
160
165
  }
161
166
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxChangeDetailsComponent, decorators: [{
162
167
  type: Component,
@@ -168,24 +173,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
168
173
  SpxFormViewComponent,
169
174
  SpxInputComponent,
170
175
  SpxValidateControlComponent,
171
- ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>" }]
176
+ ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxForm]=\"form\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n</form>" }]
172
177
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
173
178
  type: Input
174
179
  }], suggestions: [{
175
180
  type: Input
176
- }], txtCategory: [{
181
+ }], textCategory: [{
177
182
  type: Input
178
- }], txtContainerNumber: [{
183
+ }], textContainerNumber: [{
179
184
  type: Input
180
- }], txtContainerPrefix: [{
185
+ }], textContainerPrefix: [{
181
186
  type: Input
182
- }], txtContainerType: [{
187
+ }], textContainerType: [{
183
188
  type: Input
184
- }], txtCustomer: [{
189
+ }], textCustomer: [{
185
190
  type: Input
186
- }], txtLicensePlate: [{
191
+ }], textLicensePlate: [{
187
192
  type: Input
188
- }], txtTonsTested: [{
193
+ }], textSave: [{
194
+ type: Input
195
+ }], textTonsTested: [{
189
196
  type: Input
190
197
  }], spxBlurCategory: [{
191
198
  type: Output
@@ -200,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
200
207
  }], submit: [{
201
208
  type: Output
202
209
  }] } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQ25HLE9BQU8sRUFBa0Msb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUdwRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZ0JB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QixrQkFBa0IscU9BQ2xCLG9CQUFvQjs7MkZBS1gseUJBQXlCO2tCQWRyQyxTQUFTOytCQUNFLG9CQUFvQixjQUVsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsMkJBQTJCO3FCQUM1QjtnRkFHUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCwgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBTcHhGb3JtRmllbGRJLCBTcHhGb3JtU2VjdGlvbkksIFNweEZvcm1WaWV3Q29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3JztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0sIHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IFNweENoYW5nZURldGFpbHNWYWx1ZUkgfSBmcm9tICcuL3NweC1jaGFuZ2UtZGV0YWlscy12YWx1ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3Qgc2VjdGlvbkNoYW5nZURldGFpbHMgPSAnY2hhbmdlRGV0YWlscyc7XG5leHBvcnQgY29uc3QgY3RybENvbnRhaW5lck51bWJlciA9ICdjb250YWluZXJOdW1iZXInO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJQcmVmaXggPSAnY29udGFpbmVyUHJlZml4JztcbmV4cG9ydCBjb25zdCBjdHJsQ29udGFpbmVyU2VxTnIgPSAnY29udGFpbmVyU2VxTnInO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJUeXBlID0gJ2NvbnRhaW5lclR5cGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDdXN0b21lciA9ICdjdXN0b21lcic7XG5leHBvcnQgY29uc3QgY3RybFRvbnNUZXN0ZWQgPSAndG9uc1Rlc3RlZCc7XG5leHBvcnQgY29uc3QgY3RybExpY2Vuc2VQbGF0ZSA9ICdsaWNlbnNlUGxhdGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDYXRlZ29yeSA9ICdjYXRlZ29yeSc7XG5leHBvcnQgY29uc3QgY3RybFVzZUNhdGVnb3JpZXMgPSAndXNlQ2F0ZWdvcmllcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1jaGFuZ2UtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtY2hhbmdlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1WaWV3Q29tcG9uZW50LFxuICAgIFNweElucHV0Q29tcG9uZW50LFxuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhDaGFuZ2VEZXRhaWxzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBzdWdnZXN0aW9uczogYW55ID0ge307XG4gIEBJbnB1dCgpIHR4dENhdGVnb3J5ITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRDb250YWluZXJOdW1iZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dENvbnRhaW5lclByZWZpeCE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q29udGFpbmVyVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q3VzdG9tZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dExpY2Vuc2VQbGF0ZSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0VG9uc1Rlc3RlZCE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweEJsdXJDYXRlZ29yeTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ29udGFpbmVyVHlwZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDYXRlZ29yeTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDb250YWluZXJUeXBlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHNweFNlYXJjaFRvbnNUZXN0ZWQ6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8U3B4Q2hhbmdlRGV0YWlsc1ZhbHVlST4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweENoYW5nZURldGFpbHNWYWx1ZUk+KCk7XG5cbiAgaW5wdXRUeXBlQXV0b2NvbXBsZXRlID0gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGU7XG4gIGlucHV0VHlwZVJhZGlvID0gU3B4SW5wdXRUeXBlRW51bS5yYWRpbztcbiAgaW5wdXRUeXBlVGV4dCA9IFNweElucHV0VHlwZUVudW0udGV4dDtcbiAgc2V2ZXJpdHlTdWNjZXNzID0gU3B4U2V2ZXJpdHlFbnVtLnN1Y2Nlc3M7XG4gIFxuICBzZWN0aW9uczogU3B4Rm9ybVNlY3Rpb25JW10gPSBbXG4gICAge1xuICAgICAga2V5OiBzZWN0aW9uQ2hhbmdlRGV0YWlscyxcbiAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENvbnRhaW5lck51bWJlcixcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q29udGFpbmVyTnVtYmVyLFxuICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclByZWZpeCxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q29udGFpbmVyUHJlZml4LFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsQ29udGFpbmVyU2VxTnIsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5oaWRkZW4sXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsQ3VzdG9tZXIsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS50ZXh0LFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q3VzdG9tZXIsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsQ29udGFpbmVyVHlwZSxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50eHRDb250YWluZXJUeXBlLFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsVG9uc1Rlc3RlZCxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dFRvbnNUZXN0ZWQsXG4gICAgICAgICAgc2hvdzogKCkgPT4gdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXSAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCA+IDAsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXSAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCA+IDAgPyBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0gOiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybExpY2Vuc2VQbGF0ZSxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0TGljZW5zZVBsYXRlLFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxVc2VDYXRlZ29yaWVzLFxuICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uaGlkZGVuLFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxDYXRlZ29yeSxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50eHRDYXRlZ29yeSxcbiAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHNob3c6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcz8udmFsdWUpLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcz8udmFsdWUpID8gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldIDogW10sXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIF07XG5cbiAgZ2V0IGN0cmxDYXRlZ29yeSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENhdGVnb3J5KSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybEN1c3RvbWVyKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ3VzdG9tZXIpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ29udGFpbmVyVHlwZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENvbnRhaW5lclR5cGUpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsTGljZW5zZVBsYXRlKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsTGljZW5zZVBsYXRlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybFRvbnNUZXN0ZWQoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxUb25zVGVzdGVkKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybFVzZUNhdGVnb3JpZXMoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXA/LmdldChjdHJsVXNlQ2F0ZWdvcmllcykgYXMgRm9ybUNvbnRyb2w7IH1cblxuICBwcml2YXRlIHN1YkNvbnRhaW5lclR5cGU/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIFNweEZvcm1WaWV3Q29tcG9uZW50LmNyZWF0ZUZvcm0odGhpcy5mb3JtQnVpbGRlciwgdGhpcy5zZWN0aW9ucyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQ29udGFpbmVyVHlwZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3ViQ29udGFpbmVyVHlwZSkge1xuICAgICAgdGhpcy5zdWJDb250YWluZXJUeXBlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gKGZvcm1Db250cm9sIGFzIGFueSkuX3Jhd1ZhbGlkYXRvcnM7XG4gIH1cblxuICBvbkJsdXIoZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4Qmx1ckNhdGVnb3J5LmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweEJsdXJDb250YWluZXJUeXBlLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgb25TZWFyY2goZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ2F0ZWdvcnkuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENvbnRhaW5lclR5cGUpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ29udGFpbmVyVHlwZS5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsVG9uc1Rlc3RlZCkge1xuICAgICAgdGhpcy5zcHhTZWFyY2hUb25zVGVzdGVkLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3VibWl0KCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0LmVtaXQoe1xuICAgICAgY2F0ZWdvcnk6IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcy52YWx1ZSkgPyB0aGlzLmN0cmxDYXRlZ29yeS52YWx1ZSA6IG51bGwsXG4gICAgICBjb250YWluZXJUeXBlOiB0aGlzLmN0cmxDb250YWluZXJUeXBlLnZhbHVlLFxuICAgICAgbGljZW5zZVBsYXRlOiB0aGlzLmN0cmxMaWNlbnNlUGxhdGUudmFsdWUsXG4gICAgICB0b25zVGVzdGVkOiB0aGlzLmN0cmxUb25zVGVzdGVkLnZhbHVlLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvQ29udGFpbmVyVHlwZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YkNvbnRhaW5lclR5cGUgPSB0aGlzLmN0cmxDb250YWluZXJUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWVQYWlyID0+IHtcbiAgICAgIHRoaXMuY3RybFRvbnNUZXN0ZWQuc2V0VmFsdWUoeyB2YWx1ZTogbnVsbCB9KTtcbiAgICAgIHRoaXMuc3B4U2VhcmNoVG9uc1Rlc3RlZC5lbWl0KHZhbHVlUGFpcik7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgY2xhc3M9XCJtYXgtdy1sZyBteC1hdXRvIGZsZXggZmxleC1jb2wgZ2FwLTNcIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICA8c3B4LWZvcm0tdmlld1xuICAgIFtzcHhGb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICBbc3B4U2VjdGlvbnNdPVwic2VjdGlvbnNcIlxuICAgIFtzcHhTdWdnZXN0aW9uc109XCJzdWdnZXN0aW9uc1wiXG4gICAgKHNweEJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgIChzcHhTZWFyY2gpPVwib25TZWFyY2goJGV2ZW50KVwiPlxuICA8L3NweC1mb3JtLXZpZXc+XG4gIDxzcHgtYnV0dG9uXG4gICAgW3NweEZ1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICBbc3B4U2V2ZXJpdHldPVwic2V2ZXJpdHlTdWNjZXNzXCI+XG4gICAgU2F2ZVxuICA8L3NweC1idXR0b24+XG48L2Zvcm0+Il19
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQ25HLE9BQU8sRUFBRSxxQkFBcUIsRUFBMkIsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6SCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUdwRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sa0JB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LFlBQVksOEJBQ1osV0FBVyxtU0FDWCxtQkFBbUIsZ0xBRW5CLG9CQUFvQjs7MkZBS1gseUJBQXlCO2tCQWRyQyxTQUFTOytCQUNFLG9CQUFvQixjQUVsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsMkJBQTJCO3FCQUM1QjtnRkFHUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3B4VmFsaWRhdG9yUmVxdWlyZWQsIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNweElucHV0Q29tcG9uZW50LCBTcHhJbnB1dFR5cGVFbnVtLCBTcHhWYWx1ZVBhaXIgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xuaW1wb3J0IHsgU3B4Rm9ybUJ1dHRvblR5cGVFbnVtLCBTcHhGb3JtRmllbGRJLCBTcHhGb3JtSSwgU3B4Rm9ybVZpZXdDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcnO1xuaW1wb3J0IHsgU3B4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uJztcbmltcG9ydCB7IFNweFNldmVyaXR5RW51bSwgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuaW1wb3J0IHsgU3B4Q2hhbmdlRGV0YWlsc1ZhbHVlSSB9IGZyb20gJy4vc3B4LWNoYW5nZS1kZXRhaWxzLXZhbHVlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBzZWN0aW9uQ2hhbmdlRGV0YWlscyA9ICdjaGFuZ2VEZXRhaWxzJztcbmV4cG9ydCBjb25zdCBjdHJsQ29udGFpbmVyTnVtYmVyID0gJ2NvbnRhaW5lck51bWJlcic7XG5leHBvcnQgY29uc3QgY3RybENvbnRhaW5lclByZWZpeCA9ICdjb250YWluZXJQcmVmaXgnO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJTZXFOciA9ICdjb250YWluZXJTZXFOcic7XG5leHBvcnQgY29uc3QgY3RybENvbnRhaW5lclR5cGUgPSAnY29udGFpbmVyVHlwZSc7XG5leHBvcnQgY29uc3QgY3RybEN1c3RvbWVyID0gJ2N1c3RvbWVyJztcbmV4cG9ydCBjb25zdCBjdHJsVG9uc1Rlc3RlZCA9ICd0b25zVGVzdGVkJztcbmV4cG9ydCBjb25zdCBjdHJsTGljZW5zZVBsYXRlID0gJ2xpY2Vuc2VQbGF0ZSc7XG5leHBvcnQgY29uc3QgY3RybENhdGVnb3J5ID0gJ2NhdGVnb3J5JztcbmV4cG9ydCBjb25zdCBjdHJsVXNlQ2F0ZWdvcmllcyA9ICd1c2VDYXRlZ29yaWVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWNoYW5nZS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NweC1jaGFuZ2UtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4Rm9ybVZpZXdDb21wb25lbnQsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gICAgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNweENoYW5nZURldGFpbHNDb21wb25lbnQge1xuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBhbnkgPSB7fTtcbiAgQElucHV0KCkgdGV4dENhdGVnb3J5ITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyTnVtYmVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyUHJlZml4ITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dEN1c3RvbWVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0TGljZW5zZVBsYXRlITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0U2F2ZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFRvbnNUZXN0ZWQhOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4Qmx1ckNvbnRhaW5lclR5cGU6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ29udGFpbmVyVHlwZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hUb25zVGVzdGVkOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHN1Ym1pdDogRXZlbnRFbWl0dGVyPFNweENoYW5nZURldGFpbHNWYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhDaGFuZ2VEZXRhaWxzVmFsdWVJPigpO1xuXG4gIGZvcm06IFNweEZvcm1JID0ge1xuICAgIGJ1dHRvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgc2V2ZXJpdHk6IFNweFNldmVyaXR5RW51bS5zdWNjZXNzLFxuICAgICAgICB0eXBlOiBTcHhGb3JtQnV0dG9uVHlwZUVudW0uc3VibWl0LFxuICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0U2F2ZSxcbiAgICAgIH1cbiAgICBdLFxuICAgIHNlY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogc2VjdGlvbkNoYW5nZURldGFpbHMsXG4gICAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENvbnRhaW5lck51bWJlcixcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDb250YWluZXJOdW1iZXIsXG4gICAgICAgICAgICByZWFkb25seTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclByZWZpeCxcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDb250YWluZXJQcmVmaXgsXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJTZXFOcixcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uaGlkZGVuLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsQ3VzdG9tZXIsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q3VzdG9tZXIsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJUeXBlLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q29udGFpbmVyVHlwZSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxUb25zVGVzdGVkLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5yYWRpbyxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRUb25zVGVzdGVkLFxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXSAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCA+IDAsXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdICYmIHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0ubGVuZ3RoICYmIHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0ubGVuZ3RoID4gMCA/IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSA6IFtdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsTGljZW5zZVBsYXRlLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS50ZXh0LFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dExpY2Vuc2VQbGF0ZSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxVc2VDYXRlZ29yaWVzLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5oaWRkZW4sXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsQ2F0ZWdvcnksXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDYXRlZ29yeSxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybFVzZUNhdGVnb3JpZXM/LnZhbHVlKSxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcz8udmFsdWUpID8gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldIDogW10sXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIGdldCBjdHJsQ2F0ZWdvcnkoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDYXRlZ29yeSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDdXN0b21lcigpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybEN1c3RvbWVyKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybENvbnRhaW5lclR5cGUoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDb250YWluZXJUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybExpY2Vuc2VQbGF0ZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybExpY2Vuc2VQbGF0ZSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxUb25zVGVzdGVkKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsVG9uc1Rlc3RlZCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxVc2VDYXRlZ29yaWVzKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwPy5nZXQoY3RybFVzZUNhdGVnb3JpZXMpIGFzIEZvcm1Db250cm9sOyB9XG5cbiAgcHJpdmF0ZSBzdWJDb250YWluZXJUeXBlPzogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiBTcHhGb3JtVmlld0NvbXBvbmVudC5jcmVhdGVGb3JtKHRoaXMuZm9ybUJ1aWxkZXIsIHRoaXMuZm9ybS5zZWN0aW9ucyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQ29udGFpbmVyVHlwZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3ViQ29udGFpbmVyVHlwZSkge1xuICAgICAgdGhpcy5zdWJDb250YWluZXJUeXBlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gKGZvcm1Db250cm9sIGFzIGFueSkuX3Jhd1ZhbGlkYXRvcnM7XG4gIH1cblxuICBvbkJsdXIoZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4Qmx1ckNhdGVnb3J5LmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweEJsdXJDb250YWluZXJUeXBlLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKGRhdGE6IHsgZmllbGQ6IFNweEZvcm1GaWVsZEksIHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPGFueT4gfSkge1xuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENhdGVnb3J5KSB7XG4gICAgICB0aGlzLnNweFNlYXJjaENhdGVnb3J5LmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweFNlYXJjaENvbnRhaW5lclR5cGUuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybFRvbnNUZXN0ZWQpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoVG9uc1Rlc3RlZC5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Ym1pdC5lbWl0KHtcbiAgICAgIGNhdGVnb3J5OiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybFVzZUNhdGVnb3JpZXMudmFsdWUpID8gdGhpcy5jdHJsQ2F0ZWdvcnkudmFsdWUgOiBudWxsLFxuICAgICAgY29udGFpbmVyVHlwZTogdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZSxcbiAgICAgIGxpY2Vuc2VQbGF0ZTogdGhpcy5jdHJsTGljZW5zZVBsYXRlLnZhbHVlLFxuICAgICAgdG9uc1Rlc3RlZDogdGhpcy5jdHJsVG9uc1Rlc3RlZC52YWx1ZSxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0NvbnRhaW5lclR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJDb250YWluZXJUeXBlID0gdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlUGFpciA9PiB7XG4gICAgICB0aGlzLmN0cmxUb25zVGVzdGVkLnNldFZhbHVlKHsgdmFsdWU6IG51bGwgfSk7XG4gICAgICB0aGlzLnNweFNlYXJjaFRvbnNUZXN0ZWQuZW1pdCh2YWx1ZVBhaXIpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPHNweC1mb3JtLXZpZXdcbiAgICBbc3B4Rm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgW3NweEZvcm1dPVwiZm9ybVwiXG4gICAgW3NweFN1Z2dlc3Rpb25zXT1cInN1Z2dlc3Rpb25zXCJcbiAgICAoc3B4Qmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgKHNweFNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCI+XG4gIDwvc3B4LWZvcm0tdmlldz5cbjwvZm9ybT4iXX0=
@@ -4,7 +4,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
4
  import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
5
5
  import { SpxButtonComponent } from '@softpak/components/spx-button';
6
6
  import { SpxFormSectionComponent } from '@softpak/components/spx-form-section';
7
- import { SpxFormViewComponent } from '@softpak/components/spx-form-view';
7
+ import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
8
8
  import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
9
9
  import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
10
10
  import { spxValidatorRequired } from '@softpak/components/spx-validation';
@@ -22,34 +22,42 @@ export class SpxWelcomeComponent {
22
22
  this.channels = [];
23
23
  this.channelTypes = [];
24
24
  this.spxSelect = new EventEmitter();
25
- this.severitySuccess = SpxSeverityEnum.success;
26
25
  this.suggestions = {
27
26
  [ctrlChannelType]: [],
28
27
  [ctrlChannel]: [],
29
28
  };
30
29
  this.subscriptions = {};
31
- this.sections = [
32
- {
33
- key: sectionWelcome,
34
- showTitle: () => false,
35
- fields: [
36
- {
37
- key: ctrlChannel,
38
- type: () => SpxInputTypeEnum.radio,
39
- label: () => this.txtCompany,
40
- validators: () => [spxValidatorRequired()],
41
- },
42
- {
43
- key: ctrlChannelType,
44
- type: () => SpxInputTypeEnum.radio,
45
- label: () => this.txtChannel,
46
- capitalize: () => true,
47
- show: () => valuePairToValue(this.ctrlChannel.value),
48
- validators: () => [spxValidatorRequired()],
49
- },
50
- ]
51
- }
52
- ];
30
+ this.form = {
31
+ buttons: [
32
+ {
33
+ severity: SpxSeverityEnum.success,
34
+ type: SpxFormButtonTypeEnum.submit,
35
+ label: () => this.textSelect,
36
+ }
37
+ ],
38
+ sections: [
39
+ {
40
+ key: sectionWelcome,
41
+ showTitle: () => false,
42
+ fields: [
43
+ {
44
+ key: ctrlChannel,
45
+ type: () => SpxInputTypeEnum.radio,
46
+ label: () => this.textCompany,
47
+ validators: () => [spxValidatorRequired()],
48
+ },
49
+ {
50
+ key: ctrlChannelType,
51
+ type: () => SpxInputTypeEnum.radio,
52
+ label: () => this.textChannel,
53
+ capitalize: () => true,
54
+ show: () => valuePairToValue(this.ctrlChannel.value),
55
+ validators: () => [spxValidatorRequired()],
56
+ },
57
+ ]
58
+ }
59
+ ]
60
+ };
53
61
  }
54
62
  ngOnChanges(changes) {
55
63
  this.suggestions[ctrlChannel] = this.filteredCompanies;
@@ -76,21 +84,16 @@ export class SpxWelcomeComponent {
76
84
  });
77
85
  }
78
86
  createForm() {
79
- return SpxFormViewComponent.createForm(this.formBuilder, this.sections);
87
+ return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
80
88
  }
81
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxWelcomeComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelTypes: "channelTypes", formGroup: "formGroup", txtChannel: "txtChannel", txtCompany: "txtCompany" }, outputs: { spxSelect: "spxSelect" }, usesOnChanges: true, ngImport: i0, template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelTypes: "channelTypes", formGroup: "formGroup", textChannel: "textChannel", textCompany: "textCompany", textSelect: "textSelect" }, outputs: { spxSelect: "spxSelect" }, usesOnChanges: true, ngImport: i0, template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
83
91
  <spx-form-view
92
+ [spxForm]="form"
84
93
  [spxFormGroup]="formGroup"
85
- [spxSections]="sections"
86
94
  [spxSuggestions]="suggestions">
87
95
  </spx-form-view>
88
- <spx-button
89
- [spxFullWidth]="true"
90
- [spxSeverity]="severitySuccess">
91
- Save
92
- </spx-button>
93
- </form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
96
+ </form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
94
97
  }
95
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxWelcomeComponent, decorators: [{
96
99
  type: Component,
@@ -98,15 +101,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
98
101
  selector: 'spx-welcome',
99
102
  template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
100
103
  <spx-form-view
104
+ [spxForm]="form"
101
105
  [spxFormGroup]="formGroup"
102
- [spxSections]="sections"
103
106
  [spxSuggestions]="suggestions">
104
107
  </spx-form-view>
105
- <spx-button
106
- [spxFullWidth]="true"
107
- [spxSeverity]="severitySuccess">
108
- Save
109
- </spx-button>
110
108
  </form>`,
111
109
  standalone: true,
112
110
  imports: [
@@ -126,11 +124,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
126
124
  type: Input
127
125
  }], formGroup: [{
128
126
  type: Input
129
- }], txtChannel: [{
127
+ }], textChannel: [{
128
+ type: Input
129
+ }], textCompany: [{
130
130
  type: Input
131
- }], txtCompany: [{
131
+ }], textSelect: [{
132
132
  type: Input
133
133
  }], spxSelect: [{
134
134
  type: Output
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RyxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFtQixvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUcxRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQWdDN0MsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsSUFBSSxXQUFXLEtBQWtCLE9BQU8sSUFBSSxD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LGlCQUFpQjt3QkFDakIsSUFBSTtxQkFDTDtpQkFDRjtnRkFFVSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4QXBwQ2hhbm5lbEksIFNweEFwcENoYW5uZWxUeXBlRW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFwcC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tc2VjdGlvbic7XG5pbXBvcnQgeyBTcHhGb3JtU2VjdGlvbkksIFNweEZvcm1WaWV3Q29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3JztcbmltcG9ydCB7IFNweFNldmVyaXR5RW51bSwgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBzZWN0aW9uV2VsY29tZSA9ICd3ZWxjb21lJztcbmV4cG9ydCBjb25zdCBjdHJsQ2hhbm5lbCA9ICdjaGFubmVsJztcbmV4cG9ydCBjb25zdCBjdHJsQ2hhbm5lbFR5cGUgPSAnY2hhbm5lbFR5cGUnO1xuZXhwb3J0IGludGVyZmFjZSBTcHhXZWxjb21lVmFsdWVJIHtcbiAgW2N0cmxDaGFubmVsXT86IFNweEFwcENoYW5uZWxJO1xuICBbY3RybENoYW5uZWxUeXBlXTogU3B4QXBwQ2hhbm5lbFR5cGVFbnVtO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtd2VsY29tZScsXG4gIHRlbXBsYXRlOiBgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBjbGFzcz1cIm1heC13LWxnIG14LWF1dG8gZmxleCBmbGV4LWNvbCBnYXAtM1wiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XG4gICAgPHNweC1mb3JtLXZpZXdcbiAgICAgIFtzcHhGb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgIFtzcHhTZWN0aW9uc109XCJzZWN0aW9uc1wiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIj5cbiAgICA8L3NweC1mb3JtLXZpZXc+XG4gICAgPHNweC1idXR0b25cbiAgICAgIFtzcHhGdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgICBbc3B4U2V2ZXJpdHldPVwic2V2ZXJpdHlTdWNjZXNzXCI+XG4gICAgICBTYXZlXG4gICAgPC9zcHgtYnV0dG9uPlxuICA8L2Zvcm0+YCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTcHhGb3JtU2VjdGlvbkNvbXBvbmVudCxcbiAgICBTcHhGb3JtVmlld0NvbXBvbmVudCxcbiAgICBTcHhJbnB1dENvbXBvbmVudCxcbiAgICBOZ0lmLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNweFdlbGNvbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgY2hhbm5lbHM/OiBTcHhBcHBDaGFubmVsSVtdID0gW107XG4gIEBJbnB1dCgpIGNoYW5uZWxUeXBlcz86IFNweEFwcENoYW5uZWxUeXBlRW51bVtdID0gW107XG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgdHh0Q2hhbm5lbCE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q29tcGFueSE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweFNlbGVjdDogRXZlbnRFbWl0dGVyPFNweFdlbGNvbWVWYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhXZWxjb21lVmFsdWVJPigpO1xuICBzZXZlcml0eVN1Y2Nlc3MgPSBTcHhTZXZlcml0eUVudW0uc3VjY2VzcztcbiAgc3VnZ2VzdGlvbnM6IHtcbiAgICBbY3RybENoYW5uZWxUeXBlXT86IFNweFZhbHVlUGFpcjxzdHJpbmc+W107XG4gICAgW2N0cmxDaGFubmVsXT86IFNweFZhbHVlUGFpcjxzdHJpbmc+W107XG4gIH0gPSB7XG4gICAgW2N0cmxDaGFubmVsVHlwZV06IFtdLFxuICAgIFtjdHJsQ2hhbm5lbF06IFtdLFxuICB9O1xuICBcbiAgZ2V0IGN0cmxDaGFubmVsKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ2hhbm5lbCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDaGFubmVsVHlwZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENoYW5uZWxUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBjaGFubmVsPzogU3Vic2NyaXB0aW9uXG4gIH0gPSB7fTtcblxuICBzZWN0aW9uczogU3B4Rm9ybVNlY3Rpb25JW10gPSBbXG4gICAge1xuICAgICAga2V5OiBzZWN0aW9uV2VsY29tZSxcbiAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENoYW5uZWwsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5yYWRpbyxcbiAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50eHRDb21wYW55LFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENoYW5uZWxUeXBlLFxuICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0ucmFkaW8sXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q2hhbm5lbCxcbiAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHNob3c6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsQ2hhbm5lbC52YWx1ZSksXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgIH1cbiAgXTtcbiAgXG4gIGdldCBmaWx0ZXJlZENvbXBhbmllcygpOiBTcHhWYWx1ZVBhaXI8c3RyaW5nPltdIHsgcmV0dXJuICh0aGlzLmNoYW5uZWxzID8/IFtdKT8uZmlsdGVyKGNoYW5uZWwgPT4gY2hhbm5lbC5jaGFubmVsVHlwZXMuaW5jbHVkZXMoU3B4QXBwQ2hhbm5lbFR5cGVFbnVtLnByb2R1Y3Rpb24pKS5tYXAoYyA9PiAoeyBkZXNjcmlwdGlvbjogYy5icmFuZCwgdmFsdWU6IGMuYnJhbmQgfSkpOyB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zdWdnZXN0aW9uc1tjdHJsQ2hhbm5lbF0gPSB0aGlzLmZpbHRlcmVkQ29tcGFuaWVzO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuY2hhbm5lbCA9IHRoaXMuY3RybENoYW5uZWwudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZVBhaXIgPT4ge1xuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMuY2hhbm5lbHM/LmZpbmQoYyA9PiBjLmJyYW5kID09PSB2YWx1ZVBhaXJUb1ZhbHVlKHZhbHVlUGFpcikpO1xuICAgICAgdGhpcy5zdWdnZXN0aW9uc1tjdHJsQ2hhbm5lbFR5cGVdID0gIWNoYW5uZWwgPyBbXSA6IGNoYW5uZWw/LmNoYW5uZWxUeXBlcz8ubWFwKGN0ID0+ICh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBjdCxcbiAgICAgICAgdmFsdWU6IGN0XG4gICAgICB9KSk7XG4gICAgICB0aGlzLmN0cmxDaGFubmVsVHlwZS5zZXRWYWx1ZSh7XG4gICAgICAgIHZhbHVlOiBTcHhBcHBDaGFubmVsVHlwZUVudW0ucHJvZHVjdGlvbixcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coJ3NweFNlbGVjdCBlbWl0dGluZy4uLicpO1xuICAgIHRoaXMuc3B4U2VsZWN0LmVtaXQoe1xuICAgICAgY2hhbm5lbDogdGhpcy5jaGFubmVscz8uZmluZChjID0+IGMuYnJhbmQgPT09IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsQ2hhbm5lbC52YWx1ZSkpLFxuICAgICAgY2hhbm5lbFR5cGU6IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsQ2hhbm5lbFR5cGUudmFsdWUpLFxuICAgIH0pO1xuICB9XG5cbiAgY3JlYXRlRm9ybSgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiBTcHhGb3JtVmlld0NvbXBvbmVudC5jcmVhdGVGb3JtKHRoaXMuZm9ybUJ1aWxkZXIsIHRoaXMuc2VjdGlvbnMpO1xuICB9XG59XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RyxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFZLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRzFFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDO0FBMkI3QyxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QixJQUFJLFdBQVcsS0FBa0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLElBQUksZUFBZSxLQUFrQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7SUFxQ2pHLElBQUksaUJBQWlCLEtBQTZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxTixZQUFxQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXZEcEMsYUFBUSxHQUFzQixFQUFFLENBQUM7UUFDakMsaUJBQVksR0FBNkIsRUFBRSxDQUFDO1FBSzNDLGNBQVMsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDM0YsZ0JBQVcsR0FHUDtZQUNBLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRTtZQUNyQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUU7U0FDbEIsQ0FBQztRQUlJLGtCQUFhLEdBRWpCLEVBQUUsQ0FBQztRQUVQLFNBQUksR0FBYTtZQUNmLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxRQUFRLEVBQUUsZUFBZSxDQUFDLE9BQU87b0JBQ2pDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxNQUFNO29CQUNsQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVU7aUJBQzdCO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsR0FBRyxFQUFFLGNBQWM7b0JBQ25CLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO29CQUN0QixNQUFNLEVBQUU7d0JBQ047NEJBQ0UsR0FBRyxFQUFFLFdBQVc7NEJBQ2hCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLOzRCQUNsQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVc7NEJBQzdCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUM7eUJBQzNDO3dCQUNEOzRCQUNFLEdBQUcsRUFBRSxlQUFlOzRCQUNwQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSzs0QkFDbEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXOzRCQUM3QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTs0QkFDdEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDOzRCQUNwRCxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3lCQUMzQztxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztJQUtGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDekQsQ0FBQztJQUVELFdBQVc7SUFFWCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDcEYsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsS0FBSyxFQUFFLEVBQUU7YUFDVixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO2dCQUM1QixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTthQUN4QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RixXQUFXLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7U0FDMUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0UsQ0FBQzs4R0ExRlUsbUJBQW1CO2tHQUFuQixtQkFBbUIsMlNBbkJwQjs7Ozs7O1VBTUYsMkRBR04sWUFBWSw4QkFDWixXQUFXLG1TQUNYLG1CQUFtQixnTEFHbkIsb0JBQW9COzsyRkFLWCxtQkFBbUI7a0JBckIvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUU7Ozs7OztVQU1GO29CQUNSLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixJQUFJO3FCQUNMO2lCQUNGO2dGQUVVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNweEFwcENoYW5uZWxJLCBTcHhBcHBDaGFubmVsVHlwZUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXNlY3Rpb24nO1xuaW1wb3J0IHsgU3B4Rm9ybUJ1dHRvblR5cGVFbnVtLCBTcHhGb3JtSSwgU3B4Rm9ybVZpZXdDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcnO1xuaW1wb3J0IHsgU3B4U2V2ZXJpdHlFbnVtLCB2YWx1ZVBhaXJUb1ZhbHVlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XG5pbXBvcnQgeyBTcHhJbnB1dENvbXBvbmVudCwgU3B4SW5wdXRUeXBlRW51bSwgU3B4VmFsdWVQYWlyIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHNlY3Rpb25XZWxjb21lID0gJ3dlbGNvbWUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDaGFubmVsID0gJ2NoYW5uZWwnO1xuZXhwb3J0IGNvbnN0IGN0cmxDaGFubmVsVHlwZSA9ICdjaGFubmVsVHlwZSc7XG5leHBvcnQgaW50ZXJmYWNlIFNweFdlbGNvbWVWYWx1ZUkge1xuICBbY3RybENoYW5uZWxdPzogU3B4QXBwQ2hhbm5lbEk7XG4gIFtjdHJsQ2hhbm5lbFR5cGVdOiBTcHhBcHBDaGFubmVsVHlwZUVudW07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC13ZWxjb21lJyxcbiAgdGVtcGxhdGU6IGA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgICA8c3B4LWZvcm0tdmlld1xuICAgICAgW3NweEZvcm1dPVwiZm9ybVwiXG4gICAgICBbc3B4Rm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIj5cbiAgICA8L3NweC1mb3JtLXZpZXc+XG4gIDwvZm9ybT5gLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1TZWN0aW9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1WaWV3Q29tcG9uZW50LFxuICAgIFNweElucHV0Q29tcG9uZW50LFxuICAgIE5nSWYsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU3B4V2VsY29tZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBjaGFubmVscz86IFNweEFwcENoYW5uZWxJW10gPSBbXTtcbiAgQElucHV0KCkgY2hhbm5lbFR5cGVzPzogU3B4QXBwQ2hhbm5lbFR5cGVFbnVtW10gPSBbXTtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSB0ZXh0Q2hhbm5lbCE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dENvbXBhbnkhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRTZWxlY3QhOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzcHhTZWxlY3Q6IEV2ZW50RW1pdHRlcjxTcHhXZWxjb21lVmFsdWVJPiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4V2VsY29tZVZhbHVlST4oKTtcbiAgc3VnZ2VzdGlvbnM6IHtcbiAgICBbY3RybENoYW5uZWxUeXBlXT86IFNweFZhbHVlUGFpcjxzdHJpbmc+W107XG4gICAgW2N0cmxDaGFubmVsXT86IFNweFZhbHVlUGFpcjxzdHJpbmc+W107XG4gIH0gPSB7XG4gICAgICBbY3RybENoYW5uZWxUeXBlXTogW10sXG4gICAgICBbY3RybENoYW5uZWxdOiBbXSxcbiAgICB9O1xuXG4gIGdldCBjdHJsQ2hhbm5lbCgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENoYW5uZWwpIGFzIEZvcm1Db250cm9sOyB9XG4gIGdldCBjdHJsQ2hhbm5lbFR5cGUoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDaGFubmVsVHlwZSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiB7XG4gICAgY2hhbm5lbD86IFN1YnNjcmlwdGlvblxuICB9ID0ge307XG5cbiAgZm9ybTogU3B4Rm9ybUkgPSB7XG4gICAgYnV0dG9uczogW1xuICAgICAge1xuICAgICAgICBzZXZlcml0eTogU3B4U2V2ZXJpdHlFbnVtLnN1Y2Nlc3MsXG4gICAgICAgIHR5cGU6IFNweEZvcm1CdXR0b25UeXBlRW51bS5zdWJtaXQsXG4gICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRTZWxlY3QsXG4gICAgICB9XG4gICAgXSxcbiAgICBzZWN0aW9uczogW1xuICAgICAge1xuICAgICAgICBrZXk6IHNlY3Rpb25XZWxjb21lLFxuICAgICAgICBzaG93VGl0bGU6ICgpID0+IGZhbHNlLFxuICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDaGFubmVsLFxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5yYWRpbyxcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDb21wYW55LFxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiBjdHJsQ2hhbm5lbFR5cGUsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENoYW5uZWwsXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsLnZhbHVlKSxcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIGdldCBmaWx0ZXJlZENvbXBhbmllcygpOiBTcHhWYWx1ZVBhaXI8c3RyaW5nPltdIHsgcmV0dXJuICh0aGlzLmNoYW5uZWxzID8/IFtdKT8uZmlsdGVyKGNoYW5uZWwgPT4gY2hhbm5lbC5jaGFubmVsVHlwZXMuaW5jbHVkZXMoU3B4QXBwQ2hhbm5lbFR5cGVFbnVtLnByb2R1Y3Rpb24pKS5tYXAoYyA9PiAoeyBkZXNjcmlwdGlvbjogYy5icmFuZCwgdmFsdWU6IGMuYnJhbmQgfSkpOyB9XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5zdWdnZXN0aW9uc1tjdHJsQ2hhbm5lbF0gPSB0aGlzLmZpbHRlcmVkQ29tcGFuaWVzO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5jaGFubmVsID0gdGhpcy5jdHJsQ2hhbm5lbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlUGFpciA9PiB7XG4gICAgICBjb25zdCBjaGFubmVsID0gdGhpcy5jaGFubmVscz8uZmluZChjID0+IGMuYnJhbmQgPT09IHZhbHVlUGFpclRvVmFsdWUodmFsdWVQYWlyKSk7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zW2N0cmxDaGFubmVsVHlwZV0gPSAhY2hhbm5lbCA/IFtdIDogY2hhbm5lbD8uY2hhbm5lbFR5cGVzPy5tYXAoY3QgPT4gKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGN0LFxuICAgICAgICB2YWx1ZTogY3RcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuY3RybENoYW5uZWxUeXBlLnNldFZhbHVlKHtcbiAgICAgICAgdmFsdWU6IFNweEFwcENoYW5uZWxUeXBlRW51bS5wcm9kdWN0aW9uLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnc3B4U2VsZWN0IGVtaXR0aW5nLi4uJyk7XG4gICAgdGhpcy5zcHhTZWxlY3QuZW1pdCh7XG4gICAgICBjaGFubmVsOiB0aGlzLmNoYW5uZWxzPy5maW5kKGMgPT4gYy5icmFuZCA9PT0gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsLnZhbHVlKSksXG4gICAgICBjaGFubmVsVHlwZTogdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsVHlwZS52YWx1ZSksXG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIFNweEZvcm1WaWV3Q29tcG9uZW50LmNyZWF0ZUZvcm0odGhpcy5mb3JtQnVpbGRlciwgdGhpcy5mb3JtLnNlY3Rpb25zKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,7 @@
1
+ export * from './spx-form-button-type.enum';
2
+ export * from './spx-form-button.interface';
1
3
  export * from './spx-form-field.interface';
2
4
  export * from './spx-form-section.interface';
3
5
  export * from './spx-form-view.component';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLWZpZWxkLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLXNlY3Rpb24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LWZvcm0tdmlldy5jb21wb25lbnQnO1xuIl19
6
+ export * from './spx-form.interface';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLWJ1dHRvbi10eXBlLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtZm9ybS1idXR0b24uaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LWZvcm0tZmllbGQuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3B4LWZvcm0tc2VjdGlvbi5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcHgtZm9ybS12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NweC1mb3JtLmludGVyZmFjZSc7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export var SpxFormButtonTypeEnum;
2
+ (function (SpxFormButtonTypeEnum) {
3
+ SpxFormButtonTypeEnum["button"] = "button";
4
+ SpxFormButtonTypeEnum["submit"] = "submit";
5
+ })(SpxFormButtonTypeEnum || (SpxFormButtonTypeEnum = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tYnV0dG9uLXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3L3NweC1mb3JtLWJ1dHRvbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVkscUJBR1g7QUFIRCxXQUFZLHFCQUFxQjtJQUM3QiwwQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUdoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNweEZvcm1CdXR0b25UeXBlRW51bSB7XG4gICAgYnV0dG9uID0gJ2J1dHRvbicsXG4gICAgc3VibWl0ID0gJ3N1Ym1pdCcsXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWZvcm0tYnV0dG9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3L3NweC1mb3JtLWJ1dHRvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNweFNldmVyaXR5RW51bSB9IGZyb20gXCJAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzXCI7XG5pbXBvcnQgeyBTcHhGb3JtQnV0dG9uVHlwZUVudW0gfSBmcm9tIFwiLi9zcHgtZm9ybS1idXR0b24tdHlwZS5lbnVtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3B4Rm9ybUJ1dHRvbkkge1xuICAgIG9uQ2xpY2s/OiAoKSA9PiB7fTtcbiAgICBzZXZlcml0eTogU3B4U2V2ZXJpdHlFbnVtO1xuICAgIGxhYmVsPzogKCkgPT4gc3RyaW5nO1xuICAgIHR5cGU6IFNweEZvcm1CdXR0b25UeXBlRW51bTtcbn1cbiJdfQ==