@provoly/dashboard 1.3.11 → 1.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +1 -0
- package/admin/i18n/en.translations.d.ts +1 -0
- package/admin/i18n/fr.translations.d.ts +1 -0
- package/components/paginator/paginator.component.d.ts +2 -1
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +9 -6
- package/esm2022/admin/i18n/en.translations.mjs +2 -1
- package/esm2022/admin/i18n/fr.translations.mjs +2 -1
- package/esm2022/components/data-format/data-format.pipe.mjs +2 -2
- package/esm2022/components/paginator/paginator.component.mjs +9 -2
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +3 -3
- package/esm2022/import/components/list/import-list.component.mjs +16 -8
- package/esm2022/lib/core/store/data-source/data-source.actions.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.service.mjs +4 -4
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +4 -3
- package/esm2022/widgets/widget-detail/widget-detail.module.mjs +8 -4
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
- package/fesm2022/provoly-dashboard-admin.mjs +10 -5
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-data-format.mjs +1 -1
- package/fesm2022/provoly-dashboard-components-data-format.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-paginator.mjs +8 -1
- package/fesm2022/provoly-dashboard-components-paginator.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +2 -2
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +15 -8
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +10 -5
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +3 -3
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/list/import-list.component.d.ts +5 -3
- package/lib/core/store/data-source/data-source.actions.d.ts +4 -4
- package/lib/core/store/data-source/data-source.effects.d.ts +2 -2
- package/lib/core/store/data-source/data-source.service.d.ts +2 -2
- package/package.json +37 -37
- package/widgets/widget-detail/widget-detail.module.d.ts +2 -1
|
@@ -40,6 +40,7 @@ export declare class AdminFieldsFormComponent extends SubscriptionnerDirective i
|
|
|
40
40
|
get type(): AbstractControl<FieldType> | null;
|
|
41
41
|
get crs(): AbstractControl<string | undefined> | null;
|
|
42
42
|
get formatOptions(): FormGroup<FormatOptionsForm> | null;
|
|
43
|
+
get decimalPrecision(): AbstractControl | null | undefined;
|
|
43
44
|
get isGeographicType(): boolean;
|
|
44
45
|
goBack(): void;
|
|
45
46
|
getFormValue(): {
|
|
@@ -7,6 +7,7 @@ export declare class PryPaginatorComponent {
|
|
|
7
7
|
nbPerPage: import("@angular/core").InputSignal<number>;
|
|
8
8
|
totalItemNb: import("@angular/core").InputSignal<number>;
|
|
9
9
|
mode: import("@angular/core").InputSignal<"long" | "short">;
|
|
10
|
+
goBackToFirstPage: import("@angular/core").InputSignal<any>;
|
|
10
11
|
nbOfPages: import("@angular/core").Signal<number>;
|
|
11
12
|
pages: import("@angular/core").Signal<number[]>;
|
|
12
13
|
currentPage: import("@angular/core").WritableSignal<number>;
|
|
@@ -15,5 +16,5 @@ export declare class PryPaginatorComponent {
|
|
|
15
16
|
dispatchPageChangeAction(): void;
|
|
16
17
|
changePage(page: number): void;
|
|
17
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<PryPaginatorComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PryPaginatorComponent, "pry-paginator", never, { "action": { "alias": "action"; "required": false; "isSignal": true; }; "nbPerPage": { "alias": "nbPerPage"; "required": false; "isSignal": true; }; "totalItemNb": { "alias": "totalItemNb"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, false, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PryPaginatorComponent, "pry-paginator", never, { "action": { "alias": "action"; "required": false; "isSignal": true; }; "nbPerPage": { "alias": "nbPerPage"; "required": false; "isSignal": true; }; "totalItemNb": { "alias": "totalItemNb"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "goBackToFirstPage": { "alias": "goBackToFirstPage"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; }, never, never, false, never>;
|
|
19
20
|
}
|
package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs
CHANGED
|
@@ -93,6 +93,9 @@ export class AdminFieldsFormComponent extends SubscriptionnerDirective {
|
|
|
93
93
|
get formatOptions() {
|
|
94
94
|
return this.form.get('formatOptions');
|
|
95
95
|
}
|
|
96
|
+
get decimalPrecision() {
|
|
97
|
+
return this.form.get('formatOptions')?.get('decimalPrecision');
|
|
98
|
+
}
|
|
96
99
|
get isGeographicType() {
|
|
97
100
|
return GeometricFieldTypes.includes(this.type?.value);
|
|
98
101
|
}
|
|
@@ -142,17 +145,17 @@ export class AdminFieldsFormComponent extends SubscriptionnerDirective {
|
|
|
142
145
|
case FieldType.DECIMAL:
|
|
143
146
|
this.formatOptions?.addControl('localeFormat', new FormControl(true));
|
|
144
147
|
this.formatOptions?.setControl('unit', new FormControl(null));
|
|
145
|
-
this.formatOptions?.setControl('decimalPrecision', new FormControl(2));
|
|
148
|
+
this.formatOptions?.setControl('decimalPrecision', new FormControl(2, [Validators.min(0), Validators.max(20)]));
|
|
146
149
|
this.formatOptions?.removeControl('dateFormat');
|
|
147
150
|
break;
|
|
148
151
|
case FieldType.INSTANT:
|
|
149
152
|
this.formatOptions?.removeControl('localeFormat');
|
|
150
153
|
this.formatOptions?.removeControl('unit');
|
|
151
154
|
this.formatOptions?.removeControl('decimalPrecision');
|
|
152
|
-
this.formatOptions?.setControl('dateFormat', new FormControl(
|
|
155
|
+
this.formatOptions?.setControl('dateFormat', new FormControl('DATETIME'));
|
|
153
156
|
break;
|
|
154
157
|
default:
|
|
155
|
-
this.form.
|
|
158
|
+
this.form.setControl('formatOptions', new FormGroup({}));
|
|
156
159
|
break;
|
|
157
160
|
}
|
|
158
161
|
}
|
|
@@ -183,12 +186,12 @@ export class AdminFieldsFormComponent extends SubscriptionnerDirective {
|
|
|
183
186
|
return this.currentField ? this.goBackPathEdit : this.goBackPath;
|
|
184
187
|
}
|
|
185
188
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminFieldsFormComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
186
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AdminFieldsFormComponent, selector: "pry-admin-fields-form", inputs: { currentField: "currentField" }, usesInheritance: true, ngImport: i0, template: "<div>\n <form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"field_name\" class=\"a-label\">\n {{ '@pry.admin.fields.name' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"field_name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n [attr.aria-labelledby]=\"name?.dirty && name?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"name?.dirty && name?.invalid\"\n />\n @if (name?.dirty && name?.invalid) {\n <label id=\"name-error\" for=\"field_name\" class=\"a-label a-label--help -error\">\n @if (name?.hasError('same-name')) {\n <span>{{ '@pry.admin.exists' | i18n }}</span>\n }\n @if (name?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n @if (name?.hasError('minlength')) {\n <span>{{ '@pry.admin.minLength' | i18n: { len: 3 } }}</span>\n }\n @if (name?.hasError('maxlength')) {\n <span>{{ '@pry.admin.maxLength' | i18n: { len: 100 } }}</span>\n }\n @if (name?.hasError('whitespace') && !name?.hasError('minlength')) {\n <span>{{ '@pry.admin.noWhitespace' | i18n }}</span>\n }\n </label>\n }\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_type\">\n {{ '@pry.admin.fields.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n id=\"field_type\"\n class=\"u-flex-grow-1\"\n formControlName=\"type\"\n [items]=\"fieldTypes\"\n [i18nPrefix]=\"FIELD_I18N.label\"\n [isForm]=\"true\"\n ></pry-select>\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg u-self-center u-flex-shrink-0\"\n [attr.data-tooltip]=\"FIELD_I18N.information + this.type?.value | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </div>\n </div>\n\n @if (isGeographicType) {\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"crs\">\n {{ '@pry.admin.fields.crs' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n class=\"-width-sm\"\n formControlName=\"crs\"\n [items]=\"CRS_OPTIONS\"\n bindValue=\"code\"\n bindLabel=\"label\"\n [isForm]=\"true\"\n id=\"crs\"\n ></pry-select>\n </div>\n @if (crs?.dirty && crs?.invalid) {\n <label id=\"crs-error\" for=\"crs\" class=\"a-label a-label--help -error\">\n @if (crs?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n </label>\n }\n </div>\n }\n\n @if (
|
|
189
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: AdminFieldsFormComponent, selector: "pry-admin-fields-form", inputs: { currentField: "currentField" }, usesInheritance: true, ngImport: i0, template: "<div>\n <form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"field_name\" class=\"a-label\">\n {{ '@pry.admin.fields.name' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"field_name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n [attr.aria-labelledby]=\"name?.dirty && name?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"name?.dirty && name?.invalid\"\n />\n @if (name?.dirty && name?.invalid) {\n <label id=\"name-error\" for=\"field_name\" class=\"a-label a-label--help -error\">\n @if (name?.hasError('same-name')) {\n <span>{{ '@pry.admin.exists' | i18n }}</span>\n }\n @if (name?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n @if (name?.hasError('minlength')) {\n <span>{{ '@pry.admin.minLength' | i18n: { len: 3 } }}</span>\n }\n @if (name?.hasError('maxlength')) {\n <span>{{ '@pry.admin.maxLength' | i18n: { len: 100 } }}</span>\n }\n @if (name?.hasError('whitespace') && !name?.hasError('minlength')) {\n <span>{{ '@pry.admin.noWhitespace' | i18n }}</span>\n }\n </label>\n }\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_type\">\n {{ '@pry.admin.fields.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n id=\"field_type\"\n class=\"u-flex-grow-1\"\n formControlName=\"type\"\n [items]=\"fieldTypes\"\n [i18nPrefix]=\"FIELD_I18N.label\"\n [isForm]=\"true\"\n ></pry-select>\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg u-self-center u-flex-shrink-0\"\n [attr.data-tooltip]=\"FIELD_I18N.information + this.type?.value | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </div>\n </div>\n\n @if (isGeographicType) {\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"crs\">\n {{ '@pry.admin.fields.crs' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n class=\"-width-sm\"\n formControlName=\"crs\"\n [items]=\"CRS_OPTIONS\"\n bindValue=\"code\"\n bindLabel=\"label\"\n [isForm]=\"true\"\n id=\"crs\"\n ></pry-select>\n </div>\n @if (crs?.dirty && crs?.invalid) {\n <label id=\"crs-error\" for=\"crs\" class=\"a-label a-label--help -error\">\n @if (crs?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n </label>\n }\n </div>\n }\n\n @if (\n type?.value === FieldType.INTEGER ||\n type?.value === FieldType.LONG ||\n type?.value === FieldType.DECIMAL ||\n type?.value === FieldType.INSTANT\n ) {\n <div formGroupName=\"formatOptions\">\n <h3 class=\"a-h3\">{{ '@pry.admin.fields.formatOptions.title' | i18n }}</h3>\n @if (type?.value === FieldType.INTEGER || type?.value === FieldType.LONG || type?.value === FieldType.DECIMAL) {\n <ng-container *ngTemplateOutlet=\"numberFormatOptions\"></ng-container>\n } @else if (type?.value === FieldType.INSTANT) {\n <ng-container *ngTemplateOutlet=\"dateFormatOptions\"></ng-container>\n }\n\n <ng-template #numberFormatOptions>\n @if (type?.value === FieldType.DECIMAL) {\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_format_comma\">{{\n '@pry.admin.fields.formatOptions.decimalPrecision' | i18n\n }}</label>\n <input\n formControlName=\"decimalPrecision\"\n id=\"field_format_comma\"\n type=\"number\"\n min=\"0\"\n class=\"a-form-field\"\n />\n @if (decimalPrecision?.dirty && decimalPrecision?.invalid) {\n <label id=\"decimalPrecision-error\" for=\"crs\" class=\"a-label a-label--help -error\">\n <label class=\"a-label a-label--help -error\" for=\"field_format_comma\">\n {{ '@pry.admin.invalid' | i18n }}\n </label>\n </label>\n }\n </div>\n }\n <div class=\"m-form-label-field -width-sm\">\n <pry-checkbox formControlName=\"localeFormat\" inputId=\"field_format_locale_number_format\" [inhibit]=\"false\">\n {{ '@pry.admin.fields.formatOptions.localeFormat' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_format_unit\">{{ '@pry.admin.fields.formatOptions.unit' | i18n }}</label>\n <input formControlName=\"unit\" id=\"field_format_unit\" type=\"text\" class=\"a-form-field\" />\n </div>\n </ng-template>\n\n <ng-template #dateFormatOptions>\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_format_date\">{{\n '@pry.admin.fields.formatOptions.dateFormat' | i18n\n }}</label>\n <pry-select\n formControlName=\"dateFormat\"\n id=\"field_format_date\"\n [items]=\"dateFormats\"\n [isForm]=\"true\"\n i18nPrefix=\"@pry.admin.fields.formatOptions.dateFormatOptions.\"\n [clearable]=\"true\"\n ></pry-select>\n </div>\n </ng-template>\n </div>\n }\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"form.invalid\"\n [innerHTML]=\"(currentField ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i6.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
187
190
|
}
|
|
188
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: AdminFieldsFormComponent, decorators: [{
|
|
189
192
|
type: Component,
|
|
190
|
-
args: [{ selector: 'pry-admin-fields-form', template: "<div>\n <form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"field_name\" class=\"a-label\">\n {{ '@pry.admin.fields.name' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"field_name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n [attr.aria-labelledby]=\"name?.dirty && name?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"name?.dirty && name?.invalid\"\n />\n @if (name?.dirty && name?.invalid) {\n <label id=\"name-error\" for=\"field_name\" class=\"a-label a-label--help -error\">\n @if (name?.hasError('same-name')) {\n <span>{{ '@pry.admin.exists' | i18n }}</span>\n }\n @if (name?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n @if (name?.hasError('minlength')) {\n <span>{{ '@pry.admin.minLength' | i18n: { len: 3 } }}</span>\n }\n @if (name?.hasError('maxlength')) {\n <span>{{ '@pry.admin.maxLength' | i18n: { len: 100 } }}</span>\n }\n @if (name?.hasError('whitespace') && !name?.hasError('minlength')) {\n <span>{{ '@pry.admin.noWhitespace' | i18n }}</span>\n }\n </label>\n }\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_type\">\n {{ '@pry.admin.fields.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n id=\"field_type\"\n class=\"u-flex-grow-1\"\n formControlName=\"type\"\n [items]=\"fieldTypes\"\n [i18nPrefix]=\"FIELD_I18N.label\"\n [isForm]=\"true\"\n ></pry-select>\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg u-self-center u-flex-shrink-0\"\n [attr.data-tooltip]=\"FIELD_I18N.information + this.type?.value | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </div>\n </div>\n\n @if (isGeographicType) {\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"crs\">\n {{ '@pry.admin.fields.crs' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n class=\"-width-sm\"\n formControlName=\"crs\"\n [items]=\"CRS_OPTIONS\"\n bindValue=\"code\"\n bindLabel=\"label\"\n [isForm]=\"true\"\n id=\"crs\"\n ></pry-select>\n </div>\n @if (crs?.dirty && crs?.invalid) {\n <label id=\"crs-error\" for=\"crs\" class=\"a-label a-label--help -error\">\n @if (crs?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n </label>\n }\n </div>\n }\n\n @if (
|
|
193
|
+
args: [{ selector: 'pry-admin-fields-form', template: "<div>\n <form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"field_name\" class=\"a-label\">\n {{ '@pry.admin.fields.name' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"field_name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n [attr.aria-labelledby]=\"name?.dirty && name?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"name?.dirty && name?.invalid\"\n />\n @if (name?.dirty && name?.invalid) {\n <label id=\"name-error\" for=\"field_name\" class=\"a-label a-label--help -error\">\n @if (name?.hasError('same-name')) {\n <span>{{ '@pry.admin.exists' | i18n }}</span>\n }\n @if (name?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n @if (name?.hasError('minlength')) {\n <span>{{ '@pry.admin.minLength' | i18n: { len: 3 } }}</span>\n }\n @if (name?.hasError('maxlength')) {\n <span>{{ '@pry.admin.maxLength' | i18n: { len: 100 } }}</span>\n }\n @if (name?.hasError('whitespace') && !name?.hasError('minlength')) {\n <span>{{ '@pry.admin.noWhitespace' | i18n }}</span>\n }\n </label>\n }\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_type\">\n {{ '@pry.admin.fields.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n id=\"field_type\"\n class=\"u-flex-grow-1\"\n formControlName=\"type\"\n [items]=\"fieldTypes\"\n [i18nPrefix]=\"FIELD_I18N.label\"\n [isForm]=\"true\"\n ></pry-select>\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg u-self-center u-flex-shrink-0\"\n [attr.data-tooltip]=\"FIELD_I18N.information + this.type?.value | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </div>\n </div>\n\n @if (isGeographicType) {\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"crs\">\n {{ '@pry.admin.fields.crs' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <div class=\"u-display-flex\">\n <pry-select\n class=\"-width-sm\"\n formControlName=\"crs\"\n [items]=\"CRS_OPTIONS\"\n bindValue=\"code\"\n bindLabel=\"label\"\n [isForm]=\"true\"\n id=\"crs\"\n ></pry-select>\n </div>\n @if (crs?.dirty && crs?.invalid) {\n <label id=\"crs-error\" for=\"crs\" class=\"a-label a-label--help -error\">\n @if (crs?.hasError('required')) {\n <span>{{ '@pry.admin.required' | i18n }}</span>\n }\n </label>\n }\n </div>\n }\n\n @if (\n type?.value === FieldType.INTEGER ||\n type?.value === FieldType.LONG ||\n type?.value === FieldType.DECIMAL ||\n type?.value === FieldType.INSTANT\n ) {\n <div formGroupName=\"formatOptions\">\n <h3 class=\"a-h3\">{{ '@pry.admin.fields.formatOptions.title' | i18n }}</h3>\n @if (type?.value === FieldType.INTEGER || type?.value === FieldType.LONG || type?.value === FieldType.DECIMAL) {\n <ng-container *ngTemplateOutlet=\"numberFormatOptions\"></ng-container>\n } @else if (type?.value === FieldType.INSTANT) {\n <ng-container *ngTemplateOutlet=\"dateFormatOptions\"></ng-container>\n }\n\n <ng-template #numberFormatOptions>\n @if (type?.value === FieldType.DECIMAL) {\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_format_comma\">{{\n '@pry.admin.fields.formatOptions.decimalPrecision' | i18n\n }}</label>\n <input\n formControlName=\"decimalPrecision\"\n id=\"field_format_comma\"\n type=\"number\"\n min=\"0\"\n class=\"a-form-field\"\n />\n @if (decimalPrecision?.dirty && decimalPrecision?.invalid) {\n <label id=\"decimalPrecision-error\" for=\"crs\" class=\"a-label a-label--help -error\">\n <label class=\"a-label a-label--help -error\" for=\"field_format_comma\">\n {{ '@pry.admin.invalid' | i18n }}\n </label>\n </label>\n }\n </div>\n }\n <div class=\"m-form-label-field -width-sm\">\n <pry-checkbox formControlName=\"localeFormat\" inputId=\"field_format_locale_number_format\" [inhibit]=\"false\">\n {{ '@pry.admin.fields.formatOptions.localeFormat' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_format_unit\">{{ '@pry.admin.fields.formatOptions.unit' | i18n }}</label>\n <input formControlName=\"unit\" id=\"field_format_unit\" type=\"text\" class=\"a-form-field\" />\n </div>\n </ng-template>\n\n <ng-template #dateFormatOptions>\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"field_format_date\">{{\n '@pry.admin.fields.formatOptions.dateFormat' | i18n\n }}</label>\n <pry-select\n formControlName=\"dateFormat\"\n id=\"field_format_date\"\n [items]=\"dateFormats\"\n [isForm]=\"true\"\n i18nPrefix=\"@pry.admin.fields.formatOptions.dateFormatOptions.\"\n [clearable]=\"true\"\n ></pry-select>\n </div>\n </ng-template>\n </div>\n }\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"form.invalid\"\n [innerHTML]=\"(currentField ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n" }]
|
|
191
194
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.PryI18nService }], propDecorators: { currentField: [{
|
|
192
195
|
type: Input
|
|
193
196
|
}] } });
|
|
194
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZmllbGRzLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1maWVsZHMvYWRtaW4tZmllbGRzLWZvcm0vYWRtaW4tZmllbGRzLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1maWVsZHMvYWRtaW4tZmllbGRzLWZvcm0vYWRtaW4tZmllbGRzLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyRixPQUFPLEVBQ0wsVUFBVSxFQUVWLFlBQVksRUFDWixjQUFjLEVBQ2QsU0FBUyxFQUNULG1CQUFtQixFQUVuQix3QkFBd0IsRUFDekIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7OztBQUU5RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7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SXhCLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEZJRUxEX0kxOE4sXG4gIEZpZWxkLFxuICBGaWVsZEFjdGlvbnMsXG4gIEZpZWxkU2VsZWN0b3JzLFxuICBGaWVsZFR5cGUsXG4gIEdlb21ldHJpY0ZpZWxkVHlwZXMsXG4gIFByeUkxOG5TZXJ2aWNlLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgbm9XaGl0ZXNwYWNlVmFsaWRhdG9yIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9hZG1pbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBGaWVsZHNBY3Rpb25zIH0gZnJvbSAnLi4vc3RvcmUvZmllbGRzLmFjdGlvbnMnO1xuaW1wb3J0IHsgZGF0ZUZvcm1hdE9wdGlvbnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQvY29tcG9uZW50cy9kYXRhLWZvcm1hdCc7XG5cbmV4cG9ydCBjb25zdCBDUlNfT1BUSU9OUyA9IFtcbiAgeyBsYWJlbDogJ1dHUzg0IChFUFNHOjQzMjYpJywgY29kZTogJ0VQU0c6NDMyNicgfSxcbiAgeyBsYWJlbDogJ0xhbWJlcnQ5MyAoRVBTRzogMjE1NCknLCBjb2RlOiAnRVBTRzoyMTU0JyB9XG5dO1xuXG5pbnRlcmZhY2UgRmllbGRGb3JtIHtcbiAgbmFtZTogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgdHlwZTogRm9ybUNvbnRyb2w8RmllbGRUeXBlPjtcbiAgY3JzPzogRm9ybUNvbnRyb2w8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgZm9ybWF0T3B0aW9ucz86IEZvcm1Hcm91cDxGb3JtYXRPcHRpb25zRm9ybT47XG59XG5cbmludGVyZmFjZSBGb3JtYXRPcHRpb25zRm9ybSB7XG4gIGxvY2FsZUZvcm1hdD86IEZvcm1Db250cm9sPGJvb2xlYW4gfCBudWxsPjtcbiAgdW5pdD86IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xuICBkZWNpbWFsUHJlY2lzaW9uPzogRm9ybUNvbnRyb2w8bnVtYmVyIHwgbnVsbD47XG4gIGRhdGVGb3JtYXQ/OiBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWZpZWxkcy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLWZpZWxkcy1mb3JtLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkZpZWxkc0Zvcm1Db21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGN1cnJlbnRGaWVsZD86IEZpZWxkO1xuXG4gIGZvcm06IEZvcm1Hcm91cDxGaWVsZEZvcm0+O1xuICBmaWVsZFR5cGVzOiBGaWVsZFR5cGVbXTtcbiAgZmllbGROYW1lcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICBuYW1lQWxyZWFkeUV4aXN0cyQ/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIGRhdGVGb3JtYXRzID0gT2JqZWN0LmtleXMoZGF0ZUZvcm1hdE9wdGlvbnMudmFsdWUpO1xuXG4gIGdvQmFja1BhdGg6IHN0cmluZztcbiAgZ29CYWNrUGF0aEVkaXQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBpMThuOiBQcnlJMThuU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRmllbGRBY3Rpb25zLmxvYWQoKSk7XG5cbiAgICB0aGlzLmZpZWxkTmFtZXMkID0gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChGaWVsZFNlbGVjdG9ycy5maWVsZHMpXG4gICAgICAucGlwZShtYXAoKGZpZWxkcykgPT4gZmllbGRzLm1hcCgoZmllbGQpID0+IGZpZWxkLm5hbWUudG9Mb3dlckNhc2UoKSkpKTtcblxuICAgIHRoaXMuZmllbGRUeXBlcyA9IE9iamVjdC52YWx1ZXMoRmllbGRUeXBlKVxuICAgICAgLmZpbHRlcigodHlwZSkgPT4gdHlwZSAhPT0gRmllbGRUeXBlLkdFT01FVFJZQ09MTEVDVElPTilcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGNvbnN0IFtsYWJlbEEsIGxhYmVsQl0gPSBbdGhpcy5pMThuLmluc3RhbnQoRklFTERfSTE4Ti5sYWJlbCArIGEpLCB0aGlzLmkxOG4uaW5zdGFudChGSUVMRF9JMThOLmxhYmVsICsgYildO1xuICAgICAgICByZXR1cm4gbGFiZWxBLmxvY2FsZUNvbXBhcmUobGFiZWxCKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cDxGaWVsZEZvcm0+KHtcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbCgnJywge1xuICAgICAgICB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMyksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDEwMCksIG5vV2hpdGVzcGFjZVZhbGlkYXRvcl0sXG4gICAgICAgIG5vbk51bGxhYmxlOiB0cnVlXG4gICAgICB9KSxcbiAgICAgIHR5cGU6IG5ldyBGb3JtQ29udHJvbCh0aGlzLmZpZWxkVHlwZXNbMF0sIHsgbm9uTnVsbGFibGU6IHRydWUgfSksXG4gICAgICBmb3JtYXRPcHRpb25zOiBuZXcgRm9ybUdyb3VwKHt9KVxuICAgIH0pO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLnR5cGU/LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHR5cGUpID0+IHRoaXMuc2V0Rm9ybWF0T3B0aW9uQ29udHJvbHModHlwZSkpKTtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7IHR5cGU6IHRoaXMuZmllbGRUeXBlc1swXSB9KTtcblxuICAgIHRoaXMubmFtZUFscmVhZHlFeGlzdHMkID0gY29tYmluZUxhdGVzdChbdGhpcy5uYW1lIS52YWx1ZUNoYW5nZXMsIHRoaXMuZmllbGROYW1lcyRdKS5waXBlKFxuICAgICAgbWFwKChbdmFsdWUsIGZpZWxkTmFtZXNdKSA9PiBmaWVsZE5hbWVzLmluY2x1ZGVzKHZhbHVlLnRvTG93ZXJDYXNlKCkpICYmIHZhbHVlICE9IHRoaXMuY3VycmVudEZpZWxkPy5uYW1lKVxuICAgICk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIHRoaXMubmFtZUFscmVhZHlFeGlzdHMkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5uYW1lPy5zZXRFcnJvcnMoeyAnc2FtZS1uYW1lJzogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmdvQmFja1BhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLi4nXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5nb0JhY2tQYXRoRWRpdCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLi8uLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRGaWVsZCkge1xuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBuYW1lOiB0aGlzLmN1cnJlbnRGaWVsZC5uYW1lLFxuICAgICAgICB0eXBlOiB0aGlzLmN1cnJlbnRGaWVsZC50eXBlXG4gICAgICB9KTtcbiAgICAgIHRoaXMudHlwZSEuZGlzYWJsZSgpO1xuICAgICAgaWYgKHRoaXMuaXNHZW9ncmFwaGljVHlwZSkge1xuICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbDwnY3JzJz4oXG4gICAgICAgICAgJ2NycycsXG4gICAgICAgICAgbmV3IEZvcm1Db250cm9sKHRoaXMuY3VycmVudEZpZWxkLmNycywgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIG5vbk51bGxhYmxlOiB0cnVlIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY3JzPy5kaXNhYmxlKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldEZvcm1hdE9wdGlvblZhbHVlcygpO1xuICAgIH1cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy50eXBlIS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCh0eXBlKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzR2VvZ3JhcGhpY1R5cGUpIHtcbiAgICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChcbiAgICAgICAgICAgICdjcnMnLFxuICAgICAgICAgICAgbmV3IEZvcm1Db250cm9sKENSU19PUFRJT05TWzBdLmNvZGUsIHsgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBub25OdWxsYWJsZTogdHJ1ZSB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mb3JtLnJlbW92ZUNvbnRyb2woJ2NycycpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXQgbmFtZSgpOiBBYnN0cmFjdENvbnRyb2w8c3RyaW5nPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCduYW1lJyk7XG4gIH1cblxuICBnZXQgdHlwZSgpOiBBYnN0cmFjdENvbnRyb2w8RmllbGRUeXBlPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCd0eXBlJyk7XG4gIH1cblxuICBnZXQgY3JzKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmcgfCB1bmRlZmluZWQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2NycycpO1xuICB9XG5cbiAgZ2V0IGZvcm1hdE9wdGlvbnMoKTogRm9ybUdyb3VwPEZvcm1hdE9wdGlvbnNGb3JtPiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0KCdmb3JtYXRPcHRpb25zJykgYXMgRm9ybUdyb3VwPEZvcm1hdE9wdGlvbnNGb3JtPjtcbiAgfVxuXG4gIGdldCBpc0dlb2dyYXBoaWNUeXBlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBHZW9tZXRyaWNGaWVsZFR5cGVzLmluY2x1ZGVzKHRoaXMudHlwZT8udmFsdWUgYXMgc3RyaW5nKTtcbiAgfVxuXG4gIGdvQmFjaygpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogdGhpcy5nZXRQYXRoKCksIHBhcmFtczogdW5kZWZpbmVkIH0pKTtcbiAgfVxuXG4gIGdldEZvcm1WYWx1ZSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lIS52YWx1ZSxcbiAgICAgIHR5cGU6IHRoaXMudHlwZSEudmFsdWUsXG4gICAgICBjcnM6IHRoaXMuY3JzPy52YWx1ZSxcbiAgICAgIHVuaXQ6IHRoaXMuZm9ybWF0T3B0aW9ucz8udmFsdWUudW5pdCA/PyB1bmRlZmluZWQsXG4gICAgICBkZWNpbWFsUHJlY2lzaW9uOiB0aGlzLmZvcm1hdE9wdGlvbnM/LnZhbHVlLmRlY2ltYWxQcmVjaXNpb24gPz8gdW5kZWZpbmVkLFxuICAgICAgbG9jYWxlRm9ybWF0OiB0aGlzLmZvcm1hdE9wdGlvbnM/LnZhbHVlLmxvY2FsZUZvcm1hdCA/PyB1bmRlZmluZWQsXG4gICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0T3B0aW9ucz8udmFsdWUuZGF0ZUZvcm1hdCA/PyB1bmRlZmluZWRcbiAgICB9O1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZT8udmFsdWU/LnRyaW0oKVxuICAgIH0pO1xuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuY3VycmVudEZpZWxkID8gdGhpcy51cGRhdGVGaWVsZCgpIDogdGhpcy5zYXZlRmllbGQoKTtcbiAgICB9XG4gIH1cblxuICBzYXZlRmllbGQoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEZpZWxkc0FjdGlvbnMuc2F2ZUZpZWxkKHtcbiAgICAgICAgZmllbGQ6IHsgaWQ6IHV1aWQoKSwgLi4udGhpcy5nZXRGb3JtVmFsdWUoKSB9LFxuICAgICAgICByb3V0ZTogdGhpcy5nZXRQYXRoKClcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZUZpZWxkKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBGaWVsZHNBY3Rpb25zLnVwZGF0ZUZpZWxkKHtcbiAgICAgICAgZmllbGQ6IHsgaWQ6IHRoaXMuY3VycmVudEZpZWxkIS5pZCwgLi4udGhpcy5nZXRGb3JtVmFsdWUoKSB9LFxuICAgICAgICByb3V0ZTogdGhpcy5nZXRQYXRoKClcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHNldEZvcm1hdE9wdGlvbkNvbnRyb2xzKHR5cGU6IEZpZWxkVHlwZSB8IG51bGwpIHtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgRmllbGRUeXBlLklOVEVHRVI6XG4gICAgICBjYXNlIEZpZWxkVHlwZS5MT05HOlxuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LmFkZENvbnRyb2woJ2xvY2FsZUZvcm1hdCcsIG5ldyBGb3JtQ29udHJvbCh0cnVlKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8uc2V0Q29udHJvbCgndW5pdCcsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucmVtb3ZlQ29udHJvbCgnZGVjaW1hbFByZWNpc2lvbicpO1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnJlbW92ZUNvbnRyb2woJ2RhdGVGb3JtYXQnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEZpZWxkVHlwZS5ERUNJTUFMOlxuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LmFkZENvbnRyb2woJ2xvY2FsZUZvcm1hdCcsIG5ldyBGb3JtQ29udHJvbCh0cnVlKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8uc2V0Q29udHJvbCgndW5pdCcsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8uc2V0Q29udHJvbCgnZGVjaW1hbFByZWNpc2lvbicsIG5ldyBGb3JtQ29udHJvbCgyKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucmVtb3ZlQ29udHJvbCgnZGF0ZUZvcm1hdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRmllbGRUeXBlLklOU1RBTlQ6XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucmVtb3ZlQ29udHJvbCgnbG9jYWxlRm9ybWF0Jyk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucmVtb3ZlQ29udHJvbCgndW5pdCcpO1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnJlbW92ZUNvbnRyb2woJ2RlY2ltYWxQcmVjaXNpb24nKTtcbiAgICAgICAgdGhpcy5mb3JtYXRPcHRpb25zPy5zZXRDb250cm9sKCdkYXRlRm9ybWF0JywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmZvcm0ucmVtb3ZlQ29udHJvbCgnZm9ybWF0T3B0aW9ucycpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBzZXRGb3JtYXRPcHRpb25WYWx1ZXMoKSB7XG4gICAgc3dpdGNoICh0aGlzLmN1cnJlbnRGaWVsZD8udHlwZSkge1xuICAgICAgY2FzZSBGaWVsZFR5cGUuSU5URUdFUjpcbiAgICAgIGNhc2UgRmllbGRUeXBlLkxPTkc6XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgbG9jYWxlRm9ybWF0OiB0aGlzLmN1cnJlbnRGaWVsZD8ubG9jYWxlRm9ybWF0LFxuICAgICAgICAgIHVuaXQ6IHRoaXMuY3VycmVudEZpZWxkPy51bml0XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRmllbGRUeXBlLkRFQ0lNQUw6XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgbG9jYWxlRm9ybWF0OiB0aGlzLmN1cnJlbnRGaWVsZD8ubG9jYWxlRm9ybWF0LFxuICAgICAgICAgIHVuaXQ6IHRoaXMuY3VycmVudEZpZWxkPy51bml0LFxuICAgICAgICAgIGRlY2ltYWxQcmVjaXNpb246IHRoaXMuY3VycmVudEZpZWxkPy5kZWNpbWFsUHJlY2lzaW9uXG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRmllbGRUeXBlLklOU1RBTlQ6XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucGF0Y2hWYWx1ZSh7IGRhdGVGb3JtYXQ6IHRoaXMuY3VycmVudEZpZWxkPy5mb3JtYXQgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWVsZCA/IHRoaXMuZ29CYWNrUGF0aEVkaXQgOiB0aGlzLmdvQmFja1BhdGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgQ1JTX09QVElPTlMgPSBDUlNfT1BUSU9OUztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEZpZWxkVHlwZSA9IEZpZWxkVHlwZTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IEZJRUxEX0kxOE4gPSBGSUVMRF9JMThOO1xufVxuIiwiPGRpdj5cbiAgPGZvcm0gY2xhc3M9XCJvLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0KClcIj5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGlkPVwibmFtZS1sYWJlbFwiIGZvcj1cImZpZWxkX25hbWVcIiBjbGFzcz1cImEtbGFiZWxcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4uZmllbGRzLm5hbWUnIHwgaTE4biB9fSAqXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGlucHV0XG4gICAgICAgIGlkPVwiZmllbGRfbmFtZVwiXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgY2xhc3M9XCJhLWZvcm0tZmllbGRcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIm5hbWU/LmRpcnR5ICYmIG5hbWU/LmludmFsaWQgPyAnbmFtZS1sYWJlbCBuYW1lLWVycm9yJyA6ICduYW1lLWxhYmVsJ1wiXG4gICAgICAgIFthdHRyLmFyaWEtaW52YWxpZF09XCJuYW1lPy5kaXJ0eSAmJiBuYW1lPy5pbnZhbGlkXCJcbiAgICAgIC8+XG4gICAgICBAaWYgKG5hbWU/LmRpcnR5ICYmIG5hbWU/LmludmFsaWQpIHtcbiAgICAgICAgPGxhYmVsIGlkPVwibmFtZS1lcnJvclwiIGZvcj1cImZpZWxkX25hbWVcIiBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIj5cbiAgICAgICAgICBAaWYgKG5hbWU/Lmhhc0Vycm9yKCdzYW1lLW5hbWUnKSkge1xuICAgICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4uZXhpc3RzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAobmFtZT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAobmFtZT8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XG4gICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5hZG1pbi5taW5MZW5ndGgnIHwgaTE4bjogeyBsZW46IDMgfSB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChuYW1lPy5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcbiAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmFkbWluLm1heExlbmd0aCcgfCBpMThuOiB7IGxlbjogMTAwIH0gfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAobmFtZT8uaGFzRXJyb3IoJ3doaXRlc3BhY2UnKSAmJiAhbmFtZT8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XG4gICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5hZG1pbi5ub1doaXRlc3BhY2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICB9XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cImZpZWxkX3R5cGVcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4uZmllbGRzLnR5cGUnIHwgaTE4biB9fSAqXG4gICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICA8L2xhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4XCI+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgaWQ9XCJmaWVsZF90eXBlXCJcbiAgICAgICAgICBjbGFzcz1cInUtZmxleC1ncm93LTFcIlxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInR5cGVcIlxuICAgICAgICAgIFtpdGVtc109XCJmaWVsZFR5cGVzXCJcbiAgICAgICAgICBbaTE4blByZWZpeF09XCJGSUVMRF9JMThOLmxhYmVsXCJcbiAgICAgICAgICBbaXNGb3JtXT1cInRydWVcIlxuICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJtLWluZm8taWNvbiBhLXRvb2x0aXAgLXRvb2x0aXAtd2lkdGgtbGcgdS1zZWxmLWNlbnRlciB1LWZsZXgtc2hyaW5rLTBcIlxuICAgICAgICAgIFthdHRyLmRhdGEtdG9vbHRpcF09XCJGSUVMRF9JMThOLmluZm9ybWF0aW9uICsgdGhpcy50eXBlPy52YWx1ZSB8IGkxOG5cIlxuICAgICAgICAgIGRhdGEtdG9vbHRpcC1wb3NpdGlvbj1cInJpZ2h0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuPmk8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKGlzR2VvZ3JhcGhpY1R5cGUpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJjcnNcIj5cbiAgICAgICAgICB7eyAnQHByeS5hZG1pbi5maWVsZHMuY3JzJyB8IGkxOG4gfX0gKlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4oe3sgJ0BwcnkuYWRtaW4ucmVxdWlyZWQnIHwgaTE4biB9fSk8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleFwiPlxuICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICBjbGFzcz1cIi13aWR0aC1zbVwiXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJjcnNcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cIkNSU19PUFRJT05TXCJcbiAgICAgICAgICAgIGJpbmRWYWx1ZT1cImNvZGVcIlxuICAgICAgICAgICAgYmluZExhYmVsPVwibGFiZWxcIlxuICAgICAgICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgICAgIGlkPVwiY3JzXCJcbiAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmIChjcnM/LmRpcnR5ICYmIGNycz8uaW52YWxpZCkge1xuICAgICAgICAgIDxsYWJlbCBpZD1cImNycy1lcnJvclwiIGZvcj1cImNyc1wiIGNsYXNzPVwiYS1sYWJlbCBhLWxhYmVsLS1oZWxwIC1lcnJvclwiPlxuICAgICAgICAgICAgQGlmIChjcnM/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgfVxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgQGlmIChmb3JtYXRPcHRpb25zKSB7XG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJmb3JtYXRPcHRpb25zXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cImEtaDNcIj57eyAnQHByeS5hZG1pbi5maWVsZHMuZm9ybWF0T3B0aW9ucy50aXRsZScgfCBpMThuIH19PC9oMz5cbiAgICAgICAgQGlmICh0eXBlPy52YWx1ZSA9PT0gRmllbGRUeXBlLklOVEVHRVIgfHwgdHlwZT8udmFsdWUgPT09IEZpZWxkVHlwZS5MT05HIHx8IHR5cGU/LnZhbHVlID09PSBGaWVsZFR5cGUuREVDSU1BTCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJudW1iZXJGb3JtYXRPcHRpb25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH0gQGVsc2UgaWYgKHR5cGU/LnZhbHVlID09PSBGaWVsZFR5cGUuSU5TVEFOVCkge1xuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXRlRm9ybWF0T3B0aW9uc1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICB9XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNudW1iZXJGb3JtYXRPcHRpb25zPlxuICAgICAgICAgIEBpZiAodHlwZT8udmFsdWUgPT09IEZpZWxkVHlwZS5ERUNJTUFMKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwiZmllbGRfZm9ybWF0X2NvbW1hXCI+e3tcbiAgICAgICAgICAgICAgICAnQHByeS5hZG1pbi5maWVsZHMuZm9ybWF0T3B0aW9ucy5kZWNpbWFsUHJlY2lzaW9uJyB8IGkxOG5cbiAgICAgICAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGVjaW1hbFByZWNpc2lvblwiIGlkPVwiZmllbGRfZm9ybWF0X2NvbW1hXCIgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJsb2NhbGVGb3JtYXRcIlxuICAgICAgICAgICAgICBpbnB1dElkPVwiZmllbGRfZm9ybWF0X2xvY2FsZV9udW1iZXJfZm9ybWF0XCJcbiAgICAgICAgICAgICAgW2luaGliaXRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5maWVsZHMuZm9ybWF0T3B0aW9ucy5sb2NhbGVGb3JtYXQnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJmaWVsZF9mb3JtYXRfdW5pdFwiPnt7ICdAcHJ5LmFkbWluLmZpZWxkcy5mb3JtYXRPcHRpb25zLnVuaXQnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidW5pdFwiIGlkPVwiZmllbGRfZm9ybWF0X3VuaXRcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgI2RhdGVGb3JtYXRPcHRpb25zPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwiZmllbGRfZm9ybWF0X2RhdGVcIj57e1xuICAgICAgICAgICAgICAnQHByeS5hZG1pbi5maWVsZHMuZm9ybWF0T3B0aW9ucy5kYXRlRm9ybWF0JyB8IGkxOG5cbiAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGVGb3JtYXRcIlxuICAgICAgICAgICAgICBpZD1cImZpZWxkX2Zvcm1hdF9kYXRlXCJcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cImRhdGVGb3JtYXRzXCJcbiAgICAgICAgICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgaTE4blByZWZpeD1cIkBwcnkuYWRtaW4uZmllbGRzLmZvcm1hdE9wdGlvbnMuZGF0ZUZvcm1hdE9wdGlvbnMuXCJcbiAgICAgICAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICB9XG5cbiAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXAgLXdpZHRoLXNtXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgICAoY2xpY2spPVwiZ29CYWNrKClcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIidAcHJ5LmFkbWluLmNhbmNlbCcgfCBpMThuXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBbaW5uZXJIVE1MXT1cIihjdXJyZW50RmllbGQgPyAnQHByeS5hZG1pbi5lZGl0JyA6ICdAcHJ5LmFkbWluLmNyZWF0ZScpIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbjwvZGl2PlxuIl19
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tZmllbGRzLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1maWVsZHMvYWRtaW4tZmllbGRzLWZvcm0vYWRtaW4tZmllbGRzLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1maWVsZHMvYWRtaW4tZmllbGRzLWZvcm0vYWRtaW4tZmllbGRzLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyRixPQUFPLEVBQ0wsVUFBVSxFQUVWLFlBQVksRUFDWixjQUFjLEVBQ2QsU0FBUyxFQUNULG1CQUFtQixFQUVuQix3QkFBd0IsRUFDekIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7OztBQUU5RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7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QU07UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUVPLE9BQU87UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDbkUsQ0FBQzs4R0FuTlUsd0JBQXdCO2tHQUF4Qix3QkFBd0IsOEhDNUNyQywra05Bd0tBOzsyRkQ1SGEsd0JBQXdCO2tCQUpwQyxTQUFTOytCQUNFLHVCQUF1Qjt5SkFJeEIsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRklFTERfSTE4TixcbiAgRmllbGQsXG4gIEZpZWxkQWN0aW9ucyxcbiAgRmllbGRTZWxlY3RvcnMsXG4gIEZpZWxkVHlwZSxcbiAgR2VvbWV0cmljRmllbGRUeXBlcyxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBub1doaXRlc3BhY2VWYWxpZGF0b3IgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2FkbWluLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZG1pbkFjdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9hZG1pbi5hY3Rpb25zJztcbmltcG9ydCB7IEZpZWxkc0FjdGlvbnMgfSBmcm9tICcuLi9zdG9yZS9maWVsZHMuYWN0aW9ucyc7XG5pbXBvcnQgeyBkYXRlRm9ybWF0T3B0aW9ucyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL2RhdGEtZm9ybWF0JztcblxuZXhwb3J0IGNvbnN0IENSU19PUFRJT05TID0gW1xuICB7IGxhYmVsOiAnV0dTODQgKEVQU0c6NDMyNiknLCBjb2RlOiAnRVBTRzo0MzI2JyB9LFxuICB7IGxhYmVsOiAnTGFtYmVydDkzIChFUFNHOiAyMTU0KScsIGNvZGU6ICdFUFNHOjIxNTQnIH1cbl07XG5cbmludGVyZmFjZSBGaWVsZEZvcm0ge1xuICBuYW1lOiBGb3JtQ29udHJvbDxzdHJpbmc+O1xuICB0eXBlOiBGb3JtQ29udHJvbDxGaWVsZFR5cGU+O1xuICBjcnM/OiBGb3JtQ29udHJvbDxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBmb3JtYXRPcHRpb25zPzogRm9ybUdyb3VwPEZvcm1hdE9wdGlvbnNGb3JtPjtcbn1cblxuaW50ZXJmYWNlIEZvcm1hdE9wdGlvbnNGb3JtIHtcbiAgbG9jYWxlRm9ybWF0PzogRm9ybUNvbnRyb2w8Ym9vbGVhbiB8IG51bGw+O1xuICB1bml0PzogRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD47XG4gIGRlY2ltYWxQcmVjaXNpb24/OiBGb3JtQ29udHJvbDxudW1iZXIgfCBudWxsPjtcbiAgZGF0ZUZvcm1hdD86IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktYWRtaW4tZmllbGRzLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tZmllbGRzLWZvcm0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluRmllbGRzRm9ybUNvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgY3VycmVudEZpZWxkPzogRmllbGQ7XG5cbiAgZm9ybTogRm9ybUdyb3VwPEZpZWxkRm9ybT47XG4gIGZpZWxkVHlwZXM6IEZpZWxkVHlwZVtdO1xuICBmaWVsZE5hbWVzJDogT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gIG5hbWVBbHJlYWR5RXhpc3RzJD86IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgZGF0ZUZvcm1hdHMgPSBPYmplY3Qua2V5cyhkYXRlRm9ybWF0T3B0aW9ucy52YWx1ZSk7XG5cbiAgZ29CYWNrUGF0aDogc3RyaW5nO1xuICBnb0JhY2tQYXRoRWRpdDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIGkxOG46IFByeUkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChGaWVsZEFjdGlvbnMubG9hZCgpKTtcblxuICAgIHRoaXMuZmllbGROYW1lcyQgPSB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KEZpZWxkU2VsZWN0b3JzLmZpZWxkcylcbiAgICAgIC5waXBlKG1hcCgoZmllbGRzKSA9PiBmaWVsZHMubWFwKChmaWVsZCkgPT4gZmllbGQubmFtZS50b0xvd2VyQ2FzZSgpKSkpO1xuXG4gICAgdGhpcy5maWVsZFR5cGVzID0gT2JqZWN0LnZhbHVlcyhGaWVsZFR5cGUpXG4gICAgICAuZmlsdGVyKCh0eXBlKSA9PiB0eXBlICE9PSBGaWVsZFR5cGUuR0VPTUVUUllDT0xMRUNUSU9OKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgY29uc3QgW2xhYmVsQSwgbGFiZWxCXSA9IFt0aGlzLmkxOG4uaW5zdGFudChGSUVMRF9JMThOLmxhYmVsICsgYSksIHRoaXMuaTE4bi5pbnN0YW50KEZJRUxEX0kxOE4ubGFiZWwgKyBiKV07XG4gICAgICAgIHJldHVybiBsYWJlbEEubG9jYWxlQ29tcGFyZShsYWJlbEIpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybUdyb3VwPEZpZWxkRm9ybT4oe1xuICAgICAgbmFtZTogbmV3IEZvcm1Db250cm9sKCcnLCB7XG4gICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMTAwKSwgbm9XaGl0ZXNwYWNlVmFsaWRhdG9yXSxcbiAgICAgICAgbm9uTnVsbGFibGU6IHRydWVcbiAgICAgIH0pLFxuICAgICAgdHlwZTogbmV3IEZvcm1Db250cm9sKHRoaXMuZmllbGRUeXBlc1swXSwgeyBub25OdWxsYWJsZTogdHJ1ZSB9KSxcbiAgICAgIGZvcm1hdE9wdGlvbnM6IG5ldyBGb3JtR3JvdXAoe30pXG4gICAgfSk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudHlwZT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodHlwZSkgPT4gdGhpcy5zZXRGb3JtYXRPcHRpb25Db250cm9scyh0eXBlKSkpO1xuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHsgdHlwZTogdGhpcy5maWVsZFR5cGVzWzBdIH0pO1xuXG4gICAgdGhpcy5uYW1lQWxyZWFkeUV4aXN0cyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLm5hbWUhLnZhbHVlQ2hhbmdlcywgdGhpcy5maWVsZE5hbWVzJF0pLnBpcGUoXG4gICAgICBtYXAoKFt2YWx1ZSwgZmllbGROYW1lc10pID0+IGZpZWxkTmFtZXMuaW5jbHVkZXModmFsdWUudG9Mb3dlckNhc2UoKSkgJiYgdmFsdWUgIT0gdGhpcy5jdXJyZW50RmllbGQ/Lm5hbWUpXG4gICAgKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgdGhpcy5uYW1lQWxyZWFkeUV4aXN0cyQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICB0aGlzLm5hbWU/LnNldEVycm9ycyh7ICdzYW1lLW5hbWUnOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIHRoaXMuZ29CYWNrUGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLmdvQmFja1BhdGhFZGl0ID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uLy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KS50b1N0cmluZygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudEZpZWxkKSB7XG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgIG5hbWU6IHRoaXMuY3VycmVudEZpZWxkLm5hbWUsXG4gICAgICAgIHR5cGU6IHRoaXMuY3VycmVudEZpZWxkLnR5cGVcbiAgICAgIH0pO1xuICAgICAgdGhpcy50eXBlIS5kaXNhYmxlKCk7XG4gICAgICBpZiAodGhpcy5pc0dlb2dyYXBoaWNUeXBlKSB7XG4gICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sPCdjcnMnPihcbiAgICAgICAgICAnY3JzJyxcbiAgICAgICAgICBuZXcgRm9ybUNvbnRyb2wodGhpcy5jdXJyZW50RmllbGQuY3JzLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgbm9uTnVsbGFibGU6IHRydWUgfSlcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jcnM/LmRpc2FibGUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0Rm9ybWF0T3B0aW9uVmFsdWVzKCk7XG4gICAgfVxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnR5cGUhLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHR5cGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNHZW9ncmFwaGljVHlwZSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKFxuICAgICAgICAgICAgJ2NycycsXG4gICAgICAgICAgICBuZXcgRm9ybUNvbnRyb2woQ1JTX09QVElPTlNbMF0uY29kZSwgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sIG5vbk51bGxhYmxlOiB0cnVlIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZvcm0ucmVtb3ZlQ29udHJvbCgnY3JzJyk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldCBuYW1lKCk6IEFic3RyYWN0Q29udHJvbDxzdHJpbmc+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ25hbWUnKTtcbiAgfVxuXG4gIGdldCB0eXBlKCk6IEFic3RyYWN0Q29udHJvbDxGaWVsZFR5cGU+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ3R5cGUnKTtcbiAgfVxuXG4gIGdldCBjcnMoKTogQWJzdHJhY3RDb250cm9sPHN0cmluZyB8IHVuZGVmaW5lZD4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtLmdldCgnY3JzJyk7XG4gIH1cblxuICBnZXQgZm9ybWF0T3B0aW9ucygpOiBGb3JtR3JvdXA8Rm9ybWF0T3B0aW9uc0Zvcm0+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2Zvcm1hdE9wdGlvbnMnKSBhcyBGb3JtR3JvdXA8Rm9ybWF0T3B0aW9uc0Zvcm0+O1xuICB9XG5cbiAgZ2V0IGRlY2ltYWxQcmVjaXNpb24oKTogQWJzdHJhY3RDb250cm9sIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2Zvcm1hdE9wdGlvbnMnKT8uZ2V0KCdkZWNpbWFsUHJlY2lzaW9uJyk7XG4gIH1cblxuICBnZXQgaXNHZW9ncmFwaGljVHlwZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gR2VvbWV0cmljRmllbGRUeXBlcy5pbmNsdWRlcyh0aGlzLnR5cGU/LnZhbHVlIGFzIHN0cmluZyk7XG4gIH1cblxuICBnb0JhY2soKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHRoaXMuZ2V0UGF0aCgpLCBwYXJhbXM6IHVuZGVmaW5lZCB9KSk7XG4gIH1cblxuICBnZXRGb3JtVmFsdWUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSEudmFsdWUsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUhLnZhbHVlLFxuICAgICAgY3JzOiB0aGlzLmNycz8udmFsdWUsXG4gICAgICB1bml0OiB0aGlzLmZvcm1hdE9wdGlvbnM/LnZhbHVlLnVuaXQgPz8gdW5kZWZpbmVkLFxuICAgICAgZGVjaW1hbFByZWNpc2lvbjogdGhpcy5mb3JtYXRPcHRpb25zPy52YWx1ZS5kZWNpbWFsUHJlY2lzaW9uID8/IHVuZGVmaW5lZCxcbiAgICAgIGxvY2FsZUZvcm1hdDogdGhpcy5mb3JtYXRPcHRpb25zPy52YWx1ZS5sb2NhbGVGb3JtYXQgPz8gdW5kZWZpbmVkLFxuICAgICAgZm9ybWF0OiB0aGlzLmZvcm1hdE9wdGlvbnM/LnZhbHVlLmRhdGVGb3JtYXQgPz8gdW5kZWZpbmVkXG4gICAgfTtcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICBuYW1lOiB0aGlzLm5hbWU/LnZhbHVlPy50cmltKClcbiAgICB9KTtcbiAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmN1cnJlbnRGaWVsZCA/IHRoaXMudXBkYXRlRmllbGQoKSA6IHRoaXMuc2F2ZUZpZWxkKCk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZUZpZWxkKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBGaWVsZHNBY3Rpb25zLnNhdmVGaWVsZCh7XG4gICAgICAgIGZpZWxkOiB7IGlkOiB1dWlkKCksIC4uLnRoaXMuZ2V0Rm9ybVZhbHVlKCkgfSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0UGF0aCgpXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVGaWVsZCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgRmllbGRzQWN0aW9ucy51cGRhdGVGaWVsZCh7XG4gICAgICAgIGZpZWxkOiB7IGlkOiB0aGlzLmN1cnJlbnRGaWVsZCEuaWQsIC4uLnRoaXMuZ2V0Rm9ybVZhbHVlKCkgfSxcbiAgICAgICAgcm91dGU6IHRoaXMuZ2V0UGF0aCgpXG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzZXRGb3JtYXRPcHRpb25Db250cm9scyh0eXBlOiBGaWVsZFR5cGUgfCBudWxsKSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIEZpZWxkVHlwZS5JTlRFR0VSOlxuICAgICAgY2FzZSBGaWVsZFR5cGUuTE9ORzpcbiAgICAgICAgdGhpcy5mb3JtYXRPcHRpb25zPy5hZGRDb250cm9sKCdsb2NhbGVGb3JtYXQnLCBuZXcgRm9ybUNvbnRyb2wodHJ1ZSkpO1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnNldENvbnRyb2woJ3VuaXQnLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnJlbW92ZUNvbnRyb2woJ2RlY2ltYWxQcmVjaXNpb24nKTtcbiAgICAgICAgdGhpcy5mb3JtYXRPcHRpb25zPy5yZW1vdmVDb250cm9sKCdkYXRlRm9ybWF0Jyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBGaWVsZFR5cGUuREVDSU1BTDpcbiAgICAgICAgdGhpcy5mb3JtYXRPcHRpb25zPy5hZGRDb250cm9sKCdsb2NhbGVGb3JtYXQnLCBuZXcgRm9ybUNvbnRyb2wodHJ1ZSkpO1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnNldENvbnRyb2woJ3VuaXQnLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnNldENvbnRyb2woJ2RlY2ltYWxQcmVjaXNpb24nLCBuZXcgRm9ybUNvbnRyb2woMiwgW1ZhbGlkYXRvcnMubWluKDApLCBWYWxpZGF0b3JzLm1heCgyMCldKSk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucmVtb3ZlQ29udHJvbCgnZGF0ZUZvcm1hdCcpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRmllbGRUeXBlLklOU1RBTlQ6XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucmVtb3ZlQ29udHJvbCgnbG9jYWxlRm9ybWF0Jyk7XG4gICAgICAgIHRoaXMuZm9ybWF0T3B0aW9ucz8ucmVtb3ZlQ29udHJvbCgndW5pdCcpO1xuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnJlbW92ZUNvbnRyb2woJ2RlY2ltYWxQcmVjaXNpb24nKTtcbiAgICAgICAgdGhpcy5mb3JtYXRPcHRpb25zPy5zZXRDb250cm9sKCdkYXRlRm9ybWF0JywgbmV3IEZvcm1Db250cm9sKCdEQVRFVElNRScpKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLmZvcm0uc2V0Q29udHJvbCgnZm9ybWF0T3B0aW9ucycsIG5ldyBGb3JtR3JvdXAoe30pKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgc2V0Rm9ybWF0T3B0aW9uVmFsdWVzKCkge1xuICAgIHN3aXRjaCAodGhpcy5jdXJyZW50RmllbGQ/LnR5cGUpIHtcbiAgICAgIGNhc2UgRmllbGRUeXBlLklOVEVHRVI6XG4gICAgICBjYXNlIEZpZWxkVHlwZS5MT05HOlxuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGxvY2FsZUZvcm1hdDogdGhpcy5jdXJyZW50RmllbGQ/LmxvY2FsZUZvcm1hdCxcbiAgICAgICAgICB1bml0OiB0aGlzLmN1cnJlbnRGaWVsZD8udW5pdFxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEZpZWxkVHlwZS5ERUNJTUFMOlxuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnBhdGNoVmFsdWUoe1xuICAgICAgICAgIGxvY2FsZUZvcm1hdDogdGhpcy5jdXJyZW50RmllbGQ/LmxvY2FsZUZvcm1hdCxcbiAgICAgICAgICB1bml0OiB0aGlzLmN1cnJlbnRGaWVsZD8udW5pdCxcbiAgICAgICAgICBkZWNpbWFsUHJlY2lzaW9uOiB0aGlzLmN1cnJlbnRGaWVsZD8uZGVjaW1hbFByZWNpc2lvblxuICAgICAgICB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEZpZWxkVHlwZS5JTlNUQU5UOlxuICAgICAgICB0aGlzLmZvcm1hdE9wdGlvbnM/LnBhdGNoVmFsdWUoeyBkYXRlRm9ybWF0OiB0aGlzLmN1cnJlbnRGaWVsZD8uZm9ybWF0IH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF0aCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50RmllbGQgPyB0aGlzLmdvQmFja1BhdGhFZGl0IDogdGhpcy5nb0JhY2tQYXRoO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IENSU19PUFRJT05TID0gQ1JTX09QVElPTlM7XG4gIHByb3RlY3RlZCByZWFkb25seSBGaWVsZFR5cGUgPSBGaWVsZFR5cGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBGSUVMRF9JMThOID0gRklFTERfSTE4Tjtcbn1cbiIsIjxkaXY+XG4gIDxmb3JtIGNsYXNzPVwiby1mb3JtXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInN1Ym1pdCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgIDxsYWJlbCBpZD1cIm5hbWUtbGFiZWxcIiBmb3I9XCJmaWVsZF9uYW1lXCIgY2xhc3M9XCJhLWxhYmVsXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLmZpZWxkcy5uYW1lJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBpZD1cImZpZWxkX25hbWVcIlxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGNsYXNzPVwiYS1mb3JtLWZpZWxkXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJuYW1lPy5kaXJ0eSAmJiBuYW1lPy5pbnZhbGlkID8gJ25hbWUtbGFiZWwgbmFtZS1lcnJvcicgOiAnbmFtZS1sYWJlbCdcIlxuICAgICAgICBbYXR0ci5hcmlhLWludmFsaWRdPVwibmFtZT8uZGlydHkgJiYgbmFtZT8uaW52YWxpZFwiXG4gICAgICAvPlxuICAgICAgQGlmIChuYW1lPy5kaXJ0eSAmJiBuYW1lPy5pbnZhbGlkKSB7XG4gICAgICAgIDxsYWJlbCBpZD1cIm5hbWUtZXJyb3JcIiBmb3I9XCJmaWVsZF9uYW1lXCIgY2xhc3M9XCJhLWxhYmVsIGEtbGFiZWwtLWhlbHAgLWVycm9yXCI+XG4gICAgICAgICAgQGlmIChuYW1lPy5oYXNFcnJvcignc2FtZS1uYW1lJykpIHtcbiAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LmFkbWluLmV4aXN0cycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG5hbWU/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XG4gICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG5hbWU/Lmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4ubWluTGVuZ3RoJyB8IGkxOG46IHsgbGVuOiAzIH0gfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAobmFtZT8uaGFzRXJyb3IoJ21heGxlbmd0aCcpKSB7XG4gICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5hZG1pbi5tYXhMZW5ndGgnIHwgaTE4bjogeyBsZW46IDEwMCB9IH19PC9zcGFuPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgKG5hbWU/Lmhhc0Vycm9yKCd3aGl0ZXNwYWNlJykgJiYgIW5hbWU/Lmhhc0Vycm9yKCdtaW5sZW5ndGgnKSkge1xuICAgICAgICAgICAgPHNwYW4+e3sgJ0BwcnkuYWRtaW4ubm9XaGl0ZXNwYWNlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgfVxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZCAtd2lkdGgtc21cIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJmaWVsZF90eXBlXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLmZpZWxkcy50eXBlJyB8IGkxOG4gfX0gKlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxkaXYgY2xhc3M9XCJ1LWRpc3BsYXktZmxleFwiPlxuICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgIGlkPVwiZmllbGRfdHlwZVwiXG4gICAgICAgICAgY2xhc3M9XCJ1LWZsZXgtZ3Jvdy0xXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0eXBlXCJcbiAgICAgICAgICBbaXRlbXNdPVwiZmllbGRUeXBlc1wiXG4gICAgICAgICAgW2kxOG5QcmVmaXhdPVwiRklFTERfSTE4Ti5sYWJlbFwiXG4gICAgICAgICAgW2lzRm9ybV09XCJ0cnVlXCJcbiAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwibS1pbmZvLWljb24gYS10b29sdGlwIC10b29sdGlwLXdpZHRoLWxnIHUtc2VsZi1jZW50ZXIgdS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgICBbYXR0ci5kYXRhLXRvb2x0aXBdPVwiRklFTERfSTE4Ti5pbmZvcm1hdGlvbiArIHRoaXMudHlwZT8udmFsdWUgfCBpMThuXCJcbiAgICAgICAgICBkYXRhLXRvb2x0aXAtcG9zaXRpb249XCJyaWdodFwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3Bhbj5pPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChpc0dlb2dyYXBoaWNUeXBlKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwiY3JzXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uZmllbGRzLmNycycgfCBpMThuIH19ICpcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+KHt7ICdAcHJ5LmFkbWluLnJlcXVpcmVkJyB8IGkxOG4gfX0pPC9zcGFuPlxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidS1kaXNwbGF5LWZsZXhcIj5cbiAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgY2xhc3M9XCItd2lkdGgtc21cIlxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3JzXCJcbiAgICAgICAgICAgIFtpdGVtc109XCJDUlNfT1BUSU9OU1wiXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJjb2RlXCJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAgICAgICBpZD1cImNyc1wiXG4gICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoY3JzPy5kaXJ0eSAmJiBjcnM/LmludmFsaWQpIHtcbiAgICAgICAgICA8bGFiZWwgaWQ9XCJjcnMtZXJyb3JcIiBmb3I9XCJjcnNcIiBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIj5cbiAgICAgICAgICAgIEBpZiAoY3JzPy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5hZG1pbi5yZXF1aXJlZCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoXG4gICAgICB0eXBlPy52YWx1ZSA9PT0gRmllbGRUeXBlLklOVEVHRVIgfHxcbiAgICAgIHR5cGU/LnZhbHVlID09PSBGaWVsZFR5cGUuTE9ORyB8fFxuICAgICAgdHlwZT8udmFsdWUgPT09IEZpZWxkVHlwZS5ERUNJTUFMIHx8XG4gICAgICB0eXBlPy52YWx1ZSA9PT0gRmllbGRUeXBlLklOU1RBTlRcbiAgICApIHtcbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImZvcm1hdE9wdGlvbnNcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwiYS1oM1wiPnt7ICdAcHJ5LmFkbWluLmZpZWxkcy5mb3JtYXRPcHRpb25zLnRpdGxlJyB8IGkxOG4gfX08L2gzPlxuICAgICAgICBAaWYgKHR5cGU/LnZhbHVlID09PSBGaWVsZFR5cGUuSU5URUdFUiB8fCB0eXBlPy52YWx1ZSA9PT0gRmllbGRUeXBlLkxPTkcgfHwgdHlwZT8udmFsdWUgPT09IEZpZWxkVHlwZS5ERUNJTUFMKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm51bWJlckZvcm1hdE9wdGlvbnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgfSBAZWxzZSBpZiAodHlwZT8udmFsdWUgPT09IEZpZWxkVHlwZS5JTlNUQU5UKSB7XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVGb3JtYXRPcHRpb25zXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIH1cblxuICAgICAgICA8bmctdGVtcGxhdGUgI251bWJlckZvcm1hdE9wdGlvbnM+XG4gICAgICAgICAgQGlmICh0eXBlPy52YWx1ZSA9PT0gRmllbGRUeXBlLkRFQ0lNQUwpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWxcIiBmb3I9XCJmaWVsZF9mb3JtYXRfY29tbWFcIj57e1xuICAgICAgICAgICAgICAgICdAcHJ5LmFkbWluLmZpZWxkcy5mb3JtYXRPcHRpb25zLmRlY2ltYWxQcmVjaXNpb24nIHwgaTE4blxuICAgICAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRlY2ltYWxQcmVjaXNpb25cIlxuICAgICAgICAgICAgICAgIGlkPVwiZmllbGRfZm9ybWF0X2NvbW1hXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImEtZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIEBpZiAoZGVjaW1hbFByZWNpc2lvbj8uZGlydHkgJiYgZGVjaW1hbFByZWNpc2lvbj8uaW52YWxpZCkge1xuICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cImRlY2ltYWxQcmVjaXNpb24tZXJyb3JcIiBmb3I9XCJjcnNcIiBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgYS1sYWJlbC0taGVscCAtZXJyb3JcIiBmb3I9XCJmaWVsZF9mb3JtYXRfY29tbWFcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uaW52YWxpZCcgfCBpMThuIH19XG4gICAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgICAgICAgPHByeS1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJsb2NhbGVGb3JtYXRcIiBpbnB1dElkPVwiZmllbGRfZm9ybWF0X2xvY2FsZV9udW1iZXJfZm9ybWF0XCIgW2luaGliaXRdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uZmllbGRzLmZvcm1hdE9wdGlvbnMubG9jYWxlRm9ybWF0JyB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGQgLXdpZHRoLXNtXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsXCIgZm9yPVwiZmllbGRfZm9ybWF0X3VuaXRcIj57eyAnQHByeS5hZG1pbi5maWVsZHMuZm9ybWF0T3B0aW9ucy51bml0JyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0IGZvcm1Db250cm9sTmFtZT1cInVuaXRcIiBpZD1cImZpZWxkX2Zvcm1hdF91bml0XCIgdHlwZT1cInRleHRcIiBjbGFzcz1cImEtZm9ybS1maWVsZFwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkYXRlRm9ybWF0T3B0aW9ucz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkIC13aWR0aC1zbVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1sYWJlbFwiIGZvcj1cImZpZWxkX2Zvcm1hdF9kYXRlXCI+e3tcbiAgICAgICAgICAgICAgJ0BwcnkuYWRtaW4uZmllbGRzLmZvcm1hdE9wdGlvbnMuZGF0ZUZvcm1hdCcgfCBpMThuXG4gICAgICAgICAgICB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlRm9ybWF0XCJcbiAgICAgICAgICAgICAgaWQ9XCJmaWVsZF9mb3JtYXRfZGF0ZVwiXG4gICAgICAgICAgICAgIFtpdGVtc109XCJkYXRlRm9ybWF0c1wiXG4gICAgICAgICAgICAgIFtpc0Zvcm1dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIGkxOG5QcmVmaXg9XCJAcHJ5LmFkbWluLmZpZWxkcy5mb3JtYXRPcHRpb25zLmRhdGVGb3JtYXRPcHRpb25zLlwiXG4gICAgICAgICAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgfVxuXG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwIC13aWR0aC1zbVwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImdvQmFjaygpXCJcbiAgICAgICAgW2lubmVySFRNTF09XCInQHByeS5hZG1pbi5jYW5jZWwnIHwgaTE4blwiXG4gICAgICA+PC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZFwiXG4gICAgICAgIFtpbm5lckhUTUxdPVwiKGN1cnJlbnRGaWVsZCA/ICdAcHJ5LmFkbWluLmVkaXQnIDogJ0BwcnkuYWRtaW4uY3JlYXRlJykgfCBpMThuXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9mb3JtPlxuPC9kaXY+XG4iXX0=
|
|
@@ -31,6 +31,7 @@ export const enTranslations = {
|
|
|
31
31
|
size: 'Image size',
|
|
32
32
|
share: 'Share',
|
|
33
33
|
deleteAttributeConfirmMessage: 'This attribute will no longer be visible for the associated data. Are you sure you want to delete this?',
|
|
34
|
+
invalid: 'Invalid value',
|
|
34
35
|
attributes: {
|
|
35
36
|
unknownField: 'Unknown field',
|
|
36
37
|
unknownCategory: 'Unknown category',
|
|
@@ -411,4 +412,4 @@ export const enTranslations = {
|
|
|
411
412
|
}
|
|
412
413
|
}
|
|
413
414
|
};
|
|
414
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLDRCQUE0QjtZQUM3QyxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsT0FBTztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixZQUFZLEVBQUUsZUFBZTtZQUM3QixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLFlBQVk7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLFNBQVMsRUFBRSwyQ0FBMkM7WUFDdEQsU0FBUyxFQUFFLHVDQUF1QztZQUNsRCxZQUFZLEVBQUUsaURBQWlEO1lBQy9ELElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSw0REFBNEQ7WUFDekUsZ0JBQWdCLEVBQUUsb0JBQW9CO1lBQ3RDLElBQUksRUFBRSxZQUFZO1lBQ2xCLEtBQUssRUFBRSxPQUFPO1lBQ2QsNkJBQTZCLEVBQzNCLHlHQUF5RztZQUMzRyxVQUFVLEVBQUU7Z0JB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Qzt3QkFDN0QsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsUUFBUSxFQUFFLFlBQVk7d0JBQ3RCLE1BQU0sRUFBRSxZQUFZO3dCQUNwQixHQUFHLEVBQUUsOEdBQThHO3FCQUNwSDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsTUFBTSxFQUFFLGlCQUFpQjt3QkFDekIsY0FBYyxFQUFFLGtEQUFrRDt3QkFDbEUsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLE1BQU0sRUFBRSxpQkFBaUI7d0JBQ3pCLEdBQUcsRUFBRSxtSEFBbUg7cUJBQ3pIO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsSUFBSSxFQUFFLFlBQVk7U0FDbkI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGFkbWluOiB7XG4gICAgICB0aXRsZTogJ0FkbWluaXN0cmF0aW9uJyxcbiAgICAgIHRpdGxlSW5kaWNhdGlvbjogJ0Nsb3NlIEFkbWluaXN0cmF0aW9uIG1lbnUgJyxcbiAgICAgIGluZm9Nb2RhbFRpdGxlOiAnSW5mb3JtYXRpb24nLFxuICAgICAgY2xvc2VNb2RhbGU6ICdDbG9zZScsXG4gICAgICBlZGl0OiAnRWRpdCcsXG4gICAgICByZW5hbWU6ICdSZW5hbWUnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGFkZDogJ05ldycsXG4gICAgICB2YWxpZGF0ZTogJ1ZhbGlkYXRlJyxcbiAgICAgIGFkZENsYXNzOiAnVmFsaWRhdGUgY3JlYXRpb24nLFxuICAgICAgYWRkQXR0cmlidXRlOiAnQWRkIGF0dHJpYnV0ZScsXG4gICAgICBjcmVhdGU6ICdDcmVhdGUnLFxuICAgICAgdXBsb2FkOiAnQWRkIGEgcGljdHVyZScsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgbmV4dDogJ05leHQnLFxuICAgICAgcHJvcGVydGllczogJ1Byb3BlcnRpZXMnLFxuICAgICAgZGV0YWlsczogJ0RldGFpbHMnLFxuICAgICAgYWN0aXZpdHk6ICdBY3Rpdml0eScsXG4gICAgICByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgZXhpc3RzOiAnVGhpcyBuYW1lIGFscmVhZHkgZXhpc3RzJyxcbiAgICAgIG1pbkxlbmd0aDogJ1RoZSBtaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzOiB7e2xlbn19JyxcbiAgICAgIG1heExlbmd0aDogJ051bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQ6IHt7bGVufX0nLFxuICAgICAgbm9XaGl0ZXNwYWNlOiBcIlRoZSB2YWx1ZSBjYW4ndCBzdGFydCBvciBlbmQgd2l0aCBhIGJsYW5rIHNwYWNlXCIsXG4gICAgICBydWxlOiAnUnVsZSBuwrB7e2lkfX0nLFxuICAgICAgZGVmYXVsdFJ1bGU6ICdEZWZhdWx0IFJ1bGUgKGFwcGxpZXMgb25seSBpZiBubyBvdGhlciBydWxlcyBhcmUgdmVyaWZpZWQpJyxcbiAgICAgIGRpc3BsYXlNb2RlSW1hZ2U6ICdJbWFnZSBkaXNwbGF5IG1vZGUnLFxuICAgICAgc2l6ZTogJ0ltYWdlIHNpemUnLFxuICAgICAgc2hhcmU6ICdTaGFyZScsXG4gICAgICBkZWxldGVBdHRyaWJ1dGVDb25maXJtTWVzc2FnZTpcbiAgICAgICAgJ1RoaXMgYXR0cmlidXRlIHdpbGwgbm8gbG9uZ2VyIGJlIHZpc2libGUgZm9yIHRoZSBhc3NvY2lhdGVkIGRhdGEuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcz8nLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICB1bmtub3duRmllbGQ6ICdVbmtub3duIGZpZWxkJyxcbiAgICAgICAgdW5rbm93bkNhdGVnb3J5OiAnVW5rbm93biBjYXRlZ29yeScsXG4gICAgICAgIG5vQ2F0ZWdvcnk6ICdObyBjYXRlZ29yeSdcbiAgICAgIH0sXG4gICAgICBwb3NpdGlvbjoge1xuICAgICAgICBGVUxMOiAnRnVsbCBpY29uJyxcbiAgICAgICAgVE9QX0xFRlQ6ICdUb3AgbGVmdCcsXG4gICAgICAgIFRPUF9SSUdIVDogJ1RvcCBSaWdodCcsXG4gICAgICAgIEJPVFRPTV9MRUZUOiAnQm90dG9tIGxlZnQnLFxuICAgICAgICBCT1RUT01fUklHSFQ6ICdCb3R0b20gcmlnaHQnXG4gICAgICB9LFxuICAgICAgY3VzdG9taXplOiB7XG4gICAgICAgIHRpdGxlOiAnQ3VzdG9taXplJyxcbiAgICAgICAgdGVtcGxhdGU6ICdUb29sdGlwIChNYXAgJiBSZWxhdGlvbnMpJyxcbiAgICAgICAgdXBkYXRlOiAnVXBkYXRlIHRvb2x0aXAnLFxuICAgICAgICBhZHZhbmNlZDogJ0FkdmFuY2VkIG1vZGUnLFxuICAgICAgICBuYW1lOiAnQnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICB0ZWNobmljYWxJZDogJ1RlY2huaWNhbCBJZCcsXG4gICAgICAgIHR5cGU6ICdDaG9vc2Ugd2hpY2gga2luZCBvZiB0b29sdGlwIHRvIHVzZScsXG4gICAgICAgIHNpbXBsaWZpZWQ6ICdDaG9vc2Ugd2hpY2ggYXR0cmlidXRlcyB0byBkaXNwbGF5JyxcbiAgICAgICAgZXhlbXBsZTogJ3t7ZXhwcn19IHZhbHVlJyxcbiAgICAgICAgdGFibGU6ICdUYWJsZSBkZWZhdWx0IGF0dHJpYnV0ZXMnLFxuICAgICAgICB0aWxlOiAnVGlsZSBkZWZhdWx0IGF0dHJpYnV0ZXMnLFxuICAgICAgICB0aWxlSGludDogJ09ubHkgYmV0d2VlbiAxIGFuZCB7e21heH19IGF0dHJpYnV0ZXMgY2FuIGJlIGRpc3BsYXllZCBpbiBhIHRpbGUnLFxuICAgICAgICB0YWJsZUF0dHJzOiAnQXR0cmlidXRlcyBpbiBhIHRhYmxlIGJ5IGRlZmF1bHQnLFxuICAgICAgICB0aWxlQXR0cnM6ICdBdHRyaWJ1dGVzIGRpc3BsYXllZCBpbiBhIHRpbGUnLFxuICAgICAgICBub1RhYmxlQXR0cnM6ICdPdGhlciBhdHRyaWJ1dGVzJyxcbiAgICAgICAgbm9UaWxlQXR0cnM6ICdBdHRyaWJ1dGVzIG5vdCBkaXNwbGF5ZWQnLFxuICAgICAgICB1cGRhdGVUYWJsZTogJ1VwZGF0ZSBkZWZhdWx0IHRhYmxlIGF0dHJpYnV0ZXMnLFxuICAgICAgICB1cGRhdGVUaWxlOiAnVXBkYXRlIHRpbGUgYXR0cmlidXRlcycsXG4gICAgICAgIHVwZGF0ZUljb25zOiAnVXBkYXRlIHN5bWJvbHMgcnVsZXMnXG4gICAgICB9LFxuICAgICAgdmFyVHlwZToge1xuICAgICAgICBpbnQ6ICdJbnRlZ2VyJyxcbiAgICAgICAgZG91YmxlOiAnRG91YmxlJyxcbiAgICAgICAgc3RyaW5nOiAnVGV4dCcsXG4gICAgICAgIHV1aWQ6ICdVdWlkJyxcbiAgICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgICBsaXN0OiAnVmFsdWUgbGlzdCdcbiAgICAgIH0sXG4gICAgICBtZW51czoge1xuICAgICAgICBlbnZpcm9ubWVudDogJ0V4ZWN1dGlvbiBjb250ZXh0cycsXG4gICAgICAgIHVzZXI6ICdVc2VycycsXG4gICAgICAgICdtZXRhZGF0YS11c2VyJzogJ1VzZXIgcHJvZmlsZScsXG4gICAgICAgICdhYmFjLXJ1bGVzJzogJ0FCQUMgUnVsZXMnLFxuICAgICAgICAnbWV0YWRhdGEtcnVsZXMnOiAnUnVsZXMgbWV0YWRhdGEnLFxuICAgICAgICBkYXRhc2V0OiAnRGF0YXNldHMnLFxuICAgICAgICBjbGFzc2VzOiAnQ2xhc3NlcycsXG4gICAgICAgIHByZWRpY2F0ZXM6ICdQcmVkaWNhdGVzJyxcbiAgICAgICAgbWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgIGZpZWxkczogJ0ZpZWxkcycsXG4gICAgICAgICdyZWxhdGlvbi10eXBlcyc6ICdSZWxhdGlvbiB0eXBlcycsXG4gICAgICAgIGxpbmtzOiAnTGlua3MgYmV0d2VlbiBhdHRyaWJ1dGVzJyxcbiAgICAgICAgbW9kZWw6ICdEYXRhIG1vZGVsJyxcbiAgICAgICAgYWNjZXNzOiAnRGF0YSBhY2Nlc3MnXG4gICAgICB9LFxuICAgICAgcHJlZGljYXRlczoge1xuICAgICAgICBsaXN0OiAnUHJlZGljYXRlcycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgcHJlZGljYXRlJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgdW4gcHJlZGljYXRlJyxcbiAgICAgICAgaW5mbzogXCJQcmVkaWNhdGUncyBpbmZvcm1hdGlvblwiLFxuICAgICAgICBudW06ICdJZC4nLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIHZhbHVlOiAnVHJpZ2dlciBjb25kaXRpb25hbCBleHByZXNzaW9uJyxcbiAgICAgICAgdmFsaWRFZGl0OiAnVmFsaWRhdGlvbiBtb2RpZmljYXRpb24nLFxuICAgICAgICB2YWxpZEVkaXRNZXNzYWdlOiAnVGhpcyBwcmVkaWNhdGVzIGlzIHVzZWQgaW4ge3t1c2VkfX0gcnVsZXMuIFJlYWxseSB1cGRhdGUgcHJlZGljYXRlID8nXG4gICAgICB9LFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICdNZXRhZGF0YScsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgbWV0YWRhdGEnLFxuICAgICAgICBlZGl0OiAnTW9kaWZ5IG1ldGFkYXRhJyxcbiAgICAgICAgZGV0YWlsczogJ01ldGFkYXRhIGRldGFpbHMnLFxuICAgICAgICBkZXRhaWxzVXNlcjogJ1VzZXIgcHJvZmlsZSBkZXRhaWwnLFxuICAgICAgICBpZDogJ0lEJyxcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgaW52YWxpZDogJ0ZpZWxkIGlzIHJlcXVpcmVkJyxcbiAgICAgICAgbGlzdExhYmVsOiAnVmFsdWUgbmFtZScsXG4gICAgICAgIGFkZFZhbHVlOiAnQWRkIG5ldyB2YWx1ZScsXG4gICAgICAgIHJlbW92ZVZhbHVlOiAnUmVtb3ZlIHZhbHVlJyxcbiAgICAgICAgc3lzdGVtOiAnU3lzdGVtIG1ldGFkYXRhJ1xuICAgICAgfSxcbiAgICAgICdtZXRhZGF0YS1ydWxlcyc6IHtcbiAgICAgICAgdGl0bGU6ICdNZXRhZGF0YSBSdWxlcycsXG4gICAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICAgICdpcy1zYW1lLW5hbWUnOiAnVGhlIG5hbWUgb2YgdGhlIHJ1bGUgaXMgYWxyZWFkeSB0YWtlbiBmb3IgYW5vdGhlciBydWxlLCBwbGVhc2UgdXNlIGFub3RoZXIgb25lJyxcbiAgICAgICAgJ2lzLXNhbWUtcnVsZXMnOiAnVGhlIHNhbWUgcnVsZSBoYXMgYWxyZWFkeSBiZWVuIGNvbmZpZ3VyZWQgYW5kIHNhdmVkLCB5b3UgY2FuIHVzZSBpdCcsXG4gICAgICAgICdtZXRhZGF0YS1pdGVtJzoge1xuICAgICAgICAgIG5hbWU6ICdUYXJnZXQgbWV0YWRhdGEnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGFyZ2V0IG1ldGFkYXRhIGRlc2NyaXB0aW9uJyxcbiAgICAgICAgICB0eXBlOiAnTWV0YWRhdGEgdHlwZSB0YXJnZXQnXG4gICAgICAgIH0sXG4gICAgICAgICdtZXRhZGF0YS11c2VyJzoge1xuICAgICAgICAgIG5hbWU6ICdTb3VyY2UgdXNlciBwcm9maWxlJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIG9mIHNvdXJjZSB1c2VyIHByb2ZpbGUnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlIG9mIHNvdXJjZSB1c2VyIHByb2ZpbGUnXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICB0aXRsZTogJ01vZGlmeSBtZXRhZGF0YSBydWxlJ1xuICAgICAgICB9LFxuICAgICAgICBhZGQ6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBuZXcgbWV0YWRhdGEgcnVsZSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRhdGFzZXQ6IHtcbiAgICAgICAgZGVsZXRlOlxuICAgICAgICAgICdBbGwgdmVyc2lvbnMgYW5kIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIFJlc3RpdHV0aW9ucyBhbmQgcHJlc2VudGF0aW9ucyB1c2luZyB0aGlzIGRhdGFzZXQgd2lsbCBubyBsb25nZXIgZGlzcGxheSB0aGUgY29ycmVzcG9uZGluZyBkYXRhLiBEbyB5b3UgY29uZmlybSB0aGUgZGVsZXRpb24/JyxcbiAgICAgICAgdGl0bGU6ICdEYXRhc2V0JyxcbiAgICAgICAgZGF0YXNldERldGFpbHM6ICdEYXRhc2V0IGRldGFpbHMnLFxuICAgICAgICBkZXRhaWxzOiAnRGV0YWlscycsXG4gICAgICAgIGlkOiAnSWQnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIG9DbGFzczogJ0J1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ1RoZSBuYW1lIG9mIHRoZSBkYXRhc2V0IGlzIGFscmVhZHkgdGFrZW4sIHBsZWFzZSB1c2UgYW5vdGhlciBvbmUnLFxuICAgICAgICBhZGQ6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBhIG5ldyBkYXRhc2V0J1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdVcGRhdGUgZGF0YXNldCdcbiAgICAgICAgfSxcbiAgICAgICAgT1BFTjogJ09wZW4nLFxuICAgICAgICBDTE9TRUQ6ICdDbG9zZWQnLFxuICAgICAgICBNT0RJRklBQkxFOiAnTW9kaWZpYWJsZScsXG4gICAgICAgIGNvbmZsaWN0OiAnQ2FyZWZ1bCwgdGhlIGZvbGxvd2luZyBkYXNoYm9hcmRzIGFyZSBzaGFyZWQgdG8gZ3JvdXBzIHdoaWNoIGNhbiBubyBsb25nZXIgYWNjZXNzIHRoaXMgZGF0YXNvdXJjZTonLFxuICAgICAgICBlbnRpdGllczoge1xuICAgICAgICAgIGRhc2hib2FyZDogJ0Rhc2hib2FyZCdcbiAgICAgICAgfSxcbiAgICAgICAgYWRkVGFnOiAnQWRkIGEgbmV3IHRhZydcbiAgICAgIH0sXG4gICAgICAnYWJhYy1ydWxlcyc6IHtcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgICAgbWV0YWRhdGFVc2VyOiAnVXNlcnMgcHJvZmlsZScsXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgbGlzdDogJ0FiYWMgUnVsZXMnLFxuICAgICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgYWJhYyBydWxlJyxcbiAgICAgICAgICB2aWV3OiBcIkFiYWMgcnVsZSdzIGluZm9ybWF0aW9uXCIsXG4gICAgICAgICAgZWRpdDogJ0FiYWMgcnVsZSBlZGl0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBmb3JtOiB7XG4gICAgICAgICAgaWQ6ICdJRCcsXG4gICAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIHN0YXR1czogJ1N0YXR1cycsXG4gICAgICAgICAgc3RhdHVzQWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgICBzdGF0dXNJbmFjdGl2ZTogJ0luYWN0aXZlJyxcbiAgICAgICAgICBwcmVkaWNhdGU6ICdQcmVkaWNhdGUnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgICB0eXBlTWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgICAgdHlwZUF0dHJpYnV0ZTogJ0F0dHJpYnV0ZScsXG4gICAgICAgICAgdHlwZVNlbGVjdGVkOiBcIllvdSBjYW4ndCBjaGFuZ2UgdHlwZSB3aXRoIGN1cnJlbnQgY29uZGl0aW9uc1wiLFxuICAgICAgICAgIGFkZE1ldGFkYXRhOiAnQWRkIG1ldGFkYXRhIGNvbmRpdGlvbicsXG4gICAgICAgICAgYWRkQXR0cmlidXRlOiAnQWRkIGF0dHJpYnV0ZSBjb25kaXRpb24nLFxuICAgICAgICAgIGFkZEdyb3VwOiAnQWRkIGdyb3VwIGNvbmRpdGlvbicsXG4gICAgICAgICAgY2FuY2VsOiAnQ0FOQ0VMJyxcbiAgICAgICAgICB2YWxpZGF0ZTogJ1ZBTElEQVRFJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXNlcjoge1xuICAgICAgICB0aXRsZTogJ1VzZXIgcHJvZmlsZScsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgdXNlciBwcm9maWxlJyxcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBpbnZhbGlkOiAnRmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgICBlZGl0OiAnRWRpdCB1c2VyIHByb2ZpbGUnXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgbGlzdDogJ0V4ZWN1dGlvbiBjb250ZXh0cycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgZXhlY3V0aW9uIGNvbnRleHQnLFxuICAgICAgICBlZGl0OiAnRWRpdCBleGVjdXRpb24gY29udGV4dCcsXG4gICAgICAgIGluZm86IFwiRXhlY3V0aW9uIGNvbnRleHQncyBpbmZvcm1hdGlvblwiLFxuICAgICAgICBmb3JtYXRJbnQ6ICdWYWx1ZSBtdXN0IGJlIGFuIGludGVnZXInLFxuICAgICAgICBmb3JtYXREb3VibGU6IFwiVmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyLCBzZXBhcmF0b3IgbXVzdCBiZSAnLidcIixcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IHNwZWNpYWwgY2hhcmFjdGVycyBhbGxvd2VkIGFyZTogWyAtIF8gXSAnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgdmFsdWU6ICdWYXJpYWJsZSB2YWx1ZSdcbiAgICAgIH0sXG4gICAgICBjbGFzc2VzOiB7XG4gICAgICAgIGxpc3Q6ICdDbGFzc2VzJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB0aXRsZTogJ0NsYXNzZSB7e2J1c2luZXNzIG1vZGVsfX0nLFxuICAgICAgICBpbWFnZTogJ0ltYWdlJyxcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IGNoYXJhY3RlcnMgYWxsb3dlZCBhcmU6IFsgbG93ZXJjYXNlLCAtIF8gXSAnLFxuICAgICAgICBtb2RlbDogJ01vZGVsJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGxpbmVzOiAnTGluZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgZWRpdDogJ01vZGlmeSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIHJlbmFtZTogJ1JlbmFtZSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGFkZEF0dHI6ICdBdHRyaWJ1dGUnLFxuICAgICAgICBpbmZvQXR0cjogJ3t7YnVzaW5lc3MgbW9kZWx9fSBidXNpbmVzcyBtb2RlbCA+IEF0dHJpYnV0ZXMnLFxuICAgICAgICBpbmZvOiAnYnVzaW5lc3MgbW9kZWwgaW5mb3JtYXRpb24nLFxuICAgICAgICBydWxlczogJ1N5bWJvbCBkZWZpbml0aW9uIHJ1bGVzJyxcbiAgICAgICAgY29uZGl0aW9uOiAnVXNlZCBpZiBjb25kaXRpb24gdmVyaWZpZWQnLFxuICAgICAgICBhdHRyTmFtZTogJ0F0dHJpYnV0ZSB0byBjaGVjaycsXG4gICAgICAgIHZhbHVlOiAnQ29tcGFyaXNvbiB2YWx1ZScsXG4gICAgICAgIG9wZXJhdGlvbjogJ0NvbXBhcmlzb24gb3BlcmF0aW9uJyxcbiAgICAgICAgb3BlcmF0aW9uczoge1xuICAgICAgICAgIEVRVUFMUzogJ2lzIGVxdWFsJyxcbiAgICAgICAgICBHUkVBVEVSOiAnaXMgZ3JlYXRlcicsXG4gICAgICAgICAgR1JFQVRFUl9PUl9FUVVBTDogJ2lzIGdyZWF0ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIExPV0VSOiAnaXMgbG93ZXInLFxuICAgICAgICAgIExPV0VSX09SX0VRVUFMOiAnaXMgbG93ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIENPTlRBSU5TOiAnY29udGFpbnMgYXMgdGV4dCdcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlQ2xhc3NNb2RhbE1lc3NhZ2U6XG4gICAgICAgICAgJ0NyZWF0aW5nIGEgYnVzaW5lc3MgbW9kZWwgd2l0aG91dCBhdHRyaWJ1dGVzIGlzIGltcG9zc2libGUuIEFkZCBhbiBhdHRyaWJ1dGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBidXNpbmVzcyBtb2RlbCwgd2l0aCBcIkFkZCBhdHRyaWJ1dGVcIiBidXR0b24uJyxcbiAgICAgICAgY3JlYXRlQ2xhc3NDb25maXJtTWVzc2FnZTogJ0NvbmZpcm0gYnVzaW5lc3MgbW9kZWwgY3JlYXRpb24nLFxuICAgICAgICBkZWxldGVDbGFzc0NvbmZpcm1NZXNzYWdlOiAnQ29uZmlybSBkZWxldGluZyB0aGUgc2VsZWN0ZWQgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBsaW5rZWRPYmplY3RzOiAnTGlua2VkIG9iamVjdHMnLFxuICAgICAgICB1c2VkRWxzZXdoZXJlOiBcIlVzZWQgYnkgb3RoZXIgdXNlcnMnIG9iamVjdHNcIixcbiAgICAgICAgYXNzb2NpYXRpb25zOiAnQXNzb2NpYXRpb25zJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgYWRkOiAnYnVzaW5lc3MgbW9kZWwgQWRkIGF0dHJpYnV0ZScsXG4gICAgICAgICAgZWRpdDogJ0VkaXQgYXR0cmlidXRlJyxcbiAgICAgICAgICBuYW1lOiAnQXR0cmlidXRlIGxhYmVsJyxcbiAgICAgICAgICB0ZWNobmljYWxOYW1lOiAnVGVjaG5pY2FsIG5hbWUnLFxuICAgICAgICAgIGluZm86ICdBdHRyaWJ1dGUgaW5mb3JtYXRpb24nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIGZpZWxkOiAnRmllbGQnLFxuICAgICAgICAgIGRmaWVsZDogJ0ZpZWxkJyxcbiAgICAgICAgICBjYXRlZ29yeTogJ0NhdGVnb3J5JyxcbiAgICAgICAgICBtdWx0aVZhbHVlZDogJ011bHRpIHZhbHVlZCdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBhZGQ6ICdBZGQgbmV3IGZpZWxkJyxcbiAgICAgICAgaW5mbzogJ0ZpZWxkIGluZm9ybWF0aW9uJyxcbiAgICAgICAgbGlzdDogJ0ZpZWxkcycsXG4gICAgICAgIGVkaXQ6ICdFZGl0IGZpZWxkJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgdHlwZTogJ1RlY2huaWNhbCB0eXBlJyxcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0ZSBwcmVzZW5jZScsXG4gICAgICAgIGF0dHJpYnV0ZXNUYWI6ICdBdHRyaWJ1dGVzJyxcbiAgICAgICAgYXR0cmlidXRlTmFtZTogJ0F0dHJpYnV0ZSBuYW1lJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnQ2xhc3MnLFxuICAgICAgICBjb25maXJtRmllbGREZWxldGlvbjogJ0NvbmZpcm0gZGVsZXRpbmcgdGhlIHNlbGVjdGVkIGZpZWxkJyxcbiAgICAgICAgZmllbGRUeXBlOiB7XG4gICAgICAgICAgaW50ZWdlcjogJ0ludGVnZXInLFxuICAgICAgICAgIGxvbmc6ICdMb25nIG51bWJlcicsXG4gICAgICAgICAgZGVjaW1hbDogJ0RvdWJsZSBudW1iZXInLFxuICAgICAgICAgIHN0cmluZzogJ1RleHQnLFxuICAgICAgICAgIGtleXdvcmQ6ICdLZXl3b3JkJyxcbiAgICAgICAgICBpbnN0YW50OiAnZGF0ZScsXG4gICAgICAgICAgcmF3OiAnUmF3JyxcbiAgICAgICAgICBQb2ludDogJ1BvaW50JyxcbiAgICAgICAgICBNdWx0aVBvaW50OiAnTXVsdGktcG9pbnRzJyxcbiAgICAgICAgICBMaW5lU3RyaW5nOiAnTGluZScsXG4gICAgICAgICAgTXVsdGlMaW5lU3RyaW5nOiAnTXVsdGktbGluZXMnLFxuICAgICAgICAgIFBvbHlnb246ICdQb2x5Z29uJyxcbiAgICAgICAgICBNdWx0aVBvbHlnb246ICdNdWx0aS1wb2x5Z29ucycsXG4gICAgICAgICAgaW5mb3JtYXRpb246IHtcbiAgICAgICAgICAgIGludGVnZXI6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIGxlc3MgdGhhbiAyXjMyJyxcbiAgICAgICAgICAgIGxvbmc6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIHRoYXQgY2FuIGV4Y2VlZCAyXjMyJyxcbiAgICAgICAgICAgIGRlY2ltYWw6ICdBbGxvd3MgeW91IHRvIHN0b3JlIG51bWVyaWMgZGF0YSB3aXRoIGRlY2ltYWwgcGxhY2VzJyxcbiAgICAgICAgICAgIHN0cmluZzpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgbm90IGluZGV4ZWQ6IGl0IGlzIHBvc3NpYmxlIHRvIHNlYXJjaCBvbiBpdCBidXQgbm8gYWdncmVnYXRpb24nLFxuICAgICAgICAgICAga2V5d29yZDpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgaW5kZXhlZDogaXQgaXMgcG9zc2libGUgdG8gc2VhcmNoIG9uIGl0IGFzIHdlbGwgYXMgYWdncmVnYXRpb25zLicsXG4gICAgICAgICAgICBpbnN0YW50OiAnQWxsb3dzIHlvdSB0byBzdG9yZSBhIGRhdGUnLFxuICAgICAgICAgICAgcmF3OiAnYWxsb3dzIHlvdSB0byBzdG9yZSBpbWFnZSBvciBmaWxlIHR5cGUgZGF0YScsXG4gICAgICAgICAgICBQb2ludDogJ0FsbG93cyB5b3UgdG8gc3RvcmUgZ2VvZ3JhcGhpYyBjb29yZGluYXRlcyBvZiBhbiBvYmplY3QgcmVwcmVzZW50ZWQgYnkgYSBwb2ludCAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBNdWx0aVBvaW50OlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCBjb21wb3NlZCBvZiBzZXZlcmFsIHVuY29ubmVjdGVkIHBvaW50cyAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBMaW5lU3RyaW5nOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBhcyBhIGxpbmUgKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgTXVsdGlMaW5lU3RyaW5nOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCB3aXRoIHNldmVyYWwgdW5jb25uZWN0ZWQgbGluZXMgKGxvbmdpdHVkZSBhbmQgbGF0aXR1ZGUgZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBQb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBhIHBvbHlnb24gKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgTXVsdGlQb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBzZXZlcmFsIHBvbHlnb25zIG5lc3RlZCBvciBub3QgKGdlby1qc29uIGZvcm1hdCknXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByYXdNZXRob2RzOiB7XG4gICAgICAgICAgaHR0cDogJ0Zyb20gZXh0ZXJuYWwgdXJsJyxcbiAgICAgICAgICB1cGxvYWQ6ICdVcGxvYWQgZnJvbSBteSBjb21wdXRlcidcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0T3B0aW9uczoge1xuICAgICAgICAgIHRpdGxlOiAnRm9ybWF0dGluZyBvcHRpb25zJyxcbiAgICAgICAgICBkZWNpbWFsUHJlY2lzaW9uOiAnRGVjaW1hbCBwcmVjaXNpb24nLFxuICAgICAgICAgIG5vRGVjaW1hbFByZWNpc2lvbjogJ05vIGRlY2ltYWwgcHJlY2lzaW9uIHByb3ZpZGVkJyxcbiAgICAgICAgICBsb2NhbGVGb3JtYXQ6ICdMb2NhbGl6ZWQgZm9ybWF0JyxcbiAgICAgICAgICB1bml0OiAnVW5pdCcsXG4gICAgICAgICAgbm9Vbml0OiAnTm8gdW5pdCBwcm92aWRlZCcsXG4gICAgICAgICAgZGF0ZUZvcm1hdDogJ0RhdGUgZm9ybWF0JyxcbiAgICAgICAgICBub0RhdGVGb3JtYXQ6ICdObyBkYXRlIGZvcm1hdCBwcm92aWRlZCcsXG4gICAgICAgICAgZGF0ZUZvcm1hdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIERBVEVUSU1FOiAnRGF0ZSBhbmQgdGltZScsXG4gICAgICAgICAgICBEQVRFOiAnRGF0ZScsXG4gICAgICAgICAgICBNT05USF9ZRUFSOiAnTW9udGggYW5kIHllYXInLFxuICAgICAgICAgICAgREFZX01PTlRIOiAnRGF5IGFuZCBtb250aCcsXG4gICAgICAgICAgICBZRUFSOiAnWWVhcicsXG4gICAgICAgICAgICBNT05USDogJ01vbnRoJyxcbiAgICAgICAgICAgIERBWTogJ0RheSdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1c2VySW5mbzoge1xuICAgICAgICBsaXN0OiAnVXNlcnMnLFxuICAgICAgICBpbmZvOiAnVXNlciBpbmZvcm1hdGlvbicsXG4gICAgICAgIHByb2ZpbGU6ICdQcm9maWxlJyxcbiAgICAgICAgYWRkTWV0YWRhdGE6ICdBZGQnLFxuICAgICAgICBlZGl0TWV0YWRhdGE6ICdFZGl0IG1ldGFkYXRhJyxcbiAgICAgICAgbmFtZTogJ0dpdmVuIG5hbWUnLFxuICAgICAgICBmYW1pbHlOYW1lOiAnRmFtaWx5IG5hbWUnLFxuICAgICAgICBlbWFpbDogJ0VtYWlsIGFkcmVzcycsXG4gICAgICAgIG1ldGFkYXRhOiAnTWV0YWRhdGEnLFxuICAgICAgICByb2xlczogJyBSb2xlcydcbiAgICAgIH0sXG4gICAgICByZWxhdGlvblR5cGVzOiB7XG4gICAgICAgIGxpc3Q6ICdSZWxhdGlvbnMgdHlwZXMnLFxuICAgICAgICBpbmZvOiAnUmVsYXRpb24gdHlwZSBpbmZvcm1hdGlvbicsXG4gICAgICAgIGFkZDogJ0FkZCByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgcmVsYXRpb24gdHlwZScsXG4gICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgbmJSZWxhdGlvbjogJ051bWJlciBvZiB0eXBlIHJlbGF0aW9uJyxcbiAgICAgICAgbmJMaW5rOiAnTnVtYmVyIG9mIGxpbmtzIHRoYXQgdXNlIHRoaXMgcmVsYXRpb24gdHlwZScsXG4gICAgICAgIGRhdGVNb2RpZmljYXRpb246ICdNb2RpZmljYXRpb24gZGF0ZScsXG4gICAgICAgIGRlbGV0YWJsZTogJ0NhbiBiZSBkZWxldGVkJyxcbiAgICAgICAgZGVsZXRlTW9kYWxNZXNzYWdlOiAnVGhpcyByZWxhdGlvbiB0eXBlIGNhbiBiZSBkZWxldGVkIGJlY2F1c2UgdXNlZC4nXG4gICAgICB9LFxuICAgICAgbGlua3M6IHtcbiAgICAgICAgbGlzdDogJ0xpbmtzIGJldHdlZW4gYXR0cmlidXRlcycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBhIGxpbmsgYmV0d2VlbiBhdHRyaWJ1dGVzJyxcbiAgICAgICAgY2xhc3NTb3VyY2U6ICdTb3VyY2UgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBhdHRyaWJ1dGVTb3VyY2U6ICdTb3VyY2UgYXR0cmlidXRlJyxcbiAgICAgICAgY2xhc3NEZXN0aW5hdGlvbjogJ0Rlc3RpbmF0aW9uIGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgYXR0cmlidXRlRGVzdGluYXRpb246ICdEZXN0aW5hdGlvbiBhdHRyaWJ1dGUnLFxuICAgICAgICByZWxhdGlvblR5cGU6ICdSZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgc2VsZWN0UmVsYXRpb25UeXBlOiAnU2VsZWN0IHJlbGF0aW9uIHR5cGUnXG4gICAgICB9LFxuICAgICAgYXNzb2NpYXRpb246IHtcbiAgICAgICAgQUJBQzogJ0FCQUMgUnVsZScsXG4gICAgICAgIExJTks6ICdSZWxhdGlvbicsXG4gICAgICAgIE5BTUVEX1FVRVJZOiAnTmFtZWQgcXVlcnknLFxuICAgICAgICBXSURHRVQ6ICdXaWRnZXQnLFxuICAgICAgICBEQVRBU0VUOiAnRGF0YXNldCcsXG4gICAgICAgIE9DTEFTUzogJ0RhdGEgbW9kZWwnLFxuICAgICAgICBEQVNIQk9BUkQ6ICdEYXNoYm9hcmQnLFxuICAgICAgICBGSUVMRDogJ0RhdGEgdHlwZSdcbiAgICAgIH0sXG4gICAgICBzdG9yYWdlOiB7XG4gICAgICAgIGxhYmVsOiAnQmFzZSBkZSBzdG9ja2FnZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgUE9TVEdJUzpcbiAgICAgICAgICAgICdSZWNvbW1lbmRlZCBmb3Igc3RvcmFnZSBvZiBjb21wbGV4IGdlb2dyYXBoaWNhbCBkYXRhIG9yIGZvciBjb29yZGluYXRlIHN5c3RlbXMgZGlmZmVyZW50IGZyb20gV0dTIDg0LiBSZWNvbW1lbmRlZCBmb3Igc3RvcmluZyBjbGFzc2VzIHdpdGggbG93IGVzdGltYXRlZCBkYXRhIHZvbHVtZS4nLFxuICAgICAgICAgIEVMQVNUSUM6XG4gICAgICAgICAgICAnUmVjb21tZW5kZWQgaW4gY2FzZSBvZiBoaWdoIGRhdGEgdm9sdW1lIGV4cGVjdGVkIGZvciB0aGUgY2xhc3MuIElmIHlvdSB3YW50IHRvIHN0b3JlIGdlb2dyYXBoaWNhbCBkYXRhIGluIHRoaXMgY2xhc3MsIHNpbXBsZSBmb3JtcyBoYXZlIHRvIGJlIHVzZWQgYW5kIHRoZSByZWZlcmVuY2UgY29vcmRpbmF0ZSBzeXN0ZW0gbXVzdCBiZSBXR1MgODQuIFRoaXMgc3RvcmFnZSBzeXN0ZW0gaXMgaG9yaXpvbnRhbGx5IHNjYWxhYmxlLidcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIFBPU1RHSVM6ICdQb3N0R0lTJyxcbiAgICAgICAgICBFTEFTVElDOiAnRWxhc3RpY1NlYXJjaCdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNoYXJlZDoge1xuICAgICAgICBub0NhdGVnb3JpZXM6ICdObyBjYXRlZ29yaWVzIGF2YWlsYWJsZScsXG4gICAgICAgIGNhdGVnb3J5TW9kYWw6IHtcbiAgICAgICAgICBkYXRhc2V0OiB7XG4gICAgICAgICAgICBzZWxlY3Q6ICdTZWxlY3QgdGFnJyxcbiAgICAgICAgICAgIHNlYXJjaE9yQ3JlYXRlOiAnU2VhcmNoIGZvciBleGlzdGluZyB0YWcgT1IgY3JlYXRlIGEgbmV3IG9uZScsXG4gICAgICAgICAgICBuYW1lOiAnVGFnJyxcbiAgICAgICAgICAgIHNlbGVjdEl0OiAnU2VsZWN0IHRhZycsXG4gICAgICAgICAgICBjcmVhdGU6ICdDcmVhdGUgdGFnJyxcbiAgICAgICAgICAgIGFkZDogJ2RvZXMgbm90IGV4aXN0LiA8YnI+WW91IGNhbiBjcmVhdGUgaXQgaGVyZS4gPGJyPkl0IHdpbGwgYmUgYXV0b21hdGljYWxseSBzZWxlY3RlZCBhbmQgYWRkZWQgdG8gdGhlIHRhZyBsaXN0LidcbiAgICAgICAgICB9LFxuICAgICAgICAgIGF0dHJpYnV0ZToge1xuICAgICAgICAgICAgc2VsZWN0OiAnU2VsZWN0IGNhdGVnb3J5JyxcbiAgICAgICAgICAgIHNlYXJjaE9yQ3JlYXRlOiAnU2VhcmNoIGZvciBleGlzdGluZyBjYXRlZ29yeSBPUiBjcmVhdGUgYSBuZXcgb25lJyxcbiAgICAgICAgICAgIG5hbWU6ICdDYXRlZ29yeScsXG4gICAgICAgICAgICBzZWxlY3RJdDogJ1NlbGVjdCBjYXRlZ29yeScsXG4gICAgICAgICAgICBjcmVhdGU6ICdDcmVhdGUgY2F0ZWdvcnknLFxuICAgICAgICAgICAgYWRkOiAnZG9lcyBub3QgZXhpc3QuIDxicj5Zb3UgY2FuIGNyZWF0ZSBpdCBoZXJlLiA8YnI+SXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGFuZCBhZGRlZCB0byB0aGUgY2F0ZWdvcnkgbGlzdC4nXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB0b29sdGlwOiB7XG4gICAgICBkZWZhdWx0OiAnRGVmYXVsdCB0b29sdGlwJyxcbiAgICAgIGF0dHJpYnV0ZTogJ0F0dHJpYnV0ZXMgdG9vbHRpcCcsXG4gICAgICBjbHVzdGVyOiAnQ2x1c3RlciB0b29sdGlwIChncmFwaHMpJyxcbiAgICAgIGxpbms6ICdMaW5rIHRvb2x0aXAgKGdyYXBocyknLFxuICAgICAgbm9uZTogJ05vIHRvb2x0aXAnXG4gICAgfVxuICB9XG59O1xuIl19
|
|
415
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vaTE4bi9lbi50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLEtBQUssRUFBRTtZQUNMLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsZUFBZSxFQUFFLDRCQUE0QjtZQUM3QyxjQUFjLEVBQUUsYUFBYTtZQUM3QixXQUFXLEVBQUUsT0FBTztZQUNwQixJQUFJLEVBQUUsTUFBTTtZQUNaLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLEdBQUcsRUFBRSxLQUFLO1lBQ1YsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixZQUFZLEVBQUUsZUFBZTtZQUM3QixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsZUFBZTtZQUN2QixNQUFNLEVBQUUsUUFBUTtZQUNoQixJQUFJLEVBQUUsTUFBTTtZQUNaLElBQUksRUFBRSxNQUFNO1lBQ1osVUFBVSxFQUFFLFlBQVk7WUFDeEIsT0FBTyxFQUFFLFNBQVM7WUFDbEIsUUFBUSxFQUFFLFVBQVU7WUFDcEIsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxNQUFNLEVBQUUsMEJBQTBCO1lBQ2xDLFNBQVMsRUFBRSwyQ0FBMkM7WUFDdEQsU0FBUyxFQUFFLHVDQUF1QztZQUNsRCxZQUFZLEVBQUUsaURBQWlEO1lBQy9ELElBQUksRUFBRSxlQUFlO1lBQ3JCLFdBQVcsRUFBRSw0REFBNEQ7WUFDekUsZ0JBQWdCLEVBQUUsb0JBQW9CO1lBQ3RDLElBQUksRUFBRSxZQUFZO1lBQ2xCLEtBQUssRUFBRSxPQUFPO1lBQ2QsNkJBQTZCLEVBQzNCLHlHQUF5RztZQUMzRyxPQUFPLEVBQUUsZUFB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QkFDcEIsY0FBYyxFQUFFLDZDQUE2Qzt3QkFDN0QsSUFBSSxFQUFFLEtBQUs7d0JBQ1gsUUFBUSxFQUFFLFlBQVk7d0JBQ3RCLE1BQU0sRUFBRSxZQUFZO3dCQUNwQixHQUFHLEVBQUUsOEdBQThHO3FCQUNwSDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsTUFBTSxFQUFFLGlCQUFpQjt3QkFDekIsY0FBYyxFQUFFLGtEQUFrRDt3QkFDbEUsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFFBQVEsRUFBRSxpQkFBaUI7d0JBQzNCLE1BQU0sRUFBRSxpQkFBaUI7d0JBQ3pCLEdBQUcsRUFBRSxtSEFBbUg7cUJBQ3pIO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsU0FBUyxFQUFFLG9CQUFvQjtZQUMvQixPQUFPLEVBQUUsMEJBQTBCO1lBQ25DLElBQUksRUFBRSx1QkFBdUI7WUFDN0IsSUFBSSxFQUFFLFlBQVk7U0FDbkI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIGFkbWluOiB7XG4gICAgICB0aXRsZTogJ0FkbWluaXN0cmF0aW9uJyxcbiAgICAgIHRpdGxlSW5kaWNhdGlvbjogJ0Nsb3NlIEFkbWluaXN0cmF0aW9uIG1lbnUgJyxcbiAgICAgIGluZm9Nb2RhbFRpdGxlOiAnSW5mb3JtYXRpb24nLFxuICAgICAgY2xvc2VNb2RhbGU6ICdDbG9zZScsXG4gICAgICBlZGl0OiAnRWRpdCcsXG4gICAgICByZW5hbWU6ICdSZW5hbWUnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGFkZDogJ05ldycsXG4gICAgICB2YWxpZGF0ZTogJ1ZhbGlkYXRlJyxcbiAgICAgIGFkZENsYXNzOiAnVmFsaWRhdGUgY3JlYXRpb24nLFxuICAgICAgYWRkQXR0cmlidXRlOiAnQWRkIGF0dHJpYnV0ZScsXG4gICAgICBjcmVhdGU6ICdDcmVhdGUnLFxuICAgICAgdXBsb2FkOiAnQWRkIGEgcGljdHVyZScsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgbmV4dDogJ05leHQnLFxuICAgICAgcHJvcGVydGllczogJ1Byb3BlcnRpZXMnLFxuICAgICAgZGV0YWlsczogJ0RldGFpbHMnLFxuICAgICAgYWN0aXZpdHk6ICdBY3Rpdml0eScsXG4gICAgICByZXF1aXJlZDogJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgZXhpc3RzOiAnVGhpcyBuYW1lIGFscmVhZHkgZXhpc3RzJyxcbiAgICAgIG1pbkxlbmd0aDogJ1RoZSBtaW5pbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzOiB7e2xlbn19JyxcbiAgICAgIG1heExlbmd0aDogJ051bWJlciBvZiBjaGFyYWN0ZXJzIGFsbG93ZWQ6IHt7bGVufX0nLFxuICAgICAgbm9XaGl0ZXNwYWNlOiBcIlRoZSB2YWx1ZSBjYW4ndCBzdGFydCBvciBlbmQgd2l0aCBhIGJsYW5rIHNwYWNlXCIsXG4gICAgICBydWxlOiAnUnVsZSBuwrB7e2lkfX0nLFxuICAgICAgZGVmYXVsdFJ1bGU6ICdEZWZhdWx0IFJ1bGUgKGFwcGxpZXMgb25seSBpZiBubyBvdGhlciBydWxlcyBhcmUgdmVyaWZpZWQpJyxcbiAgICAgIGRpc3BsYXlNb2RlSW1hZ2U6ICdJbWFnZSBkaXNwbGF5IG1vZGUnLFxuICAgICAgc2l6ZTogJ0ltYWdlIHNpemUnLFxuICAgICAgc2hhcmU6ICdTaGFyZScsXG4gICAgICBkZWxldGVBdHRyaWJ1dGVDb25maXJtTWVzc2FnZTpcbiAgICAgICAgJ1RoaXMgYXR0cmlidXRlIHdpbGwgbm8gbG9uZ2VyIGJlIHZpc2libGUgZm9yIHRoZSBhc3NvY2lhdGVkIGRhdGEuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcz8nLFxuICAgICAgaW52YWxpZDogJ0ludmFsaWQgdmFsdWUnLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICB1bmtub3duRmllbGQ6ICdVbmtub3duIGZpZWxkJyxcbiAgICAgICAgdW5rbm93bkNhdGVnb3J5OiAnVW5rbm93biBjYXRlZ29yeScsXG4gICAgICAgIG5vQ2F0ZWdvcnk6ICdObyBjYXRlZ29yeSdcbiAgICAgIH0sXG4gICAgICBwb3NpdGlvbjoge1xuICAgICAgICBGVUxMOiAnRnVsbCBpY29uJyxcbiAgICAgICAgVE9QX0xFRlQ6ICdUb3AgbGVmdCcsXG4gICAgICAgIFRPUF9SSUdIVDogJ1RvcCBSaWdodCcsXG4gICAgICAgIEJPVFRPTV9MRUZUOiAnQm90dG9tIGxlZnQnLFxuICAgICAgICBCT1RUT01fUklHSFQ6ICdCb3R0b20gcmlnaHQnXG4gICAgICB9LFxuICAgICAgY3VzdG9taXplOiB7XG4gICAgICAgIHRpdGxlOiAnQ3VzdG9taXplJyxcbiAgICAgICAgdGVtcGxhdGU6ICdUb29sdGlwIChNYXAgJiBSZWxhdGlvbnMpJyxcbiAgICAgICAgdXBkYXRlOiAnVXBkYXRlIHRvb2x0aXAnLFxuICAgICAgICBhZHZhbmNlZDogJ0FkdmFuY2VkIG1vZGUnLFxuICAgICAgICBuYW1lOiAnQnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICB0ZWNobmljYWxJZDogJ1RlY2huaWNhbCBJZCcsXG4gICAgICAgIHR5cGU6ICdDaG9vc2Ugd2hpY2gga2luZCBvZiB0b29sdGlwIHRvIHVzZScsXG4gICAgICAgIHNpbXBsaWZpZWQ6ICdDaG9vc2Ugd2hpY2ggYXR0cmlidXRlcyB0byBkaXNwbGF5JyxcbiAgICAgICAgZXhlbXBsZTogJ3t7ZXhwcn19IHZhbHVlJyxcbiAgICAgICAgdGFibGU6ICdUYWJsZSBkZWZhdWx0IGF0dHJpYnV0ZXMnLFxuICAgICAgICB0aWxlOiAnVGlsZSBkZWZhdWx0IGF0dHJpYnV0ZXMnLFxuICAgICAgICB0aWxlSGludDogJ09ubHkgYmV0d2VlbiAxIGFuZCB7e21heH19IGF0dHJpYnV0ZXMgY2FuIGJlIGRpc3BsYXllZCBpbiBhIHRpbGUnLFxuICAgICAgICB0YWJsZUF0dHJzOiAnQXR0cmlidXRlcyBpbiBhIHRhYmxlIGJ5IGRlZmF1bHQnLFxuICAgICAgICB0aWxlQXR0cnM6ICdBdHRyaWJ1dGVzIGRpc3BsYXllZCBpbiBhIHRpbGUnLFxuICAgICAgICBub1RhYmxlQXR0cnM6ICdPdGhlciBhdHRyaWJ1dGVzJyxcbiAgICAgICAgbm9UaWxlQXR0cnM6ICdBdHRyaWJ1dGVzIG5vdCBkaXNwbGF5ZWQnLFxuICAgICAgICB1cGRhdGVUYWJsZTogJ1VwZGF0ZSBkZWZhdWx0IHRhYmxlIGF0dHJpYnV0ZXMnLFxuICAgICAgICB1cGRhdGVUaWxlOiAnVXBkYXRlIHRpbGUgYXR0cmlidXRlcycsXG4gICAgICAgIHVwZGF0ZUljb25zOiAnVXBkYXRlIHN5bWJvbHMgcnVsZXMnXG4gICAgICB9LFxuICAgICAgdmFyVHlwZToge1xuICAgICAgICBpbnQ6ICdJbnRlZ2VyJyxcbiAgICAgICAgZG91YmxlOiAnRG91YmxlJyxcbiAgICAgICAgc3RyaW5nOiAnVGV4dCcsXG4gICAgICAgIHV1aWQ6ICdVdWlkJyxcbiAgICAgICAgZGF0ZTogJ0RhdGUnLFxuICAgICAgICBsaXN0OiAnVmFsdWUgbGlzdCdcbiAgICAgIH0sXG4gICAgICBtZW51czoge1xuICAgICAgICBlbnZpcm9ubWVudDogJ0V4ZWN1dGlvbiBjb250ZXh0cycsXG4gICAgICAgIHVzZXI6ICdVc2VycycsXG4gICAgICAgICdtZXRhZGF0YS11c2VyJzogJ1VzZXIgcHJvZmlsZScsXG4gICAgICAgICdhYmFjLXJ1bGVzJzogJ0FCQUMgUnVsZXMnLFxuICAgICAgICAnbWV0YWRhdGEtcnVsZXMnOiAnUnVsZXMgbWV0YWRhdGEnLFxuICAgICAgICBkYXRhc2V0OiAnRGF0YXNldHMnLFxuICAgICAgICBjbGFzc2VzOiAnQ2xhc3NlcycsXG4gICAgICAgIHByZWRpY2F0ZXM6ICdQcmVkaWNhdGVzJyxcbiAgICAgICAgbWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgIGZpZWxkczogJ0ZpZWxkcycsXG4gICAgICAgICdyZWxhdGlvbi10eXBlcyc6ICdSZWxhdGlvbiB0eXBlcycsXG4gICAgICAgIGxpbmtzOiAnTGlua3MgYmV0d2VlbiBhdHRyaWJ1dGVzJyxcbiAgICAgICAgbW9kZWw6ICdEYXRhIG1vZGVsJyxcbiAgICAgICAgYWNjZXNzOiAnRGF0YSBhY2Nlc3MnXG4gICAgICB9LFxuICAgICAgcHJlZGljYXRlczoge1xuICAgICAgICBsaXN0OiAnUHJlZGljYXRlcycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgcHJlZGljYXRlJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgdW4gcHJlZGljYXRlJyxcbiAgICAgICAgaW5mbzogXCJQcmVkaWNhdGUncyBpbmZvcm1hdGlvblwiLFxuICAgICAgICBudW06ICdJZC4nLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIHZhbHVlOiAnVHJpZ2dlciBjb25kaXRpb25hbCBleHByZXNzaW9uJyxcbiAgICAgICAgdmFsaWRFZGl0OiAnVmFsaWRhdGlvbiBtb2RpZmljYXRpb24nLFxuICAgICAgICB2YWxpZEVkaXRNZXNzYWdlOiAnVGhpcyBwcmVkaWNhdGVzIGlzIHVzZWQgaW4ge3t1c2VkfX0gcnVsZXMuIFJlYWxseSB1cGRhdGUgcHJlZGljYXRlID8nXG4gICAgICB9LFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgdGl0bGU6ICdNZXRhZGF0YScsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgbWV0YWRhdGEnLFxuICAgICAgICBlZGl0OiAnTW9kaWZ5IG1ldGFkYXRhJyxcbiAgICAgICAgZGV0YWlsczogJ01ldGFkYXRhIGRldGFpbHMnLFxuICAgICAgICBkZXRhaWxzVXNlcjogJ1VzZXIgcHJvZmlsZSBkZXRhaWwnLFxuICAgICAgICBpZDogJ0lEJyxcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgICAgaW52YWxpZDogJ0ZpZWxkIGlzIHJlcXVpcmVkJyxcbiAgICAgICAgbGlzdExhYmVsOiAnVmFsdWUgbmFtZScsXG4gICAgICAgIGFkZFZhbHVlOiAnQWRkIG5ldyB2YWx1ZScsXG4gICAgICAgIHJlbW92ZVZhbHVlOiAnUmVtb3ZlIHZhbHVlJyxcbiAgICAgICAgc3lzdGVtOiAnU3lzdGVtIG1ldGFkYXRhJ1xuICAgICAgfSxcbiAgICAgICdtZXRhZGF0YS1ydWxlcyc6IHtcbiAgICAgICAgdGl0bGU6ICdNZXRhZGF0YSBSdWxlcycsXG4gICAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICAgICdpcy1zYW1lLW5hbWUnOiAnVGhlIG5hbWUgb2YgdGhlIHJ1bGUgaXMgYWxyZWFkeSB0YWtlbiBmb3IgYW5vdGhlciBydWxlLCBwbGVhc2UgdXNlIGFub3RoZXIgb25lJyxcbiAgICAgICAgJ2lzLXNhbWUtcnVsZXMnOiAnVGhlIHNhbWUgcnVsZSBoYXMgYWxyZWFkeSBiZWVuIGNvbmZpZ3VyZWQgYW5kIHNhdmVkLCB5b3UgY2FuIHVzZSBpdCcsXG4gICAgICAgICdtZXRhZGF0YS1pdGVtJzoge1xuICAgICAgICAgIG5hbWU6ICdUYXJnZXQgbWV0YWRhdGEnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnVGFyZ2V0IG1ldGFkYXRhIGRlc2NyaXB0aW9uJyxcbiAgICAgICAgICB0eXBlOiAnTWV0YWRhdGEgdHlwZSB0YXJnZXQnXG4gICAgICAgIH0sXG4gICAgICAgICdtZXRhZGF0YS11c2VyJzoge1xuICAgICAgICAgIG5hbWU6ICdTb3VyY2UgdXNlciBwcm9maWxlJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIG9mIHNvdXJjZSB1c2VyIHByb2ZpbGUnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlIG9mIHNvdXJjZSB1c2VyIHByb2ZpbGUnXG4gICAgICAgIH0sXG4gICAgICAgIGVkaXQ6IHtcbiAgICAgICAgICB0aXRsZTogJ01vZGlmeSBtZXRhZGF0YSBydWxlJ1xuICAgICAgICB9LFxuICAgICAgICBhZGQ6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBuZXcgbWV0YWRhdGEgcnVsZSdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGRhdGFzZXQ6IHtcbiAgICAgICAgZGVsZXRlOlxuICAgICAgICAgICdBbGwgdmVyc2lvbnMgYW5kIGFzc29jaWF0ZWQgZGF0YSB3aWxsIGJlIGRlbGV0ZWQuIFJlc3RpdHV0aW9ucyBhbmQgcHJlc2VudGF0aW9ucyB1c2luZyB0aGlzIGRhdGFzZXQgd2lsbCBubyBsb25nZXIgZGlzcGxheSB0aGUgY29ycmVzcG9uZGluZyBkYXRhLiBEbyB5b3UgY29uZmlybSB0aGUgZGVsZXRpb24/JyxcbiAgICAgICAgdGl0bGU6ICdEYXRhc2V0JyxcbiAgICAgICAgZGF0YXNldERldGFpbHM6ICdEYXRhc2V0IGRldGFpbHMnLFxuICAgICAgICBkZXRhaWxzOiAnRGV0YWlscycsXG4gICAgICAgIGlkOiAnSWQnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIG9DbGFzczogJ0J1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICAnaXMtc2FtZS1uYW1lJzogJ1RoZSBuYW1lIG9mIHRoZSBkYXRhc2V0IGlzIGFscmVhZHkgdGFrZW4sIHBsZWFzZSB1c2UgYW5vdGhlciBvbmUnLFxuICAgICAgICBhZGQ6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSBhIG5ldyBkYXRhc2V0J1xuICAgICAgICB9LFxuICAgICAgICBlZGl0OiB7XG4gICAgICAgICAgdGl0bGU6ICdVcGRhdGUgZGF0YXNldCdcbiAgICAgICAgfSxcbiAgICAgICAgT1BFTjogJ09wZW4nLFxuICAgICAgICBDTE9TRUQ6ICdDbG9zZWQnLFxuICAgICAgICBNT0RJRklBQkxFOiAnTW9kaWZpYWJsZScsXG4gICAgICAgIGNvbmZsaWN0OiAnQ2FyZWZ1bCwgdGhlIGZvbGxvd2luZyBkYXNoYm9hcmRzIGFyZSBzaGFyZWQgdG8gZ3JvdXBzIHdoaWNoIGNhbiBubyBsb25nZXIgYWNjZXNzIHRoaXMgZGF0YXNvdXJjZTonLFxuICAgICAgICBlbnRpdGllczoge1xuICAgICAgICAgIGRhc2hib2FyZDogJ0Rhc2hib2FyZCdcbiAgICAgICAgfSxcbiAgICAgICAgYWRkVGFnOiAnQWRkIGEgbmV3IHRhZydcbiAgICAgIH0sXG4gICAgICAnYWJhYy1ydWxlcyc6IHtcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgICAgbWV0YWRhdGFVc2VyOiAnVXNlcnMgcHJvZmlsZScsXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgbGlzdDogJ0FiYWMgUnVsZXMnLFxuICAgICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgYWJhYyBydWxlJyxcbiAgICAgICAgICB2aWV3OiBcIkFiYWMgcnVsZSdzIGluZm9ybWF0aW9uXCIsXG4gICAgICAgICAgZWRpdDogJ0FiYWMgcnVsZSBlZGl0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBmb3JtOiB7XG4gICAgICAgICAgaWQ6ICdJRCcsXG4gICAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIHN0YXR1czogJ1N0YXR1cycsXG4gICAgICAgICAgc3RhdHVzQWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgICBzdGF0dXNJbmFjdGl2ZTogJ0luYWN0aXZlJyxcbiAgICAgICAgICBwcmVkaWNhdGU6ICdQcmVkaWNhdGUnLFxuICAgICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgICB0eXBlTWV0YWRhdGE6ICdNZXRhZGF0YScsXG4gICAgICAgICAgdHlwZUF0dHJpYnV0ZTogJ0F0dHJpYnV0ZScsXG4gICAgICAgICAgdHlwZVNlbGVjdGVkOiBcIllvdSBjYW4ndCBjaGFuZ2UgdHlwZSB3aXRoIGN1cnJlbnQgY29uZGl0aW9uc1wiLFxuICAgICAgICAgIGFkZE1ldGFkYXRhOiAnQWRkIG1ldGFkYXRhIGNvbmRpdGlvbicsXG4gICAgICAgICAgYWRkQXR0cmlidXRlOiAnQWRkIGF0dHJpYnV0ZSBjb25kaXRpb24nLFxuICAgICAgICAgIGFkZEdyb3VwOiAnQWRkIGdyb3VwIGNvbmRpdGlvbicsXG4gICAgICAgICAgY2FuY2VsOiAnQ0FOQ0VMJyxcbiAgICAgICAgICB2YWxpZGF0ZTogJ1ZBTElEQVRFJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXNlcjoge1xuICAgICAgICB0aXRsZTogJ1VzZXIgcHJvZmlsZScsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgdXNlciBwcm9maWxlJyxcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBpbnZhbGlkOiAnRmllbGQgaXMgcmVxdWlyZWQnLFxuICAgICAgICBlZGl0OiAnRWRpdCB1c2VyIHByb2ZpbGUnXG4gICAgICB9LFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgbGlzdDogJ0V4ZWN1dGlvbiBjb250ZXh0cycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBuZXcgZXhlY3V0aW9uIGNvbnRleHQnLFxuICAgICAgICBlZGl0OiAnRWRpdCBleGVjdXRpb24gY29udGV4dCcsXG4gICAgICAgIGluZm86IFwiRXhlY3V0aW9uIGNvbnRleHQncyBpbmZvcm1hdGlvblwiLFxuICAgICAgICBmb3JtYXRJbnQ6ICdWYWx1ZSBtdXN0IGJlIGFuIGludGVnZXInLFxuICAgICAgICBmb3JtYXREb3VibGU6IFwiVmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyLCBzZXBhcmF0b3IgbXVzdCBiZSAnLidcIixcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IHNwZWNpYWwgY2hhcmFjdGVycyBhbGxvd2VkIGFyZTogWyAtIF8gXSAnLFxuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIHR5cGU6ICdUeXBlJyxcbiAgICAgICAgdmFsdWU6ICdWYXJpYWJsZSB2YWx1ZSdcbiAgICAgIH0sXG4gICAgICBjbGFzc2VzOiB7XG4gICAgICAgIGxpc3Q6ICdDbGFzc2VzJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICB0aXRsZTogJ0NsYXNzZSB7e2J1c2luZXNzIG1vZGVsfX0nLFxuICAgICAgICBpbWFnZTogJ0ltYWdlJyxcbiAgICAgICAgZm9ybWF0TmFtZTogJ1RoZSBvbmx5IGNoYXJhY3RlcnMgYWxsb3dlZCBhcmU6IFsgbG93ZXJjYXNlLCAtIF8gXSAnLFxuICAgICAgICBtb2RlbDogJ01vZGVsJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICAgIGxpbmVzOiAnTGluZXMnLFxuICAgICAgICBhZGQ6ICdDcmVhdGUgbmV3IGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgZWRpdDogJ01vZGlmeSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIHJlbmFtZTogJ1JlbmFtZSBidXNpbmVzcyBtb2RlbCcsXG4gICAgICAgIGFkZEF0dHI6ICdBdHRyaWJ1dGUnLFxuICAgICAgICBpbmZvQXR0cjogJ3t7YnVzaW5lc3MgbW9kZWx9fSBidXNpbmVzcyBtb2RlbCA+IEF0dHJpYnV0ZXMnLFxuICAgICAgICBpbmZvOiAnYnVzaW5lc3MgbW9kZWwgaW5mb3JtYXRpb24nLFxuICAgICAgICBydWxlczogJ1N5bWJvbCBkZWZpbml0aW9uIHJ1bGVzJyxcbiAgICAgICAgY29uZGl0aW9uOiAnVXNlZCBpZiBjb25kaXRpb24gdmVyaWZpZWQnLFxuICAgICAgICBhdHRyTmFtZTogJ0F0dHJpYnV0ZSB0byBjaGVjaycsXG4gICAgICAgIHZhbHVlOiAnQ29tcGFyaXNvbiB2YWx1ZScsXG4gICAgICAgIG9wZXJhdGlvbjogJ0NvbXBhcmlzb24gb3BlcmF0aW9uJyxcbiAgICAgICAgb3BlcmF0aW9uczoge1xuICAgICAgICAgIEVRVUFMUzogJ2lzIGVxdWFsJyxcbiAgICAgICAgICBHUkVBVEVSOiAnaXMgZ3JlYXRlcicsXG4gICAgICAgICAgR1JFQVRFUl9PUl9FUVVBTDogJ2lzIGdyZWF0ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIExPV0VSOiAnaXMgbG93ZXInLFxuICAgICAgICAgIExPV0VSX09SX0VRVUFMOiAnaXMgbG93ZXIgb3IgZXF1YWwnLFxuICAgICAgICAgIENPTlRBSU5TOiAnY29udGFpbnMgYXMgdGV4dCdcbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlQ2xhc3NNb2RhbE1lc3NhZ2U6XG4gICAgICAgICAgJ0NyZWF0aW5nIGEgYnVzaW5lc3MgbW9kZWwgd2l0aG91dCBhdHRyaWJ1dGVzIGlzIGltcG9zc2libGUuIEFkZCBhbiBhdHRyaWJ1dGUgYmVmb3JlIGNyZWF0aW5nIHRoZSBidXNpbmVzcyBtb2RlbCwgd2l0aCBcIkFkZCBhdHRyaWJ1dGVcIiBidXR0b24uJyxcbiAgICAgICAgY3JlYXRlQ2xhc3NDb25maXJtTWVzc2FnZTogJ0NvbmZpcm0gYnVzaW5lc3MgbW9kZWwgY3JlYXRpb24nLFxuICAgICAgICBkZWxldGVDbGFzc0NvbmZpcm1NZXNzYWdlOiAnQ29uZmlybSBkZWxldGluZyB0aGUgc2VsZWN0ZWQgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBsaW5rZWRPYmplY3RzOiAnTGlua2VkIG9iamVjdHMnLFxuICAgICAgICB1c2VkRWxzZXdoZXJlOiBcIlVzZWQgYnkgb3RoZXIgdXNlcnMnIG9iamVjdHNcIixcbiAgICAgICAgYXNzb2NpYXRpb25zOiAnQXNzb2NpYXRpb25zJyxcbiAgICAgICAgdHlwZTogJ1R5cGUnLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgYWRkOiAnYnVzaW5lc3MgbW9kZWwgQWRkIGF0dHJpYnV0ZScsXG4gICAgICAgICAgZWRpdDogJ0VkaXQgYXR0cmlidXRlJyxcbiAgICAgICAgICBuYW1lOiAnQXR0cmlidXRlIGxhYmVsJyxcbiAgICAgICAgICB0ZWNobmljYWxOYW1lOiAnVGVjaG5pY2FsIG5hbWUnLFxuICAgICAgICAgIGluZm86ICdBdHRyaWJ1dGUgaW5mb3JtYXRpb24nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnRGVzY3JpcHRpb24nLFxuICAgICAgICAgIGZpZWxkOiAnRmllbGQnLFxuICAgICAgICAgIGRmaWVsZDogJ0ZpZWxkJyxcbiAgICAgICAgICBjYXRlZ29yeTogJ0NhdGVnb3J5JyxcbiAgICAgICAgICBtdWx0aVZhbHVlZDogJ011bHRpIHZhbHVlZCdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBhZGQ6ICdBZGQgbmV3IGZpZWxkJyxcbiAgICAgICAgaW5mbzogJ0ZpZWxkIGluZm9ybWF0aW9uJyxcbiAgICAgICAgbGlzdDogJ0ZpZWxkcycsXG4gICAgICAgIGVkaXQ6ICdFZGl0IGZpZWxkJyxcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ2Rlc2NyaXB0aW9uJyxcbiAgICAgICAgdHlwZTogJ1RlY2huaWNhbCB0eXBlJyxcbiAgICAgICAgYXR0cmlidXRlczogJ0F0dHJpYnV0ZSBwcmVzZW5jZScsXG4gICAgICAgIGF0dHJpYnV0ZXNUYWI6ICdBdHRyaWJ1dGVzJyxcbiAgICAgICAgYXR0cmlidXRlTmFtZTogJ0F0dHJpYnV0ZSBuYW1lJyxcbiAgICAgICAgY2xhc3NOYW1lOiAnQ2xhc3MnLFxuICAgICAgICBjb25maXJtRmllbGREZWxldGlvbjogJ0NvbmZpcm0gZGVsZXRpbmcgdGhlIHNlbGVjdGVkIGZpZWxkJyxcbiAgICAgICAgZmllbGRUeXBlOiB7XG4gICAgICAgICAgaW50ZWdlcjogJ0ludGVnZXInLFxuICAgICAgICAgIGxvbmc6ICdMb25nIG51bWJlcicsXG4gICAgICAgICAgZGVjaW1hbDogJ0RvdWJsZSBudW1iZXInLFxuICAgICAgICAgIHN0cmluZzogJ1RleHQnLFxuICAgICAgICAgIGtleXdvcmQ6ICdLZXl3b3JkJyxcbiAgICAgICAgICBpbnN0YW50OiAnZGF0ZScsXG4gICAgICAgICAgcmF3OiAnUmF3JyxcbiAgICAgICAgICBQb2ludDogJ1BvaW50JyxcbiAgICAgICAgICBNdWx0aVBvaW50OiAnTXVsdGktcG9pbnRzJyxcbiAgICAgICAgICBMaW5lU3RyaW5nOiAnTGluZScsXG4gICAgICAgICAgTXVsdGlMaW5lU3RyaW5nOiAnTXVsdGktbGluZXMnLFxuICAgICAgICAgIFBvbHlnb246ICdQb2x5Z29uJyxcbiAgICAgICAgICBNdWx0aVBvbHlnb246ICdNdWx0aS1wb2x5Z29ucycsXG4gICAgICAgICAgaW5mb3JtYXRpb246IHtcbiAgICAgICAgICAgIGludGVnZXI6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIGxlc3MgdGhhbiAyXjMyJyxcbiAgICAgICAgICAgIGxvbmc6ICdBbGxvd3MgeW91IHRvIHN0b3JlIGludGVnZXIgbnVtZXJpYyBkYXRhIHRoYXQgY2FuIGV4Y2VlZCAyXjMyJyxcbiAgICAgICAgICAgIGRlY2ltYWw6ICdBbGxvd3MgeW91IHRvIHN0b3JlIG51bWVyaWMgZGF0YSB3aXRoIGRlY2ltYWwgcGxhY2VzJyxcbiAgICAgICAgICAgIHN0cmluZzpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgbm90IGluZGV4ZWQ6IGl0IGlzIHBvc3NpYmxlIHRvIHNlYXJjaCBvbiBpdCBidXQgbm8gYWdncmVnYXRpb24nLFxuICAgICAgICAgICAga2V5d29yZDpcbiAgICAgICAgICAgICAgJ0FsbG93cyB5b3UgdG8gc3RvcmUgZGF0YSBpbiBhbHBoYW51bWVyaWMgZm9ybWF0LiBUaGlzIGRhdGEgaXMgaW5kZXhlZDogaXQgaXMgcG9zc2libGUgdG8gc2VhcmNoIG9uIGl0IGFzIHdlbGwgYXMgYWdncmVnYXRpb25zLicsXG4gICAgICAgICAgICBpbnN0YW50OiAnQWxsb3dzIHlvdSB0byBzdG9yZSBhIGRhdGUnLFxuICAgICAgICAgICAgcmF3OiAnYWxsb3dzIHlvdSB0byBzdG9yZSBpbWFnZSBvciBmaWxlIHR5cGUgZGF0YScsXG4gICAgICAgICAgICBQb2ludDogJ0FsbG93cyB5b3UgdG8gc3RvcmUgZ2VvZ3JhcGhpYyBjb29yZGluYXRlcyBvZiBhbiBvYmplY3QgcmVwcmVzZW50ZWQgYnkgYSBwb2ludCAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBNdWx0aVBvaW50OlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCBjb21wb3NlZCBvZiBzZXZlcmFsIHVuY29ubmVjdGVkIHBvaW50cyAoZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBMaW5lU3RyaW5nOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBhcyBhIGxpbmUgKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgTXVsdGlMaW5lU3RyaW5nOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCB3aXRoIHNldmVyYWwgdW5jb25uZWN0ZWQgbGluZXMgKGxvbmdpdHVkZSBhbmQgbGF0aXR1ZGUgZ2VvLWpzb24gZm9ybWF0KScsXG4gICAgICAgICAgICBQb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBhIHBvbHlnb24gKGdlby1qc29uIGZvcm1hdCknLFxuICAgICAgICAgICAgTXVsdGlQb2x5Z29uOlxuICAgICAgICAgICAgICAnQWxsb3dzIHlvdSB0byBzdG9yZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIGFuIG9iamVjdCByZXByZXNlbnRlZCBieSBzZXZlcmFsIHBvbHlnb25zIG5lc3RlZCBvciBub3QgKGdlby1qc29uIGZvcm1hdCknXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICByYXdNZXRob2RzOiB7XG4gICAgICAgICAgaHR0cDogJ0Zyb20gZXh0ZXJuYWwgdXJsJyxcbiAgICAgICAgICB1cGxvYWQ6ICdVcGxvYWQgZnJvbSBteSBjb21wdXRlcidcbiAgICAgICAgfSxcbiAgICAgICAgZm9ybWF0T3B0aW9uczoge1xuICAgICAgICAgIHRpdGxlOiAnRm9ybWF0dGluZyBvcHRpb25zJyxcbiAgICAgICAgICBkZWNpbWFsUHJlY2lzaW9uOiAnRGVjaW1hbCBwcmVjaXNpb24nLFxuICAgICAgICAgIG5vRGVjaW1hbFByZWNpc2lvbjogJ05vIGRlY2ltYWwgcHJlY2lzaW9uIHByb3ZpZGVkJyxcbiAgICAgICAgICBsb2NhbGVGb3JtYXQ6ICdMb2NhbGl6ZWQgZm9ybWF0JyxcbiAgICAgICAgICB1bml0OiAnVW5pdCcsXG4gICAgICAgICAgbm9Vbml0OiAnTm8gdW5pdCBwcm92aWRlZCcsXG4gICAgICAgICAgZGF0ZUZvcm1hdDogJ0RhdGUgZm9ybWF0JyxcbiAgICAgICAgICBub0RhdGVGb3JtYXQ6ICdObyBkYXRlIGZvcm1hdCBwcm92aWRlZCcsXG4gICAgICAgICAgZGF0ZUZvcm1hdE9wdGlvbnM6IHtcbiAgICAgICAgICAgIERBVEVUSU1FOiAnRGF0ZSBhbmQgdGltZScsXG4gICAgICAgICAgICBEQVRFOiAnRGF0ZScsXG4gICAgICAgICAgICBNT05USF9ZRUFSOiAnTW9udGggYW5kIHllYXInLFxuICAgICAgICAgICAgREFZX01PTlRIOiAnRGF5IGFuZCBtb250aCcsXG4gICAgICAgICAgICBZRUFSOiAnWWVhcicsXG4gICAgICAgICAgICBNT05USDogJ01vbnRoJyxcbiAgICAgICAgICAgIERBWTogJ0RheSdcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB1c2VySW5mbzoge1xuICAgICAgICBsaXN0OiAnVXNlcnMnLFxuICAgICAgICBpbmZvOiAnVXNlciBpbmZvcm1hdGlvbicsXG4gICAgICAgIHByb2ZpbGU6ICdQcm9maWxlJyxcbiAgICAgICAgYWRkTWV0YWRhdGE6ICdBZGQnLFxuICAgICAgICBlZGl0TWV0YWRhdGE6ICdFZGl0IG1ldGFkYXRhJyxcbiAgICAgICAgbmFtZTogJ0dpdmVuIG5hbWUnLFxuICAgICAgICBmYW1pbHlOYW1lOiAnRmFtaWx5IG5hbWUnLFxuICAgICAgICBlbWFpbDogJ0VtYWlsIGFkcmVzcycsXG4gICAgICAgIG1ldGFkYXRhOiAnTWV0YWRhdGEnLFxuICAgICAgICByb2xlczogJyBSb2xlcydcbiAgICAgIH0sXG4gICAgICByZWxhdGlvblR5cGVzOiB7XG4gICAgICAgIGxpc3Q6ICdSZWxhdGlvbnMgdHlwZXMnLFxuICAgICAgICBpbmZvOiAnUmVsYXRpb24gdHlwZSBpbmZvcm1hdGlvbicsXG4gICAgICAgIGFkZDogJ0FkZCByZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgZWRpdDogJ0VkaXQgcmVsYXRpb24gdHlwZScsXG4gICAgICAgIG5hbWU6ICdOYW1lJyxcbiAgICAgICAgbmJSZWxhdGlvbjogJ051bWJlciBvZiB0eXBlIHJlbGF0aW9uJyxcbiAgICAgICAgbmJMaW5rOiAnTnVtYmVyIG9mIGxpbmtzIHRoYXQgdXNlIHRoaXMgcmVsYXRpb24gdHlwZScsXG4gICAgICAgIGRhdGVNb2RpZmljYXRpb246ICdNb2RpZmljYXRpb24gZGF0ZScsXG4gICAgICAgIGRlbGV0YWJsZTogJ0NhbiBiZSBkZWxldGVkJyxcbiAgICAgICAgZGVsZXRlTW9kYWxNZXNzYWdlOiAnVGhpcyByZWxhdGlvbiB0eXBlIGNhbiBiZSBkZWxldGVkIGJlY2F1c2UgdXNlZC4nXG4gICAgICB9LFxuICAgICAgbGlua3M6IHtcbiAgICAgICAgbGlzdDogJ0xpbmtzIGJldHdlZW4gYXR0cmlidXRlcycsXG4gICAgICAgIGFkZDogJ0NyZWF0ZSBhIGxpbmsgYmV0d2VlbiBhdHRyaWJ1dGVzJyxcbiAgICAgICAgY2xhc3NTb3VyY2U6ICdTb3VyY2UgYnVzaW5lc3MgbW9kZWwnLFxuICAgICAgICBhdHRyaWJ1dGVTb3VyY2U6ICdTb3VyY2UgYXR0cmlidXRlJyxcbiAgICAgICAgY2xhc3NEZXN0aW5hdGlvbjogJ0Rlc3RpbmF0aW9uIGJ1c2luZXNzIG1vZGVsJyxcbiAgICAgICAgYXR0cmlidXRlRGVzdGluYXRpb246ICdEZXN0aW5hdGlvbiBhdHRyaWJ1dGUnLFxuICAgICAgICByZWxhdGlvblR5cGU6ICdSZWxhdGlvbiB0eXBlJyxcbiAgICAgICAgc2VsZWN0UmVsYXRpb25UeXBlOiAnU2VsZWN0IHJlbGF0aW9uIHR5cGUnXG4gICAgICB9LFxuICAgICAgYXNzb2NpYXRpb246IHtcbiAgICAgICAgQUJBQzogJ0FCQUMgUnVsZScsXG4gICAgICAgIExJTks6ICdSZWxhdGlvbicsXG4gICAgICAgIE5BTUVEX1FVRVJZOiAnTmFtZWQgcXVlcnknLFxuICAgICAgICBXSURHRVQ6ICdXaWRnZXQnLFxuICAgICAgICBEQVRBU0VUOiAnRGF0YXNldCcsXG4gICAgICAgIE9DTEFTUzogJ0RhdGEgbW9kZWwnLFxuICAgICAgICBEQVNIQk9BUkQ6ICdEYXNoYm9hcmQnLFxuICAgICAgICBGSUVMRDogJ0RhdGEgdHlwZSdcbiAgICAgIH0sXG4gICAgICBzdG9yYWdlOiB7XG4gICAgICAgIGxhYmVsOiAnQmFzZSBkZSBzdG9ja2FnZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgUE9TVEdJUzpcbiAgICAgICAgICAgICdSZWNvbW1lbmRlZCBmb3Igc3RvcmFnZSBvZiBjb21wbGV4IGdlb2dyYXBoaWNhbCBkYXRhIG9yIGZvciBjb29yZGluYXRlIHN5c3RlbXMgZGlmZmVyZW50IGZyb20gV0dTIDg0LiBSZWNvbW1lbmRlZCBmb3Igc3RvcmluZyBjbGFzc2VzIHdpdGggbG93IGVzdGltYXRlZCBkYXRhIHZvbHVtZS4nLFxuICAgICAgICAgIEVMQVNUSUM6XG4gICAgICAgICAgICAnUmVjb21tZW5kZWQgaW4gY2FzZSBvZiBoaWdoIGRhdGEgdm9sdW1lIGV4cGVjdGVkIGZvciB0aGUgY2xhc3MuIElmIHlvdSB3YW50IHRvIHN0b3JlIGdlb2dyYXBoaWNhbCBkYXRhIGluIHRoaXMgY2xhc3MsIHNpbXBsZSBmb3JtcyBoYXZlIHRvIGJlIHVzZWQgYW5kIHRoZSByZWZlcmVuY2UgY29vcmRpbmF0ZSBzeXN0ZW0gbXVzdCBiZSBXR1MgODQuIFRoaXMgc3RvcmFnZSBzeXN0ZW0gaXMgaG9yaXpvbnRhbGx5IHNjYWxhYmxlLidcbiAgICAgICAgfSxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIFBPU1RHSVM6ICdQb3N0R0lTJyxcbiAgICAgICAgICBFTEFTVElDOiAnRWxhc3RpY1NlYXJjaCdcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHNoYXJlZDoge1xuICAgICAgICBub0NhdGVnb3JpZXM6ICdObyBjYXRlZ29yaWVzIGF2YWlsYWJsZScsXG4gICAgICAgIGNhdGVnb3J5TW9kYWw6IHtcbiAgICAgICAgICBkYXRhc2V0OiB7XG4gICAgICAgICAgICBzZWxlY3Q6ICdTZWxlY3QgdGFnJyxcbiAgICAgICAgICAgIHNlYXJjaE9yQ3JlYXRlOiAnU2VhcmNoIGZvciBleGlzdGluZyB0YWcgT1IgY3JlYXRlIGEgbmV3IG9uZScsXG4gICAgICAgICAgICBuYW1lOiAnVGFnJyxcbiAgICAgICAgICAgIHNlbGVjdEl0OiAnU2VsZWN0IHRhZycsXG4gICAgICAgICAgICBjcmVhdGU6ICdDcmVhdGUgdGFnJyxcbiAgICAgICAgICAgIGFkZDogJ2RvZXMgbm90IGV4aXN0LiA8YnI+WW91IGNhbiBjcmVhdGUgaXQgaGVyZS4gPGJyPkl0IHdpbGwgYmUgYXV0b21hdGljYWxseSBzZWxlY3RlZCBhbmQgYWRkZWQgdG8gdGhlIHRhZyBsaXN0LidcbiAgICAgICAgICB9LFxuICAgICAgICAgIGF0dHJpYnV0ZToge1xuICAgICAgICAgICAgc2VsZWN0OiAnU2VsZWN0IGNhdGVnb3J5JyxcbiAgICAgICAgICAgIHNlYXJjaE9yQ3JlYXRlOiAnU2VhcmNoIGZvciBleGlzdGluZyBjYXRlZ29yeSBPUiBjcmVhdGUgYSBuZXcgb25lJyxcbiAgICAgICAgICAgIG5hbWU6ICdDYXRlZ29yeScsXG4gICAgICAgICAgICBzZWxlY3RJdDogJ1NlbGVjdCBjYXRlZ29yeScsXG4gICAgICAgICAgICBjcmVhdGU6ICdDcmVhdGUgY2F0ZWdvcnknLFxuICAgICAgICAgICAgYWRkOiAnZG9lcyBub3QgZXhpc3QuIDxicj5Zb3UgY2FuIGNyZWF0ZSBpdCBoZXJlLiA8YnI+SXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIGFuZCBhZGRlZCB0byB0aGUgY2F0ZWdvcnkgbGlzdC4nXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICB0b29sdGlwOiB7XG4gICAgICBkZWZhdWx0OiAnRGVmYXVsdCB0b29sdGlwJyxcbiAgICAgIGF0dHJpYnV0ZTogJ0F0dHJpYnV0ZXMgdG9vbHRpcCcsXG4gICAgICBjbHVzdGVyOiAnQ2x1c3RlciB0b29sdGlwIChncmFwaHMpJyxcbiAgICAgIGxpbms6ICdMaW5rIHRvb2x0aXAgKGdyYXBocyknLFxuICAgICAgbm9uZTogJ05vIHRvb2x0aXAnXG4gICAgfVxuICB9XG59O1xuIl19
|