@baloise/ds-angular 18.1.0 → 18.2.0-nightly.20250326
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.
|
@@ -1288,11 +1288,11 @@ let BalListItem = class BalListItem {
|
|
|
1288
1288
|
proxyOutputs(this, this.el, ['balNavigate', 'balGroupStateChanged', 'balWillAnimate', 'balDidAnimate']);
|
|
1289
1289
|
}
|
|
1290
1290
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BalListItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1291
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalListItem, isStandalone: true, selector: "bal-list-item", inputs: { accordion: "accordion", clickable: "clickable", disabled: "disabled", download: "download", href: "href", selected: "selected", subAccordionItem: "subAccordionItem", target: "target" }, outputs: { balNavigate: "balNavigate", balGroupStateChanged: "balGroupStateChanged", balWillAnimate: "balWillAnimate", balDidAnimate: "balDidAnimate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1291
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalListItem, isStandalone: true, selector: "bal-list-item", inputs: { accordion: "accordion", clickable: "clickable", disabled: "disabled", download: "download", href: "href", rel: "rel", selected: "selected", subAccordionItem: "subAccordionItem", target: "target" }, outputs: { balNavigate: "balNavigate", balGroupStateChanged: "balGroupStateChanged", balWillAnimate: "balWillAnimate", balDidAnimate: "balDidAnimate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1292
1292
|
};
|
|
1293
1293
|
BalListItem = __decorate([
|
|
1294
1294
|
ProxyCmp({
|
|
1295
|
-
inputs: ['accordion', 'clickable', 'disabled', 'download', 'href', 'selected', 'subAccordionItem', 'target'],
|
|
1295
|
+
inputs: ['accordion', 'clickable', 'disabled', 'download', 'href', 'rel', 'selected', 'subAccordionItem', 'target'],
|
|
1296
1296
|
methods: ['present', 'dismiss', 'toggle'],
|
|
1297
1297
|
defineCustomElementFn: defineBalListItem
|
|
1298
1298
|
}),
|
|
@@ -1306,7 +1306,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
1306
1306
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1307
1307
|
template: '<ng-content></ng-content>',
|
|
1308
1308
|
standalone: true,
|
|
1309
|
-
inputs: ['accordion', 'clickable', 'disabled', 'download', 'href', 'selected', 'subAccordionItem', 'target'],
|
|
1309
|
+
inputs: ['accordion', 'clickable', 'disabled', 'download', 'href', 'rel', 'selected', 'subAccordionItem', 'target'],
|
|
1310
1310
|
outputs: ['balNavigate', 'balGroupStateChanged', 'balWillAnimate', 'balDidAnimate']
|
|
1311
1311
|
}]
|
|
1312
1312
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -1830,11 +1830,11 @@ let BalNavbarBrand = class BalNavbarBrand {
|
|
|
1830
1830
|
proxyOutputs(this, this.el, ['balNavigate', 'balWillAnimate', 'balDidAnimate']);
|
|
1831
1831
|
}
|
|
1832
1832
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BalNavbarBrand, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1833
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalNavbarBrand, isStandalone: true, selector: "bal-navbar-brand", inputs: { animated: "animated", href: "href", logo: "logo", logoClickable: "logoClickable", logoLabel: "logoLabel", logoSize: "logoSize", simple: "simple", target: "target" }, outputs: { balNavigate: "balNavigate", balWillAnimate: "balWillAnimate", balDidAnimate: "balDidAnimate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1833
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalNavbarBrand, isStandalone: true, selector: "bal-navbar-brand", inputs: { animated: "animated", href: "href", logo: "logo", logoClickable: "logoClickable", logoLabel: "logoLabel", logoSize: "logoSize", rel: "rel", simple: "simple", target: "target" }, outputs: { balNavigate: "balNavigate", balWillAnimate: "balWillAnimate", balDidAnimate: "balDidAnimate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1834
1834
|
};
|
|
1835
1835
|
BalNavbarBrand = __decorate([
|
|
1836
1836
|
ProxyCmp({
|
|
1837
|
-
inputs: ['animated', 'href', 'logo', 'logoClickable', 'logoLabel', 'logoSize', 'simple', 'target'],
|
|
1837
|
+
inputs: ['animated', 'href', 'logo', 'logoClickable', 'logoLabel', 'logoSize', 'rel', 'simple', 'target'],
|
|
1838
1838
|
defineCustomElementFn: defineBalNavbarBrand
|
|
1839
1839
|
}),
|
|
1840
1840
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
@@ -1847,7 +1847,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
1847
1847
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1848
1848
|
template: '<ng-content></ng-content>',
|
|
1849
1849
|
standalone: true,
|
|
1850
|
-
inputs: ['animated', 'href', 'logo', 'logoClickable', 'logoLabel', 'logoSize', 'simple', 'target'],
|
|
1850
|
+
inputs: ['animated', 'href', 'logo', 'logoClickable', 'logoLabel', 'logoSize', 'rel', 'simple', 'target'],
|
|
1851
1851
|
outputs: ['balNavigate', 'balWillAnimate', 'balDidAnimate']
|
|
1852
1852
|
}]
|
|
1853
1853
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -2466,11 +2466,11 @@ let BalStageBackLink = class BalStageBackLink {
|
|
|
2466
2466
|
this.el = r.nativeElement;
|
|
2467
2467
|
}
|
|
2468
2468
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BalStageBackLink, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2469
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalStageBackLink, isStandalone: true, selector: "bal-stage-back-link", inputs: { href: "href", inverted: "inverted", shadow: "shadow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2469
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalStageBackLink, isStandalone: true, selector: "bal-stage-back-link", inputs: { href: "href", inverted: "inverted", rel: "rel", shadow: "shadow" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2470
2470
|
};
|
|
2471
2471
|
BalStageBackLink = __decorate([
|
|
2472
2472
|
ProxyCmp({
|
|
2473
|
-
inputs: ['href', 'inverted', 'shadow'],
|
|
2473
|
+
inputs: ['href', 'inverted', 'rel', 'shadow'],
|
|
2474
2474
|
defineCustomElementFn: defineBalStageBackLink
|
|
2475
2475
|
}),
|
|
2476
2476
|
__metadata("design:paramtypes", [ChangeDetectorRef, ElementRef, NgZone])
|
|
@@ -2483,7 +2483,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
2483
2483
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2484
2484
|
template: '<ng-content></ng-content>',
|
|
2485
2485
|
standalone: true,
|
|
2486
|
-
inputs: ['href', 'inverted', 'shadow']
|
|
2486
|
+
inputs: ['href', 'inverted', 'rel', 'shadow']
|
|
2487
2487
|
}]
|
|
2488
2488
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2489
2489
|
let BalStageBody = class BalStageBody {
|
|
@@ -2596,11 +2596,11 @@ let BalStepItem = class BalStepItem {
|
|
|
2596
2596
|
proxyOutputs(this, this.el, ['balNavigate']);
|
|
2597
2597
|
}
|
|
2598
2598
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: BalStepItem, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2599
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalStepItem, isStandalone: true, selector: "bal-step-item", inputs: { active: "active", disabled: "disabled", done: "done", failed: "failed", href: "href", invisible: "invisible", label: "label", prevent: "prevent", target: "target", value: "value" }, outputs: { balNavigate: "balNavigate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2599
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: BalStepItem, isStandalone: true, selector: "bal-step-item", inputs: { active: "active", disabled: "disabled", done: "done", failed: "failed", href: "href", invisible: "invisible", label: "label", prevent: "prevent", rel: "rel", target: "target", value: "value" }, outputs: { balNavigate: "balNavigate" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2600
2600
|
};
|
|
2601
2601
|
BalStepItem = __decorate([
|
|
2602
2602
|
ProxyCmp({
|
|
2603
|
-
inputs: ['active', 'disabled', 'done', 'failed', 'href', 'invisible', 'label', 'prevent', 'target', 'value'],
|
|
2603
|
+
inputs: ['active', 'disabled', 'done', 'failed', 'href', 'invisible', 'label', 'prevent', 'rel', 'target', 'value'],
|
|
2604
2604
|
methods: ['getOptions', 'setActive'],
|
|
2605
2605
|
defineCustomElementFn: defineBalStepItem
|
|
2606
2606
|
}),
|
|
@@ -2614,7 +2614,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
2614
2614
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2615
2615
|
template: '<ng-content></ng-content>',
|
|
2616
2616
|
standalone: true,
|
|
2617
|
-
inputs: ['active', 'disabled', 'done', 'failed', 'href', 'invisible', 'label', 'prevent', 'target', 'value'],
|
|
2617
|
+
inputs: ['active', 'disabled', 'done', 'failed', 'href', 'invisible', 'label', 'prevent', 'rel', 'target', 'value'],
|
|
2618
2618
|
outputs: ['balNavigate']
|
|
2619
2619
|
}]
|
|
2620
2620
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
@@ -2875,4 +2875,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
|
|
|
2875
2875
|
outputs: ['balWillAnimate', 'balDidAnimate']
|
|
2876
2876
|
}]
|
|
2877
2877
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
|
|
2878
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvcHJveGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWtELE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLElBQUksZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxD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VSxFQUFFLElBQUk7b0JBQ2hCLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztvQkFDcEQsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDO2lCQUN0Qjs7QUEwQk0sSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtJQU1yQixZQUFZLENBQW9CLEVBQUUsQ0FBYSxFQUFZLENBQVM7UUFBVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ2xFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUMxQixZQUFZLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUM7OEdBVlUsVUFBVTtrR0FBVixVQUFVLGtRQUxYLDJCQUEyQjs7QUFLMUIsVUFBVTtJQVp0QixRQUFRLENBQUM7UUFDUixNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDNUQscUJBQXFCLEVBQUUsZ0JBQWdCO0tBQ3hDLENBQUM7cUNBZWUsaUJBQWlCLEVBQUssVUFBVSxFQUFlLE1BQU07R0FOekQsVUFBVSxDQVd0Qjs7MkZBWFksVUFBVTtrQkFSdEIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixNQUFNLEVBQUUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7b0JBQzVELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogYXV0by1nZW5lcmF0ZWQgYW5ndWxhciBkaXJlY3RpdmUgcHJveGllcyAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE5nWm9uZSwgRXZlbnRFbWl0dGVyLCBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJveHlDbXAsIHByb3h5T3V0cHV0cyB9IGZyb20gJy4vYW5ndWxhci1jb21wb25lbnQtbGliL3V0aWxzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQWNjb3JkaW9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1hY2NvcmRpb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxBY2NvcmRpb25EZXRhaWxzIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1hY2NvcmRpb24tZGV0YWlscyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEFjY29yZGlvblN1bW1hcnkgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWFjY29yZGlvbi1zdW1tYXJ5JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQWNjb3JkaW9uVHJpZ2dlciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYWNjb3JkaW9uLXRyaWdnZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxBcHAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWFwcCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEJhZGdlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1iYWRnZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEJ1dHRvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYnV0dG9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQnV0dG9uR3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWJ1dHRvbi1ncm91cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkQWN0aW9ucyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2FyZC1hY3Rpb25zJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2FyZEJ1dHRvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2FyZC1idXR0b24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkQ29udGVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2FyZC1jb250ZW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2FyZFN1YnRpdGxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLXN1YnRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2FyZFRpdGxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLXRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2Fyb3VzZWwgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcm91c2VsJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2Fyb3VzZWxJdGVtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJvdXNlbC1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2hlY2tib3hCdXR0b24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNoZWNrYm94LWJ1dHRvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENsb3NlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jbG9zZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENvbnRlbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNvbnRlbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEYXRhIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRhJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0YUl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGEtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGFMYWJlbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0YS1sYWJlbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGFWYWx1ZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0YS12YWx1ZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGVDYWxlbmRhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0ZS1jYWxlbmRhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGVDYWxlbmRhckNlbGwgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGUtY2FsZW5kYXItY2VsbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERpdmlkZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRpdmlkZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZmllbGQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZENvbnRyb2wgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpZWxkLWNvbnRyb2wnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZEhpbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpZWxkLWhpbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGaWVsZExhYmVsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1maWVsZC1sYWJlbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZpZWxkTWVzc2FnZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZmllbGQtbWVzc2FnZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZvb3RlciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9vdGVyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9ybSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9ybSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZvcm1Db2wgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZvcm0tY29sJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9ybUdyaWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZvcm0tZ3JpZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEhlYWRpbmcgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWhlYWRpbmcnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxIaW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1oaW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSGludFRleHQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWhpbnQtdGV4dCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEhpbnRUaXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaGludC10aXRsZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEljb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWljb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxJbnB1dEdyb3VwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1pbnB1dC1ncm91cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExhYmVsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1sYWJlbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1BY2NvcmRpb25Cb2R5IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0tYWNjb3JkaW9uLWJvZHknO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbUFjY29yZGlvbkhlYWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS1hY2NvcmRpb24taGVhZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtQ29udGVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLWNvbnRlbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbUljb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS1pY29uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1TdWJ0aXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLXN1YnRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1UaXRsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLXRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTG9nbyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbG9nbyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE1vZGFsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1tb2RhbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE1vZGFsQm9keSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbW9kYWwtYm9keSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE1vZGFsSGVhZGVyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1tb2RhbC1oZWFkZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXYgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdkxpbmsgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1saW5rJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TGlua0dyaWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1saW5rLWdyaWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZMaW5rR3JpZENvbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LWxpbmstZ3JpZC1jb2wnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZMaW5rR3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdi1saW5rLWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TWVudUJhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LW1lbnUtYmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TWVudUZseW91dCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LW1lbnUtZmx5b3V0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TWV0YUJhciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LW1ldGEtYmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2YmFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXZiYXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXJCcmFuZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2YmFyLWJyYW5kJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2YmFyTWVudSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2YmFyLW1lbnUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXJNZW51RW5kIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXZiYXItbWVudS1lbmQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXJNZW51U3RhcnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdmJhci1tZW51LXN0YXJ0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTm90aWNlcyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbm90aWNlcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5vdGlmaWNhdGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsT3B0aW9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1vcHRpb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxPcHRpb25MaXN0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1vcHRpb24tbGlzdCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFBhZ2luYXRpb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXBhZ2luYXRpb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxQb3BvdmVyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1wb3BvdmVyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUG9wb3ZlckNvbnRlbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXBvcG92ZXItY29udGVudCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFBvcHVwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1wb3B1cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFByb2dyZXNzQmFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxSYWRpbyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcmFkaW8nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxSYWRpb0J1dHRvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcmFkaW8tYnV0dG9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2VnbWVudEl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNlZ21lbnQtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNlbGVjdE9wdGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc2VsZWN0LW9wdGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNoYXBlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zaGFwZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNoZWV0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zaGVldCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNuYWNrYmFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zbmFja2Jhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFNwaW5uZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNwaW5uZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFjayB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhY2snO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUJhY2tMaW5rIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFnZS1iYWNrLWxpbmsnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUJvZHkgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWJvZHknO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUZvb3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWZvb3QnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUhlYWQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWhlYWQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGFnZUltYWdlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFnZS1pbWFnZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0ZXBJdGVtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGVwLWl0ZW0nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTdGVwcyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RlcHMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUYWJJdGVtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10YWItaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRhYmxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10YWJsZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRhYnMgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhYnMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUYWcgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhZyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRhZ0dyb3VwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10YWctZ3JvdXAnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUZXh0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10ZXh0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVG9hc3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRvYXN0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVG9vbHRpcCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdG9vbHRpcCc7XG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50cywgRmlsZVVwbG9hZFJlamVjdGVkRmlsZSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cyc7XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEFjY29yZGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsQWNjb3JkaW9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NhcmQnLCAnY2xvc2VJY29uJywgJ2Nsb3NlTGFiZWwnLCAnZGVib3VuY2UnLCAnb3Blbkljb24nLCAnb3BlbkxhYmVsJ10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ3RvZ2dsZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEFjY29yZGlvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1hY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdjYXJkJywgJ2Nsb3NlSWNvbicsICdjbG9zZUxhYmVsJywgJ2RlYm91bmNlJywgJ29wZW5JY29uJywgJ29wZW5MYWJlbCddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQWNjb3JkaW9uIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYWNjb3JkaW9uIGhhcyBvcGVuZWQgb3IgY2xvc2VkICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQWNjb3JkaW9uQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEFjY29yZGlvbkN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQWNjb3JkaW9uQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxBY2NvcmRpb25EZXRhaWxzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBY2NvcmRpb25EZXRhaWxzIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEFjY29yZGlvbkRldGFpbHNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYWNjb3JkaW9uLWRldGFpbHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb25EZXRhaWxzIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQWNjb3JkaW9uU3VtbWFyeSBleHRlbmRzIENvbXBvbmVudHMuQmFsQWNjb3JkaW9uU3VtbWFyeSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3RyaWdnZXInXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxBY2NvcmRpb25TdW1tYXJ5XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFjY29yZGlvbi1zdW1tYXJ5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWyd0cmlnZ2VyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQWNjb3JkaW9uU3VtbWFyeSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEFjY29yZGlvblRyaWdnZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEFjY29yZGlvblRyaWdnZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydidXR0b24nLCAnY2xvc2VJY29uJywgJ2Nsb3NlTGFiZWwnLCAnY29sb3InLCAnZXhwYW5kZWQnLCAnb3Blbkljb24nLCAnb3BlbkxhYmVsJywgJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxBY2NvcmRpb25UcmlnZ2VyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFjY29yZGlvbi10cmlnZ2VyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydidXR0b24nLCAnY2xvc2VJY29uJywgJ2Nsb3NlTGFiZWwnLCAnY29sb3InLCAnZXhwYW5kZWQnLCAnb3Blbkljb24nLCAnb3BlbkxhYmVsJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb25UcmlnZ2VyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQXBwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBcHAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCddLFxuICBtZXRob2RzOiBbJ3NldEZvY3VzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQXBwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFwcCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBcHAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxCYWRnZSBleHRlbmRzIENvbXBvbmVudHMuQmFsQmFkZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdpY29uJywgJ3Bvc2l0aW9uJywgJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxCYWRnZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1iYWRnZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnaWNvbicsICdwb3NpdGlvbicsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQmFkZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbEJ1dHRvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FyaWEnLCAnYmFsUG9wdXAnLCAnY29sb3InLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnZWxlbWVudFR5cGUnLCAnZXhwYW5kZWQnLCAnZmxhdCcsICdocmVmJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2ljb25UdXJuJywgJ2ludmVydGVkJywgJ2lzQWN0aXZlJywgJ2xvYWRpbmcnLCAnbmFtZScsICdub1dyYXAnLCAnb3V0bGluZWQnLCAncmVsJywgJ3JvdW5kZWQnLCAnc2hhZG93JywgJ3NpemUnLCAnc3F1YXJlJywgJ3RhcmdldCcsICd2YWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEJ1dHRvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FyaWEnLCAnYmFsUG9wdXAnLCAnY29sb3InLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnZWxlbWVudFR5cGUnLCAnZXhwYW5kZWQnLCAnZmxhdCcsICdocmVmJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2ljb25UdXJuJywgJ2ludmVydGVkJywgJ2lzQWN0aXZlJywgJ2xvYWRpbmcnLCAnbmFtZScsICdub1dyYXAnLCAnb3V0bGluZWQnLCAncmVsJywgJ3JvdW5kZWQnLCAnc2hhZG93JywgJ3NpemUnLCAnc3F1YXJlJywgJ3RhcmdldCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdmlnYXRlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsRGlkUmVuZGVyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQnV0dG9uIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkLiAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQnV0dG9uQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQnV0dG9uQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEJ1dHRvbkN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGhhcyBiZWVuICByZW5kZXJlZC4gKi9cbiAgYmFsRGlkUmVuZGVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxCdXR0b25DdXN0b21FdmVudDx2b2lkPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE5hdmlnYXRlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsRGlkUmVuZGVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEJ1dHRvbkdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxCdXR0b25Hcm91cCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdwb3NpdGlvbicsICdyZXZlcnNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQnV0dG9uR3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYnV0dG9uLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXJlY3Rpb24nLCAncG9zaXRpb24nLCAncmV2ZXJzZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEJ1dHRvbkdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZCBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2FyZCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdjbGlja2FibGUnLCAnY29sb3InLCAnZmxhdCcsICdmdWxsaGVpZ2h0JywgJ2ludmVydGVkJywgJ3NlbGVjdGVkJywgJ3NwYWNlJywgJ3NxdWFyZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcmRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2FyZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb2xvcicsICdmbGF0JywgJ2Z1bGxoZWlnaHQnLCAnaW52ZXJ0ZWQnLCAnc2VsZWN0ZWQnLCAnc3BhY2UnLCAnc3F1YXJlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcmRBY3Rpb25zIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkQWN0aW9ucyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3Bvc2l0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZEFjdGlvbnNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2FyZC1hY3Rpb25zJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydwb3NpdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcmRBY3Rpb25zIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2FyZEJ1dHRvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2VsZW1lbnRUeXBlJywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnbG9hZGluZycsICd0YXJnZXQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJkQnV0dG9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcmQtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlbGVtZW50VHlwZScsICdocmVmJywgJ2ljb24nLCAnaWNvblJpZ2h0JywgJ2xvYWRpbmcnLCAndGFyZ2V0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZEJ1dHRvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcmRDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJkQ29udGVudFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcmRTdWJ0aXRsZSBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2FyZFN1YnRpdGxlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9sZCcsICdjb2xvcicsICdpbnZlcnRlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcmRTdWJ0aXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLXN1YnRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2ludmVydGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZFN1YnRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkVGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnZlcnRlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcmRUaXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydpbnZlcnRlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcmRUaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcm91c2VsIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJvdXNlbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FzcGVjdFJhdGlvJywgJ2JvcmRlcicsICdjb250cm9scycsICdjb250cm9sc092ZXJmbG93JywgJ2NvbnRyb2xzU3RpY2t5JywgJ2Z1bGxIZWlnaHQnLCAnaHRtbFJvbGUnLCAnaW50ZXJmYWNlJywgJ2ludmVydGVkJywgJ2l0ZW1zUGVyVmlldycsICdzY3JvbGxZJywgJ3NwYWNlJywgJ3N0ZXBzJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsncHJldmlvdXMnLCAnbmV4dCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcm91c2VsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcm91c2VsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhc3BlY3RSYXRpbycsICdib3JkZXInLCAnY29udHJvbHMnLCAnY29udHJvbHNPdmVyZmxvdycsICdjb250cm9sc1N0aWNreScsICdmdWxsSGVpZ2h0JywgJ2h0bWxSb2xlJywgJ2ludGVyZmFjZScsICdpbnZlcnRlZCcsICdpdGVtc1BlclZpZXcnLCAnc2Nyb2xsWScsICdzcGFjZScsICdzdGVwcycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcm91c2VsIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIG9wdGlvbiBnb3Qgc2VsZWN0ZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2Fyb3VzZWxDdXN0b21FdmVudDxudW1iZXI+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENhcm91c2VsSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2Fyb3VzZWxJdGVtIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZG93bmxvYWQnLCAnZWxlbWVudFR5cGUnLCAnaHJlZicsICdodG1sUm9sZScsICdsYWJlbCcsICduYW1lJywgJ3JlbCcsICdzcmMnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJvdXNlbEl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2Fyb3VzZWwtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnZG93bmxvYWQnLCAnZWxlbWVudFR5cGUnLCAnaHJlZicsICdodG1sUm9sZScsICdsYWJlbCcsICduYW1lJywgJ3JlbCcsICdzcmMnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsTmF2aWdhdGUnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcm91c2VsSXRlbSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZC4gKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENhcm91c2VsSXRlbUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENhcm91c2VsSXRlbUN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYnV0dG9uIGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDYXJvdXNlbEl0ZW1DdXN0b21FdmVudDx2b2lkPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE5hdmlnYXRlJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2hlY2tib3hCdXR0b24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbENoZWNrYm94QnV0dG9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdyZWFkb25seSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENoZWNrYm94QnV0dG9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNoZWNrYm94LWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdyZWFkb25seSddLFxuICBvdXRwdXRzOiBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDaGVja2JveEJ1dHRvbiB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDaGVja2JveEJ1dHRvbkN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDaGVja2JveEJ1dHRvbkN1c3RvbUV2ZW50PEZvY3VzRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDbG9zZSBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2xvc2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnZlcnRlZCcsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2xvc2Vcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2xvc2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2ludmVydGVkJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDbG9zZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENvbnRlbnQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGlnbicsICdsYXlvdXQnLCAnc3BhY2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDb250ZW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2xheW91dCcsICdzcGFjZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRhIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRhIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2hvcml6b250YWwnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRhXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGEnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdob3Jpem9udGFsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGF0YSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGFJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRhSXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvcmRlcicsICdkaXNhYmxlZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGFJdGVtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGEtaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2Rpc2FibGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGF0YUl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRhTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGFMYWJlbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3JlcXVpcmVkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRGF0YUxhYmVsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGEtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ3JlcXVpcmVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGF0YUxhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0YVZhbHVlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRhVmFsdWUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlZGl0YWJsZScsICdtdWx0aWxpbmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRhVmFsdWVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0YS12YWx1ZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZWRpdGFibGUnLCAnbXVsdGlsaW5lJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2xpY2snLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGFWYWx1ZSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGVkaXQgYnV0dG9uIGhhcyBmb2N1cy4gKi9cbiAgYmFsQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGFWYWx1ZUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZWRpdCBidXR0b24gaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0YVZhbHVlQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBlZGl0IGJ1dHRvbiBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0YVZhbHVlQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDbGljaycsICdiYWxGb2N1cycsICdiYWxCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGVDYWxlbmRhciBleHRlbmRzIENvbXBvbmVudHMuQmFsRGF0ZUNhbGVuZGFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxsb3dlZERhdGVzJywgJ2RlZmF1bHREYXRlJywgJ21heCcsICdtYXhZZWFyUHJvcCcsICdtaW4nLCAnbWluWWVhclByb3AnLCAndmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRlQ2FsZW5kYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0ZS1jYWxlbmRhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYWxsb3dlZERhdGVzJywgJ2RlZmF1bHREYXRlJywgJ21heCcsICdtYXhZZWFyUHJvcCcsICdtaW4nLCAnbWluWWVhclByb3AnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxDaGFuZ2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRlQ2FsZW5kYXIge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ2FsZW5kYXJDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGVDYWxlbmRhckNlbGwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGVDYWxlbmRhckNlbGwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkYXknLCAnZGlzYWJsZWQnLCAnZnVsbERhdGUnLCAnaXNvRGF0ZScsICdtb250aCcsICdzZWxlY3RlZCcsICd0b2RheScsICd5ZWFyJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRGF0ZUNhbGVuZGFyQ2VsbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRlLWNhbGVuZGFyLWNlbGwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2RheScsICdkaXNhYmxlZCcsICdmdWxsRGF0ZScsICdpc29EYXRlJywgJ21vbnRoJywgJ3NlbGVjdGVkJywgJ3RvZGF5JywgJ3llYXInXSxcbiAgb3V0cHV0czogWydiYWxTZWxlY3REYXknXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRlQ2FsZW5kYXJDZWxsIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIG9wdGlvbiBnb3Qgc2VsZWN0ZWQuICovXG4gIGJhbFNlbGVjdERheSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0ZUNhbGVuZGFyQ2VsbEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxTZWxlY3REYXknXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGl2aWRlciBleHRlbmRzIENvbXBvbmVudHMuQmFsRGl2aWRlciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JvcmRlclN0eWxlJywgJ2NvbG9yJywgJ2xheW91dCcsICdzcGFjZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERpdmlkZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGl2aWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYm9yZGVyU3R5bGUnLCAnY29sb3InLCAnbGF5b3V0JywgJ3NwYWNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGl2aWRlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZpZWxkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hvcml6b250YWwnLCAnaW52YWxpZCcsICdsb2FkaW5nJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbGlkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZmllbGQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2hvcml6b250YWwnLCAnaW52YWxpZCcsICdsb2FkaW5nJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbGlkJ10sXG4gIG91dHB1dHM6IFsnYmFsRm9ybUNvbnRyb2xEaWRMb2FkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRmllbGQge1xuICAvKiogRW1pdHRlZCBhZnRlciByZW5kZXIgd2hlbiBlbGVtZW50IGlzIGxhYmVsbGVkICovXG4gIGJhbEZvcm1Db250cm9sRGlkTG9hZCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRmllbGRDdXN0b21FdmVudDxIVE1MRWxlbWVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb3JtQ29udHJvbERpZExvYWQnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGRDb250cm9sIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZENvbnRyb2wge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydleHBhbmRlZE9uTW9iaWxlJywgJ2ljb25MZWZ0JywgJ2ljb25SaWdodCcsICdsb2FkaW5nJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRDb250cm9sXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkLWNvbnRyb2wnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkT25Nb2JpbGUnLCAnaWNvbkxlZnQnLCAnaWNvblJpZ2h0JywgJ2xvYWRpbmcnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZENvbnRyb2wge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZEhpbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkSGludCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnc21hbGwnLCAnc3ViamVjdCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZpZWxkSGludFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1maWVsZC1oaW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjbG9zZUxhYmVsJywgJ3NtYWxsJywgJ3N1YmplY3QnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZEhpbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZExhYmVsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaHRtbEZvcicsICdpbnZhbGlkJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndmFsaWQnLCAnd2VpZ2h0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRMYWJlbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1maWVsZC1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaHRtbEZvcicsICdpbnZhbGlkJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndmFsaWQnLCAnd2VpZ2h0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRmllbGRMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZpZWxkTWVzc2FnZSBleHRlbmRzIENvbXBvbmVudHMuQmFsRmllbGRNZXNzYWdlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdyZWFkb25seScsICd2YWxpZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZpZWxkTWVzc2FnZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1maWVsZC1tZXNzYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ3JlYWRvbmx5JywgJ3ZhbGlkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRmllbGRNZXNzYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9vdGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGb290ZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydoaWRlTGFuZ3VhZ2VTZWxlY3Rpb24nLCAnaGlkZUxpbmtzJywgJ292ZXJyaWRlTGlua3MnLCAnc2hvd1NvY2lhbE1lZGlhJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRm9vdGVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvb3RlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnaGlkZUxhbmd1YWdlU2VsZWN0aW9uJywgJ2hpZGVMaW5rcycsICdvdmVycmlkZUxpbmtzJywgJ3Nob3dTb2NpYWxNZWRpYSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZvb3RlciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZvcm0gZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZvcm0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmb3JtQ2xhc3MnLCAnbmF0aXZlJywgJ25vdmFsaWRhdGUnXSxcbiAgbWV0aG9kczogWydzY3JvbGxUb0ZpcnN0SW52YWxpZEZpZWxkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRm9ybVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1mb3JtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydmb3JtQ2xhc3MnLCAnbmF0aXZlJywgJ25vdmFsaWRhdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGb3JtIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9ybUNvbCBleHRlbmRzIENvbXBvbmVudHMuQmFsRm9ybUNvbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGb3JtQ29sXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvcm0tY29sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRm9ybUNvbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZvcm1HcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGb3JtR3JpZCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGb3JtR3JpZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1mb3JtLWdyaWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGb3JtR3JpZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEhlYWRpbmcgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEhlYWRpbmcge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhdXRvTGV2ZWwnLCAnY29sb3InLCAnaW52ZXJ0ZWQnLCAnbGV2ZWwnLCAnbm9XcmFwJywgJ3NoYWRvdycsICdzcGFjZScsICdzdWJ0aXRsZScsICd2aXN1YWxMZXZlbCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEhlYWRpbmdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaGVhZGluZycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYXV0b0xldmVsJywgJ2NvbG9yJywgJ2ludmVydGVkJywgJ2xldmVsJywgJ25vV3JhcCcsICdzaGFkb3cnLCAnc3BhY2UnLCAnc3VidGl0bGUnLCAndmlzdWFsTGV2ZWwnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxIZWFkaW5nIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGludCBleHRlbmRzIENvbXBvbmVudHMuQmFsSGludCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnc21hbGwnXSxcbiAgbWV0aG9kczogWyd0b2dnbGUnLCAncHJlc2VudCcsICdkaXNtaXNzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSGludFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1oaW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjbG9zZUxhYmVsJywgJ3NtYWxsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsSGludCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEhpbnRUZXh0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxIaW50VGV4dCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxIaW50VGV4dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1oaW50LXRleHQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxIaW50VGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEhpbnRUaXRsZSBleHRlbmRzIENvbXBvbmVudHMuQmFsSGludFRpdGxlIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEhpbnRUaXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1oaW50LXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsSGludFRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSWNvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsSWNvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2ludmVydGVkJywgJ25hbWUnLCAnc2hhZG93JywgJ3NpemUnLCAnc3ZnJywgJ3R1cm4nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxJY29uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWljb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2ludmVydGVkJywgJ25hbWUnLCAnc2hhZG93JywgJ3NpemUnLCAnc3ZnJywgJ3R1cm4nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxJY29uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSW5wdXRHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmFsSW5wdXRHcm91cCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxJbnB1dEdyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWlucHV0LWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ3JlYWRvbmx5J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsSW5wdXRHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExhYmVsIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMYWJlbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2h0bWxGb3InLCAnaHRtbElkJywgJ2ludmFsaWQnLCAnbXVsdGlsaW5lJywgJ25vV3JhcCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbGlkJywgJ3dlaWdodCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExhYmVsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdodG1sRm9yJywgJ2h0bWxJZCcsICdpbnZhbGlkJywgJ211bHRpbGluZScsICdub1dyYXAnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZCcsICd3ZWlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMYWJlbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3QgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3Qge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NvcmRpb25PbmVMZXZlbCcsICdiYWNrZ3JvdW5kJywgJ2JvcmRlcicsICdkaXNhYmxlZCcsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhY2NvcmRpb25PbmVMZXZlbCcsICdiYWNrZ3JvdW5kJywgJ2JvcmRlcicsICdkaXNhYmxlZCcsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbicsICdjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdzZWxlY3RlZCcsICdzdWJBY2NvcmRpb25JdGVtJywgJ3RhcmdldCddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICd0b2dnbGUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbicsICdjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdzZWxlY3RlZCcsICdzdWJBY2NvcmRpb25JdGVtJywgJ3RhcmdldCddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdmlnYXRlJywgJ2JhbEdyb3VwU3RhdGVDaGFuZ2VkJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZCAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTGlzdEl0ZW1DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSBncm91cCBpcyBjaGFuZ2luZyAqL1xuICBiYWxHcm91cFN0YXRlQ2hhbmdlZCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTGlzdEl0ZW1DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cyAqL1xuICBiYWxXaWxsQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTGlzdEl0ZW1DdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBhbmltYXRpb24gaGFzIGZpbmlzaGVkICovXG4gIGJhbERpZEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxOYXZpZ2F0ZScsICdiYWxHcm91cFN0YXRlQ2hhbmdlZCcsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtQWNjb3JkaW9uQm9keSBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW1BY2NvcmRpb25Cb2R5IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjb3JkaW9uR3JvdXAnLCAnY29udGVudEFsaWdubWVudCcsICdjb250ZW50U3BhY2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbUFjY29yZGlvbkJvZHlcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLWFjY29yZGlvbi1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhY2NvcmRpb25Hcm91cCcsICdjb250ZW50QWxpZ25tZW50JywgJ2NvbnRlbnRTcGFjZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExpc3RJdGVtQWNjb3JkaW9uQm9keSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZCBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW1BY2NvcmRpb25IZWFkIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjb3JkaW9uT3BlbicsICdpY29uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1BY2NvcmRpb25IZWFkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS1hY2NvcmRpb24taGVhZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uT3BlbicsICdpY29uJ10sXG4gIG91dHB1dHM6IFsnYmFsQWNjb3JkaW9uQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1BY2NvcmRpb25IZWFkIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYWNjb3JkaW9uIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgYmFsQWNjb3JkaW9uQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxMaXN0SXRlbUFjY29yZGlvbkhlYWRDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEFjY29yZGlvbkNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUNvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRlbnRBbGlnbm1lbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbUNvbnRlbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLWNvbnRlbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbnRlbnRBbGlnbm1lbnQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbUNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUljb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtSWNvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ3JpZ2h0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1JY29uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS1pY29uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydyaWdodCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExpc3RJdGVtSWNvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtU3VidGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtU3VidGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1TdWJ0aXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0tc3VidGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbVN1YnRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW1UaXRsZSBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdEl0ZW1UaXRsZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2xldmVsJywgJ3Zpc3VhbExldmVsJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1UaXRsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0tdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2xldmVsJywgJ3Zpc3VhbExldmVsJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1UaXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExvZ28gZXh0ZW5kcyBDb21wb25lbnRzLkJhbExvZ28ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCcsICdjb2xvcicsICdzaXplJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTG9nb1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1sb2dvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbmltYXRlZCcsICdjb2xvcicsICdzaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTG9nbyB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE1vZGFsIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxNb2RhbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2JhY2tkcm9wRGlzbWlzcycsICdjb21wb25lbnQnLCAnY29tcG9uZW50UHJvcHMnLCAnY3NzQ2xhc3MnLCAnZm9jdXNUcmFwJywgJ2hhc0JhY2tkcm9wJywgJ2lzQ2xvc2FibGUnLCAnbW9kYWxXaWR0aCcsICdzcGFjZSddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICdvbkRpZERpc21pc3MnLCAnb25XaWxsRGlzbWlzcyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE1vZGFsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW1vZGFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydiYWNrZHJvcERpc21pc3MnLCAnY29tcG9uZW50JywgJ2NvbXBvbmVudFByb3BzJywgJ2Nzc0NsYXNzJywgJ2ZvY3VzVHJhcCcsICdoYXNCYWNrZHJvcCcsICdpc0Nsb3NhYmxlJywgJ21vZGFsV2lkdGgnLCAnc3BhY2UnXSxcbiAgb3V0cHV0czogWydiYWxNb2RhbERpZFByZXNlbnQnLCAnYmFsTW9kYWxXaWxsUHJlc2VudCcsICdiYWxNb2RhbFdpbGxEaXNtaXNzJywgJ2JhbE1vZGFsRGlkRGlzbWlzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE1vZGFsIHtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIG1vZGFsIGhhcyBwcmVzZW50ZWQuICovXG4gIGJhbE1vZGFsRGlkUHJlc2VudCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgbW9kYWwgaGFzIHByZXNlbnRlZC4gKi9cbiAgYmFsTW9kYWxXaWxsUHJlc2VudCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgbW9kYWwgaGFzIGRpc21pc3NlZC4gKi9cbiAgYmFsTW9kYWxXaWxsRGlzbWlzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDxhbnk+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIG1vZGFsIGhhcyBkaXNtaXNzZWQuICovXG4gIGJhbE1vZGFsRGlkRGlzbWlzcyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTW9kYWxDdXN0b21FdmVudDxhbnk+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTW9kYWxEaWRQcmVzZW50JywgJ2JhbE1vZGFsV2lsbFByZXNlbnQnLCAnYmFsTW9kYWxXaWxsRGlzbWlzcycsICdiYWxNb2RhbERpZERpc21pc3MnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTW9kYWxCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxNb2RhbEJvZHkge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTW9kYWxCb2R5XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW1vZGFsLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxNb2RhbEJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxNb2RhbEhlYWRlciBleHRlbmRzIENvbXBvbmVudHMuQmFsTW9kYWxIZWFkZXIge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTW9kYWxIZWFkZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbW9kYWwtaGVhZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsTW9kYWxIZWFkZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXYgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbnMnLCAnbG9nbycsICdvcHRpb25zJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYnV0dG9ucycsICdsb2dvJywgJ29wdGlvbnMnXSxcbiAgb3V0cHV0czogWydiYWxOYXZJdGVtQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXYge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgbmF2IGxpbmsgaXRlbSBpcyBjbGlja2VkLiBUaGlzIGV2ZW50IGNhbiBiZSB1c2VkIHRvXG5hZGQgZGF0YSB0cmFja2luZyAqL1xuICBiYWxOYXZJdGVtQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdkN1c3RvbUV2ZW50PEJhbEV2ZW50cy5CYWxOYXZJdGVtQ2xpY2tEZXRhaWw+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2SXRlbUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdkxpbmsgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdkxpbmsge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnaHJlZicsICdzZWxlY3RlZCcsICd0YXJnZXQnLCAndmFyaWFudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdkxpbmtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZScsICdocmVmJywgJ3NlbGVjdGVkJywgJ3RhcmdldCcsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdkxpbmtHcmlkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZMaW5rR3JpZCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZMaW5rR3JpZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbGluay1ncmlkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TGlua0dyaWQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZMaW5rR3JpZENvbCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2TGlua0dyaWRDb2wge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydzdGF0aWNDb2wnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZMaW5rR3JpZENvbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbGluay1ncmlkLWNvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnc3RhdGljQ29sJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TGlua0dyaWRDb2wge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZMaW5rR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdkxpbmtHcm91cCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2TGlua0dyb3VwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1saW5rLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdkxpbmtHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdk1lbnVCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdk1lbnVCYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydpbnZpc2libGUnLCAncG9zaXRpb24nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZNZW51QmFyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1tZW51LWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnaW52aXNpYmxlJywgJ3Bvc2l0aW9uJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TWVudUJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdk1lbnVGbHlvdXQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdk1lbnVGbHlvdXQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWyduYXZJZCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdk1lbnVGbHlvdXRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LW1lbnUtZmx5b3V0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWyduYXZJZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdk1lbnVGbHlvdXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZNZXRhQmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZNZXRhQmFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW52aXNpYmxlJywgJ3Bvc2l0aW9uJywgJ3NpemUnLCAndmFyaWFudCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdk1ldGFCYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LW1ldGEtYmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydpbnZpc2libGUnLCAncG9zaXRpb24nLCAnc2l6ZScsICd2YXJpYW50J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2TWV0YUJhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE5hdmJhciBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2YmFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFpbmVyJywgJ2ludGVyZmFjZScsICdsaWdodCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXZiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lcicsICdpbnRlcmZhY2UnLCAnbGlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZiYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJCcmFuZCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2YmFyQnJhbmQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbmltYXRlZCcsICdocmVmJywgJ2xvZ28nLCAnbG9nb0NsaWNrYWJsZScsICdsb2dvTGFiZWwnLCAnbG9nb1NpemUnLCAnc2ltcGxlJywgJ3RhcmdldCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhckJyYW5kXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdmJhci1icmFuZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnaHJlZicsICdsb2dvJywgJ2xvZ29DbGlja2FibGUnLCAnbG9nb0xhYmVsJywgJ2xvZ29TaXplJywgJ3NpbXBsZScsICd0YXJnZXQnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyQnJhbmQge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdmJhckJyYW5kQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdmJhckJyYW5kQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOYXZiYXJCcmFuZEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZiYXJNZW51IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhck1lbnVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZiYXJNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2YmFyTWVudUVuZCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2YmFyTWVudUVuZCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJNZW51RW5kXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdmJhci1tZW51LWVuZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdmJhck1lbnVFbmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJNZW51U3RhcnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhck1lbnVTdGFydCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJNZW51U3RhcnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLW1lbnUtc3RhcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZiYXJNZW51U3RhcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOb3RpY2VzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOb3RpY2VzIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5vdGljZXNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbm90aWNlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5vdGljZXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOb3RpZmljYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5vdGlmaWNhdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2xpZ2h0JywgJ25vSWNvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5vdGlmaWNhdGlvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1ub3RpZmljYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2xpZ2h0JywgJ25vSWNvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsT3B0aW9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZm9jdXNlZCcsICdoaWRkZW4nLCAnaW52YWxpZCcsICdsYWJlbCcsICdtdWx0aWxpbmUnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZWxlY3QnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxPcHRpb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb2N1c2VkJywgJ2hpZGRlbicsICdpbnZhbGlkJywgJ2xhYmVsJywgJ211bHRpbGluZScsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbE9wdGlvbkNoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE9wdGlvbiB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIG9wdGlvbiBnZXRzIHNlbGVjdGVkIG9yIHVuc2VsZWN0ZWQgKi9cbiAgYmFsT3B0aW9uQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxPcHRpb25DdXN0b21FdmVudDxCYWxFdmVudHMuQmFsT3B0aW9uQ2hhbmdlRGV0YWlsPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE9wdGlvbkNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxPcHRpb25MaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxPcHRpb25MaXN0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudEhlaWdodCcsICdkaXNhYmxlZCcsICdmaWx0ZXInLCAnZm9jdXNJbmRleCcsICdsYWJlbGxlZGJ5JywgJ211bHRpcGxlJywgJ3JlcXVpcmVkJ10sXG4gIG1ldGhvZHM6IFsnZm9jdXNTZWxlY3RlZCcsICdmb2N1c0ZpcnN0JywgJ2ZvY3VzTGFzdCcsICdmb2N1c05leHQnLCAnZm9jdXNQcmV2aW91cycsICdmb2N1c0J5TGFiZWwnLCAnZmlsdGVyQnlDb250ZW50JywgJ3Jlc2V0SGlkZGVuJywgJ3Jlc2V0U2VsZWN0ZWQnLCAndXBkYXRlU2VsZWN0ZWQnLCAncmVzZXRGb2N1cycsICdnZXRTZWxlY3RlZFZhbHVlcycsICdnZXRTZWxlY3RlZE9wdGlvbnMnLCAnZ2V0VmFsdWVzJywgJ2dldExhYmVscycsICdnZXRPcHRpb25zJywgJ3NlbGVjdEJ5Rm9jdXMnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxPcHRpb25MaXN0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW9wdGlvbi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb250ZW50SGVpZ2h0JywgJ2Rpc2FibGVkJywgJ2ZpbHRlcicsICdmb2N1c0luZGV4JywgJ2xhYmVsbGVkYnknLCAnbXVsdGlwbGUnLCAncmVxdWlyZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxPcHRpb25MaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsUGFnaW5hdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2Rpc2FibGVkJywgJ2ludGVyZmFjZScsICdwYWdlUmFuZ2UnLCAnc2l6ZScsICdzdGlja3knLCAndG9wJywgJ3RvdGFsUGFnZXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyduZXh0JywgJ3ByZXZpb3VzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsUGFnaW5hdGlvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbGlnbicsICdkaXNhYmxlZCcsICdpbnRlcmZhY2UnLCAncGFnZVJhbmdlJywgJ3NpemUnLCAnc3RpY2t5JywgJ3RvcCcsICd0b3RhbFBhZ2VzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUGFnaW5hdGlvbiB7XG4gIC8qKiBUcmlnZ2VycyB3aGVuIGEgcGFnZSBjaGFuZ2UgaGFwcGVucyAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBhZ2luYXRpb25DdXN0b21FdmVudDxudW1iZXI+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFBvcG92ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFBvcG92ZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYXV0b1RyaWdnZXInLCAnYmFja2Ryb3AnLCAnaGludCcsICdob3ZlcicsICdtb2JpbGVUb3AnLCAnb2Zmc2V0WCcsICdvZmZzZXRZJywgJ3BhZGRpbmcnLCAncG9zaXRpb24nLCAndG9vbHRpcCddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICd0b2dnbGUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQb3BvdmVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcG92ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhcnJvdycsICdhdXRvVHJpZ2dlcicsICdiYWNrZHJvcCcsICdoaW50JywgJ2hvdmVyJywgJ21vYmlsZVRvcCcsICdvZmZzZXRYJywgJ29mZnNldFknLCAncGFkZGluZycsICdwb3NpdGlvbicsICd0b29sdGlwJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQb3BvdmVyIHtcbiAgLyoqIExpc3RlbiB3aGVuIHRoZSBwb3BvdmVyIG9wZW5zIG9yIGNsb3Nlcy4gUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZS4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3BvdmVyQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcG92ZXJDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBhbmltYXRpb24gaGFzIGZpbmlzaGVkICovXG4gIGJhbERpZEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcG92ZXJDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFBvcG92ZXJDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxQb3BvdmVyQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2NvbnRlbnRNaW5XaWR0aCcsICdjb250ZW50V2lkdGgnLCAnZXhwYW5kZWQnLCAnbW9iaWxlVG9wJywgJ25vU2hhZG93JywgJ3JhZGl1cycsICdzY3JvbGxhYmxlJywgJ3NwYWNlbGVzcyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFBvcG92ZXJDb250ZW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcG92ZXItY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnY29udGVudE1pbldpZHRoJywgJ2NvbnRlbnRXaWR0aCcsICdleHBhbmRlZCcsICdtb2JpbGVUb3AnLCAnbm9TaGFkb3cnLCAncmFkaXVzJywgJ3Njcm9sbGFibGUnLCAnc3BhY2VsZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUG9wb3ZlckNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxQb3B1cCBleHRlbmRzIENvbXBvbmVudHMuQmFsUG9wdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYmFja2Ryb3AnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NhYmxlJywgJ2NvbnRlbnRXaWR0aCcsICdsYWJlbCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ3RvZ2dsZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFBvcHVwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcHVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYmFja2Ryb3AnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NhYmxlJywgJ2NvbnRlbnRXaWR0aCcsICdsYWJlbCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQb3B1cCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGFjY29yZGlvbiBoYXMgb3BlbmVkIG9yIGNsb3NlZCAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcHVwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcHVwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3B1cEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFByb2dyZXNzQmFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdjb2xvcicsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NvbmZpZ0NoYW5nZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQcm9ncmVzc0JhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wcm9ncmVzcy1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnY29sb3InLCAndmFsdWUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQcm9ncmVzc0JhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxSYWRpbyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ZsYXQnLCAnaW50ZXJmYWNlJywgJ2ludmFsaWQnLCAnaW52aXNpYmxlJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ25hbWUnLCAnbm9uU3VibWl0JywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRFbGVtZW50JywgJ2dldE9wdGlvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFJhZGlvXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmbGF0JywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICduYW1lJywgJ25vblN1Ym1pdCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUmFkaW8ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoZWNrZWQgcHJvcGVydHkgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFJhZGlvQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxSYWRpb0J1dHRvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxSYWRpb0J1dHRvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1yYWRpby1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXSxcbiAgb3V0cHV0czogWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbEZvcm1Db250cm9sRGlkTG9hZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFJhZGlvQnV0dG9uIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvQnV0dG9uQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvQnV0dG9uQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCBhZnRlciByZW5kZXIgd2hlbiBlbGVtZW50IGlzIGxhYmVsbGVkICovXG4gIGJhbEZvcm1Db250cm9sRGlkTG9hZCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9CdXR0b25DdXN0b21FdmVudDxIVE1MRWxlbWVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbEZvcm1Db250cm9sRGlkTG9hZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTZWdtZW50SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsU2VnbWVudEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2VnbWVudEl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2VnbWVudC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2VnbWVudEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTZWxlY3RPcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNlbGVjdE9wdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2VsZWN0T3B0aW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXNlbGVjdC1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2VsZWN0T3B0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU2hhcGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNoYXBlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAncm90YXRpb24nLCAndmFyaWF0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2hhcGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2hhcGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ3JvdGF0aW9uJywgJ3ZhcmlhdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNoYXBlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU2hlZXQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNoZWV0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFpbmVyU2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFNoZWV0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXNoZWV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb250YWluZXJTaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2hlZXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTbmFja2JhciBleHRlbmRzIENvbXBvbmVudHMuQmFsU25hY2tiYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb24nLCAnY29sb3InLCAnZHVyYXRpb24nLCAnaHJlZicsICdpY29uJywgJ21lc3NhZ2UnLCAnc3ViamVjdCcsICd0YXJnZXQnXSxcbiAgbWV0aG9kczogWydjbG9zZUluJywgJ2Nsb3NlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU25hY2tiYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc25hY2tiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjdGlvbicsICdjb2xvcicsICdkdXJhdGlvbicsICdocmVmJywgJ2ljb24nLCAnbWVzc2FnZScsICdzdWJqZWN0JywgJ3RhcmdldCddLFxuICBvdXRwdXRzOiBbJ2JhbENsb3NlJywgJ2JhbEFjdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNuYWNrYmFyIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBzbmFja2JhciBpcyBjbG9zZWQgKi9cbiAgYmFsQ2xvc2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNuYWNrYmFyQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZCAqL1xuICBiYWxBY3Rpb24hOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNuYWNrYmFyQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENsb3NlJywgJ2JhbEFjdGlvbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTcGlubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTcGlubmVyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGVhY3RpdmF0ZWQnLCAnaW52ZXJ0ZWQnLCAnc21hbGwnLCAndmFyaWF0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3Bpbm5lclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdkZWFjdGl2YXRlZCcsICdpbnZlcnRlZCcsICdzbWFsbCcsICd2YXJpYXRpb24nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhY2sgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWNrIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ24nLCAnZml0Q29udGVudCcsICdsYXlvdXQnLCAncHgnLCAncHknLCAnc3BhY2UnLCAnc3BhY2VDb2x1bW4nLCAnc3BhY2VSb3cnLCAndXNlV3JhcCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWNrXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWNrJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbGlnbicsICdmaXRDb250ZW50JywgJ2xheW91dCcsICdweCcsICdweScsICdzcGFjZScsICdzcGFjZUNvbHVtbicsICdzcGFjZVJvdycsICd1c2VXcmFwJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdjb250YWluZXJTaXplJywgJ3NoYXBlJywgJ3NoYXBlUm90YXRpb24nLCAnc2hhcGVWYXJpYXRpb24nLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdjb250YWluZXJTaXplJywgJ3NoYXBlJywgJ3NoYXBlUm90YXRpb24nLCAnc2hhcGVWYXJpYXRpb24nLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhZ2VCYWNrTGluayBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VCYWNrTGluayB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnaW52ZXJ0ZWQnLCAnc2hhZG93J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3RhZ2VCYWNrTGlua1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFnZS1iYWNrLWxpbmsnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnaW52ZXJ0ZWQnLCAnc2hhZG93J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhZ2VCYWNrTGluayB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlQm9keSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VCb2R5IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlQm9keVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFnZS1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhZ2VCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhZ2VGb290IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTdGFnZUZvb3Qge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3RhZ2VGb290XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlLWZvb3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZUZvb3Qge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZUhlYWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlSGVhZCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUhlYWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtaGVhZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlSGVhZCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlSW1hZ2UgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlSW1hZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydmYWxsYmFjaycsICdzcmNTZXQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUltYWdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlLWltYWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydmYWxsYmFjaycsICdzcmNTZXQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZUltYWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RlcEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0ZXBJdGVtIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2Rpc2FibGVkJywgJ2RvbmUnLCAnZmFpbGVkJywgJ2hyZWYnLCAnaW52aXNpYmxlJywgJ2xhYmVsJywgJ3ByZXZlbnQnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0T3B0aW9ucycsICdzZXRBY3RpdmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGVwSXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGVwLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdkb25lJywgJ2ZhaWxlZCcsICdocmVmJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdwcmV2ZW50JywgJ3RhcmdldCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdmlnYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RlcEl0ZW0ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFN0ZXBJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxOYXZpZ2F0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGVwcyBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RlcHMge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbGlja2FibGUnLCAnY29sb3InLCAnZGVib3VuY2UnLCAnb3B0aW9ucycsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ3NlbGVjdCcsICdnZXRPcHRpb25CeVZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3RlcHNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RlcHMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NsaWNrYWJsZScsICdjb2xvcicsICdkZWJvdW5jZScsICdvcHRpb25zJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RlcHMge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBjaGFuZ2VzIGhhcyBmaW5pc2hlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTdGVwc0N1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGFiSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsVGFiSXRlbSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhcmlhJywgJ2J1YmJsZScsICdkaXNhYmxlZCcsICdocmVmJywgJ2ljb24nLCAnaW52aXNpYmxlJywgJ2xhYmVsJywgJ25vUGFuZWwnLCAncHJldmVudCcsICdzdWJMYWJlbCcsICdzdmcnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0T3B0aW9ucycsICdzZXRBY3RpdmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWJJdGVtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRhYi1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJpYScsICdidWJibGUnLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdub1BhbmVsJywgJ3ByZXZlbnQnLCAnc3ViTGFiZWwnLCAnc3ZnJywgJ3RhcmdldCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbE5hdmlnYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFiSXRlbSB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxpbmsgZWxlbWVudCBoYXMgY2xpY2tlZCAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFiSXRlbUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGFibGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhYmxlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZXhwYW5kZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWJsZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10YWJsZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnZXhwYW5kZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWJsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRhYnMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhYnMge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY2NvcmRpb24nLCAnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb250ZXh0JywgJ2RlYm91bmNlJywgJ2RpbUluYWN0aXZlRWxlbWVudHMnLCAnZXhwYW5kZWQnLCAnZmxvYXQnLCAnZnVsbHdpZHRoJywgJ2ljb25Qb3NpdGlvbicsICdpbnZlcnRlZCcsICdvcHRpb25hbFRhYlNlbGVjdGlvbicsICdvcHRpb25zJywgJ292ZXJmbG93JywgJ3NlbGVjdE9uTW9iaWxlJywgJ3NwYWNlbGVzcycsICd2YWx1ZScsICd2ZXJ0aWNhbCcsICd2ZXJ0aWNhbENvbFNpemUnXSxcbiAgbWV0aG9kczogWydzZWxlY3QnLCAnZ2V0T3B0aW9uQnlWYWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRhYnNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGFicycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uJywgJ2JvcmRlcicsICdjbGlja2FibGUnLCAnY29udGV4dCcsICdkZWJvdW5jZScsICdkaW1JbmFjdGl2ZUVsZW1lbnRzJywgJ2V4cGFuZGVkJywgJ2Zsb2F0JywgJ2Z1bGx3aWR0aCcsICdpY29uUG9zaXRpb24nLCAnaW52ZXJ0ZWQnLCAnb3B0aW9uYWxUYWJTZWxlY3Rpb24nLCAnb3B0aW9ucycsICdvdmVyZmxvdycsICdzZWxlY3RPbk1vYmlsZScsICdzcGFjZWxlc3MnLCAndmFsdWUnLCAndmVydGljYWwnLCAndmVydGljYWxDb2xTaXplJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWJzIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY2hhbmdlcyBoYXMgZmluaXNoZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFic0N1c3RvbUV2ZW50PHN0cmluZz4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYnNDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFic0N1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWcgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhZyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbGlnaHQnLCAncG9zaXRpb24nLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRhZ1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10YWcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAnbGlnaHQnLCAncG9zaXRpb24nLCAnc2l6ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENsb3NlQ2xpY2snXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWcge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBnb3QgY2xpY2tlZC4gKi9cbiAgYmFsQ2xvc2VDbGljayE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVGFnQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDbG9zZUNsaWNrJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRhZ0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUYWdHcm91cCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWdHcm91cFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10YWctZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUYWdHcm91cCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRleHQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2hlYWRpbmcnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbm9XcmFwJywgJ3NoYWRvdycsICdzaXplJywgJ3NwYWNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVGV4dFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10ZXh0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2hlYWRpbmcnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbm9XcmFwJywgJ3NoYWRvdycsICdzaXplJywgJ3NwYWNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGV4dCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRvYXN0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUb2FzdCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ2NvbG9yJywgJ2R1cmF0aW9uJywgJ21lc3NhZ2UnXSxcbiAgbWV0aG9kczogWydjbG9zZUluJywgJ2Nsb3NlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVG9hc3Rcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdG9hc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Nsb3NhYmxlJywgJ2NvbG9yJywgJ2R1cmF0aW9uJywgJ21lc3NhZ2UnXSxcbiAgb3V0cHV0czogWydiYWxDbG9zZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFRvYXN0IHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0b2FzdCBpcyBjbG9zZWQgKi9cbiAgYmFsQ2xvc2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRvYXN0Q3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENsb3NlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRvb2x0aXAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRvb2x0aXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50V2lkdGgnLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUb29sdGlwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRvb2x0aXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbnRlbnRXaWR0aCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZSddLFxuICBvdXRwdXRzOiBbJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUb29sdGlwIHtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUb29sdGlwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUb29sdGlwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG4iXX0=
|
|
2878
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvcHJveGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWtELE1BQU0sZUFBZSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixJQUFJLGtCQUFrQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDckgsT0FBTyxFQUFFLG1CQUFtQixJQUFJLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLElBQUksZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixJQUFJLG9CQUFvQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDM0csT0FBTyxFQUFFLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxvQkFBb0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNHLE9BQU8sRUFBRSxtQkFBbUIsSUFBSSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxD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QUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHRzbGludDpkaXNhYmxlICovXG4vKiBhdXRvLWdlbmVyYXRlZCBhbmd1bGFyIGRpcmVjdGl2ZSBwcm94aWVzICovXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgTmdab25lLCBFdmVudEVtaXR0ZXIsIE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm94eUNtcCwgcHJveHlPdXRwdXRzIH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBvbmVudC1saWIvdXRpbHMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxBY2NvcmRpb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWFjY29yZGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEFjY29yZGlvbkRldGFpbHMgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWFjY29yZGlvbi1kZXRhaWxzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQWNjb3JkaW9uU3VtbWFyeSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYWNjb3JkaW9uLXN1bW1hcnknO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxBY2NvcmRpb25UcmlnZ2VyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1hY2NvcmRpb24tdHJpZ2dlcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEFwcCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYXBwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQmFkZ2UgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWJhZGdlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQnV0dG9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1idXR0b24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxCdXR0b25Hcm91cCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2FyZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2FyZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmRBY3Rpb25zIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLWFjdGlvbnMnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkQnV0dG9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLWJ1dHRvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbENhcmRDb250ZW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1jYXJkLWNvbnRlbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkU3VidGl0bGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQtc3VidGl0bGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJkVGl0bGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcmQtdGl0bGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJvdXNlbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2Fyb3VzZWwnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDYXJvdXNlbEl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNhcm91c2VsLWl0ZW0nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxDaGVja2JveEJ1dHRvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY2hlY2tib3gtYnV0dG9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ2xvc2UgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWNsb3NlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsQ29udGVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtY29udGVudCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbERhdGEgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWRhdGEnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxEYXRhSXRlbSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0YS1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0YUxhYmVsIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRhLWxhYmVsJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0YVZhbHVlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRhLXZhbHVlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0ZUNhbGVuZGFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1kYXRlLWNhbGVuZGFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGF0ZUNhbGVuZGFyQ2VsbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGF0ZS1jYWxlbmRhci1jZWxsJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRGl2aWRlciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZGl2aWRlcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZpZWxkIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1maWVsZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZpZWxkQ29udHJvbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZmllbGQtY29udHJvbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZpZWxkSGludCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZmllbGQtaGludCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEZpZWxkTGFiZWwgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWZpZWxkLWxhYmVsJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRmllbGRNZXNzYWdlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1maWVsZC1tZXNzYWdlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9vdGVyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1mb290ZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGb3JtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1mb3JtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsRm9ybUNvbCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9ybS1jb2wnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxGb3JtR3JpZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtZm9ybS1ncmlkJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSGVhZGluZyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaGVhZGluZyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbEhpbnQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWhpbnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxIaW50VGV4dCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaGludC10ZXh0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSGludFRpdGxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1oaW50LXRpdGxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsSWNvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtaWNvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbElucHV0R3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWlucHV0LWdyb3VwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGFiZWwgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxhYmVsJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbUFjY29yZGlvbkJvZHkgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLWxpc3QtaXRlbS1hY2NvcmRpb24tYm9keSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLWFjY29yZGlvbi1oZWFkJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTGlzdEl0ZW1Db250ZW50IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0tY29udGVudCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbExpc3RJdGVtSWNvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbGlzdC1pdGVtLWljb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbVN1YnRpdGxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0tc3VidGl0bGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMaXN0SXRlbVRpdGxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1saXN0LWl0ZW0tdGl0bGUnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxMb2dvIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1sb2dvJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTW9kYWwgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW1vZGFsJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTW9kYWxCb2R5IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1tb2RhbC1ib2R5JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTW9kYWxIZWFkZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW1vZGFsLWhlYWRlcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTmF2TGluayB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LWxpbmsnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZMaW5rR3JpZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LWxpbmstZ3JpZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdkxpbmtHcmlkQ29sIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYtbGluay1ncmlkLWNvbCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdkxpbmtHcm91cCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2LWxpbmstZ3JvdXAnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZNZW51QmFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYtbWVudS1iYXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZNZW51Rmx5b3V0IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYtbWVudS1mbHlvdXQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZNZXRhQmFyIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXYtbWV0YS1iYXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdmJhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdmJhckJyYW5kIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXZiYXItYnJhbmQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOYXZiYXJNZW51IH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1uYXZiYXItbWVudSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdmJhck1lbnVFbmQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW5hdmJhci1tZW51LWVuZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE5hdmJhck1lbnVTdGFydCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtbmF2YmFyLW1lbnUtc3RhcnQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxOb3RpY2VzIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1ub3RpY2VzJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsTm90aWZpY2F0aW9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1ub3RpZmljYXRpb24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxPcHRpb24gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW9wdGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbE9wdGlvbkxpc3QgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLW9wdGlvbi1saXN0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUGFnaW5hdGlvbiB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFBvcG92ZXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXBvcG92ZXInO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxQb3BvdmVyQ29udGVudCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtcG9wb3Zlci1jb250ZW50JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUG9wdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXBvcHVwJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsUHJvZ3Jlc3NCYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXByb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFJhZGlvIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1yYWRpbyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFJhZGlvQnV0dG9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1yYWRpby1idXR0b24nO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxTZWdtZW50SXRlbSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc2VnbWVudC1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2VsZWN0T3B0aW9uIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zZWxlY3Qtb3B0aW9uJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2hhcGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNoYXBlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU2hlZXQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNoZWV0JztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU25hY2tiYXIgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXNuYWNrYmFyJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU3Bpbm5lciB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3Bpbm5lcic7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWNrIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFjayc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGFnZSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlQmFja0xpbmsgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWJhY2stbGluayc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlQm9keSB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UtYm9keSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlRm9vdCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UtZm9vdCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlSGVhZCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtc3RhZ2UtaGVhZCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0YWdlSW1hZ2UgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0YWdlLWltYWdlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsU3RlcEl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXN0ZXAtaXRlbSc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFN0ZXBzIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC1zdGVwcyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRhYkl0ZW0gfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhYi1pdGVtJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFibGUgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhYmxlJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFicyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGFicyc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRhZyB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdGFnJztcbmltcG9ydCB7IGRlZmluZUN1c3RvbUVsZW1lbnQgYXMgZGVmaW5lQmFsVGFnR3JvdXAgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRhZy1ncm91cCc7XG5pbXBvcnQgeyBkZWZpbmVDdXN0b21FbGVtZW50IGFzIGRlZmluZUJhbFRleHQgfSBmcm9tICdAYmFsb2lzZS9kcy1jb3JlL2NvbXBvbmVudHMvYmFsLXRleHQnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUb2FzdCB9IGZyb20gJ0BiYWxvaXNlL2RzLWNvcmUvY29tcG9uZW50cy9iYWwtdG9hc3QnO1xuaW1wb3J0IHsgZGVmaW5lQ3VzdG9tRWxlbWVudCBhcyBkZWZpbmVCYWxUb29sdGlwIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzL2JhbC10b29sdGlwJztcblxuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRzLCBGaWxlVXBsb2FkUmVqZWN0ZWRGaWxlIH0gZnJvbSAnQGJhbG9pc2UvZHMtY29yZS9jb21wb25lbnRzJztcblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQWNjb3JkaW9uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBY2NvcmRpb24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnY2FyZCcsICdjbG9zZUljb24nLCAnY2xvc2VMYWJlbCcsICdkZWJvdW5jZScsICdvcGVuSWNvbicsICdvcGVuTGFiZWwnXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAndG9nZ2xlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQWNjb3JkaW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWFjY29yZGlvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2NhcmQnLCAnY2xvc2VJY29uJywgJ2Nsb3NlTGFiZWwnLCAnZGVib3VuY2UnLCAnb3Blbkljb24nLCAnb3BlbkxhYmVsJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb24ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBhY2NvcmRpb24gaGFzIG9wZW5lZCBvciBjbG9zZWQgKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxBY2NvcmRpb25DdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cyAqL1xuICBiYWxXaWxsQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQWNjb3JkaW9uQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxBY2NvcmRpb25DdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEFjY29yZGlvbkRldGFpbHMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEFjY29yZGlvbkRldGFpbHMge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQWNjb3JkaW9uRGV0YWlsc1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1hY2NvcmRpb24tZGV0YWlscycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbEFjY29yZGlvbkRldGFpbHMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxBY2NvcmRpb25TdW1tYXJ5IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxBY2NvcmRpb25TdW1tYXJ5IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsndHJpZ2dlciddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEFjY29yZGlvblN1bW1hcnlcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYWNjb3JkaW9uLXN1bW1hcnknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ3RyaWdnZXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxBY2NvcmRpb25TdW1tYXJ5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQWNjb3JkaW9uVHJpZ2dlciBleHRlbmRzIENvbXBvbmVudHMuQmFsQWNjb3JkaW9uVHJpZ2dlciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2J1dHRvbicsICdjbG9zZUljb24nLCAnY2xvc2VMYWJlbCcsICdjb2xvcicsICdleHBhbmRlZCcsICdvcGVuSWNvbicsICdvcGVuTGFiZWwnLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEFjY29yZGlvblRyaWdnZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYWNjb3JkaW9uLXRyaWdnZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbicsICdjbG9zZUljb24nLCAnY2xvc2VMYWJlbCcsICdjb2xvcicsICdleHBhbmRlZCcsICdvcGVuSWNvbicsICdvcGVuTGFiZWwnLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEFjY29yZGlvblRyaWdnZXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxBcHAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEFwcCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FuaW1hdGVkJ10sXG4gIG1ldGhvZHM6IFsnc2V0Rm9jdXMnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxBcHBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtYXBwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbmltYXRlZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEFwcCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEJhZGdlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxCYWRnZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2ljb24nLCAncG9zaXRpb24nLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEJhZGdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWJhZGdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdpY29uJywgJ3Bvc2l0aW9uJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxCYWRnZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsQnV0dG9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXJpYScsICdiYWxQb3B1cCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdlbGVtZW50VHlwZScsICdleHBhbmRlZCcsICdmbGF0JywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnaWNvblR1cm4nLCAnaW52ZXJ0ZWQnLCAnaXNBY3RpdmUnLCAnbG9hZGluZycsICduYW1lJywgJ25vV3JhcCcsICdvdXRsaW5lZCcsICdyZWwnLCAncm91bmRlZCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcXVhcmUnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQnV0dG9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWJ1dHRvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYXJpYScsICdiYWxQb3B1cCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdlbGVtZW50VHlwZScsICdleHBhbmRlZCcsICdmbGF0JywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnaWNvblR1cm4nLCAnaW52ZXJ0ZWQnLCAnaXNBY3RpdmUnLCAnbG9hZGluZycsICduYW1lJywgJ25vV3JhcCcsICdvdXRsaW5lZCcsICdyZWwnLCAncm91bmRlZCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcXVhcmUnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsTmF2aWdhdGUnLCAnYmFsRm9jdXMnLCAnYmFsQmx1cicsICdiYWxEaWRSZW5kZXInXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxCdXR0b24ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQuICovXG4gIGJhbE5hdmlnYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxCdXR0b25DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxCdXR0b25DdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQnV0dG9uQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaGFzIGJlZW4gIHJlbmRlcmVkLiAqL1xuICBiYWxEaWRSZW5kZXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbEJ1dHRvbkN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsRm9jdXMnLCAnYmFsQmx1cicsICdiYWxEaWRSZW5kZXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQnV0dG9uR3JvdXAgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEJ1dHRvbkdyb3VwIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlyZWN0aW9uJywgJ3Bvc2l0aW9uJywgJ3JldmVyc2UnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxCdXR0b25Hcm91cFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1idXR0b24tZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2RpcmVjdGlvbicsICdwb3NpdGlvbicsICdyZXZlcnNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQnV0dG9uR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJkIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2NsaWNrYWJsZScsICdjb2xvcicsICdmbGF0JywgJ2Z1bGxoZWlnaHQnLCAnaW52ZXJ0ZWQnLCAnc2VsZWN0ZWQnLCAnc3BhY2UnLCAnc3F1YXJlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydib3JkZXInLCAnY2xpY2thYmxlJywgJ2NvbG9yJywgJ2ZsYXQnLCAnZnVsbGhlaWdodCcsICdpbnZlcnRlZCcsICdzZWxlY3RlZCcsICdzcGFjZScsICdzcXVhcmUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZEFjdGlvbnMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmRBY3Rpb25zIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncG9zaXRpb24nXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDYXJkQWN0aW9uc1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJkLWFjdGlvbnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ3Bvc2l0aW9uJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZEFjdGlvbnMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJkQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkQnV0dG9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZWxlbWVudFR5cGUnLCAnaHJlZicsICdpY29uJywgJ2ljb25SaWdodCcsICdsb2FkaW5nJywgJ3RhcmdldCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcmRCdXR0b25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2FyZC1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2VsZW1lbnRUeXBlJywgJ2hyZWYnLCAnaWNvbicsICdpY29uUmlnaHQnLCAnbG9hZGluZycsICd0YXJnZXQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkQnV0dG9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZENvbnRlbnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmRDb250ZW50IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcmRDb250ZW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcmQtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbENhcmRDb250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2FyZFN1YnRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJkU3VidGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib2xkJywgJ2NvbG9yJywgJ2ludmVydGVkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZFN1YnRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcmQtc3VidGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2JvbGQnLCAnY29sb3InLCAnaW52ZXJ0ZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxDYXJkU3VidGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDYXJkVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcmRUaXRsZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludmVydGVkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2FyZFRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWNhcmQtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2ludmVydGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2FyZFRpdGxlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2Fyb3VzZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbENhcm91c2VsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYXNwZWN0UmF0aW8nLCAnYm9yZGVyJywgJ2NvbnRyb2xzJywgJ2NvbnRyb2xzT3ZlcmZsb3cnLCAnY29udHJvbHNTdGlja3knLCAnZnVsbEhlaWdodCcsICdodG1sUm9sZScsICdpbnRlcmZhY2UnLCAnaW52ZXJ0ZWQnLCAnaXRlbXNQZXJWaWV3JywgJ3Njcm9sbFknLCAnc3BhY2UnLCAnc3RlcHMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydwcmV2aW91cycsICduZXh0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2Fyb3VzZWxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2Fyb3VzZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FzcGVjdFJhdGlvJywgJ2JvcmRlcicsICdjb250cm9scycsICdjb250cm9sc092ZXJmbG93JywgJ2NvbnRyb2xzU3RpY2t5JywgJ2Z1bGxIZWlnaHQnLCAnaHRtbFJvbGUnLCAnaW50ZXJmYWNlJywgJ2ludmVydGVkJywgJ2l0ZW1zUGVyVmlldycsICdzY3JvbGxZJywgJ3NwYWNlJywgJ3N0ZXBzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2Fyb3VzZWwge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxDYXJvdXNlbEN1c3RvbUV2ZW50PG51bWJlcj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ2Fyb3VzZWxJdGVtIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDYXJvdXNlbEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdkb3dubG9hZCcsICdlbGVtZW50VHlwZScsICdocmVmJywgJ2h0bWxSb2xlJywgJ2xhYmVsJywgJ25hbWUnLCAncmVsJywgJ3NyYycsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZXRGb2N1cyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENhcm91c2VsSXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jYXJvdXNlbC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdkb3dubG9hZCcsICdlbGVtZW50VHlwZScsICdocmVmJywgJ2h0bWxSb2xlJywgJ2xhYmVsJywgJ25hbWUnLCAncmVsJywgJ3NyYycsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxGb2N1cycsICdiYWxCbHVyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ2Fyb3VzZWxJdGVtIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkLiAqL1xuICBiYWxOYXZpZ2F0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2Fyb3VzZWxJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsQ2Fyb3VzZWxJdGVtQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBidXR0b24gbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENhcm91c2VsSXRlbUN1c3RvbUV2ZW50PHZvaWQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsRm9jdXMnLCAnYmFsQmx1ciddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxDaGVja2JveEJ1dHRvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsQ2hlY2tib3hCdXR0b24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ3JlYWRvbmx5J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsQ2hlY2tib3hCdXR0b25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY2hlY2tib3gtYnV0dG9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ3JlYWRvbmx5J10sXG4gIG91dHB1dHM6IFsnYmFsRm9jdXMnLCAnYmFsQmx1ciddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENoZWNrYm94QnV0dG9uIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENoZWNrYm94QnV0dG9uQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbENoZWNrYm94QnV0dG9uQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb2N1cycsICdiYWxCbHVyJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbENsb3NlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxDbG9zZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludmVydGVkJywgJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxDbG9zZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1jbG9zZScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnaW52ZXJ0ZWQnLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbENsb3NlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsQ29udGVudCBleHRlbmRzIENvbXBvbmVudHMuQmFsQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2xheW91dCcsICdzcGFjZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbENvbnRlbnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYWxpZ24nLCAnbGF5b3V0JywgJ3NwYWNlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsQ29udGVudCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGEgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGEge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydib3JkZXInLCAnaG9yaXpvbnRhbCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGFcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0YScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2hvcml6b250YWwnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRhIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0YUl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGFJdGVtIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyJywgJ2Rpc2FibGVkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRGF0YUl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0YS1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydib3JkZXInLCAnZGlzYWJsZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRhSXRlbSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbERhdGFMYWJlbCBleHRlbmRzIENvbXBvbmVudHMuQmFsRGF0YUxhYmVsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsncmVxdWlyZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRhTGFiZWxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZGF0YS1sYWJlbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsncmVxdWlyZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEYXRhTGFiZWwge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEYXRhVmFsdWUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbERhdGFWYWx1ZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2VkaXRhYmxlJywgJ211bHRpbGluZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGFWYWx1ZVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRhLXZhbHVlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdlZGl0YWJsZScsICdtdWx0aWxpbmUnXSxcbiAgb3V0cHV0czogWydiYWxDbGljaycsICdiYWxGb2N1cycsICdiYWxCbHVyJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRGF0YVZhbHVlIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgZWRpdCBidXR0b24gaGFzIGZvY3VzLiAqL1xuICBiYWxDbGljayE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsRGF0YVZhbHVlQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBlZGl0IGJ1dHRvbiBoYXMgZm9jdXMuICovXG4gIGJhbEZvY3VzITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRhVmFsdWVDdXN0b21FdmVudDx2b2lkPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGVkaXQgYnV0dG9uIGxvc2VzIGZvY3VzLiAqL1xuICBiYWxCbHVyITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRhVmFsdWVDdXN0b21FdmVudDx2b2lkPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENsaWNrJywgJ2JhbEZvY3VzJywgJ2JhbEJsdXInXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0ZUNhbGVuZGFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEYXRlQ2FsZW5kYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhbGxvd2VkRGF0ZXMnLCAnZGVmYXVsdERhdGUnLCAnbWF4JywgJ21heFllYXJQcm9wJywgJ21pbicsICdtaW5ZZWFyUHJvcCcsICd2YWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbERhdGVDYWxlbmRhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kYXRlLWNhbGVuZGFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbGxvd2VkRGF0ZXMnLCAnZGVmYXVsdERhdGUnLCAnbWF4JywgJ21heFllYXJQcm9wJywgJ21pbicsICdtaW5ZZWFyUHJvcCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGVDYWxlbmRhciB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gYSBvcHRpb24gZ290IHNlbGVjdGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbERhdGVDYWxlbmRhckN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRGF0ZUNhbGVuZGFyQ2VsbCBleHRlbmRzIENvbXBvbmVudHMuQmFsRGF0ZUNhbGVuZGFyQ2VsbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2RheScsICdkaXNhYmxlZCcsICdmdWxsRGF0ZScsICdpc29EYXRlJywgJ21vbnRoJywgJ3NlbGVjdGVkJywgJ3RvZGF5JywgJ3llYXInXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxEYXRlQ2FsZW5kYXJDZWxsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWRhdGUtY2FsZW5kYXItY2VsbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnZGF5JywgJ2Rpc2FibGVkJywgJ2Z1bGxEYXRlJywgJ2lzb0RhdGUnLCAnbW9udGgnLCAnc2VsZWN0ZWQnLCAndG9kYXknLCAneWVhciddLFxuICBvdXRwdXRzOiBbJ2JhbFNlbGVjdERheSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbERhdGVDYWxlbmRhckNlbGwge1xuICAvKiogRW1pdHRlZCB3aGVuIGEgb3B0aW9uIGdvdCBzZWxlY3RlZC4gKi9cbiAgYmFsU2VsZWN0RGF5ITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxEYXRlQ2FsZW5kYXJDZWxsQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbFNlbGVjdERheSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxEaXZpZGVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxEaXZpZGVyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9yZGVyU3R5bGUnLCAnY29sb3InLCAnbGF5b3V0JywgJ3NwYWNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRGl2aWRlclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1kaXZpZGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydib3JkZXJTdHlsZScsICdjb2xvcicsICdsYXlvdXQnLCAnc3BhY2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxEaXZpZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaG9yaXpvbnRhbCcsICdpbnZhbGlkJywgJ2xvYWRpbmcnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsaWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGaWVsZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1maWVsZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaG9yaXpvbnRhbCcsICdpbnZhbGlkJywgJ2xvYWRpbmcnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAndmFsaWQnXSxcbiAgb3V0cHV0czogWydiYWxGb3JtQ29udHJvbERpZExvYWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZCB7XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHJlbmRlciB3aGVuIGVsZW1lbnQgaXMgbGFiZWxsZWQgKi9cbiAgYmFsRm9ybUNvbnRyb2xEaWRMb2FkITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxGaWVsZEN1c3RvbUV2ZW50PEhUTUxFbGVtZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvcm1Db250cm9sRGlkTG9hZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGaWVsZENvbnRyb2wgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkQ29udHJvbCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkT25Nb2JpbGUnLCAnaWNvbkxlZnQnLCAnaWNvblJpZ2h0JywgJ2xvYWRpbmcnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGaWVsZENvbnRyb2xcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZmllbGQtY29udHJvbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnZXhwYW5kZWRPbk1vYmlsZScsICdpY29uTGVmdCcsICdpY29uUmlnaHQnLCAnbG9hZGluZyddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZpZWxkQ29udHJvbCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZpZWxkSGludCBleHRlbmRzIENvbXBvbmVudHMuQmFsRmllbGRIaW50IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VMYWJlbCcsICdzbWFsbCcsICdzdWJqZWN0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRIaW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkLWhpbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnc21hbGwnLCAnc3ViamVjdCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZpZWxkSGludCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbEZpZWxkTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZpZWxkTGFiZWwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdodG1sRm9yJywgJ2ludmFsaWQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZCcsICd3ZWlnaHQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGaWVsZExhYmVsXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkLWxhYmVsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdodG1sRm9yJywgJ2ludmFsaWQnLCAncmVhZG9ubHknLCAncmVxdWlyZWQnLCAnc2l6ZScsICd2YWxpZCcsICd3ZWlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRmllbGRNZXNzYWdlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGaWVsZE1lc3NhZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ3JlYWRvbmx5JywgJ3ZhbGlkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsRmllbGRNZXNzYWdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZpZWxkLW1lc3NhZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknLCAndmFsaWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGaWVsZE1lc3NhZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGb290ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZvb3RlciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hpZGVMYW5ndWFnZVNlbGVjdGlvbicsICdoaWRlTGlua3MnLCAnb3ZlcnJpZGVMaW5rcycsICdzaG93U29jaWFsTWVkaWEnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGb290ZXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZm9vdGVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydoaWRlTGFuZ3VhZ2VTZWxlY3Rpb24nLCAnaGlkZUxpbmtzJywgJ292ZXJyaWRlTGlua3MnLCAnc2hvd1NvY2lhbE1lZGlhJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsRm9vdGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9ybSBleHRlbmRzIENvbXBvbmVudHMuQmFsRm9ybSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Zvcm1DbGFzcycsICduYXRpdmUnLCAnbm92YWxpZGF0ZSddLFxuICBtZXRob2RzOiBbJ3Njcm9sbFRvRmlyc3RJbnZhbGlkRmllbGQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxGb3JtXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvcm0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Zvcm1DbGFzcycsICduYXRpdmUnLCAnbm92YWxpZGF0ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZvcm0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxGb3JtQ29sIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxGb3JtQ29sIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZvcm1Db2xcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtZm9ybS1jb2wnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxGb3JtQ29sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsRm9ybUdyaWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEZvcm1HcmlkIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEZvcm1HcmlkXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWZvcm0tZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbEZvcm1HcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGVhZGluZyBleHRlbmRzIENvbXBvbmVudHMuQmFsSGVhZGluZyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2F1dG9MZXZlbCcsICdjb2xvcicsICdpbnZlcnRlZCcsICdsZXZlbCcsICdub1dyYXAnLCAnc2hhZG93JywgJ3NwYWNlJywgJ3N1YnRpdGxlJywgJ3Zpc3VhbExldmVsJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSGVhZGluZ1xufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1oZWFkaW5nJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhdXRvTGV2ZWwnLCAnY29sb3InLCAnaW52ZXJ0ZWQnLCAnbGV2ZWwnLCAnbm9XcmFwJywgJ3NoYWRvdycsICdzcGFjZScsICdzdWJ0aXRsZScsICd2aXN1YWxMZXZlbCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEhlYWRpbmcge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxIaW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxIaW50IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xvc2VMYWJlbCcsICdzbWFsbCddLFxuICBtZXRob2RzOiBbJ3RvZ2dsZScsICdwcmVzZW50JywgJ2Rpc21pc3MnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxIaW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWhpbnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Nsb3NlTGFiZWwnLCAnc21hbGwnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxIaW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGludFRleHQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbEhpbnRUZXh0IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEhpbnRUZXh0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWhpbnQtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbEhpbnRUZXh0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsSGludFRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxIaW50VGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsSGludFRpdGxlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWhpbnQtdGl0bGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxIaW50VGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxJY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxJY29uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbmFtZScsICdzaGFkb3cnLCAnc2l6ZScsICdzdmcnLCAndHVybiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbEljb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnZGlzYWJsZWQnLCAnaW5saW5lJywgJ2ludmFsaWQnLCAnaW52ZXJ0ZWQnLCAnbmFtZScsICdzaGFkb3cnLCAnc2l6ZScsICdzdmcnLCAndHVybiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbEljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxJbnB1dEdyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxJbnB1dEdyb3VwIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaW52YWxpZCcsICdyZWFkb25seSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbElucHV0R3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtaW5wdXQtZ3JvdXAnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxJbnB1dEdyb3VwIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGFiZWwgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExhYmVsIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnaHRtbEZvcicsICdodG1sSWQnLCAnaW52YWxpZCcsICdtdWx0aWxpbmUnLCAnbm9XcmFwJywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3NpemUnLCAndmFsaWQnLCAnd2VpZ2h0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGFiZWxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGFiZWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2h0bWxGb3InLCAnaHRtbElkJywgJ2ludmFsaWQnLCAnbXVsdGlsaW5lJywgJ25vV3JhcCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICdzaXplJywgJ3ZhbGlkJywgJ3dlaWdodCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExhYmVsIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdCBleHRlbmRzIENvbXBvbmVudHMuQmFsTGlzdCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbk9uZUxldmVsJywgJ2JhY2tncm91bmQnLCAnYm9yZGVyJywgJ2Rpc2FibGVkJywgJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbk9uZUxldmVsJywgJ2JhY2tncm91bmQnLCAnYm9yZGVyJywgJ2Rpc2FibGVkJywgJ3NpemUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjb3JkaW9uJywgJ2NsaWNrYWJsZScsICdkaXNhYmxlZCcsICdkb3dubG9hZCcsICdocmVmJywgJ3JlbCcsICdzZWxlY3RlZCcsICdzdWJBY2NvcmRpb25JdGVtJywgJ3RhcmdldCddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICd0b2dnbGUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxMaXN0SXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbicsICdjbGlja2FibGUnLCAnZGlzYWJsZWQnLCAnZG93bmxvYWQnLCAnaHJlZicsICdyZWwnLCAnc2VsZWN0ZWQnLCAnc3ViQWNjb3JkaW9uSXRlbScsICd0YXJnZXQnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxHcm91cFN0YXRlQ2hhbmdlZCcsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW0ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzdGF0ZSBvZiB0aGUgZ3JvdXAgaXMgY2hhbmdpbmcgKi9cbiAgYmFsR3JvdXBTdGF0ZUNoYW5nZWQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbExpc3RJdGVtQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxMaXN0SXRlbUN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsR3JvdXBTdGF0ZUNoYW5nZWQnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUFjY29yZGlvbkJvZHkgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtQWNjb3JkaW9uQm9keSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbkdyb3VwJywgJ2NvbnRlbnRBbGlnbm1lbnQnLCAnY29udGVudFNwYWNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1BY2NvcmRpb25Cb2R5XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS1hY2NvcmRpb24tYm9keScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYWNjb3JkaW9uR3JvdXAnLCAnY29udGVudEFsaWdubWVudCcsICdjb250ZW50U3BhY2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbUFjY29yZGlvbkJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbUFjY29yZGlvbkhlYWQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbk9wZW4nLCAnaWNvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0tYWNjb3JkaW9uLWhlYWQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbk9wZW4nLCAnaWNvbiddLFxuICBvdXRwdXRzOiBbJ2JhbEFjY29yZGlvbkNoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExpc3RJdGVtQWNjb3JkaW9uSGVhZCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGFjY29yZGlvbiBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gIGJhbEFjY29yZGlvbkNoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsTGlzdEl0ZW1BY2NvcmRpb25IZWFkQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxBY2NvcmRpb25DaGFuZ2UnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW1Db250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbUNvbnRlbnQge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb250ZW50QWxpZ25tZW50J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTGlzdEl0ZW1Db250ZW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLWxpc3QtaXRlbS1jb250ZW50JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb250ZW50QWxpZ25tZW50J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1Db250ZW50IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTGlzdEl0ZW1JY29uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbUljb24ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydyaWdodCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtSWNvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1saXN0LWl0ZW0taWNvbicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsncmlnaHQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxMaXN0SXRlbUljb24ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMaXN0SXRlbVN1YnRpdGxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMaXN0SXRlbVN1YnRpdGxlIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtU3VidGl0bGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLXN1YnRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsTGlzdEl0ZW1TdWJ0aXRsZSB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbExpc3RJdGVtVGl0bGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbExpc3RJdGVtVGl0bGUge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydsZXZlbCcsICd2aXN1YWxMZXZlbCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExpc3RJdGVtVGl0bGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbGlzdC1pdGVtLXRpdGxlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydsZXZlbCcsICd2aXN1YWxMZXZlbCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExpc3RJdGVtVGl0bGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxMb2dvIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxMb2dvIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnY29sb3InLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbExvZ29cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbG9nbycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnY29sb3InLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbExvZ28ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxNb2RhbCBleHRlbmRzIENvbXBvbmVudHMuQmFsTW9kYWwge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydiYWNrZHJvcERpc21pc3MnLCAnY29tcG9uZW50JywgJ2NvbXBvbmVudFByb3BzJywgJ2Nzc0NsYXNzJywgJ2ZvY3VzVHJhcCcsICdoYXNCYWNrZHJvcCcsICdpc0Nsb3NhYmxlJywgJ21vZGFsV2lkdGgnLCAnc3BhY2UnXSxcbiAgbWV0aG9kczogWydwcmVzZW50JywgJ2Rpc21pc3MnLCAnb25EaWREaXNtaXNzJywgJ29uV2lsbERpc21pc3MnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxNb2RhbFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1tb2RhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYmFja2Ryb3BEaXNtaXNzJywgJ2NvbXBvbmVudCcsICdjb21wb25lbnRQcm9wcycsICdjc3NDbGFzcycsICdmb2N1c1RyYXAnLCAnaGFzQmFja2Ryb3AnLCAnaXNDbG9zYWJsZScsICdtb2RhbFdpZHRoJywgJ3NwYWNlJ10sXG4gIG91dHB1dHM6IFsnYmFsTW9kYWxEaWRQcmVzZW50JywgJ2JhbE1vZGFsV2lsbFByZXNlbnQnLCAnYmFsTW9kYWxXaWxsRGlzbWlzcycsICdiYWxNb2RhbERpZERpc21pc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxNb2RhbCB7XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBtb2RhbCBoYXMgcHJlc2VudGVkLiAqL1xuICBiYWxNb2RhbERpZFByZXNlbnQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE1vZGFsQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIG1vZGFsIGhhcyBwcmVzZW50ZWQuICovXG4gIGJhbE1vZGFsV2lsbFByZXNlbnQhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE1vZGFsQ3VzdG9tRXZlbnQ8dm9pZD4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIG1vZGFsIGhhcyBkaXNtaXNzZWQuICovXG4gIGJhbE1vZGFsV2lsbERpc21pc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE1vZGFsQ3VzdG9tRXZlbnQ8YW55Pj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBtb2RhbCBoYXMgZGlzbWlzc2VkLiAqL1xuICBiYWxNb2RhbERpZERpc21pc3MhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE1vZGFsQ3VzdG9tRXZlbnQ8YW55Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE1vZGFsRGlkUHJlc2VudCcsICdiYWxNb2RhbFdpbGxQcmVzZW50JywgJ2JhbE1vZGFsV2lsbERpc21pc3MnLCAnYmFsTW9kYWxEaWREaXNtaXNzJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE1vZGFsQm9keSBleHRlbmRzIENvbXBvbmVudHMuQmFsTW9kYWxCb2R5IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE1vZGFsQm9keVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1tb2RhbC1ib2R5JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsTW9kYWxCb2R5IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTW9kYWxIZWFkZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE1vZGFsSGVhZGVyIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE1vZGFsSGVhZGVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW1vZGFsLWhlYWRlcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE1vZGFsSGVhZGVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXYge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydidXR0b25zJywgJ2xvZ28nLCAnb3B0aW9ucyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdlxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2J1dHRvbnMnLCAnbG9nbycsICdvcHRpb25zJ10sXG4gIG91dHB1dHM6IFsnYmFsTmF2SXRlbUNsaWNrJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2IHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBhIG5hdiBsaW5rIGl0ZW0gaXMgY2xpY2tlZC4gVGhpcyBldmVudCBjYW4gYmUgdXNlZCB0b1xuYWRkIGRhdGEgdHJhY2tpbmcgKi9cbiAgYmFsTmF2SXRlbUNsaWNrITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOYXZDdXN0b21FdmVudDxCYWxFdmVudHMuQmFsTmF2SXRlbUNsaWNrRGV0YWlsPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE5hdkl0ZW1DbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZMaW5rIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZMaW5rIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2hyZWYnLCAnc2VsZWN0ZWQnLCAndGFyZ2V0JywgJ3ZhcmlhbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZMaW5rXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1saW5rJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjbGlja2FibGUnLCAnaHJlZicsICdzZWxlY3RlZCcsICd0YXJnZXQnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdkxpbmsge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZMaW5rR3JpZCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2TGlua0dyaWQge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2TGlua0dyaWRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LWxpbmstZ3JpZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdkxpbmtHcmlkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TGlua0dyaWRDb2wgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdkxpbmtHcmlkQ29sIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnc3RhdGljQ29sJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2TGlua0dyaWRDb2xcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2LWxpbmstZ3JpZC1jb2wnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ3N0YXRpY0NvbCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdkxpbmtHcmlkQ29sIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TGlua0dyb3VwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZMaW5rR3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvciddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdkxpbmtHcm91cFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbGluay1ncm91cCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnY29sb3InXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZMaW5rR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZNZW51QmFyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZNZW51QmFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnaW52aXNpYmxlJywgJ3Bvc2l0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2TWVudUJhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1uYXYtbWVudS1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2ludmlzaWJsZScsICdwb3NpdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdk1lbnVCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZNZW51Rmx5b3V0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZNZW51Rmx5b3V0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnbmF2SWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZNZW51Rmx5b3V0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1tZW51LWZseW91dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnbmF2SWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZNZW51Rmx5b3V0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2TWV0YUJhciBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2TWV0YUJhciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ludmlzaWJsZScsICdwb3NpdGlvbicsICdzaXplJywgJ3ZhcmlhbnQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZNZXRhQmFyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdi1tZXRhLWJhcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnaW52aXNpYmxlJywgJ3Bvc2l0aW9uJywgJ3NpemUnLCAndmFyaWFudCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdk1ldGFCYXIge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhciB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbnRhaW5lcicsICdpbnRlcmZhY2UnLCAnbGlnaHQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb250YWluZXInLCAnaW50ZXJmYWNlJywgJ2xpZ2h0J11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2YmFyQnJhbmQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhckJyYW5kIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYW5pbWF0ZWQnLCAnaHJlZicsICdsb2dvJywgJ2xvZ29DbGlja2FibGUnLCAnbG9nb0xhYmVsJywgJ2xvZ29TaXplJywgJ3JlbCcsICdzaW1wbGUnLCAndGFyZ2V0J10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsTmF2YmFyQnJhbmRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLWJyYW5kJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbmltYXRlZCcsICdocmVmJywgJ2xvZ28nLCAnbG9nb0NsaWNrYWJsZScsICdsb2dvTGFiZWwnLCAnbG9nb1NpemUnLCAncmVsJywgJ3NpbXBsZScsICd0YXJnZXQnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsTmF2YmFyQnJhbmQge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdmJhckJyYW5kQ3VzdG9tRXZlbnQ8TW91c2VFdmVudD4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbE5hdmJhckJyYW5kQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxOYXZiYXJCcmFuZEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnLCAnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJNZW51IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOYXZiYXJNZW51IHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5hdmJhck1lbnVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLW1lbnUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZiYXJNZW51IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsTmF2YmFyTWVudUVuZCBleHRlbmRzIENvbXBvbmVudHMuQmFsTmF2YmFyTWVudUVuZCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJNZW51RW5kXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW5hdmJhci1tZW51LWVuZCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5hdmJhck1lbnVFbmQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOYXZiYXJNZW51U3RhcnQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5hdmJhck1lbnVTdGFydCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxOYXZiYXJNZW51U3RhcnRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbmF2YmFyLW1lbnUtc3RhcnQnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxOYXZiYXJNZW51U3RhcnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOb3RpY2VzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxOb3RpY2VzIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5vdGljZXNcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtbm90aWNlcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5vdGljZXMge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxOb3RpZmljYXRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbE5vdGlmaWNhdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2xpZ2h0JywgJ25vSWNvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbE5vdGlmaWNhdGlvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1ub3RpZmljYXRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2xpZ2h0JywgJ25vSWNvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE5vdGlmaWNhdGlvbiB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbE9wdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsT3B0aW9uIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnZGlzYWJsZWQnLCAnZm9jdXNlZCcsICdoaWRkZW4nLCAnaW52YWxpZCcsICdsYWJlbCcsICdtdWx0aWxpbmUnLCAnc2VsZWN0ZWQnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZWxlY3QnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxPcHRpb25cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtb3B0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmb2N1c2VkJywgJ2hpZGRlbicsICdpbnZhbGlkJywgJ2xhYmVsJywgJ211bHRpbGluZScsICdzZWxlY3RlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbE9wdGlvbkNoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbE9wdGlvbiB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIG9wdGlvbiBnZXRzIHNlbGVjdGVkIG9yIHVuc2VsZWN0ZWQgKi9cbiAgYmFsT3B0aW9uQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxPcHRpb25DdXN0b21FdmVudDxCYWxFdmVudHMuQmFsT3B0aW9uQ2hhbmdlRGV0YWlsPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE9wdGlvbkNoYW5nZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxPcHRpb25MaXN0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxPcHRpb25MaXN0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudEhlaWdodCcsICdkaXNhYmxlZCcsICdmaWx0ZXInLCAnZm9jdXNJbmRleCcsICdsYWJlbGxlZGJ5JywgJ211bHRpcGxlJywgJ3JlcXVpcmVkJ10sXG4gIG1ldGhvZHM6IFsnZm9jdXNTZWxlY3RlZCcsICdmb2N1c0ZpcnN0JywgJ2ZvY3VzTGFzdCcsICdmb2N1c05leHQnLCAnZm9jdXNQcmV2aW91cycsICdmb2N1c0J5TGFiZWwnLCAnZmlsdGVyQnlDb250ZW50JywgJ3Jlc2V0SGlkZGVuJywgJ3Jlc2V0U2VsZWN0ZWQnLCAndXBkYXRlU2VsZWN0ZWQnLCAncmVzZXRGb2N1cycsICdnZXRTZWxlY3RlZFZhbHVlcycsICdnZXRTZWxlY3RlZE9wdGlvbnMnLCAnZ2V0VmFsdWVzJywgJ2dldExhYmVscycsICdnZXRPcHRpb25zJywgJ3NlbGVjdEJ5Rm9jdXMnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxPcHRpb25MaXN0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLW9wdGlvbi1saXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb250ZW50SGVpZ2h0JywgJ2Rpc2FibGVkJywgJ2ZpbHRlcicsICdmb2N1c0luZGV4JywgJ2xhYmVsbGVkYnknLCAnbXVsdGlwbGUnLCAncmVxdWlyZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxPcHRpb25MaXN0IHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUGFnaW5hdGlvbiBleHRlbmRzIENvbXBvbmVudHMuQmFsUGFnaW5hdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2FsaWduJywgJ2Rpc2FibGVkJywgJ2ludGVyZmFjZScsICdwYWdlUmFuZ2UnLCAnc2l6ZScsICdzdGlja3knLCAndG9wJywgJ3RvdGFsUGFnZXMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWyduZXh0JywgJ3ByZXZpb3VzJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsUGFnaW5hdGlvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wYWdpbmF0aW9uJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbGlnbicsICdkaXNhYmxlZCcsICdpbnRlcmZhY2UnLCAncGFnZVJhbmdlJywgJ3NpemUnLCAnc3RpY2t5JywgJ3RvcCcsICd0b3RhbFBhZ2VzJywgJ3ZhbHVlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUGFnaW5hdGlvbiB7XG4gIC8qKiBUcmlnZ2VycyB3aGVuIGEgcGFnZSBjaGFuZ2UgaGFwcGVucyAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBhZ2luYXRpb25DdXN0b21FdmVudDxudW1iZXI+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFBvcG92ZXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFBvcG92ZXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYXV0b1RyaWdnZXInLCAnYmFja2Ryb3AnLCAnaGludCcsICdob3ZlcicsICdtb2JpbGVUb3AnLCAnb2Zmc2V0WCcsICdvZmZzZXRZJywgJ3BhZGRpbmcnLCAncG9zaXRpb24nLCAndG9vbHRpcCddLFxuICBtZXRob2RzOiBbJ3ByZXNlbnQnLCAnZGlzbWlzcycsICd0b2dnbGUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQb3BvdmVyXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcG92ZXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdhcnJvdycsICdhdXRvVHJpZ2dlcicsICdiYWNrZHJvcCcsICdoaW50JywgJ2hvdmVyJywgJ21vYmlsZVRvcCcsICdvZmZzZXRYJywgJ29mZnNldFknLCAncGFkZGluZycsICdwb3NpdGlvbicsICd0b29sdGlwJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQb3BvdmVyIHtcbiAgLyoqIExpc3RlbiB3aGVuIHRoZSBwb3BvdmVyIG9wZW5zIG9yIGNsb3Nlcy4gUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZS4gKi9cbiAgYmFsQ2hhbmdlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3BvdmVyQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcG92ZXJDdXN0b21FdmVudDxib29sZWFuPj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBhbmltYXRpb24gaGFzIGZpbmlzaGVkICovXG4gIGJhbERpZEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcG92ZXJDdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFBvcG92ZXJDb250ZW50IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxQb3BvdmVyQ29udGVudCB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2NvbnRlbnRNaW5XaWR0aCcsICdjb250ZW50V2lkdGgnLCAnZXhwYW5kZWQnLCAnbW9iaWxlVG9wJywgJ25vU2hhZG93JywgJ3JhZGl1cycsICdzY3JvbGxhYmxlJywgJ3NwYWNlbGVzcyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFBvcG92ZXJDb250ZW50XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcG92ZXItY29udGVudCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnY29sb3InLCAnY29udGVudE1pbldpZHRoJywgJ2NvbnRlbnRXaWR0aCcsICdleHBhbmRlZCcsICdtb2JpbGVUb3AnLCAnbm9TaGFkb3cnLCAncmFkaXVzJywgJ3Njcm9sbGFibGUnLCAnc3BhY2VsZXNzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUG9wb3ZlckNvbnRlbnQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxQb3B1cCBleHRlbmRzIENvbXBvbmVudHMuQmFsUG9wdXAge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYmFja2Ryb3AnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NhYmxlJywgJ2NvbnRlbnRXaWR0aCcsICdsYWJlbCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZScsICd2YXJpYW50J10sXG4gIG1ldGhvZHM6IFsncHJlc2VudCcsICdkaXNtaXNzJywgJ3RvZ2dsZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFBvcHVwXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXBvcHVwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJyb3cnLCAnYmFja2Ryb3AnLCAnYmFja2Ryb3BEaXNtaXNzJywgJ2Nsb3NhYmxlJywgJ2NvbnRlbnRXaWR0aCcsICdsYWJlbCcsICdvZmZzZXQnLCAncGxhY2VtZW50JywgJ3JlZmVyZW5jZScsICd2YXJpYW50J10sXG4gIG91dHB1dHM6IFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQb3B1cCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGFjY29yZGlvbiBoYXMgb3BlbmVkIG9yIGNsb3NlZCAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcHVwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMgKi9cbiAgYmFsV2lsbEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFBvcHVwQ3VzdG9tRXZlbnQ8Ym9vbGVhbj4+O1xuICAvKiogRW1pdHRlZCBhZnRlciB0aGUgYW5pbWF0aW9uIGhhcyBmaW5pc2hlZCAqL1xuICBiYWxEaWRBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxQb3B1cEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsUHJvZ3Jlc3NCYXIgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFByb2dyZXNzQmFyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYmFja2dyb3VuZCcsICdjb2xvcicsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2NvbmZpZ0NoYW5nZWQnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxQcm9ncmVzc0JhclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1wcm9ncmVzcy1iYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2JhY2tncm91bmQnLCAnY29sb3InLCAndmFsdWUnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxQcm9ncmVzc0JhciB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFJhZGlvIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxSYWRpbyB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2ZsYXQnLCAnaW50ZXJmYWNlJywgJ2ludmFsaWQnLCAnaW52aXNpYmxlJywgJ2xhYmVsJywgJ2xhYmVsSGlkZGVuJywgJ25hbWUnLCAnbm9uU3VibWl0JywgJ3JlYWRvbmx5JywgJ3JlcXVpcmVkJywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0SW5wdXRFbGVtZW50JywgJ2dldE9wdGlvbiddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFJhZGlvXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXJhZGlvJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdmbGF0JywgJ2ludGVyZmFjZScsICdpbnZhbGlkJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdsYWJlbEhpZGRlbicsICduYW1lJywgJ25vblN1Ym1pdCcsICdyZWFkb25seScsICdyZXF1aXJlZCcsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsUmFkaW8ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgaGFzIGZvY3VzLiAqL1xuICBiYWxGb2N1cyE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIHRvZ2dsZSBsb3NlcyBmb2N1cy4gKi9cbiAgYmFsQmx1ciE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxGb2N1c0V2ZW50Pj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoZWNrZWQgcHJvcGVydHkgaGFzIGNoYW5nZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9DdXN0b21FdmVudDxib29sZWFuPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbEZvY3VzJywgJ2JhbEJsdXInLCAnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFJhZGlvQnV0dG9uIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxSYWRpb0J1dHRvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxSYWRpb0J1dHRvblxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1yYWRpby1idXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJywgJ2ludmFsaWQnLCAncmVhZG9ubHknXSxcbiAgb3V0cHV0czogWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbEZvcm1Db250cm9sRGlkTG9hZCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFJhZGlvQnV0dG9uIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgdG9nZ2xlIGhhcyBmb2N1cy4gKi9cbiAgYmFsRm9jdXMhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvQnV0dG9uQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSB0b2dnbGUgbG9zZXMgZm9jdXMuICovXG4gIGJhbEJsdXIhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFJhZGlvQnV0dG9uQ3VzdG9tRXZlbnQ8Rm9jdXNFdmVudD4+O1xuICAvKiogRW1pdHRlZCBhZnRlciByZW5kZXIgd2hlbiBlbGVtZW50IGlzIGxhYmVsbGVkICovXG4gIGJhbEZvcm1Db250cm9sRGlkTG9hZCE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsUmFkaW9CdXR0b25DdXN0b21FdmVudDxIVE1MRWxlbWVudD4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxGb2N1cycsICdiYWxCbHVyJywgJ2JhbEZvcm1Db250cm9sRGlkTG9hZCddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTZWdtZW50SXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsU2VnbWVudEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2VnbWVudEl0ZW1cbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2VnbWVudC1pdGVtJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xhYmVsJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2VnbWVudEl0ZW0ge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTZWxlY3RPcHRpb24gZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNlbGVjdE9wdGlvbiB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3ZhbHVlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2VsZWN0T3B0aW9uXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXNlbGVjdC1vcHRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkJywgJ2xhYmVsJywgJ3ZhbHVlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2VsZWN0T3B0aW9uIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU2hhcGUgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNoYXBlIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAncm90YXRpb24nLCAndmFyaWF0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU2hhcGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc2hhcGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ3JvdGF0aW9uJywgJ3ZhcmlhdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNoYXBlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU2hlZXQgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFNoZWV0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGFpbmVyU2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFNoZWV0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXNoZWV0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb250YWluZXJTaXplJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU2hlZXQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTbmFja2JhciBleHRlbmRzIENvbXBvbmVudHMuQmFsU25hY2tiYXIge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3Rpb24nLCAnY29sb3InLCAnZHVyYXRpb24nLCAnaHJlZicsICdpY29uJywgJ21lc3NhZ2UnLCAnc3ViamVjdCcsICd0YXJnZXQnXSxcbiAgbWV0aG9kczogWydjbG9zZUluJywgJ2Nsb3NlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU25hY2tiYXJcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc25hY2tiYXInLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjdGlvbicsICdjb2xvcicsICdkdXJhdGlvbicsICdocmVmJywgJ2ljb24nLCAnbWVzc2FnZScsICdzdWJqZWN0JywgJ3RhcmdldCddLFxuICBvdXRwdXRzOiBbJ2JhbENsb3NlJywgJ2JhbEFjdGlvbiddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFNuYWNrYmFyIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiBzbmFja2JhciBpcyBjbG9zZWQgKi9cbiAgYmFsQ2xvc2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNuYWNrYmFyQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGFjdGlvbiBidXR0b24gaXMgY2xpY2tlZCAqL1xuICBiYWxBY3Rpb24hOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFNuYWNrYmFyQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbENsb3NlJywgJ2JhbEFjdGlvbiddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTcGlubmVyIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTcGlubmVyIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29sb3InLCAnZGVhY3RpdmF0ZWQnLCAnaW52ZXJ0ZWQnLCAnc21hbGwnLCAndmFyaWF0aW9uJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3Bpbm5lclxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zcGlubmVyJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdkZWFjdGl2YXRlZCcsICdpbnZlcnRlZCcsICdzbWFsbCcsICd2YXJpYXRpb24nXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTcGlubmVyIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhY2sgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWNrIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWxpZ24nLCAnZml0Q29udGVudCcsICdsYXlvdXQnLCAncHgnLCAncHknLCAnc3BhY2UnLCAnc3BhY2VDb2x1bW4nLCAnc3BhY2VSb3cnLCAndXNlV3JhcCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWNrXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWNrJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydhbGlnbicsICdmaXRDb250ZW50JywgJ2xheW91dCcsICdweCcsICdweScsICdzcGFjZScsICdzcGFjZUNvbHVtbicsICdzcGFjZVJvdycsICd1c2VXcmFwJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhY2sge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2Uge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjb2xvcicsICdjb250YWluZXJTaXplJywgJ3NoYXBlJywgJ3NoYXBlUm90YXRpb24nLCAnc2hhcGVWYXJpYXRpb24nLCAnc2l6ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb2xvcicsICdjb250YWluZXJTaXplJywgJ3NoYXBlJywgJ3NoYXBlUm90YXRpb24nLCAnc2hhcGVWYXJpYXRpb24nLCAnc2l6ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhZ2VCYWNrTGluayBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VCYWNrTGluayB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2hyZWYnLCAnaW52ZXJ0ZWQnLCAncmVsJywgJ3NoYWRvdyddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlQmFja0xpbmtcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtYmFjay1saW5rJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydocmVmJywgJ2ludmVydGVkJywgJ3JlbCcsICdzaGFkb3cnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZUJhY2tMaW5rIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhZ2VCb2R5IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxTdGFnZUJvZHkge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsU3RhZ2VCb2R5XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0YWdlLWJvZHknLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBCYWxTdGFnZUJvZHkge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGFnZUZvb3QgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0YWdlRm9vdCB7fVxuQFByb3h5Q21wKHtcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGFnZUZvb3Rcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtZm9vdCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlRm9vdCB7XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFN0YWdlSGVhZCBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VIZWFkIHt9XG5AUHJveHlDbXAoe1xuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlSGVhZFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGFnZS1oZWFkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsU3RhZ2VIZWFkIHtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RhZ2VJbWFnZSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RhZ2VJbWFnZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2ZhbGxiYWNrJywgJ3NyY1NldCddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0YWdlSW1hZ2Vcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtc3RhZ2UtaW1hZ2UnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2ZhbGxiYWNrJywgJ3NyY1NldCddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0YWdlSW1hZ2Uge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxTdGVwSXRlbSBleHRlbmRzIENvbXBvbmVudHMuQmFsU3RlcEl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnZGlzYWJsZWQnLCAnZG9uZScsICdmYWlsZWQnLCAnaHJlZicsICdpbnZpc2libGUnLCAnbGFiZWwnLCAncHJldmVudCcsICdyZWwnLCAndGFyZ2V0JywgJ3ZhbHVlJ10sXG4gIG1ldGhvZHM6IFsnZ2V0T3B0aW9ucycsICdzZXRBY3RpdmUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxTdGVwSXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC1zdGVwLWl0ZW0nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjdGl2ZScsICdkaXNhYmxlZCcsICdkb25lJywgJ2ZhaWxlZCcsICdocmVmJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdwcmV2ZW50JywgJ3JlbCcsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0ZXBJdGVtIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbGluayBlbGVtZW50IGhhcyBjbGlja2VkICovXG4gIGJhbE5hdmlnYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxTdGVwSXRlbUN1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsTmF2aWdhdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsU3RlcHMgZXh0ZW5kcyBDb21wb25lbnRzLkJhbFN0ZXBzIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY2xpY2thYmxlJywgJ2NvbG9yJywgJ2RlYm91bmNlJywgJ29wdGlvbnMnLCAndmFsdWUnXSxcbiAgbWV0aG9kczogWydzZWxlY3QnLCAnZ2V0T3B0aW9uQnlWYWx1ZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFN0ZXBzXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXN0ZXBzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjbGlja2FibGUnLCAnY29sb3InLCAnZGVib3VuY2UnLCAnb3B0aW9ucycsICd2YWx1ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFN0ZXBzIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgY2hhbmdlcyBoYXMgZmluaXNoZWQuICovXG4gIGJhbENoYW5nZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsU3RlcHNDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRhYkl0ZW0gZXh0ZW5kcyBDb21wb25lbnRzLkJhbFRhYkl0ZW0ge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydhY3RpdmUnLCAnYXJpYScsICdidWJibGUnLCAnZGlzYWJsZWQnLCAnaHJlZicsICdpY29uJywgJ2ludmlzaWJsZScsICdsYWJlbCcsICdub1BhbmVsJywgJ3ByZXZlbnQnLCAnc3ViTGFiZWwnLCAnc3ZnJywgJ3RhcmdldCcsICd2YWx1ZSddLFxuICBtZXRob2RzOiBbJ2dldE9wdGlvbnMnLCAnc2V0QWN0aXZlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVGFiSXRlbVxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10YWItaXRlbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYWN0aXZlJywgJ2FyaWEnLCAnYnViYmxlJywgJ2Rpc2FibGVkJywgJ2hyZWYnLCAnaWNvbicsICdpbnZpc2libGUnLCAnbGFiZWwnLCAnbm9QYW5lbCcsICdwcmV2ZW50JywgJ3N1YkxhYmVsJywgJ3N2ZycsICd0YXJnZXQnLCAndmFsdWUnXSxcbiAgb3V0cHV0czogWydiYWxOYXZpZ2F0ZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFRhYkl0ZW0ge1xuICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsaW5rIGVsZW1lbnQgaGFzIGNsaWNrZWQgKi9cbiAgYmFsTmF2aWdhdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYkl0ZW1DdXN0b21FdmVudDxNb3VzZUV2ZW50Pj47XG4gIHByb3RlY3RlZCBlbDogSFRNTEVsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKGM6IENoYW5nZURldGVjdG9yUmVmLCByOiBFbGVtZW50UmVmLCBwcm90ZWN0ZWQgejogTmdab25lKSB7XG4gICAgYy5kZXRhY2goKTtcbiAgICB0aGlzLmVsID0gci5uYXRpdmVFbGVtZW50O1xuICAgIHByb3h5T3V0cHV0cyh0aGlzLCB0aGlzLmVsLCBbJ2JhbE5hdmlnYXRlJ10pO1xuICB9XG59XG5cblxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEJhbFRhYmxlIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUYWJsZSB7fVxuQFByb3h5Q21wKHtcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVGFibGVcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGFibGUnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2V4cGFuZGVkJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFibGUge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWJzIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUYWJzIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYWNjb3JkaW9uJywgJ2JvcmRlcicsICdjbGlja2FibGUnLCAnY29udGV4dCcsICdkZWJvdW5jZScsICdkaW1JbmFjdGl2ZUVsZW1lbnRzJywgJ2V4cGFuZGVkJywgJ2Zsb2F0JywgJ2Z1bGx3aWR0aCcsICdpY29uUG9zaXRpb24nLCAnaW52ZXJ0ZWQnLCAnb3B0aW9uYWxUYWJTZWxlY3Rpb24nLCAnb3B0aW9ucycsICdvdmVyZmxvdycsICdzZWxlY3RPbk1vYmlsZScsICdzcGFjZWxlc3MnLCAndmFsdWUnLCAndmVydGljYWwnLCAndmVydGljYWxDb2xTaXplJ10sXG4gIG1ldGhvZHM6IFsnc2VsZWN0JywgJ2dldE9wdGlvbkJ5VmFsdWUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWJzXG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRhYnMnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW5wdXRzOiBbJ2FjY29yZGlvbicsICdib3JkZXInLCAnY2xpY2thYmxlJywgJ2NvbnRleHQnLCAnZGVib3VuY2UnLCAnZGltSW5hY3RpdmVFbGVtZW50cycsICdleHBhbmRlZCcsICdmbG9hdCcsICdmdWxsd2lkdGgnLCAnaWNvblBvc2l0aW9uJywgJ2ludmVydGVkJywgJ29wdGlvbmFsVGFiU2VsZWN0aW9uJywgJ29wdGlvbnMnLCAnb3ZlcmZsb3cnLCAnc2VsZWN0T25Nb2JpbGUnLCAnc3BhY2VsZXNzJywgJ3ZhbHVlJywgJ3ZlcnRpY2FsJywgJ3ZlcnRpY2FsQ29sU2l6ZSddLFxuICBvdXRwdXRzOiBbJ2JhbENoYW5nZScsICdiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFicyB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGNoYW5nZXMgaGFzIGZpbmlzaGVkLiAqL1xuICBiYWxDaGFuZ2UhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYnNDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgLyoqIEVtaXR0ZWQgYmVmb3JlIHRoZSBhbmltYXRpb24gc3RhcnRzICovXG4gIGJhbFdpbGxBbmltYXRlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUYWJzQ3VzdG9tRXZlbnQ8c3RyaW5nPj47XG4gIC8qKiBFbWl0dGVkIGFmdGVyIHRoZSBhbmltYXRpb24gaGFzIGZpbmlzaGVkICovXG4gIGJhbERpZEFuaW1hdGUhOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhYnNDdXN0b21FdmVudDxzdHJpbmc+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2hhbmdlJywgJ2JhbFdpbGxBbmltYXRlJywgJ2JhbERpZEFuaW1hdGUnXSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQmFsVGFnIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUYWcge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xpZ2h0JywgJ3Bvc2l0aW9uJywgJ3NpemUnXSxcbiAgZGVmaW5lQ3VzdG9tRWxlbWVudEZuOiBkZWZpbmVCYWxUYWdcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGFnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkaXNhYmxlZCcsICdpbnZhbGlkJywgJ2xpZ2h0JywgJ3Bvc2l0aW9uJywgJ3NpemUnXSxcbiAgb3V0cHV0czogWydiYWxDbG9zZUNsaWNrJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFnIHtcbiAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgZ290IGNsaWNrZWQuICovXG4gIGJhbENsb3NlQ2xpY2shOiBFdmVudEVtaXR0ZXI8QmFsRXZlbnRzLkJhbFRhZ0N1c3RvbUV2ZW50PE1vdXNlRXZlbnQ+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsQ2xvc2VDbGljayddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUYWdHcm91cCBleHRlbmRzIENvbXBvbmVudHMuQmFsVGFnR3JvdXAge31cbkBQcm94eUNtcCh7XG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVGFnR3JvdXBcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGFnLWdyb3VwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFsVGFnR3JvdXAge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUZXh0IGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUZXh0IHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnYm9sZCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdoZWFkaW5nJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2ludmVydGVkJywgJ25vV3JhcCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcGFjZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRleHRcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdiYWwtdGV4dCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbnB1dHM6IFsnYm9sZCcsICdjb2xvcicsICdkaXNhYmxlZCcsICdoZWFkaW5nJywgJ2lubGluZScsICdpbnZhbGlkJywgJ2ludmVydGVkJywgJ25vV3JhcCcsICdzaGFkb3cnLCAnc2l6ZScsICdzcGFjZSddXG59KVxuZXhwb3J0IGNsYXNzIEJhbFRleHQge1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUb2FzdCBleHRlbmRzIENvbXBvbmVudHMuQmFsVG9hc3Qge31cbkBQcm94eUNtcCh7XG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkdXJhdGlvbicsICdtZXNzYWdlJ10sXG4gIG1ldGhvZHM6IFsnY2xvc2VJbicsICdjbG9zZSddLFxuICBkZWZpbmVDdXN0b21FbGVtZW50Rm46IGRlZmluZUJhbFRvYXN0XG59KVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYmFsLXRvYXN0JyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjbG9zYWJsZScsICdjb2xvcicsICdkdXJhdGlvbicsICdtZXNzYWdlJ10sXG4gIG91dHB1dHM6IFsnYmFsQ2xvc2UnXVxufSlcbmV4cG9ydCBjbGFzcyBCYWxUb2FzdCB7XG4gIC8qKiBFbWl0dGVkIHdoZW4gdG9hc3QgaXMgY2xvc2VkICovXG4gIGJhbENsb3NlITogRXZlbnRFbWl0dGVyPEJhbEV2ZW50cy5CYWxUb2FzdEN1c3RvbUV2ZW50PHN0cmluZz4+O1xuICBwcm90ZWN0ZWQgZWw6IEhUTUxFbGVtZW50O1xuICBjb25zdHJ1Y3RvcihjOiBDaGFuZ2VEZXRlY3RvclJlZiwgcjogRWxlbWVudFJlZiwgcHJvdGVjdGVkIHo6IE5nWm9uZSkge1xuICAgIGMuZGV0YWNoKCk7XG4gICAgdGhpcy5lbCA9IHIubmF0aXZlRWxlbWVudDtcbiAgICBwcm94eU91dHB1dHModGhpcywgdGhpcy5lbCwgWydiYWxDbG9zZSddKTtcbiAgfVxufVxuXG5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBCYWxUb29sdGlwIGV4dGVuZHMgQ29tcG9uZW50cy5CYWxUb29sdGlwIHt9XG5AUHJveHlDbXAoe1xuICBpbnB1dHM6IFsnY29udGVudFdpZHRoJywgJ29mZnNldCcsICdwbGFjZW1lbnQnLCAncmVmZXJlbmNlJ10sXG4gIGRlZmluZUN1c3RvbUVsZW1lbnRGbjogZGVmaW5lQmFsVG9vbHRpcFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2JhbC10b29sdGlwJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGlucHV0czogWydjb250ZW50V2lkdGgnLCAnb2Zmc2V0JywgJ3BsYWNlbWVudCcsICdyZWZlcmVuY2UnXSxcbiAgb3V0cHV0czogWydiYWxXaWxsQW5pbWF0ZScsICdiYWxEaWRBbmltYXRlJ11cbn0pXG5leHBvcnQgY2xhc3MgQmFsVG9vbHRpcCB7XG4gIC8qKiBFbWl0dGVkIGJlZm9yZSB0aGUgYW5pbWF0aW9uIHN0YXJ0cyAqL1xuICBiYWxXaWxsQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVG9vbHRpcEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgLyoqIEVtaXR0ZWQgYWZ0ZXIgdGhlIGFuaW1hdGlvbiBoYXMgZmluaXNoZWQgKi9cbiAgYmFsRGlkQW5pbWF0ZSE6IEV2ZW50RW1pdHRlcjxCYWxFdmVudHMuQmFsVG9vbHRpcEN1c3RvbUV2ZW50PGJvb2xlYW4+PjtcbiAgcHJvdGVjdGVkIGVsOiBIVE1MRWxlbWVudDtcbiAgY29uc3RydWN0b3IoYzogQ2hhbmdlRGV0ZWN0b3JSZWYsIHI6IEVsZW1lbnRSZWYsIHByb3RlY3RlZCB6OiBOZ1pvbmUpIHtcbiAgICBjLmRldGFjaCgpO1xuICAgIHRoaXMuZWwgPSByLm5hdGl2ZUVsZW1lbnQ7XG4gICAgcHJveHlPdXRwdXRzKHRoaXMsIHRoaXMuZWwsIFsnYmFsV2lsbEFuaW1hdGUnLCAnYmFsRGlkQW5pbWF0ZSddKTtcbiAgfVxufVxuIl19
|