bpm-core 0.0.89 → 0.0.91
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/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +3 -3
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +2 -2
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +4 -2
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +4 -9
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +4 -4
- package/fesm2022/bpm-core.mjs +12 -15
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.d.ts +1 -1
- package/lib/components/shared-components/form-field/shared-imports.d.ts +1 -1
- package/package.json +4 -4
package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs
CHANGED
|
@@ -319,7 +319,7 @@ export class RequestDetailsSectionComponent {
|
|
|
319
319
|
// searchEmployee: new FormControl(null, Validators.required),
|
|
320
320
|
// // ...newForm,
|
|
321
321
|
// attachment: new FormControl(null, Validators.required),
|
|
322
|
-
|
|
322
|
+
attachmentSection: new FormControl([], Validators.required),
|
|
323
323
|
});
|
|
324
324
|
this.lov?.['decision']?.options?.forEach(option => {
|
|
325
325
|
let isActionValid = this.checkValidity(option.value);
|
|
@@ -436,7 +436,7 @@ export class RequestDetailsSectionComponent {
|
|
|
436
436
|
this.pageSize = event.pageSize;
|
|
437
437
|
}
|
|
438
438
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, deps: [{ token: i1.CoreI18nService }, { token: i2.FormBuilder }, { token: i1.ActionStateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
439
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: RequestDetailsSectionComponent, isStandalone: true, selector: "app-request-details-section", inputs: { isReadOnly: "isReadOnly", section: "section", form: "form", lov: "lov", className: "className" }, ngImport: i0, template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" [isReadOnly]=\"false\" [required]=\"false\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n <app-datepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePicker\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n
|
|
439
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: RequestDetailsSectionComponent, isStandalone: true, selector: "app-request-details-section", inputs: { isReadOnly: "isReadOnly", section: "section", form: "form", lov: "lov", className: "className" }, ngImport: i0, template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" [isReadOnly]=\"false\" [required]=\"false\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n <app-datepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePicker\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n-->\r\n\r\n\r\n\r\n <!-- <app-table\r\n [columnsConfig]=\"columnsConfig\"\r\n [columns]=\"columns\"\r\n [isError]=\"isError\"\r\n [isLoading]=\"isLoading\"\r\n [rows]=\"categoryData\" [hasPaginator]=\"true\"\r\n [pageSize]=\"pageSize\" [currentPage]=\"pageNumber\"\r\n [totalElements]=\"totalElements\"\r\n (pageChange)=\"pageChanged($event)\"\r\n class=\"new-primary-table full\">\r\n </app-table> -->\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n\r\n </form>\r\n\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n [section]=\"section\"\r\n [form]=\"form\"\r\n [sections]=\"form.sections\"\r\n [showApprovalCycle]=\"true\"\r\n [customCall]=\"false\"\r\n [fieldsForm]=\"formGroup\"\r\n (customCallEmit)=\"customCallSubmit($event)\"\r\n (resetFormEmit)=\"resetForm()\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}.section-item{margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["floatLabel", "className", "iconPrefixName", "iconSuffixName", "emitedChangedValue1", "customErrorMessages"] }, { kind: "component", type: ActionButtonsComponent, selector: "lib-action-buttons", inputs: ["lovOptions", "lovType", "fieldsForm", "form", "section", "sections", "showApprovalCycle", "customCall"], outputs: ["resetFormEmit", "customCallEmit"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: AttachmentSectionComponent, selector: "app-attachment-section", inputs: ["className", "customDownload", "attachmentsMax", "isSortable", "downloadAll", "isRequired", "descriptionRequired", "commentsRequired", "allowedExtensions"], outputs: ["downloadActionClicked", "emitedValue"] }] });
|
|
440
440
|
}
|
|
441
441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, decorators: [{
|
|
442
442
|
type: Component,
|
|
@@ -461,7 +461,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
461
461
|
AttachmentSectionComponent,
|
|
462
462
|
TableComponent,
|
|
463
463
|
TranslatePipe
|
|
464
|
-
], template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" [isReadOnly]=\"false\" [required]=\"false\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n <app-datepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePicker\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n
|
|
464
|
+
], template: "<div>\r\n <form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n <app-input class=\"section-item full\" [isReadOnly]=\"false\" [required]=\"false\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n<!-- <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>-->\r\n <!--\r\n <app-search-employee\r\n class=\"section-item full\"\r\n [multiple]=\"true\"\r\n [arrayList]=\"formGroup.get('searchEmployee').value\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"searchEmployee\"\r\n label=\"Search-employee\"></app-search-employee>\r\n <app-input class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\"></app-input>\r\n <app-input-currency class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable\r\n class=\"section-item mb-0 full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"customSearchable\"\r\n label=\"Custom-searchable\"\r\n [options]=\"lov?.['approverActions']?.options\"\r\n [displayedLabel]=\"'name'\"\r\n [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"checkbox\"\r\n termsLabel=\"Terms and conditions\"\r\n label=\"check-box\"\r\n [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n <app-datepicker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePicker\"\r\n [matSuffix]=\"true\"\r\n label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"datePickerRange\"\r\n label=\"Date-picker-range\"\r\n [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>-->\r\n <!-- <app-toggle-button\r\n class=\"section-item full\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"toggle\"\r\n [options]=\"lov?.['decision']?.options\"\r\n label=\"Toggle-button\"\r\n [displayedLabel]=\"'description'\"\r\n [key]=\"'value'\"></app-toggle-button>-->\r\n <!--<app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n\r\n <app-file-uploader\r\n class=\"section-item full\"\r\n [callApi]=\"true\"\r\n [isReadOnly]=\"isReadOnly\"\r\n [multiple]=\"false\"\r\n label=\"attachment\"\r\n formControlName=\"attachment\"></app-file-uploader>\r\n-->\r\n\r\n\r\n\r\n <!-- <app-table\r\n [columnsConfig]=\"columnsConfig\"\r\n [columns]=\"columns\"\r\n [isError]=\"isError\"\r\n [isLoading]=\"isLoading\"\r\n [rows]=\"categoryData\" [hasPaginator]=\"true\"\r\n [pageSize]=\"pageSize\" [currentPage]=\"pageNumber\"\r\n [totalElements]=\"totalElements\"\r\n (pageChange)=\"pageChanged($event)\"\r\n class=\"new-primary-table full\">\r\n </app-table> -->\r\n <app-attachment-section\r\n class=\"section-item full\"\r\n [descriptionRequired]=\"false\"\r\n label=\"Attachment section\"\r\n [commentsRequired]=\"false\"\r\n [isReadOnly]=\"isReadOnly\"\r\n formControlName=\"attachmentSection\"></app-attachment-section>\r\n\r\n </form>\r\n\r\n\r\n</div>\r\n@if (!section?.header?.readOnly) {\r\n <div class=\"mt-4\">\r\n <lib-action-buttons\r\n [lovOptions]=\"lov?.['decision']?.options\"\r\n [lovType]=\"lov?.['decision']?.type\"\r\n [section]=\"section\"\r\n [form]=\"form\"\r\n [sections]=\"form.sections\"\r\n [showApprovalCycle]=\"true\"\r\n [customCall]=\"false\"\r\n [fieldsForm]=\"formGroup\"\r\n (customCallEmit)=\"customCallSubmit($event)\"\r\n (resetFormEmit)=\"resetForm()\"\r\n />\r\n </div>\r\n}\r\n", styles: [".form-section-divide{--form-section-columns: 1fr 1fr}@media (max-width: 756px){.form-section-divide{--form-section-columns: 100%}}.form-section-divide .full{grid-column:1/-1}.head-title{position:relative;margin-bottom:12px}.head-title h3{display:inline-block;color:#8e9aa0;font-size:14px;font-weight:500;background-color:#fff;padding-inline-end:20px;position:relative;z-index:2;margin:0}.head-title:after{content:\"\";position:absolute;width:100%;height:1px;background-color:#dee0e2;top:50%;left:0;right:0;transform:translateY(-50%);z-index:1}.chamber{margin-bottom:20px}.chamber .chamber-content{background-color:#f8f8f8;padding:20px}.chamber .chamber-content .chamber-select{display:flex}.chamber .chamber-content mat-checkbox{font-size:14px}.section-item{margin-bottom:20px}\n"] }]
|
|
465
465
|
}], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i2.FormBuilder }, { type: i1.ActionStateService }], propDecorators: { isReadOnly: [{
|
|
466
466
|
type: Input
|
|
467
467
|
}], section: [{
|
|
@@ -473,4 +473,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
473
473
|
}], className: [{
|
|
474
474
|
type: Input
|
|
475
475
|
}] } });
|
|
476
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvdGVzdENvbXBvbmVudC9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3JILE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUV4RixPQUFPLEVBQXlCLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEksT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7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QWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csR0FBRztzQkFBWCxLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgaW5qZWN0LCBJbnB1dCwgTk9fRVJST1JTX1NDSEVNQSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtGb3JtLCBTZWN0aW9ufSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQge0FjdGlvblN0YXRlU2VydmljZSwgQ29yZUkxOG5TZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHtOZ0NsYXNzfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7XHJcbiAgQWN0aW9uQnV0dG9uc0NvbXBvbmVudCxcclxuICBBdHRhY2htZW50U2VjdGlvbkNvbXBvbmVudCxcclxuICBDaGVja0JveENvbXBvbmVudCxcclxuICBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50LFxyXG4gIERhdGVQaWNrZXJDb21wb25lbnQsXHJcbiAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gIElucHV0Q29tcG9uZW50LFxyXG4gIElucHV0Q3VycmVuY3lDb21wb25lbnQsXHJcbiAgSW5wdXRFbWFpbENvbXBvbmVudCxcclxuICBJbnB1dE51bWJlckNvbXBvbmVudCxcclxuICBJbnB1dFRlbGVwaG9uZUNvbXBvbmVudCxcclxuICBSYWRpb0NvbXBvbmVudCxcclxuICBTZWFyY2hFbXBsb3llZUNvbXBvbmVudCxcclxuICBUZXh0YXJlYUNvbXBvbmVudFxyXG59IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1JlZ2V4UGF0dGVybnN9IGZyb20gJy4uLy4uL3JlZ2V4L3JlZ2V4LXBhdHRlcm5zJztcclxuaW1wb3J0IHtUb2dnbGVCdXR0b25Db21wb25lbnR9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7VGFibGVDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcclxuaW1wb3J0IHtGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7RG9jc1VwbG9hZGVyQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50c1wiO1xyXG5pbXBvcnQge1RyYW5zbGF0ZVBpcGV9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuXHJcbi8vIGltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5PX0VSUk9SU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBJbnB1dENvbXBvbmVudCxcclxuICAgIEFjdGlvbkJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQ3VzdG9tU2VhcmNoYWJsZUNvbXBvbmVudCxcclxuICAgIENoZWNrQm94Q29tcG9uZW50LFxyXG4gICAgVGV4dGFyZWFDb21wb25lbnQsXHJcbiAgICBJbnB1dEN1cnJlbmN5Q29tcG9uZW50LFxyXG4gICAgRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcclxuICAgIElucHV0RW1haWxDb21wb25lbnQsXHJcbiAgICBJbnB1dE51bWJlckNvbXBvbmVudCxcclxuICAgIFJhZGlvQ29tcG9uZW50LFxyXG4gICAgVG9nZ2xlQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgSW5wdXRUZWxlcGhvbmVDb21wb25lbnQsXHJcbiAgICBEb2NzVXBsb2FkZXJDb21wb25lbnQsXHJcbiAgICBTZWFyY2hFbXBsb3llZUNvbXBvbmVudCxcclxuICAgIEF0dGFjaG1lbnRTZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgVGFibGVDb21wb25lbnQsXHJcbiAgICBUcmFuc2xhdGVQaXBlXHJcbiAgXVxyXG59KVxyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0RGV0YWlsc1NlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBpc1JlYWRPbmx5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKSBsb3Y6IGFueTtcclxuICBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmcgPSBcImluZm8tc2VjdGlvblwiO1xyXG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIG9wdGlvbnM6IHN0cmluZ1tdID0gWydPcHRpb24gMScsICdPcHRpb24gMicsICdPcHRpb24gMyddO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9QQUdFX1NJWkUgPSAxMDtcclxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfUEFHRV9OVU1CRVIgPSAwO1xyXG4gIHBhZ2VOdW1iZXI6IG51bWJlciA9IHRoaXMuREVGQVVMVF9QQUdFX05VTUJFUjtcclxuICBwYWdlU2l6ZTogbnVtYmVyID0gdGhpcy5ERUZBVUxUX1BBR0VfU0laRTtcclxuICBjb2x1bW5zQ29uZmlnOiBhbnlbXSA9IFtdO1xyXG4gIGNvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuICByZXF1aXJlZFNlYXJjaGFibGU6IGJvb2xlYW47XHJcblxyXG4gIGlzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYXRlZ29yeURhdGEgPSBbXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJCZW5xXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAyXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJCNDAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIlNjYW5uZXJcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiNEdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhQXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAzXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJFbGl0ZUJvb2tcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjUxMkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhwXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA0XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJMYXNlclwiLFxyXG4gICAgICBcImZpbGVzXCI6IG51bGwsXHJcbiAgICAgIFwidmVuZG9yc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJpZFwiOiA3MSxcclxuICAgICAgICAgIFwidmVuZG9yTmFtZVwiOiBudWxsLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOdW1iZXJcIjogXCIyNlwiLFxyXG4gICAgICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiVmVuZG9yRHRvXCJcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIFwiY2F0ZWdvcnlcIjogbnVsbCxcclxuICAgICAgXCJhc3NldFR5cGVcIjogXCJQcmludGVyXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjJHQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogMSxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJBc3VzXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA1XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJBNTAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIkxhcHRvcFwiLFxyXG4gICAgICBcImNsYXNzaWZpY2F0aW9uc1wiOiBudWxsLFxyXG4gICAgICBcImNvbnN1bWVkQ291bnRcIjogMCxcclxuICAgICAgXCJjb25zdW1lZFBlcmNlbnRhZ2VcIjogMCxcclxuICAgICAgXCJzcGVjc1wiOiBbXHJcbiAgICAgICAgXCIxVEJcIlxyXG4gICAgICBdLFxyXG4gICAgICBcInN1bVF1YW50aXR5XCI6IDEsXHJcbiAgICAgIFwiX190eXBlbmFtZVwiOiBcIkFsbEFzc2V0c0R0b1wiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcImFzc2V0RGV2aWNlVHlwZVwiOiBudWxsLFxyXG4gICAgICBcImJyYW5kXCI6IFwiRGVsbFwiLFxyXG4gICAgICBcImNvbG9yc1wiOiBudWxsLFxyXG4gICAgICBcImFzc2V0Q29tcGFuaWVzXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0FyXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0VuXCI6IG51bGwsXHJcbiAgICAgIFwiZXN0b3JlVmlzaWJsZVwiOiBmYWxzZSxcclxuICAgICAgXCJpZFwiOiBcIjQwN1wiLFxyXG4gICAgICBcIm1vZGVsXCI6IFwiTGF0aXR1ZGVcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjFUQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogNCxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJTYW1zdW5nXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA4XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJHYWxheHlcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiVGFibGV0XCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjI1NkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgdG90YWxFbGVtZW50czogbnVtYmVyID0gNjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjdGlvblN0YXRlU2VydmljZTogQWN0aW9uU3RhdGVTZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICAgIGxldCBkYXRhID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlsc1xyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZGF0YSkge1xyXG4gICAgICBpZiAoa2V5ICE9PSAnZGVjaXNpb24nKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAucGF0Y2hWYWx1ZSh7W2tleV06IGRhdGFba2V5XX0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyB0aGlzLmluaXRpYWxpemVUYWJsZUNvbmZpZygpXHJcbiAgICAvKiAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2NoZWNrYm94JykudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShyZXM9PiB7XHJcbiAgICAgICAgICBpZiAocmVzKXtcclxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXN0b21TZWFyY2hhYmxlJykuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVkU2VhcmNoYWJsZSA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMucmVxdWlyZWRTZWFyY2hhYmxlKVxyXG4gICAgICAgICAgIH1lbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXN0b21TZWFyY2hhYmxlJykuY2xlYXJWYWxpZGF0b3JzKCk7XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWRTZWFyY2hhYmxlID0gZmFsc2VcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5yZXF1aXJlZFNlYXJjaGFibGUpXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY3VzdG9tU2VhcmNoYWJsZScpLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuXHJcbiAgICAgICAgfSkqL1xyXG4gIH1cclxuXHJcblxyXG4gIGluaXRpYWxpemVUYWJsZUNvbmZpZygpIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbHVtbnMoKVxyXG4gICAgdGhpcy5pbml0aWFsaXplQ29sdW1uQ29uZmlnKClcclxuXHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ29sdW1ucygpIHtcclxuICAgIHRoaXMuY29sdW1ucyA9IFsnaWQnLCAnYXNzZXRUeXBlJywgJ2JyYW5kJywgJ21vZGVsJywgJ3N1bVF1YW50aXR5JywgJ3NwZWNzJywgJ2FsbG9jYXRlJ107XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ29sdW1uQ29uZmlnKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zQ29uZmlnID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdJZCcsXHJcbiAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdBc3NldCBUeXBlJyxcclxuICAgICAgICB0eXBlOiAndGV4dCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0JyYW5kJyxcclxuICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnTW9kZWwnLFxyXG4gICAgICAgIHR5cGU6ICd0ZXh0J1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdRdWFudGl0eScsXHJcbiAgICAgICAgdHlwZTogJ2Zvcm1JZCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnQ2FwYWNpdHknLFxyXG4gICAgICAgIHR5cGU6ICdzcGVjcycsXHJcbiAgICAgICAgY2xpY2thYmxlVGV4dDogJ1ZpZXcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0FjdGlvbnMnLFxyXG4gICAgICAgIHR5cGU6ICdhY3Rpb25zJyxcclxuICAgICAgICBhY3Rpb25zOiBbXHJcbiAgICAgICAgICB7dmlld01vZGU6ICdhbGxvY2F0ZScsIGFjdGlvbk5hbWU6IFwiQWxsb2NhdGVcIiwgZGlzYWJsZWQ6IHRydWV9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2aWV3TW9kZTogJ2VkaXQnLCBhY3Rpb25OYW1lOiBcIkVkaXRcIiwgYWN0aW9uOiBcImVkaXRcIiwgb25DbGljazogKGFzc2V0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmVkaXRBc3NldChhc3NldCk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2aWV3TW9kZTogJ2RlbGV0ZScsIGFjdGlvbk5hbWU6IFwiRGVsZXRlXCIsIGFjdGlvbjogXCJkZWxldGVcIiwgb25DbGljazogKGFzc2V0OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUFzc2V0KGFzc2V0KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7dmlld01vZGU6ICdjaGFydCcsIGFjdGlvbk5hbWU6IFwiQ2hhcnRcIiwgYWN0aW9uOiBcImNoYXJ0XCJ9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuXHJcbiAgY3JlYXRlRm9ybSgpIHtcclxuICAgIGxldCBuZXdGb3JtID0ge1xyXG4gICAgICBpbnB1dDE6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cclxuICAgIH07XHJcbiAgICB0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgIG5ld0Zvcm1bb3B0aW9uLnZhbHVlXSA9IFsnJ107XHJcbiAgICB9KVxyXG4gICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgaW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICAvLyBjdXJyZW5jeUlucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIGVtYWlsSW5wdXQ6IG5ldyBGb3JtQ29udHJvbCh7dmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlfSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIG51bWJlcklucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIGN1c3RvbVNlYXJjaGFibGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gY2hlY2tib3g6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgICAgLy8gdGV4dEFyZWE6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNSldKSxcclxuICAgICAgLy8gZGF0ZVBpY2tlcjogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyBkYXRlUGlja2VyUmFuZ2U6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gcmFkaW86IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gdG9nZ2xlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIHRlbGVwaG9uZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyBzZWFyY2hFbXBsb3llZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyAvLyAuLi5uZXdGb3JtLFxyXG4gICAgICAvLyBhdHRhY2htZW50OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIGF0dGFjaG1lbnRTZWN0aW9uOiBuZXcgRm9ybUNvbnRyb2woW10sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgICAgIHRoaXMuYWN0aW9uU3RhdGVTZXJ2aWNlLnNldEFjdGlvblZhbGlkKG9wdGlvbi52YWx1ZSwgaXNBY3Rpb25WYWxpZCk7XHJcbiAgICAgIGNvbnNvbGUubG9nKGlzQWN0aW9uVmFsaWQpXHJcblxyXG4gICAgfSlcclxuXHJcblxyXG4gICAgLy8gdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIC8vICAgaW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgY3VycmVuY3lJbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBlbWFpbElucHV0OiBuZXcgRm9ybUNvbnRyb2woe3ZhbHVlOiBudWxsLGRpc2FibGVkOiB0cnVlfSksXHJcbiAgICAvLyAgIG51bWJlcklucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIGN1c3RvbVNlYXJjaGFibGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgY2hlY2tib3g6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgdGV4dEFyZWE6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgZGF0ZVBpY2tlcjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBkYXRlUGlja2VyUmFuZ2U6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgcmFkaW86IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgdG9nZ2xlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIHRlbGVwaG9uZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBzZWFyY2hFbXBsb3llZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICAvLyAuLi5uZXdGb3JtLFxyXG4gICAgLy8gICBhdHRhY2htZW50OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIGF0dGFjaG1lbnRTZWN0aW9uOiBuZXcgRm9ybUNvbnRyb2woW10pLFxyXG4gICAgLy8gfSk7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzKTtcclxuICAgIC8vICAgY29uc29sZS5sb2codGhpcy5zZWN0aW9uLmJvZHkuZGV0aWxzKTtcclxuICAgIC8vICAgY29uc29sZS5sb2codGhpcy5sb3Y/LlsnYXBwcm92ZXJBY3Rpb25zJ10/Lm9wdGlvbnMpXHJcbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAgICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gICAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgLy8gICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAvLyAgICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gIC8vICAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgLy8gICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzID0gdGhpcy5mb3JtR3JvdXAudmFsdWVcclxuICAvLyAgICAgICAgLyEqe1xyXG4gIC8vICAgICAgICAgaW5wdXQxOiB0aGlzLmZpZWxkc0Zvcm0uZ2V0KCdpbnB1dDEnKS52YWx1ZVxyXG4gIC8vICAgICAgIH0qIS9cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG4gIC8vICAgY3JlYXRlRm9ybSgpIHtcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgLy8gICAgIGN1c3RvbWVyTmFtZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgLy8gICAgIGN1c3RvbWVyUGhvbmU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICByZWFzb25Gb3JSZXF1ZXN0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAvLyAgICAgY2FsbFR5cGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBjZW50ZXJPZkNhbGxzOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAvLyAgICAgY2FsbERhdGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBhZ3JlZW1lbnQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV0pLFxyXG4gIC8vICAgfSk7XHJcbiAgLy8gICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAvLyAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcclxuICAvLyAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAvLyAgICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gIC8vICAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgLy8gICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzID0gdGhpcy5mb3JtR3JvdXAudmFsdWVcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmN1c3RvbWVyUGhvbmUgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmN1c3RvbWVyUGhvbmU/LmUxNjROdW1iZXJcclxuICAvLyAgICAgICAvLyB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmFncmVlbWVudCA9ICh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmFncmVlbWVudCkudG9TdHJpbmcoKVxyXG5cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zKVxyXG4gIC8vICAgY29uc29sZS5sb2codGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscylcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMpO1xyXG4gIC8vICAgY29uc29sZS5sb2coJ2N1c3RvbUNhbGxTdWJtaXQnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSlcclxuICAvLyB9XHJcblxyXG4gIGVkaXRBc3NldChhc3NldCkge1xyXG4gICAgY29uc29sZS5sb2coYXNzZXQpXHJcbiAgfVxyXG5cclxuICBzdGFydHNXaXRoRE1PRU9yQ1IoKTogVmFsaWRhdG9yRm4ge1xyXG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcbiAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcclxuICAgICAgaWYgKHZhbHVlICYmICh2YWx1ZS5zdGFydHNXaXRoKCdETU9FLScpIHx8IHZhbHVlLnN0YXJ0c1dpdGgoJ0NSLScpKSkge1xyXG4gICAgICAgIHJldHVybiBudWxsOyAvLyBWYWxpZFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB7c3RhcnRzV2l0aEludmFsaWQ6IHRydWV9OyAvLyBJbnZhbGlkXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlQXNzZXQoYXNzZXQpIHtcclxuICAgIGNvbnNvbGUubG9nKGFzc2V0KVxyXG4gIH1cclxuXHJcbiAgZm9ybVZhbHVlKGZvcm0pIHtcclxuICAgIGNvbnNvbGUubG9nKGZvcm0udmFsdWUpXHJcbiAgfVxyXG5cclxuICBjaGVja1ZhbGlkaXR5KGFjdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xyXG4gICAgICBjYXNlICdTVUJNSVQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC52YWxpZDtcclxuICAgICAgY2FzZSAnQVBQUk9WRSc6XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGNhc2UgJ1JFSkVDVCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBjYXNlICdTRU5EQkFDSyc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBjYXNlICdTQVZFX0NIQU5HRVMnOlxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjdXN0b21DYWxsU3VibWl0KGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zb2xlLmxvZygnY3VzdG9tQ2FsbFN1Ym1pdCcsIGFjdGlvbilcclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybSgpIHtcclxuICAgIHRoaXMuYWN0aW9uU3RhdGVTZXJ2aWNlLnJlc2V0QWN0aW9uJC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwYWdlQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2VOdW1iZXIgPSBldmVudC5wYWdlSW5kZXhcclxuICAgIHRoaXMucGFnZVNpemUgPSBldmVudC5wYWdlU2l6ZVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuICA8Zm9ybSBbbmdDbGFzc109XCJ7J2Zvcm0tc2VjdGlvbi1kaXZpZGUgZm9ybS1zZWN0aW9uJzohc2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seSwnaW5mby1zZWN0aW9uJzpzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5fVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XHJcbiAgICA8YXBwLWlucHV0IGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJmYWxzZVwiIFtyZXF1aXJlZF09XCJmYWxzZVwiIFtsb2FkaW5nXT1cInRydWVcIiB0eXBlPVwiZW5Pbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5wdXRcIiBsYWJlbD1cIklucHV0XCI+PC9hcHAtaW5wdXQ+XHJcbjwhLS0gPGFwcC1jaGVja2JveFxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImNoZWNrYm94XCJcclxuICAgICAgdGVybXNMYWJlbD1cIlRlcm1zIGFuZCBjb25kaXRpb25zXCJcclxuICAgICAgbGFiZWw9XCJjaGVjay1ib3hcIlxyXG4gICAgICBbY29udGFpblRlcm1zXT1cInRydWVcIj48L2FwcC1jaGVja2JveD4tLT5cclxuICAgIDwhLS1cclxuICAgIDxhcHAtc2VhcmNoLWVtcGxveWVlXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiXHJcbiAgICAgIFthcnJheUxpc3RdPVwiZm9ybUdyb3VwLmdldCgnc2VhcmNoRW1wbG95ZWUnKS52YWx1ZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hFbXBsb3llZVwiXHJcbiAgICAgIGxhYmVsPVwiU2VhcmNoLWVtcGxveWVlXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVlPlxyXG4gICAgPGFwcC1pbnB1dCBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIFtsb2FkaW5nXT1cInRydWVcIiB0eXBlPVwiZW5Pbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5wdXRcIiBsYWJlbD1cIklucHV0XCI+PC9hcHAtaW5wdXQ+XHJcbiAgICA8YXBwLWlucHV0LWN1cnJlbmN5IGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVuY3lJbnB1dFwiIGxhYmVsPVwiY3VycmVuY3lcIj48L2FwcC1pbnB1dC1jdXJyZW5jeT5cclxuICAgIDxhcHAtaW5wdXQtZW1haWwgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbElucHV0XCIgbGFiZWw9XCJlbWFpbFwiPjwvYXBwLWlucHV0LWVtYWlsPlxyXG4gICAgPGFwcC1pbnB1dC1udW1iZXIgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJudW1iZXJJbnB1dFwiIGxhYmVsPVwibnVtYmVyXCI+PC9hcHAtaW5wdXQtbnVtYmVyPlxyXG4gICAgPGFwcC1jdXN0b20tc2VhcmNoYWJsZVxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBtYi0wIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY3VzdG9tU2VhcmNoYWJsZVwiXHJcbiAgICAgIGxhYmVsPVwiQ3VzdG9tLXNlYXJjaGFibGVcIlxyXG4gICAgICBbb3B0aW9uc109XCJsb3Y/LlsnYXBwcm92ZXJBY3Rpb25zJ10/Lm9wdGlvbnNcIlxyXG4gICAgICBbZGlzcGxheWVkTGFiZWxdPVwiJ25hbWUnXCJcclxuICAgICAgW2tleV09XCInbmFtZSdcIj48L2FwcC1jdXN0b20tc2VhcmNoYWJsZT5cclxuICAgIDxhcHAtY2hlY2tib3hcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJjaGVja2JveFwiXHJcbiAgICAgIHRlcm1zTGFiZWw9XCJUZXJtcyBhbmQgY29uZGl0aW9uc1wiXHJcbiAgICAgIGxhYmVsPVwiY2hlY2stYm94XCJcclxuICAgICAgW2NvbnRhaW5UZXJtc109XCJ0cnVlXCI+PC9hcHAtY2hlY2tib3g+XHJcbiAgICA8YXBwLXRleHRhcmVhIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwidGV4dEFyZWFcIiBsYWJlbD1cIlRleHQtYXJlYVwiPjwvYXBwLXRleHRhcmVhPlxyXG4gICAgPGFwcC1kYXRlcGlja2VyXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVBpY2tlclwiXHJcbiAgICAgIFttYXRTdWZmaXhdPVwidHJ1ZVwiXHJcbiAgICAgIGxhYmVsPVwiRGF0ZS1waWNrZXJcIj48L2FwcC1kYXRlcGlja2VyPlxyXG4gICAgPGFwcC1kYXRlLXJhbmdlLXBpY2tlclxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGVQaWNrZXJSYW5nZVwiXHJcbiAgICAgIGxhYmVsPVwiRGF0ZS1waWNrZXItcmFuZ2VcIlxyXG4gICAgICBbbWF0U3VmZml4XT1cInRydWVcIj48L2FwcC1kYXRlLXJhbmdlLXBpY2tlcj5cclxuICAgIDxhcHAtcmFkaW8gY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJyYWRpb1wiIFtvcHRpb25zXT1cIm9wdGlvbnNcIiBsYWJlbD1cIlJhZGlvXCI+PC9hcHAtcmFkaW8+LS0+XHJcbiAgIDwhLS0gPGFwcC10b2dnbGUtYnV0dG9uXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidG9nZ2xlXCJcclxuICAgICAgW29wdGlvbnNdPVwibG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnNcIlxyXG4gICAgICBsYWJlbD1cIlRvZ2dsZS1idXR0b25cIlxyXG4gICAgICBbZGlzcGxheWVkTGFiZWxdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgIFtrZXldPVwiJ3ZhbHVlJ1wiPjwvYXBwLXRvZ2dsZS1idXR0b24+LS0+XHJcbiAgICA8IS0tPGFwcC1pbnB1dC10ZWxlcGhvbmUgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZWxlcGhvbmVcIiBsYWJlbD1cIlRlbGVwaG9uZVwiPjwvYXBwLWlucHV0LXRlbGVwaG9uZT5cclxuXHJcbiAgICA8YXBwLWZpbGUtdXBsb2FkZXJcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFtjYWxsQXBpXT1cInRydWVcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgW211bHRpcGxlXT1cImZhbHNlXCJcclxuICAgICAgbGFiZWw9XCJhdHRhY2htZW50XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYXR0YWNobWVudFwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+XHJcbiAgICA8YXBwLWF0dGFjaG1lbnQtc2VjdGlvblxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2Rlc2NyaXB0aW9uUmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICBsYWJlbD1cIkF0dGFjaG1lbnQgc2VjdGlvblwiXHJcbiAgICAgIFtjb21tZW50c1JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImF0dGFjaG1lbnRTZWN0aW9uXCI+PC9hcHAtYXR0YWNobWVudC1zZWN0aW9uPlxyXG4tLT5cclxuXHJcblxyXG4gICAgPCEtLSA8YXBwLXRhYmxlXHJcbiAgICBbY29sdW1uc0NvbmZpZ109XCJjb2x1bW5zQ29uZmlnXCJcclxuICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgW2lzRXJyb3JdPVwiaXNFcnJvclwiXHJcbiAgICBbaXNMb2FkaW5nXT1cImlzTG9hZGluZ1wiXHJcbiAgICBbcm93c109XCJjYXRlZ29yeURhdGFcIiBbaGFzUGFnaW5hdG9yXT1cInRydWVcIlxyXG4gICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cInBhZ2VOdW1iZXJcIlxyXG4gICAgW3RvdGFsRWxlbWVudHNdPVwidG90YWxFbGVtZW50c1wiXHJcbiAgICAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgIGNsYXNzPVwibmV3LXByaW1hcnktdGFibGUgZnVsbFwiPlxyXG4gICAgPC9hcHAtdGFibGU+IC0tPlxyXG5cclxuXHJcbiAgPC9mb3JtPlxyXG5cclxuXHJcbjwvZGl2PlxyXG5AaWYgKCFzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5KSB7XHJcbiAgPGRpdiBjbGFzcz1cIm10LTRcIj5cclxuICAgIDxsaWItYWN0aW9uLWJ1dHRvbnNcclxuICAgICAgW2xvdk9wdGlvbnNdPVwibG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnNcIlxyXG4gICAgICBbbG92VHlwZV09XCJsb3Y/LlsnZGVjaXNpb24nXT8udHlwZVwiXHJcbiAgICAgIFtzZWN0aW9uXT1cInNlY3Rpb25cIlxyXG4gICAgICBbZm9ybV09XCJmb3JtXCJcclxuICAgICAgW3NlY3Rpb25zXT1cImZvcm0uc2VjdGlvbnNcIlxyXG4gICAgICBbc2hvd0FwcHJvdmFsQ3ljbGVdPVwidHJ1ZVwiXHJcbiAgICAgIFtjdXN0b21DYWxsXT1cImZhbHNlXCJcclxuICAgICAgW2ZpZWxkc0Zvcm1dPVwiZm9ybUdyb3VwXCJcclxuICAgICAgKGN1c3RvbUNhbGxFbWl0KT1cImN1c3RvbUNhbGxTdWJtaXQoJGV2ZW50KVwiXHJcbiAgICAgIChyZXNldEZvcm1FbWl0KT1cInJlc2V0Rm9ybSgpXCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19
|
|
476
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvdGVzdENvbXBvbmVudC9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3JILE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUV4RixPQUFPLEVBQXlCLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEksT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7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QkFDMUIsY0FBYzt3QkFDZCxhQUFhO3FCQUNkOytJQU1RLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0LCBOT19FUlJPUlNfU0NIRU1BLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm0sIFNlY3Rpb259IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7QWN0aW9uU3RhdGVTZXJ2aWNlLCBDb3JlSTE4blNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge05nQ2xhc3N9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtcclxuICBBY3Rpb25CdXR0b25zQ29tcG9uZW50LFxyXG4gIEF0dGFjaG1lbnRTZWN0aW9uQ29tcG9uZW50LFxyXG4gIENoZWNrQm94Q29tcG9uZW50LFxyXG4gIEN1c3RvbVNlYXJjaGFibGVDb21wb25lbnQsXHJcbiAgRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXHJcbiAgSW5wdXRDb21wb25lbnQsXHJcbiAgSW5wdXRDdXJyZW5jeUNvbXBvbmVudCxcclxuICBJbnB1dEVtYWlsQ29tcG9uZW50LFxyXG4gIElucHV0TnVtYmVyQ29tcG9uZW50LFxyXG4gIElucHV0VGVsZXBob25lQ29tcG9uZW50LFxyXG4gIFJhZGlvQ29tcG9uZW50LFxyXG4gIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LFxyXG4gIFRleHRhcmVhQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7UmVnZXhQYXR0ZXJuc30gZnJvbSAnLi4vLi4vcmVnZXgvcmVnZXgtcGF0dGVybnMnO1xyXG5pbXBvcnQge1RvZ2dsZUJ1dHRvbkNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHNcIjtcclxuaW1wb3J0IHtUYWJsZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge3Rha2VVbnRpbERlc3Ryb3llZH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5pbXBvcnQge0Zvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHtEb2NzVXBsb2FkZXJDb21wb25lbnR9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSAnLi4vLi4vcGlwZXMvdHJhbnNsYXRlLnBpcGUnO1xyXG5cclxuLy8gaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIElucHV0Q29tcG9uZW50LFxyXG4gICAgQWN0aW9uQnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50LFxyXG4gICAgQ2hlY2tCb3hDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIElucHV0Q3VycmVuY3lDb21wb25lbnQsXHJcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgSW5wdXRFbWFpbENvbXBvbmVudCxcclxuICAgIElucHV0TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgUmFkaW9Db21wb25lbnQsXHJcbiAgICBUb2dnbGVCdXR0b25Db21wb25lbnQsXHJcbiAgICBJbnB1dFRlbGVwaG9uZUNvbXBvbmVudCxcclxuICAgIERvY3NVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudFNlY3Rpb25Db21wb25lbnQsXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZVBpcGVcclxuICBdXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcXVlc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGlzUmVhZE9ubHk6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIEBJbnB1dCgpIGxvdjogYW55O1xyXG4gIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBjbGFzc05hbWU6IHN0cmluZyA9IFwiaW5mby1zZWN0aW9uXCI7XHJcbiAgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XHJcbiAgb3B0aW9uczogc3RyaW5nW10gPSBbJ09wdGlvbiAxJywgJ09wdGlvbiAyJywgJ09wdGlvbiAzJ107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX1BBR0VfU0laRSA9IDEwO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgREVGQVVMVF9QQUdFX05VTUJFUiA9IDA7XHJcbiAgcGFnZU51bWJlcjogbnVtYmVyID0gdGhpcy5ERUZBVUxUX1BBR0VfTlVNQkVSO1xyXG4gIHBhZ2VTaXplOiBudW1iZXIgPSB0aGlzLkRFRkFVTFRfUEFHRV9TSVpFO1xyXG4gIGNvbHVtbnNDb25maWc6IGFueVtdID0gW107XHJcbiAgY29sdW1uczogc3RyaW5nW10gPSBbXTtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG4gIHJlcXVpcmVkU2VhcmNoYWJsZTogYm9vbGVhbjtcclxuXHJcbiAgaXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNhdGVnb3J5RGF0YSA9IFtcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkJlbnFcIixcclxuICAgICAgXCJjb2xvcnNcIjogbnVsbCxcclxuICAgICAgXCJhc3NldENvbXBhbmllc1wiOiBudWxsLFxyXG4gICAgICBcImRlc2NBclwiOiBudWxsLFxyXG4gICAgICBcImRlc2NFblwiOiBudWxsLFxyXG4gICAgICBcImVzdG9yZVZpc2libGVcIjogZmFsc2UsXHJcbiAgICAgIFwiaWRcIjogXCI0MDJcIixcclxuICAgICAgXCJtb2RlbFwiOiBcIkI0MDBcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiU2Nhbm5lclwiLFxyXG4gICAgICBcImNsYXNzaWZpY2F0aW9uc1wiOiBudWxsLFxyXG4gICAgICBcImNvbnN1bWVkQ291bnRcIjogMCxcclxuICAgICAgXCJjb25zdW1lZFBlcmNlbnRhZ2VcIjogMCxcclxuICAgICAgXCJzcGVjc1wiOiBbXHJcbiAgICAgICAgXCI0R0JcIlxyXG4gICAgICBdLFxyXG4gICAgICBcInN1bVF1YW50aXR5XCI6IDEsXHJcbiAgICAgIFwiX190eXBlbmFtZVwiOiBcIkFsbEFzc2V0c0R0b1wiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcImFzc2V0RGV2aWNlVHlwZVwiOiBudWxsLFxyXG4gICAgICBcImJyYW5kXCI6IFwiSFBcIixcclxuICAgICAgXCJjb2xvcnNcIjogbnVsbCxcclxuICAgICAgXCJhc3NldENvbXBhbmllc1wiOiBudWxsLFxyXG4gICAgICBcImRlc2NBclwiOiBudWxsLFxyXG4gICAgICBcImRlc2NFblwiOiBudWxsLFxyXG4gICAgICBcImVzdG9yZVZpc2libGVcIjogZmFsc2UsXHJcbiAgICAgIFwiaWRcIjogXCI0MDNcIixcclxuICAgICAgXCJtb2RlbFwiOiBcIkVsaXRlQm9va1wiLFxyXG4gICAgICBcImZpbGVzXCI6IG51bGwsXHJcbiAgICAgIFwidmVuZG9yc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJpZFwiOiA3MSxcclxuICAgICAgICAgIFwidmVuZG9yTmFtZVwiOiBudWxsLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOdW1iZXJcIjogXCIyNlwiLFxyXG4gICAgICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiVmVuZG9yRHRvXCJcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIFwiY2F0ZWdvcnlcIjogbnVsbCxcclxuICAgICAgXCJhc3NldFR5cGVcIjogXCJMYXB0b3BcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiNTEyR0JcIlxyXG4gICAgICBdLFxyXG4gICAgICBcInN1bVF1YW50aXR5XCI6IDEsXHJcbiAgICAgIFwiX190eXBlbmFtZVwiOiBcIkFsbEFzc2V0c0R0b1wiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcImFzc2V0RGV2aWNlVHlwZVwiOiBudWxsLFxyXG4gICAgICBcImJyYW5kXCI6IFwiSHBcIixcclxuICAgICAgXCJjb2xvcnNcIjogbnVsbCxcclxuICAgICAgXCJhc3NldENvbXBhbmllc1wiOiBudWxsLFxyXG4gICAgICBcImRlc2NBclwiOiBudWxsLFxyXG4gICAgICBcImRlc2NFblwiOiBudWxsLFxyXG4gICAgICBcImVzdG9yZVZpc2libGVcIjogZmFsc2UsXHJcbiAgICAgIFwiaWRcIjogXCI0MDRcIixcclxuICAgICAgXCJtb2RlbFwiOiBcIkxhc2VyXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIlByaW50ZXJcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiMkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkFzdXNcIixcclxuICAgICAgXCJjb2xvcnNcIjogbnVsbCxcclxuICAgICAgXCJhc3NldENvbXBhbmllc1wiOiBudWxsLFxyXG4gICAgICBcImRlc2NBclwiOiBudWxsLFxyXG4gICAgICBcImRlc2NFblwiOiBudWxsLFxyXG4gICAgICBcImVzdG9yZVZpc2libGVcIjogZmFsc2UsXHJcbiAgICAgIFwiaWRcIjogXCI0MDVcIixcclxuICAgICAgXCJtb2RlbFwiOiBcIkE1MDBcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjFUQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogMSxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJEZWxsXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA3XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJMYXRpdHVkZVwiLFxyXG4gICAgICBcImZpbGVzXCI6IG51bGwsXHJcbiAgICAgIFwidmVuZG9yc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJpZFwiOiA3MSxcclxuICAgICAgICAgIFwidmVuZG9yTmFtZVwiOiBudWxsLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOdW1iZXJcIjogXCIyNlwiLFxyXG4gICAgICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiVmVuZG9yRHRvXCJcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIFwiY2F0ZWdvcnlcIjogbnVsbCxcclxuICAgICAgXCJhc3NldFR5cGVcIjogXCJMYXB0b3BcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiMVRCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiA0LFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIlNhbXN1bmdcIixcclxuICAgICAgXCJjb2xvcnNcIjogbnVsbCxcclxuICAgICAgXCJhc3NldENvbXBhbmllc1wiOiBudWxsLFxyXG4gICAgICBcImRlc2NBclwiOiBudWxsLFxyXG4gICAgICBcImRlc2NFblwiOiBudWxsLFxyXG4gICAgICBcImVzdG9yZVZpc2libGVcIjogZmFsc2UsXHJcbiAgICAgIFwiaWRcIjogXCI0MDhcIixcclxuICAgICAgXCJtb2RlbFwiOiBcIkdhbGF4eVwiLFxyXG4gICAgICBcImZpbGVzXCI6IG51bGwsXHJcbiAgICAgIFwidmVuZG9yc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJpZFwiOiA3MSxcclxuICAgICAgICAgIFwidmVuZG9yTmFtZVwiOiBudWxsLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOdW1iZXJcIjogXCIyNlwiLFxyXG4gICAgICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiVmVuZG9yRHRvXCJcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIFwiY2F0ZWdvcnlcIjogbnVsbCxcclxuICAgICAgXCJhc3NldFR5cGVcIjogXCJUYWJsZXRcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiMjU2R0JcIlxyXG4gICAgICBdLFxyXG4gICAgICBcInN1bVF1YW50aXR5XCI6IDEsXHJcbiAgICAgIFwiX190eXBlbmFtZVwiOiBcIkFsbEFzc2V0c0R0b1wiXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICB0b3RhbEVsZW1lbnRzOiBudW1iZXIgPSA2O1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSwgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgYWN0aW9uU3RhdGVTZXJ2aWNlOiBBY3Rpb25TdGF0ZVNlcnZpY2UpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuY3JlYXRlRm9ybSgpO1xyXG4gICAgbGV0IGRhdGEgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzXHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhKSB7XHJcbiAgICAgIGlmIChrZXkgIT09ICdkZWNpc2lvbicpIHtcclxuICAgICAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKHtba2V5XTogZGF0YVtrZXldfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIHRoaXMuaW5pdGlhbGl6ZVRhYmxlQ29uZmlnKClcclxuICAgIC8qICAgIHRoaXMuZm9ybUdyb3VwLmdldCgnY2hlY2tib3gnKS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHJlcz0+IHtcclxuICAgICAgICAgIGlmIChyZXMpe1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1c3RvbVNlYXJjaGFibGUnKS5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWRTZWFyY2hhYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5yZXF1aXJlZFNlYXJjaGFibGUpXHJcbiAgICAgICAgICAgfWVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2N1c3RvbVNlYXJjaGFibGUnKS5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgICAgICAgICAgdGhpcy5yZXF1aXJlZFNlYXJjaGFibGUgPSBmYWxzZVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnJlcXVpcmVkU2VhcmNoYWJsZSlcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KCdjdXN0b21TZWFyY2hhYmxlJykudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG5cclxuICAgICAgICB9KSovXHJcbiAgfVxyXG5cclxuXHJcbiAgaW5pdGlhbGl6ZVRhYmxlQ29uZmlnKCkge1xyXG4gICAgdGhpcy5pbml0aWFsaXplQ29sdW1ucygpXHJcbiAgICB0aGlzLmluaXRpYWxpemVDb2x1bW5Db25maWcoKVxyXG5cclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gWydpZCcsICdhc3NldFR5cGUnLCAnYnJhbmQnLCAnbW9kZWwnLCAnc3VtUXVhbnRpdHknLCAnc3BlY3MnLCAnYWxsb2NhdGUnXTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVDb2x1bW5Db25maWcoKSB7XHJcbiAgICB0aGlzLmNvbHVtbnNDb25maWcgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0lkJyxcclxuICAgICAgICB0eXBlOiAndGV4dCcsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0Fzc2V0IFR5cGUnLFxyXG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnQnJhbmQnLFxyXG4gICAgICAgIHR5cGU6ICd0ZXh0J1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdNb2RlbCcsXHJcbiAgICAgICAgdHlwZTogJ3RleHQnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ1F1YW50aXR5JyxcclxuICAgICAgICB0eXBlOiAnZm9ybUlkJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdDYXBhY2l0eScsXHJcbiAgICAgICAgdHlwZTogJ3NwZWNzJyxcclxuICAgICAgICBjbGlja2FibGVUZXh0OiAnVmlldydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGxhYmVsOiAnQWN0aW9ucycsXHJcbiAgICAgICAgdHlwZTogJ2FjdGlvbnMnLFxyXG4gICAgICAgIGFjdGlvbnM6IFtcclxuICAgICAgICAgIHt2aWV3TW9kZTogJ2FsbG9jYXRlJywgYWN0aW9uTmFtZTogXCJBbGxvY2F0ZVwiLCBkaXNhYmxlZDogdHJ1ZX0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZpZXdNb2RlOiAnZWRpdCcsIGFjdGlvbk5hbWU6IFwiRWRpdFwiLCBhY3Rpb246IFwiZWRpdFwiLCBvbkNsaWNrOiAoYXNzZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZWRpdEFzc2V0KGFzc2V0KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHZpZXdNb2RlOiAnZGVsZXRlJywgYWN0aW9uTmFtZTogXCJEZWxldGVcIiwgYWN0aW9uOiBcImRlbGV0ZVwiLCBvbkNsaWNrOiAoYXNzZXQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuZGVsZXRlQXNzZXQoYXNzZXQpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHt2aWV3TW9kZTogJ2NoYXJ0JywgYWN0aW9uTmFtZTogXCJDaGFydFwiLCBhY3Rpb246IFwiY2hhcnRcIn0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgXTtcclxuICB9XHJcblxyXG5cclxuICBjcmVhdGVGb3JtKCkge1xyXG4gICAgbGV0IG5ld0Zvcm0gPSB7XHJcbiAgICAgIGlucHV0MTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgfTtcclxuICAgIHRoaXMubG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnM/LmZvckVhY2gob3B0aW9uID0+IHtcclxuICAgICAgbmV3Rm9ybVtvcHRpb24udmFsdWVdID0gWycnXTtcclxuICAgIH0pXHJcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBpbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgIC8vIGN1cnJlbmN5SW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gZW1haWxJbnB1dDogbmV3IEZvcm1Db250cm9sKHt2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWV9LCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gbnVtYmVySW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gY3VzdG9tU2VhcmNoYWJsZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICAvLyB0ZXh0QXJlYTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1heExlbmd0aCg1KV0pLFxyXG4gICAgICAvLyBkYXRlUGlja2VyOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIGRhdGVQaWNrZXJSYW5nZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyByYWRpbzogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyB0b2dnbGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgLy8gdGVsZXBob25lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIHNlYXJjaEVtcGxveWVlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIC8vIC8vIC4uLm5ld0Zvcm0sXHJcbiAgICAgIC8vIGF0dGFjaG1lbnQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgYXR0YWNobWVudFNlY3Rpb246IG5ldyBGb3JtQ29udHJvbChbXSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICB9KTtcclxuICAgIHRoaXMubG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnM/LmZvckVhY2gob3B0aW9uID0+IHtcclxuICAgICAgbGV0IGlzQWN0aW9uVmFsaWQgPSB0aGlzLmNoZWNrVmFsaWRpdHkob3B0aW9uLnZhbHVlKTtcclxuICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuICAgICAgY29uc29sZS5sb2coaXNBY3Rpb25WYWxpZClcclxuXHJcbiAgICB9KVxyXG5cclxuXHJcbiAgICAvLyB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgLy8gICBpbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBjdXJyZW5jeUlucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIGVtYWlsSW5wdXQ6IG5ldyBGb3JtQ29udHJvbCh7dmFsdWU6IG51bGwsZGlzYWJsZWQ6IHRydWV9KSxcclxuICAgIC8vICAgbnVtYmVySW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgY3VzdG9tU2VhcmNoYWJsZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICB0ZXh0QXJlYTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICBkYXRlUGlja2VyOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIGRhdGVQaWNrZXJSYW5nZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICByYWRpbzogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgLy8gICB0b2dnbGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgdGVsZXBob25lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIHNlYXJjaEVtcGxveWVlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICAvLyAgIC8vIC4uLm5ld0Zvcm0sXHJcbiAgICAvLyAgIGF0dGFjaG1lbnQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAgIC8vICAgYXR0YWNobWVudFNlY3Rpb246IG5ldyBGb3JtQ29udHJvbChbXSksXHJcbiAgICAvLyB9KTtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMpO1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh0aGlzLnNlY3Rpb24uYm9keS5kZXRpbHMpO1xyXG4gICAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmxvdj8uWydhcHByb3ZlckFjdGlvbnMnXT8ub3B0aW9ucylcclxuICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgICAgICAgbGV0IGlzQWN0aW9uVmFsaWQgPSB0aGlzLmNoZWNrVmFsaWRpdHkob3B0aW9uLnZhbHVlKTtcclxuICAgICAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5zZXRBY3Rpb25WYWxpZChvcHRpb24udmFsdWUsIGlzQWN0aW9uVmFsaWQpO1xyXG5cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gIC8vICAgICB0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgLy8gICAgICAgbGV0IGlzQWN0aW9uVmFsaWQgPSB0aGlzLmNoZWNrVmFsaWRpdHkob3B0aW9uLnZhbHVlKTtcclxuICAvLyAgICAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5zZXRBY3Rpb25WYWxpZChvcHRpb24udmFsdWUsIGlzQWN0aW9uVmFsaWQpO1xyXG4gIC8vICAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMgPSB0aGlzLmZvcm1Hcm91cC52YWx1ZVxyXG4gIC8vICAgICAgICAvISp7XHJcbiAgLy8gICAgICAgICBpbnB1dDE6IHRoaXMuZmllbGRzRm9ybS5nZXQoJ2lucHV0MScpLnZhbHVlXHJcbiAgLy8gICAgICAgfSohL1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgfSlcclxuICAvLyB9XHJcbiAgLy8gICBjcmVhdGVGb3JtKCkge1xyXG4gIC8vICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcclxuICAvLyAgICAgY3VzdG9tZXJOYW1lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAvLyAgICAgY3VzdG9tZXJQaG9uZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgLy8gICAgIHJlYXNvbkZvclJlcXVlc3Q6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBjYWxsVHlwZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgLy8gICAgIGNlbnRlck9mQ2FsbHM6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBjYWxsRGF0ZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgLy8gICAgIGFncmVlbWVudDogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlXSksXHJcbiAgLy8gICB9KTtcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gIC8vICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG4gIC8vICAgKS5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gIC8vICAgICB0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zPy5mb3JFYWNoKG9wdGlvbiA9PiB7XHJcbiAgLy8gICAgICAgbGV0IGlzQWN0aW9uVmFsaWQgPSB0aGlzLmNoZWNrVmFsaWRpdHkob3B0aW9uLnZhbHVlKTtcclxuICAvLyAgICAgICB0aGlzLmFjdGlvblN0YXRlU2VydmljZS5zZXRBY3Rpb25WYWxpZChvcHRpb24udmFsdWUsIGlzQWN0aW9uVmFsaWQpO1xyXG4gIC8vICAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMgPSB0aGlzLmZvcm1Hcm91cC52YWx1ZVxyXG4gIC8vICAgICAgIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuY3VzdG9tZXJQaG9uZSA9IHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuY3VzdG9tZXJQaG9uZT8uZTE2NE51bWJlclxyXG4gIC8vICAgICAgIC8vIHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuYWdyZWVtZW50ID0gKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMuYWdyZWVtZW50KS50b1N0cmluZygpXHJcblxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgfSlcclxuICAvLyAgIGNvbnNvbGUubG9nKHRoaXMubG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnMpXHJcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzKVxyXG4gIC8vICAgdGhpcy5mb3JtR3JvdXAuc2V0VmFsdWUodGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscyk7XHJcbiAgLy8gICBjb25zb2xlLmxvZygnY3VzdG9tQ2FsbFN1Ym1pdCcsIHRoaXMuZm9ybUdyb3VwLnZhbHVlKVxyXG4gIC8vIH1cclxuXHJcbiAgZWRpdEFzc2V0KGFzc2V0KSB7XHJcbiAgICBjb25zb2xlLmxvZyhhc3NldClcclxuICB9XHJcblxyXG4gIHN0YXJ0c1dpdGhETU9FT3JDUigpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcclxuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlO1xyXG4gICAgICBpZiAodmFsdWUgJiYgKHZhbHVlLnN0YXJ0c1dpdGgoJ0RNT0UtJykgfHwgdmFsdWUuc3RhcnRzV2l0aCgnQ1ItJykpKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7IC8vIFZhbGlkXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHtzdGFydHNXaXRoSW52YWxpZDogdHJ1ZX07IC8vIEludmFsaWRcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBkZWxldGVBc3NldChhc3NldCkge1xyXG4gICAgY29uc29sZS5sb2coYXNzZXQpXHJcbiAgfVxyXG5cclxuICBmb3JtVmFsdWUoZm9ybSkge1xyXG4gICAgY29uc29sZS5sb2coZm9ybS52YWx1ZSlcclxuICB9XHJcblxyXG4gIGNoZWNrVmFsaWRpdHkoYWN0aW9uOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XHJcbiAgICAgIGNhc2UgJ1NVQk1JVCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBjYXNlICdBUFBST1ZFJzpcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgY2FzZSAnUkVKRUNUJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgICAgIGNhc2UgJ1NFTkRCQUNLJzpcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtR3JvdXAudmFsaWQ7XHJcbiAgICAgIGNhc2UgJ1NBVkVfQ0hBTkdFUyc6XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGN1c3RvbUNhbGxTdWJtaXQoYWN0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnNvbGUubG9nKCdjdXN0b21DYWxsU3VibWl0JywgYWN0aW9uKVxyXG4gIH1cclxuXHJcbiAgcmVzZXRGb3JtKCkge1xyXG4gICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2UucmVzZXRBY3Rpb24kLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHBhZ2VDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucGFnZU51bWJlciA9IGV2ZW50LnBhZ2VJbmRleFxyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IGV2ZW50LnBhZ2VTaXplXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2PlxyXG4gIDxmb3JtIFtuZ0NsYXNzXT1cInsnZm9ybS1zZWN0aW9uLWRpdmlkZSBmb3JtLXNlY3Rpb24nOiFzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5LCdpbmZvLXNlY3Rpb24nOnNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHl9XCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cclxuICAgIDxhcHAtaW5wdXQgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImZhbHNlXCIgW3JlcXVpcmVkXT1cImZhbHNlXCIgW2xvYWRpbmddPVwidHJ1ZVwiIHR5cGU9XCJlbk9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJpbnB1dFwiIGxhYmVsPVwiSW5wdXRcIj48L2FwcC1pbnB1dD5cclxuPCEtLSA8YXBwLWNoZWNrYm94XHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2hlY2tib3hcIlxyXG4gICAgICB0ZXJtc0xhYmVsPVwiVGVybXMgYW5kIGNvbmRpdGlvbnNcIlxyXG4gICAgICBsYWJlbD1cImNoZWNrLWJveFwiXHJcbiAgICAgIFtjb250YWluVGVybXNdPVwidHJ1ZVwiPjwvYXBwLWNoZWNrYm94Pi0tPlxyXG4gICAgPCEtLVxyXG4gICAgPGFwcC1zZWFyY2gtZW1wbG95ZWVcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcclxuICAgICAgW2FycmF5TGlzdF09XCJmb3JtR3JvdXAuZ2V0KCdzZWFyY2hFbXBsb3llZScpLnZhbHVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlYXJjaEVtcGxveWVlXCJcclxuICAgICAgbGFiZWw9XCJTZWFyY2gtZW1wbG95ZWVcIj48L2FwcC1zZWFyY2gtZW1wbG95ZWU+XHJcbiAgICA8YXBwLWlucHV0IGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgW2xvYWRpbmddPVwidHJ1ZVwiIHR5cGU9XCJlbk9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJpbnB1dFwiIGxhYmVsPVwiSW5wdXRcIj48L2FwcC1pbnB1dD5cclxuICAgIDxhcHAtaW5wdXQtY3VycmVuY3kgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJjdXJyZW5jeUlucHV0XCIgbGFiZWw9XCJjdXJyZW5jeVwiPjwvYXBwLWlucHV0LWN1cnJlbmN5PlxyXG4gICAgPGFwcC1pbnB1dC1lbWFpbCBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cImVtYWlsSW5wdXRcIiBsYWJlbD1cImVtYWlsXCI+PC9hcHAtaW5wdXQtZW1haWw+XHJcbiAgICA8YXBwLWlucHV0LW51bWJlciBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlcklucHV0XCIgbGFiZWw9XCJudW1iZXJcIj48L2FwcC1pbnB1dC1udW1iZXI+XHJcbiAgICA8YXBwLWN1c3RvbS1zZWFyY2hhYmxlXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIG1iLTAgZnVsbFwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJjdXN0b21TZWFyY2hhYmxlXCJcclxuICAgICAgbGFiZWw9XCJDdXN0b20tc2VhcmNoYWJsZVwiXHJcbiAgICAgIFtvcHRpb25zXT1cImxvdj8uWydhcHByb3ZlckFjdGlvbnMnXT8ub3B0aW9uc1wiXHJcbiAgICAgIFtkaXNwbGF5ZWRMYWJlbF09XCInbmFtZSdcIlxyXG4gICAgICBba2V5XT1cIiduYW1lJ1wiPjwvYXBwLWN1c3RvbS1zZWFyY2hhYmxlPlxyXG4gICAgPGFwcC1jaGVja2JveFxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImNoZWNrYm94XCJcclxuICAgICAgdGVybXNMYWJlbD1cIlRlcm1zIGFuZCBjb25kaXRpb25zXCJcclxuICAgICAgbGFiZWw9XCJjaGVjay1ib3hcIlxyXG4gICAgICBbY29udGFpblRlcm1zXT1cInRydWVcIj48L2FwcC1jaGVja2JveD5cclxuICAgIDxhcHAtdGV4dGFyZWEgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0QXJlYVwiIGxhYmVsPVwiVGV4dC1hcmVhXCI+PC9hcHAtdGV4dGFyZWE+XHJcbiAgICA8YXBwLWRhdGVwaWNrZXJcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlUGlja2VyXCJcclxuICAgICAgW21hdFN1ZmZpeF09XCJ0cnVlXCJcclxuICAgICAgbGFiZWw9XCJEYXRlLXBpY2tlclwiPjwvYXBwLWRhdGVwaWNrZXI+XHJcbiAgICA8YXBwLWRhdGUtcmFuZ2UtcGlja2VyXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVBpY2tlclJhbmdlXCJcclxuICAgICAgbGFiZWw9XCJEYXRlLXBpY2tlci1yYW5nZVwiXHJcbiAgICAgIFttYXRTdWZmaXhdPVwidHJ1ZVwiPjwvYXBwLWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gICAgPGFwcC1yYWRpbyBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cInJhZGlvXCIgW29wdGlvbnNdPVwib3B0aW9uc1wiIGxhYmVsPVwiUmFkaW9cIj48L2FwcC1yYWRpbz4tLT5cclxuICAgPCEtLSA8YXBwLXRvZ2dsZS1idXR0b25cclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0b2dnbGVcIlxyXG4gICAgICBbb3B0aW9uc109XCJsb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9uc1wiXHJcbiAgICAgIGxhYmVsPVwiVG9nZ2xlLWJ1dHRvblwiXHJcbiAgICAgIFtkaXNwbGF5ZWRMYWJlbF09XCInZGVzY3JpcHRpb24nXCJcclxuICAgICAgW2tleV09XCIndmFsdWUnXCI+PC9hcHAtdG9nZ2xlLWJ1dHRvbj4tLT5cclxuICAgIDwhLS08YXBwLWlucHV0LXRlbGVwaG9uZSBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cInRlbGVwaG9uZVwiIGxhYmVsPVwiVGVsZXBob25lXCI+PC9hcHAtaW5wdXQtdGVsZXBob25lPlxyXG5cclxuICAgIDxhcHAtZmlsZS11cGxvYWRlclxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2NhbGxBcGldPVwidHJ1ZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIlxyXG4gICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gICAgICBsYWJlbD1cImF0dGFjaG1lbnRcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJhdHRhY2htZW50XCI+PC9hcHAtZmlsZS11cGxvYWRlcj5cclxuLS0+XHJcblxyXG5cclxuXHJcbiAgICA8IS0tIDxhcHAtdGFibGVcclxuICAgIFtjb2x1bW5zQ29uZmlnXT1cImNvbHVtbnNDb25maWdcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbaXNFcnJvcl09XCJpc0Vycm9yXCJcclxuICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcclxuICAgIFtyb3dzXT1cImNhdGVnb3J5RGF0YVwiIFtoYXNQYWdpbmF0b3JdPVwidHJ1ZVwiXHJcbiAgICBbcGFnZVNpemVdPVwicGFnZVNpemVcIiBbY3VycmVudFBhZ2VdPVwicGFnZU51bWJlclwiXHJcbiAgICBbdG90YWxFbGVtZW50c109XCJ0b3RhbEVsZW1lbnRzXCJcclxuICAgIChwYWdlQ2hhbmdlKT1cInBhZ2VDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgY2xhc3M9XCJuZXctcHJpbWFyeS10YWJsZSBmdWxsXCI+XHJcbiAgICA8L2FwcC10YWJsZT4gLS0+XHJcbiAgICA8YXBwLWF0dGFjaG1lbnQtc2VjdGlvblxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCJcclxuICAgICAgW2Rlc2NyaXB0aW9uUmVxdWlyZWRdPVwiZmFsc2VcIlxyXG4gICAgICBsYWJlbD1cIkF0dGFjaG1lbnQgc2VjdGlvblwiXHJcbiAgICAgIFtjb21tZW50c1JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImF0dGFjaG1lbnRTZWN0aW9uXCI+PC9hcHAtYXR0YWNobWVudC1zZWN0aW9uPlxyXG5cclxuICA8L2Zvcm0+XHJcblxyXG5cclxuPC9kaXY+XHJcbkBpZiAoIXNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHkpIHtcclxuICA8ZGl2IGNsYXNzPVwibXQtNFwiPlxyXG4gICAgPGxpYi1hY3Rpb24tYnV0dG9uc1xyXG4gICAgICBbbG92T3B0aW9uc109XCJsb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9uc1wiXHJcbiAgICAgIFtsb3ZUeXBlXT1cImxvdj8uWydkZWNpc2lvbiddPy50eXBlXCJcclxuICAgICAgW3NlY3Rpb25dPVwic2VjdGlvblwiXHJcbiAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICBbc2VjdGlvbnNdPVwiZm9ybS5zZWN0aW9uc1wiXHJcbiAgICAgIFtzaG93QXBwcm92YWxDeWNsZV09XCJ0cnVlXCJcclxuICAgICAgW2N1c3RvbUNhbGxdPVwiZmFsc2VcIlxyXG4gICAgICBbZmllbGRzRm9ybV09XCJmb3JtR3JvdXBcIlxyXG4gICAgICAoY3VzdG9tQ2FsbEVtaXQpPVwiY3VzdG9tQ2FsbFN1Ym1pdCgkZXZlbnQpXCJcclxuICAgICAgKHJlc2V0Rm9ybUVtaXQpPVwicmVzZXRGb3JtKClcIlxyXG4gICAgLz5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|