@beeq/angular 1.8.0-beta.14 → 1.8.0-beta.15

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.
@@ -47,16 +47,14 @@ import { defineCustomElement as defineBqToast } from '@beeq/core/dist/components
47
47
  import { defineCustomElement as defineBqTooltip } from '@beeq/core/dist/components/bq-tooltip.js';
48
48
  import * as i0 from "@angular/core";
49
49
  let BqAccordion = class BqAccordion {
50
- z;
51
- el;
52
50
  constructor(c, r, z) {
53
51
  this.z = z;
54
52
  c.detach();
55
53
  this.el = r.nativeElement;
56
54
  proxyOutputs(this, this.el, ['bqBlur', 'bqFocus', 'bqOpen', 'bqAfterOpen', 'bqClose', 'bqAfterClose']);
57
55
  }
58
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
59
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAccordion, isStandalone: true, selector: "bq-accordion", inputs: { appearance: "appearance", disabled: "disabled", expanded: "expanded", noAnimation: "noAnimation", rotate: "rotate", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAccordion, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAccordion, isStandalone: true, selector: "bq-accordion", inputs: { appearance: "appearance", disabled: "disabled", expanded: "expanded", noAnimation: "noAnimation", rotate: "rotate", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
58
  };
61
59
  BqAccordion = __decorate([
62
60
  ProxyCmp({
@@ -78,15 +76,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
78
76
  }]
79
77
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
80
78
  let BqAccordionGroup = class BqAccordionGroup {
81
- z;
82
- el;
83
79
  constructor(c, r, z) {
84
80
  this.z = z;
85
81
  c.detach();
86
82
  this.el = r.nativeElement;
87
83
  }
88
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAccordionGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
89
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAccordionGroup, isStandalone: true, selector: "bq-accordion-group", inputs: { appearance: "appearance", expandAll: "expandAll", multiple: "multiple", noAnimation: "noAnimation", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAccordionGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
85
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAccordionGroup, isStandalone: true, selector: "bq-accordion-group", inputs: { appearance: "appearance", expandAll: "expandAll", multiple: "multiple", noAnimation: "noAnimation", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
90
86
  };
91
87
  BqAccordionGroup = __decorate([
92
88
  ProxyCmp({
@@ -108,16 +104,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
108
104
  }]
109
105
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
110
106
  let BqAlert = class BqAlert {
111
- z;
112
- el;
113
107
  constructor(c, r, z) {
114
108
  this.z = z;
115
109
  c.detach();
116
110
  this.el = r.nativeElement;
117
111
  proxyOutputs(this, this.el, ['bqHide', 'bqShow', 'bqAfterShow', 'bqAfterHide']);
118
112
  }
119
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
120
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAlert, isStandalone: true, selector: "bq-alert", inputs: { autoDismiss: "autoDismiss", border: "border", disableClose: "disableClose", hideIcon: "hideIcon", open: "open", sticky: "sticky", time: "time", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAlert, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
114
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAlert, isStandalone: true, selector: "bq-alert", inputs: { autoDismiss: "autoDismiss", border: "border", disableClose: "disableClose", hideIcon: "hideIcon", open: "open", sticky: "sticky", time: "time", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
115
  };
122
116
  BqAlert = __decorate([
123
117
  ProxyCmp({
@@ -140,15 +134,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
140
134
  }]
141
135
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
142
136
  let BqAvatar = class BqAvatar {
143
- z;
144
- el;
145
137
  constructor(c, r, z) {
146
138
  this.z = z;
147
139
  c.detach();
148
140
  this.el = r.nativeElement;
149
141
  }
150
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
151
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAvatar, isStandalone: true, selector: "bq-avatar", inputs: { altText: "altText", image: "image", initials: "initials", label: "label", shape: "shape", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
142
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqAvatar, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
143
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqAvatar, isStandalone: true, selector: "bq-avatar", inputs: { altText: "altText", image: "image", initials: "initials", label: "label", shape: "shape", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
152
144
  };
153
145
  BqAvatar = __decorate([
154
146
  ProxyCmp({
@@ -170,15 +162,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
170
162
  }]
171
163
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
172
164
  let BqBadge = class BqBadge {
173
- z;
174
- el;
175
165
  constructor(c, r, z) {
176
166
  this.z = z;
177
167
  c.detach();
178
168
  this.el = r.nativeElement;
179
169
  }
180
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
181
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqBadge, isStandalone: true, selector: "bq-badge", inputs: { backgroundColor: "backgroundColor", size: "size", textColor: "textColor" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
170
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqBadge, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
171
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqBadge, isStandalone: true, selector: "bq-badge", inputs: { backgroundColor: "backgroundColor", size: "size", textColor: "textColor" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
182
172
  };
183
173
  BqBadge = __decorate([
184
174
  ProxyCmp({
@@ -200,16 +190,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
200
190
  }]
201
191
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
202
192
  let BqBreadcrumb = class BqBreadcrumb {
203
- z;
204
- el;
205
193
  constructor(c, r, z) {
206
194
  this.z = z;
207
195
  c.detach();
208
196
  this.el = r.nativeElement;
209
197
  proxyOutputs(this, this.el, ['bqBreadcrumbBlur', 'bqBreadcrumbFocus', 'bqBreadcrumbClick']);
210
198
  }
211
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
212
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqBreadcrumb, isStandalone: true, selector: "bq-breadcrumb", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqBreadcrumb, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
200
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqBreadcrumb, isStandalone: true, selector: "bq-breadcrumb", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
213
201
  };
214
202
  BqBreadcrumb = __decorate([
215
203
  ProxyCmp({
@@ -231,16 +219,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
231
219
  }]
232
220
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
233
221
  let BqBreadcrumbItem = class BqBreadcrumbItem {
234
- z;
235
- el;
236
222
  constructor(c, r, z) {
237
223
  this.z = z;
238
224
  c.detach();
239
225
  this.el = r.nativeElement;
240
226
  proxyOutputs(this, this.el, ['bqBlur', 'bqFocus', 'bqClick']);
241
227
  }
242
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqBreadcrumbItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
243
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqBreadcrumbItem, isStandalone: true, selector: "bq-breadcrumb-item", inputs: { ariaLabel: "ariaLabel", href: "href", isLastItem: "isLastItem", rel: "rel", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
228
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqBreadcrumbItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
229
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqBreadcrumbItem, isStandalone: true, selector: "bq-breadcrumb-item", inputs: { ariaLabel: "ariaLabel", href: "href", isLastItem: "isLastItem", rel: "rel", target: "target" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
244
230
  };
245
231
  BqBreadcrumbItem = __decorate([
246
232
  ProxyCmp({
@@ -262,16 +248,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
262
248
  }]
263
249
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
264
250
  let BqButton = class BqButton {
265
- z;
266
- el;
267
251
  constructor(c, r, z) {
268
252
  this.z = z;
269
253
  c.detach();
270
254
  this.el = r.nativeElement;
271
255
  proxyOutputs(this, this.el, ['bqBlur', 'bqFocus', 'bqClick']);
272
256
  }
273
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
274
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqButton, isStandalone: true, selector: "bq-button", inputs: { appearance: "appearance", block: "block", border: "border", disabled: "disabled", download: "download", href: "href", justifyContent: "justifyContent", loading: "loading", size: "size", target: "target", type: "type", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
257
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqButton, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
258
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqButton, isStandalone: true, selector: "bq-button", inputs: { appearance: "appearance", block: "block", border: "border", disabled: "disabled", download: "download", href: "href", justifyContent: "justifyContent", loading: "loading", size: "size", target: "target", type: "type", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
275
259
  };
276
260
  BqButton = __decorate([
277
261
  ProxyCmp({
@@ -293,15 +277,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
293
277
  }]
294
278
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
295
279
  let BqCard = class BqCard {
296
- z;
297
- el;
298
280
  constructor(c, r, z) {
299
281
  this.z = z;
300
282
  c.detach();
301
283
  this.el = r.nativeElement;
302
284
  }
303
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
304
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqCard, isStandalone: true, selector: "bq-card", inputs: { border: "border", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
285
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqCard, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
286
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqCard, isStandalone: true, selector: "bq-card", inputs: { border: "border", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
305
287
  };
306
288
  BqCard = __decorate([
307
289
  ProxyCmp({
@@ -323,16 +305,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
323
305
  }]
324
306
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
325
307
  let BqCheckbox = class BqCheckbox {
326
- z;
327
- el;
328
308
  constructor(c, r, z) {
329
309
  this.z = z;
330
310
  c.detach();
331
311
  this.el = r.nativeElement;
332
312
  proxyOutputs(this, this.el, ['bqChange', 'bqFocus', 'bqBlur']);
333
313
  }
334
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
335
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqCheckbox, isStandalone: true, selector: "bq-checkbox", inputs: { backgroundOnHover: "backgroundOnHover", checked: "checked", disabled: "disabled", formId: "formId", formValidationMessage: "formValidationMessage", indeterminate: "indeterminate", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
314
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqCheckbox, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
315
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqCheckbox, isStandalone: true, selector: "bq-checkbox", inputs: { backgroundOnHover: "backgroundOnHover", checked: "checked", disabled: "disabled", formId: "formId", formValidationMessage: "formValidationMessage", indeterminate: "indeterminate", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
336
316
  };
337
317
  BqCheckbox = __decorate([
338
318
  ProxyCmp({
@@ -355,16 +335,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
355
335
  }]
356
336
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
357
337
  let BqDatePicker = class BqDatePicker {
358
- z;
359
- el;
360
338
  constructor(c, r, z) {
361
339
  this.z = z;
362
340
  c.detach();
363
341
  this.el = r.nativeElement;
364
342
  proxyOutputs(this, this.el, ['bqBlur', 'bqChange', 'bqClear', 'bqFocus']);
365
343
  }
366
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDatePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
367
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDatePicker, isStandalone: true, selector: "bq-date-picker", inputs: { autofocus: "autofocus", clearButtonLabel: "clearButtonLabel", disableClear: "disableClear", disabled: "disabled", distance: "distance", firstDayOfWeek: "firstDayOfWeek", form: "form", formatOptions: "formatOptions", isDateDisallowed: "isDateDisallowed", locale: "locale", max: "max", min: "min", months: "months", monthsPerView: "monthsPerView", name: "name", open: "open", panelHeight: "panelHeight", placeholder: "placeholder", placement: "placement", required: "required", showOutsideDays: "showOutsideDays", skidding: "skidding", strategy: "strategy", tentative: "tentative", type: "type", validationStatus: "validationStatus", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
344
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDatePicker, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
345
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDatePicker, isStandalone: true, selector: "bq-date-picker", inputs: { autofocus: "autofocus", clearButtonLabel: "clearButtonLabel", disableClear: "disableClear", disabled: "disabled", distance: "distance", firstDayOfWeek: "firstDayOfWeek", form: "form", formatOptions: "formatOptions", isDateDisallowed: "isDateDisallowed", locale: "locale", max: "max", min: "min", months: "months", monthsPerView: "monthsPerView", name: "name", open: "open", panelHeight: "panelHeight", placeholder: "placeholder", placement: "placement", required: "required", showOutsideDays: "showOutsideDays", skidding: "skidding", strategy: "strategy", tentative: "tentative", type: "type", validationStatus: "validationStatus", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
368
346
  };
369
347
  BqDatePicker = __decorate([
370
348
  ProxyCmp({
@@ -387,16 +365,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
387
365
  }]
388
366
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
389
367
  let BqDialog = class BqDialog {
390
- z;
391
- el;
392
368
  constructor(c, r, z) {
393
369
  this.z = z;
394
370
  c.detach();
395
371
  this.el = r.nativeElement;
396
372
  proxyOutputs(this, this.el, ['bqCancel', 'bqClose', 'bqOpen', 'bqAfterOpen', 'bqAfterClose']);
397
373
  }
398
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDialog, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
399
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDialog, isStandalone: true, selector: "bq-dialog", inputs: { border: "border", disableBackdrop: "disableBackdrop", disableCloseClickOutside: "disableCloseClickOutside", disableCloseEscKeydown: "disableCloseEscKeydown", footerAppearance: "footerAppearance", hideCloseButton: "hideCloseButton", open: "open", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
374
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDialog, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
375
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDialog, isStandalone: true, selector: "bq-dialog", inputs: { border: "border", disableBackdrop: "disableBackdrop", disableCloseClickOutside: "disableCloseClickOutside", disableCloseEscKeydown: "disableCloseEscKeydown", footerAppearance: "footerAppearance", hideCloseButton: "hideCloseButton", open: "open", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
400
376
  };
401
377
  BqDialog = __decorate([
402
378
  ProxyCmp({
@@ -419,15 +395,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
419
395
  }]
420
396
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
421
397
  let BqDivider = class BqDivider {
422
- z;
423
- el;
424
398
  constructor(c, r, z) {
425
399
  this.z = z;
426
400
  c.detach();
427
401
  this.el = r.nativeElement;
428
402
  }
429
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
430
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDivider, isStandalone: true, selector: "bq-divider", inputs: { dashed: "dashed", orientation: "orientation", strokeBasis: "strokeBasis", strokeColor: "strokeColor", strokeDashGap: "strokeDashGap", strokeDashWidth: "strokeDashWidth", strokeLinecap: "strokeLinecap", strokeThickness: "strokeThickness", titleAlignment: "titleAlignment" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
403
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDivider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
404
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDivider, isStandalone: true, selector: "bq-divider", inputs: { dashed: "dashed", orientation: "orientation", strokeBasis: "strokeBasis", strokeColor: "strokeColor", strokeDashGap: "strokeDashGap", strokeDashWidth: "strokeDashWidth", strokeLinecap: "strokeLinecap", strokeThickness: "strokeThickness", titleAlignment: "titleAlignment" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
431
405
  };
432
406
  BqDivider = __decorate([
433
407
  ProxyCmp({
@@ -449,16 +423,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
449
423
  }]
450
424
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
451
425
  let BqDrawer = class BqDrawer {
452
- z;
453
- el;
454
426
  constructor(c, r, z) {
455
427
  this.z = z;
456
428
  c.detach();
457
429
  this.el = r.nativeElement;
458
430
  proxyOutputs(this, this.el, ['bqClose', 'bqOpen', 'bqAfterOpen', 'bqAfterClose']);
459
431
  }
460
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
461
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDrawer, isStandalone: true, selector: "bq-drawer", inputs: { closeOnClickOutside: "closeOnClickOutside", closeOnEsc: "closeOnEsc", enableBackdrop: "enableBackdrop", open: "open", placement: "placement", position: "position" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
432
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDrawer, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
433
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDrawer, isStandalone: true, selector: "bq-drawer", inputs: { closeOnClickOutside: "closeOnClickOutside", closeOnEsc: "closeOnEsc", enableBackdrop: "enableBackdrop", open: "open", placement: "placement", position: "position" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
462
434
  };
463
435
  BqDrawer = __decorate([
464
436
  ProxyCmp({
@@ -481,16 +453,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
481
453
  }]
482
454
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
483
455
  let BqDropdown = class BqDropdown {
484
- z;
485
- el;
486
456
  constructor(c, r, z) {
487
457
  this.z = z;
488
458
  c.detach();
489
459
  this.el = r.nativeElement;
490
460
  proxyOutputs(this, this.el, ['bqOpen']);
491
461
  }
492
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
493
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDropdown, isStandalone: true, selector: "bq-dropdown", inputs: { disabled: "disabled", distance: "distance", keepOpenOnSelect: "keepOpenOnSelect", open: "open", panelHeight: "panelHeight", placement: "placement", sameWidth: "sameWidth", skidding: "skidding", strategy: "strategy" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
462
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
463
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqDropdown, isStandalone: true, selector: "bq-dropdown", inputs: { disabled: "disabled", distance: "distance", keepOpenOnSelect: "keepOpenOnSelect", open: "open", panelHeight: "panelHeight", placement: "placement", sameWidth: "sameWidth", skidding: "skidding", strategy: "strategy" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
494
464
  };
495
465
  BqDropdown = __decorate([
496
466
  ProxyCmp({
@@ -512,15 +482,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
512
482
  }]
513
483
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
514
484
  let BqEmptyState = class BqEmptyState {
515
- z;
516
- el;
517
485
  constructor(c, r, z) {
518
486
  this.z = z;
519
487
  c.detach();
520
488
  this.el = r.nativeElement;
521
489
  }
522
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqEmptyState, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
523
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqEmptyState, isStandalone: true, selector: "bq-empty-state", inputs: { size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
490
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqEmptyState, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
491
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqEmptyState, isStandalone: true, selector: "bq-empty-state", inputs: { size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
524
492
  };
525
493
  BqEmptyState = __decorate([
526
494
  ProxyCmp({
@@ -542,16 +510,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
542
510
  }]
543
511
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
544
512
  let BqIcon = class BqIcon {
545
- z;
546
- el;
547
513
  constructor(c, r, z) {
548
514
  this.z = z;
549
515
  c.detach();
550
516
  this.el = r.nativeElement;
551
517
  proxyOutputs(this, this.el, ['svgLoaded']);
552
518
  }
553
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
554
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqIcon, isStandalone: true, selector: "bq-icon", inputs: { color: "color", label: "label", name: "name", size: "size", src: "src", weight: "weight" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
519
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqIcon, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
520
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqIcon, isStandalone: true, selector: "bq-icon", inputs: { color: "color", label: "label", name: "name", size: "size", src: "src", weight: "weight" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
555
521
  };
556
522
  BqIcon = __decorate([
557
523
  ProxyCmp({
@@ -573,16 +539,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
573
539
  }]
574
540
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
575
541
  let BqInput = class BqInput {
576
- z;
577
- el;
578
542
  constructor(c, r, z) {
579
543
  this.z = z;
580
544
  c.detach();
581
545
  this.el = r.nativeElement;
582
546
  proxyOutputs(this, this.el, ['bqBlur', 'bqChange', 'bqClear', 'bqFocus', 'bqInput']);
583
547
  }
584
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
585
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqInput, isStandalone: true, selector: "bq-input", inputs: { autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearButtonLabel: "clearButtonLabel", debounceTime: "debounceTime", disableClear: "disableClear", disabled: "disabled", form: "form", inputmode: "inputmode", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", step: "step", type: "type", validationStatus: "validationStatus", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
548
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqInput, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
549
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqInput, isStandalone: true, selector: "bq-input", inputs: { autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", clearButtonLabel: "clearButtonLabel", debounceTime: "debounceTime", disableClear: "disableClear", disabled: "disabled", form: "form", inputmode: "inputmode", max: "max", maxlength: "maxlength", min: "min", minlength: "minlength", name: "name", pattern: "pattern", placeholder: "placeholder", readonly: "readonly", required: "required", step: "step", type: "type", validationStatus: "validationStatus", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
586
550
  };
587
551
  BqInput = __decorate([
588
552
  ProxyCmp({
@@ -604,16 +568,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
604
568
  }]
605
569
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
606
570
  let BqNotification = class BqNotification {
607
- z;
608
- el;
609
571
  constructor(c, r, z) {
610
572
  this.z = z;
611
573
  c.detach();
612
574
  this.el = r.nativeElement;
613
575
  proxyOutputs(this, this.el, ['bqHide', 'bqShow', 'bqAfterOpen', 'bqAfterClose']);
614
576
  }
615
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqNotification, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
616
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqNotification, isStandalone: true, selector: "bq-notification", inputs: { autoDismiss: "autoDismiss", border: "border", disableClose: "disableClose", hideIcon: "hideIcon", open: "open", time: "time", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
577
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqNotification, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
578
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqNotification, isStandalone: true, selector: "bq-notification", inputs: { autoDismiss: "autoDismiss", border: "border", disableClose: "disableClose", hideIcon: "hideIcon", open: "open", time: "time", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
617
579
  };
618
580
  BqNotification = __decorate([
619
581
  ProxyCmp({
@@ -636,16 +598,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
636
598
  }]
637
599
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
638
600
  let BqOption = class BqOption {
639
- z;
640
- el;
641
601
  constructor(c, r, z) {
642
602
  this.z = z;
643
603
  c.detach();
644
604
  this.el = r.nativeElement;
645
605
  proxyOutputs(this, this.el, ['bqBlur', 'bqFocus', 'bqClick', 'bqEnter']);
646
606
  }
647
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
648
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqOption, isStandalone: true, selector: "bq-option", inputs: { disabled: "disabled", hidden: "hidden", selected: "selected", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
607
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqOption, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
608
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqOption, isStandalone: true, selector: "bq-option", inputs: { disabled: "disabled", hidden: "hidden", selected: "selected", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
649
609
  };
650
610
  BqOption = __decorate([
651
611
  ProxyCmp({
@@ -667,15 +627,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
667
627
  }]
668
628
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
669
629
  let BqOptionGroup = class BqOptionGroup {
670
- z;
671
- el;
672
630
  constructor(c, r, z) {
673
631
  this.z = z;
674
632
  c.detach();
675
633
  this.el = r.nativeElement;
676
634
  }
677
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqOptionGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
678
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqOptionGroup, isStandalone: true, selector: "bq-option-group", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
635
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqOptionGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
636
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqOptionGroup, isStandalone: true, selector: "bq-option-group", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
679
637
  };
680
638
  BqOptionGroup = __decorate([
681
639
  ProxyCmp({
@@ -696,16 +654,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
696
654
  }]
697
655
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
698
656
  let BqOptionList = class BqOptionList {
699
- z;
700
- el;
701
657
  constructor(c, r, z) {
702
658
  this.z = z;
703
659
  c.detach();
704
660
  this.el = r.nativeElement;
705
661
  proxyOutputs(this, this.el, ['bqSelect']);
706
662
  }
707
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqOptionList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
708
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqOptionList, isStandalone: true, selector: "bq-option-list", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
663
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqOptionList, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
664
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqOptionList, isStandalone: true, selector: "bq-option-list", inputs: { ariaLabel: "ariaLabel" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
709
665
  };
710
666
  BqOptionList = __decorate([
711
667
  ProxyCmp({
@@ -727,15 +683,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
727
683
  }]
728
684
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
729
685
  let BqPageTitle = class BqPageTitle {
730
- z;
731
- el;
732
686
  constructor(c, r, z) {
733
687
  this.z = z;
734
688
  c.detach();
735
689
  this.el = r.nativeElement;
736
690
  }
737
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqPageTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
738
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqPageTitle, isStandalone: true, selector: "bq-page-title", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
691
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqPageTitle, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
692
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqPageTitle, isStandalone: true, selector: "bq-page-title", ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
739
693
  };
740
694
  BqPageTitle = __decorate([
741
695
  ProxyCmp({
@@ -756,15 +710,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
756
710
  }]
757
711
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
758
712
  let BqPanel = class BqPanel {
759
- z;
760
- el;
761
713
  constructor(c, r, z) {
762
714
  this.z = z;
763
715
  c.detach();
764
716
  this.el = r.nativeElement;
765
717
  }
766
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
767
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqPanel, isStandalone: true, selector: "bq-panel", inputs: { distance: "distance", open: "open", placement: "placement", sameWidth: "sameWidth", skidding: "skidding", strategy: "strategy" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
718
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqPanel, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
719
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqPanel, isStandalone: true, selector: "bq-panel", inputs: { distance: "distance", open: "open", placement: "placement", sameWidth: "sameWidth", skidding: "skidding", strategy: "strategy" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
768
720
  };
769
721
  BqPanel = __decorate([
770
722
  ProxyCmp({
@@ -786,15 +738,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
786
738
  }]
787
739
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
788
740
  let BqProgress = class BqProgress {
789
- z;
790
- el;
791
741
  constructor(c, r, z) {
792
742
  this.z = z;
793
743
  c.detach();
794
744
  this.el = r.nativeElement;
795
745
  }
796
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqProgress, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
797
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqProgress, isStandalone: true, selector: "bq-progress", inputs: { borderShape: "borderShape", enableTooltip: "enableTooltip", indeterminate: "indeterminate", label: "label", thickness: "thickness", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
746
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqProgress, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
747
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqProgress, isStandalone: true, selector: "bq-progress", inputs: { borderShape: "borderShape", enableTooltip: "enableTooltip", indeterminate: "indeterminate", label: "label", thickness: "thickness", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
798
748
  };
799
749
  BqProgress = __decorate([
800
750
  ProxyCmp({
@@ -816,16 +766,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
816
766
  }]
817
767
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
818
768
  let BqRadio = class BqRadio {
819
- z;
820
- el;
821
769
  constructor(c, r, z) {
822
770
  this.z = z;
823
771
  c.detach();
824
772
  this.el = r.nativeElement;
825
773
  proxyOutputs(this, this.el, ['bqClick', 'bqFocus', 'bqBlur', 'bqKeyDown']);
826
774
  }
827
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
828
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqRadio, isStandalone: true, selector: "bq-radio", inputs: { backgroundOnHover: "backgroundOnHover", checked: "checked", disabled: "disabled", formId: "formId", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
775
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqRadio, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
776
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqRadio, isStandalone: true, selector: "bq-radio", inputs: { backgroundOnHover: "backgroundOnHover", checked: "checked", disabled: "disabled", formId: "formId", name: "name", required: "required", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
829
777
  };
830
778
  BqRadio = __decorate([
831
779
  ProxyCmp({
@@ -848,16 +796,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
848
796
  }]
849
797
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
850
798
  let BqRadioGroup = class BqRadioGroup {
851
- z;
852
- el;
853
799
  constructor(c, r, z) {
854
800
  this.z = z;
855
801
  c.detach();
856
802
  this.el = r.nativeElement;
857
803
  proxyOutputs(this, this.el, ['bqChange']);
858
804
  }
859
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
860
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqRadioGroup, isStandalone: true, selector: "bq-radio-group", inputs: { backgroundOnHover: "backgroundOnHover", debounceTime: "debounceTime", disabled: "disabled", fieldset: "fieldset", name: "name", orientation: "orientation", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
805
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqRadioGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
806
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqRadioGroup, isStandalone: true, selector: "bq-radio-group", inputs: { backgroundOnHover: "backgroundOnHover", debounceTime: "debounceTime", disabled: "disabled", fieldset: "fieldset", name: "name", orientation: "orientation", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
861
807
  };
862
808
  BqRadioGroup = __decorate([
863
809
  ProxyCmp({
@@ -879,16 +825,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
879
825
  }]
880
826
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
881
827
  let BqSelect = class BqSelect {
882
- z;
883
- el;
884
828
  constructor(c, r, z) {
885
829
  this.z = z;
886
830
  c.detach();
887
831
  this.el = r.nativeElement;
888
832
  proxyOutputs(this, this.el, ['bqBlur', 'bqClear', 'bqFocus', 'bqSelect']);
889
833
  }
890
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
891
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSelect, isStandalone: true, selector: "bq-select", inputs: { autofocus: "autofocus", clearButtonLabel: "clearButtonLabel", debounceTime: "debounceTime", disableClear: "disableClear", disabled: "disabled", distance: "distance", form: "form", keepOpenOnSelect: "keepOpenOnSelect", maxTagsVisible: "maxTagsVisible", multiple: "multiple", name: "name", open: "open", panelHeight: "panelHeight", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", sameWidth: "sameWidth", skidding: "skidding", strategy: "strategy", validationStatus: "validationStatus", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
834
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSelect, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
835
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSelect, isStandalone: true, selector: "bq-select", inputs: { autofocus: "autofocus", clearButtonLabel: "clearButtonLabel", debounceTime: "debounceTime", disableClear: "disableClear", disabled: "disabled", distance: "distance", form: "form", keepOpenOnSelect: "keepOpenOnSelect", maxTagsVisible: "maxTagsVisible", multiple: "multiple", name: "name", open: "open", panelHeight: "panelHeight", placeholder: "placeholder", placement: "placement", readonly: "readonly", required: "required", sameWidth: "sameWidth", skidding: "skidding", strategy: "strategy", validationStatus: "validationStatus", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
892
836
  };
893
837
  BqSelect = __decorate([
894
838
  ProxyCmp({
@@ -911,16 +855,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
911
855
  }]
912
856
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
913
857
  let BqSideMenu = class BqSideMenu {
914
- z;
915
- el;
916
858
  constructor(c, r, z) {
917
859
  this.z = z;
918
860
  c.detach();
919
861
  this.el = r.nativeElement;
920
862
  proxyOutputs(this, this.el, ['bqCollapse', 'bqSelect']);
921
863
  }
922
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSideMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
923
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSideMenu, isStandalone: true, selector: "bq-side-menu", inputs: { appearance: "appearance", collapse: "collapse", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
864
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSideMenu, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
865
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSideMenu, isStandalone: true, selector: "bq-side-menu", inputs: { appearance: "appearance", collapse: "collapse", size: "size" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
924
866
  };
925
867
  BqSideMenu = __decorate([
926
868
  ProxyCmp({
@@ -943,16 +885,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
943
885
  }]
944
886
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
945
887
  let BqSideMenuItem = class BqSideMenuItem {
946
- z;
947
- el;
948
888
  constructor(c, r, z) {
949
889
  this.z = z;
950
890
  c.detach();
951
891
  this.el = r.nativeElement;
952
892
  proxyOutputs(this, this.el, ['bqBlur', 'bqFocus', 'bqClick']);
953
893
  }
954
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSideMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
955
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSideMenuItem, isStandalone: true, selector: "bq-side-menu-item", inputs: { active: "active", collapse: "collapse", disabled: "disabled" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
894
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSideMenuItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
895
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSideMenuItem, isStandalone: true, selector: "bq-side-menu-item", inputs: { active: "active", collapse: "collapse", disabled: "disabled" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
956
896
  };
957
897
  BqSideMenuItem = __decorate([
958
898
  ProxyCmp({
@@ -974,16 +914,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
974
914
  }]
975
915
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
976
916
  let BqSlider = class BqSlider {
977
- z;
978
- el;
979
917
  constructor(c, r, z) {
980
918
  this.z = z;
981
919
  c.detach();
982
920
  this.el = r.nativeElement;
983
921
  proxyOutputs(this, this.el, ['bqChange', 'bqBlur', 'bqFocus']);
984
922
  }
985
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
986
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSlider, isStandalone: true, selector: "bq-slider", inputs: { debounceTime: "debounceTime", disabled: "disabled", enableTooltip: "enableTooltip", enableValueIndicator: "enableValueIndicator", gap: "gap", max: "max", min: "min", step: "step", tooltipAlwaysVisible: "tooltipAlwaysVisible", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
923
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSlider, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
924
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSlider, isStandalone: true, selector: "bq-slider", inputs: { debounceTime: "debounceTime", disabled: "disabled", enableTooltip: "enableTooltip", enableValueIndicator: "enableValueIndicator", gap: "gap", max: "max", min: "min", step: "step", tooltipAlwaysVisible: "tooltipAlwaysVisible", type: "type", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
987
925
  };
988
926
  BqSlider = __decorate([
989
927
  ProxyCmp({
@@ -1005,15 +943,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1005
943
  }]
1006
944
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1007
945
  let BqSpinner = class BqSpinner {
1008
- z;
1009
- el;
1010
946
  constructor(c, r, z) {
1011
947
  this.z = z;
1012
948
  c.detach();
1013
949
  this.el = r.nativeElement;
1014
950
  }
1015
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSpinner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1016
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSpinner, isStandalone: true, selector: "bq-spinner", inputs: { animation: "animation", size: "size", textPosition: "textPosition" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
951
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSpinner, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
952
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSpinner, isStandalone: true, selector: "bq-spinner", inputs: { animation: "animation", size: "size", textPosition: "textPosition" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1017
953
  };
1018
954
  BqSpinner = __decorate([
1019
955
  ProxyCmp({
@@ -1035,15 +971,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1035
971
  }]
1036
972
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1037
973
  let BqStatus = class BqStatus {
1038
- z;
1039
- el;
1040
974
  constructor(c, r, z) {
1041
975
  this.z = z;
1042
976
  c.detach();
1043
977
  this.el = r.nativeElement;
1044
978
  }
1045
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqStatus, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1046
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqStatus, isStandalone: true, selector: "bq-status", inputs: { type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
979
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqStatus, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
980
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqStatus, isStandalone: true, selector: "bq-status", inputs: { type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1047
981
  };
1048
982
  BqStatus = __decorate([
1049
983
  ProxyCmp({
@@ -1065,16 +999,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1065
999
  }]
1066
1000
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1067
1001
  let BqStepItem = class BqStepItem {
1068
- z;
1069
- el;
1070
1002
  constructor(c, r, z) {
1071
1003
  this.z = z;
1072
1004
  c.detach();
1073
1005
  this.el = r.nativeElement;
1074
1006
  proxyOutputs(this, this.el, ['bqClick']);
1075
1007
  }
1076
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqStepItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1077
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqStepItem, isStandalone: true, selector: "bq-step-item", inputs: { size: "size", status: "status", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1008
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqStepItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1009
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqStepItem, isStandalone: true, selector: "bq-step-item", inputs: { size: "size", status: "status", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1078
1010
  };
1079
1011
  BqStepItem = __decorate([
1080
1012
  ProxyCmp({
@@ -1096,15 +1028,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1096
1028
  }]
1097
1029
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1098
1030
  let BqSteps = class BqSteps {
1099
- z;
1100
- el;
1101
1031
  constructor(c, r, z) {
1102
1032
  this.z = z;
1103
1033
  c.detach();
1104
1034
  this.el = r.nativeElement;
1105
1035
  }
1106
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSteps, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1107
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSteps, isStandalone: true, selector: "bq-steps", inputs: { dividerColor: "dividerColor", size: "size", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1036
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSteps, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1037
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSteps, isStandalone: true, selector: "bq-steps", inputs: { dividerColor: "dividerColor", size: "size", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1108
1038
  };
1109
1039
  BqSteps = __decorate([
1110
1040
  ProxyCmp({
@@ -1126,16 +1056,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1126
1056
  }]
1127
1057
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1128
1058
  let BqSwitch = class BqSwitch {
1129
- z;
1130
- el;
1131
1059
  constructor(c, r, z) {
1132
1060
  this.z = z;
1133
1061
  c.detach();
1134
1062
  this.el = r.nativeElement;
1135
1063
  proxyOutputs(this, this.el, ['bqChange', 'bqFocus', 'bqBlur']);
1136
1064
  }
1137
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1138
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSwitch, isStandalone: true, selector: "bq-switch", inputs: { backgroundOnHover: "backgroundOnHover", checked: "checked", disabled: "disabled", fullWidth: "fullWidth", innerLabel: "innerLabel", justifyContent: "justifyContent", name: "name", required: "required", reverseOrder: "reverseOrder", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1065
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqSwitch, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1066
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqSwitch, isStandalone: true, selector: "bq-switch", inputs: { backgroundOnHover: "backgroundOnHover", checked: "checked", disabled: "disabled", fullWidth: "fullWidth", innerLabel: "innerLabel", justifyContent: "justifyContent", name: "name", required: "required", reverseOrder: "reverseOrder", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1139
1067
  };
1140
1068
  BqSwitch = __decorate([
1141
1069
  ProxyCmp({
@@ -1158,16 +1086,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1158
1086
  }]
1159
1087
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1160
1088
  let BqTab = class BqTab {
1161
- z;
1162
- el;
1163
1089
  constructor(c, r, z) {
1164
1090
  this.z = z;
1165
1091
  c.detach();
1166
1092
  this.el = r.nativeElement;
1167
1093
  proxyOutputs(this, this.el, ['bqClick', 'bqFocus', 'bqBlur', 'bqKeyDown']);
1168
1094
  }
1169
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1170
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTab, isStandalone: true, selector: "bq-tab", inputs: { active: "active", controls: "controls", disabled: "disabled", orientation: "orientation", placement: "placement", size: "size", tabId: "tabId" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1095
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTab, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1096
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTab, isStandalone: true, selector: "bq-tab", inputs: { active: "active", controls: "controls", disabled: "disabled", orientation: "orientation", placement: "placement", size: "size", tabId: "tabId" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1171
1097
  };
1172
1098
  BqTab = __decorate([
1173
1099
  ProxyCmp({
@@ -1190,16 +1116,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1190
1116
  }]
1191
1117
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1192
1118
  let BqTabGroup = class BqTabGroup {
1193
- z;
1194
- el;
1195
1119
  constructor(c, r, z) {
1196
1120
  this.z = z;
1197
1121
  c.detach();
1198
1122
  this.el = r.nativeElement;
1199
1123
  proxyOutputs(this, this.el, ['bqChange']);
1200
1124
  }
1201
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTabGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1202
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTabGroup, isStandalone: true, selector: "bq-tab-group", inputs: { debounceTime: "debounceTime", disableDivider: "disableDivider", orientation: "orientation", placement: "placement", size: "size", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1125
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTabGroup, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1126
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTabGroup, isStandalone: true, selector: "bq-tab-group", inputs: { debounceTime: "debounceTime", disableDivider: "disableDivider", orientation: "orientation", placement: "placement", size: "size", value: "value" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1203
1127
  };
1204
1128
  BqTabGroup = __decorate([
1205
1129
  ProxyCmp({
@@ -1221,16 +1145,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1221
1145
  }]
1222
1146
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1223
1147
  let BqTag = class BqTag {
1224
- z;
1225
- el;
1226
1148
  constructor(c, r, z) {
1227
1149
  this.z = z;
1228
1150
  c.detach();
1229
1151
  this.el = r.nativeElement;
1230
1152
  proxyOutputs(this, this.el, ['bqClose', 'bqOpen', 'bqBlur', 'bqClick', 'bqFocus']);
1231
1153
  }
1232
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTag, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1233
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTag, isStandalone: true, selector: "bq-tag", inputs: { border: "border", clickable: "clickable", color: "color", disabled: "disabled", hidden: "hidden", removable: "removable", selected: "selected", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1154
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTag, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1155
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTag, isStandalone: true, selector: "bq-tag", inputs: { border: "border", clickable: "clickable", color: "color", disabled: "disabled", hidden: "hidden", removable: "removable", selected: "selected", size: "size", variant: "variant" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1234
1156
  };
1235
1157
  BqTag = __decorate([
1236
1158
  ProxyCmp({
@@ -1253,16 +1175,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1253
1175
  }]
1254
1176
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1255
1177
  let BqTextarea = class BqTextarea {
1256
- z;
1257
- el;
1258
1178
  constructor(c, r, z) {
1259
1179
  this.z = z;
1260
1180
  c.detach();
1261
1181
  this.el = r.nativeElement;
1262
1182
  proxyOutputs(this, this.el, ['bqBlur', 'bqChange', 'bqClear', 'bqFocus', 'bqInput']);
1263
1183
  }
1264
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1265
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTextarea, isStandalone: true, selector: "bq-textarea", inputs: { autoGrow: "autoGrow", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", debounceTime: "debounceTime", disableResize: "disableResize", disabled: "disabled", form: "form", maxlength: "maxlength", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", rows: "rows", spellcheck: "spellcheck", validationStatus: "validationStatus", value: "value", wrap: "wrap" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1184
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTextarea, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1185
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTextarea, isStandalone: true, selector: "bq-textarea", inputs: { autoGrow: "autoGrow", autocapitalize: "autocapitalize", autocomplete: "autocomplete", autocorrect: "autocorrect", autofocus: "autofocus", debounceTime: "debounceTime", disableResize: "disableResize", disabled: "disabled", form: "form", maxlength: "maxlength", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", rows: "rows", spellcheck: "spellcheck", validationStatus: "validationStatus", value: "value", wrap: "wrap" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1266
1186
  };
1267
1187
  BqTextarea = __decorate([
1268
1188
  ProxyCmp({
@@ -1284,16 +1204,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1284
1204
  }]
1285
1205
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1286
1206
  let BqToast = class BqToast {
1287
- z;
1288
- el;
1289
1207
  constructor(c, r, z) {
1290
1208
  this.z = z;
1291
1209
  c.detach();
1292
1210
  this.el = r.nativeElement;
1293
1211
  proxyOutputs(this, this.el, ['bqHide', 'bqShow']);
1294
1212
  }
1295
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1296
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqToast, isStandalone: true, selector: "bq-toast", inputs: { border: "border", hideIcon: "hideIcon", open: "open", placement: "placement", time: "time", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1213
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqToast, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1214
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqToast, isStandalone: true, selector: "bq-toast", inputs: { border: "border", hideIcon: "hideIcon", open: "open", placement: "placement", time: "time", type: "type" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1297
1215
  };
1298
1216
  BqToast = __decorate([
1299
1217
  ProxyCmp({
@@ -1316,15 +1234,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1316
1234
  }]
1317
1235
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1318
1236
  let BqTooltip = class BqTooltip {
1319
- z;
1320
- el;
1321
1237
  constructor(c, r, z) {
1322
1238
  this.z = z;
1323
1239
  c.detach();
1324
1240
  this.el = r.nativeElement;
1325
1241
  }
1326
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1327
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTooltip, isStandalone: true, selector: "bq-tooltip", inputs: { alwaysVisible: "alwaysVisible", displayOn: "displayOn", distance: "distance", hideArrow: "hideArrow", placement: "placement", sameWidth: "sameWidth", visible: "visible" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1242
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: BqTooltip, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
1243
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: BqTooltip, isStandalone: true, selector: "bq-tooltip", inputs: { alwaysVisible: "alwaysVisible", displayOn: "displayOn", distance: "distance", hideArrow: "hideArrow", placement: "placement", sameWidth: "sameWidth", visible: "visible" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1328
1244
  };
1329
1245
  BqTooltip = __decorate([
1330
1246
  ProxyCmp({
@@ -1346,4 +1262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
1346
1262
  standalone: true
1347
1263
  }]
1348
1264
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
1349
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2JlZXEtYW5ndWxhci9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWdCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLElBQUksY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLElBQUksWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEcsT0FB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akI7O0FBb0NNLElBQU0sU0FBUyxHQUFmLE1BQU0sU0FBUztJQUV1QztJQURqRCxFQUFFLENBQWM7SUFDMUIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQzswSEFMVSxTQUFTOzhHQUFULFNBQVMsNFBBTFYsMkJBQTJCOztBQUsxQixTQUFTO0lBYnJCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLGVBQWU7UUFDdEMsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDO1FBQ3BHLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDMUIsQ0FBQztxQ0FXZSxpQkFBaUIsRUFBSyxVQUFVLEVBQWUsTUFBTTtHQUZ6RCxTQUFTLENBTXJCOzsyRkFOWSxTQUFTO2tCQVJyQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUM7b0JBQ3BHLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQWNjb3JkaW9uIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtYWNjb3JkaW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFBY2NvcmRpb25Hcm91cCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWFjY29yZGlvbi1ncm91cC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQWxlcnQgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1hbGVydC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQXZhdGFyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtYXZhdGFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFCYWRnZSB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWJhZGdlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFCcmVhZGNydW1iIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtYnJlYWRjcnVtYi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1icmVhZGNydW1iLWl0ZW0uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcUJ1dHRvbiB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWJ1dHRvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQ2FyZCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWNhcmQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcUNoZWNrYm94IH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtY2hlY2tib3guanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcURhdGVQaWNrZXIgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1kYXRlLXBpY2tlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxRGlhbG9nIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZGlhbG9nLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFEaXZpZGVyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZGl2aWRlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxRHJhd2VyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZHJhd2VyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFEcm9wZG93biB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWRyb3Bkb3duLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFFbXB0eVN0YXRlIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZW1wdHktc3RhdGUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcUljb24gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFJbnB1dCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWlucHV0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFOb3RpZmljYXRpb24gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1ub3RpZmljYXRpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcU9wdGlvbiB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLW9wdGlvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxT3B0aW9uR3JvdXAgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1vcHRpb24tZ3JvdXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcU9wdGlvbkxpc3QgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1vcHRpb24tbGlzdC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUGFnZVRpdGxlIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtcGFnZS10aXRsZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUGFuZWwgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1wYW5lbC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUHJvZ3Jlc3MgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1wcm9ncmVzcy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUmFkaW8gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1yYWRpby5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUmFkaW9Hcm91cCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLXJhZGlvLWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTZWxlY3QgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1zZWxlY3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVNpZGVNZW51IH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc2lkZS1tZW51LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTaWRlTWVudUl0ZW0gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1zaWRlLW1lbnUtaXRlbS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU2xpZGVyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc2xpZGVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTcGlubmVyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc3Bpbm5lci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU3RhdHVzIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc3RhdHVzLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTdGVwSXRlbSB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLXN0ZXAtaXRlbS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU3RlcHMgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1zdGVwcy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU3dpdGNoIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc3dpdGNoLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFUYWIgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS10YWIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRhYkdyb3VwIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtdGFiLWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFUYWcgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS10YWcuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRleHRhcmVhIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtdGV4dGFyZWEuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRvYXN0IH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtdG9hc3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRvb2x0aXAgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS10b29sdGlwLmpzJztcbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFBY2NvcmRpb24sXG4gIGlucHV0czogWydhcHBlYXJhbmNlJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ25vQW5pbWF0aW9uJywgJ3JvdGF0ZScsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnZGlzYWJsZWQnLCAnZXhwYW5kZWQnLCAnbm9BbmltYXRpb24nLCAncm90YXRlJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUZvY3VzJywgJ2JxT3BlbicsICdicUFmdGVyT3BlbicsICdicUNsb3NlJywgJ2JxQWZ0ZXJDbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUFjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuQnFBY2NvcmRpb24ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYWNjb3JkaW9uIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBhY2NvcmRpb24gZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjY29yZGlvbiBpcyBvcGVuZWRcbiAgICovXG4gIGJxT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBhY2NvcmRpb24gaXMgb3BlbmVkXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjY29yZGlvbiBpcyBjbG9zZWRcbiAgICovXG4gIGJxQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgYWNjb3JkaW9uIGlzIGNsb3NlZFxuICAgKi9cbiAgYnFBZnRlckNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQWNjb3JkaW9uRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFBY2NvcmRpb25Hcm91cCxcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnZXhwYW5kQWxsJywgJ211bHRpcGxlJywgJ25vQW5pbWF0aW9uJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWFjY29yZGlvbi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwZWFyYW5jZScsICdleHBhbmRBbGwnLCAnbXVsdGlwbGUnLCAnbm9BbmltYXRpb24nLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQWNjb3JkaW9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUFjY29yZGlvbkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CcUFjY29yZGlvbkdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUFsZXJ0LFxuICBpbnB1dHM6IFsnYXV0b0Rpc21pc3MnLCAnYm9yZGVyJywgJ2Rpc2FibGVDbG9zZScsICdoaWRlSWNvbicsICdvcGVuJywgJ3N0aWNreScsICd0aW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydoaWRlJywgJ3Nob3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWFsZXJ0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvRGlzbWlzcycsICdib3JkZXInLCAnZGlzYWJsZUNsb3NlJywgJ2hpZGVJY29uJywgJ29wZW4nLCAnc3RpY2t5JywgJ3RpbWUnLCAndHlwZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQWxlcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUhpZGUnLCAnYnFTaG93JywgJ2JxQWZ0ZXJTaG93JywgJ2JxQWZ0ZXJIaWRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQWxlcnQgZXh0ZW5kcyBDb21wb25lbnRzLkJxQWxlcnQge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYWxlcnQgaXMgaGlkZGVuXG4gICAqL1xuICBicUhpZGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFsZXJ0IGlzIHNob3duXG4gICAqL1xuICBicVNob3c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBhbGVydCBoYXMgYmVlbiBzaG93blxuICAgKi9cbiAgYnFBZnRlclNob3c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBhbGVydCBoYXMgYmVlbiBoaWRkZW5cbiAgICovXG4gIGJxQWZ0ZXJIaWRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUF2YXRhcixcbiAgaW5wdXRzOiBbJ2FsdFRleHQnLCAnaW1hZ2UnLCAnaW5pdGlhbHMnLCAnbGFiZWwnLCAnc2hhcGUnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtYXZhdGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbHRUZXh0JywgJ2ltYWdlJywgJ2luaXRpYWxzJywgJ2xhYmVsJywgJ3NoYXBlJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5CcUF2YXRhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFCYWRnZSxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvcicsICdzaXplJywgJ3RleHRDb2xvciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtYmFkZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvcicsICdzaXplJywgJ3RleHRDb2xvciddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUJhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5CcUJhZGdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUJyZWFkY3J1bWIsXG4gIGlucHV0czogWydhcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQnJlYWRjcnVtYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQnJlYWRjcnVtYkJsdXInLCAnYnFCcmVhZGNydW1iRm9jdXMnLCAnYnFCcmVhZGNydW1iQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFCcmVhZGNydW1iIGV4dGVuZHMgQ29tcG9uZW50cy5CcUJyZWFkY3J1bWIge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBgYnEtYnJlYWRjcnVtYi1pdGVtYCBpdGVtIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgYnFCcmVhZGNydW1iQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBgYnEtYnJlYWRjcnVtYi1pdGVtYCBpdGVtIGdldHMgZm9jdXMuXG4gICAqL1xuICBicUJyZWFkY3J1bWJGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBgYnEtYnJlYWRjcnVtYi1pdGVtYCBpcyBzZWxlY3RlZCAob24gY2xpY2svZW50ZXIgcHJlc3MpLlxuICAgKi9cbiAgYnFCcmVhZGNydW1iQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCcmVhZGNydW1iSXRlbUVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxQnJlYWRjcnVtYkl0ZW0sXG4gIGlucHV0czogWydhcmlhTGFiZWwnLCAnaHJlZicsICdpc0xhc3RJdGVtJywgJ3JlbCcsICd0YXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJyZWFkY3J1bWItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsJywgJ2hyZWYnLCAnaXNMYXN0SXRlbScsICdyZWwnLCAndGFyZ2V0J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFCcmVhZGNydW1iSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUZvY3VzJywgJ2JxQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFCcmVhZGNydW1iSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQnFCcmVhZGNydW1iSXRlbSB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGl0ZW0gbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBpdGVtIGlzIGZvY3VzZWRcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCcmVhZGNydW1iSXRlbUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gaXRlbSBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnJlYWRjcnVtYkl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUJ1dHRvbixcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnYmxvY2snLCAnYm9yZGVyJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAnanVzdGlmeUNvbnRlbnQnLCAnbG9hZGluZycsICdzaXplJywgJ3RhcmdldCcsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwZWFyYW5jZScsICdibG9jaycsICdib3JkZXInLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdqdXN0aWZ5Q29udGVudCcsICdsb2FkaW5nJywgJ3NpemUnLCAndGFyZ2V0JywgJ3R5cGUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFCbHVyJywgJ2JxRm9jdXMnLCAnYnFDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQnFCdXR0b24ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCdXR0b25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJ1dHRvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gYnV0dG9uIGdldHMgZm9jdXNcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCdXR0b25FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUNhcmQsXG4gIGlucHV0czogWydib3JkZXInLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJxQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFDaGVja2JveCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZm9ybUlkJywgJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZScsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmb3JtSWQnLCAnZm9ybVZhbGlkYXRpb25NZXNzYWdlJywgJ2luZGV0ZXJtaW5hdGUnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQ2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNoYW5nZScsICdicUZvY3VzJywgJ2JxQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUNoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5CcUNoZWNrYm94IHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIGJxQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGVja2VkOiBib29sZWFuIH0+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGdldHMgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFDaGVja2JveEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFDaGVja2JveEVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRGF0ZVBpY2tlcixcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGVhckJ1dHRvbkxhYmVsJywgJ2Rpc2FibGVDbGVhcicsICdkaXNhYmxlZCcsICdkaXN0YW5jZScsICdmaXJzdERheU9mV2VlaycsICdmb3JtJywgJ2Zvcm1hdE9wdGlvbnMnLCAnaXNEYXRlRGlzYWxsb3dlZCcsICdsb2NhbGUnLCAnbWF4JywgJ21pbicsICdtb250aHMnLCAnbW9udGhzUGVyVmlldycsICduYW1lJywgJ29wZW4nLCAncGFuZWxIZWlnaHQnLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3JlcXVpcmVkJywgJ3Nob3dPdXRzaWRlRGF5cycsICdza2lkZGluZycsICdzdHJhdGVneScsICd0ZW50YXRpdmUnLCAndHlwZScsICd2YWxpZGF0aW9uU3RhdHVzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWRhdGUtcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY2xlYXJCdXR0b25MYWJlbCcsICdkaXNhYmxlQ2xlYXInLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnZmlyc3REYXlPZldlZWsnLCAnZm9ybScsICdmb3JtYXRPcHRpb25zJywgJ2lzRGF0ZURpc2FsbG93ZWQnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbW9udGhzJywgJ21vbnRoc1BlclZpZXcnLCAnbmFtZScsICdvcGVuJywgJ3BhbmVsSGVpZ2h0JywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZXF1aXJlZCcsICdzaG93T3V0c2lkZURheXMnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knLCAndGVudGF0aXZlJywgJ3R5cGUnLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxRGF0ZVBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEYXRlUGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5CcURhdGVQaWNrZXIge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFEYXRlUGlja2VyRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkIGFuZCB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIGZpbmlzaGVzIHR5cGluZyBvciBwYXN0aW5nIHRleHQgaW50byB0aGUgaW5wdXQgZmllbGQgYW5kIHRoZW4gY2xpY2tzIG91dHNpZGUgb2YgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IGVsOiBIVE1MQnFEYXRlUGlja2VyRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2xlYXJlZFxuICAgKi9cbiAgYnFDbGVhcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcURhdGVQaWNrZXJFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIHJlY2VpdmVkIGZvY3VzXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxRGF0ZVBpY2tlckVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRGlhbG9nLFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2Rpc2FibGVCYWNrZHJvcCcsICdkaXNhYmxlQ2xvc2VDbGlja091dHNpZGUnLCAnZGlzYWJsZUNsb3NlRXNjS2V5ZG93bicsICdmb290ZXJBcHBlYXJhbmNlJywgJ2hpZGVDbG9zZUJ1dHRvbicsICdvcGVuJywgJ3NpemUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAnY2FuY2VsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdkaXNhYmxlQmFja2Ryb3AnLCAnZGlzYWJsZUNsb3NlQ2xpY2tPdXRzaWRlJywgJ2Rpc2FibGVDbG9zZUVzY0tleWRvd24nLCAnZm9vdGVyQXBwZWFyYW5jZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnb3BlbicsICdzaXplJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFEaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNhbmNlbCcsICdicUNsb3NlJywgJ2JxT3BlbicsICdicUFmdGVyT3BlbicsICdicUFmdGVyQ2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLkJxRGlhbG9nIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaGFzIGJlZW4gY2FuY2VsZWQgb3IgZGlzbWlzc2VkXG4gICAqL1xuICBicUNhbmNlbDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgd2lsbCBjbG9zZVxuICAgKi9cbiAgYnFDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgd2lsbCBvcGVuXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIGZpbmlzaCBvcGVuaW5nXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgZmluaXNoIGNsb3NpbmdcbiAgICovXG4gIGJxQWZ0ZXJDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRGl2aWRlcixcbiAgaW5wdXRzOiBbJ2Rhc2hlZCcsICdvcmllbnRhdGlvbicsICdzdHJva2VCYXNpcycsICdzdHJva2VDb2xvcicsICdzdHJva2VEYXNoR2FwJywgJ3N0cm9rZURhc2hXaWR0aCcsICdzdHJva2VMaW5lY2FwJywgJ3N0cm9rZVRoaWNrbmVzcycsICd0aXRsZUFsaWdubWVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFzaGVkJywgJ29yaWVudGF0aW9uJywgJ3N0cm9rZUJhc2lzJywgJ3N0cm9rZUNvbG9yJywgJ3N0cm9rZURhc2hHYXAnLCAnc3Ryb2tlRGFzaFdpZHRoJywgJ3N0cm9rZUxpbmVjYXAnLCAnc3Ryb2tlVGhpY2tuZXNzJywgJ3RpdGxlQWxpZ25tZW50J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFEaXZpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CcURpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRHJhd2VyLFxuICBpbnB1dHM6IFsnY2xvc2VPbkNsaWNrT3V0c2lkZScsICdjbG9zZU9uRXNjJywgJ2VuYWJsZUJhY2tkcm9wJywgJ29wZW4nLCAncGxhY2VtZW50JywgJ3Bvc2l0aW9uJ10sXG4gIG1ldGhvZHM6IFsnaGlkZScsICdzaG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kcmF3ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NlT25DbGlja091dHNpZGUnLCAnY2xvc2VPbkVzYycsICdlbmFibGVCYWNrZHJvcCcsICdvcGVuJywgJ3BsYWNlbWVudCcsICdwb3NpdGlvbiddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxRHJhd2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbG9zZScsICdicU9wZW4nLCAnYnFBZnRlck9wZW4nLCAnYnFBZnRlckNsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRHJhd2VyIGV4dGVuZHMgQ29tcG9uZW50cy5CcURyYXdlciB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBkcmF3ZXIgaXMgY2xvc2VkXG4gICAqL1xuICBicUNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBkcmF3ZXIgaXMgb3BlbmVkXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBkcmF3ZXIgaGFzIGJlZW4gb3BlbmVkXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGRyYXdlciBoYXMgYmVlbiBjbG9zZWRcbiAgICovXG4gIGJxQWZ0ZXJDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFEcm9wZG93bixcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Rpc3RhbmNlJywgJ2tlZXBPcGVuT25TZWxlY3QnLCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAna2VlcE9wZW5PblNlbGVjdCcsICdvcGVuJywgJ3BhbmVsSGVpZ2h0JywgJ3BsYWNlbWVudCcsICdzYW1lV2lkdGgnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLkJxRHJvcGRvd24ge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZHJvcGRvd24gcGFuZWwgaXMgb3BlbmVkIG9yIGNsb3NlZC5cbiAgICovXG4gIGJxT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgb3BlbjogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUVtcHR5U3RhdGUsXG4gIGlucHV0czogWydzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1lbXB0eS1zdGF0ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxRW1wdHlTdGF0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRW1wdHlTdGF0ZSBleHRlbmRzIENvbXBvbmVudHMuQnFFbXB0eVN0YXRlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUljb24sXG4gIGlucHV0czogWydjb2xvcicsICdsYWJlbCcsICduYW1lJywgJ3NpemUnLCAnc3JjJywgJ3dlaWdodCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnbGFiZWwnLCAnbmFtZScsICdzaXplJywgJ3NyYycsICd3ZWlnaHQnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdmdMb2FkZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CcUljb24ge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgU1ZHIGhhcyBsb2FkZWRcbiAgICovXG4gIHN2Z0xvYWRlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFJbnB1dCxcbiAgaW5wdXRzOiBbJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnY2xlYXJCdXR0b25MYWJlbCcsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZUNsZWFyJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnaW5wdXRtb2RlJywgJ21heCcsICdtYXhsZW5ndGgnLCAnbWluJywgJ21pbmxlbmd0aCcsICduYW1lJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICd0eXBlJywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2NsZWFyQnV0dG9uTGFiZWwnLCAnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVDbGVhcicsICdkaXNhYmxlZCcsICdmb3JtJywgJ2lucHV0bW9kZScsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAndHlwZScsICd2YWxpZGF0aW9uU3RhdHVzJywgJ3ZhbHVlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUlucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5CcUlucHV0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxSW5wdXRFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGNoYW5nZWQgYW5kIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy5cblRoaXMgaGFuZGxlciBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIG9yIHBhc3RpbmcgdGV4dCBpbnRvIHRoZSBpbnB1dCBmaWVsZCBhbmQgdGhlbiBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHN0cmluZ1tdOyBlbDogSFRNTEJxSW5wdXRFbGVtZW50IH0+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBoYXMgYmVlbiBjbGVhcmVkXG4gICAqL1xuICBicUNsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxSW5wdXRFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIHJlY2VpdmVkIGZvY3VzXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxSW5wdXRFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgY2hhbmdlcy5cblRoaXMgaGFuZGxlciBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgdHlwZXMgb3IgcGFzdGVzIHRleHQgaW50byB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICBicUlucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW107IGVsOiBIVE1MQnFJbnB1dEVsZW1lbnQgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFOb3RpZmljYXRpb24sXG4gIGlucHV0czogWydhdXRvRGlzbWlzcycsICdib3JkZXInLCAnZGlzYWJsZUNsb3NlJywgJ2hpZGVJY29uJywgJ29wZW4nLCAndGltZScsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnaGlkZScsICdzaG93JywgJ3RvYXN0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1ub3RpZmljYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9EaXNtaXNzJywgJ2JvcmRlcicsICdkaXNhYmxlQ2xvc2UnLCAnaGlkZUljb24nLCAnb3BlbicsICd0aW1lJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcU5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxSGlkZScsICdicVNob3cnLCAnYnFBZnRlck9wZW4nLCAnYnFBZnRlckNsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxTm90aWZpY2F0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CcU5vdGlmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBub3RpZmljYXRpb24gaXMgaGlkZGVuXG4gICAqL1xuICBicUhpZGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBpcyBzaG93blxuICAgKi9cbiAgYnFTaG93OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbm90aWZpY2F0aW9uIGhhcyBiZWVuIG9wZW5lZFxuICAgKi9cbiAgYnFBZnRlck9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBub3RpZmljYXRpb24gaGFzIGJlZW4gY2xvc2VkXG4gICAqL1xuICBicUFmdGVyQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxT3B0aW9uLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGlkZGVuJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hpZGRlbicsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxT3B0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFCbHVyJywgJ2JxRm9jdXMnLCAnYnFDbGljaycsICdicUVudGVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxT3B0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CcU9wdGlvbiB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGl0ZW0gbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcU9wdGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gaXRlbSBpcyBmb2N1c2VkXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxT3B0aW9uRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBpdGVtIGlzIGNsaWNrZWRcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFPcHRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCBvbiBlbnRlciBrZXkgcHJlc3NcbiAgICovXG4gIGJxRW50ZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFPcHRpb25FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcU9wdGlvbkdyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtb3B0aW9uLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFPcHRpb25Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxT3B0aW9uR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJxT3B0aW9uR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxT3B0aW9uTGlzdCxcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtb3B0aW9uLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxT3B0aW9uTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxU2VsZWN0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxT3B0aW9uTGlzdCBleHRlbmRzIENvbXBvbmVudHMuQnFPcHRpb25MaXN0IHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gYGJxLW9wdGlvbmAgaXMgc2VsZWN0ZWQgKG9uIGNsaWNrL2VudGVyIHByZXNzKS5cbiAgICovXG4gIGJxU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyBpdGVtOiBIVE1MQnFPcHRpb25FbGVtZW50IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxUGFnZVRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtcGFnZS10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxUGFnZVRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFQYWdlVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkJxUGFnZVRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVBhbmVsLFxuICBpbnB1dHM6IFsnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFQYW5lbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJxUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxUHJvZ3Jlc3MsXG4gIGlucHV0czogWydib3JkZXJTaGFwZScsICdlbmFibGVUb29sdGlwJywgJ2luZGV0ZXJtaW5hdGUnLCAnbGFiZWwnLCAndGhpY2tuZXNzJywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXByb2dyZXNzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib3JkZXJTaGFwZScsICdlbmFibGVUb29sdGlwJywgJ2luZGV0ZXJtaW5hdGUnLCAnbGFiZWwnLCAndGhpY2tuZXNzJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVByb2dyZXNzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFQcm9ncmVzcyBleHRlbmRzIENvbXBvbmVudHMuQnFQcm9ncmVzcyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFSYWRpbyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZm9ybUlkJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmb3JtSWQnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxUmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNsaWNrJywgJ2JxRm9jdXMnLCAnYnFCbHVyJywgJ2JxS2V5RG93biddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5CcVJhZGlvIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIGdldHMgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIGtleSBpcyBwcmVzc2VkXG4gICAqL1xuICBicUtleURvd246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVJhZGlvR3JvdXAsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kT25Ib3ZlcicsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZWQnLCAnZmllbGRzZXQnLCAnbmFtZScsICdvcmllbnRhdGlvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtcmFkaW8tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlZCcsICdmaWVsZHNldCcsICduYW1lJywgJ29yaWVudGF0aW9uJywgJ3ZhbHVlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFSYWRpb0dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CcVJhZGlvR3JvdXAge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgcmFkaW8gc3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IHRhcmdldDogSFRNTEJxUmFkaW9FbGVtZW50IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU2VsZWN0LFxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NsZWFyQnV0dG9uTGFiZWwnLCAnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVDbGVhcicsICdkaXNhYmxlZCcsICdkaXN0YW5jZScsICdmb3JtJywgJ2tlZXBPcGVuT25TZWxlY3QnLCAnbWF4VGFnc1Zpc2libGUnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdvcGVuJywgJ3BhbmVsSGVpZ2h0JywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzYW1lV2lkdGgnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGVhckJ1dHRvbkxhYmVsJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlQ2xlYXInLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnZm9ybScsICdrZWVwT3Blbk9uU2VsZWN0JywgJ21heFRhZ3NWaXNpYmxlJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFTZWxlY3QnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLkJxU2VsZWN0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBTZWxlY3QgaW5wdXQgbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNlbGVjdEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCB2YWx1ZSBoYXMgYmVlbiBjbGVhcmVkXG4gICAqL1xuICBicUNsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2VsZWN0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIFNlbGVjdCBpbnB1dCBoYXMgcmVjZWl2ZWQgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTZWxlY3RFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgaGFzIGNoYW5nZWRcbiAgICovXG4gIGJxU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW107IGl0ZW06IEhUTUxCcU9wdGlvbkVsZW1lbnQgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFTaWRlTWVudSxcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnY29sbGFwc2UnLCAnc2l6ZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUNvbGxhcHNlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zaWRlLW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnY29sbGFwc2UnLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxU2lkZU1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNvbGxhcHNlJywgJ2JxU2VsZWN0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU2lkZU1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLkJxU2lkZU1lbnUge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgU2lkZSBtZW51IGNoYW5nZXMgaXRzIHdpZHRoIGZyb20gZXhwYW5kZWQgdG8gY29sbGFwc2UgYW5kIHZpY2UgdmVyc2FcbiAgICovXG4gIGJxQ29sbGFwc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNvbGxhcHNlOiBib29sZWFuIH0+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjdGl2ZS9zZWxlY3RlZCBtZW51IGl0ZW0gY2hhbmdlc1xuICAgKi9cbiAgYnFTZWxlY3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVNpZGVNZW51SXRlbSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb2xsYXBzZScsICdkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc2lkZS1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb2xsYXBzZScsICdkaXNhYmxlZCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxU2lkZU1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFCbHVyJywgJ2JxRm9jdXMnLCAnYnFDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVNpZGVNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQnFTaWRlTWVudUl0ZW0ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNpZGVNZW51SXRlbUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gYnV0dG9uIGdldHMgZm9jdXNcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVNsaWRlcixcbiAgaW5wdXRzOiBbJ2RlYm91bmNlVGltZScsICdkaXNhYmxlZCcsICdlbmFibGVUb29sdGlwJywgJ2VuYWJsZVZhbHVlSW5kaWNhdG9yJywgJ2dhcCcsICdtYXgnLCAnbWluJywgJ3N0ZXAnLCAndG9vbHRpcEFsd2F5c1Zpc2libGUnLCAndHlwZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc2xpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZWQnLCAnZW5hYmxlVG9vbHRpcCcsICdlbmFibGVWYWx1ZUluZGljYXRvcicsICdnYXAnLCAnbWF4JywgJ21pbicsICdzdGVwJywgJ3Rvb2x0aXBBbHdheXNWaXNpYmxlJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQ2hhbmdlJywgJ2JxQmx1cicsICdicUZvY3VzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUU2xpZGVyVmFsdWUgYXMgSUJxU2xpZGVyVFNsaWRlclZhbHVlIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJxU2xpZGVyIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gY2hhbmdlIHRoZSB2YWx1ZSBvbiByYW5nZSBpbnB1dHNcbiAgICovXG4gIGJxQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogRXhjbHVkZTxJQnFTbGlkZXJUU2xpZGVyVmFsdWUsIHN0cmluZz47IGVsOiBIVE1MQnFTbGlkZXJFbGVtZW50IH0+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHNsaWRlciBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2xpZGVyRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgc2xpZGVyIGdldHMgZm9jdXNlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNsaWRlckVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3Bpbm5lcixcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdzaXplJywgJ3RleHRQb3NpdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc3Bpbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ3NpemUnLCAndGV4dFBvc2l0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTcGlubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5CcVNwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3RhdHVzLFxuICBpbnB1dHM6IFsndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc3RhdHVzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFTdGF0dXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVN0YXR1cyBleHRlbmRzIENvbXBvbmVudHMuQnFTdGF0dXMge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3RlcEl0ZW0sXG4gIGlucHV0czogWydzaXplJywgJ3N0YXR1cycsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zdGVwLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAnc3RhdHVzJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVN0ZXBJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVN0ZXBJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CcVN0ZXBJdGVtIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBzdGVwIGl0ZW0gaXMgY2xpY2tlZFxuICAgKi9cbiAgYnFDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFyZ2V0OiBIVE1MQnFTdGVwSXRlbUVsZW1lbnQ7IHZhbHVlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFTdGVwcyxcbiAgaW5wdXRzOiBbJ2RpdmlkZXJDb2xvcicsICdzaXplJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXZpZGVyQ29sb3InLCAnc2l6ZScsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFTdGVwcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU3RlcHMgZXh0ZW5kcyBDb21wb25lbnRzLkJxU3RlcHMge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3dpdGNoLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmdWxsV2lkdGgnLCAnaW5uZXJMYWJlbCcsICdqdXN0aWZ5Q29udGVudCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3JldmVyc2VPcmRlcicsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3ZDbGljaycsICd2Rm9jdXMnLCAndkJsdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXN3aXRjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmdWxsV2lkdGgnLCAnaW5uZXJMYWJlbCcsICdqdXN0aWZ5Q29udGVudCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3JldmVyc2VPcmRlcicsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxU3dpdGNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDaGFuZ2UnLCAnYnFGb2N1cycsICdicUJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLkJxU3dpdGNoIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHN3aXRjaCBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tlZDogYm9vbGVhbiB9Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBzd2l0Y2ggZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVN3aXRjaEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHN3aXRjaCBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU3dpdGNoRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFUYWIsXG4gIGlucHV0czogWydhY3RpdmUnLCAnY29udHJvbHMnLCAnZGlzYWJsZWQnLCAnb3JpZW50YXRpb24nLCAncGxhY2VtZW50JywgJ3NpemUnLCAndGFiSWQnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJywgJ2VuYWJsZUZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb250cm9scycsICdkaXNhYmxlZCcsICdvcmllbnRhdGlvbicsICdwbGFjZW1lbnQnLCAnc2l6ZScsICd0YWJJZCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbGljaycsICdicUZvY3VzJywgJ2JxQmx1cicsICdicUtleURvd24nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFUYWIgZXh0ZW5kcyBDb21wb25lbnRzLkJxVGFiIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHRhYiBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGFiRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFiIGdldHMgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWJFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0YWIgbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhYkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHRhYiBrZXkgaXMgcHJlc3NlZFxuICAgKi9cbiAgYnFLZXlEb3duOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFUYWJHcm91cCxcbiAgaW5wdXRzOiBbJ2RlYm91bmNlVGltZScsICdkaXNhYmxlRGl2aWRlcicsICdvcmllbnRhdGlvbicsICdwbGFjZW1lbnQnLCAnc2l6ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtdGFiLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZURpdmlkZXInLCAnb3JpZW50YXRpb24nLCAncGxhY2VtZW50JywgJ3NpemUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRhYkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFUYWJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQnFUYWJHcm91cCB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0YWIgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhcmdldDogSFRNTEJxVGFiRWxlbWVudDsgdmFsdWU6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVRhZyxcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdjbGlja2FibGUnLCAnY29sb3InLCAnZGlzYWJsZWQnLCAnaGlkZGVuJywgJ3JlbW92YWJsZScsICdzZWxlY3RlZCcsICdzaXplJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydoaWRlJywgJ3Nob3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXRhZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb2xvcicsICdkaXNhYmxlZCcsICdoaWRkZW4nLCAncmVtb3ZhYmxlJywgJ3NlbGVjdGVkJywgJ3NpemUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxVGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbG9zZScsICdicU9wZW4nLCAnYnFCbHVyJywgJ2JxQ2xpY2snLCAnYnFGb2N1cyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRhZyBleHRlbmRzIENvbXBvbmVudHMuQnFUYWcge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFnIGlzIGNsb3NlL2hpZGRlblxuICAgKi9cbiAgYnFDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFnIGlzIG5vdCBvcGVuL3Nob3duXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGFnIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWdFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRhZyBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGFnRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0YWcgaXMgZm9jdXNlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhZ0VsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxVGV4dGFyZWEsXG4gIGlucHV0czogWydhdXRvR3JvdycsICdhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlUmVzaXplJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnbWF4bGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncm93cycsICdzcGVsbGNoZWNrJywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnLCAnd3JhcCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9Hcm93JywgJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVSZXNpemUnLCAnZGlzYWJsZWQnLCAnZm9ybScsICdtYXhsZW5ndGgnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdyb3dzJywgJ3NwZWxsY2hlY2snLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZScsICd3cmFwJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5CcVRleHRhcmVhIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSB0ZXh0YXJlYSBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGV4dGFyZWFFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgdmFsdWUgaGFzIGNoYW5nZWQgYW5kIHRoZSB0ZXh0YXJlYSBsb3NlcyBmb2N1cy5cblRoaXMgaGFuZGxlciBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIG9yIHBhc3RpbmcgdGV4dCBpbnRvIHRoZSB0ZXh0YXJlYSBmaWVsZCBhbmQgdGhlbiBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgdGV4dGFyZWEgZmllbGQuXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgZWw6IEhUTUxCcVRleHRhcmVhRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgdmFsdWUgaGFzIGJlZW4gY2xlYXJlZFxuICAgKi9cbiAgYnFDbGVhcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRleHRhcmVhRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIHRleHRhcmVhIGhhcyByZWNlaXZlZCBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRleHRhcmVhRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIHRleHRhcmVhIHZhbHVlIGNoYW5nZXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIHR5cGVzIG9yIHBhc3RlcyB0ZXh0IGludG8gdGhlIHRleHRhcmVhIGZpZWxkLlxuICAgKi9cbiAgYnFJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgZWw6IEhUTUxCcVRleHRhcmVhRWxlbWVudCB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVRvYXN0LFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2hpZGVJY29uJywgJ29wZW4nLCAncGxhY2VtZW50JywgJ3RpbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2FzdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtdG9hc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdoaWRlSWNvbicsICdvcGVuJywgJ3BsYWNlbWVudCcsICd0aW1lJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFIaWRlJywgJ2JxU2hvdyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5CcVRvYXN0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBpcyBoaWRkZW5cbiAgICovXG4gIGJxSGlkZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvYXN0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgbm90aWZpY2F0aW9uIGlzIHNob3duXG4gICAqL1xuICBicVNob3c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUb2FzdEVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxVG9vbHRpcCxcbiAgaW5wdXRzOiBbJ2Fsd2F5c1Zpc2libGUnLCAnZGlzcGxheU9uJywgJ2Rpc3RhbmNlJywgJ2hpZGVBcnJvdycsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3Zpc2libGUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Fsd2F5c1Zpc2libGUnLCAnZGlzcGxheU9uJywgJ2Rpc3RhbmNlJywgJ2hpZGVBcnJvdycsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3Zpc2libGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLkJxVG9vbHRpcCB7fVxuXG5cbiJdfQ==
1265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2JlZXEtYW5ndWxhci9zdGFuZGFsb25lL3NyYy9kaXJlY3RpdmVzL2NvbXBvbmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQiw4Q0FBOEM7QUFDOUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQWdCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4SCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLElBQUksY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxzQkFBc0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ2pILE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLElBQUksWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGdCQUFnQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEcsT0FB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OztBQW9DTSxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVM7SUFFcEIsWUFBWSxDQUFvQixFQUFFLENBQWEsRUFBWSxDQUFTO1FBQVQsTUFBQyxHQUFELENBQUMsQ0FBUTtRQUNsRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztpSUFMVSxTQUFTO3FIQUFULFNBQVMsNFBBTFYsMkJBQTJCOztBQUsxQixTQUFTO0lBYnJCLFFBQVEsQ0FBQztRQUNSLHFCQUFxQixFQUFFLGVBQWU7UUFDdEMsTUFBTSxFQUFFLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDO1FBQ3BHLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDMUIsQ0FBQztxQ0FXZSxpQkFBaUIsRUFBSyxVQUFVLEVBQWUsTUFBTTtHQUZ6RCxTQUFTLENBTXJCOzsyRkFOWSxTQUFTO2tCQVJyQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsdUVBQXVFO29CQUN2RSxNQUFNLEVBQUUsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUM7b0JBQ3BHLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMnO1xuXG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQWNjb3JkaW9uIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtYWNjb3JkaW9uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFBY2NvcmRpb25Hcm91cCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWFjY29yZGlvbi1ncm91cC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQWxlcnQgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1hbGVydC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQXZhdGFyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtYXZhdGFyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFCYWRnZSB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWJhZGdlLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFCcmVhZGNydW1iIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtYnJlYWRjcnVtYi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQnJlYWRjcnVtYkl0ZW0gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1icmVhZGNydW1iLWl0ZW0uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcUJ1dHRvbiB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWJ1dHRvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxQ2FyZCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWNhcmQuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcUNoZWNrYm94IH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtY2hlY2tib3guanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcURhdGVQaWNrZXIgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1kYXRlLXBpY2tlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxRGlhbG9nIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZGlhbG9nLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFEaXZpZGVyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZGl2aWRlci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxRHJhd2VyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZHJhd2VyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFEcm9wZG93biB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWRyb3Bkb3duLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFFbXB0eVN0YXRlIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtZW1wdHktc3RhdGUuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcUljb24gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1pY29uLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFJbnB1dCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLWlucHV0LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFOb3RpZmljYXRpb24gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1ub3RpZmljYXRpb24uanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcU9wdGlvbiB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLW9wdGlvbi5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxT3B0aW9uR3JvdXAgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1vcHRpb24tZ3JvdXAuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcU9wdGlvbkxpc3QgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1vcHRpb24tbGlzdC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUGFnZVRpdGxlIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtcGFnZS10aXRsZS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUGFuZWwgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1wYW5lbC5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUHJvZ3Jlc3MgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1wcm9ncmVzcy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUmFkaW8gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1yYWRpby5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxUmFkaW9Hcm91cCB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLXJhZGlvLWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTZWxlY3QgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1zZWxlY3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVNpZGVNZW51IH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc2lkZS1tZW51LmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTaWRlTWVudUl0ZW0gfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1zaWRlLW1lbnUtaXRlbS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU2xpZGVyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc2xpZGVyLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTcGlubmVyIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc3Bpbm5lci5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU3RhdHVzIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc3RhdHVzLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFTdGVwSXRlbSB9IGZyb20gJ0BiZWVxL2NvcmUvZGlzdC9jb21wb25lbnRzL2JxLXN0ZXAtaXRlbS5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU3RlcHMgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS1zdGVwcy5qcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJxU3dpdGNoIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtc3dpdGNoLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFUYWIgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS10YWIuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRhYkdyb3VwIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtdGFiLWdyb3VwLmpzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQnFUYWcgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS10YWcuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRleHRhcmVhIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtdGV4dGFyZWEuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRvYXN0IH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMvYnEtdG9hc3QuanMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCcVRvb2x0aXAgfSBmcm9tICdAYmVlcS9jb3JlL2Rpc3QvY29tcG9uZW50cy9icS10b29sdGlwLmpzJztcbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFBY2NvcmRpb24sXG4gIGlucHV0czogWydhcHBlYXJhbmNlJywgJ2Rpc2FibGVkJywgJ2V4cGFuZGVkJywgJ25vQW5pbWF0aW9uJywgJ3JvdGF0ZScsICdzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnZGlzYWJsZWQnLCAnZXhwYW5kZWQnLCAnbm9BbmltYXRpb24nLCAncm90YXRlJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUFjY29yZGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUZvY3VzJywgJ2JxT3BlbicsICdicUFmdGVyT3BlbicsICdicUNsb3NlJywgJ2JxQWZ0ZXJDbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUFjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuQnFBY2NvcmRpb24ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYWNjb3JkaW9uIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBhY2NvcmRpb24gZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjY29yZGlvbiBpcyBvcGVuZWRcbiAgICovXG4gIGJxT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBhY2NvcmRpb24gaXMgb3BlbmVkXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUFjY29yZGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjY29yZGlvbiBpcyBjbG9zZWRcbiAgICovXG4gIGJxQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFBY2NvcmRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgYWNjb3JkaW9uIGlzIGNsb3NlZFxuICAgKi9cbiAgYnFBZnRlckNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQWNjb3JkaW9uRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFBY2NvcmRpb25Hcm91cCxcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnZXhwYW5kQWxsJywgJ211bHRpcGxlJywgJ25vQW5pbWF0aW9uJywgJ3NpemUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWFjY29yZGlvbi1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwZWFyYW5jZScsICdleHBhbmRBbGwnLCAnbXVsdGlwbGUnLCAnbm9BbmltYXRpb24nLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQWNjb3JkaW9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUFjY29yZGlvbkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CcUFjY29yZGlvbkdyb3VwIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUFsZXJ0LFxuICBpbnB1dHM6IFsnYXV0b0Rpc21pc3MnLCAnYm9yZGVyJywgJ2Rpc2FibGVDbG9zZScsICdoaWRlSWNvbicsICdvcGVuJywgJ3N0aWNreScsICd0aW1lJywgJ3R5cGUnXSxcbiAgbWV0aG9kczogWydoaWRlJywgJ3Nob3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWFsZXJ0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvRGlzbWlzcycsICdib3JkZXInLCAnZGlzYWJsZUNsb3NlJywgJ2hpZGVJY29uJywgJ29wZW4nLCAnc3RpY2t5JywgJ3RpbWUnLCAndHlwZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQWxlcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUhpZGUnLCAnYnFTaG93JywgJ2JxQWZ0ZXJTaG93JywgJ2JxQWZ0ZXJIaWRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQWxlcnQgZXh0ZW5kcyBDb21wb25lbnRzLkJxQWxlcnQge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYWxlcnQgaXMgaGlkZGVuXG4gICAqL1xuICBicUhpZGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFsZXJ0IGlzIHNob3duXG4gICAqL1xuICBicVNob3c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBhbGVydCBoYXMgYmVlbiBzaG93blxuICAgKi9cbiAgYnFBZnRlclNob3c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBhbGVydCBoYXMgYmVlbiBoaWRkZW5cbiAgICovXG4gIGJxQWZ0ZXJIaWRlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUF2YXRhcixcbiAgaW5wdXRzOiBbJ2FsdFRleHQnLCAnaW1hZ2UnLCAnaW5pdGlhbHMnLCAnbGFiZWwnLCAnc2hhcGUnLCAnc2l6ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtYXZhdGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhbHRUZXh0JywgJ2ltYWdlJywgJ2luaXRpYWxzJywgJ2xhYmVsJywgJ3NoYXBlJywgJ3NpemUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUF2YXRhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxQXZhdGFyIGV4dGVuZHMgQ29tcG9uZW50cy5CcUF2YXRhciB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFCYWRnZSxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvcicsICdzaXplJywgJ3RleHRDb2xvciddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtYmFkZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRDb2xvcicsICdzaXplJywgJ3RleHRDb2xvciddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUJhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5CcUJhZGdlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUJyZWFkY3J1bWIsXG4gIGlucHV0czogWydhcmlhTGFiZWwnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJyZWFkY3J1bWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQnJlYWRjcnVtYiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQnJlYWRjcnVtYkJsdXInLCAnYnFCcmVhZGNydW1iRm9jdXMnLCAnYnFCcmVhZGNydW1iQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFCcmVhZGNydW1iIGV4dGVuZHMgQ29tcG9uZW50cy5CcUJyZWFkY3J1bWIge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBgYnEtYnJlYWRjcnVtYi1pdGVtYCBpdGVtIGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgYnFCcmVhZGNydW1iQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBgYnEtYnJlYWRjcnVtYi1pdGVtYCBpdGVtIGdldHMgZm9jdXMuXG4gICAqL1xuICBicUJyZWFkY3J1bWJGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBgYnEtYnJlYWRjcnVtYi1pdGVtYCBpcyBzZWxlY3RlZCAob24gY2xpY2svZW50ZXIgcHJlc3MpLlxuICAgKi9cbiAgYnFCcmVhZGNydW1iQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCcmVhZGNydW1iSXRlbUVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxQnJlYWRjcnVtYkl0ZW0sXG4gIGlucHV0czogWydhcmlhTGFiZWwnLCAnaHJlZicsICdpc0xhc3RJdGVtJywgJ3JlbCcsICd0YXJnZXQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJyZWFkY3J1bWItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXJpYUxhYmVsJywgJ2hyZWYnLCAnaXNMYXN0SXRlbScsICdyZWwnLCAndGFyZ2V0J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFCcmVhZGNydW1iSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUZvY3VzJywgJ2JxQ2xpY2snXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFCcmVhZGNydW1iSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQnFCcmVhZGNydW1iSXRlbSB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGl0ZW0gbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJyZWFkY3J1bWJJdGVtRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBpdGVtIGlzIGZvY3VzZWRcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCcmVhZGNydW1iSXRlbUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gaXRlbSBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxQnJlYWRjcnVtYkl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUJ1dHRvbixcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnYmxvY2snLCAnYm9yZGVyJywgJ2Rpc2FibGVkJywgJ2Rvd25sb2FkJywgJ2hyZWYnLCAnanVzdGlmeUNvbnRlbnQnLCAnbG9hZGluZycsICdzaXplJywgJ3RhcmdldCcsICd0eXBlJywgJ3ZhcmlhbnQnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYXBwZWFyYW5jZScsICdibG9jaycsICdib3JkZXInLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdqdXN0aWZ5Q29udGVudCcsICdsb2FkaW5nJywgJ3NpemUnLCAndGFyZ2V0JywgJ3R5cGUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFCbHVyJywgJ2JxRm9jdXMnLCAnYnFDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQnFCdXR0b24ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCdXR0b25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcUJ1dHRvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gYnV0dG9uIGdldHMgZm9jdXNcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFCdXR0b25FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUNhcmQsXG4gIGlucHV0czogWydib3JkZXInLCAndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUNhcmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUNhcmQgZXh0ZW5kcyBDb21wb25lbnRzLkJxQ2FyZCB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFDaGVja2JveCxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZm9ybUlkJywgJ2Zvcm1WYWxpZGF0aW9uTWVzc2FnZScsICdpbmRldGVybWluYXRlJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1jaGVja2JveCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmb3JtSWQnLCAnZm9ybVZhbGlkYXRpb25NZXNzYWdlJywgJ2luZGV0ZXJtaW5hdGUnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxQ2hlY2tib3gge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNoYW5nZScsICdicUZvY3VzJywgJ2JxQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUNoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50cy5CcUNoZWNrYm94IHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIGJxQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyBjaGVja2VkOiBib29sZWFuIH0+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGdldHMgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFDaGVja2JveEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGNoZWNrYm94IGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFDaGVja2JveEVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRGF0ZVBpY2tlcixcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGVhckJ1dHRvbkxhYmVsJywgJ2Rpc2FibGVDbGVhcicsICdkaXNhYmxlZCcsICdkaXN0YW5jZScsICdmaXJzdERheU9mV2VlaycsICdmb3JtJywgJ2Zvcm1hdE9wdGlvbnMnLCAnaXNEYXRlRGlzYWxsb3dlZCcsICdsb2NhbGUnLCAnbWF4JywgJ21pbicsICdtb250aHMnLCAnbW9udGhzUGVyVmlldycsICduYW1lJywgJ29wZW4nLCAncGFuZWxIZWlnaHQnLCAncGxhY2Vob2xkZXInLCAncGxhY2VtZW50JywgJ3JlcXVpcmVkJywgJ3Nob3dPdXRzaWRlRGF5cycsICdza2lkZGluZycsICdzdHJhdGVneScsICd0ZW50YXRpdmUnLCAndHlwZScsICd2YWxpZGF0aW9uU3RhdHVzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnY2xlYXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWRhdGUtcGlja2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvZm9jdXMnLCAnY2xlYXJCdXR0b25MYWJlbCcsICdkaXNhYmxlQ2xlYXInLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnZmlyc3REYXlPZldlZWsnLCAnZm9ybScsICdmb3JtYXRPcHRpb25zJywgJ2lzRGF0ZURpc2FsbG93ZWQnLCAnbG9jYWxlJywgJ21heCcsICdtaW4nLCAnbW9udGhzJywgJ21vbnRoc1BlclZpZXcnLCAnbmFtZScsICdvcGVuJywgJ3BhbmVsSGVpZ2h0JywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZXF1aXJlZCcsICdzaG93T3V0c2lkZURheXMnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knLCAndGVudGF0aXZlJywgJ3R5cGUnLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxRGF0ZVBpY2tlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEYXRlUGlja2VyIGV4dGVuZHMgQ29tcG9uZW50cy5CcURhdGVQaWNrZXIge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFEYXRlUGlja2VyRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIGlucHV0IHZhbHVlIGhhcyBjaGFuZ2VkIGFuZCB0aGUgaW5wdXQgbG9zZXMgZm9jdXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIGZpbmlzaGVzIHR5cGluZyBvciBwYXN0aW5nIHRleHQgaW50byB0aGUgaW5wdXQgZmllbGQgYW5kIHRoZW4gY2xpY2tzIG91dHNpZGUgb2YgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IGVsOiBIVE1MQnFEYXRlUGlja2VyRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGJlZW4gY2xlYXJlZFxuICAgKi9cbiAgYnFDbGVhcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcURhdGVQaWNrZXJFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIHJlY2VpdmVkIGZvY3VzXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxRGF0ZVBpY2tlckVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRGlhbG9nLFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2Rpc2FibGVCYWNrZHJvcCcsICdkaXNhYmxlQ2xvc2VDbGlja091dHNpZGUnLCAnZGlzYWJsZUNsb3NlRXNjS2V5ZG93bicsICdmb290ZXJBcHBlYXJhbmNlJywgJ2hpZGVDbG9zZUJ1dHRvbicsICdvcGVuJywgJ3NpemUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnLCAnY2FuY2VsJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kaWFsb2cnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdkaXNhYmxlQmFja2Ryb3AnLCAnZGlzYWJsZUNsb3NlQ2xpY2tPdXRzaWRlJywgJ2Rpc2FibGVDbG9zZUVzY0tleWRvd24nLCAnZm9vdGVyQXBwZWFyYW5jZScsICdoaWRlQ2xvc2VCdXR0b24nLCAnb3BlbicsICdzaXplJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFEaWFsb2cge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNhbmNlbCcsICdicUNsb3NlJywgJ2JxT3BlbicsICdicUFmdGVyT3BlbicsICdicUFmdGVyQ2xvc2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEaWFsb2cgZXh0ZW5kcyBDb21wb25lbnRzLkJxRGlhbG9nIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgaGFzIGJlZW4gY2FuY2VsZWQgb3IgZGlzbWlzc2VkXG4gICAqL1xuICBicUNhbmNlbDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgd2lsbCBjbG9zZVxuICAgKi9cbiAgYnFDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgd2lsbCBvcGVuXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgZGlhbG9nIGZpbmlzaCBvcGVuaW5nXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBkaWFsb2cgZmluaXNoIGNsb3NpbmdcbiAgICovXG4gIGJxQWZ0ZXJDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHZvaWQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRGl2aWRlcixcbiAgaW5wdXRzOiBbJ2Rhc2hlZCcsICdvcmllbnRhdGlvbicsICdzdHJva2VCYXNpcycsICdzdHJva2VDb2xvcicsICdzdHJva2VEYXNoR2FwJywgJ3N0cm9rZURhc2hXaWR0aCcsICdzdHJva2VMaW5lY2FwJywgJ3N0cm9rZVRoaWNrbmVzcycsICd0aXRsZUFsaWdubWVudCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGFzaGVkJywgJ29yaWVudGF0aW9uJywgJ3N0cm9rZUJhc2lzJywgJ3N0cm9rZUNvbG9yJywgJ3N0cm9rZURhc2hHYXAnLCAnc3Ryb2tlRGFzaFdpZHRoJywgJ3N0cm9rZUxpbmVjYXAnLCAnc3Ryb2tlVGhpY2tuZXNzJywgJ3RpdGxlQWxpZ25tZW50J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFEaXZpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFEaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CcURpdmlkZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxRHJhd2VyLFxuICBpbnB1dHM6IFsnY2xvc2VPbkNsaWNrT3V0c2lkZScsICdjbG9zZU9uRXNjJywgJ2VuYWJsZUJhY2tkcm9wJywgJ29wZW4nLCAncGxhY2VtZW50JywgJ3Bvc2l0aW9uJ10sXG4gIG1ldGhvZHM6IFsnaGlkZScsICdzaG93J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kcmF3ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Nsb3NlT25DbGlja091dHNpZGUnLCAnY2xvc2VPbkVzYycsICdlbmFibGVCYWNrZHJvcCcsICdvcGVuJywgJ3BsYWNlbWVudCcsICdwb3NpdGlvbiddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxRHJhd2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbG9zZScsICdicU9wZW4nLCAnYnFBZnRlck9wZW4nLCAnYnFBZnRlckNsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRHJhd2VyIGV4dGVuZHMgQ29tcG9uZW50cy5CcURyYXdlciB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBkcmF3ZXIgaXMgY2xvc2VkXG4gICAqL1xuICBicUNsb3NlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBkcmF3ZXIgaXMgb3BlbmVkXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBkcmF3ZXIgaGFzIGJlZW4gb3BlbmVkXG4gICAqL1xuICBicUFmdGVyT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgYWZ0ZXIgdGhlIGRyYXdlciBoYXMgYmVlbiBjbG9zZWRcbiAgICovXG4gIGJxQWZ0ZXJDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFEcm9wZG93bixcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2Rpc3RhbmNlJywgJ2tlZXBPcGVuT25TZWxlY3QnLCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1kcm9wZG93bicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAna2VlcE9wZW5PblNlbGVjdCcsICdvcGVuJywgJ3BhbmVsSGVpZ2h0JywgJ3BsYWNlbWVudCcsICdzYW1lV2lkdGgnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcURyb3Bkb3duIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFPcGVuJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRHJvcGRvd24gZXh0ZW5kcyBDb21wb25lbnRzLkJxRHJvcGRvd24ge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZHJvcGRvd24gcGFuZWwgaXMgb3BlbmVkIG9yIGNsb3NlZC5cbiAgICovXG4gIGJxT3BlbjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgb3BlbjogYm9vbGVhbiB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUVtcHR5U3RhdGUsXG4gIGlucHV0czogWydzaXplJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1lbXB0eS1zdGF0ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxRW1wdHlTdGF0ZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxRW1wdHlTdGF0ZSBleHRlbmRzIENvbXBvbmVudHMuQnFFbXB0eVN0YXRlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcUljb24sXG4gIGlucHV0czogWydjb2xvcicsICdsYWJlbCcsICduYW1lJywgJ3NpemUnLCAnc3JjJywgJ3dlaWdodCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnY29sb3InLCAnbGFiZWwnLCAnbmFtZScsICdzaXplJywgJ3NyYycsICd3ZWlnaHQnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydzdmdMb2FkZWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CcUljb24ge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgU1ZHIGhhcyBsb2FkZWRcbiAgICovXG4gIHN2Z0xvYWRlZDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFJbnB1dCxcbiAgaW5wdXRzOiBbJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnY2xlYXJCdXR0b25MYWJlbCcsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZUNsZWFyJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnaW5wdXRtb2RlJywgJ21heCcsICdtYXhsZW5ndGgnLCAnbWluJywgJ21pbmxlbmd0aCcsICduYW1lJywgJ3BhdHRlcm4nLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc3RlcCcsICd0eXBlJywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLWlucHV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2NsZWFyQnV0dG9uTGFiZWwnLCAnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVDbGVhcicsICdkaXNhYmxlZCcsICdmb3JtJywgJ2lucHV0bW9kZScsICdtYXgnLCAnbWF4bGVuZ3RoJywgJ21pbicsICdtaW5sZW5ndGgnLCAnbmFtZScsICdwYXR0ZXJuJywgJ3BsYWNlaG9sZGVyJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3N0ZXAnLCAndHlwZScsICd2YWxpZGF0aW9uU3RhdHVzJywgJ3ZhbHVlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFJbnB1dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcUlucHV0IGV4dGVuZHMgQ29tcG9uZW50cy5CcUlucHV0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxSW5wdXRFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgaGFzIGNoYW5nZWQgYW5kIHRoZSBpbnB1dCBsb3NlcyBmb2N1cy5cblRoaXMgaGFuZGxlciBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIG9yIHBhc3RpbmcgdGV4dCBpbnRvIHRoZSBpbnB1dCBmaWVsZCBhbmQgdGhlbiBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IHN0cmluZ1tdOyBlbDogSFRNTEJxSW5wdXRFbGVtZW50IH0+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBpbnB1dCB2YWx1ZSBoYXMgYmVlbiBjbGVhcmVkXG4gICAqL1xuICBicUNsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxSW5wdXRFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaGFzIHJlY2VpdmVkIGZvY3VzXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxSW5wdXRFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgdmFsdWUgY2hhbmdlcy5cblRoaXMgaGFuZGxlciBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgdHlwZXMgb3IgcGFzdGVzIHRleHQgaW50byB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICBicUlucHV0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW107IGVsOiBIVE1MQnFJbnB1dEVsZW1lbnQgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFOb3RpZmljYXRpb24sXG4gIGlucHV0czogWydhdXRvRGlzbWlzcycsICdib3JkZXInLCAnZGlzYWJsZUNsb3NlJywgJ2hpZGVJY29uJywgJ29wZW4nLCAndGltZScsICd0eXBlJ10sXG4gIG1ldGhvZHM6IFsnaGlkZScsICdzaG93JywgJ3RvYXN0J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1ub3RpZmljYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9EaXNtaXNzJywgJ2JvcmRlcicsICdkaXNhYmxlQ2xvc2UnLCAnaGlkZUljb24nLCAnb3BlbicsICd0aW1lJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcU5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxSGlkZScsICdicVNob3cnLCAnYnFBZnRlck9wZW4nLCAnYnFBZnRlckNsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxTm90aWZpY2F0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CcU5vdGlmaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBub3RpZmljYXRpb24gaXMgaGlkZGVuXG4gICAqL1xuICBicUhpZGU6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBpcyBzaG93blxuICAgKi9cbiAgYnFTaG93OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIHRvIGJlIGNhbGxlZCBhZnRlciB0aGUgbm90aWZpY2F0aW9uIGhhcyBiZWVuIG9wZW5lZFxuICAgKi9cbiAgYnFBZnRlck9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGFmdGVyIHRoZSBub3RpZmljYXRpb24gaGFzIGJlZW4gY2xvc2VkXG4gICAqL1xuICBicUFmdGVyQ2xvc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxT3B0aW9uLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaGlkZGVuJywgJ3NlbGVjdGVkJywgJ3ZhbHVlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hpZGRlbicsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxT3B0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFCbHVyJywgJ2JxRm9jdXMnLCAnYnFDbGljaycsICdicUVudGVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxT3B0aW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CcU9wdGlvbiB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIGl0ZW0gbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcU9wdGlvbkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gaXRlbSBpcyBmb2N1c2VkXG4gICAqL1xuICBicUZvY3VzOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxT3B0aW9uRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiBpdGVtIGlzIGNsaWNrZWRcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFPcHRpb25FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCBvbiBlbnRlciBrZXkgcHJlc3NcbiAgICovXG4gIGJxRW50ZXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFPcHRpb25FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcU9wdGlvbkdyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtb3B0aW9uLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogW10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFPcHRpb25Hcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxT3B0aW9uR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJxT3B0aW9uR3JvdXAge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxT3B0aW9uTGlzdCxcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtb3B0aW9uLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FyaWFMYWJlbCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxT3B0aW9uTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxU2VsZWN0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxT3B0aW9uTGlzdCBleHRlbmRzIENvbXBvbmVudHMuQnFPcHRpb25MaXN0IHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gYGJxLW9wdGlvbmAgaXMgc2VsZWN0ZWQgKG9uIGNsaWNrL2VudGVyIHByZXNzKS5cbiAgICovXG4gIGJxU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyBpdGVtOiBIVE1MQnFPcHRpb25FbGVtZW50IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxUGFnZVRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtcGFnZS10aXRsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFtdLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxUGFnZVRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFQYWdlVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkJxUGFnZVRpdGxlIHt9XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVBhbmVsLFxuICBpbnB1dHM6IFsnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1wYW5lbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnZGlzdGFuY2UnLCAnb3BlbicsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5J10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFQYW5lbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxUGFuZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJxUGFuZWwge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxUHJvZ3Jlc3MsXG4gIGlucHV0czogWydib3JkZXJTaGFwZScsICdlbmFibGVUb29sdGlwJywgJ2luZGV0ZXJtaW5hdGUnLCAnbGFiZWwnLCAndGhpY2tuZXNzJywgJ3R5cGUnLCAndmFsdWUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXByb2dyZXNzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydib3JkZXJTaGFwZScsICdlbmFibGVUb29sdGlwJywgJ2luZGV0ZXJtaW5hdGUnLCAnbGFiZWwnLCAndGhpY2tuZXNzJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVByb2dyZXNzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFQcm9ncmVzcyBleHRlbmRzIENvbXBvbmVudHMuQnFQcm9ncmVzcyB7fVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFSYWRpbyxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnZm9ybUlkJywgJ25hbWUnLCAncmVxdWlyZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1yYWRpbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmb3JtSWQnLCAnbmFtZScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxUmFkaW8ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNsaWNrJywgJ2JxRm9jdXMnLCAnYnFCbHVyJywgJ2JxS2V5RG93biddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5CcVJhZGlvIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIHN0YXRlIGNoYW5nZXNcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIGdldHMgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFSYWRpb0VsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHJhZGlvIGtleSBpcyBwcmVzc2VkXG4gICAqL1xuICBicUtleURvd246IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxLZXlib2FyZEV2ZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVJhZGlvR3JvdXAsXG4gIGlucHV0czogWydiYWNrZ3JvdW5kT25Ib3ZlcicsICdkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZWQnLCAnZmllbGRzZXQnLCAnbmFtZScsICdvcmllbnRhdGlvbicsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtcmFkaW8tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmRPbkhvdmVyJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlZCcsICdmaWVsZHNldCcsICduYW1lJywgJ29yaWVudGF0aW9uJywgJ3ZhbHVlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFSYWRpb0dyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFSYWRpb0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CcVJhZGlvR3JvdXAge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgcmFkaW8gc3RhdGUgY2hhbmdlc1xuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IHRhcmdldDogSFRNTEJxUmFkaW9FbGVtZW50IH0+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU2VsZWN0LFxuICBpbnB1dHM6IFsnYXV0b2ZvY3VzJywgJ2NsZWFyQnV0dG9uTGFiZWwnLCAnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVDbGVhcicsICdkaXNhYmxlZCcsICdkaXN0YW5jZScsICdmb3JtJywgJ2tlZXBPcGVuT25TZWxlY3QnLCAnbWF4VGFnc1Zpc2libGUnLCAnbXVsdGlwbGUnLCAnbmFtZScsICdvcGVuJywgJ3BhbmVsSGVpZ2h0JywgJ3BsYWNlaG9sZGVyJywgJ3BsYWNlbWVudCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzYW1lV2lkdGgnLCAnc2tpZGRpbmcnLCAnc3RyYXRlZ3knLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NsZWFyJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zZWxlY3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9mb2N1cycsICdjbGVhckJ1dHRvbkxhYmVsJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlQ2xlYXInLCAnZGlzYWJsZWQnLCAnZGlzdGFuY2UnLCAnZm9ybScsICdrZWVwT3Blbk9uU2VsZWN0JywgJ21heFRhZ3NWaXNpYmxlJywgJ211bHRpcGxlJywgJ25hbWUnLCAnb3BlbicsICdwYW5lbEhlaWdodCcsICdwbGFjZWhvbGRlcicsICdwbGFjZW1lbnQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2FtZVdpZHRoJywgJ3NraWRkaW5nJywgJ3N0cmF0ZWd5JywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVNlbGVjdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFTZWxlY3QnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTZWxlY3QgZXh0ZW5kcyBDb21wb25lbnRzLkJxU2VsZWN0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBTZWxlY3QgaW5wdXQgbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNlbGVjdEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCB2YWx1ZSBoYXMgYmVlbiBjbGVhcmVkXG4gICAqL1xuICBicUNsZWFyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2VsZWN0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIFNlbGVjdCBpbnB1dCBoYXMgcmVjZWl2ZWQgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTZWxlY3RFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgc2VsZWN0ZWQgdmFsdWUgaGFzIGNoYW5nZWRcbiAgICovXG4gIGJxU2VsZWN0OiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgc3RyaW5nW107IGl0ZW06IEhUTUxCcU9wdGlvbkVsZW1lbnQgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFTaWRlTWVudSxcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnY29sbGFwc2UnLCAnc2l6ZSddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZUNvbGxhcHNlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zaWRlLW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FwcGVhcmFuY2UnLCAnY29sbGFwc2UnLCAnc2l6ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxU2lkZU1lbnUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydicUNvbGxhcHNlJywgJ2JxU2VsZWN0J10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU2lkZU1lbnUgZXh0ZW5kcyBDb21wb25lbnRzLkJxU2lkZU1lbnUge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgU2lkZSBtZW51IGNoYW5nZXMgaXRzIHdpZHRoIGZyb20gZXhwYW5kZWQgdG8gY29sbGFwc2UgYW5kIHZpY2UgdmVyc2FcbiAgICovXG4gIGJxQ29sbGFwc2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IGNvbGxhcHNlOiBib29sZWFuIH0+PjtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIGFjdGl2ZS9zZWxlY3RlZCBtZW51IGl0ZW0gY2hhbmdlc1xuICAgKi9cbiAgYnFTZWxlY3Q6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVNpZGVNZW51SXRlbSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb2xsYXBzZScsICdkaXNhYmxlZCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc2lkZS1tZW51LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb2xsYXBzZScsICdkaXNhYmxlZCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxU2lkZU1lbnVJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFCbHVyJywgJ2JxRm9jdXMnLCAnYnFDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVNpZGVNZW51SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQnFTaWRlTWVudUl0ZW0ge1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNpZGVNZW51SXRlbUVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gYnV0dG9uIGdldHMgZm9jdXNcbiAgICovXG4gIGJxQ2xpY2s6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFTaWRlTWVudUl0ZW1FbGVtZW50Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVNsaWRlcixcbiAgaW5wdXRzOiBbJ2RlYm91bmNlVGltZScsICdkaXNhYmxlZCcsICdlbmFibGVUb29sdGlwJywgJ2VuYWJsZVZhbHVlSW5kaWNhdG9yJywgJ2dhcCcsICdtYXgnLCAnbWluJywgJ3N0ZXAnLCAndG9vbHRpcEFsd2F5c1Zpc2libGUnLCAndHlwZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc2xpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZWQnLCAnZW5hYmxlVG9vbHRpcCcsICdlbmFibGVWYWx1ZUluZGljYXRvcicsICdnYXAnLCAnbWF4JywgJ21pbicsICdzdGVwJywgJ3Rvb2x0aXBBbHdheXNWaXNpYmxlJywgJ3R5cGUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVNsaWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQ2hhbmdlJywgJ2JxQmx1cicsICdicUZvY3VzJ10pO1xuICB9XG59XG5cblxuaW1wb3J0IHR5cGUgeyBUU2xpZGVyVmFsdWUgYXMgSUJxU2xpZGVyVFNsaWRlclZhbHVlIH0gZnJvbSAnQGJlZXEvY29yZS9kaXN0L2NvbXBvbmVudHMnO1xuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTbGlkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJxU2xpZGVyIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gY2hhbmdlIHRoZSB2YWx1ZSBvbiByYW5nZSBpbnB1dHNcbiAgICovXG4gIGJxQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8eyB2YWx1ZTogRXhjbHVkZTxJQnFTbGlkZXJUU2xpZGVyVmFsdWUsIHN0cmluZz47IGVsOiBIVE1MQnFTbGlkZXJFbGVtZW50IH0+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHNsaWRlciBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU2xpZGVyRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgc2xpZGVyIGdldHMgZm9jdXNlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVNsaWRlckVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3Bpbm5lcixcbiAgaW5wdXRzOiBbJ2FuaW1hdGlvbicsICdzaXplJywgJ3RleHRQb3NpdGlvbiddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc3Bpbm5lcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYW5pbWF0aW9uJywgJ3NpemUnLCAndGV4dFBvc2l0aW9uJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTcGlubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5CcVNwaW5uZXIge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3RhdHVzLFxuICBpbnB1dHM6IFsndHlwZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtc3RhdHVzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWyd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFTdGF0dXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVN0YXR1cyBleHRlbmRzIENvbXBvbmVudHMuQnFTdGF0dXMge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3RlcEl0ZW0sXG4gIGlucHV0czogWydzaXplJywgJ3N0YXR1cycsICd0eXBlJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS1zdGVwLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ3NpemUnLCAnc3RhdHVzJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVN0ZXBJdGVtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVN0ZXBJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CcVN0ZXBJdGVtIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSBzdGVwIGl0ZW0gaXMgY2xpY2tlZFxuICAgKi9cbiAgYnFDbGljazogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdGFyZ2V0OiBIVE1MQnFTdGVwSXRlbUVsZW1lbnQ7IHZhbHVlOiBzdHJpbmcgfT4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFTdGVwcyxcbiAgaW5wdXRzOiBbJ2RpdmlkZXJDb2xvcicsICdzaXplJywgJ3R5cGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkaXZpZGVyQ29sb3InLCAnc2l6ZScsICd0eXBlJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFTdGVwcyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJxU3RlcHMgZXh0ZW5kcyBDb21wb25lbnRzLkJxU3RlcHMge31cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxU3dpdGNoLFxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmdWxsV2lkdGgnLCAnaW5uZXJMYWJlbCcsICdqdXN0aWZ5Q29udGVudCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3JldmVyc2VPcmRlcicsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3ZDbGljaycsICd2Rm9jdXMnLCAndkJsdXInXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXN3aXRjaCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYmFja2dyb3VuZE9uSG92ZXInLCAnY2hlY2tlZCcsICdkaXNhYmxlZCcsICdmdWxsV2lkdGgnLCAnaW5uZXJMYWJlbCcsICdqdXN0aWZ5Q29udGVudCcsICduYW1lJywgJ3JlcXVpcmVkJywgJ3JldmVyc2VPcmRlcicsICd2YWx1ZSddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxU3dpdGNoIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDaGFuZ2UnLCAnYnFGb2N1cycsICdicUJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFTd2l0Y2ggZXh0ZW5kcyBDb21wb25lbnRzLkJxU3dpdGNoIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHN3aXRjaCBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgY2hlY2tlZDogYm9vbGVhbiB9Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBzd2l0Y2ggZ2V0cyBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVN3aXRjaEVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHN3aXRjaCBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxU3dpdGNoRWxlbWVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFUYWIsXG4gIGlucHV0czogWydhY3RpdmUnLCAnY29udHJvbHMnLCAnZGlzYWJsZWQnLCAnb3JpZW50YXRpb24nLCAncGxhY2VtZW50JywgJ3NpemUnLCAndGFiSWQnXSxcbiAgbWV0aG9kczogWyd2Q2xpY2snLCAndkZvY3VzJywgJ3ZCbHVyJywgJ2VuYWJsZUZvY3VzJ11cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdicS10YWInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjb250cm9scycsICdkaXNhYmxlZCcsICdvcmllbnRhdGlvbicsICdwbGFjZW1lbnQnLCAnc2l6ZScsICd0YWJJZCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxVGFiIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbGljaycsICdicUZvY3VzJywgJ2JxQmx1cicsICdicUtleURvd24nXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFUYWIgZXh0ZW5kcyBDb21wb25lbnRzLkJxVGFiIHtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHRhYiBzdGF0ZSBjaGFuZ2VzXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGFiRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFiIGdldHMgZm9jdXNcbiAgICovXG4gIGJxRm9jdXM6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWJFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0YWIgbG9zZXMgZm9jdXNcbiAgICovXG4gIGJxQmx1cjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhYkVsZW1lbnQ+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHRhYiBrZXkgaXMgcHJlc3NlZFxuICAgKi9cbiAgYnFLZXlEb3duOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4+O1xufVxuXG5cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQnFUYWJHcm91cCxcbiAgaW5wdXRzOiBbJ2RlYm91bmNlVGltZScsICdkaXNhYmxlRGl2aWRlcicsICdvcmllbnRhdGlvbicsICdwbGFjZW1lbnQnLCAnc2l6ZScsICd2YWx1ZSddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtdGFiLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXRzLW1ldGFkYXRhLXByb3BlcnR5XG4gIGlucHV0czogWydkZWJvdW5jZVRpbWUnLCAnZGlzYWJsZURpdmlkZXInLCAnb3JpZW50YXRpb24nLCAncGxhY2VtZW50JywgJ3NpemUnLCAndmFsdWUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRhYkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQnFUYWJHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQnFUYWJHcm91cCB7XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSB0YWIgdmFsdWUgY2hhbmdlc1xuICAgKi9cbiAgYnFDaGFuZ2U6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDx7IHRhcmdldDogSFRNTEJxVGFiRWxlbWVudDsgdmFsdWU6IHN0cmluZyB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVRhZyxcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdjbGlja2FibGUnLCAnY29sb3InLCAnZGlzYWJsZWQnLCAnaGlkZGVuJywgJ3JlbW92YWJsZScsICdzZWxlY3RlZCcsICdzaXplJywgJ3ZhcmlhbnQnXSxcbiAgbWV0aG9kczogWydoaWRlJywgJ3Nob3cnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXRhZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0cy1tZXRhZGF0YS1wcm9wZXJ0eVxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb2xvcicsICdkaXNhYmxlZCcsICdoaWRkZW4nLCAncmVtb3ZhYmxlJywgJ3NlbGVjdGVkJywgJ3NpemUnLCAndmFyaWFudCddLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJxVGFnIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFDbG9zZScsICdicU9wZW4nLCAnYnFCbHVyJywgJ2JxQ2xpY2snLCAnYnFGb2N1cyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRhZyBleHRlbmRzIENvbXBvbmVudHMuQnFUYWcge1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFnIGlzIGNsb3NlL2hpZGRlblxuICAgKi9cbiAgYnFDbG9zZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PGFueT4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgdGFnIGlzIG5vdCBvcGVuL3Nob3duXG4gICAqL1xuICBicU9wZW46IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqXG4gICAqIEhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGFnIGxvc2VzIGZvY3VzXG4gICAqL1xuICBicUJsdXI6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUYWdFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBIYW5kbGVyIHRvIGJlIGNhbGxlZCB3aGVuIHRhZyBpcyBjbGlja2VkXG4gICAqL1xuICBicUNsaWNrOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGFnRWxlbWVudD4+O1xuICAvKipcbiAgICogSGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0YWcgaXMgZm9jdXNlZFxuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRhZ0VsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxVGV4dGFyZWEsXG4gIGlucHV0czogWydhdXRvR3JvdycsICdhdXRvY2FwaXRhbGl6ZScsICdhdXRvY29tcGxldGUnLCAnYXV0b2NvcnJlY3QnLCAnYXV0b2ZvY3VzJywgJ2RlYm91bmNlVGltZScsICdkaXNhYmxlUmVzaXplJywgJ2Rpc2FibGVkJywgJ2Zvcm0nLCAnbWF4bGVuZ3RoJywgJ25hbWUnLCAncGxhY2Vob2xkZXInLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAncm93cycsICdzcGVsbGNoZWNrJywgJ3ZhbGlkYXRpb25TdGF0dXMnLCAndmFsdWUnLCAnd3JhcCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtdGV4dGFyZWEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2F1dG9Hcm93JywgJ2F1dG9jYXBpdGFsaXplJywgJ2F1dG9jb21wbGV0ZScsICdhdXRvY29ycmVjdCcsICdhdXRvZm9jdXMnLCAnZGVib3VuY2VUaW1lJywgJ2Rpc2FibGVSZXNpemUnLCAnZGlzYWJsZWQnLCAnZm9ybScsICdtYXhsZW5ndGgnLCAnbmFtZScsICdwbGFjZWhvbGRlcicsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdyb3dzJywgJ3NwZWxsY2hlY2snLCAndmFsaWRhdGlvblN0YXR1cycsICd2YWx1ZScsICd3cmFwJ10sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQnFUZXh0YXJlYSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JxQmx1cicsICdicUNoYW5nZScsICdicUNsZWFyJywgJ2JxRm9jdXMnLCAnYnFJbnB1dCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRleHRhcmVhIGV4dGVuZHMgQ29tcG9uZW50cy5CcVRleHRhcmVhIHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgZW1pdHRlZCB3aGVuIHRoZSB0ZXh0YXJlYSBsb3NlcyBmb2N1c1xuICAgKi9cbiAgYnFCbHVyOiBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ8SFRNTEJxVGV4dGFyZWFFbGVtZW50Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgdmFsdWUgaGFzIGNoYW5nZWQgYW5kIHRoZSB0ZXh0YXJlYSBsb3NlcyBmb2N1cy5cblRoaXMgaGFuZGxlciBpcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIG9yIHBhc3RpbmcgdGV4dCBpbnRvIHRoZSB0ZXh0YXJlYSBmaWVsZCBhbmQgdGhlbiBjbGlja3Mgb3V0c2lkZSBvZiB0aGUgdGV4dGFyZWEgZmllbGQuXG4gICAqL1xuICBicUNoYW5nZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgZWw6IEhUTUxCcVRleHRhcmVhRWxlbWVudCB9Pj47XG4gIC8qKlxuICAgKiBDYWxsYmFjayBoYW5kbGVyIGVtaXR0ZWQgd2hlbiB0aGUgdGV4dGFyZWEgdmFsdWUgaGFzIGJlZW4gY2xlYXJlZFxuICAgKi9cbiAgYnFDbGVhcjogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRleHRhcmVhRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIHRleHRhcmVhIGhhcyByZWNlaXZlZCBmb2N1c1xuICAgKi9cbiAgYnFGb2N1czogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRleHRhcmVhRWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciBlbWl0dGVkIHdoZW4gdGhlIHRleHRhcmVhIHZhbHVlIGNoYW5nZXMuXG5UaGlzIGhhbmRsZXIgaXMgY2FsbGVkIHdoZW5ldmVyIHRoZSB1c2VyIHR5cGVzIG9yIHBhc3RlcyB0ZXh0IGludG8gdGhlIHRleHRhcmVhIGZpZWxkLlxuICAgKi9cbiAgYnFJbnB1dDogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PHsgdmFsdWU6IHN0cmluZzsgZWw6IEhUTUxCcVRleHRhcmVhRWxlbWVudCB9Pj47XG59XG5cblxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCcVRvYXN0LFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2hpZGVJY29uJywgJ29wZW4nLCAncGxhY2VtZW50JywgJ3RpbWUnLCAndHlwZSddLFxuICBtZXRob2RzOiBbJ3Nob3cnLCAnaGlkZScsICd0b2FzdCddXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnEtdG9hc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdoaWRlSWNvbicsICdvcGVuJywgJ3BsYWNlbWVudCcsICd0aW1lJywgJ3R5cGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRvYXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYnFIaWRlJywgJ2JxU2hvdyddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5CcVRvYXN0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGhhbmRsZXIgdG8gYmUgY2FsbGVkIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBpcyBoaWRkZW5cbiAgICovXG4gIGJxSGlkZTogRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PEhUTUxCcVRvYXN0RWxlbWVudD4+O1xuICAvKipcbiAgICogQ2FsbGJhY2sgaGFuZGxlciB0byBiZSBjYWxsZWQgd2hlbiB0aGUgbm90aWZpY2F0aW9uIGlzIHNob3duXG4gICAqL1xuICBicVNob3c6IEV2ZW50RW1pdHRlcjxDdXN0b21FdmVudDxIVE1MQnFUb2FzdEVsZW1lbnQ+Pjtcbn1cblxuXG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJxVG9vbHRpcCxcbiAgaW5wdXRzOiBbJ2Fsd2F5c1Zpc2libGUnLCAnZGlzcGxheU9uJywgJ2Rpc3RhbmNlJywgJ2hpZGVBcnJvdycsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3Zpc2libGUnXSxcbiAgbWV0aG9kczogWydzaG93JywgJ2hpZGUnXVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JxLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dHMtbWV0YWRhdGEtcHJvcGVydHlcbiAgaW5wdXRzOiBbJ2Fsd2F5c1Zpc2libGUnLCAnZGlzcGxheU9uJywgJ2Rpc3RhbmNlJywgJ2hpZGVBcnJvdycsICdwbGFjZW1lbnQnLCAnc2FtZVdpZHRoJywgJ3Zpc2libGUnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCcVRvb2x0aXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCcVRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLkJxVG9vbHRpcCB7fVxuXG5cbiJdfQ==