@desynth/web-components-angular 24.7.9-alpha.9 → 25.4.1-alpha.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.
@@ -1,721 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /* tslint:disable */
3
- /* auto-generated angular directive proxies */
4
- import { ChangeDetectionStrategy, Component } from '@angular/core';
5
- import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
6
- import * as i0 from "@angular/core";
7
- let DesynthAccordion = class DesynthAccordion {
8
- constructor(c, r, z) {
9
- this.z = z;
10
- c.detach();
11
- this.el = r.nativeElement;
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthAccordion, selector: "desynth-accordion", inputs: { summaryText: "summaryText", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
- };
16
- DesynthAccordion = __decorate([
17
- ProxyCmp({
18
- inputs: ['summaryText', 'type']
19
- })
20
- ], DesynthAccordion);
21
- export { DesynthAccordion };
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthAccordion, decorators: [{
23
- type: Component,
24
- args: [{
25
- selector: 'desynth-accordion',
26
- changeDetection: ChangeDetectionStrategy.OnPush,
27
- template: '<ng-content></ng-content>',
28
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
29
- inputs: ['summaryText', 'type'],
30
- }]
31
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
32
- let DesynthAlert = class DesynthAlert {
33
- constructor(c, r, z) {
34
- this.z = z;
35
- c.detach();
36
- this.el = r.nativeElement;
37
- proxyOutputs(this, this.el, ['handleOpen', 'handleClose', 'handleBeforeClose']);
38
- }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthAlert, selector: "desynth-alert", inputs: { alertId: "alertId", alertText: "alertText", alertType: "alertType", duration: "duration", opened: "opened" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
- };
42
- DesynthAlert = __decorate([
43
- ProxyCmp({
44
- inputs: ['alertId', 'alertText', 'alertType', 'duration', 'opened']
45
- })
46
- ], DesynthAlert);
47
- export { DesynthAlert };
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthAlert, decorators: [{
49
- type: Component,
50
- args: [{
51
- selector: 'desynth-alert',
52
- changeDetection: ChangeDetectionStrategy.OnPush,
53
- template: '<ng-content></ng-content>',
54
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
55
- inputs: ['alertId', 'alertText', 'alertType', 'duration', 'opened'],
56
- }]
57
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
58
- let DesynthBreadcrumb = class DesynthBreadcrumb {
59
- constructor(c, r, z) {
60
- this.z = z;
61
- c.detach();
62
- this.el = r.nativeElement;
63
- proxyOutputs(this, this.el, ['handleInput', 'handleFocus', 'handleBlur']);
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthBreadcrumb, selector: "desynth-breadcrumb", inputs: { breadcrumbs: "breadcrumbs", route: "route" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
67
- };
68
- DesynthBreadcrumb = __decorate([
69
- ProxyCmp({
70
- inputs: ['breadcrumbs', 'route']
71
- })
72
- ], DesynthBreadcrumb);
73
- export { DesynthBreadcrumb };
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthBreadcrumb, decorators: [{
75
- type: Component,
76
- args: [{
77
- selector: 'desynth-breadcrumb',
78
- changeDetection: ChangeDetectionStrategy.OnPush,
79
- template: '<ng-content></ng-content>',
80
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
81
- inputs: ['breadcrumbs', 'route'],
82
- }]
83
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
84
- let DesynthButton = class DesynthButton {
85
- constructor(c, r, z) {
86
- this.z = z;
87
- c.detach();
88
- this.el = r.nativeElement;
89
- proxyOutputs(this, this.el, ['handleClick', 'handleFocus', 'handleBlur']);
90
- }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthButton, selector: "desynth-button", inputs: { buttonId: "buttonId", buttonText: "buttonText", circular: "circular", disabled: "disabled", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
- };
94
- DesynthButton = __decorate([
95
- ProxyCmp({
96
- inputs: ['buttonId', 'buttonText', 'circular', 'disabled', 'type']
97
- })
98
- ], DesynthButton);
99
- export { DesynthButton };
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthButton, decorators: [{
101
- type: Component,
102
- args: [{
103
- selector: 'desynth-button',
104
- changeDetection: ChangeDetectionStrategy.OnPush,
105
- template: '<ng-content></ng-content>',
106
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
107
- inputs: ['buttonId', 'buttonText', 'circular', 'disabled', 'type'],
108
- }]
109
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
110
- let DesynthButtonSlider = class DesynthButtonSlider {
111
- constructor(c, r, z) {
112
- this.z = z;
113
- c.detach();
114
- this.el = r.nativeElement;
115
- }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthButtonSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthButtonSlider, selector: "desynth-button-slider", inputs: { buttons: "buttons" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
- };
119
- DesynthButtonSlider = __decorate([
120
- ProxyCmp({
121
- inputs: ['buttons']
122
- })
123
- ], DesynthButtonSlider);
124
- export { DesynthButtonSlider };
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthButtonSlider, decorators: [{
126
- type: Component,
127
- args: [{
128
- selector: 'desynth-button-slider',
129
- changeDetection: ChangeDetectionStrategy.OnPush,
130
- template: '<ng-content></ng-content>',
131
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
132
- inputs: ['buttons'],
133
- }]
134
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
135
- let DesynthCard = class DesynthCard {
136
- constructor(c, r, z) {
137
- this.z = z;
138
- c.detach();
139
- this.el = r.nativeElement;
140
- }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthCard, selector: "desynth-card", inputs: { cardSize: "cardSize" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
143
- };
144
- DesynthCard = __decorate([
145
- ProxyCmp({
146
- inputs: ['cardSize']
147
- })
148
- ], DesynthCard);
149
- export { DesynthCard };
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthCard, decorators: [{
151
- type: Component,
152
- args: [{
153
- selector: 'desynth-card',
154
- changeDetection: ChangeDetectionStrategy.OnPush,
155
- template: '<ng-content></ng-content>',
156
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
157
- inputs: ['cardSize'],
158
- }]
159
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
160
- let DesynthCheckbox = class DesynthCheckbox {
161
- constructor(c, r, z) {
162
- this.z = z;
163
- c.detach();
164
- this.el = r.nativeElement;
165
- proxyOutputs(this, this.el, ['handleClick']);
166
- }
167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
168
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthCheckbox, selector: "desynth-checkbox", inputs: { checkboxId: "checkboxId", checkboxLabel: "checkboxLabel", errorMessage: "errorMessage", isChecked: "isChecked" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
169
- };
170
- DesynthCheckbox = __decorate([
171
- ProxyCmp({
172
- inputs: ['checkboxId', 'checkboxLabel', 'errorMessage', 'isChecked']
173
- })
174
- ], DesynthCheckbox);
175
- export { DesynthCheckbox };
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthCheckbox, decorators: [{
177
- type: Component,
178
- args: [{
179
- selector: 'desynth-checkbox',
180
- changeDetection: ChangeDetectionStrategy.OnPush,
181
- template: '<ng-content></ng-content>',
182
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
183
- inputs: ['checkboxId', 'checkboxLabel', 'errorMessage', 'isChecked'],
184
- }]
185
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
186
- let DesynthDatePicker = class DesynthDatePicker {
187
- constructor(c, r, z) {
188
- this.z = z;
189
- c.detach();
190
- this.el = r.nativeElement;
191
- proxyOutputs(this, this.el, ['dateChanged']);
192
- }
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDatePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
194
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthDatePicker, selector: "desynth-date-picker", inputs: { dateSelected: "dateSelected", firstDayOfWeek: "firstDayOfWeek", inputName: "inputName" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
195
- };
196
- DesynthDatePicker = __decorate([
197
- ProxyCmp({
198
- inputs: ['dateSelected', 'firstDayOfWeek', 'inputName']
199
- })
200
- ], DesynthDatePicker);
201
- export { DesynthDatePicker };
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDatePicker, decorators: [{
203
- type: Component,
204
- args: [{
205
- selector: 'desynth-date-picker',
206
- changeDetection: ChangeDetectionStrategy.OnPush,
207
- template: '<ng-content></ng-content>',
208
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
209
- inputs: ['dateSelected', 'firstDayOfWeek', 'inputName'],
210
- }]
211
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
212
- let DesynthDivider = class DesynthDivider {
213
- constructor(c, r, z) {
214
- this.z = z;
215
- c.detach();
216
- this.el = r.nativeElement;
217
- }
218
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthDivider, selector: "desynth-divider", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
220
- };
221
- DesynthDivider = __decorate([
222
- ProxyCmp({})
223
- ], DesynthDivider);
224
- export { DesynthDivider };
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDivider, decorators: [{
226
- type: Component,
227
- args: [{
228
- selector: 'desynth-divider',
229
- changeDetection: ChangeDetectionStrategy.OnPush,
230
- template: '<ng-content></ng-content>',
231
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
232
- inputs: [],
233
- }]
234
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
235
- let DesynthDrawer = class DesynthDrawer {
236
- constructor(c, r, z) {
237
- this.z = z;
238
- c.detach();
239
- this.el = r.nativeElement;
240
- proxyOutputs(this, this.el, ['handleClick', 'handleFocus', 'handleClose']);
241
- }
242
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
243
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthDrawer, selector: "desynth-drawer", inputs: { items: "items", open: "open", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
244
- };
245
- DesynthDrawer = __decorate([
246
- ProxyCmp({
247
- inputs: ['items', 'open', 'type']
248
- })
249
- ], DesynthDrawer);
250
- export { DesynthDrawer };
251
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDrawer, decorators: [{
252
- type: Component,
253
- args: [{
254
- selector: 'desynth-drawer',
255
- changeDetection: ChangeDetectionStrategy.OnPush,
256
- template: '<ng-content></ng-content>',
257
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
258
- inputs: ['items', 'open', 'type'],
259
- }]
260
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
261
- let DesynthDropFile = class DesynthDropFile {
262
- constructor(c, r, z) {
263
- this.z = z;
264
- c.detach();
265
- this.el = r.nativeElement;
266
- proxyOutputs(this, this.el, ['filesDropped']);
267
- }
268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDropFile, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
269
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthDropFile, selector: "desynth-drop-file", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
270
- };
271
- DesynthDropFile = __decorate([
272
- ProxyCmp({})
273
- ], DesynthDropFile);
274
- export { DesynthDropFile };
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthDropFile, decorators: [{
276
- type: Component,
277
- args: [{
278
- selector: 'desynth-drop-file',
279
- changeDetection: ChangeDetectionStrategy.OnPush,
280
- template: '<ng-content></ng-content>',
281
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
282
- inputs: [],
283
- }]
284
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
285
- let DesynthForm = class DesynthForm {
286
- constructor(c, r, z) {
287
- this.z = z;
288
- c.detach();
289
- this.el = r.nativeElement;
290
- proxyOutputs(this, this.el, ['clickSubmit', 'clickClear', 'handleChange']);
291
- }
292
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthForm, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
293
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthForm, selector: "desynth-form", inputs: { inputs: "inputs" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
294
- };
295
- DesynthForm = __decorate([
296
- ProxyCmp({
297
- inputs: ['inputs']
298
- })
299
- ], DesynthForm);
300
- export { DesynthForm };
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthForm, decorators: [{
302
- type: Component,
303
- args: [{
304
- selector: 'desynth-form',
305
- changeDetection: ChangeDetectionStrategy.OnPush,
306
- template: '<ng-content></ng-content>',
307
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
308
- inputs: ['inputs'],
309
- }]
310
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
311
- let DesynthGrid = class DesynthGrid {
312
- constructor(c, r, z) {
313
- this.z = z;
314
- c.detach();
315
- this.el = r.nativeElement;
316
- }
317
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthGrid, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
318
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthGrid, selector: "desynth-grid", inputs: { columnSpacing: "columnSpacing", columns: "columns", container: "container", direction: "direction", item: "item", lg: "lg", md: "md", rowSpacing: "rowSpacing", sm: "sm", spacing: "spacing", wrap: "wrap", xl: "xl", xs: "xs", zeroMinWidth: "zeroMinWidth" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
319
- };
320
- DesynthGrid = __decorate([
321
- ProxyCmp({
322
- inputs: ['columnSpacing', 'columns', 'container', 'direction', 'item', 'lg', 'md', 'rowSpacing', 'sm', 'spacing', 'wrap', 'xl', 'xs', 'zeroMinWidth']
323
- })
324
- ], DesynthGrid);
325
- export { DesynthGrid };
326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthGrid, decorators: [{
327
- type: Component,
328
- args: [{
329
- selector: 'desynth-grid',
330
- changeDetection: ChangeDetectionStrategy.OnPush,
331
- template: '<ng-content></ng-content>',
332
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
333
- inputs: ['columnSpacing', 'columns', 'container', 'direction', 'item', 'lg', 'md', 'rowSpacing', 'sm', 'spacing', 'wrap', 'xl', 'xs', 'zeroMinWidth'],
334
- }]
335
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
336
- let DesynthHeader = class DesynthHeader {
337
- constructor(c, r, z) {
338
- this.z = z;
339
- c.detach();
340
- this.el = r.nativeElement;
341
- proxyOutputs(this, this.el, ['handleClick', 'handleFocus', 'handleBlur']);
342
- }
343
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
344
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthHeader, selector: "desynth-header", inputs: { buttonId: "buttonId", items: "items" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
345
- };
346
- DesynthHeader = __decorate([
347
- ProxyCmp({
348
- inputs: ['buttonId', 'items']
349
- })
350
- ], DesynthHeader);
351
- export { DesynthHeader };
352
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthHeader, decorators: [{
353
- type: Component,
354
- args: [{
355
- selector: 'desynth-header',
356
- changeDetection: ChangeDetectionStrategy.OnPush,
357
- template: '<ng-content></ng-content>',
358
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
359
- inputs: ['buttonId', 'items'],
360
- }]
361
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
362
- let DesynthList = class DesynthList {
363
- constructor(c, r, z) {
364
- this.z = z;
365
- c.detach();
366
- this.el = r.nativeElement;
367
- proxyOutputs(this, this.el, ['itemClicked']);
368
- }
369
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
370
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthList, selector: "desynth-list", inputs: { items: "items" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
371
- };
372
- DesynthList = __decorate([
373
- ProxyCmp({
374
- inputs: ['items']
375
- })
376
- ], DesynthList);
377
- export { DesynthList };
378
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthList, decorators: [{
379
- type: Component,
380
- args: [{
381
- selector: 'desynth-list',
382
- changeDetection: ChangeDetectionStrategy.OnPush,
383
- template: '<ng-content></ng-content>',
384
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
385
- inputs: ['items'],
386
- }]
387
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
388
- let DesynthLoader = class DesynthLoader {
389
- constructor(c, r, z) {
390
- this.z = z;
391
- c.detach();
392
- this.el = r.nativeElement;
393
- }
394
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthLoader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
395
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthLoader, selector: "desynth-loader", inputs: { message: "message" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
396
- };
397
- DesynthLoader = __decorate([
398
- ProxyCmp({
399
- inputs: ['message']
400
- })
401
- ], DesynthLoader);
402
- export { DesynthLoader };
403
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthLoader, decorators: [{
404
- type: Component,
405
- args: [{
406
- selector: 'desynth-loader',
407
- changeDetection: ChangeDetectionStrategy.OnPush,
408
- template: '<ng-content></ng-content>',
409
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
410
- inputs: ['message'],
411
- }]
412
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
413
- let DesynthModal = class DesynthModal {
414
- constructor(c, r, z) {
415
- this.z = z;
416
- c.detach();
417
- this.el = r.nativeElement;
418
- proxyOutputs(this, this.el, ['handleOpen', 'handleClose', 'handleBeforeClose']);
419
- }
420
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthModal, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
421
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthModal, selector: "desynth-modal", inputs: { duration: "duration", headTitle: "headTitle", opened: "opened", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
422
- };
423
- DesynthModal = __decorate([
424
- ProxyCmp({
425
- inputs: ['duration', 'headTitle', 'opened', 'size']
426
- })
427
- ], DesynthModal);
428
- export { DesynthModal };
429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthModal, decorators: [{
430
- type: Component,
431
- args: [{
432
- selector: 'desynth-modal',
433
- changeDetection: ChangeDetectionStrategy.OnPush,
434
- template: '<ng-content></ng-content>',
435
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
436
- inputs: ['duration', 'headTitle', 'opened', 'size'],
437
- }]
438
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
439
- let DesynthMultiStepper = class DesynthMultiStepper {
440
- constructor(c, r, z) {
441
- this.z = z;
442
- c.detach();
443
- this.el = r.nativeElement;
444
- proxyOutputs(this, this.el, ['handleSubmit']);
445
- }
446
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthMultiStepper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
447
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthMultiStepper, selector: "desynth-multi-stepper", inputs: { validators: "validators" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
448
- };
449
- DesynthMultiStepper = __decorate([
450
- ProxyCmp({
451
- inputs: ['validators']
452
- })
453
- ], DesynthMultiStepper);
454
- export { DesynthMultiStepper };
455
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthMultiStepper, decorators: [{
456
- type: Component,
457
- args: [{
458
- selector: 'desynth-multi-stepper',
459
- changeDetection: ChangeDetectionStrategy.OnPush,
460
- template: '<ng-content></ng-content>',
461
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
462
- inputs: ['validators'],
463
- }]
464
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
465
- let DesynthPaper = class DesynthPaper {
466
- constructor(c, r, z) {
467
- this.z = z;
468
- c.detach();
469
- this.el = r.nativeElement;
470
- }
471
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthPaper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
472
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthPaper, selector: "desynth-paper", inputs: { paperSize: "paperSize" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
473
- };
474
- DesynthPaper = __decorate([
475
- ProxyCmp({
476
- inputs: ['paperSize']
477
- })
478
- ], DesynthPaper);
479
- export { DesynthPaper };
480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthPaper, decorators: [{
481
- type: Component,
482
- args: [{
483
- selector: 'desynth-paper',
484
- changeDetection: ChangeDetectionStrategy.OnPush,
485
- template: '<ng-content></ng-content>',
486
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
487
- inputs: ['paperSize'],
488
- }]
489
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
490
- let DesynthRating = class DesynthRating {
491
- constructor(c, r, z) {
492
- this.z = z;
493
- c.detach();
494
- this.el = r.nativeElement;
495
- proxyOutputs(this, this.el, ['handleChange']);
496
- }
497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthRating, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
498
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthRating, selector: "desynth-rating", inputs: { inputName: "inputName", rating: "rating" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
499
- };
500
- DesynthRating = __decorate([
501
- ProxyCmp({
502
- inputs: ['inputName', 'rating']
503
- })
504
- ], DesynthRating);
505
- export { DesynthRating };
506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthRating, decorators: [{
507
- type: Component,
508
- args: [{
509
- selector: 'desynth-rating',
510
- changeDetection: ChangeDetectionStrategy.OnPush,
511
- template: '<ng-content></ng-content>',
512
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
513
- inputs: ['inputName', 'rating'],
514
- }]
515
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
516
- let DesynthRenderer = class DesynthRenderer {
517
- constructor(c, r, z) {
518
- this.z = z;
519
- c.detach();
520
- this.el = r.nativeElement;
521
- }
522
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthRenderer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
523
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthRenderer, selector: "desynth-renderer", inputs: { content: "content" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
524
- };
525
- DesynthRenderer = __decorate([
526
- ProxyCmp({
527
- inputs: ['content']
528
- })
529
- ], DesynthRenderer);
530
- export { DesynthRenderer };
531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthRenderer, decorators: [{
532
- type: Component,
533
- args: [{
534
- selector: 'desynth-renderer',
535
- changeDetection: ChangeDetectionStrategy.OnPush,
536
- template: '<ng-content></ng-content>',
537
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
538
- inputs: ['content'],
539
- }]
540
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
541
- let DesynthSelect = class DesynthSelect {
542
- constructor(c, r, z) {
543
- this.z = z;
544
- c.detach();
545
- this.el = r.nativeElement;
546
- proxyOutputs(this, this.el, ['handleChange', 'handleInput', 'handleFocus', 'handleBlur']);
547
- }
548
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
549
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthSelect, selector: "desynth-select", inputs: { errorMessage: "errorMessage", inputId: "inputId", inputName: "inputName", inputValue: "inputValue", options: "options", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
550
- };
551
- DesynthSelect = __decorate([
552
- ProxyCmp({
553
- inputs: ['errorMessage', 'inputId', 'inputName', 'inputValue', 'options', 'size']
554
- })
555
- ], DesynthSelect);
556
- export { DesynthSelect };
557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthSelect, decorators: [{
558
- type: Component,
559
- args: [{
560
- selector: 'desynth-select',
561
- changeDetection: ChangeDetectionStrategy.OnPush,
562
- template: '<ng-content></ng-content>',
563
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
564
- inputs: ['errorMessage', 'inputId', 'inputName', 'inputValue', 'options', 'size'],
565
- }]
566
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
567
- let DesynthStepStepper = class DesynthStepStepper {
568
- constructor(c, r, z) {
569
- this.z = z;
570
- c.detach();
571
- this.el = r.nativeElement;
572
- }
573
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthStepStepper, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
574
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthStepStepper, selector: "desynth-step-stepper", inputs: { active: "active" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
575
- };
576
- DesynthStepStepper = __decorate([
577
- ProxyCmp({
578
- inputs: ['active']
579
- })
580
- ], DesynthStepStepper);
581
- export { DesynthStepStepper };
582
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthStepStepper, decorators: [{
583
- type: Component,
584
- args: [{
585
- selector: 'desynth-step-stepper',
586
- changeDetection: ChangeDetectionStrategy.OnPush,
587
- template: '<ng-content></ng-content>',
588
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
589
- inputs: ['active'],
590
- }]
591
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
592
- let DesynthSwitch = class DesynthSwitch {
593
- constructor(c, r, z) {
594
- this.z = z;
595
- c.detach();
596
- this.el = r.nativeElement;
597
- proxyOutputs(this, this.el, ['handleClick', 'handleInput', 'handleFocus', 'handleBlur']);
598
- }
599
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
600
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthSwitch, selector: "desynth-switch", inputs: { errorMessage: "errorMessage", inputId: "inputId", inputLabel: "inputLabel", isChecked: "isChecked" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
601
- };
602
- DesynthSwitch = __decorate([
603
- ProxyCmp({
604
- inputs: ['errorMessage', 'inputId', 'inputLabel', 'isChecked']
605
- })
606
- ], DesynthSwitch);
607
- export { DesynthSwitch };
608
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthSwitch, decorators: [{
609
- type: Component,
610
- args: [{
611
- selector: 'desynth-switch',
612
- changeDetection: ChangeDetectionStrategy.OnPush,
613
- template: '<ng-content></ng-content>',
614
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
615
- inputs: ['errorMessage', 'inputId', 'inputLabel', 'isChecked'],
616
- }]
617
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
618
- let DesynthTable = class DesynthTable {
619
- constructor(c, r, z) {
620
- this.z = z;
621
- c.detach();
622
- this.el = r.nativeElement;
623
- proxyOutputs(this, this.el, ['changeRowsPerPage', 'getDataNextPage', 'rowEvent']);
624
- }
625
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
626
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthTable, selector: "desynth-table", inputs: { _actions: "_actions", _column_keys: "_column_keys", _columns: "_columns", _source: "_source", count: "count" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
627
- };
628
- DesynthTable = __decorate([
629
- ProxyCmp({
630
- inputs: ['_actions', '_column_keys', '_columns', '_source', 'count']
631
- })
632
- ], DesynthTable);
633
- export { DesynthTable };
634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTable, decorators: [{
635
- type: Component,
636
- args: [{
637
- selector: 'desynth-table',
638
- changeDetection: ChangeDetectionStrategy.OnPush,
639
- template: '<ng-content></ng-content>',
640
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
641
- inputs: ['_actions', '_column_keys', '_columns', '_source', 'count'],
642
- }]
643
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
644
- let DesynthTextArea = class DesynthTextArea {
645
- constructor(c, r, z) {
646
- this.z = z;
647
- c.detach();
648
- this.el = r.nativeElement;
649
- proxyOutputs(this, this.el, ['handleChange', 'handleInput', 'handleFocus', 'handleBlur']);
650
- }
651
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTextArea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
652
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthTextArea, selector: "desynth-text-area", inputs: { errorMessage: "errorMessage", inputId: "inputId", inputName: "inputName", inputValue: "inputValue" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
653
- };
654
- DesynthTextArea = __decorate([
655
- ProxyCmp({
656
- inputs: ['errorMessage', 'inputId', 'inputName', 'inputValue']
657
- })
658
- ], DesynthTextArea);
659
- export { DesynthTextArea };
660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTextArea, decorators: [{
661
- type: Component,
662
- args: [{
663
- selector: 'desynth-text-area',
664
- changeDetection: ChangeDetectionStrategy.OnPush,
665
- template: '<ng-content></ng-content>',
666
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
667
- inputs: ['errorMessage', 'inputId', 'inputName', 'inputValue'],
668
- }]
669
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
670
- let DesynthTextInput = class DesynthTextInput {
671
- constructor(c, r, z) {
672
- this.z = z;
673
- c.detach();
674
- this.el = r.nativeElement;
675
- proxyOutputs(this, this.el, ['handleChange', 'handleInput', 'handleFocus', 'handleBlur']);
676
- }
677
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTextInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
678
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthTextInput, selector: "desynth-text-input", inputs: { errorMessage: "errorMessage", inputId: "inputId", inputName: "inputName", inputType: "inputType", inputValue: "inputValue" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
679
- };
680
- DesynthTextInput = __decorate([
681
- ProxyCmp({
682
- inputs: ['errorMessage', 'inputId', 'inputName', 'inputType', 'inputValue']
683
- })
684
- ], DesynthTextInput);
685
- export { DesynthTextInput };
686
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTextInput, decorators: [{
687
- type: Component,
688
- args: [{
689
- selector: 'desynth-text-input',
690
- changeDetection: ChangeDetectionStrategy.OnPush,
691
- template: '<ng-content></ng-content>',
692
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
693
- inputs: ['errorMessage', 'inputId', 'inputName', 'inputType', 'inputValue'],
694
- }]
695
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
696
- let DesynthTooltip = class DesynthTooltip {
697
- constructor(c, r, z) {
698
- this.z = z;
699
- c.detach();
700
- this.el = r.nativeElement;
701
- }
702
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
703
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: DesynthTooltip, selector: "desynth-tooltip", inputs: { direction: "direction", message: "message" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
704
- };
705
- DesynthTooltip = __decorate([
706
- ProxyCmp({
707
- inputs: ['direction', 'message']
708
- })
709
- ], DesynthTooltip);
710
- export { DesynthTooltip };
711
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: DesynthTooltip, decorators: [{
712
- type: Component,
713
- args: [{
714
- selector: 'desynth-tooltip',
715
- changeDetection: ChangeDetectionStrategy.OnPush,
716
- template: '<ng-content></ng-content>',
717
- // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
718
- inputs: ['direction', 'message'],
719
- }]
720
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
721
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9zcmMvZGlyZWN0aXZlcy9wcm94aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvQkFBb0I7QUFDcEIsOENBQThDO0FBQzlDLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQWVoRSxJQUFNLGdCQUFnQixHQUF0QixNQUFNLGdCQUFnQjtJQUUzQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDOzhHQUxVLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLCtHQUpqQiwyQkFBMkI7O0FBSTFCLGdCQUFnQjtJQVY1QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0tBQ2hDLENBQUM7R0FRVyxnQkFBZ0IsQ0FNNUI7OzJGQU5ZLGdCQUFnQjtrQkFQNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO2lCQUNoQzs7QUF1Qk0sSUFBTSxZQUFZLEdBQWxCLE1BQU0sWUFBWTtJQUV2QixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUks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TzVCOzsyRkFQWSxnQkFBZ0I7a0JBUDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQztpQkFDNUU7O0FBMkNNLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWM7SUFFekIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzs4R0FMVSxjQUFjO2tHQUFkLGNBQWMsK0dBSmYsMkJBQTJCOztBQUkxQixjQUFjO0lBVjFCLFFBQVEsQ0FBQztRQUNSLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7S0FDakMsQ0FBQztHQVFXLGNBQWMsQ0FNMUI7OzJGQU5ZLGNBQWM7a0JBUDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLHVFQUF1RTtvQkFDdkUsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFByb3h5Q21wLCBwcm94eU91dHB1dHMgfSBmcm9tICcuL2FuZ3VsYXItY29tcG9uZW50LWxpYi91dGlscyc7XG5cbmltcG9ydCB7IENvbXBvbmVudHMgfSBmcm9tICdAZGVzeW50aC93ZWItY29tcG9uZW50cyc7XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3N1bW1hcnlUZXh0JywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtYWNjb3JkaW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydzdW1tYXJ5VGV4dCcsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhBY2NvcmRpb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoQWNjb3JkaW9uIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsZXJ0SWQnLCAnYWxlcnRUZXh0JywgJ2FsZXJ0VHlwZScsICdkdXJhdGlvbicsICdvcGVuZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtYWxlcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FsZXJ0SWQnLCAnYWxlcnRUZXh0JywgJ2FsZXJ0VHlwZScsICdkdXJhdGlvbicsICdvcGVuZWQnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aEFsZXJ0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlT3BlbicsICdoYW5kbGVDbG9zZScsICdoYW5kbGVCZWZvcmVDbG9zZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQmVmb3JlQ2xvc2VBbGVydEV2ZW50RGV0YWlsIGFzIElEZXN5bnRoQWxlcnRCZWZvcmVDbG9zZUFsZXJ0RXZlbnREZXRhaWwgfSBmcm9tICdAZGVzeW50aC93ZWItY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoQWxlcnQgZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhBbGVydCB7XG4gIC8qKlxuICAgKiBFbW1pdHMgaWYgdGhlIG1vZGFsIGhhcyBiZWVuIG9wZW5lZFxuICAgKi9cbiAgaGFuZGxlT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiB0aGUgbW9kYWwgaGFzIGJlZW4gY2xvc2VkXG4gICAqL1xuICBoYW5kbGVDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiB0aGUgbW9kYWwgYmVmb3JlIGhhcyBiZWVuIGNsb3NlZFxuICAgKi9cbiAgaGFuZGxlQmVmb3JlQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJRGVzeW50aEFsZXJ0QmVmb3JlQ2xvc2VBbGVydEV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JyZWFkY3J1bWJzJywgJ3JvdXRlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JyZWFkY3J1bWJzJywgJ3JvdXRlJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhCcmVhZGNydW1iIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlSW5wdXQnLCAnaGFuZGxlRm9jdXMnLCAnaGFuZGxlQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoQnJlYWRjcnVtYiBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aEJyZWFkY3J1bWIge1xuICAvKipcbiAgICogRW1taXRzIGlmIGlucHV0IGNoYW5nZSwgcmV0dXJuIEhUTUwgSW5wdXQgRXZlbnRcbiAgICovXG4gIGhhbmRsZUlucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTElucHV0RWxlbWVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBmb2N1cy5cbiAgICovXG4gIGhhbmRsZUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBibHVyLlxuICAgKi9cbiAgaGFuZGxlQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYnV0dG9uSWQnLCAnYnV0dG9uVGV4dCcsICdjaXJjdWxhcicsICdkaXNhYmxlZCcsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYnV0dG9uSWQnLCAnYnV0dG9uVGV4dCcsICdjaXJjdWxhcicsICdkaXNhYmxlZCcsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhCdXR0b24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydoYW5kbGVDbGljaycsICdoYW5kbGVGb2N1cycsICdoYW5kbGVCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhCdXR0b24ge1xuICAvKipcbiAgICogRW1taXRzIGlmIHRoZSBpbnB1dCBjaGFuZ2UsIHJldHVybiB2YWx1ZVxuICAgKi9cbiAgaGFuZGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGlzIGZvY3VzLlxuICAgKi9cbiAgaGFuZGxlRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGlucHV0IGlzIGJsdXIuXG4gICAqL1xuICBoYW5kbGVCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydidXR0b25zJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLWJ1dHRvbi1zbGlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2J1dHRvbnMnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aEJ1dHRvblNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhCdXR0b25TbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhCdXR0b25TbGlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2FyZFNpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY2FyZFNpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aENhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aENhcmQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2hlY2tib3hJZCcsICdjaGVja2JveExhYmVsJywgJ2Vycm9yTWVzc2FnZScsICdpc0NoZWNrZWQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtY2hlY2tib3gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2NoZWNrYm94SWQnLCAnY2hlY2tib3hMYWJlbCcsICdlcnJvck1lc3NhZ2UnLCAnaXNDaGVja2VkJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhDaGVja2JveCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2hhbmRsZUNsaWNrJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBDaGVja2VkQ2hhbmdlRXZlbnRWYWx1ZSBhcyBJRGVzeW50aENoZWNrYm94Q2hlY2tlZENoYW5nZUV2ZW50VmFsdWUgfSBmcm9tICdAZGVzeW50aC93ZWItY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhDaGVja2JveCB7XG4gIC8qKlxuICAgKiBFbW1pdHMgaWYgdGhlIGlucHV0IGNoYW5nZSwgcmV0dXJuIHZhbHVlXG4gICAqL1xuICBoYW5kbGVDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElEZXN5bnRoQ2hlY2tib3hDaGVja2VkQ2hhbmdlRXZlbnRWYWx1ZT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXRlU2VsZWN0ZWQnLCAnZmlyc3REYXlPZldlZWsnLCAnaW5wdXROYW1lJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLWRhdGUtcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkYXRlU2VsZWN0ZWQnLCAnZmlyc3REYXlPZldlZWsnLCAnaW5wdXROYW1lJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhEYXRlUGlja2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnZGF0ZUNoYW5nZWQnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IElucHV0Q2hhbmdlRXZlbnRWYWx1ZSBhcyBJRGVzeW50aERhdGVQaWNrZXJJbnB1dENoYW5nZUV2ZW50VmFsdWUgfSBmcm9tICdAZGVzeW50aC93ZWItY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoRGF0ZVBpY2tlciBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aERhdGVQaWNrZXIge1xuXG4gIGRhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SURlc3ludGhEYXRlUGlja2VySW5wdXRDaGFuZ2VFdmVudFZhbHVlPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLWRpdmlkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aERpdmlkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aERpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaXRlbXMnLCAnb3BlbicsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLWRyYXdlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaXRlbXMnLCAnb3BlbicsICd0eXBlJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhEcmF3ZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydoYW5kbGVDbGljaycsICdoYW5kbGVGb2N1cycsICdoYW5kbGVDbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoRHJhd2VyIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoRHJhd2VyIHtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiB0aGUgaW5wdXQgY2hhbmdlLCByZXR1cm4gdmFsdWVcbiAgICovXG4gIGhhbmRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBmb2N1cy5cbiAgICovXG4gIGhhbmRsZUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBibHVyLlxuICAgKi9cbiAgaGFuZGxlQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLWRyb3AtZmlsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5bnRoRHJvcEZpbGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydmaWxlc0Ryb3BwZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGVzeW50aERyb3BGaWxlIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoRHJvcEZpbGUge1xuXG4gIGZpbGVzRHJvcHBlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEZpbGVbXT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnB1dHMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtZm9ybScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaW5wdXRzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnY2xpY2tTdWJtaXQnLCAnY2xpY2tDbGVhcicsICdoYW5kbGVDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IElGb3JtSW5wdXQgYXMgSURlc3ludGhGb3JtSUZvcm1JbnB1dCB9IGZyb20gJ0BkZXN5bnRoL3dlYi1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhGb3JtIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoRm9ybSB7XG4gIC8qKlxuICAgKiBFbW1pdHMgaWYgdGhlIGlucHV0IGNoYW5nZSwgcmV0dXJuIHZhbHVlXG4gICAqL1xuICBjbGlja1N1Ym1pdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcblxuICBjbGlja0NsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuXG4gIGhhbmRsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElEZXN5bnRoRm9ybUlGb3JtSW5wdXQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sdW1uU3BhY2luZycsICdjb2x1bW5zJywgJ2NvbnRhaW5lcicsICdkaXJlY3Rpb24nLCAnaXRlbScsICdsZycsICdtZCcsICdyb3dTcGFjaW5nJywgJ3NtJywgJ3NwYWNpbmcnLCAnd3JhcCcsICd4bCcsICd4cycsICd6ZXJvTWluV2lkdGgnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sdW1uU3BhY2luZycsICdjb2x1bW5zJywgJ2NvbnRhaW5lcicsICdkaXJlY3Rpb24nLCAnaXRlbScsICdsZycsICdtZCcsICdyb3dTcGFjaW5nJywgJ3NtJywgJ3NwYWNpbmcnLCAnd3JhcCcsICd4bCcsICd4cycsICd6ZXJvTWluV2lkdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aEdyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoR3JpZCBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aEdyaWQge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYnV0dG9uSWQnLCAnaXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydidXR0b25JZCcsICdpdGVtcyddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5bnRoSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlQ2xpY2snLCAnaGFuZGxlRm9jdXMnLCAnaGFuZGxlQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoSGVhZGVyIHtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiB0aGUgaW5wdXQgY2hhbmdlLCByZXR1cm4gdmFsdWVcbiAgICovXG4gIGhhbmRsZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBmb2N1cy5cbiAgICovXG4gIGhhbmRsZUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBibHVyLlxuICAgKi9cbiAgaGFuZGxlQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaXRlbXMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtbGlzdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnaXRlbXMnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aExpc3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydpdGVtQ2xpY2tlZCddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgTGlzdEl0ZW0gYXMgSURlc3ludGhMaXN0TGlzdEl0ZW0gfSBmcm9tICdAZGVzeW50aC93ZWItY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoTGlzdCBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aExpc3Qge1xuXG4gIGl0ZW1DbGlja2VkOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SURlc3ludGhMaXN0TGlzdEl0ZW0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbWVzc2FnZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeW50aC1sb2FkZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ21lc3NhZ2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aExvYWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhMb2FkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhMb2FkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZHVyYXRpb24nLCAnaGVhZFRpdGxlJywgJ29wZW5lZCcsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLW1vZGFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkdXJhdGlvbicsICdoZWFkVGl0bGUnLCAnb3BlbmVkJywgJ3NpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aE1vZGFsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlT3BlbicsICdoYW5kbGVDbG9zZScsICdoYW5kbGVCZWZvcmVDbG9zZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgQmVmb3JlQ2xvc2VFdmVudERldGFpbCBhcyBJRGVzeW50aE1vZGFsQmVmb3JlQ2xvc2VFdmVudERldGFpbCB9IGZyb20gJ0BkZXN5bnRoL3dlYi1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhNb2RhbCBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aE1vZGFsIHtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiB0aGUgbW9kYWwgaGFzIGJlZW4gb3BlbmVkXG4gICAqL1xuICBoYW5kbGVPcGVuOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1taXRzIGlmIHRoZSBtb2RhbCBoYXMgYmVlbiBjbG9zZWRcbiAgICovXG4gIGhhbmRsZUNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1taXRzIGlmIHRoZSBtb2RhbCBiZWZvcmUgaGFzIGJlZW4gY2xvc2VkXG4gICAqL1xuICBoYW5kbGVCZWZvcmVDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElEZXN5bnRoTW9kYWxCZWZvcmVDbG9zZUV2ZW50RGV0YWlsPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3ZhbGlkYXRvcnMnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rlc3ludGgtbXVsdGktc3RlcHBlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsndmFsaWRhdG9ycyddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5bnRoTXVsdGlTdGVwcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlU3VibWl0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhNdWx0aVN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhNdWx0aVN0ZXBwZXIge1xuICAvKipcbiAgICogRW1taXRzIGlmIHRoZSBtb2RhbCBoYXMgYmVlbiBvcGVuZWRcbiAgICovXG4gIGhhbmRsZVN1Ym1pdDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncGFwZXJTaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLXBhcGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydwYXBlclNpemUnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aFBhcGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGVzeW50aFBhcGVyIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoUGFwZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW5wdXROYW1lJywgJ3JhdGluZyddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeW50aC1yYXRpbmcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2lucHV0TmFtZScsICdyYXRpbmcnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aFJhdGluZyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2hhbmRsZUNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmltcG9ydCB0eXBlIHsgVGV4dElucHV0Q2hhbmdlRXZlbnRWYWx1ZSBhcyBJRGVzeW50aFJhdGluZ1RleHRJbnB1dENoYW5nZUV2ZW50VmFsdWUgfSBmcm9tICdAZGVzeW50aC93ZWItY29tcG9uZW50cyc7XG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoUmF0aW5nIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoUmF0aW5nIHtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiB0aGUgaW5wdXQgY2hhbmdlLCByZXR1cm4gdmFsdWVcbiAgICovXG4gIGhhbmRsZUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PElEZXN5bnRoUmF0aW5nVGV4dElucHV0Q2hhbmdlRXZlbnRWYWx1ZT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLXJlbmRlcmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydjb250ZW50J10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhSZW5kZXJlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhSZW5kZXJlciBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aFJlbmRlcmVyIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Vycm9yTWVzc2FnZScsICdpbnB1dElkJywgJ2lucHV0TmFtZScsICdpbnB1dFZhbHVlJywgJ29wdGlvbnMnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeW50aC1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Vycm9yTWVzc2FnZScsICdpbnB1dElkJywgJ2lucHV0TmFtZScsICdpbnB1dFZhbHVlJywgJ29wdGlvbnMnLCAnc2l6ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5bnRoU2VsZWN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlQ2hhbmdlJywgJ2hhbmRsZUlucHV0JywgJ2hhbmRsZUZvY3VzJywgJ2hhbmRsZUJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IElucHV0Q2hhbmdlRXZlbnRWYWx1ZSBhcyBJRGVzeW50aFNlbGVjdElucHV0Q2hhbmdlRXZlbnRWYWx1ZSB9IGZyb20gJ0BkZXN5bnRoL3dlYi1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhTZWxlY3Qge1xuICAvKipcbiAgICogRW1taXRzIGlmIHRoZSBpbnB1dCBjaGFuZ2UsIHJldHVybiB2YWx1ZVxuICAgKi9cbiAgaGFuZGxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SURlc3ludGhTZWxlY3RJbnB1dENoYW5nZUV2ZW50VmFsdWU+PjtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiBpbnB1dCBjaGFuZ2UsIHJldHVybiBIVE1MIElucHV0IEV2ZW50XG4gICAqL1xuICBoYW5kbGVJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgZm9jdXMuXG4gICAqL1xuICBoYW5kbGVGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgYmx1ci5cbiAgICovXG4gIGhhbmRsZUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeW50aC1zdGVwLXN0ZXBwZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5bnRoU3RlcFN0ZXBwZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBEZXN5bnRoU3RlcFN0ZXBwZXIgZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhTdGVwU3RlcHBlciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydlcnJvck1lc3NhZ2UnLCAnaW5wdXRJZCcsICdpbnB1dExhYmVsJywgJ2lzQ2hlY2tlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGVzeW50aC1zd2l0Y2gnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Vycm9yTWVzc2FnZScsICdpbnB1dElkJywgJ2lucHV0TGFiZWwnLCAnaXNDaGVja2VkJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhTd2l0Y2gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydoYW5kbGVDbGljaycsICdoYW5kbGVJbnB1dCcsICdoYW5kbGVGb2N1cycsICdoYW5kbGVCbHVyJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBTd2l0Y2hDaGFuZ2VFdmVudFZhbHVlIGFzIElEZXN5bnRoU3dpdGNoU3dpdGNoQ2hhbmdlRXZlbnRWYWx1ZSB9IGZyb20gJ0BkZXN5bnRoL3dlYi1jb21wb25lbnRzJztcblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERlc3ludGhTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhTd2l0Y2gge1xuICAvKipcbiAgICogRW1taXRzIGlmIHRoZSBpbnB1dCBjaGFuZ2UsIHJldHVybiB2YWx1ZVxuICAgKi9cbiAgaGFuZGxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJRGVzeW50aFN3aXRjaFN3aXRjaENoYW5nZUV2ZW50VmFsdWU+PjtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiBpbnB1dCBjaGFuZ2UsIHJldHVybiBIVE1MIElucHV0IEV2ZW50XG4gICAqL1xuICBoYW5kbGVJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgZm9jdXMuXG4gICAqL1xuICBoYW5kbGVGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgYmx1ci5cbiAgICovXG4gIGhhbmRsZUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ19hY3Rpb25zJywgJ19jb2x1bW5fa2V5cycsICdfY29sdW1ucycsICdfc291cmNlJywgJ2NvdW50J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLXRhYmxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydfYWN0aW9ucycsICdfY29sdW1uX2tleXMnLCAnX2NvbHVtbnMnLCAnX3NvdXJjZScsICdjb3VudCddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5bnRoVGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydjaGFuZ2VSb3dzUGVyUGFnZScsICdnZXREYXRhTmV4dFBhZ2UnLCAncm93RXZlbnQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGVzeW50aFRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoVGFibGUge1xuXG4gIGNoYW5nZVJvd3NQZXJQYWdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVtYmVyPj47XG5cbiAgZ2V0RGF0YU5leHRQYWdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8bnVsbD4+O1xuXG4gIHJvd0V2ZW50OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Vycm9yTWVzc2FnZScsICdpbnB1dElkJywgJ2lucHV0TmFtZScsICdpbnB1dFZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLXRleHQtYXJlYScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZXJyb3JNZXNzYWdlJywgJ2lucHV0SWQnLCAnaW5wdXROYW1lJywgJ2lucHV0VmFsdWUnXSxcbn0pXG5leHBvcnQgY2xhc3MgRGVzeW50aFRleHRBcmVhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlQ2hhbmdlJywgJ2hhbmRsZUlucHV0JywgJ2hhbmRsZUZvY3VzJywgJ2hhbmRsZUJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IElucHV0Q2hhbmdlRXZlbnRWYWx1ZSBhcyBJRGVzeW50aFRleHRBcmVhSW5wdXRDaGFuZ2VFdmVudFZhbHVlIH0gZnJvbSAnQGRlc3ludGgvd2ViLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGVzeW50aFRleHRBcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5EZXN5bnRoVGV4dEFyZWEge1xuICAvKipcbiAgICogRW1taXRzIGlmIHRoZSBpbnB1dCBjaGFuZ2UsIHJldHVybiB2YWx1ZVxuICAgKi9cbiAgaGFuZGxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SURlc3ludGhUZXh0QXJlYUlucHV0Q2hhbmdlRXZlbnRWYWx1ZT4+O1xuICAvKipcbiAgICogRW1taXRzIGlmIGlucHV0IGNoYW5nZSwgcmV0dXJuIEhUTUwgSW5wdXQgRXZlbnRcbiAgICovXG4gIGhhbmRsZUlucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTElucHV0RWxlbWVudD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBmb2N1cy5cbiAgICovXG4gIGhhbmRsZUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBibHVyLlxuICAgKi9cbiAgaGFuZGxlQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXJyb3JNZXNzYWdlJywgJ2lucHV0SWQnLCAnaW5wdXROYW1lJywgJ2lucHV0VHlwZScsICdpbnB1dFZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLXRleHQtaW5wdXQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Vycm9yTWVzc2FnZScsICdpbnB1dElkJywgJ2lucHV0TmFtZScsICdpbnB1dFR5cGUnLCAnaW5wdXRWYWx1ZSddLFxufSlcbmV4cG9ydCBjbGFzcyBEZXN5bnRoVGV4dElucHV0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnaGFuZGxlQ2hhbmdlJywgJ2hhbmRsZUlucHV0JywgJ2hhbmRsZUZvY3VzJywgJ2hhbmRsZUJsdXInXSk7XG4gIH1cbn1cblxuXG5pbXBvcnQgdHlwZSB7IFRleHRJbnB1dENoYW5nZUV2ZW50VmFsdWUgYXMgSURlc3ludGhUZXh0SW5wdXRUZXh0SW5wdXRDaGFuZ2VFdmVudFZhbHVlIH0gZnJvbSAnQGRlc3ludGgvd2ViLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGVzeW50aFRleHRJbnB1dCBleHRlbmRzIENvbXBvbmVudHMuRGVzeW50aFRleHRJbnB1dCB7XG4gIC8qKlxuICAgKiBFbW1pdHMgaWYgdGhlIGlucHV0IGNoYW5nZSwgcmV0dXJuIHZhbHVlXG4gICAqL1xuICBoYW5kbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxJRGVzeW50aFRleHRJbnB1dFRleHRJbnB1dENoYW5nZUV2ZW50VmFsdWU+PjtcbiAgLyoqXG4gICAqIEVtbWl0cyBpZiBpbnB1dCBjaGFuZ2UsIHJldHVybiBIVE1MIElucHV0IEV2ZW50XG4gICAqL1xuICBoYW5kbGVJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgZm9jdXMuXG4gICAqL1xuICBoYW5kbGVGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgYmx1ci5cbiAgICovXG4gIGhhbmRsZUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdtZXNzYWdlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkZXN5bnRoLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdtZXNzYWdlJ10sXG59KVxuZXhwb3J0IGNsYXNzIERlc3ludGhUb29sdGlwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGVzeW50aFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLkRlc3ludGhUb29sdGlwIHt9XG5cblxuIl19